summaryrefslogtreecommitdiffstats
path: root/common/bbu.c
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2015-06-29 10:26:12 -0300
committerSascha Hauer <s.hauer@pengutronix.de>2015-07-01 07:09:28 +0200
commitfc6cb7aeaf6f96505ba15a99b5d02102377ee79a (patch)
tree9f20eff23d7484303c3d5d49f81b29a27c4975be /common/bbu.c
parent5f51ca71f66eba2d37caa366749a54ac0f96de02 (diff)
downloadbarebox-fc6cb7aeaf6f96505ba15a99b5d02102377ee79a.tar.gz
barebox-fc6cb7aeaf6f96505ba15a99b5d02102377ee79a.tar.xz
mx53-qsb: Fix boot hang during reboot stress test
Fix the DDR init sequence the same way as done by aee0013e53b339a5 from U-boot in order to prevent the boot hang under reboot stress test. Quoting this commit log: "Currently by running the following test: => setenv bootcmd reset => save => reset , we observe a hang after approximately 20-30 minutes of stress reboot test. Investigation of this issue revealed that when a single DDR chip select is used, the hang does not happen. It only happens when the two chip selects are active. MX53 reference manual states at "28.6.2 Memory ZQ calibration sequence": "The controller must keep the memory lines quiet (except for CK) for the ZQ calibration time as defined in the Jedec (512 cycles for ZQCL after reset, 256 for other ZQCL and 64 for ZQCS)." According to the SDE_0 and SDE_1 bit descriptions from register ESDCTL_ESDCTL: "Writing 1 to SDE0 or SDE1 will initiate power up delays as JEDEC defines. Power up delays are a function of the configured memory type (DDR2/DDR3/LPDDR2)" So make sure to activate one chip select at time (CS0 first and then CS1 later), so that the required JEDEC delay is respected for each chip select. With this change applied the board has gone through three days of reboot stress test without any hang." Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/bbu.c')
0 files changed, 0 insertions, 0 deletions