arm: mxs: Wait when disabling VDDMEM current limiter
authorMarek Vasut <marex@denx.de>
Mon, 28 Apr 2014 01:38:40 +0000 (03:38 +0200)
committerStefano Babic <sbabic@denx.de>
Mon, 29 Sep 2014 07:02:16 +0000 (09:02 +0200)
According to i.MX23 datasheet Table 32-17, we must wait for the supply
to settle before disabling the current limiter. Indeed, not waiting a
little here causes the system to crash at times.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c

index 3baf4ddefcfbf8ddd0f7215f43448cddabc8fb38..de8841a0e1ea9e9f5c79b9a2047044ef337edb2e 100644 (file)
@@ -240,9 +240,14 @@ static void mx23_mem_setup_vddmem(void)
        struct mxs_power_regs *power_regs =
                (struct mxs_power_regs *)MXS_POWER_BASE;
 
+       /* We must wait before and after disabling the current limiter! */
+       early_delay(10000);
+
        clrbits_le32(&power_regs->hw_power_vddmemctrl,
                POWER_VDDMEMCTRL_ENABLE_ILIMIT);
 
+       early_delay(10000);
+
 }
 
 static void mx23_mem_init(void)