aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2009-04-30 03:31:19 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-06-10 23:09:09 -0400
commit6f5aa7ce38dfb9c04eecac1222fc4b2521f02b83 (patch)
treeb7f02e4812d9d34ffa6a349934ee8473d5ea91b3
parentb61a7260ff70d10ca27edcc74535af0d46a277fa (diff)
m68knommu: add CPU reset code for the 5249 ColdFire
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r--arch/m68knommu/platform/5249/config.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/arch/m68knommu/platform/5249/config.c b/arch/m68knommu/platform/5249/config.c
index 9eab19d01eb1..93d998825925 100644
--- a/arch/m68knommu/platform/5249/config.c
+++ b/arch/m68knommu/platform/5249/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>
@@ -20,10 +19,6 @@
20 19
21/***************************************************************************/ 20/***************************************************************************/
22 21
23void coldfire_reset(void);
24
25/***************************************************************************/
26
27static struct mcf_platform_uart m5249_uart_platform[] = { 22static struct mcf_platform_uart m5249_uart_platform[] = {
28 { 23 {
29 .mapbase = MCF_MBAR + MCFUART_BASE1, 24 .mapbase = MCF_MBAR + MCFUART_BASE1,
@@ -106,10 +101,21 @@ void mcf_settimericr(unsigned int timer, unsigned int level)
106 101
107/***************************************************************************/ 102/***************************************************************************/
108 103
104void m5249_cpu_reset(void)
105{
106 local_irq_disable();
107 /* Set watchdog to soft reset, and enabled */
108 __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR);
109 for (;;)
110 /* wait for watchdog to timeout */;
111}
112
113/***************************************************************************/
114
109void __init config_BSP(char *commandp, int size) 115void __init config_BSP(char *commandp, int size)
110{ 116{
111 mcf_setimr(MCFSIM_IMR_MASKALL); 117 mcf_setimr(MCFSIM_IMR_MASKALL);
112 mach_reset = coldfire_reset; 118 mach_reset = m5249_cpu_reset;
113} 119}
114 120
115/***************************************************************************/ 121/***************************************************************************/