11
11
#include <linux/kernel.h>
12
12
#include <linux/param.h>
13
13
#include <linux/init.h>
14
- #include <linux/interrupt.h>
15
14
#include <linux/io.h>
16
15
#include <asm/machdep.h>
17
16
#include <asm/coldfire.h>
21
20
22
21
/***************************************************************************/
23
22
24
- void coldfire_reset (void );
25
-
26
- /***************************************************************************/
27
-
28
23
static struct mcf_platform_uart m5206e_uart_platform [] = {
29
24
{
30
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
107
+ void 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
+
112
118
void __init config_BSP (char * commandp , int size )
113
119
{
114
120
mcf_setimr (MCFSIM_IMR_MASKALL );
@@ -119,7 +125,7 @@ void __init config_BSP(char *commandp, int size)
119
125
commandp [size - 1 ] = 0 ;
120
126
#endif /* CONFIG_NETtel */
121
127
122
- mach_reset = coldfire_reset ;
128
+ mach_reset = m5206e_cpu_reset ;
123
129
}
124
130
125
131
/***************************************************************************/
0 commit comments