diff options
Diffstat (limited to 'board/freescale/p2020ds/ddr.c')
| -rw-r--r-- | board/freescale/p2020ds/ddr.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/board/freescale/p2020ds/ddr.c b/board/freescale/p2020ds/ddr.c index c43f874c9..59034f9f8 100644 --- a/board/freescale/p2020ds/ddr.c +++ b/board/freescale/p2020ds/ddr.c @@ -57,6 +57,7 @@ void fsl_ddr_board_options(memctl_options_t *popts,  {  	const struct board_specific_parameters *pbsp, *pbsp_highest = NULL;  	ulong ddr_freq; +	int i;  	if (ctrl_num) {  		printf("Wrong parameter for controller number %d", ctrl_num); @@ -65,6 +66,17 @@ void fsl_ddr_board_options(memctl_options_t *popts,  	if (!pdimm->n_ranks)  		return; +	/* +	 * set odt_rd_cfg and odt_wr_cfg. If the there is only one dimm in +	 * that controller, set odt_wr_cfg to 4 for CS0, and 0 to CS1. If +	 * there are two dimms in the controller, set odt_rd_cfg to 3 and +	 * odt_wr_cfg to 3 for the even CS, 0 for the odd CS. +	 */ +	for (i = 0; i < CONFIG_CHIP_SELECTS_PER_CTRL; i++) { +		popts->cs_local_opts[i].odt_rd_cfg = 0; +		popts->cs_local_opts[i].odt_wr_cfg = 1; +	} +  	pbsp = dimm0;  	/* Get clk_adjust, cpo, write_data_delay,2T, according to the board ddr |