1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
From b3a11478f28a24b719ff6426f52216c37c3331d7 Mon Sep 17 00:00:00 2001
From: Kurt Mahan <kmahan@freescale.com>
Date: Thu, 17 Jul 2008 17:02:29 -0600
Subject: [PATCH] Enable watchdog to reboot the processor.
LTIBName: m547x-8x-reboot-wd
Signed-off-by: Kurt Mahan <kmahan@freescale.com>
---
arch/m68k/coldfire/config.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
--- a/arch/m68k/coldfire/config.c
+++ b/arch/m68k/coldfire/config.c
@@ -50,6 +50,10 @@
#include <asm/mcf5445x_xbs.h>
#endif
+#ifdef CONFIG_M547X_8X
+#include <asm/m5485gpt.h>
+#endif
+
extern int get_irq_list(struct seq_file *p, void *v);
extern char _text, _end;
extern char _etext, _edata, __init_begin, __init_end;
@@ -379,6 +383,11 @@ void coldfire_reboot(void)
"moveb #0x80, %%d0\n\t"
"moveb %%d0, 0xfc0a0000\n\t"
: : : "%d0");
+#elif defined(CONFIG_M547X_8X)
+ /* disable interrupts and enable the watchdog */
+ printk(KERN_INFO "Rebooting\n");
+ asm("movew #0x2700, %sr\n");
+ MCF_GPT_GMS0 = MCF_GPT_GMS_WDEN | MCF_GPT_GMS_CE | MCF_GPT_GMS_TMS(4);
#endif
}
|