m:robe 500i port: Get interrupts firing and the timer ticking

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14853 a1c6a512-1295-4272-9138-f99709370657
diff --git a/firmware/target/arm/olympus/mrobe-500/crt0.S b/firmware/target/arm/olympus/mrobe-500/crt0.S
index a7c1131..193470f 100755
--- a/firmware/target/arm/olympus/mrobe-500/crt0.S
+++ b/firmware/target/arm/olympus/mrobe-500/crt0.S
@@ -48,6 +48,11 @@
     str    r0, [r1, #28]
 #endif
 
+    /* Disable high vectors (at 0xffff0000 instead of 0x00000000) */
+    mrc    p15, 0, r0, c1, c0
+    and    r0, r0, #~(1<<13)
+    mcr    p15, 0, r0, c1, c0
+
 #if !defined(BOOTLOADER)
 
 #if !defined(STUB)
diff --git a/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c b/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c
index 487bc2d..be2b14b 100644
--- a/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c
+++ b/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c
@@ -59,5 +59,5 @@
 
     current_tick++;
 
-    IO_INTC_IRQ0 |= 1<<IRQ_TIMER1;
+    IO_INTC_IRQ0 = 1<<IRQ_TIMER1;
 }
diff --git a/firmware/target/arm/olympus/mrobe-500/system-mr500.c b/firmware/target/arm/olympus/mrobe-500/system-mr500.c
index 7be44f6..913850d 100644
--- a/firmware/target/arm/olympus/mrobe-500/system-mr500.c
+++ b/firmware/target/arm/olympus/mrobe-500/system-mr500.c
@@ -167,6 +167,9 @@
 	IO_INTC_FISEL1 = 0;
 	IO_INTC_FISEL2 = 0;
 
+	IO_INTC_ENTRY_TBA0 =
+	IO_INTC_ENTRY_TBA1 = 0;
+
     /* set GIO26 (reset pin) to output and low */
 	IO_GIO_BITCLR1=(1<<10);
 	IO_GIO_DIR1&=~(1<<10);