net: wireless: rockchip_wlan: add rtl8723bs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bs / hal / btc / HalBtc8192d2Ant.h
1 //===========================================\r
2 // The following is for 8192D 2Ant BT Co-exist definition\r
3 //===========================================\r
4 #define         BTC_RSSI_COEX_THRESH_TOL_8192D_2ANT             6\r
5 \r
6 typedef enum _BT_INFO_SRC_8192D_2ANT{\r
7         BT_INFO_SRC_8192D_2ANT_WIFI_FW                  = 0x0,\r
8         BT_INFO_SRC_8192D_2ANT_BT_RSP                           = 0x1,\r
9         BT_INFO_SRC_8192D_2ANT_BT_ACTIVE_SEND           = 0x2,\r
10         BT_INFO_SRC_8192D_2ANT_MAX\r
11 }BT_INFO_SRC_8192D_2ANT,*PBT_INFO_SRC_8192D_2ANT;\r
12 \r
13 typedef enum _BT_8192D_2ANT_BT_STATUS{\r
14         BT_8192D_2ANT_BT_STATUS_IDLE                            = 0x0,\r
15         BT_8192D_2ANT_BT_STATUS_CONNECTED_IDLE  = 0x1,\r
16         BT_8192D_2ANT_BT_STATUS_NON_IDLE                        = 0x2,\r
17         BT_8192D_2ANT_BT_STATUS_MAX\r
18 }BT_8192D_2ANT_BT_STATUS,*PBT_8192D_2ANT_BT_STATUS;\r
19 \r
20 typedef enum _BT_8192D_2ANT_COEX_ALGO{\r
21         BT_8192D_2ANT_COEX_ALGO_UNDEFINED                       = 0x0,\r
22         BT_8192D_2ANT_COEX_ALGO_SCO                                     = 0x1,\r
23         BT_8192D_2ANT_COEX_ALGO_HID                                     = 0x2,\r
24         BT_8192D_2ANT_COEX_ALGO_A2DP                            = 0x3,\r
25         BT_8192D_2ANT_COEX_ALGO_PAN                                     = 0x4,\r
26         BT_8192D_2ANT_COEX_ALGO_HID_A2DP                        = 0x5,\r
27         BT_8192D_2ANT_COEX_ALGO_HID_PAN                         = 0x6,\r
28         BT_8192D_2ANT_COEX_ALGO_PAN_A2DP                        = 0x7,\r
29         BT_8192D_2ANT_COEX_ALGO_MAX\r
30 }BT_8192D_2ANT_COEX_ALGO,*PBT_8192D_2ANT_COEX_ALGO;\r
31 \r
32 typedef struct _COEX_DM_8192D_2ANT{\r
33         // fw mechanism\r
34         BOOLEAN         bPreBalanceOn;\r
35         BOOLEAN         bCurBalanceOn;\r
36 \r
37         // diminishWifi\r
38         BOOLEAN         bPreDacOn;\r
39         BOOLEAN         bCurDacOn;\r
40         BOOLEAN         bPreInterruptOn;\r
41         BOOLEAN         bCurInterruptOn;\r
42         u1Byte          preFwDacSwingLvl;\r
43         u1Byte          curFwDacSwingLvl;\r
44         BOOLEAN         bPreNavOn;\r
45         BOOLEAN         bCurNavOn;\r
46 \r
47 \r
48         \r
49 \r
50         \r
51         //BOOLEAN               bPreDecBtPwr;\r
52         //BOOLEAN               bCurDecBtPwr;\r
53 \r
54         //u1Byte                preFwDacSwingLvl;\r
55         //u1Byte                curFwDacSwingLvl;\r
56         //BOOLEAN               bCurIgnoreWlanAct;\r
57         //BOOLEAN               bPreIgnoreWlanAct;\r
58         //u1Byte                prePsTdma;\r
59         //u1Byte                curPsTdma;\r
60         //u1Byte                psTdmaPara[5];\r
61         //u1Byte                psTdmaDuAdjType;\r
62         //BOOLEAN               bResetTdmaAdjust;\r
63         //BOOLEAN               bPrePsTdmaOn;\r
64         //BOOLEAN               bCurPsTdmaOn;\r
65         //BOOLEAN               bPreBtAutoReport;\r
66         //BOOLEAN               bCurBtAutoReport;\r
67 \r
68         // sw mechanism\r
69         BOOLEAN         bPreRfRxLpfShrink;\r
70         BOOLEAN         bCurRfRxLpfShrink;\r
71         u4Byte          btRf0x1eBackup;\r
72         BOOLEAN         bPreLowPenaltyRa;\r
73         BOOLEAN         bCurLowPenaltyRa;\r
74         BOOLEAN         bPreDacSwingOn;\r
75         u4Byte          preDacSwingLvl;\r
76         BOOLEAN         bCurDacSwingOn;\r
77         u4Byte          curDacSwingLvl;\r
78         BOOLEAN         bPreAdcBackOff;\r
79         BOOLEAN         bCurAdcBackOff;\r
80         BOOLEAN         bPreAgcTableEn;\r
81         BOOLEAN         bCurAgcTableEn;\r
82         //u4Byte                preVal0x6c0;\r
83         //u4Byte                curVal0x6c0;\r
84         u4Byte          preVal0x6c4;\r
85         u4Byte          curVal0x6c4;\r
86         u4Byte          preVal0x6c8;\r
87         u4Byte          curVal0x6c8;\r
88         u4Byte          preVal0x6cc;\r
89         u4Byte          curVal0x6cc;\r
90         //BOOLEAN               bLimitedDig;\r
91 \r
92         // algorithm related\r
93         u1Byte          preAlgorithm;\r
94         u1Byte          curAlgorithm;\r
95         //u1Byte                btStatus;\r
96         //u1Byte                wifiChnlInfo[3];\r
97 } COEX_DM_8192D_2ANT, *PCOEX_DM_8192D_2ANT;\r
98 \r
99 typedef struct _COEX_STA_8192D_2ANT{\r
100         u1Byte                                  preWifiRssiState[4];\r
101         BOOLEAN                                 bBtBusy;\r
102         BOOLEAN                                 bBtUplink;\r
103         BOOLEAN                                 bBtDownLink;\r
104         BOOLEAN                                 bA2dpBusy;\r
105 }COEX_STA_8192D_2ANT, *PCOEX_STA_8192D_2ANT;\r
106 \r
107 //===========================================\r
108 // The following is interface which will notify coex module.\r
109 //===========================================\r
110 VOID\r
111 EXhalbtc8192d2ant_PowerOnSetting(\r
112         IN      PBTC_COEXIST            pBtCoexist\r
113         );\r
114 VOID\r
115 EXhalbtc8192d2ant_InitHwConfig(\r
116         IN      PBTC_COEXIST            pBtCoexist,\r
117         IN      BOOLEAN                         bWifiOnly\r
118         );\r
119 VOID\r
120 EXhalbtc8192d2ant_InitCoexDm(\r
121         IN      PBTC_COEXIST            pBtCoexist\r
122         );\r
123 VOID\r
124 EXhalbtc8192d2ant_IpsNotify(\r
125         IN      PBTC_COEXIST            pBtCoexist,\r
126         IN      u1Byte                  type\r
127         );\r
128 VOID\r
129 EXhalbtc8192d2ant_LpsNotify(\r
130         IN      PBTC_COEXIST            pBtCoexist,\r
131         IN      u1Byte                  type\r
132         );\r
133 VOID\r
134 EXhalbtc8192d2ant_ScanNotify(\r
135         IN      PBTC_COEXIST            pBtCoexist,\r
136         IN      u1Byte                  type\r
137         );\r
138 VOID\r
139 EXhalbtc8192d2ant_ConnectNotify(\r
140         IN      PBTC_COEXIST            pBtCoexist,\r
141         IN      u1Byte                  type\r
142         );\r
143 VOID\r
144 EXhalbtc8192d2ant_MediaStatusNotify(\r
145         IN      PBTC_COEXIST                    pBtCoexist,\r
146         IN      u1Byte                          type\r
147         );\r
148 VOID\r
149 EXhalbtc8192d2ant_SpecialPacketNotify(\r
150         IN      PBTC_COEXIST                    pBtCoexist,\r
151         IN      u1Byte                          type\r
152         );\r
153 VOID\r
154 EXhalbtc8192d2ant_HaltNotify(\r
155         IN      PBTC_COEXIST                    pBtCoexist\r
156         );\r
157 VOID\r
158 EXhalbtc8192d2ant_Periodical(\r
159         IN      PBTC_COEXIST                    pBtCoexist\r
160         );\r
161 VOID\r
162 EXhalbtc8192d2ant_BtInfoNotify(\r
163         IN      PBTC_COEXIST            pBtCoexist,\r
164         IN      pu1Byte                 tmpBuf,\r
165         IN      u1Byte                  length\r
166         );\r
167 VOID\r
168 EXhalbtc8192d2ant_DisplayCoexInfo(\r
169         IN      PBTC_COEXIST            pBtCoexist\r
170         );\r