diff options
Diffstat (limited to 'firmware/rolo.c')
-rw-r--r-- | firmware/rolo.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/firmware/rolo.c b/firmware/rolo.c index 58404eecff..c7927978bd 100644 --- a/firmware/rolo.c +++ b/firmware/rolo.c | |||
@@ -44,9 +44,8 @@ | |||
44 | #define FIRMWARE_OFFSET_FILE_DATA 0x200 | 44 | #define FIRMWARE_OFFSET_FILE_DATA 0x200 |
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | #if !defined(IRIVER_IFP7XX_SERIES) && \ | 47 | #if !defined(IRIVER_IFP7XX_SERIES) |
48 | (CONFIG_CPU != PP5002) | 48 | /* FIX: this doesn't work on iFP */ |
49 | /* FIX: this doesn't work on iFP, 3rd Gen ipods */ | ||
50 | 49 | ||
51 | #define IRQ0_EDGE_TRIGGER 0x80 | 50 | #define IRQ0_EDGE_TRIGGER 0x80 |
52 | 51 | ||
@@ -92,8 +91,9 @@ void rolo_restart_cop(void) | |||
92 | cpu_reply = 2; | 91 | cpu_reply = 2; |
93 | 92 | ||
94 | asm volatile( | 93 | asm volatile( |
95 | "mov r0, #0x10000000 \n" | 94 | "mov r0, %0 \n" |
96 | "mov pc, r0 \n" | 95 | "mov pc, r0 \n" |
96 | : : "I"(DRAM_START) | ||
97 | ); | 97 | ); |
98 | } | 98 | } |
99 | #endif /* NUM_CORES > 1 */ | 99 | #endif /* NUM_CORES > 1 */ |
@@ -144,7 +144,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest, | |||
144 | "jmp (%0) \n" | 144 | "jmp (%0) \n" |
145 | : : "a"(dest) | 145 | : : "a"(dest) |
146 | ); | 146 | ); |
147 | #elif defined(CPU_PP502x) | 147 | #elif defined(CPU_PP) |
148 | CPU_INT_DIS = -1; | 148 | CPU_INT_DIS = -1; |
149 | 149 | ||
150 | /* Flush cache */ | 150 | /* Flush cache */ |
@@ -169,8 +169,9 @@ void rolo_restart(const unsigned char* source, unsigned char* dest, | |||
169 | #endif | 169 | #endif |
170 | 170 | ||
171 | asm volatile( | 171 | asm volatile( |
172 | "mov r0, #0x10000000 \n" | 172 | "mov r0, %0 \n" |
173 | "mov pc, r0 \n" | 173 | "mov pc, r0 \n" |
174 | : : "I"(DRAM_START) | ||
174 | ); | 175 | ); |
175 | 176 | ||
176 | #elif defined(CPU_ARM) | 177 | #elif defined(CPU_ARM) |