ARM: AM43xx: Write sdram_config to secure_emif_sdram_config
authorDave Gerlach <d-gerlach@ti.com>
Tue, 18 Feb 2014 12:32:00 +0000 (07:32 -0500)
committerTom Rini <trini@ti.com>
Tue, 4 Mar 2014 14:42:07 +0000 (09:42 -0500)
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>
arch/arm/cpu/armv7/am33xx/ddr.c

index 4173a10b143b10b2f21b1c9d881324f9f3f6d2f2..9a625c46613d4376e2f224863b531c9601823e06 100644 (file)
@@ -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);