summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/am33xx/ddr.c
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/arm/cpu/armv7/am33xx/ddr.c
parent4800be4a0c0058fd1670576ec0872980f3ed78f5 (diff)
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/arm/cpu/armv7/am33xx/ddr.c')
-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 4173a10b14..9a625c4661 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);