1 #ifndef __INC_HAL8821CWIFIONLYHWCFG_H
2 #define __INC_HAL8821CWIFIONLYHWCFG_H
5 struct rfe_type_8821c_wifi_only {
8 boolean ext_ant_switch_exist;
9 u8 ext_ant_switch_type; /* 0:DPDT, 1:SPDT */
10 u8 ext_ant_switch_ctrl_polarity; /* iF 0: DPDT_P=0, DPDT_N=1 => BTG to Main, WL_A+G to Aux */
12 boolean ant_at_main_port;
14 boolean wlg_Locate_at_btg; /* If true: WLG at BTG, If false: WLG at WLAG */
16 boolean ext_ant_switch_diversity; /* If diversity on */
19 enum bt_8821c_wifi_only_ext_ant_switch_type {
20 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_USE_DPDT = 0x0,
21 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_USE_SPDT = 0x1,
22 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_NONE = 0x2,
23 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_MAX
26 enum bt_8821c_wifi_only_ext_ant_switch_ctrl_type {
27 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_BBSW = 0x0,
28 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_PTA = 0x1,
29 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_ANTDIV = 0x2,
30 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_MAC = 0x3,
31 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_BY_BT = 0x4,
32 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_CTRL_MAX
35 enum bt_8821c_wifi_only_ext_ant_switch_pos_type {
36 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_BT = 0x0,
37 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_WLG = 0x1,
38 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_WLA = 0x2,
39 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_NOCARE = 0x3,
40 BT_8821C_WIFI_ONLY_EXT_ANT_SWITCH_TO_MAX
45 hal8821c_wifi_only_switch_antenna(
46 IN struct wifi_only_cfg *pwifionlycfg,
51 halbtc8821c_wifi_only_set_rfe_type(
52 IN struct wifi_only_cfg *pwifionlycfg
57 ex_hal8821c_wifi_only_hw_config(
58 IN struct wifi_only_cfg *pwifionlycfg
61 ex_hal8821c_wifi_only_scannotify(
62 IN struct wifi_only_cfg *pwifionlycfg,
66 ex_hal8821c_wifi_only_switchbandnotify(
67 IN struct wifi_only_cfg *pwifionlycfg,