1 /* 2 * Copyright (C) 2015-2020 Alibaba Group Holding Limited 3 */ 4 #ifndef CACHE_HAL_H 5 #define CACHE_HAL_H 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #include "plat_types.h" 12 13 enum HAL_CACHE_ID_T { 14 HAL_CACHE_ID_I_CACHE = 0, 15 HAL_CACHE_ID_D_CACHE, 16 HAL_CACHE_ID_NUM, 17 }; 18 19 uint8_t hal_cache_enable(enum HAL_CACHE_ID_T id); 20 uint8_t hal_cache_disable(enum HAL_CACHE_ID_T id); 21 uint8_t hal_cache_writebuffer_enable(enum HAL_CACHE_ID_T id); 22 uint8_t hal_cache_writebuffer_disable(enum HAL_CACHE_ID_T id); 23 uint8_t hal_cache_writebuffer_flush(enum HAL_CACHE_ID_T id); 24 uint8_t hal_cache_writeback_enable(enum HAL_CACHE_ID_T id); 25 uint8_t hal_cache_writeback_disable(enum HAL_CACHE_ID_T id); 26 uint8_t hal_cache_wrap_enable(enum HAL_CACHE_ID_T id); 27 uint8_t hal_cache_wrap_disable(enum HAL_CACHE_ID_T id); 28 uint8_t hal_cache_invalidate(enum HAL_CACHE_ID_T id, uint32_t start_address, uint32_t len); 29 uint8_t hal_cache_sync(enum HAL_CACHE_ID_T id); 30 31 uint8_t hal_cachecp_enable(enum HAL_CACHE_ID_T id); 32 uint8_t hal_cachecp_disable(enum HAL_CACHE_ID_T id); 33 uint8_t hal_cachecp_writebuffer_enable(enum HAL_CACHE_ID_T id); 34 uint8_t hal_cachecp_writebuffer_disable(enum HAL_CACHE_ID_T id); 35 uint8_t hal_cachecp_writebuffer_flush(enum HAL_CACHE_ID_T id); 36 uint8_t hal_cachecp_writeback_enable(enum HAL_CACHE_ID_T id); 37 uint8_t hal_cachecp_writeback_disable(enum HAL_CACHE_ID_T id); 38 uint8_t hal_cachecp_invalidate(enum HAL_CACHE_ID_T id, uint32_t start_address, uint32_t len); 39 uint8_t hal_cachecp_sync(enum HAL_CACHE_ID_T id); 40 41 #ifdef __cplusplus 42 } 43 #endif 44 45 #endif /* CACHE_HAL_H */ 46