1 #ifndef _BFLB_L1C_H 2 #define _BFLB_L1C_H 3 4 #include "bflb_core.h" 5 6 /** @addtogroup LHAL 7 * @{ 8 */ 9 10 /** @addtogroup L1C 11 * @{ 12 */ 13 14 /** 15 * @brief 16 * 17 */ 18 void bflb_l1c_icache_enable(void); 19 20 /** 21 * @brief 22 * 23 */ 24 void bflb_l1c_icache_disable(void); 25 26 /** 27 * @brief 28 * 29 */ 30 void bflb_l1c_icache_invalid_all(void); 31 32 /** 33 * @brief 34 * 35 */ 36 void bflb_l1c_dcache_enable(void); 37 38 /** 39 * @brief 40 * 41 */ 42 void bflb_l1c_dcache_disable(void); 43 44 /** 45 * @brief 46 * 47 */ 48 void bflb_l1c_dcache_clean_all(void); 49 50 /** 51 * @brief 52 * 53 */ 54 void bflb_l1c_dcache_invalidate_all(void); 55 56 /** 57 * @brief 58 * 59 */ 60 void bflb_l1c_dcache_clean_invalidate_all(void); 61 62 /** 63 * @brief 64 * 65 * @param [in] addr 66 * @param [in] size 67 */ 68 void bflb_l1c_dcache_clean_range(void *addr, uint32_t size); 69 70 /** 71 * @brief 72 * 73 * @param [in] addr 74 * @param [in] size 75 */ 76 void bflb_l1c_dcache_invalidate_range(void *addr, uint32_t size); 77 78 /** 79 * @brief 80 * 81 * @param [in] addr 82 * @param [in] size 83 */ 84 void bflb_l1c_dcache_clean_invalidate_range(void *addr, uint32_t size); 85 86 void bflb_l1c_hit_count_get(uint32_t *hit_count_low, uint32_t *hit_count_high); 87 uint32_t bflb_l1c_miss_count_get(void); 88 void bflb_l1c_cache_write_set(uint8_t wt_en, uint8_t wb_en, uint8_t wa_en); 89 90 /** 91 * @} 92 */ 93 94 /** 95 * @} 96 */ 97 98 #endif