From b0c66af53ec9385ac2d1cc2e5d7d1ecdc81caf34 Mon Sep 17 00:00:00 2001 From: Shinya Kuribayashi Date: Tue, 25 Mar 2008 21:30:07 +0900 Subject: [MIPS] Introduce _machine_restart Handles machine specific functions by using weak functions. Signed-off-by: Shinya Kuribayashi --- board/incaip/incaip.c | 6 ++++++ board/purple/purple.c | 8 ++++++++ board/tb0229/tb0229.c | 9 ++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) (limited to 'board') diff --git a/board/incaip/incaip.c b/board/incaip/incaip.c index dbf0ecc..c624b3d 100644 --- a/board/incaip/incaip.c +++ b/board/incaip/incaip.c @@ -26,9 +26,15 @@ #include #include #include +#include extern uint incaip_get_cpuclk(void); +void _machine_restart(void) +{ + *INCA_IP_WDT_RST_REQ = 0x3f; +} + static ulong max_sdram_size(void) { /* The only supported SDRAM data width is 16bit. diff --git a/board/purple/purple.c b/board/purple/purple.c index 74718af..13a1455 100644 --- a/board/purple/purple.c +++ b/board/purple/purple.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "sconsole.h" @@ -52,6 +53,13 @@ extern int asc_serial_getc (void); extern int asc_serial_tstc (void); extern void asc_serial_setbrg (void); +void _machine_restart(void) +{ + void (*f)(void) = (void *) 0xbfc00000; + + f(); +} + static void sdram_timing_init (ulong size) { register uint pass; diff --git a/board/tb0229/tb0229.c b/board/tb0229/tb0229.c index 61c2e9b..d08b422 100644 --- a/board/tb0229/tb0229.c +++ b/board/tb0229/tb0229.c @@ -12,10 +12,17 @@ #include #include #include -#include #include +#include #include +void _machine_restart(void) +{ + void (*f)(void) = (void *) 0xbfc00000; + + f(); +} + #if defined(CONFIG_PCI) static struct pci_controller hose; -- cgit v1.1