xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852bs/phl/hal_g6/rtl8852b/sdio/rtl8852bs_hal.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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