xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8189es/include/Hal8814PhyCfg.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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 //VOID PHY_SetMonitorMode8814A(PADAPTER pAdapter, BOOLEAN bEnableMonitorMode);
216 
217 
218 #if (USE_WORKITEM)
219 VOID
220 RtCheckForHangWorkItemCallback8814A(
221                 IN PVOID   pContext
222 );
223 #endif
224 
225 BOOLEAN
226 SetAntennaConfig8814A(
227 	IN	PADAPTER	Adapter,
228 	IN	u8		DefaultAnt
229 	);
230 
231 VOID
232 PHY_SetRFEReg8814A(
233 	IN PADAPTER		Adapter,
234 	IN BOOLEAN		bInit,
235 	IN u8		Band
236 	);
237 
238 
239 s32
240 PHY_SwitchWirelessBand8814A(
241 	IN PADAPTER		 Adapter,
242 	IN u8		Band
243 );
244 
245 VOID
246 PHY_SetIO_8814A(
247     PADAPTER		pAdapter
248     );
249 
250 VOID
251 PHY_SetBWMode8814(
252 	IN	PADAPTER			Adapter,
253 	IN	CHANNEL_WIDTH	Bandwidth,	// 20M or 40M
254 	IN	u8					Offset		// Upper, Lower, or Don't care
255 );
256 
257 VOID
258 PHY_SwChnl8814(
259 	IN	PADAPTER	Adapter,
260 	IN	u8			channel
261 	);
262 
263 VOID
264 PHY_SetSwChnlBWMode8814(
265 	IN	PADAPTER			Adapter,
266 	IN	u8					channel,
267 	IN	CHANNEL_WIDTH		Bandwidth,
268 	IN	u8					Offset40,
269 	IN	u8					Offset80
270 );
271 
272 s32 PHY_MACConfig8814(PADAPTER Adapter);
273 int PHY_BBConfig8814(PADAPTER	Adapter);
274 VOID PHY_Set_SecCCATH_by_RXANT_8814A(PADAPTER	pAdapter, u4Byte ulAntennaRx);
275 
276 
277 
278 /*--------------------------Exported Function prototype---------------------*/
279 
280 /*--------------------------Exported Function prototype---------------------*/
281 #endif	// __INC_HAL8192CPHYCFG_H
282 
283