• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2022 Beken Corporation
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #pragma once
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include "hal_config.h"
22 #include "icu_hw.h"
23 #include "icu_ll.h"
24 //#include "interrupt_base.h"
25 
26 typedef struct {
27 	icu_hw_t *hw;
28 } icu_hal_t;
29 
30 bk_err_t icu_hal_init(icu_hal_t *hal);
31 
32 
33 //set/get global int
34 #define icu_hal_enable_fiq(hal) icu_ll_enable_fiq((hal)->hw)
35 #define icu_hal_disable_fiq(hal) icu_ll_disable_fiq((hal)->hw)
36 
37 #define icu_hal_enable_irq(hal) icu_ll_enable_irq((hal)->hw)
38 #define icu_hal_disable_irq(hal) icu_ll_disable_irq((hal)->hw)
39 
40 #define icu_hal_get_global_int_status(hal) icu_ll_get_int_status((hal)->hw)
41 #define icu_hal_clear_global_int_status(hal, status) icu_ll_clear_int_status((hal)->hw,status)
42 #define icu_hal_get_irq_int_status(hal) icu_ll_get_irq_int_status((hal)->hw)
43 #define icu_hal_clear_irq_int_status(hal, status) icu_ll_clear_irq_int_status((hal)->hw,status)
44 #define icu_hal_get_fiq_int_status(hal) icu_ll_get_fiq_int_status((hal)->hw)
45 #define icu_hal_clear_fiq_int_status(hal, status) icu_ll_clear_fiq_int_status((hal)->hw,status)
46 #define icu_hal_disable_all_interrupt(hal) icu_ll_disable_all_interrupt((hal)->hw)
47 #define icu_hal_enable_interrupt(hal, index) icu_ll_enable_interrupt((hal)->hw, index)
48 #define icu_hal_disable_interrupt(hal, index) icu_ll_disable_interrupt((hal)->hw, index)
49 #define icu_hal_get_uart_int_status(hal) icu_ll_get_uart_int_status((hal)->hw)
50 
51 //enable/disable intterrupt
52 #define icu_hal_enable_uart_interrupt(hal, id) icu_ll_enable_uart_interrupt((hal)->hw, id)
53 #define icu_hal_disable_uart_interrupt(hal, id) icu_ll_disable_uart_interrupt((hal)->hw, id)
54 
55 #define icu_hal_enable_i2c_interrupt(hal, id) icu_ll_enable_i2c_interrupt((hal)->hw, id)
56 #define icu_hal_disable_i2c_interrupt(hal, id) icu_ll_disable_i2c_interrupt((hal)->hw, id)
57 
58 #define icu_hal_enable_irda_interrupt(hal) icu_ll_enable_irda_interrupt((hal)->hw)
59 #define icu_hal_disable_irda_interrupt(hal) icu_ll_disable_irda_interrupt((hal)->hw)
60 
61 #define icu_hal_enable_i2s_interrupt(hal) icu_ll_enable_i2s_interrupt((hal)->hw)
62 #define icu_hal_disable_i2s_interrupt(hal) icu_ll_disable_i2s_interrupt((hal)->hw)
63 
64 #define icu_hal_enable_spi_interrupt(hal, id) icu_ll_enable_spi_interrupt((hal)->hw, id)
65 #define icu_hal_disable_spi_interrupt(hal, id) icu_ll_disable_spi_interrupt((hal)->hw, id)
66 
67 #define icu_hal_enable_gpio_interrupt(hal) icu_ll_enable_gpio_interrupt((hal)->hw)
68 #define icu_hal_disable_gpio_interrupt(hal) icu_ll_disable_gpio_interrupt((hal)->hw)
69 
70 #define icu_hal_enable_timer_interrupt(hal) icu_ll_enable_timer_interrupt((hal)->hw)
71 #define icu_hal_disable_timer_interrupt(hal) icu_ll_disable_timer_interrupt((hal)->hw)
72 
73 #define icu_hal_enable_pwm_interrupt(hal) icu_ll_enable_pwm_interrupt((hal)->hw)
74 #define icu_hal_disable_pwm_interrupt(hal) icu_ll_disable_pwm_interrupt((hal)->hw)
75 #define icu_hal_enable_pwm2_interrupt(hal) icu_ll_enable_pwm2_interrupt((hal)->hw)
76 #define icu_hal_disable_pwm2_interrupt(hal) icu_ll_disable_pwm2_interrupt((hal)->hw)
77 
78 #define icu_hal_enable_audio_interrupt(hal) icu_ll_enable_audio_interrupt((hal)->hw)
79 #define icu_hal_disable_audio_interrupt(hal) icu_ll_disable_audio_interrupt((hal)->hw)
80 
81 #define icu_hal_enable_saradc_interrupt(hal) icu_ll_enable_saradc_interrupt((hal)->hw)
82 #define icu_hal_disable_saradc_interrupt(hal) icu_ll_disable_saradc_interrupt((hal)->hw)
83 
84 #define icu_hal_enable_sdio_interrupt(hal) icu_ll_enable_sdio_interrupt((hal)->hw)
85 #define icu_hal_disable_sdio_interrupt(hal) icu_ll_disable_sdio_interrupt((hal)->hw)
86 
87 #define icu_hal_enable_usb_interrupt(hal, id) icu_ll_enable_usb_interrupt((hal)->hw, id)
88 #define icu_hal_disable_usb_interrupt(hal, id) icu_ll_disable_usb_interrupt((hal)->hw, id)
89 
90 #define icu_hal_enable_fft_interrupt(hal) icu_ll_enable_fft_interrupt((hal)->hw)
91 #define icu_hal_disable_fft_interrupt(hal) icu_ll_disable_fft_interrupt((hal)->hw)
92 
93 #define icu_hal_enable_dma_interrupt(hal) icu_ll_enable_dma_interrupt((hal)->hw)
94 #define icu_hal_disable_dma_interrupt(hal) icu_ll_disable_dma_interrupt((hal)->hw)
95 
96 #define icu_hal_enable_modem_interrupt(hal) icu_ll_enable_modem_interrupt((hal)->hw)
97 #define icu_hal_disable_modem_interrupt(hal) icu_ll_disable_modem_interrupt((hal)->hw)
98 
99 #define icu_hal_enable_mac_txrx_timer_interrupt(hal) icu_ll_enable_mac_txrx_timer_interrupt((hal)->hw)
100 #define icu_hal_disable_mac_txrx_timer_interrupt(hal) icu_ll_disable_mac_txrx_timer_interrupt((hal)->hw)
101 
102 #define icu_hal_enable_mac_txrx_misc_interrupt(hal) icu_ll_enable_mac_txrx_misc_interrupt((hal)->hw)
103 #define icu_hal_disable_mac_txrx_misc_interrupt(hal) icu_ll_disable_mac_txrx_misc_interrupt((hal)->hw)
104 
105 #define icu_hal_enable_mac_rx_trigger_interrupt(hal) icu_ll_enable_mac_rx_trigger_interrupt((hal)->hw)
106 #define icu_hal_disable_mac_rx_trigger_interrupt(hal) icu_ll_disable_mac_rx_trigger_interrupt((hal)->hw)
107 #define icu_hal_enable_mac_tx_trigger_interrupt(hal) icu_ll_enable_mac_tx_trigger_interrupt((hal)->hw)
108 #define icu_hal_disable_mac_tx_trigger_interrupt(hal) icu_ll_disable_mac_tx_trigger_interrupt((hal)->hw)
109 
110 #define icu_hal_enable_mac_prot_trigger_interrupt(hal) icu_ll_enable_mac_prot_trigger_interrupt((hal)->hw)
111 #define icu_hal_disable_mac_prot_trigger_interrupt(hal) icu_ll_disable_mac_prot_trigger_interrupt((hal)->hw)
112 
113 #define icu_hal_enable_mac_general_interrupt(hal) icu_ll_enable_mac_general_interrupt((hal)->hw)
114 #define icu_hal_disable_mac_general_interrupt(hal) icu_ll_disable_mac_general_interrupt((hal)->hw)
115 
116 #define icu_hal_enable_sdio_dma_interrupt(hal) icu_ll_enable_sdio_dma_interrupt((hal)->hw)
117 #define icu_hal_disable_sdio_dma_interrupt(hal) icu_ll_disable_sdio_dma_interrupt((hal)->hw)
118 
119 #define icu_hal_enable_usb_plug_interrupt(hal) icu_ll_enable_usb_plug_interrupt((hal)->hw)
120 #define icu_hal_disable_usb_plug_interrupt(hal) icu_ll_disable_usb_plug_interrupt((hal)->hw)
121 
122 #define icu_hal_enable_security_interrupt(hal) icu_ll_enable_security_interrupt((hal)->hw)
123 #define icu_hal_disable_security_interrupt(hal) icu_ll_disable_security_interrupt((hal)->hw)
124 
125 #define icu_hal_enable_mac_wakeup_interrupt(hal) icu_ll_enable_mac_wakeup_interrupt((hal)->hw)
126 #define icu_hal_disable_mac_wakeup_interrupt(hal) icu_ll_disable_mac_wakeup_interrupt((hal)->hw)
127 
128 #define icu_hal_enable_hsspi_slave_interrupt(hal) icu_ll_enable_hsspi_slave_interrupt((hal)->hw)
129 #define icu_hal_disable_hsspi_slave_interrupt(hal) icu_ll_disable_hsspi_slave_interrupt((hal)->hw)
130 
131 #define icu_hal_enable_dpll_unlock_interrupt(hal) icu_ll_enable_pll_unlock_interrupt((hal)->hw)
132 #define icu_hal_disable_dpll_unlock_interrupt(hal) icu_ll_disable_pll_unlock_interrupt((hal)->hw)
133 
134 #define icu_hal_enable_jpeg_interrupt(hal) icu_ll_enable_jpeg_interrupt((hal)->hw)
135 #define icu_hal_disable_jpeg_interrupt(hal) icu_ll_disable_jpeg_interrupt((hal)->hw)
136 
137 #define icu_hal_enable_ble_interrupt(hal) icu_ll_enable_ble_interrupt((hal)->hw)
138 #define icu_hal_disable_ble_interrupt(hal) icu_ll_disable_ble_interrupt((hal)->hw)
139 
140 #define icu_hal_enable_psram_interrupt(hal) icu_ll_enable_psram_interrupt((hal)->hw)
141 #define icu_hal_disable_psram_interrupt(hal) icu_ll_disable_psram_interrupt((hal)->hw)
142 
143 #define icu_hal_enable_la_interrupt(hal) icu_ll_enable_la_interrupt((hal)->hw)
144 #define icu_hal_disable_la_interrupt(hal) icu_ll_disable_la_interrupt((hal)->hw)
145 #define icu_hal_enable_btdm_interrupt(hal) icu_ll_enable_btdm_interrupt((hal)->hw)
146 #define icu_hal_disable_btdm_interrupt(hal) icu_ll_disable_btdm_interrupt((hal)->hw)
147 #define icu_hal_enable_bt_interrupt(hal) icu_ll_enable_bt_interrupt((hal)->hw)
148 #define icu_hal_disable_bt_interrupt(hal) icu_ll_disable_bt_interrupt((hal)->hw)
149 
150 #define icu_hal_enable_mailbox_dsp_interrupt(hal) icu_ll_enable_mailbox_dsp_interrupt((hal)->hw)
151 #define icu_hal_disable_mailbox_dsp_interrupt(hal) icu_ll_disable_mailbox_dsp_interrupt((hal)->hw)
152 #define icu_hal_enable_mailbox_bt_interrupt(hal) icu_ll_enable_mailbox_bt_interrupt((hal)->hw)
153 #define icu_hal_disable_mailbox_bt_interrupt(hal) icu_ll_disable_mailbox_bt_interrupt((hal)->hw)
154 #define icu_hal_enable_cec_interrupt(hal) icu_ll_enable_cec_interrupt((hal)->hw)
155 #define icu_hal_disable_cec_interrupt(hal) icu_ll_disable_cec_interrupt((hal)->hw)
156 #define icu_hal_enable_touch_interrupt(hal) icu_ll_enable_touch_interrupt((hal)->hw)
157 #define icu_hal_disable_touch_interrupt(hal) icu_ll_disable_touch_interrupt((hal)->hw)
158 #define icu_hal_enable_rtc_interrupt(hal) icu_ll_enable_rtc_interrupt((hal)->hw)
159 #define icu_hal_disable_rtc_interrupt(hal) icu_ll_disable_rtc_interrupt((hal)->hw)
160 #define icu_hal_enable_dsp_wdt_interrupt(hal) icu_ll_enable_dsp_wdt_interrupt((hal)->hw)
161 #define icu_hal_disable_dsp_wdt_interrupt(hal) icu_ll_disable_dsp_wdt_interrupt((hal)->hw)
162 #define icu_hal_enable_bt_wdt_interrupt(hal) icu_ll_enable_bt_wdt_interrupt((hal)->hw)
163 #define icu_hal_disable_bt_wdt_interrupt(hal) icu_ll_disable_bt_wdt_interrupt((hal)->hw)
164 
165 
166 //get peripheral intterrupt bit in icu and priority
167 #define icu_hal_is_pwm_has_two_int(hal) icu_ll_is_pwm_has_two_int((hal)->hw)
168 
169 
170 //enable/disable arm wakeup
171 #define icu_hal_enable_uart_arm_wakeup(hal, id) icu_ll_enable_uart_arm_wakeup((hal)->hw, id)
172 #define icu_hal_disable_uart_arm_wakeup(hal, id) icu_ll_disable_uart_arm_wakeup((hal)->hw. id)
173 
174 #define icu_hal_enable_i2c_arm_wakeup(hal, id) icu_ll_enable_i2c_arm_wakeup((hal)->hw, id)
175 #define icu_hal_disable_i2c_arm_wakeup(hal, id) icu_ll_disable_i2c_arm_wakeup((hal)->hw. id)
176 
177 #define icu_hal_enable_irda_arm_wakeup(hal) icu_ll_enable_irda_arm_wakeup((hal)->hw)
178 #define icu_hal_disable_irda_arm_wakeup(hal) icu_ll_disable_irda_arm_wakeup((hal)->hw)
179 
180 #define icu_hal_enable_i2s_arm_wakeup(hal) icu_ll_enable_i2s_arm_wakeup((hal)->hw)
181 #define icu_hal_disable_i2s_arm_wakeup(hal) icu_ll_disable_i2s_arm_wakeup((hal)->hw)
182 
183 #define icu_hal_enable_spi_arm_wakeup(hal, id) icu_ll_enable_spi_arm_wakeup((hal)->hw, id)
184 #define icu_hal_disable_spi_arm_wakeup(hal, id) icu_ll_disable_spi_arm_wakeup((hal)->hw, id)
185 
186 #define icu_hal_enable_gpio_arm_wakeup(hal) icu_ll_enable_gpio_arm_wakeup((hal)->hw)
187 #define icu_hal_disable_gpio_arm_wakeup(hal) icu_ll_disable_gpio_arm_wakeup((hal)->hw)
188 
189 #define icu_hal_enable_timer_arm_wakeup(hal) icu_ll_enable_timer_arm_wakeup((hal)->hw)
190 #define icu_hal_disable_timer_arm_wakeup(hal) icu_ll_disable_timer_arm_wakeup((hal)->hw)
191 
192 #define icu_hal_enable_pwm_arm_wakeup(hal) icu_ll_enable_pwm_arm_wakeup((hal)->hw)
193 #define icu_hal_disable_pwm_arm_wakeup(hal) icu_ll_disable_pwm_arm_wakeup((hal)->hw)
194 
195 
196 #define icu_hal_enable_audio_arm_wakeup(hal) icu_ll_enable_audio_arm_wakeup((hal)->hw)
197 #define icu_hal_disable_audio_arm_wakeup(hal) icu_ll_disable_audio_arm_wakeup((hal)->hw)
198 
199 #define icu_hal_enable_saradc_arm_wakeup(hal) icu_ll_enable_saradc_arm_wakeup((hal)->hw)
200 #define icu_hal_disable_saradc_arm_wakeup(hal) icu_ll_disable_saradc_arm_wakeup((hal)->hw)
201 
202 #define icu_hal_enable_sdio_arm_wakeup(hal) icu_ll_enable_sdio_arm_wakeup((hal)->hw)
203 #define icu_hal_disable_sdio_arm_wakeup(hal) icu_ll_disable_sdio_arm_wakeup((hal)->hw)
204 
205 #define icu_hal_enable_usb_arm_wakeup(hal, id) icu_ll_enable_usb_arm_wakeup((hal)->hw, id)
206 #define icu_hal_disable_usb_arm_wakeup(hal, id) icu_ll_disable_usb_arm_wakeup((hal)->hw. id)
207 
208 #define icu_hal_enable_fft_arm_wakeup(hal) icu_ll_enable_fft_arm_wakeup((hal)->hw)
209 #define icu_hal_disable_fft_arm_wakeup(hal) icu_ll_disable_fft_arm_wakeup((hal)->hw)
210 
211 #define icu_hal_enable_dma_arm_wakeup(hal) icu_ll_enable_dma_arm_wakeup((hal)->hw)
212 #define icu_hal_disable_dma_arm_wakeup(hal) icu_ll_disable_dma_arm_wakeup((hal)->hw)
213 
214 #define icu_hal_enable_modem_arm_wakeup(hal) icu_ll_enable_modem_arm_wakeup((hal)->hw)
215 #define icu_hal_disable_modem_arm_wakeup(hal) icu_ll_disable_modem_arm_wakeup((hal)->hw)
216 
217 #define icu_hal_enable_mac_txrx_timer_arm_wakeup(hal) icu_ll_enable_mac_txrx_timer_arm_wakeup((hal)->hw)
218 #define icu_hal_disable_mac_txrx_timer_arm_wakeup(hal) icu_ll_disable_mac_txrx_timer_arm_wakeup((hal)->hw)
219 
220 #define icu_hal_enable_mac_txrx_misc_arm_wakeup(hal) icu_ll_enable_mac_txrx_misc_arm_wakeup((hal)->hw)
221 #define icu_hal_disable_mac_txrx_misc_arm_wakeup(hal) icu_ll_disable_mac_txrx_misc_arm_wakeup((hal)->hw)
222 
223 #define icu_hal_enable_mac_rx_trigger_arm_wakeup(hal) icu_ll_enable_mac_rx_trigger_arm_wakeup((hal)->hw)
224 #define icu_hal_disable_mac_rx_trigger_arm_wakeup(hal) icu_ll_disable_mac_rx_trigger_arm_wakeup((hal)->hw)
225 
226 #define icu_hal_enable_mac_tx_trigger_arm_wakeup(hal) icu_ll_enable_mac_tx_trigger_arm_wakeup((hal)->hw)
227 #define icu_hal_disable_mac_tx_trigger_arm_wakeup(hal) icu_ll_disable_mac_tx_trigger_arm_wakeup((hal)->hw)
228 
229 #define icu_hal_enable_mac_prot_trigger_arm_wakeup(hal) icu_ll_enable_mac_prot_trigger_arm_wakeup((hal)->hw)
230 #define icu_hal_disable_mac_prot_trigger_arm_wakeup(hal) icu_ll_disable_mac_prot_trigger_arm_wakeup((hal)->hw)
231 
232 #define icu_hal_enable_mac_general_arm_wakeup(hal) icu_ll_enable_mac_general_arm_wakeup((hal)->hw)
233 #define icu_hal_disable_mac_general_arm_wakeup(hal) icu_ll_disable_mac_general_arm_wakeup((hal)->hw)
234 
235 #define icu_hal_enable_sdio_dma_arm_wakeup(hal) icu_ll_enable_sdio_dma_arm_wakeup((hal)->hw)
236 #define icu_hal_disable_sdio_dma_arm_wakeup(hal) icu_ll_disable_sdio_dma_arm_wakeup((hal)->hw)
237 
238 #define icu_hal_enable_usb_plug_arm_wakeup(hal) icu_ll_enable_usb_plug_arm_wakeup((hal)->hw)
239 #define icu_hal_disable_usb_plug_arm_wakeup(hal) icu_ll_disable_usb_plug_arm_wakeup((hal)->hw)
240 
241 #define icu_hal_enable_security_arm_wakeup(hal) icu_ll_enable_security_arm_wakeup((hal)->hw)
242 #define icu_hal_disable_security_arm_wakeup(hal) icu_ll_disable_security_arm_wakeup((hal)->hw)
243 
244 #define icu_hal_enable_mac_wakeup_arm_wakeup(hal) icu_ll_enable_mac_arm_wakeup((hal)->hw)
245 #define icu_hal_disable_mac_wakeup_arm_wakeup(hal) icu_ll_disable_mac_arm_wakeup((hal)->hw)
246 
247 #define icu_hal_enable_hsspi_slave_arm_wakeup(hal) icu_ll_enable_hsspi_slave_arm_wakeup((hal)->hw)
248 #define icu_hal_disable_hsspi_slave_arm_wakeup(hal) icu_ll_disable_hsspi_slave_arm_wakeup((hal)->hw)
249 
250 #define icu_hal_enable_jpeg_arm_wakeup(hal) icu_ll_enable_jpeg_arm_wakeup((hal)->hw)
251 #define icu_hal_disable_jpeg_arm_wakeup(hal) icu_ll_disable_jpeg_arm_wakeup((hal)->hw)
252 
253 #define icu_hal_enable_ble_arm_wakeup(hal) icu_ll_enable_ble_arm_wakeup((hal)->hw)
254 #define icu_hal_disable_ble_arm_wakeup(hal) icu_ll_disable_ble_arm_wakeup((hal)->hw)
255 
256 #define icu_hal_enable_psram_arm_wakeup(hal) icu_ll_enable_psram_arm_wakeup((hal)->hw)
257 #define icu_hal_disable_psram_arm_wakeup(hal) icu_ll_disable_psram_arm_wakeup((hal)->hw)
258 
259 #define icu_hal_enable_la_arm_wakeup(hal) icu_ll_enable_la_arm_wakeup((hal)->hw)
260 #define icu_hal_disable_la_arm_wakeup(hal) icu_ll_disable_la_arm_wakeup((hal)->hw)
261 #define icu_hal_enable_dpll_unlock_arm_wakeup(hal) icu_ll_enable_pll_unlock_arm_wakeup((hal)->hw)
262 #define icu_hal_disable_dpll_unlock_arm_wakeup(hal) icu_ll_disable_pll_unlock_arm_wakeup((hal)->hw)
263 #define icu_hal_enable_btdm_arm_wakeup(hal) icu_ll_enable_btdm_arm_wakeup((hal)->hw)
264 #define icu_hal_disable_btdm_arm_wakeup(hal) icu_ll_disable_btdm_arm_wakeup((hal)->hw)
265 #define icu_hal_enable_bt_arm_wakeup(hal) icu_ll_enable_bt_arm_wakeup((hal)->hw)
266 #define icu_hal_disable_bt_arm_wakeup(hal) icu_ll_disable_bt_arm_wakeup((hal)->hw)
267 
268 #define icu_hal_enable_mailbox_dsp_arm_wakeup(hal) icu_ll_enable_mailbox_dsp_arm_wakeup((hal)->hw)
269 #define icu_hal_disable_mailbox_dsp_arm_wakeup(hal) icu_ll_disable_mailbox_dsp_arm_wakeup((hal)->hw)
270 #define icu_hal_enable_mailbox_bt_arm_wakeup(hal) icu_ll_enable_mailbox_bt_arm_wakeup((hal)->hw)
271 #define icu_hal_disable_mailbox_bt_arm_wakeup(hal) icu_ll_disable_mailbox_bt_arm_wakeup((hal)->hw)
272 #define icu_hal_enable_cec_arm_wakeup(hal) icu_ll_enable_cec_arm_wakeup((hal)->hw)
273 #define icu_hal_disable_cec_arm_wakeup(hal) icu_ll_disable_cec_arm_wakeup((hal)->hw)
274 #define icu_hal_enable_touch_arm_wakeup(hal) icu_ll_enable_touch_arm_wakeup((hal)->hw)
275 #define icu_hal_disable_touch_arm_wakeup(hal) icu_ll_disable_touch_arm_wakeup((hal)->hw)
276 #define icu_hal_enable_rtc_arm_wakeup(hal) icu_ll_enable_rtc_arm_wakeup((hal)->hw)
277 #define icu_hal_disable_rtc_arm_wakeup(hal) icu_ll_disable_rtc_arm_wakeup((hal)->hw)
278 #define icu_hal_enable_dsp_wdt_arm_wakeup(hal) icu_ll_enable_dsp_wdt_arm_wakeup((hal)->hw)
279 #define icu_hal_disable_dsp_wdt_arm_wakeup(hal) icu_ll_disable_dsp_wdt_arm_wakeup((hal)->hw)
280 #define icu_hal_enable_bt_wdt_arm_wakeup(hal) icu_ll_enable_bt_wdt_arm_wakeup((hal)->hw)
281 #define icu_hal_disable_bt_wdt_arm_wakeup(hal) icu_ll_disable_bt_wdt_arm_wakeup((hal)->hw)
282 
283 #if (CONFIG_SOC_BK7271)
284 #define icu_hal_set_gpio_perial_mode(hal, index, mode) icu_ll_set_gpio_perial_mode((hal)->hw, index, mode)
285 #define icu_hal_get_gpio_perial_mode(hal, index) icu_ll_get_gpio_perial_mode((hal)->hw, index)
286 #define icu_hal_uart2_gpio_sel(hal, mode) icu_ll_uart2_gpio_sel((hal)->hw,mode)
287 #define icu_hal_spi3_gpio_sel(hal, mode) icu_ll_spi3_gpio_sel((hal)->hw,mode)
288 #define icu_hal_sdio_gpio_sel(hal, mode) icu_ll_sdio_gpio_sel((hal)->hw,mode)
289 #define icu_hal_sdio_host_enable(hal) icu_ll_sdio_host_enable((hal)->hw)
290 #define icu_hal_sdio_dma_enable(hal) icu_ll_sdio_dma_enable((hal)->hw)
291 #define icu_hal_pwms_gpio_sel(hal, channel, mode) icu_ll_pwms_gpio_sel((hal)->hw, channel, mode)
292 #define icu_hal_spdif_gpio_sel(hal, mode) icu_ll_spdif_gpio_sel((hal)->hw,mode)
293 #endif
294 
295 #define icu_hal_set_jtag_wr_arm(hal)	icu_ll_set_jtag_wr_arm((hal)->hw)
296 #define icu_hal_set_jtag_rd_arm(hal)	icu_ll_set_jtag_rd_arm((hal)->hw)
297 
298 #define icu_hal_set_jtag_wr_tl410(hal)	icu_ll_set_jtag_wr_tl410((hal)->hw)
299 #define icu_hal_set_jtag_rd_tl410(hal)	icu_ll_set_jtag_rd_tl410((hal)->hw)
300 
301 #if CONFIG_SOC_BK7236A
302 #define icu_hal_enable_modem_rc_interrupt(hal) icu_ll_enable_modem_rc_interrupt((hal)->hw)
303 #define icu_hal_disable_modem_rc_interrupt(hal) icu_ll_disable_modem_rc_interrupt((hal)->hw)
304 #define icu_hal_enable_mac_hsu_interrupt(hal) icu_ll_enable_mac_hsu_interrupt((hal)->hw)
305 #define icu_hal_disable_mac_hsu_interrupt(hal) icu_ll_disable_mac_hsu_interrupt((hal)->hw)
306 #endif
307 
308 /**< wdt */
309 #define icu_hal_pwr_up_wdt(hal) icu_ll_pwr_up_wdt((hal)->hw)
310 #define icu_hal_pwr_down_wdt(hal) icu_ll_pwr_down_wdt((hal)->hw)
311 
312 #if CFG_HAL_DEBUG_ICU
313 void icu_struct_dump(void);
314 #else
315 #define icu_struct_dump()
316 #endif
317 
318 #ifdef __cplusplus
319 }
320 #endif
321