dt-bindings: Document the Rockchip RGA bindings
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bs / hal / OUTSRC-BTCoexist / HalBtc8821aCsr2Ant.h
1 //===========================================\r
2 // The following is for 8821A_CSR 2Ant BT Co-exist definition\r
3 //===========================================\r
4 #define BT_INFO_8821A_CSR_2ANT_B_FTP                                            BIT7\r
5 #define BT_INFO_8821A_CSR_2ANT_B_A2DP                                   BIT6\r
6 #define BT_INFO_8821A_CSR_2ANT_B_HID                                            BIT5\r
7 #define BT_INFO_8821A_CSR_2ANT_B_SCO_BUSY                               BIT4\r
8 #define BT_INFO_8821A_CSR_2ANT_B_ACL_BUSY                               BIT3\r
9 #define BT_INFO_8821A_CSR_2ANT_B_INQ_PAGE                               BIT2\r
10 #define BT_INFO_8821A_CSR_2ANT_B_SCO_ESCO                               BIT1\r
11 #define BT_INFO_8821A_CSR_2ANT_B_CONNECTION                             BIT0\r
12 \r
13 #define         BTC_RSSI_COEX_THRESH_TOL_8821A_CSR_2ANT         2\r
14 \r
15 typedef enum _BT_INFO_SRC_8821A_CSR_2ANT{\r
16         BT_INFO_SRC_8821A_CSR_2ANT_WIFI_FW                      = 0x0,\r
17         BT_INFO_SRC_8821A_CSR_2ANT_BT_RSP                               = 0x1,\r
18         BT_INFO_SRC_8821A_CSR_2ANT_BT_ACTIVE_SEND               = 0x2,\r
19         BT_INFO_SRC_8821A_CSR_2ANT_MAX\r
20 }BT_INFO_SRC_8821A_CSR_2ANT,*PBT_INFO_SRC_8821A_CSR_2ANT;\r
21 \r
22 typedef enum _BT_8821A_CSR_2ANT_BT_STATUS{\r
23         BT_8821A_CSR_2ANT_BT_STATUS_IDLE                                = 0x0,\r
24         BT_8821A_CSR_2ANT_BT_STATUS_CONNECTED_IDLE      = 0x1,\r
25         BT_8821A_CSR_2ANT_BT_STATUS_NON_IDLE                    = 0x2,\r
26         BT_8821A_CSR_2ANT_BT_STATUS_MAX\r
27 }BT_8821A_CSR_2ANT_BT_STATUS,*PBT_8821A_CSR_2ANT_BT_STATUS;\r
28 \r
29 typedef enum _BT_8821A_CSR_2ANT_COEX_ALGO{\r
30         BT_8821A_CSR_2ANT_COEX_ALGO_UNDEFINED                   = 0x0,\r
31         BT_8821A_CSR_2ANT_COEX_ALGO_SCO                         = 0x1,\r
32         BT_8821A_CSR_2ANT_COEX_ALGO_HID                         = 0x2,\r
33         BT_8821A_CSR_2ANT_COEX_ALGO_A2DP                                = 0x3,\r
34         BT_8821A_CSR_2ANT_COEX_ALGO_A2DP_PANHS          = 0x4,\r
35         BT_8821A_CSR_2ANT_COEX_ALGO_PANEDR                      = 0x5,\r
36         BT_8821A_CSR_2ANT_COEX_ALGO_PANHS                       = 0x6,\r
37         BT_8821A_CSR_2ANT_COEX_ALGO_PANEDR_A2DP         = 0x7,\r
38         BT_8821A_CSR_2ANT_COEX_ALGO_PANEDR_HID          = 0x8,\r
39         BT_8821A_CSR_2ANT_COEX_ALGO_HID_A2DP_PANEDR     = 0x9,\r
40         BT_8821A_CSR_2ANT_COEX_ALGO_HID_A2DP                    = 0xa,\r
41         BT_8821A_CSR_2ANT_COEX_ALGO_MAX                         = 0xb,\r
42 }BT_8821A_CSR_2ANT_COEX_ALGO,*PBT_8821A_CSR_2ANT_COEX_ALGO;\r
43 \r
44 typedef struct _COEX_DM_8821A_CSR_2ANT{\r
45         // fw mechanism\r
46         BOOLEAN         bPreDecBtPwr;\r
47         BOOLEAN         bCurDecBtPwr;\r
48         u1Byte          preFwDacSwingLvl;\r
49         u1Byte          curFwDacSwingLvl;\r
50         BOOLEAN         bCurIgnoreWlanAct;\r
51         BOOLEAN         bPreIgnoreWlanAct;\r
52         u1Byte          prePsTdma;\r
53         u1Byte          curPsTdma;\r
54         u1Byte          psTdmaPara[6];\r
55         u1Byte          psTdmaDuAdjType;\r
56         BOOLEAN         bResetTdmaAdjust;\r
57         BOOLEAN         bPrePsTdmaOn;\r
58         BOOLEAN         bCurPsTdmaOn;\r
59         BOOLEAN         bPreBtAutoReport;\r
60         BOOLEAN         bCurBtAutoReport;\r
61 \r
62         // sw mechanism\r
63         BOOLEAN         bPreRfRxLpfShrink;\r
64         BOOLEAN         bCurRfRxLpfShrink;\r
65         u4Byte          btRf0x1eBackup;\r
66         BOOLEAN         bPreLowPenaltyRa;\r
67         BOOLEAN         bCurLowPenaltyRa;\r
68         BOOLEAN         bPreDacSwingOn;\r
69         u4Byte          preDacSwingLvl;\r
70         BOOLEAN         bCurDacSwingOn;\r
71         u4Byte          curDacSwingLvl;\r
72         BOOLEAN         bPreAdcBackOff;\r
73         BOOLEAN         bCurAdcBackOff;\r
74         BOOLEAN         bPreAgcTableEn;\r
75         BOOLEAN         bCurAgcTableEn;\r
76         u4Byte          preVal0x6c0;\r
77         u4Byte          curVal0x6c0;\r
78         u4Byte          preVal0x6c4;\r
79         u4Byte          curVal0x6c4;\r
80         u4Byte          preVal0x6c8;\r
81         u4Byte          curVal0x6c8;\r
82         u1Byte          preVal0x6cc;\r
83         u1Byte          curVal0x6cc;\r
84         BOOLEAN         bLimitedDig;\r
85 \r
86         u4Byte          preRaMask;\r
87         u4Byte          curRaMask;\r
88 \r
89         u1Byte curAmpduNumType;\r
90         u1Byte preAmpduNumType;\r
91         u2Byte backupAmpduMaxNum;\r
92 \r
93         u1Byte curAmpduTimeType;\r
94         u1Byte preAmpduTimeType;\r
95         u1Byte backupAmpduMaxTime;\r
96 \r
97         u1Byte          curArfrType;\r
98         u1Byte          preArfrType;\r
99         u4Byte          backupArfrCnt1;\r
100         u4Byte          backupArfrCnt2;\r
101 \r
102         u1Byte          curRetryLimitType;\r
103         u1Byte          preRetryLimitType;\r
104         u2Byte          backupRetryLimit;\r
105 \r
106         // algorithm related\r
107         u1Byte          preAlgorithm;\r
108         u1Byte          curAlgorithm;\r
109         u1Byte          btStatus;\r
110         u1Byte          wifiChnlInfo[3];\r
111 } COEX_DM_8821A_CSR_2ANT, *PCOEX_DM_8821A_CSR_2ANT;\r
112 \r
113 typedef struct _COEX_STA_8821A_CSR_2ANT{\r
114         BOOLEAN                                 bBtLinkExist;\r
115         BOOLEAN                                 bScoExist;\r
116         BOOLEAN                                 bA2dpExist;\r
117         BOOLEAN                                 bSlave;\r
118         BOOLEAN                                 bHidExist;\r
119         BOOLEAN                                 bPanExist;\r
120 \r
121         BOOLEAN                                 bUnderLps;\r
122         BOOLEAN                                 bUnderIps;\r
123         u4Byte                                  highPriorityTx;\r
124         u4Byte                                  highPriorityRx;\r
125         u4Byte                                  lowPriorityTx;\r
126         u4Byte                                  lowPriorityRx;\r
127         u1Byte                                  btRssi;\r
128         u1Byte                                  preBtRssiState;\r
129         u1Byte                                  preWifiRssiState[4];\r
130         BOOLEAN                                 bC2hBtInfoReqSent;\r
131         u1Byte                                  btInfoC2h[BT_INFO_SRC_8821A_CSR_2ANT_MAX][10];\r
132         u4Byte                                  btInfoC2hCnt[BT_INFO_SRC_8821A_CSR_2ANT_MAX];\r
133         BOOLEAN                                 bC2hBtInquiryPage;\r
134         u1Byte                                  btRetryCnt;\r
135         u1Byte                                  btInfoExt;\r
136 }COEX_STA_8821A_CSR_2ANT, *PCOEX_STA_8821A_CSR_2ANT;\r
137 \r
138 //===========================================\r
139 // The following is interface which will notify coex module.\r
140 //===========================================\r
141 VOID\r
142 EXhalbtc8821aCsr2ant_PowerOnSetting(\r
143         IN      PBTC_COEXIST            pBtCoexist\r
144         );\r
145 VOID\r
146 EXhalbtc8821aCsr2ant_InitHwConfig(\r
147         IN      PBTC_COEXIST            pBtCoexist,\r
148         IN      BOOLEAN                         bWifiOnly\r
149         );\r
150 VOID\r
151 EXhalbtc8821aCsr2ant_InitCoexDm(\r
152         IN      PBTC_COEXIST            pBtCoexist\r
153         );\r
154 VOID\r
155 EXhalbtc8821aCsr2ant_IpsNotify(\r
156         IN      PBTC_COEXIST            pBtCoexist,\r
157         IN      u1Byte                  type\r
158         );\r
159 VOID\r
160 EXhalbtc8821aCsr2ant_LpsNotify(\r
161         IN      PBTC_COEXIST            pBtCoexist,\r
162         IN      u1Byte                  type\r
163         );\r
164 VOID\r
165 EXhalbtc8821aCsr2ant_ScanNotify(\r
166         IN      PBTC_COEXIST            pBtCoexist,\r
167         IN      u1Byte                  type\r
168         );\r
169 VOID\r
170 EXhalbtc8821aCsr2ant_ConnectNotify(\r
171         IN      PBTC_COEXIST            pBtCoexist,\r
172         IN      u1Byte                  type\r
173         );\r
174 VOID\r
175 EXhalbtc8821aCsr2ant_MediaStatusNotify(\r
176         IN      PBTC_COEXIST                    pBtCoexist,\r
177         IN      u1Byte                          type\r
178         );\r
179 VOID\r
180 EXhalbtc8821aCsr2ant_SpecialPacketNotify(\r
181         IN      PBTC_COEXIST                    pBtCoexist,\r
182         IN      u1Byte                          type\r
183         );\r
184 VOID\r
185 EXhalbtc8821aCsr2ant_BtInfoNotify(\r
186         IN      PBTC_COEXIST            pBtCoexist,\r
187         IN      pu1Byte                 tmpBuf,\r
188         IN      u1Byte                  length\r
189         );\r
190 VOID\r
191 EXhalbtc8821aCsr2ant_HaltNotify(\r
192         IN      PBTC_COEXIST                    pBtCoexist\r
193         );\r
194 VOID\r
195 EXhalbtc8821aCsr2ant_PnpNotify(\r
196         IN      PBTC_COEXIST                    pBtCoexist,\r
197         IN      u1Byte                          pnpState\r
198         );\r
199 VOID\r
200 EXhalbtc8821aCsr2ant_Periodical(\r
201         IN      PBTC_COEXIST                    pBtCoexist\r
202         );\r
203 VOID\r
204 EXhalbtc8821aCsr2ant_DisplayCoexInfo(\r
205         IN      PBTC_COEXIST            pBtCoexist\r
206         );\r
207 \r