12#ifndef ZEPHYR_INCLUDE_DRIVERS_CACHE_H_
13#define ZEPHYR_INCLUDE_DRIVERS_CACHE_H_
28#if defined(CONFIG_DCACHE)
35void cache_data_enable(
void);
42void cache_data_disable(
void);
53int cache_data_flush_all(
void);
64int cache_data_invd_all(
void);
75int cache_data_flush_and_invd_all(
void);
96int cache_data_flush_range(
void *addr,
size_t size);
118int cache_data_invd_range(
void *addr,
size_t size);
140int cache_data_flush_and_invd_range(
void *addr,
size_t size);
142#if defined(CONFIG_DCACHE_LINE_SIZE_DETECT)
156size_t cache_data_line_size_get(
void);
162#if defined(CONFIG_ICACHE)
169void cache_instr_enable(
void);
176void cache_instr_disable(
void);
187int cache_instr_flush_all(
void);
198int cache_instr_invd_all(
void);
209int cache_instr_flush_and_invd_all(
void);
230int cache_instr_flush_range(
void *addr,
size_t size);
252int cache_instr_invd_range(
void *addr,
size_t size);
274int cache_instr_flush_and_invd_range(
void *addr,
size_t size);
276#ifdef CONFIG_ICACHE_LINE_SIZE_DETECT
290size_t cache_instr_line_size_get(
void);