From 53d9cc7395c8dbe8d7fd6f9acd6578b236d14a0f Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Wed, 8 Feb 2006 22:06:45 +0000 Subject: [ARM] 3279/1: OMAP: 1/3 Fix low-level io init Patch from Tony Lindgren This patch adds the missing cache flushes to common low-level init that are needed to access the IO region. These flushes are normally done at the end of devicemaps_init(), but we need to detect the OMAP core type early. Signed-off-by: Tony Lindgren Signed-off-by: Russell King --- arch/arm/plat-omap/sram.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'arch/arm/plat-omap') diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index 792f6637583..ee82763b02b 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c @@ -17,6 +17,7 @@ #include #include +#include #include #include @@ -95,6 +96,14 @@ void __init omap_map_sram(void) omap_sram_io_desc[0].pfn, omap_sram_io_desc[0].virtual, omap_sram_io_desc[0].length); + /* + * Normally devicemaps_init() would flush caches and tlb after + * mdesc->map_io(), but since we're called from map_io(), we + * must do it here. + */ + local_flush_tlb_all(); + flush_cache_all(); + /* * Looks like we need to preserve some bootloader code at the * beginning of SRAM for jumping to flash for reboot to work... -- cgit v1.2.3