arm: mvebu: Add v7_outer_cache_disable function for AXP & A38x
authorStefan Roese <sr@denx.de>
Mon, 14 Dec 2015 11:31:48 +0000 (12:31 +0100)
committerStefan Roese <sr@denx.de>
Thu, 14 Jan 2016 13:08:59 +0000 (14:08 +0100)
Add functionality to correctly disable the L2 cache on the Armada XP
and 38x platforms.

Without this, booting into Linux on ClearFog (A38x) results in a hangup
without any output on the serial console at all. Even with earlyprintk
enabled.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Luka Perkov <luka.perkov@sartura.hr>
arch/arm/mach-mvebu/cpu.c

index 74087e2..fd56c99 100644 (file)
@@ -422,3 +422,11 @@ void v7_outer_cache_enable(void)
                setbits_le32(&pl310->pl310_ctrl, L2X0_CTRL_EN);
        }
 }
                setbits_le32(&pl310->pl310_ctrl, L2X0_CTRL_EN);
        }
 }
+
+void v7_outer_cache_disable(void)
+{
+       struct pl310_regs *const pl310 =
+               (struct pl310_regs *)CONFIG_SYS_PL310_BASE;
+
+       clrbits_le32(&pl310->pl310_ctrl, L2X0_CTRL_EN);
+}