diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 08:39:50 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-10 23:09:10 -0400 |
commit | 25ce4a908abebf8c7d2e89908d36050e1de9cbec (patch) | |
tree | 7956ac61959bc607c995fac0b1e8761dc9d7c6ff /arch | |
parent | 384feb91319766298c6358f23f54873d44c9d8cb (diff) |
m68knommu: move CPU reset code for the 520x ColdFire into its platform code
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/m68k/include/asm/m520xsim.h | 9 | ||||
-rw-r--r-- | arch/m68knommu/platform/520x/config.c | 15 |
2 files changed, 18 insertions, 6 deletions
diff --git a/arch/m68k/include/asm/m520xsim.h b/arch/m68k/include/asm/m520xsim.h index 49d016e6391a..83bbcfd6e8f2 100644 --- a/arch/m68k/include/asm/m520xsim.h +++ b/arch/m68k/include/asm/m520xsim.h | |||
@@ -59,5 +59,14 @@ | |||
59 | #define MCFPIT_IMR MCFINTC_IMRL | 59 | #define MCFPIT_IMR MCFINTC_IMRL |
60 | #define MCFPIT_IMR_IBIT (1 << MCFINT_PIT1) | 60 | #define MCFPIT_IMR_IBIT (1 << MCFINT_PIT1) |
61 | 61 | ||
62 | /* | ||
63 | * Reset Controll Unit. | ||
64 | */ | ||
65 | #define MCF_RCR 0xFC0A0000 | ||
66 | #define MCF_RSR 0xFC0A0001 | ||
67 | |||
68 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
69 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
70 | |||
62 | /****************************************************************************/ | 71 | /****************************************************************************/ |
63 | #endif /* m520xsim_h */ | 72 | #endif /* m520xsim_h */ |
diff --git a/arch/m68knommu/platform/520x/config.c b/arch/m68knommu/platform/520x/config.c index 855fc6a79d72..1c43a8aec69b 100644 --- a/arch/m68knommu/platform/520x/config.c +++ b/arch/m68knommu/platform/520x/config.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/param.h> | 15 | #include <linux/param.h> |
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/interrupt.h> | ||
18 | #include <linux/io.h> | 17 | #include <linux/io.h> |
19 | #include <asm/machdep.h> | 18 | #include <asm/machdep.h> |
20 | #include <asm/coldfire.h> | 19 | #include <asm/coldfire.h> |
@@ -23,10 +22,6 @@ | |||
23 | 22 | ||
24 | /***************************************************************************/ | 23 | /***************************************************************************/ |
25 | 24 | ||
26 | void coldfire_reset(void); | ||
27 | |||
28 | /***************************************************************************/ | ||
29 | |||
30 | static struct mcf_platform_uart m520x_uart_platform[] = { | 25 | static struct mcf_platform_uart m520x_uart_platform[] = { |
31 | { | 26 | { |
32 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 27 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -169,9 +164,17 @@ void mcf_autovector(unsigned int vec) | |||
169 | 164 | ||
170 | /***************************************************************************/ | 165 | /***************************************************************************/ |
171 | 166 | ||
167 | static void m520x_cpu_reset(void) | ||
168 | { | ||
169 | local_irq_disable(); | ||
170 | __raw_writeb(MCF_RCR_SWRESET, MCF_RCR); | ||
171 | } | ||
172 | |||
173 | /***************************************************************************/ | ||
174 | |||
172 | void __init config_BSP(char *commandp, int size) | 175 | void __init config_BSP(char *commandp, int size) |
173 | { | 176 | { |
174 | mach_reset = coldfire_reset; | 177 | mach_reset = m520x_cpu_reset; |
175 | m520x_uarts_init(); | 178 | m520x_uarts_init(); |
176 | m520x_fec_init(); | 179 | m520x_fec_init(); |
177 | } | 180 | } |