summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Nash <enash54@gmail.com>2013-04-21 14:59:36 -0400
committerAnthony Felice <tony.felice@timesys.com>2013-04-23 15:46:07 -0400
commit3f9ca1a36347c86266f65a654f0f71799540554b (patch)
treea6e4df517aaafa7ad1ae898cdbf173d559101938
parentc0cfb5767277856a41ae2dd1ed31dfd8cb37f2a0 (diff)
limit Linux use of SRAM so as not to conflict with MQX. Similarly, leave M4 routing interrupt routing bits unchanged3.0-vybrid-ts33.0-vybrid-ts2.1
-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;
+ }
}