diff options
Diffstat (limited to 'include/asm-arm')
-rw-r--r-- | include/asm-arm/arch-at91rm9200/system.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/asm-arm/arch-at91rm9200/system.h b/include/asm-arm/arch-at91rm9200/system.h index 8a2ff472e4cf..1d54185e036d 100644 --- a/include/asm-arm/arch-at91rm9200/system.h +++ b/include/asm-arm/arch-at91rm9200/system.h | |||
@@ -39,13 +39,15 @@ static inline void arch_idle(void) | |||
39 | cpu_do_idle(); | 39 | cpu_do_idle(); |
40 | } | 40 | } |
41 | 41 | ||
42 | void (*at91_arch_reset)(void); | ||
43 | |||
42 | static inline void arch_reset(char mode) | 44 | static inline void arch_reset(char mode) |
43 | { | 45 | { |
44 | /* | 46 | /* call the CPU-specific reset function */ |
45 | * Perform a hardware reset with the use of the Watchdog timer. | 47 | if (at91_arch_reset) |
46 | */ | 48 | (at91_arch_reset)(); |
47 | at91_sys_write(AT91_ST_WDMR, AT91_ST_RSTEN | AT91_ST_EXTEN | 1); | 49 | |
48 | at91_sys_write(AT91_ST_CR, AT91_ST_WDRST); | 50 | for (;;) {} /* wait fovever */ |
49 | } | 51 | } |
50 | 52 | ||
51 | #define ARCH_ID_AT91RM9200 0x09200080 | 53 | #define ARCH_ID_AT91RM9200 0x09200080 |