1 /* 2 * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #include "hal/cache_ll.h" 7 #include "hal/cache_hal.h" 8 9 static uint32_t s_cache_status[2]; 10 cache_hal_init(void)11void cache_hal_init(void) 12 { 13 //for compatibility 14 } 15 cache_hal_suspend(cache_type_t type)16void cache_hal_suspend(cache_type_t type) 17 { 18 s_cache_status[0] = cache_ll_l1_get_enabled_bus(0); 19 cache_ll_l1_disable_cache(0); 20 #if !CONFIG_FREERTOS_UNICORE 21 s_cache_status[1] = cache_ll_l1_get_enabled_bus(1); 22 cache_ll_l1_disable_cache(1); 23 #endif 24 } 25 26 cache_hal_resume(cache_type_t type)27void cache_hal_resume(cache_type_t type) 28 { 29 cache_ll_l1_enable_cache(0); 30 cache_ll_l1_enable_bus(0, s_cache_status[0]); 31 #if !CONFIG_FREERTOS_UNICORE 32 cache_ll_l1_enable_cache(1); 33 cache_ll_l1_enable_bus(1, s_cache_status[1]); 34 #endif 35 } 36 37 cache_hal_is_cache_enabled(cache_type_t type)38bool cache_hal_is_cache_enabled(cache_type_t type) 39 { 40 bool result = cache_ll_l1_is_cache_enabled(0, CACHE_TYPE_ALL); 41 #if !CONFIG_FREERTOS_UNICORE 42 result = result && cache_ll_l1_is_cache_enabled(1, CACHE_TYPE_ALL); 43 #endif 44 return result; 45 } 46