summaryrefslogtreecommitdiffstats
path: root/target/linux/coldfire/patches/087-m547x_8x_reboot_wd.patch
blob: 3316cbfee4c46a1b16b407d4f87ec4d0dff2bf10 (plain)
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
 }