summaryrefslogtreecommitdiff
path: root/include/cpu_func.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2019-11-14 12:57:39 -0700
committerTom Rini <trini@konsulko.com>2019-12-02 18:24:58 -0500
commit1eb69ae498567bb0b62ee554647204e8245cdacc (patch)
tree85471c9088c5a801b3adcf397c2310726fe08fea /include/cpu_func.h
parent3374d28b3443cc5565816d1f58d01ebfa14ea5ae (diff)
downloadu-boot-1eb69ae498567bb0b62ee554647204e8245cdacc.tar.gz
u-boot-1eb69ae498567bb0b62ee554647204e8245cdacc.tar.bz2
u-boot-1eb69ae498567bb0b62ee554647204e8245cdacc.zip
common: Move ARM cache operations out of common.h
These functions are CPU-related and do not use driver model. Move them to cpu_func.h Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include/cpu_func.h')
-rw-r--r--include/cpu_func.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/cpu_func.h b/include/cpu_func.h
index a14d23a36d..46f3d92459 100644
--- a/include/cpu_func.h
+++ b/include/cpu_func.h
@@ -60,4 +60,28 @@ void dcache_enable(void);
void dcache_disable(void);
void mmu_disable(void);
+/* arch/$(ARCH)/lib/cache.c */
+void enable_caches(void);
+void flush_cache(unsigned long addr, unsigned long size);
+void flush_dcache_all(void);
+void flush_dcache_range(unsigned long start, unsigned long stop);
+void invalidate_dcache_range(unsigned long start, unsigned long stop);
+void invalidate_dcache_all(void);
+void invalidate_icache_all(void);
+
+enum {
+ /* Disable caches (else flush caches but leave them active) */
+ CBL_DISABLE_CACHES = 1 << 0,
+ CBL_SHOW_BOOTSTAGE_REPORT = 1 << 1,
+
+ CBL_ALL = 3,
+};
+
+/**
+ * Clean up ready for linux
+ *
+ * @param flags Flags to control what is done
+ */
+int cleanup_before_linux_select(int flags);
+;
#endif