diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-03-19 10:53:54 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-05-29 19:49:57 -0400 |
commit | 39b53458cc635f103365ef09e9db6980fa01e3fb (patch) | |
tree | b1a95af72dd28f79e1b16c94fe624c0b2217c8e9 /arch/arm/mach-realview | |
parent | 918197be3992801054ff02fc8183bf9429bab98b (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.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pb1176.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pb11mp.c | 9 |
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 | ||