diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 17:22:56 +1000 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-11 13:09:09 +1000 |
commit | b61a7260ff70d10ca27edcc74535af0d46a277fa (patch) | |
tree | 7a04fb5a1e13d1fbaa4c7043edfac5cded290e7e | |
parent | 851377bca613175473b6dafd6c7d1bfbcf24efe2 (diff) | |
download | op-kernel-dev-b61a7260ff70d10ca27edcc74535af0d46a277fa.zip op-kernel-dev-b61a7260ff70d10ca27edcc74535af0d46a277fa.tar.gz |
m68knommu: add CPU reset code for the 5206e ColdFire
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r-- | arch/m68knommu/platform/5206e/config.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/arch/m68knommu/platform/5206e/config.c b/arch/m68knommu/platform/5206e/config.c index db90254..65887799 100644 --- a/arch/m68knommu/platform/5206e/config.c +++ b/arch/m68knommu/platform/5206e/config.c @@ -11,7 +11,6 @@ #include <linux/kernel.h> #include <linux/param.h> #include <linux/init.h> -#include <linux/interrupt.h> #include <linux/io.h> #include <asm/machdep.h> #include <asm/coldfire.h> @@ -21,10 +20,6 @@ /***************************************************************************/ -void coldfire_reset(void); - -/***************************************************************************/ - static struct mcf_platform_uart m5206e_uart_platform[] = { { .mapbase = MCF_MBAR + MCFUART_BASE1, @@ -109,6 +104,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level) /***************************************************************************/ +void m5206e_cpu_reset(void) +{ + local_irq_disable(); + /* Set watchdog to soft reset, and enabled */ + __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); + for (;;) + /* wait for watchdog to timeout */; +} + +/***************************************************************************/ + void __init config_BSP(char *commandp, int size) { mcf_setimr(MCFSIM_IMR_MASKALL); @@ -119,7 +125,7 @@ void __init config_BSP(char *commandp, int size) commandp[size-1] = 0; #endif /* CONFIG_NETtel */ - mach_reset = coldfire_reset; + mach_reset = m5206e_cpu_reset; } /***************************************************************************/ |