summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525')
-rw-r--r--firmware/target/arm/as3525/system-as3525.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c
index 45f36bda8c..a28ffc473e 100644
--- a/firmware/target/arm/as3525/system-as3525.c
+++ b/firmware/target/arm/as3525/system-as3525.c
@@ -201,7 +201,22 @@ void system_init(void)
201 CGU_PERI |= CGU_GPIO_CLOCK_ENABLE; 201 CGU_PERI |= CGU_GPIO_CLOCK_ENABLE;
202#endif 202#endif
203 203
204 CGU_PROC = 0; /* fclk 24 MHz */
205 CGU_PERI &= ~0x7f; /* pclk 24 MHz */
206
204 asm volatile( 207 asm volatile(
208 "mrc p15, 0, r0, c1, c0 \n"
209 "orr r0, r0, #0xC0000000 \n" /* asynchronous clocking */
210 "mcr p15, 0, r0, c1, c0 \n"
211 : : : "r0" );
212
213 CGU_PLLA = 0x4330; /* PLLA 384 MHz */
214 CGU_PROC = (3<<2)|0x01; /* fclk = PLLA*5/8 = 240 MHz */
215
216 asm volatile(
217 "mrs r0, cpsr \n"
218 "orr r0, r0, #0x80 \n" /* disable interrupts */
219 "msr cpsr, r0 \n"
205 "mov r0, #0 \n" 220 "mov r0, #0 \n"
206 "mcr p15, 0, r0, c7, c7 \n" /* invalidate icache & dcache */ 221 "mcr p15, 0, r0, c7, c7 \n" /* invalidate icache & dcache */
207 "mrc p15, 0, r0, c1, c0 \n" /* control register */ 222 "mrc p15, 0, r0, c1, c0 \n" /* control register */
@@ -210,8 +225,9 @@ void system_init(void)
210 "mcr p15, 0, r0, c1, c0 \n" 225 "mcr p15, 0, r0, c1, c0 \n"
211 : : : "r0" ); 226 : : : "r0" );
212 227
213
214 sdram_init(); 228 sdram_init();
229
230 CGU_PERI |= (5<<2)|0x01; /* pclk = PLLA / 6 = 64 MHz */
215} 231}
216 232
217void system_reboot(void) 233void system_reboot(void)