7#ifndef _HARDWARE_XIP_CACHE_H
8#define _HARDWARE_XIP_CACHE_H
11#include "hardware/regs/addressmap.h"
59#ifndef PARAM_ASSERTIONS_ENABLED_HARDWARE_XIP_CACHE
60#define PARAM_ASSERTIONS_ENABLED_HARDWARE_XIP_CACHE 0
63#define XIP_CACHE_LINE_SIZE _u(8)
65#define XIP_CACHE_SIZE (_u(16) * _u(1024))
68#define XIP_CACHE_ADDRESS_SPACE_SIZE (_u(16) * _u(1024) * _u(1024))
70#define XIP_CACHE_ADDRESS_SPACE_SIZE (XIP_END - XIP_BASE)
75#define XIP_CACHE_IS_READ_ONLY 1
77#define XIP_CACHE_IS_READ_ONLY 0
127#if !XIP_CACHE_IS_READ_ONLY || PICO_COMBINED_DOCS
151void xip_cache_clean_all(
void);
169void xip_cache_clean_range(uintptr_t start_offset, uintptr_t size_bytes);
173static inline void xip_cache_clean_all(
void) {}
174static inline void xip_cache_clean_range(uintptr_t start_offset, uintptr_t size_bytes) {
180#if !PICO_RP2040 || PICO_COMBINED_DOCS
201void xip_cache_pin_range(uintptr_t start_offset, uintptr_t size_bytes);
void xip_cache_invalidate_all(void)
Invalidate the cache for the entire XIP address space.
Definition xip_cache.c:54
void xip_cache_invalidate_range(uintptr_t start_offset, uintptr_t size_bytes)
Invalidate a range of offsets within the XIP address space.
Definition xip_cache.c:65