patch-2.2.18 linux/include/asm-arm/arch-ebsa285/system.h
Next file: linux/include/asm-arm/arch-ebsa285/time.h
Previous file: linux/include/asm-arm/arch-ebsa285/memory.h
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
Fri Sep 15 23:32:34 2000
- Orig file:
v2.2.17/include/asm-arm/arch-ebsa285/system.h
- Orig date:
Fri Apr 21 12:46:48 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/include/asm-arm/arch-ebsa285/system.h linux/include/asm-arm/arch-ebsa285/system.h
@@ -8,28 +8,17 @@
#include <asm/hardware.h>
#include <asm/leds.h>
+#define arch_do_idle() processor.u.armv3v4._do_idle()
+
extern __inline__ void arch_reset(char mode)
{
- cli();
-
if (mode == 's') {
- __asm__ volatile (
- "mov lr, #0x41000000 @ prepare to jump to ROM
- mov r0, #0x130
- mcr p15, 0, r0, c1, c0 @ MMU off
- mcr p15, 0, ip, c7, c7 @ flush caches
- mov pc, lr" : : : "cc");
+ /*
+ * Jump into ROM
+ */
+ processor.u.armv3v4.reset(0x41000000);
} else {
- if (machine_is_ebsa285() || machine_is_co285()) {
- /* To reboot, we set up the 21285 watchdog and
- * enable it. We then wait for it to timeout.
- */
- *CSR_TIMER4_LOAD = 0x8000;
- *CSR_TIMER4_CNTL = TIMER_CNTL_ENABLE |
- TIMER_CNTL_AUTORELOAD |
- TIMER_CNTL_DIV16;
- *CSR_SA110_CNTL |= 1 << 13;
- } else if (machine_is_netwinder()) {
+ if (machine_is_netwinder()) {
/* open up the SuperIO chip
*/
outb(0x87, 0x370);
@@ -48,6 +37,15 @@
/* set a RED LED and toggle WD_TIMER for rebooting
*/
outb(0xc4, 0x338);
+ } else {
+ /* To reboot, we set up the 21285 watchdog and
+ * enable it. We then wait for it to timeout.
+ */
+ *CSR_TIMER4_LOAD = 0x8000;
+ *CSR_TIMER4_CNTL = TIMER_CNTL_ENABLE |
+ TIMER_CNTL_AUTORELOAD |
+ TIMER_CNTL_DIV16;
+ *CSR_SA110_CNTL |= 1 << 13;
}
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)