net: wireless: rockchip_wlan: add rtl8723cs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723cs / 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 VOID
96 PHY_ConfigBB_8814A(
97         IN      PADAPTER        Adapter
98 );
99
100
101 VOID
102 phy_ADC_CLK_8814A(
103         IN      PADAPTER        Adapter
104 );
105
106 s32
107 PHY_RFConfig8814A(
108         IN      PADAPTER        Adapter
109 );
110
111 /*
112  * RF Power setting
113  *
114  * BOOLEAN      PHY_SetRFPowerState8814A(PADAPTER Adapter, rt_rf_power_state    eRFPowerState); */
115
116 /* 1 5. Tx  Power setting API */
117
118 VOID
119 PHY_GetTxPowerLevel8814(
120         IN      PADAPTER                Adapter,
121         OUT ps4Byte                     powerlevel
122 );
123
124 VOID
125 PHY_SetTxPowerLevel8814(
126         IN      PADAPTER                Adapter,
127         IN      u8                      Channel
128 );
129
130 u8
131 phy_get_tx_power_index_8814a(
132         IN      PADAPTER                        Adapter,
133         IN  u8                          RFPath,
134         IN      u8                              Rate,
135         IN      CHANNEL_WIDTH           BandWidth,
136         IN      u8                              Channel
137 );
138
139 u8
140 PHY_GetTxPowerIndex8814A(
141         IN      PADAPTER                        Adapter,
142         IN  u8                          RFPath,
143         IN      u8                              Rate,
144         IN      u8                              BandWidth,
145         IN      u8                              Channel,
146         struct txpwr_idx_comp *tic
147 );
148
149 VOID
150 PHY_SetTxPowerIndex_8814A(
151         IN      PADAPTER                        Adapter,
152         IN      u32                             PowerIndex,
153         IN      u8                              RFPath,
154         IN      u8                              Rate
155 );
156
157
158 BOOLEAN
159 PHY_UpdateTxPowerDbm8814A(
160         IN      PADAPTER        Adapter,
161         IN      s4Byte          powerInDbm
162 );
163
164
165 u32
166 PHY_GetTxBBSwing_8814A(
167         IN      PADAPTER        Adapter,
168         IN      BAND_TYPE       Band,
169         IN      u8              RFPath
170 );
171
172
173
174 /* 1 6. Channel setting API */
175
176 VOID
177 PHY_SwChnlTimerCallback8814A(
178         IN      struct timer_list               *p_timer
179 );
180
181 VOID
182 PHY_SwChnlWorkItemCallback8814A(
183         IN PVOID            pContext
184 );
185
186
187 VOID
188 HAL_HandleSwChnl8814A(
189         IN      PADAPTER        pAdapter,
190         IN      u8              channel
191 );
192
193 VOID
194 PHY_SwChnlSynchronously8814A(IN PADAPTER                pAdapter,
195                              IN u8                      channel);
196
197 VOID
198 PHY_SwChnlAndSetBWModeCallback8814A(IN PVOID            pContext);
199
200
201 VOID
202 PHY_HandleSwChnlAndSetBW8814A(
203         IN      PADAPTER                        Adapter,
204         IN      BOOLEAN                         bSwitchChannel,
205         IN      BOOLEAN                         bSetBandWidth,
206         IN      u8                                      ChannelNum,
207         IN      CHANNEL_WIDTH           ChnlWidth,
208         IN      u8                                      ChnlOffsetOf40MHz,
209         IN      u8                                      ChnlOffsetOf80MHz,
210         IN      u8                                      CenterFrequencyIndex1
211 );
212
213
214 BOOLEAN
215 PHY_QueryRFPathSwitch_8814A(IN  PADAPTER        pAdapter);
216
217
218
219 #if (USE_WORKITEM)
220 VOID
221 RtCheckForHangWorkItemCallback8814A(
222         IN PVOID   pContext
223 );
224 #endif
225
226 BOOLEAN
227 SetAntennaConfig8814A(
228         IN      PADAPTER        Adapter,
229         IN      u8              DefaultAnt
230 );
231
232 VOID
233 PHY_SetRFEReg8814A(
234         IN PADAPTER             Adapter,
235         IN BOOLEAN              bInit,
236         IN u8           Band
237 );
238
239
240 s32
241 PHY_SwitchWirelessBand8814A(
242         IN PADAPTER              Adapter,
243         IN u8           Band
244 );
245
246 VOID
247 PHY_SetIO_8814A(
248         PADAPTER                pAdapter
249 );
250
251 VOID
252 PHY_SetSwChnlBWMode8814(
253         IN      PADAPTER                        Adapter,
254         IN      u8                                      channel,
255         IN      CHANNEL_WIDTH           Bandwidth,
256         IN      u8                                      Offset40,
257         IN      u8                                      Offset80
258 );
259
260 s32 PHY_MACConfig8814(PADAPTER Adapter);
261 int PHY_BBConfig8814(PADAPTER   Adapter);
262 VOID PHY_Set_SecCCATH_by_RXANT_8814A(PADAPTER   pAdapter, u4Byte ulAntennaRx);
263
264
265
266 /*--------------------------Exported Function prototype---------------------*/
267
268 /*--------------------------Exported Function prototype---------------------*/
269 #endif /* __INC_HAL8192CPHYCFG_H */