xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8822be/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 #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 */
279