diff options
-rw-r--r-- | arch/arm/mach-mvf/cpu.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mvf/irq.c | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/mach-mvf/cpu.c b/arch/arm/mach-mvf/cpu.c index 4c6d018cd076..9d972e179399 100644 --- a/arch/arm/mach-mvf/cpu.c +++ b/arch/arm/mach-mvf/cpu.c @@ -81,7 +81,7 @@ EXPORT_SYMBOL(mvf_revision); static int __init post_cpu_init(void) { - iram_init(MVF_IRAM_BASE_ADDR, MVF_IRAM_SIZE); + iram_init(MVF_IRAM_BASE_ADDR+0x70000, 64*1024); /* Move wait routine into iRAM */ ccm_base = MVF_IO_ADDRESS(MVF_CCM_BASE_ADDR); diff --git a/arch/arm/mach-mvf/irq.c b/arch/arm/mach-mvf/irq.c index 89c7d382173f..62cc054b60f3 100644 --- a/arch/arm/mach-mvf/irq.c +++ b/arch/arm/mach-mvf/irq.c @@ -49,6 +49,7 @@ void mvf_init_irq(void) void __iomem *int_router_base = MVF_IO_ADDRESS(MVF_MSCM_INT_ROUTER_BASE); struct irq_desc *desc; + unsigned short route; /* start offset if private timer irq id, which is 29. * ID table: @@ -68,6 +69,10 @@ void mvf_init_irq(void) mvf_register_gpios(); - for (i = 0; i < 112; i++) - __raw_writew(1, int_router_base + 0x80 + 2 * i); + int_router_base += 0x80; + for (i = 0; i < 112; i++) { + route = 1 | __raw_readw(int_router_base); + __raw_writew(route, int_router_base); + int_router_base += 2; + } } |