diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 03:22:56 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-10 23:09:09 -0400 |
commit | b61a7260ff70d10ca27edcc74535af0d46a277fa (patch) | |
tree | 7a04fb5a1e13d1fbaa4c7043edfac5cded290e7e /arch/m68knommu | |
parent | 851377bca613175473b6dafd6c7d1bfbcf24efe2 (diff) |
m68knommu: add CPU reset code for the 5206e ColdFire
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68knommu')
-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 db902540bf2c..65887799db81 100644 --- a/arch/m68knommu/platform/5206e/config.c +++ b/arch/m68knommu/platform/5206e/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> |
@@ -21,10 +20,6 @@ | |||
21 | 20 | ||
22 | /***************************************************************************/ | 21 | /***************************************************************************/ |
23 | 22 | ||
24 | void coldfire_reset(void); | ||
25 | |||
26 | /***************************************************************************/ | ||
27 | |||
28 | static struct mcf_platform_uart m5206e_uart_platform[] = { | 23 | static struct mcf_platform_uart m5206e_uart_platform[] = { |
29 | { | 24 | { |
30 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 25 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -109,6 +104,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
109 | 104 | ||
110 | /***************************************************************************/ | 105 | /***************************************************************************/ |
111 | 106 | ||
107 | void m5206e_cpu_reset(void) | ||
108 | { | ||
109 | local_irq_disable(); | ||
110 | /* Set watchdog to soft reset, and enabled */ | ||
111 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
112 | for (;;) | ||
113 | /* wait for watchdog to timeout */; | ||
114 | } | ||
115 | |||
116 | /***************************************************************************/ | ||
117 | |||
112 | void __init config_BSP(char *commandp, int size) | 118 | void __init config_BSP(char *commandp, int size) |
113 | { | 119 | { |
114 | mcf_setimr(MCFSIM_IMR_MASKALL); | 120 | mcf_setimr(MCFSIM_IMR_MASKALL); |
@@ -119,7 +125,7 @@ void __init config_BSP(char *commandp, int size) | |||
119 | commandp[size-1] = 0; | 125 | commandp[size-1] = 0; |
120 | #endif /* CONFIG_NETtel */ | 126 | #endif /* CONFIG_NETtel */ |
121 | 127 | ||
122 | mach_reset = coldfire_reset; | 128 | mach_reset = m5206e_cpu_reset; |
123 | } | 129 | } |
124 | 130 | ||
125 | /***************************************************************************/ | 131 | /***************************************************************************/ |