[U-Boot] [PATCH v1 1/4] toradex: colibri_vf: fix memory initialization

Stefan Agner stefan at agner.ch
Tue Dec 4 14:48:38 UTC 2018


On 04.12.2018 12:05, Lukasz Majewski wrote:
> Hi Stefan,
> 
>> From: Stefan Agner <stefan.agner at toradex.com>
>>
>> Commit 3f353ceccbbb ("vf610: refactor DDRMC code") changed on-die
>> termination (ODT) values from 120 Ohm to 60 Ohm and enabled a static
>> read/write leveling which has not been tested with this board. This
>> commit reverts both changes and makes sure that memory gets
>> initialized as it has been done before the mentioned commit.
>>
> 
> This is of course colibri_vf specific code, but I had some issue with
> it on my board.
> 

Note that this patch *drops* the static leveling.

This values have been introduced in the commit mentioned below, but were
never properly evaluated for this board.

We are in the process of evaluating new values using the DDRv tool, but
I prefer to first drop them until we are ready to upstream the new
values.

--
Stefan


>> Fixes: 3f353ceccbbb ("vf610: refactor DDRMC code")
>> Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
>> Acked-by: Max Krummenacher <max.krummenacher at toradex.com>
>> ---
>>
>>  board/toradex/colibri_vf/colibri_vf.c | 10 +---------
>>  1 file changed, 1 insertion(+), 9 deletions(-)
>>
>> diff --git a/board/toradex/colibri_vf/colibri_vf.c
>> b/board/toradex/colibri_vf/colibri_vf.c index 4db1757469..19cf748c5d
>> 100644 --- a/board/toradex/colibri_vf/colibri_vf.c
>> +++ b/board/toradex/colibri_vf/colibri_vf.c
>> @@ -42,14 +42,6 @@ DECLARE_GLOBAL_DATA_PTR;
>>  #define USB_CDET_GPIO		102
>>
>>  static struct ddrmc_cr_setting colibri_vf_cr_settings[] = {
>> -	/* levelling */
>> -	{ DDRMC_CR97_WRLVL_EN, 97 },
>> -	{ DDRMC_CR98_WRLVL_DL_0(0), 98 },
>> -	{ DDRMC_CR99_WRLVL_DL_1(0), 99 },
> 
> If you have single DDR3 x16, then this is NOT needed (according to NXP).
> 
>> -	{ DDRMC_CR102_RDLVL_REG_EN | DDRMC_CR102_RDLVL_GT_REGEN,
>> 102 },
>> -	{ DDRMC_CR105_RDLVL_DL_0(0), 105 },
> 
> The recommended value for RDLVL_DL_x is 0x20.
> 
>> -	{ DDRMC_CR106_RDLVL_GTDL_0(4), 106 },
> 
> For the GTDL the recommended value is 0x4.
> 
> It is interesting why the board is not working with recommended values.
> Probably some other values are wrong - as described in:
> 
> https://community.nxp.com/thread/490391
> 
>> -	{ DDRMC_CR110_RDLVL_DL_1(0) | DDRMC_CR110_RDLVL_GTDL_1(4),
>> 110 }, /* AXI */
>>  	{ DDRMC_CR117_AXI0_W_PRI(0) | DDRMC_CR117_AXI0_R_PRI(0),
>> 117 }, { DDRMC_CR118_AXI1_W_PRI(1) | DDRMC_CR118_AXI1_R_PRI(1), 118 },
>> @@ -88,7 +80,7 @@ static struct ddrmc_cr_setting
>> colibri_vf_cr_settings[] = { DDRMC_CR154_PAD_ZQ_MODE(1) |
>>  		   DDRMC_CR154_DDR_SEL_PAD_CONTR(3) |
>>  		   DDRMC_CR154_PAD_ZQ_HW_FOR(1), 154 },
>> -	{ DDRMC_CR155_PAD_ODT_BYTE1(1) |
>> DDRMC_CR155_PAD_ODT_BYTE0(1), 155 },
>> +	{ DDRMC_CR155_PAD_ODT_BYTE1(2) |
>> DDRMC_CR155_PAD_ODT_BYTE0(2), 155 }, { DDRMC_CR158_TWR(6), 158 },
>>  	{ DDRMC_CR161_ODT_EN(1) | DDRMC_CR161_TODTH_RD(2) |
>>  		   DDRMC_CR161_TODTH_WR(2), 161 },
> 
> 
> 
> 
> Best regards,
> 
> Lukasz Majewski
> 
> --
> 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de


More information about the U-Boot mailing list