X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=include%2Fasm-m68knommu%2Fsystem.h;h=2bbe2db00a22a7a3c1731ea0b574558580027fc0;hb=b5a1a9abe1a54ba40a9612001920f98bbdd0c56f;hp=53cbbad0f13019d2bf23df3b33a45d9ae7b3a99a;hpb=a8cd2e5045688157479a654786b2c08ab85f4d8f;p=powerpc.git diff --git a/include/asm-m68knommu/system.h b/include/asm-m68knommu/system.h index 53cbbad0f1..2bbe2db00a 100644 --- a/include/asm-m68knommu/system.h +++ b/include/asm-m68knommu/system.h @@ -1,7 +1,6 @@ #ifndef _M68KNOMMU_SYSTEM_H #define _M68KNOMMU_SYSTEM_H -#include /* get configuration macros */ #include #include #include @@ -312,6 +311,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(" \