Browse Source

ARM: OMAP2+: sleep43xx: Run EMIF HW leveling on resume path

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>
Dave Gerlach 6 years ago
parent
commit
6631a20b0b
1 changed files with 3 additions and 0 deletions
  1. 3 0
      arch/arm/mach-omap2/sleep43xx.S

+ 3 - 0
arch/arm/mach-omap2/sleep43xx.S

@@ -368,6 +368,9 @@ wait_emif_enable1:
 	mov     r1, #AM43XX_EMIF_POWEROFF_DISABLE
 	mov     r1, #AM43XX_EMIF_POWEROFF_DISABLE
 	str     r1, [r2, #0x0]
 	str     r1, [r2, #0x0]
 
 
+	ldr     r1, [r9, #EMIF_PM_RUN_HW_LEVELING]
+	blx     r1
+
 #ifdef CONFIG_CACHE_L2X0
 #ifdef CONFIG_CACHE_L2X0
 	ldr	r2, l2_cache_base
 	ldr	r2, l2_cache_base
 	ldr	r0, [r2, #L2X0_CTRL]
 	ldr	r0, [r2, #L2X0_CTRL]