aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-04-30 08:58:35 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-06-10 23:09:10 -0400
commit55b33f316d25c1ffb13a65de7f846b950b5ef5a6 (patch)
treeea8b7d9b038bf128199e92de6bcf47edbe53c301
parent25ce4a908abebf8c7d2e89908d36050e1de9cbec (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.h9
-rw-r--r--arch/m68knommu/platform/523x/config.c14
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
27void coldfire_reset(void);
28
29/***************************************************************************/
30
31static struct mcf_platform_uart m523x_uart_platform[] = { 26static 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
145static 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
151void __init config_BSP(char *commandp, int size) 153void __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}