aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/coldfire/patches/087-m547x_8x_reboot_wd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/coldfire/patches/087-m547x_8x_reboot_wd.patch')
-rw-r--r--target/linux/coldfire/patches/087-m547x_8x_reboot_wd.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/coldfire/patches/087-m547x_8x_reboot_wd.patch b/target/linux/coldfire/patches/087-m547x_8x_reboot_wd.patch
new file mode 100644
index 0000000000..3316cbfee4
--- /dev/null
+++ b/target/linux/coldfire/patches/087-m547x_8x_reboot_wd.patch
@@ -0,0 +1,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
+ }
+