summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mvf/cpu.c2
-rw-r--r--arch/arm/mach-mvf/irq.c9
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;
+ }
}