diff options
| author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 03:31:19 -0400 |
|---|---|---|
| committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-10 23:09:09 -0400 |
| commit | 6f5aa7ce38dfb9c04eecac1222fc4b2521f02b83 (patch) | |
| tree | b7f02e4812d9d34ffa6a349934ee8473d5ea91b3 | |
| parent | b61a7260ff70d10ca27edcc74535af0d46a277fa (diff) | |
m68knommu: add CPU reset code for the 5249 ColdFire
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
| -rw-r--r-- | arch/m68knommu/platform/5249/config.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/arch/m68knommu/platform/5249/config.c b/arch/m68knommu/platform/5249/config.c index 9eab19d01eb1..93d998825925 100644 --- a/arch/m68knommu/platform/5249/config.c +++ b/arch/m68knommu/platform/5249/config.c | |||
| @@ -11,7 +11,6 @@ | |||
| 11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
| 12 | #include <linux/param.h> | 12 | #include <linux/param.h> |
| 13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
| 14 | #include <linux/interrupt.h> | ||
| 15 | #include <linux/io.h> | 14 | #include <linux/io.h> |
| 16 | #include <asm/machdep.h> | 15 | #include <asm/machdep.h> |
| 17 | #include <asm/coldfire.h> | 16 | #include <asm/coldfire.h> |
| @@ -20,10 +19,6 @@ | |||
| 20 | 19 | ||
| 21 | /***************************************************************************/ | 20 | /***************************************************************************/ |
| 22 | 21 | ||
| 23 | void coldfire_reset(void); | ||
| 24 | |||
| 25 | /***************************************************************************/ | ||
| 26 | |||
| 27 | static struct mcf_platform_uart m5249_uart_platform[] = { | 22 | static struct mcf_platform_uart m5249_uart_platform[] = { |
| 28 | { | 23 | { |
| 29 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 24 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
| @@ -106,10 +101,21 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
| 106 | 101 | ||
| 107 | /***************************************************************************/ | 102 | /***************************************************************************/ |
| 108 | 103 | ||
| 104 | void m5249_cpu_reset(void) | ||
| 105 | { | ||
| 106 | local_irq_disable(); | ||
| 107 | /* Set watchdog to soft reset, and enabled */ | ||
| 108 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
| 109 | for (;;) | ||
| 110 | /* wait for watchdog to timeout */; | ||
| 111 | } | ||
| 112 | |||
| 113 | /***************************************************************************/ | ||
| 114 | |||
| 109 | void __init config_BSP(char *commandp, int size) | 115 | void __init config_BSP(char *commandp, int size) |
| 110 | { | 116 | { |
| 111 | mcf_setimr(MCFSIM_IMR_MASKALL); | 117 | mcf_setimr(MCFSIM_IMR_MASKALL); |
| 112 | mach_reset = coldfire_reset; | 118 | mach_reset = m5249_cpu_reset; |
| 113 | } | 119 | } |
| 114 | 120 | ||
| 115 | /***************************************************************************/ | 121 | /***************************************************************************/ |
