]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] m68knommu: add ColdFire 528x CPU reset code
authorGreg Ungerer <gerg@snapgear.com>
Sun, 14 Nov 2004 16:20:53 +0000 (08:20 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 14 Nov 2004 16:20:53 +0000 (08:20 -0800)
Add ColdFire 528x specific CPU reset code.

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

index e12f9eb46e846245f203c6487ff5a45cfd0b20dc..ce3f0b0226df1f07cf5d34e27a7c388ec2dbc43f 100644 (file)
@@ -257,6 +257,19 @@ cmpxchg(volatile int *p, int old, int new)
         jmp (%a0);                     \
         ");                            \
 })
+#elif defined(CONFIG_M528x)
+/*
+ * The MCF528x has a bit (SOFTRST) in memory (Reset Control Register RCR),
+ * that when set, resets the MCF528x.
+ */
+#define HARD_RESET_NOW() \
+({                                             \
+       unsigned char volatile *reset;          \
+       asm("move.w     #0x2700, %sr");         \
+       reset = ((volatile unsigned short *)(MCF_IPSBAR + 0x110000));   \
+       while(1)                                \
+       *reset |= (0x01 << 7);\
+})
 #else
 #define HARD_RESET_NOW() ({            \
         asm("                          \