[PATCH] m68knommu: add 5208 ColdFire reset/reboot support
authorGreg Ungerer <gerg@snapgear.com>
Wed, 2 Nov 2005 05:12:42 +0000 (15:12 +1000)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 2 Nov 2005 05:41:20 +0000 (21:41 -0800)
Add reset/reboot code to support the ColdFire 5208 family.
Patch originally from Matt Wadell (from code originally written by
Mike Lavender).

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-m68knommu/system.h

index 53cbbad0f13019d2bf23df3b33a45d9ae7b3a99a..6338afc850bad7e6a8d3e25c95f42d158a543f3f 100644 (file)
@@ -312,6 +312,19 @@ cmpxchg(volatile int *p, int old, int new)
        moveb #0x80, (%a0);             \
        ");                             \
 })
+#elif defined(CONFIG_M520x)
+       /*
+        * The MCF5208 has a bit (SOFTRST) in memory (Reset Control Register 
+        * RCR), that when set, resets the MCF5208.
+        */
+#define HARD_RESET_NOW()               \
+({                                     \
+       unsigned char volatile *reset;  \
+       asm("move.w     #0x2700, %sr"); \
+       reset = ((volatile unsigned short *)(MCF_IPSBAR + 0xA0000));    \
+       while(1)                        \
+               *reset |= 0x80;         \
+})
 #else
 #define HARD_RESET_NOW() ({            \
         asm("                          \