summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCatalin Patulea <cat@vv.carleton.ca>2007-09-25 04:45:49 +0000
committerCatalin Patulea <cat@vv.carleton.ca>2007-09-25 04:45:49 +0000
commit2a0ae89c26c4b7220072f6aa87df6f919f6bf08d (patch)
tree5064907e363df487fa34d3ca850d6b6c3d0cca8c
parent7e891aa4d398b85c05c43eaa7792935f6df56a94 (diff)
downloadrockbox-2a0ae89c26c4b7220072f6aa87df6f919f6bf08d.tar.gz
rockbox-2a0ae89c26c4b7220072f6aa87df6f919f6bf08d.zip
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
-rwxr-xr-xfirmware/target/arm/olympus/mrobe-500/crt0.S5
-rw-r--r--firmware/target/arm/olympus/mrobe-500/kernel-mr500.c2
-rw-r--r--firmware/target/arm/olympus/mrobe-500/system-mr500.c3
3 files changed, 9 insertions, 1 deletions
diff --git a/firmware/target/arm/olympus/mrobe-500/crt0.S b/firmware/target/arm/olympus/mrobe-500/crt0.S
index a7c1131367..193470fd4a 100755
--- a/firmware/target/arm/olympus/mrobe-500/crt0.S
+++ b/firmware/target/arm/olympus/mrobe-500/crt0.S
@@ -48,6 +48,11 @@ start:
48 str r0, [r1, #28] 48 str r0, [r1, #28]
49#endif 49#endif
50 50
51 /* Disable high vectors (at 0xffff0000 instead of 0x00000000) */
52 mrc p15, 0, r0, c1, c0
53 and r0, r0, #~(1<<13)
54 mcr p15, 0, r0, c1, c0
55
51#if !defined(BOOTLOADER) 56#if !defined(BOOTLOADER)
52 57
53#if !defined(STUB) 58#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 487bc2d7d2..be2b14b3cb 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 @@ void TIMER1(void)
59 59
60 current_tick++; 60 current_tick++;
61 61
62 IO_INTC_IRQ0 |= 1<<IRQ_TIMER1; 62 IO_INTC_IRQ0 = 1<<IRQ_TIMER1;
63} 63}
diff --git a/firmware/target/arm/olympus/mrobe-500/system-mr500.c b/firmware/target/arm/olympus/mrobe-500/system-mr500.c
index 7be44f6242..913850ddb8 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 @@ void system_init(void)
167 IO_INTC_FISEL1 = 0; 167 IO_INTC_FISEL1 = 0;
168 IO_INTC_FISEL2 = 0; 168 IO_INTC_FISEL2 = 0;
169 169
170 IO_INTC_ENTRY_TBA0 =
171 IO_INTC_ENTRY_TBA1 = 0;
172
170 /* set GIO26 (reset pin) to output and low */ 173 /* set GIO26 (reset pin) to output and low */
171 IO_GIO_BITCLR1=(1<<10); 174 IO_GIO_BITCLR1=(1<<10);
172 IO_GIO_DIR1&=~(1<<10); 175 IO_GIO_DIR1&=~(1<<10);