12b40edb1SJon Loeliger /* 22b40edb1SJon Loeliger * Copyright 2008 Freescale Semiconductor, Inc. 32b40edb1SJon Loeliger * 4*5b8031ccSTom Rini * SPDX-License-Identifier: GPL-2.0 52b40edb1SJon Loeliger */ 62b40edb1SJon Loeliger 72b40edb1SJon Loeliger #include <common.h> 82b40edb1SJon Loeliger 95614e71bSYork Sun #include <fsl_ddr_sdram.h> 105614e71bSYork Sun #include <fsl_ddr_dimm_params.h> 112b40edb1SJon Loeliger fsl_ddr_board_options(memctl_options_t * popts,dimm_params_t * pdimm,unsigned int ctrl_num)12dfb49108SHaiying Wangvoid fsl_ddr_board_options(memctl_options_t *popts, 13dfb49108SHaiying Wang dimm_params_t *pdimm, 14dfb49108SHaiying Wang unsigned int ctrl_num) 152b40edb1SJon Loeliger { 162b40edb1SJon Loeliger /* 172b40edb1SJon Loeliger * Factors to consider for clock adjust: 182b40edb1SJon Loeliger * - number of chips on bus 192b40edb1SJon Loeliger * - position of slot 202b40edb1SJon Loeliger * - DDR1 vs. DDR2? 212b40edb1SJon Loeliger * - ??? 222b40edb1SJon Loeliger * 232b40edb1SJon Loeliger * This needs to be determined on a board-by-board basis. 242b40edb1SJon Loeliger * 0110 3/4 cycle late 252b40edb1SJon Loeliger * 0111 7/8 cycle late 262b40edb1SJon Loeliger */ 272b40edb1SJon Loeliger popts->clk_adjust = 6; 282b40edb1SJon Loeliger 292b40edb1SJon Loeliger /* 302b40edb1SJon Loeliger * Factors to consider for CPO: 312b40edb1SJon Loeliger * - frequency 322b40edb1SJon Loeliger * - ddr1 vs. ddr2 332b40edb1SJon Loeliger */ 342b40edb1SJon Loeliger popts->cpo_override = 0; 352b40edb1SJon Loeliger 362b40edb1SJon Loeliger /* 372b40edb1SJon Loeliger * Factors to consider for write data delay: 382b40edb1SJon Loeliger * - number of DIMMs 392b40edb1SJon Loeliger * 402b40edb1SJon Loeliger * 1 = 1/4 clock delay 412b40edb1SJon Loeliger * 2 = 1/2 clock delay 422b40edb1SJon Loeliger * 3 = 3/4 clock delay 432b40edb1SJon Loeliger * 4 = 1 clock delay 442b40edb1SJon Loeliger * 5 = 5/4 clock delay 452b40edb1SJon Loeliger * 6 = 3/2 clock delay 462b40edb1SJon Loeliger */ 472b40edb1SJon Loeliger popts->write_data_delay = 3; 482b40edb1SJon Loeliger 492b40edb1SJon Loeliger /* 502b40edb1SJon Loeliger * Factors to consider for half-strength driver enable: 512b40edb1SJon Loeliger * - number of DIMMs installed 522b40edb1SJon Loeliger */ 532b40edb1SJon Loeliger popts->half_strength_driver_enable = 0; 542b40edb1SJon Loeliger } 55