aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-realview
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-03-19 10:53:54 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-05-29 19:49:57 -0400
commit39b53458cc635f103365ef09e9db6980fa01e3fb (patch)
treeb1a95af72dd28f79e1b16c94fe624c0b2217c8e9 /arch/arm/mach-realview
parent918197be3992801054ff02fc8183bf9429bab98b (diff)
ARM: l2c: realview: improve commentry about the L2 cache requirements
Add better commentry about the L2 cache requirements on these platforms. Unfortunately, the auxiliary control register is not pre-set to indicate the correct cache parameters, so we have to manually program these. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r--arch/arm/mach-realview/realview_eb.c9
-rw-r--r--arch/arm/mach-realview/realview_pb1176.c8
-rw-r--r--arch/arm/mach-realview/realview_pb11mp.c9
3 files changed, 21 insertions, 5 deletions
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c
index c85ddb2a0ad0..b575895037b8 100644
--- a/arch/arm/mach-realview/realview_eb.c
+++ b/arch/arm/mach-realview/realview_eb.c
@@ -442,8 +442,13 @@ static void __init realview_eb_init(void)
442 realview_eb11mp_fixup(); 442 realview_eb11mp_fixup();
443 443
444#ifdef CONFIG_CACHE_L2X0 444#ifdef CONFIG_CACHE_L2X0
445 /* 1MB (128KB/way), 8-way associativity, evmon/parity/share enabled 445 /*
446 * Bits: .... ...0 0111 1001 0000 .... .... .... */ 446 * The PL220 needs to be manually configured as the hardware
447 * doesn't report the correct sizes.
448 * 1MB (128KB/way), 8-way associativity, event monitor and
449 * parity enabled, ignore share bit, no force write allocate
450 * Bits: .... ...0 0111 1001 0000 .... .... ....
451 */
447 l2x0_init(__io_address(REALVIEW_EB11MP_L220_BASE), 0x00790000, 0xfe000fff); 452 l2x0_init(__io_address(REALVIEW_EB11MP_L220_BASE), 0x00790000, 0xfe000fff);
448#endif 453#endif
449 platform_device_register(&pmu_device); 454 platform_device_register(&pmu_device);
diff --git a/arch/arm/mach-realview/realview_pb1176.c b/arch/arm/mach-realview/realview_pb1176.c
index c5eade76461b..e3bddb5ab10f 100644
--- a/arch/arm/mach-realview/realview_pb1176.c
+++ b/arch/arm/mach-realview/realview_pb1176.c
@@ -355,7 +355,13 @@ static void __init realview_pb1176_init(void)
355 int i; 355 int i;
356 356
357#ifdef CONFIG_CACHE_L2X0 357#ifdef CONFIG_CACHE_L2X0
358 /* 128Kb (16Kb/way) 8-way associativity. evmon/parity/share enabled. */ 358 /*
359 * The PL220 needs to be manually configured as the hardware
360 * doesn't report the correct sizes.
361 * 128kB (16kB/way), 8-way associativity, event monitor and
362 * parity enabled, ignore share bit, no force write allocate
363 * Bits: .... ...0 0111 0011 0000 .... .... ....
364 */
359 l2x0_init(__io_address(REALVIEW_PB1176_L220_BASE), 0x00730000, 0xfe000fff); 365 l2x0_init(__io_address(REALVIEW_PB1176_L220_BASE), 0x00730000, 0xfe000fff);
360#endif 366#endif
361 367
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c
index f4b0962578fe..101deaf2630b 100644
--- a/arch/arm/mach-realview/realview_pb11mp.c
+++ b/arch/arm/mach-realview/realview_pb11mp.c
@@ -337,8 +337,13 @@ static void __init realview_pb11mp_init(void)
337 int i; 337 int i;
338 338
339#ifdef CONFIG_CACHE_L2X0 339#ifdef CONFIG_CACHE_L2X0
340 /* 1MB (128KB/way), 8-way associativity, evmon/parity/share enabled 340 /*
341 * Bits: .... ...0 0111 1001 0000 .... .... .... */ 341 * The PL220 needs to be manually configured as the hardware
342 * doesn't report the correct sizes.
343 * 1MB (128KB/way), 8-way associativity, event monitor and
344 * parity enabled, ignore share bit, no force write allocate
345 * Bits: .... ...0 0111 1001 0000 .... .... ....
346 */
342 l2x0_init(__io_address(REALVIEW_TC11MP_L220_BASE), 0x00790000, 0xfe000fff); 347 l2x0_init(__io_address(REALVIEW_TC11MP_L220_BASE), 0x00790000, 0xfe000fff);
343#endif 348#endif
344 349