aboutsummaryrefslogtreecommitdiff
path: root/include/asm-arm/arch-at91rm9200
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-arm/arch-at91rm9200')
-rw-r--r--include/asm-arm/arch-at91rm9200/system.h12
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 8a2ff472e4c..1d54185e036 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)
cpu_do_idle();
}
+void (*at91_arch_reset)(void);
+
static inline void arch_reset(char mode)
{
- /*
- * Perform a hardware reset with the use of the Watchdog timer.
- */
- at91_sys_write(AT91_ST_WDMR, AT91_ST_RSTEN | AT91_ST_EXTEN | 1);
- at91_sys_write(AT91_ST_CR, AT91_ST_WDRST);
+ /* call the CPU-specific reset function */
+ if (at91_arch_reset)
+ (at91_arch_reset)();
+
+ for (;;) {} /* wait fovever */
}
#define ARCH_ID_AT91RM9200 0x09200080