ARM: flush cache for arm926
PATCH 2/26 ARM: flush cache for arm926
This simple adds the cache flush for arm926. Most likely the same works for other families, like arm920t, but I didn't check as this is currently just an RFC.
Signed-off-by Alessandro Rubini <[email protected]>
Signed-off-by Heiko Schocher <[email protected]>
---
- changes since v1:
- moved cache patches before relocation patches
- added my Signed-off-by
arch/arm/lib/cache.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
arch/arm/lib/cache.c +6 -0
@@ -32,5 +32,11 @@ void flush_cache (unsigned long dummy1, unsigned long dummy2)arm1136_cache_flush ();#endif +#ifdef CONFIG_ARM926EJS +/* test and clean, page 2-23 of arm926ejs manual */ + asm("0: mrc p15, 0, r15, c7, c10, 3\n\t" "bne 0b\n" : : :"memory" ); +/* disable write buffer as well (page 2-22) */ + asm("mcr p15, 0, %0, c7, c10, 4" : :"r" (0 )); +#endif return ; }
Signature · 5 lines
1.6.2.5 -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany