diff options
author | Harry Fearnhamm <Harry.Fearnhamm@arm.com> | 2006-05-16 15:50:21 (GMT) |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-05-16 15:50:21 (GMT) |
commit | bb1a2aa617e67e2d60f22052b13422c7caeaf798 (patch) | |
tree | 01b34d62f8ec450c496bb090733d49695346442e /arch/arm/mach-realview | |
parent | 9d494ccb9ca297f80dc61a0d6357e88c86f44e92 (diff) | |
download | linux-bb1a2aa617e67e2d60f22052b13422c7caeaf798.tar.xz |
[ARM] 3527/1: MPCore Boot Lockup Fix
Patch from Harry Fearnhamm
This patch fixes the occasional lockup seen in early boot stage
on RealView MPCore system.
Signed-off-by: Harry Fearnhamm <Harry.Fearnhamm@arm.com>
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 | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c index d4a586e..693fb1e 100644 --- a/arch/arm/mach-realview/realview_eb.c +++ b/arch/arm/mach-realview/realview_eb.c @@ -137,8 +137,11 @@ static struct amba_device *amba_devs[] __initdata = { static void __init gic_init_irq(void) { #ifdef CONFIG_REALVIEW_MPCORE + unsigned int pldctrl; writel(0x0000a05f, __io_address(REALVIEW_SYS_LOCK)); - writel(0x008003c0, __io_address(REALVIEW_SYS_BASE) + 0xd8); + pldctrl = readl(__io_address(REALVIEW_SYS_BASE) + 0xd8); + pldctrl |= 0x00800000; /* New irq mode */ + writel(pldctrl, __io_address(REALVIEW_SYS_BASE) + 0xd8); writel(0x00000000, __io_address(REALVIEW_SYS_LOCK)); #endif gic_dist_init(__io_address(REALVIEW_GIC_DIST_BASE)); |