summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorDave Gerlach <d-gerlach@ti.com>2014-02-18 07:32:00 -0500
committerTom Rini <trini@ti.com>2014-03-04 09:42:07 -0500
commitf84880f0f31e2d293b987d37446dc8a2e34aa925 (patch)
treeaf548e9fabaf2277e11786683dc02257f2602d16 /arch
parent4800be4a0c0058fd1670576ec0872980f3ed78f5 (diff)
downloadu-boot-imx-f84880f0f31e2d293b987d37446dc8a2e34aa925.zip
u-boot-imx-f84880f0f31e2d293b987d37446dc8a2e34aa925.tar.gz
u-boot-imx-f84880f0f31e2d293b987d37446dc8a2e34aa925.tar.bz2
ARM: AM43xx: Write sdram_config to secure_emif_sdram_config
The register secure_emif_sdram_config in control module is copied to the EMIF sdram_config register when it is coming out of DeepSleep0 in order to ensure that the EMIF comes up for the correct type of DDR. Without this, resume can hang from within the kernel. Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/armv7/am33xx/ddr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/am33xx/ddr.c b/arch/arm/cpu/armv7/am33xx/ddr.c
index 4173a10..9a625c4 100644
--- a/arch/arm/cpu/armv7/am33xx/ddr.c
+++ b/arch/arm/cpu/armv7/am33xx/ddr.c
@@ -96,6 +96,7 @@ void config_sdram_emif4d5(const struct emif_regs *regs, int nr)
writel(regs->ref_ctrl, &emif_reg[nr]->emif_sdram_ref_ctrl);
writel(regs->sdram_config, &emif_reg[nr]->emif_sdram_config);
+ writel(regs->sdram_config, &cstat->secure_emif_sdram_config);
if (emif_sdram_type() == EMIF_SDRAM_TYPE_LPDDR2) {
configure_mr(nr, 0);