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