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);
89int cache_data_flush_range(
void *addr,
size_t size);
103int cache_data_invd_range(
void *addr,
size_t size);
117int cache_data_flush_and_invd_range(
void *addr,
size_t size);
119#if defined(CONFIG_DCACHE_LINE_SIZE_DETECT)
133size_t cache_data_line_size_get(
void);
139#if defined(CONFIG_ICACHE)
146void cache_instr_enable(
void);
153void cache_instr_disable(
void);
164int cache_instr_flush_all(
void);
175int cache_instr_invd_all(
void);
186int cache_instr_flush_and_invd_all(
void);
200int cache_instr_flush_range(
void *addr,
size_t size);
214int cache_instr_invd_range(
void *addr,
size_t size);
228int cache_instr_flush_and_invd_range(
void *addr,
size_t size);
230#ifdef CONFIG_ICACHE_LINE_SIZE_DETECT
244size_t cache_instr_line_size_get(
void);