Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 191762
b: refs/heads/master
c: 8e797a7
h: refs/heads/master
v: v3
  • Loading branch information
Srinidhi Kasagar authored and Russell King committed Apr 14, 2010
1 parent 791c304 commit 3f52ea6
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b102c01faed5e0083a4e6d29a2d61f6b57716e94
refs/heads/master: 8e797a7e4f588fb3b9cfe9860b00dcd3b14f8b60
17 changes: 17 additions & 0 deletions trunk/arch/arm/mach-ux500/cpu-u8500.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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 = {
Expand Down Expand Up @@ -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
3 changes: 2 additions & 1 deletion trunk/arch/arm/mach-ux500/platsmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
* that it has been released by resetting pen_release.
*/
pen_release = cpu;
flush_cache_all();
__cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
outer_clean_range(__pa(&pen_release), __pa(&pen_release) + 1);

timeout = jiffies + (1 * HZ);
while (time_before(jiffies, timeout)) {
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/arm/mm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -754,7 +754,8 @@ config CACHE_FEROCEON_L2_WRITETHROUGH
config CACHE_L2X0
bool "Enable the L2x0 outer cache controller"
depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || \
REALVIEW_EB_A9MP || ARCH_MX35 || ARCH_MX31 || MACH_REALVIEW_PBX || ARCH_NOMADIK || ARCH_OMAP4
REALVIEW_EB_A9MP || ARCH_MX35 || ARCH_MX31 || MACH_REALVIEW_PBX || \
ARCH_NOMADIK || ARCH_OMAP4 || ARCH_U8500
default y
select OUTER_CACHE
help
Expand Down

0 comments on commit 3f52ea6

Please sign in to comment.