summaryrefslogtreecommitdiff
path: root/arch/arm/mach-at91/arm926ejs/cache.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2016-10-28 18:14:18 (GMT)
committerTom Rini <trini@konsulko.com>2016-10-28 18:14:18 (GMT)
commit1df182ddf700de49fb4400ba67c3029278ea88e7 (patch)
treec709e8a79950a29f1d12fc09fbf52b293bd54092 /arch/arm/mach-at91/arm926ejs/cache.c
parent4f892924d238cc415891dbea336a0fdaff2f853b (diff)
parent0eafd4b77615efdd948e698d83be746dcf026a53 (diff)
downloadu-boot-1df182ddf700de49fb4400ba67c3029278ea88e7.tar.xz
Merge branch 'master' of git://git.denx.de/u-boot-atmel
Diffstat (limited to 'arch/arm/mach-at91/arm926ejs/cache.c')
-rw-r--r--arch/arm/mach-at91/arm926ejs/cache.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/arm926ejs/cache.c b/arch/arm/mach-at91/arm926ejs/cache.c
new file mode 100644
index 0000000..8813706
--- /dev/null
+++ b/arch/arm/mach-at91/arm926ejs/cache.c
@@ -0,0 +1,29 @@
+/*
+ * (C) Copyright 2016
+ * Heiko Schocher, DENX Software Engineering, hs@denx.de.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+#include <linux/types.h>
+#include <common.h>
+
+void enable_caches(void)
+{
+#ifndef CONFIG_SYS_ICACHE_OFF
+ icache_enable();
+#endif
+}
+
+#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