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