net: wireless: rockchip_wlan: add rtl8723cs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723cs / hal / btc / halbtc8821cwifionly.h
1 #ifndef __INC_HAL8821CWIFIONLYHWCFG_H
2 #define __INC_HAL8821CWIFIONLYHWCFG_H
3
4
5 struct rfe_type_8821c_wifi_only {
6
7         u8                      rfe_module_type;
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 */
11
12         boolean         ant_at_main_port;
13
14         boolean         wlg_Locate_at_btg;                              /*  If true:  WLG at BTG, If false: WLG at WLAG */
15
16         boolean         ext_ant_switch_diversity;               /* If diversity on */
17 };
18
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
24 };
25
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
33 };
34
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
41 };
42
43
44 VOID
45 hal8821c_wifi_only_switch_antenna(
46         IN struct wifi_only_cfg *pwifionlycfg,
47         IN u1Byte  is_5g
48         );
49
50 VOID
51 halbtc8821c_wifi_only_set_rfe_type(
52         IN struct wifi_only_cfg *pwifionlycfg
53         );
54
55
56 VOID
57 ex_hal8821c_wifi_only_hw_config(
58         IN struct wifi_only_cfg *pwifionlycfg
59         );
60 VOID
61 ex_hal8821c_wifi_only_scannotify(
62         IN struct wifi_only_cfg *pwifionlycfg,
63         IN u1Byte  is_5g
64         );
65 VOID
66 ex_hal8821c_wifi_only_switchbandnotify(
67         IN struct wifi_only_cfg *pwifionlycfg,
68         IN u1Byte  is_5g
69         );
70 #endif