1 /* 2 * SPDX-FileCopyrightText: 2010-2022 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #pragma once 8 9 #include "esp_bit_defs.h" 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 typedef enum { 16 CACHE_TYPE_DATA, 17 CACHE_TYPE_INSTRUCTION, 18 CACHE_TYPE_ALL //This means both ICache and DCache will be used. On some chips, I/D are controlled by a shared Cache. Also use this enum under this condition. See `SOC_SHARED_IDCACHE_SUPPORTED`. 19 } cache_type_t; 20 21 /** 22 * @brief Ibuses and Dbuses. 23 * 24 * @note 25 * These enumurations are abstract concepts. Virtual address reside in one of these buses. 26 * Therefore, use `cache_ll_l1_get_bus(cache_id, vaddr_start, len)` to convert your vaddr into buses first 27 */ 28 typedef enum { 29 CACHE_BUS_IBUS0 = BIT(0), 30 CACHE_BUS_IBUS1 = BIT(1), 31 CACHE_BUS_IBUS2 = BIT(2), 32 CACHE_BUS_DBUS0 = BIT(3), 33 CACHE_BUS_DBUS1 = BIT(4), 34 CACHE_BUS_DBUS2 = BIT(5), 35 } cache_bus_mask_t; 36 37 #ifdef __cplusplus 38 } 39 #endif 40