[U-Boot] [RFC] ARM: davinci: da850: Enable Caches for DA850-EVM

Adam Ford aford173 at gmail.com
Sun Aug 27 22:39:20 UTC 2017


What starting up the DA850-EVM, U-Boot generates a warning:
   WARNING: Caches not enabled

Looking at other arm926 processors, this is an attempt
to enable the caches and remove the warning.

I am notsure who the proper TI or ARM people are to review this.

Signed-off-by: Adam Ford <aford173 at gmail.com>
---
 board/davinci/da8xxevm/da850evm.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c
index c2d2e8e..33a923c 100644
--- a/board/davinci/da8xxevm/da850evm.c
+++ b/board/davinci/da8xxevm/da850evm.c
@@ -491,3 +491,29 @@ int board_eth_init(bd_t *bis)
 	return 0;
 }
 #endif /* CONFIG_DRIVER_TI_EMAC */
+
+#ifndef CONFIG_SYS_ICACHE_OFF
+/* Invalidate entire I-cache and branch predictor array */
+void invalidate_icache_all(void)
+{
+	unsigned long i = 0;
+
+	asm ("mcr p15, 0, %0, c7, c5, 0" : : "r" (i));
+}
+#else
+void invalidate_icache_all(void)
+{
+}
+#endif
+
+#ifndef CONFIG_SYS_DCACHE_OFF
+void enable_caches(void)
+{
+	/* Enable D-cache. I-cache is already enabled in start.S */
+	dcache_enable();
+}
+#else
+void enable_caches(void)
+{
+}
+#endif /* CONFIG_SYS_DCACHE_OFF */
-- 
2.7.4



More information about the U-Boot mailing list