arm: mach-omap2: cache: Explicitly enable I cache
authorLokesh Vutla <lokeshvutla@ti.com>
Thu, 3 May 2018 15:04:49 +0000 (20:34 +0530)
committerTom Rini <trini@konsulko.com>
Sun, 6 May 2018 17:35:40 +0000 (13:35 -0400)
omap-common cache enabling sequence relies on cpu_init_cp15()
(inside start.S) for enabling I-caches. But cpu_init_cp15()
can be skipped if CONFIG_SKIP_LOWLEVEL_INIT is defined. So
enable I-caches if not enabled already.

Debugged-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Tested-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Tested-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
arch/arm/mach-omap2/omap-cache.c

index b37163a4f3e8ea37ecd1ddb656a90ca53a9714d7..975ee1b020034063d3d28e8b22a7237e3723b4dd 100644 (file)
@@ -44,7 +44,11 @@ DECLARE_GLOBAL_DATA_PTR;
 
 void enable_caches(void)
 {
-       /* Enable D-cache. I-cache is already enabled in start.S */
+
+       /* Enable I cache if not enabled */
+       if (!icache_status())
+               icache_enable();
+
        dcache_enable();
 }