aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-04-30 09:06:45 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-06-10 23:09:10 -0400
commit4c0b008d49e728735f54419e60446480017bfe1b (patch)
tree75640bf74b627aa27677d7dc9bceac5028ed11a3 /arch
parent55b33f316d25c1ffb13a65de7f846b950b5ef5a6 (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.h9
-rw-r--r--arch/m68knommu/platform/527x/config.c15
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
27void coldfire_reset(void);
28
29/***************************************************************************/
30
31static struct mcf_platform_uart m527x_uart_platform[] = { 26static 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
225static void m527x_cpu_reset(void)
226{
227 local_irq_disable();
228 __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR);
229}
230
231/***************************************************************************/
232
230void __init config_BSP(char *commandp, int size) 233void __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}