diff options
author | Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> | 2010-04-03 19:10:45 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-04-14 16:08:10 +0100 |
commit | 8e797a7e4f588fb3b9cfe9860b00dcd3b14f8b60 (patch) | |
tree | 57ac8c456499c5438274a99617e50ea4e46ac8a1 /arch/arm/mach-ux500/cpu-u8500.c | |
parent | b102c01faed5e0083a4e6d29a2d61f6b57716e94 (diff) |
ARM: 6027/1: ux500: enable l2x0 support
This enables the l2x0 support and ensures that the secondary
CPU can see the page table and secondary data at this point.
Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ux500/cpu-u8500.c')
-rw-r--r-- | arch/arm/mach-ux500/cpu-u8500.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/cpu-u8500.c b/arch/arm/mach-ux500/cpu-u8500.c index 5fb44661adaf..979f1c32ad09 100644 --- a/arch/arm/mach-ux500/cpu-u8500.c +++ b/arch/arm/mach-ux500/cpu-u8500.c @@ -20,6 +20,7 @@ #include <asm/localtimer.h> #include <asm/hardware/gic.h> #include <asm/mach/map.h> +#include <asm/hardware/cache-l2x0.h> #include <plat/mtu.h> #include <mach/hardware.h> #include <mach/setup.h> @@ -127,6 +128,7 @@ static struct map_desc u8500_io_desc[] __initdata = { __IO_DEV_DESC(U8500_GPIO2_BASE, SZ_4K), __IO_DEV_DESC(U8500_GPIO3_BASE, SZ_4K), __IO_DEV_DESC(U8500_GPIO5_BASE, SZ_4K), + __IO_DEV_DESC(U8500_L2CC_BASE, SZ_4K), }; static struct map_desc u8500ed_io_desc[] __initdata = { @@ -183,3 +185,18 @@ static void __init u8500_timer_init(void) struct sys_timer u8500_timer = { .init = u8500_timer_init, }; + +#ifdef CONFIG_CACHE_L2X0 +static int u8500_l2x0_init(void) +{ + void __iomem *l2x0_base; + + l2x0_base = __io_address(U8500_L2CC_BASE); + + /* 64KB way size, 8 way associativity, force WA */ + l2x0_init(l2x0_base, 0x3e060000, 0xc0000fff); + + return 0; +} +early_initcall(u8500_l2x0_init); +#endif |