diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 09:06:45 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-10 23:09:10 -0400 |
commit | 4c0b008d49e728735f54419e60446480017bfe1b (patch) | |
tree | 75640bf74b627aa27677d7dc9bceac5028ed11a3 /arch | |
parent | 55b33f316d25c1ffb13a65de7f846b950b5ef5a6 (diff) |
m68knommu: move CPU reset code for the 527x ColdFire into its platform code
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/m68k/include/asm/m527xsim.h | 9 | ||||
-rw-r--r-- | arch/m68knommu/platform/527x/config.c | 15 |
2 files changed, 18 insertions, 6 deletions
diff --git a/arch/m68k/include/asm/m527xsim.h b/arch/m68k/include/asm/m527xsim.h index 1f63ab3fb3e6..95f4f8ee8f7c 100644 --- a/arch/m68k/include/asm/m527xsim.h +++ b/arch/m68k/include/asm/m527xsim.h | |||
@@ -70,5 +70,14 @@ | |||
70 | #define UART2_ENABLE_MASK 0x3f00 | 70 | #define UART2_ENABLE_MASK 0x3f00 |
71 | #endif | 71 | #endif |
72 | 72 | ||
73 | /* | ||
74 | * Reset Controll Unit (relative to IPSBAR). | ||
75 | */ | ||
76 | #define MCF_RCR 0x110000 | ||
77 | #define MCF_RSR 0x110001 | ||
78 | |||
79 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
80 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
81 | |||
73 | /****************************************************************************/ | 82 | /****************************************************************************/ |
74 | #endif /* m527xsim_h */ | 83 | #endif /* m527xsim_h */ |
diff --git a/arch/m68knommu/platform/527x/config.c b/arch/m68knommu/platform/527x/config.c index 428b15922ef5..f746439cfd3e 100644 --- a/arch/m68knommu/platform/527x/config.c +++ b/arch/m68knommu/platform/527x/config.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/param.h> | 16 | #include <linux/param.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/interrupt.h> | ||
19 | #include <linux/io.h> | 18 | #include <linux/io.h> |
20 | #include <asm/machdep.h> | 19 | #include <asm/machdep.h> |
21 | #include <asm/coldfire.h> | 20 | #include <asm/coldfire.h> |
@@ -24,10 +23,6 @@ | |||
24 | 23 | ||
25 | /***************************************************************************/ | 24 | /***************************************************************************/ |
26 | 25 | ||
27 | void coldfire_reset(void); | ||
28 | |||
29 | /***************************************************************************/ | ||
30 | |||
31 | static struct mcf_platform_uart m527x_uart_platform[] = { | 26 | static struct mcf_platform_uart m527x_uart_platform[] = { |
32 | { | 27 | { |
33 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 28 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -227,10 +222,18 @@ void mcf_autovector(unsigned int vec) | |||
227 | 222 | ||
228 | /***************************************************************************/ | 223 | /***************************************************************************/ |
229 | 224 | ||
225 | static void m527x_cpu_reset(void) | ||
226 | { | ||
227 | local_irq_disable(); | ||
228 | __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR); | ||
229 | } | ||
230 | |||
231 | /***************************************************************************/ | ||
232 | |||
230 | void __init config_BSP(char *commandp, int size) | 233 | void __init config_BSP(char *commandp, int size) |
231 | { | 234 | { |
232 | mcf_disableall(); | 235 | mcf_disableall(); |
233 | mach_reset = coldfire_reset; | 236 | mach_reset = m527x_cpu_reset; |
234 | m527x_uarts_init(); | 237 | m527x_uarts_init(); |
235 | m527x_fec_init(); | 238 | m527x_fec_init(); |
236 | } | 239 | } |