From: Afzal Mohammed <[email protected]>

Add support for L2 cache controller (PL310) on
AM437x SoC.

Signed-off-by: Afzal Mohammed <[email protected]>
Signed-off-by: Sekhar Nori <[email protected]>
---
 arch/arm/mach-omap2/Kconfig        |    1 +
 arch/arm/mach-omap2/omap4-common.c |    8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 1124155..1fd34d2 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -65,6 +65,7 @@ config SOC_AM43XX
        select ARCH_HAS_OPP
        select ARM_GIC
        select MACH_OMAP_GENERIC
+       select MIGHT_HAVE_CACHE_L2X0
 
 config SOC_DRA7XX
        bool "TI DRA7XX"
diff --git a/arch/arm/mach-omap2/omap4-common.c 
b/arch/arm/mach-omap2/omap4-common.c
index 8f18460..763a169 100644
--- a/arch/arm/mach-omap2/omap4-common.c
+++ b/arch/arm/mach-omap2/omap4-common.c
@@ -188,7 +188,7 @@ static int __init omap_l2_cache_init(void)
         * To avoid code running on other OMAPs in
         * multi-omap builds
         */
-       if (!cpu_is_omap44xx())
+       if (!cpu_is_omap44xx() && !soc_is_am43xx())
                return -ENODEV;
 
        /* Static mapping, never released */
@@ -200,6 +200,7 @@ static int __init omap_l2_cache_init(void)
         * 16-way associativity, parity disabled
         * Way size - 32KB (es1.0)
         * Way size - 64KB (es2.0 +)
+        * Way size - 16KB (am43xx)
         */
        aux_ctrl = ((1 << L2X0_AUX_CTRL_ASSOCIATIVITY_SHIFT) |
                        (0x1 << 25) |
@@ -208,6 +209,11 @@ static int __init omap_l2_cache_init(void)
 
        if (omap_rev() == OMAP4430_REV_ES1_0) {
                aux_ctrl |= 0x2 << L2X0_AUX_CTRL_WAY_SIZE_SHIFT;
+       } else if (soc_is_am43xx()) {
+               aux_ctrl |= ((0x1 << L2X0_AUX_CTRL_WAY_SIZE_SHIFT) |
+                       (1 << L2X0_AUX_CTRL_DATA_PREFETCH_SHIFT) |
+                       (1 << L2X0_AUX_CTRL_INSTR_PREFETCH_SHIFT) |
+                       (1 << L2X0_AUX_CTRL_EARLY_BRESP_SHIFT));
        } else {
                aux_ctrl |= ((0x3 << L2X0_AUX_CTRL_WAY_SIZE_SHIFT) |
                        (1 << L2X0_AUX_CTRL_SHARE_OVERRIDE_SHIFT) |
-- 
1.7.10.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to