aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-04-30 03:22:05 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-06-10 23:09:09 -0400
commit851377bca613175473b6dafd6c7d1bfbcf24efe2 (patch)
tree8dffe80fa34c49761857739fad02d8ef8f4345dc
parenteb7c874d5c81dae6d7b80857e9f0dab1a5d05ebd (diff)
m68knommu: add CPU reset code for the 5206 ColdFire
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r--arch/m68knommu/platform/5206/config.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/arch/m68knommu/platform/5206/config.c b/arch/m68knommu/platform/5206/config.c
index 53a5920c2b71..f6f79874e9af 100644
--- a/arch/m68knommu/platform/5206/config.c
+++ b/arch/m68knommu/platform/5206/config.c
@@ -12,7 +12,6 @@
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/param.h> 13#include <linux/param.h>
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/interrupt.h>
16#include <linux/io.h> 15#include <linux/io.h>
17#include <asm/machdep.h> 16#include <asm/machdep.h>
18#include <asm/coldfire.h> 17#include <asm/coldfire.h>
@@ -21,10 +20,6 @@
21 20
22/***************************************************************************/ 21/***************************************************************************/
23 22
24void coldfire_reset(void);
25
26/***************************************************************************/
27
28static struct mcf_platform_uart m5206_uart_platform[] = { 23static struct mcf_platform_uart m5206_uart_platform[] = {
29 { 24 {
30 .mapbase = MCF_MBAR + MCFUART_BASE1, 25 .mapbase = MCF_MBAR + MCFUART_BASE1,
@@ -109,10 +104,21 @@ void mcf_settimericr(unsigned int timer, unsigned int level)
109 104
110/***************************************************************************/ 105/***************************************************************************/
111 106
107void m5206_cpu_reset(void)
108{
109 local_irq_disable();
110 /* Set watchdog to soft reset, and enabled */
111 __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR);
112 for (;;)
113 /* wait for watchdog to timeout */;
114}
115
116/***************************************************************************/
117
112void __init config_BSP(char *commandp, int size) 118void __init config_BSP(char *commandp, int size)
113{ 119{
114 mcf_setimr(MCFSIM_IMR_MASKALL); 120 mcf_setimr(MCFSIM_IMR_MASKALL);
115 mach_reset = coldfire_reset; 121 mach_reset = m5206_cpu_reset;
116} 122}
117 123
118/***************************************************************************/ 124/***************************************************************************/