u-boot/arch/arm/mach-imx/mx6
Francesco Dolcini aa42894471 mx6: ddr: Wait before issuing the first MRS cmd
Wait 1ms before issuing the first MRS command to write DDR3 Mode
registers.

There is a requirement to wait a minimum time before issuing command to
the DDR3 device, according to the JEDEC standard this time is 500us
(after RESET_n is de-asserted until CKE becomes active) + tXPR (Reset
CKE Exit time, maximum value 360ns).

It seems that for some reason this is not enforced by the MMDC
controller.

Without this change we experienced random memory initialization failures
with about 2% boot failure rate on specific problematic boards, after
this change we were able to do more than 10.000 power-cycle without a
single failure.

Fixes: fe0f7f7842 ("mx6: add mmdc configuration for MX6Q/MX6DL")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-04-12 19:10:43 +02:00
..
clock.c imx6: allow usage of disable_ldb_di_clock_sources for CONFIG_MX6QDL 2020-11-01 15:58:47 +01:00
ddr.c mx6: ddr: Wait before issuing the first MRS cmd 2022-04-12 19:10:43 +02:00
Kconfig i.MX6: Enable Job ring driver model. 2022-04-12 11:18:34 +02:00
litesom.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
Makefile imx: add module fuse support 2020-05-10 13:21:13 +02:00
module_fuse.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
mp.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
opos6ul.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
soc.c i.MX6: Enable Job ring driver model. 2022-04-12 11:18:34 +02:00