aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/cpu-u8500.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-ux500/cpu-u8500.c')
-rw-r--r--arch/arm/mach-ux500/cpu-u8500.c17
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 @@
20#include <asm/localtimer.h> 20#include <asm/localtimer.h>
21#include <asm/hardware/gic.h> 21#include <asm/hardware/gic.h>
22#include <asm/mach/map.h> 22#include <asm/mach/map.h>
23#include <asm/hardware/cache-l2x0.h>
23#include <plat/mtu.h> 24#include <plat/mtu.h>
24#include <mach/hardware.h> 25#include <mach/hardware.h>
25#include <mach/setup.h> 26#include <mach/setup.h>
@@ -127,6 +128,7 @@ static struct map_desc u8500_io_desc[] __initdata = {
127 __IO_DEV_DESC(U8500_GPIO2_BASE, SZ_4K), 128 __IO_DEV_DESC(U8500_GPIO2_BASE, SZ_4K),
128 __IO_DEV_DESC(U8500_GPIO3_BASE, SZ_4K), 129 __IO_DEV_DESC(U8500_GPIO3_BASE, SZ_4K),
129 __IO_DEV_DESC(U8500_GPIO5_BASE, SZ_4K), 130 __IO_DEV_DESC(U8500_GPIO5_BASE, SZ_4K),
131 __IO_DEV_DESC(U8500_L2CC_BASE, SZ_4K),
130}; 132};
131 133
132static struct map_desc u8500ed_io_desc[] __initdata = { 134static struct map_desc u8500ed_io_desc[] __initdata = {
@@ -183,3 +185,18 @@ static void __init u8500_timer_init(void)
183struct sys_timer u8500_timer = { 185struct sys_timer u8500_timer = {
184 .init = u8500_timer_init, 186 .init = u8500_timer_init,
185}; 187};
188
189#ifdef CONFIG_CACHE_L2X0
190static int u8500_l2x0_init(void)
191{
192 void __iomem *l2x0_base;
193
194 l2x0_base = __io_address(U8500_L2CC_BASE);
195
196 /* 64KB way size, 8 way associativity, force WA */
197 l2x0_init(l2x0_base, 0x3e060000, 0xc0000fff);
198
199 return 0;
200}
201early_initcall(u8500_l2x0_init);
202#endif