]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00209621 MX6-Fixed random CON_ACK stall
authorRanjani Vaidyanathan <ra5478@freescale.com>
Mon, 7 May 2012 19:28:49 +0000 (14:28 -0500)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:40 +0000 (08:34 +0200)
DLL ON/OFF code randomly hangs waiting for the CON_ACK bit
to be set when a CON_REQ is asserted.
Fix this by adding a delay after the MMDC automatic power savings
mode is disabled.

Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
arch/arm/mach-mx6/mx6_ddr_freq.S

index 80600dd0163b7795efe1af15bb7e3fad4b7d07bd..fbaa44df8cdc9d0943e07023cf400651b0e6fa0a 100644 (file)
@@ -389,6 +389,19 @@ ddr_freq_change:
        bic    r0, r0, #0xff00
        str    r0, [r5, #0x4]
 
+/* Delay for a while */
+       ldr      r1, =4
+delay1:
+       ldr      r2, =0
+cont1:
+       ldr      r0, [r5, r2]
+       add     r2, r2, #4
+       cmp    r2, #16
+       bne     cont1
+       sub     r1, r1, #1
+       cmp    r1, #0
+       bgt     delay1
+
        /* set CON_REG */
        ldr     r0, =0x8000
        str     r0, [r5, #0x1C]