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