diff options
-rw-r--r-- | arch/arm/mach-realview/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_eb.c | 11 | ||||
-rw-r--r-- | include/asm-arm/arch-realview/platform.h | 2 |
3 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index 68bc6b226ec7..35156ca39df7 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig | |||
@@ -10,6 +10,7 @@ config MACH_REALVIEW_EB | |||
10 | config REALVIEW_MPCORE | 10 | config REALVIEW_MPCORE |
11 | bool "Support MPcore tile" | 11 | bool "Support MPcore tile" |
12 | depends on MACH_REALVIEW_EB | 12 | depends on MACH_REALVIEW_EB |
13 | select CACHE_L2X0 | ||
13 | help | 14 | help |
14 | Enable support for the MPCore tile on the Realview platform. | 15 | Enable support for the MPCore tile on the Realview platform. |
15 | Since there are device address and interrupt differences, a | 16 | Since there are device address and interrupt differences, a |
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c index effe243454e0..3dba666151db 100644 --- a/arch/arm/mach-realview/realview_eb.c +++ b/arch/arm/mach-realview/realview_eb.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <asm/mach-types.h> | 31 | #include <asm/mach-types.h> |
32 | #include <asm/hardware/gic.h> | 32 | #include <asm/hardware/gic.h> |
33 | #include <asm/hardware/icst307.h> | 33 | #include <asm/hardware/icst307.h> |
34 | #include <asm/hardware/cache-l2x0.h> | ||
34 | 35 | ||
35 | #include <asm/mach/arch.h> | 36 | #include <asm/mach/arch.h> |
36 | #include <asm/mach/map.h> | 37 | #include <asm/mach/map.h> |
@@ -69,6 +70,11 @@ static struct map_desc realview_eb_io_desc[] __initdata = { | |||
69 | .pfn = __phys_to_pfn(REALVIEW_GIC1_DIST_BASE), | 70 | .pfn = __phys_to_pfn(REALVIEW_GIC1_DIST_BASE), |
70 | .length = SZ_4K, | 71 | .length = SZ_4K, |
71 | .type = MT_DEVICE, | 72 | .type = MT_DEVICE, |
73 | }, { | ||
74 | .virtual = IO_ADDRESS(REALVIEW_MPCORE_L220_BASE), | ||
75 | .pfn = __phys_to_pfn(REALVIEW_MPCORE_L220_BASE), | ||
76 | .length = SZ_8K, | ||
77 | .type = MT_DEVICE, | ||
72 | }, | 78 | }, |
73 | #endif | 79 | #endif |
74 | { | 80 | { |
@@ -170,6 +176,11 @@ static void __init realview_eb_init(void) | |||
170 | { | 176 | { |
171 | int i; | 177 | int i; |
172 | 178 | ||
179 | #ifdef CONFIG_REALVIEW_MPCORE | ||
180 | /* 1MB (128KB/way), 8-way associativity, evmon/parity/share enabled | ||
181 | * Bits: .... ...0 0111 1001 0000 .... .... .... */ | ||
182 | l2x0_init(__io_address(REALVIEW_MPCORE_L220_BASE), 0x00790000, 0xfe000fff); | ||
183 | #endif | ||
173 | clk_register(&realview_clcd_clk); | 184 | clk_register(&realview_clcd_clk); |
174 | 185 | ||
175 | platform_device_register(&realview_flash_device); | 186 | platform_device_register(&realview_flash_device); |
diff --git a/include/asm-arm/arch-realview/platform.h b/include/asm-arm/arch-realview/platform.h index 87acd9c191e6..6e0eab95a3a2 100644 --- a/include/asm-arm/arch-realview/platform.h +++ b/include/asm-arm/arch-realview/platform.h | |||
@@ -213,6 +213,7 @@ | |||
213 | #define REALVIEW_TWD_BASE 0x10100700 | 213 | #define REALVIEW_TWD_BASE 0x10100700 |
214 | #define REALVIEW_TWD_SIZE 0x00000100 | 214 | #define REALVIEW_TWD_SIZE 0x00000100 |
215 | #define REALVIEW_GIC_DIST_BASE 0x10101000 /* Generic interrupt controller distributor */ | 215 | #define REALVIEW_GIC_DIST_BASE 0x10101000 /* Generic interrupt controller distributor */ |
216 | #define REALVIEW_MPCORE_L220_BASE 0x10102000 /* L220 registers */ | ||
216 | #define REALVIEW_MPCORE_SYS_PLD_CTRL1 0xD8 /* Register offset for MPCore sysctl */ | 217 | #define REALVIEW_MPCORE_SYS_PLD_CTRL1 0xD8 /* Register offset for MPCore sysctl */ |
217 | #else | 218 | #else |
218 | #define REALVIEW_MPCORE_SCU_BASE 0x1F000000 /* SCU registers */ | 219 | #define REALVIEW_MPCORE_SCU_BASE 0x1F000000 /* SCU registers */ |
@@ -220,6 +221,7 @@ | |||
220 | #define REALVIEW_TWD_BASE 0x1F000700 | 221 | #define REALVIEW_TWD_BASE 0x1F000700 |
221 | #define REALVIEW_TWD_SIZE 0x00000100 | 222 | #define REALVIEW_TWD_SIZE 0x00000100 |
222 | #define REALVIEW_GIC_DIST_BASE 0x1F001000 /* Generic interrupt controller distributor */ | 223 | #define REALVIEW_GIC_DIST_BASE 0x1F001000 /* Generic interrupt controller distributor */ |
224 | #define REALVIEW_MPCORE_L220_BASE 0x1F002000 /* L220 registers */ | ||
223 | #define REALVIEW_MPCORE_SYS_PLD_CTRL1 0x74 /* Register offset for MPCore sysctl */ | 225 | #define REALVIEW_MPCORE_SYS_PLD_CTRL1 0x74 /* Register offset for MPCore sysctl */ |
224 | #endif | 226 | #endif |
225 | #define REALVIEW_GIC1_CPU_BASE 0x10040000 /* Generic interrupt controller CPU interface */ | 227 | #define REALVIEW_GIC1_CPU_BASE 0x10040000 /* Generic interrupt controller CPU interface */ |