1e6f5b35bSJon Loeliger /* 2e6f5b35bSJon Loeliger * Copyright 2008 Freescale Semiconductor, Inc. 3e6f5b35bSJon Loeliger * 4*5b8031ccSTom Rini * SPDX-License-Identifier: GPL-2.0 5e6f5b35bSJon Loeliger */ 6e6f5b35bSJon Loeliger 7e6f5b35bSJon Loeliger #include <common.h> 8e6f5b35bSJon Loeliger 95614e71bSYork Sun #include <fsl_ddr_sdram.h> 105614e71bSYork Sun #include <fsl_ddr_dimm_params.h> 11e6f5b35bSJon 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) 15e6f5b35bSJon Loeliger { 16e6f5b35bSJon Loeliger /* 17e6f5b35bSJon Loeliger * Factors to consider for clock adjust: 18e6f5b35bSJon Loeliger * - number of chips on bus 19e6f5b35bSJon Loeliger * - position of slot 20e6f5b35bSJon Loeliger * - DDR1 vs. DDR2? 21e6f5b35bSJon Loeliger * - ??? 22e6f5b35bSJon Loeliger * 23e6f5b35bSJon Loeliger * This needs to be determined on a board-by-board basis. 24e6f5b35bSJon Loeliger * 0110 3/4 cycle late 25e6f5b35bSJon Loeliger * 0111 7/8 cycle late 26e6f5b35bSJon Loeliger */ 27e6f5b35bSJon Loeliger popts->clk_adjust = 6; 28e6f5b35bSJon Loeliger 29e6f5b35bSJon Loeliger /* 30e6f5b35bSJon Loeliger * Factors to consider for CPO: 31e6f5b35bSJon Loeliger * - frequency 32e6f5b35bSJon Loeliger * - ddr1 vs. ddr2 33e6f5b35bSJon Loeliger */ 34e6f5b35bSJon Loeliger popts->cpo_override = 10; 35e6f5b35bSJon Loeliger 36e6f5b35bSJon Loeliger /* 37e6f5b35bSJon Loeliger * Factors to consider for write data delay: 38e6f5b35bSJon Loeliger * - number of DIMMs 39e6f5b35bSJon Loeliger * 40e6f5b35bSJon Loeliger * 1 = 1/4 clock delay 41e6f5b35bSJon Loeliger * 2 = 1/2 clock delay 42e6f5b35bSJon Loeliger * 3 = 3/4 clock delay 43e6f5b35bSJon Loeliger * 4 = 1 clock delay 44e6f5b35bSJon Loeliger * 5 = 5/4 clock delay 45e6f5b35bSJon Loeliger * 6 = 3/2 clock delay 46e6f5b35bSJon Loeliger */ 47e6f5b35bSJon Loeliger popts->write_data_delay = 3; 48e6f5b35bSJon Loeliger 49e6f5b35bSJon Loeliger /* 50e6f5b35bSJon Loeliger * Factors to consider for half-strength driver enable: 51e6f5b35bSJon Loeliger * - number of DIMMs installed 52e6f5b35bSJon Loeliger */ 53e6f5b35bSJon Loeliger popts->half_strength_driver_enable = 0; 54e6f5b35bSJon Loeliger } 55