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 4173a10..9a625c4 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);