aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/m68k/include/asm/m520xsim.h9
-rw-r--r--arch/m68knommu/platform/520x/config.c15
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
26void coldfire_reset(void);
27
28/***************************************************************************/
29
30static struct mcf_platform_uart m520x_uart_platform[] = { 25static 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
167static void m520x_cpu_reset(void)
168{
169 local_irq_disable();
170 __raw_writeb(MCF_RCR_SWRESET, MCF_RCR);
171}
172
173/***************************************************************************/
174
172void __init config_BSP(char *commandp, int size) 175void __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}