net: wireless: rockchip: add rtl8822be pcie wifi driver
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8822be / include / Hal8814PhyCfg.h
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
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  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17  *
18  *
19  ******************************************************************************/
20 #ifndef __INC_HAL8814PHYCFG_H__
21 #define __INC_HAL8814PHYCFG_H__
22
23
24 /*--------------------------Define Parameters-------------------------------*/
25 #define LOOP_LIMIT                              5
26 #define MAX_STALL_TIME                  50              /* us */
27 #define AntennaDiversityValue   0x80    /* (Adapter->bSoftwareAntennaDiversity ? 0x00 : 0x80) */
28 #define MAX_TXPWR_IDX_NMODE_92S 63
29 #define Reset_Cnt_Limit                 3
30
31
32 #ifdef CONFIG_PCI_HCI
33         #define MAX_AGGR_NUM    0x0B
34 #else
35         #define MAX_AGGR_NUM    0x07
36 #endif /* CONFIG_PCI_HCI */
37
38
39 /*--------------------------Define Parameters-------------------------------*/
40
41 /*------------------------------Define structure----------------------------*/
42
43
44 /* BB/RF related */
45
46 #define SIC_ENABLE                              0
47
48 /*------------------------------Define structure----------------------------*/
49
50
51 /*------------------------Export global variable----------------------------*/
52 /*------------------------Export global variable----------------------------*/
53
54
55 /*------------------------Export Marco Definition---------------------------*/
56 /*------------------------Export Marco Definition---------------------------*/
57
58
59 /*--------------------------Exported Function prototype---------------------*/
60 /* 1. BB register R/W API */
61
62 extern  u32
63 PHY_QueryBBReg8814A(IN  PADAPTER        Adapter,
64                     IN  u32             RegAddr,
65                     IN  u32             BitMask);
66
67
68 VOID
69 PHY_SetBBReg8814A(IN    PADAPTER        Adapter,
70                   IN    u32             RegAddr,
71                   IN    u32             BitMask,
72                   IN    u32             Data);
73
74
75 extern  u32
76 PHY_QueryRFReg8814A(IN  PADAPTER                        Adapter,
77                     IN  u8                      eRFPath,
78                     IN  u32                     RegAddr,
79                     IN  u32                     BitMask);
80
81
82 void
83 PHY_SetRFReg8814A(IN    PADAPTER                        Adapter,
84                   IN    u8                      eRFPath,
85                   IN    u32                             RegAddr,
86                   IN    u32                             BitMask,
87                   IN    u32                             Data);
88
89 /* 1 3. Initial BB/RF config by reading MAC/BB/RF txt. */
90 s32
91 phy_BB8814A_Config_ParaFile(
92         IN      PADAPTER        Adapter
93 );
94
95
96 RT_STATUS
97 PHY_BBConfigMP_8814A(
98         IN      PADAPTER        Adapter
99 );
100
101 VOID
102 PHY_ConfigBB_8814A(
103         IN      PADAPTER        Adapter
104 );
105
106
107 VOID
108 phy_ADC_CLK_8814A(
109         IN      PADAPTER        Adapter
110 );
111
112 s32
113 PHY_RFConfig8814A(
114         IN      PADAPTER        Adapter
115 );
116
117 /*
118  * RF Power setting
119  *
120  * BOOLEAN      PHY_SetRFPowerState8814A(PADAPTER Adapter, rt_rf_power_state    eRFPowerState); */
121
122 /* 1 5. Tx  Power setting API */
123
124 VOID
125 PHY_GetTxPowerLevel8814(
126         IN      PADAPTER                Adapter,
127         OUT ps4Byte                     powerlevel
128 );
129
130 VOID
131 PHY_SetTxPowerLevel8814(
132         IN      PADAPTER                Adapter,
133         IN      u8                      Channel
134 );
135
136 u8
137 PHY_GetTxPowerIndex_8814A(
138         IN      PADAPTER                        Adapter,
139         IN  u8                          RFPath,
140         IN      u8                              Rate,
141         IN      CHANNEL_WIDTH           BandWidth,
142         IN      u8                              Channel
143 );
144
145 VOID
146 PHY_SetTxPowerIndex_8814A(
147         IN      PADAPTER                        Adapter,
148         IN      u32                             PowerIndex,
149         IN      u8                              RFPath,
150         IN      u8                              Rate
151 );
152
153
154 BOOLEAN
155 PHY_UpdateTxPowerDbm8814A(
156         IN      PADAPTER        Adapter,
157         IN      s4Byte          powerInDbm
158 );
159
160
161 u32
162 PHY_GetTxBBSwing_8814A(
163         IN      PADAPTER        Adapter,
164         IN      BAND_TYPE       Band,
165         IN      u8              RFPath
166 );
167
168
169
170 /* 1 6. Channel setting API */
171
172 VOID
173 PHY_SwChnlTimerCallback8814A(
174         IN      PRT_TIMER               pTimer
175 );
176
177 VOID
178 PHY_SwChnlWorkItemCallback8814A(
179         IN PVOID            pContext
180 );
181
182
183 VOID
184 HAL_HandleSwChnl8814A(
185         IN      PADAPTER        pAdapter,
186         IN      u8              channel
187 );
188
189 VOID
190 PHY_SwChnlSynchronously8814A(IN PADAPTER                pAdapter,
191                              IN u8                      channel);
192
193 VOID
194 PHY_SwChnlAndSetBWModeCallback8814A(IN PVOID            pContext);
195
196
197 VOID
198 PHY_HandleSwChnlAndSetBW8814A(
199         IN      PADAPTER                        Adapter,
200         IN      BOOLEAN                         bSwitchChannel,
201         IN      BOOLEAN                         bSetBandWidth,
202         IN      u8                                      ChannelNum,
203         IN      CHANNEL_WIDTH           ChnlWidth,
204         IN      u8                                      ChnlOffsetOf40MHz,
205         IN      u8                                      ChnlOffsetOf80MHz,
206         IN      u8                                      CenterFrequencyIndex1
207 );
208
209
210 BOOLEAN
211 PHY_QueryRFPathSwitch_8814A(IN  PADAPTER        pAdapter);
212
213
214
215 #if (USE_WORKITEM)
216 VOID
217 RtCheckForHangWorkItemCallback8814A(
218         IN PVOID   pContext
219 );
220 #endif
221
222 BOOLEAN
223 SetAntennaConfig8814A(
224         IN      PADAPTER        Adapter,
225         IN      u8              DefaultAnt
226 );
227
228 VOID
229 PHY_SetRFEReg8814A(
230         IN PADAPTER             Adapter,
231         IN BOOLEAN              bInit,
232         IN u8           Band
233 );
234
235
236 s32
237 PHY_SwitchWirelessBand8814A(
238         IN PADAPTER              Adapter,
239         IN u8           Band
240 );
241
242 VOID
243 PHY_SetIO_8814A(
244         PADAPTER                pAdapter
245 );
246
247 VOID
248 PHY_SetBWMode8814(
249         IN      PADAPTER                        Adapter,
250         IN      CHANNEL_WIDTH   Bandwidth,      /* 20M or 40M */
251         IN      u8                                      Offset          /* Upper, Lower, or Don't care */
252 );
253
254 VOID
255 PHY_SwChnl8814(
256         IN      PADAPTER        Adapter,
257         IN      u8                      channel
258 );
259
260 VOID
261 PHY_SetSwChnlBWMode8814(
262         IN      PADAPTER                        Adapter,
263         IN      u8                                      channel,
264         IN      CHANNEL_WIDTH           Bandwidth,
265         IN      u8                                      Offset40,
266         IN      u8                                      Offset80
267 );
268
269 s32 PHY_MACConfig8814(PADAPTER Adapter);
270 int PHY_BBConfig8814(PADAPTER   Adapter);
271 VOID PHY_Set_SecCCATH_by_RXANT_8814A(PADAPTER   pAdapter, u4Byte ulAntennaRx);
272
273
274
275 /*--------------------------Exported Function prototype---------------------*/
276
277 /*--------------------------Exported Function prototype---------------------*/
278 #endif /* __INC_HAL8192CPHYCFG_H */