diff options
author | Simon Glass <sjg@chromium.org> | 2019-11-14 12:57:39 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2019-12-02 18:24:58 -0500 |
commit | 1eb69ae498567bb0b62ee554647204e8245cdacc (patch) | |
tree | 85471c9088c5a801b3adcf397c2310726fe08fea /include/cpu_func.h | |
parent | 3374d28b3443cc5565816d1f58d01ebfa14ea5ae (diff) | |
download | u-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.h | 24 |
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 |