1 /****************************************************************************** 2 * 3 * Copyright(c) 2019 Realtek Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 *****************************************************************************/ 15 #ifndef _RTL8852BS_HAL_H_ 16 #define _RTL8852BS_HAL_H_ 17 /* rtl8852bs_halinit.c */ 18 void init_hal_spec_8852bs(struct rtw_phl_com_t *phl_com, 19 struct hal_info_t *hal); 20 enum rtw_hal_status hal_get_efuse_8852bs(struct rtw_phl_com_t *phl_com, 21 struct hal_info_t *hal); 22 23 enum rtw_hal_status hal_init_8852bs(struct rtw_phl_com_t *phl_com, 24 struct hal_info_t *hal); 25 void hal_deinit_8852bs(struct rtw_phl_com_t *phl_com, 26 struct hal_info_t *hal); 27 28 enum rtw_hal_status hal_start_8852bs(struct rtw_phl_com_t *phl_com, 29 struct hal_info_t *hal); 30 enum rtw_hal_status hal_stop_8852bs(struct rtw_phl_com_t *phl_com, 31 struct hal_info_t *hal); 32 #ifdef CONFIG_WOWLAN 33 enum rtw_hal_status hal_wow_init_8852bs(struct rtw_phl_com_t *phl_com, struct hal_info_t *hal, struct rtw_phl_stainfo_t *sta); 34 enum rtw_hal_status hal_wow_deinit_8852bs(struct rtw_phl_com_t *phl_com, struct hal_info_t *hal, struct rtw_phl_stainfo_t *sta); 35 #endif /* CONFIG_WOWLAN */ 36 37 enum rtw_hal_status hal_mp_init_8852bs(struct rtw_phl_com_t *phl_com, struct hal_info_t *hal); 38 enum rtw_hal_status hal_mp_deinit_8852bs(struct rtw_phl_com_t *phl_com, struct hal_info_t *hal); 39 40 u32 hal_hci_cfg_8852bs(struct rtw_phl_com_t *phl_com, 41 struct hal_info_t *hal, struct rtw_ic_info *ic_info); 42 void init_default_value_8852bs(struct hal_info_t *hal, struct hal_intr_mask_cfg *cfg); 43 void sd_int_hdl_8852bs(void *h); 44 45 void hal_enable_int_8852bs(struct hal_info_t *hal); 46 void hal_disable_int_8852bs(struct hal_info_t *hal); 47 void hal_config_int_8852bs(struct hal_info_t *hal, enum rtw_phl_config_int int_mode); 48 bool hal_recognize_int_8852bs(struct hal_info_t *hal); 49 bool hal_recognize_halt_c2h_int_8852bs(struct hal_info_t *hal); 50 void hal_clear_interrupt_8852bs(struct hal_info_t *hal); 51 u32 hal_int_hdler_8852bs(struct hal_info_t *hal); 52 53 54 #endif /* _RTL8852BS_HAL_H_ */ 55