Alessandro Rubini | bb930d1 | 2009-01-24 18:10:37 +0100 | [diff] [blame] | 1 | #include <config.h> |
2 | /* | ||||
3 | * Processor reset for Nomadik | ||||
4 | */ | ||||
5 | |||||
6 | .align 5 | ||||
7 | .globl reset_cpu | ||||
8 | reset_cpu: | ||||
9 | #if defined CONFIG_NOMADIK_8815 | ||||
10 | ldr r0, =NOMADIK_SRC_BASE | ||||
11 | ldr r1, =0x1 | ||||
12 | str r1, [r0, #0x18] | ||||
13 | #else | ||||
14 | ldr r1, rstctl1 /* get clkm1 reset ctl */ | ||||
15 | mov r3, #0x0 | ||||
16 | strh r3, [r1] /* clear it */ | ||||
17 | mov r3, #0x8 | ||||
18 | strh r3, [r1] /* force dsp+arm reset */ | ||||
19 | #endif | ||||
20 | |||||
21 | _loop_forever: | ||||
22 | b _loop_forever | ||||
23 | |||||
24 | rstctl1: | ||||
25 | .word 0xfffece10 |