diff options
author | Greg Ungerer <gerg@uclinux.org> | 2009-04-30 08:58:35 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2009-06-10 23:09:10 -0400 |
commit | 55b33f316d25c1ffb13a65de7f846b950b5ef5a6 (patch) | |
tree | ea8b7d9b038bf128199e92de6bcf47edbe53c301 | |
parent | 25ce4a908abebf8c7d2e89908d36050e1de9cbec (diff) |
m68knommu: move CPU reset code for the 523x ColdFire into its platform code
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r-- | arch/m68k/include/asm/m523xsim.h | 9 | ||||
-rw-r--r-- | arch/m68knommu/platform/523x/config.c | 14 |
2 files changed, 17 insertions, 6 deletions
diff --git a/arch/m68k/include/asm/m523xsim.h b/arch/m68k/include/asm/m523xsim.h index bf397313e93f..55183b5df1b8 100644 --- a/arch/m68k/include/asm/m523xsim.h +++ b/arch/m68k/include/asm/m523xsim.h | |||
@@ -41,5 +41,14 @@ | |||
41 | #define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ | 41 | #define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ |
42 | #define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ | 42 | #define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ |
43 | 43 | ||
44 | /* | ||
45 | * Reset Controll Unit (relative to IPSBAR). | ||
46 | */ | ||
47 | #define MCF_RCR 0x110000 | ||
48 | #define MCF_RSR 0x110001 | ||
49 | |||
50 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
51 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
52 | |||
44 | /****************************************************************************/ | 53 | /****************************************************************************/ |
45 | #endif /* m523xsim_h */ | 54 | #endif /* m523xsim_h */ |
diff --git a/arch/m68knommu/platform/523x/config.c b/arch/m68knommu/platform/523x/config.c index 74133f27b30c..961fefebca14 100644 --- a/arch/m68knommu/platform/523x/config.c +++ b/arch/m68knommu/platform/523x/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 m523x_uart_platform[] = { | 26 | static struct mcf_platform_uart m523x_uart_platform[] = { |
32 | { | 27 | { |
33 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 28 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -145,13 +140,20 @@ void mcf_autovector(unsigned int vec) | |||
145 | { | 140 | { |
146 | /* Everything is auto-vectored on the 523x */ | 141 | /* Everything is auto-vectored on the 523x */ |
147 | } | 142 | } |
143 | /***************************************************************************/ | ||
144 | |||
145 | static void m523x_cpu_reset(void) | ||
146 | { | ||
147 | local_irq_disable(); | ||
148 | __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR); | ||
149 | } | ||
148 | 150 | ||
149 | /***************************************************************************/ | 151 | /***************************************************************************/ |
150 | 152 | ||
151 | void __init config_BSP(char *commandp, int size) | 153 | void __init config_BSP(char *commandp, int size) |
152 | { | 154 | { |
153 | mcf_disableall(); | 155 | mcf_disableall(); |
154 | mach_reset = coldfire_reset; | 156 | mach_reset = m523x_cpu_reset; |
155 | m523x_uarts_init(); | 157 | m523x_uarts_init(); |
156 | m523x_fec_init(); | 158 | m523x_fec_init(); |
157 | } | 159 | } |