ARM: OMAP2+: sleep43xx: Run EMIF HW leveling on resume path
authorDave Gerlach <d-gerlach@ti.com>
Tue, 2 Apr 2019 16:57:43 +0000 (11:57 -0500)
committerTony Lindgren <tony@atomide.com>
Tue, 9 Apr 2019 15:32:12 +0000 (08:32 -0700)
When returning from DeepSleep mode on AM437x platforms the EMIF must run
DDR hardware leveling, same as done during u-boot, to properly restore the
EMIF PHY to it's operational state on platforms using DDR3.

Call the ti-emif-sram-pm run_hw_leveling routine to perform this. This
happens after all other EMIF values are restored so the exact same
configuration used at boot is used at the end of EMIF resume as well.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/sleep43xx.S

index 5b9343b58fc700de1738601ac091b5990061fb7a..0c1031442571ff3933789ba72068429782f1e144 100644 (file)
@@ -368,6 +368,9 @@ wait_emif_enable1:
        mov     r1, #AM43XX_EMIF_POWEROFF_DISABLE
        str     r1, [r2, #0x0]
 
+       ldr     r1, [r9, #EMIF_PM_RUN_HW_LEVELING]
+       blx     r1
+
 #ifdef CONFIG_CACHE_L2X0
        ldr     r2, l2_cache_base
        ldr     r0, [r2, #L2X0_CTRL]