aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68knommu
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-04-30 03:22:56 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-06-10 23:09:09 -0400
commitb61a7260ff70d10ca27edcc74535af0d46a277fa (patch)
tree7a04fb5a1e13d1fbaa4c7043edfac5cded290e7e /arch/m68knommu
parent851377bca613175473b6dafd6c7d1bfbcf24efe2 (diff)
m68knommu: add CPU reset code for the 5206e ColdFire
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68knommu')
-rw-r--r--arch/m68knommu/platform/5206e/config.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/arch/m68knommu/platform/5206e/config.c b/arch/m68knommu/platform/5206e/config.c
index db902540bf2c..65887799db81 100644
--- a/arch/m68knommu/platform/5206e/config.c
+++ b/arch/m68knommu/platform/5206e/config.c
@@ -11,7 +11,6 @@
11#include <linux/kernel.h> 11#include <linux/kernel.h>
12#include <linux/param.h> 12#include <linux/param.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/interrupt.h>
15#include <linux/io.h> 14#include <linux/io.h>
16#include <asm/machdep.h> 15#include <asm/machdep.h>
17#include <asm/coldfire.h> 16#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 m5206e_uart_platform[] = { 23static struct mcf_platform_uart m5206e_uart_platform[] = {
29 { 24 {
30 .mapbase = MCF_MBAR + MCFUART_BASE1, 25 .mapbase = MCF_MBAR + MCFUART_BASE1,
@@ -109,6 +104,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level)
109 104
110/***************************************************************************/ 105/***************************************************************************/
111 106
107void m5206e_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);
@@ -119,7 +125,7 @@ void __init config_BSP(char *commandp, int size)
119 commandp[size-1] = 0; 125 commandp[size-1] = 0;
120#endif /* CONFIG_NETtel */ 126#endif /* CONFIG_NETtel */
121 127
122 mach_reset = coldfire_reset; 128 mach_reset = m5206e_cpu_reset;
123} 129}
124 130
125/***************************************************************************/ 131/***************************************************************************/