From: Greg Ungerer Date: Wed, 2 Nov 2005 05:12:42 +0000 (+1000) Subject: [PATCH] m68knommu: add 5208 ColdFire reset/reboot support X-Git-Tag: v2.6.15-rc1~18^2~18 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01824853b1991b6ade506ee1b75f103a6eb8f558;p=linux-2.6 [PATCH] m68knommu: add 5208 ColdFire reset/reboot support 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 Signed-off-by: Linus Torvalds --- diff --git a/include/asm-m68knommu/system.h b/include/asm-m68knommu/system.h index 53cbbad0f1..6338afc850 100644 --- a/include/asm-m68knommu/system.h +++ b/include/asm-m68knommu/system.h @@ -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(" \