Fix problems with the 528x ColdFire CPU cache setup.
Do not cache the flash region (if present), and make the runtime
settings consistent with the init setting.
Problems pointed out by Bernd Buttner <[email protected]>
Signed-off-by: Greg Ungerer <[email protected]>
---
diff -Naurp linux-2.6.24/include/asm-m68knommu/cacheflush.h linux-2.6.24-uc0/include/asm-m68knommu/cacheflush.h
--- linux-2.6.24/include/asm-m68knommu/cacheflush.h 2008-01-25 08:58:37.000000000 +1000
+++ linux-2.6.24-uc0/include/asm-m68knommu/cacheflush.h 2007-10-29 16:43:08.000000000 +1000
@@ -53,7 +53,7 @@ static inline void __flush_cache_all(voi
#endif /* CONFIG_M5407 */
#if defined(CONFIG_M527x) || defined(CONFIG_M528x)
__asm__ __volatile__ (
- "movel #0x81400100, %%d0\n\t"
+ "movel #0x81000200, %%d0\n\t"
"movec %%d0, %%CACR\n\t"
"nop\n\t"
: : : "d0" );
diff -Naurp linux-2.6.24/include/asm-m68knommu/mcfcache.h linux-2.6.24-uc0/include/asm-m68knommu/mcfcache.h
--- linux-2.6.24/include/asm-m68knommu/mcfcache.h 2008-01-25 08:58:37.000000000 +1000
+++ linux-2.6.24-uc0/include/asm-m68knommu/mcfcache.h 2007-10-29 16:43:08.000000000 +1000
@@ -60,7 +60,7 @@
nop
movel #0x0000c020, %d0 /* Set SDRAM cached only */
movec %d0, %ACR0
- movel #0xff00c000, %d0 /* Cache Flash also */
+ movel #0x00000000, %d0 /* No other regions cached */
movec %d0, %ACR1
movel #0x80000200, %d0 /* Setup cache mask */
movec %d0, %CACR /* Enable cache */