1 /******************************************************************************
2  * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
3  *
4  * This program is distributed in the hope that it will be useful, but WITHOUT
5  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
7  * more details.
8  *
9  * The full GNU General Public License is included in this distribution in the
10  * file called LICENSE.
11  *
12  * Contact Information:
13  * wlanfae <wlanfae@realtek.com>
14  *****************************************************************************/
15 #ifndef _R819XU_PHYREG_H
16 #define _R819XU_PHYREG_H
17 
18 
19 #define RF_DATA			0x1d4
20 
21 #define rPMAC_Reset		0x100
22 #define rPMAC_TxStart		0x104
23 #define rPMAC_TxLegacySIG	0x108
24 #define rPMAC_TxHTSIG1		0x10c
25 #define rPMAC_TxHTSIG2		0x110
26 #define rPMAC_PHYDebug		0x114
27 #define rPMAC_TxPacketNum	0x118
28 #define rPMAC_TxIdle		0x11c
29 #define rPMAC_TxMACHeader0	0x120
30 #define rPMAC_TxMACHeader1	0x124
31 #define rPMAC_TxMACHeader2	0x128
32 #define rPMAC_TxMACHeader3	0x12c
33 #define rPMAC_TxMACHeader4	0x130
34 #define rPMAC_TxMACHeader5	0x134
35 #define rPMAC_TxDataType	0x138
36 #define rPMAC_TxRandomSeed	0x13c
37 #define rPMAC_CCKPLCPPreamble	0x140
38 #define rPMAC_CCKPLCPHeader	0x144
39 #define rPMAC_CCKCRC16		0x148
40 #define rPMAC_OFDMRxCRC32OK	0x170
41 #define rPMAC_OFDMRxCRC32Er	0x174
42 #define rPMAC_OFDMRxParityEr	0x178
43 #define rPMAC_OFDMRxCRC8Er	0x17c
44 #define rPMAC_CCKCRxRC16Er	0x180
45 #define rPMAC_CCKCRxRC32Er	0x184
46 #define rPMAC_CCKCRxRC32OK	0x188
47 #define rPMAC_TxStatus		0x18c
48 
49 #define MCS_TXAGC		0x340
50 #define CCK_TXAGC		0x348
51 
52 /* Mac block on/off control register */
53 #define MacBlkCtrl			0x403
54 
55 #define rFPGA0_RFMOD			0x800 /* RF mode & CCK TxSC */
56 #define rFPGA0_TxInfo			0x804
57 #define rFPGA0_PSDFunction		0x808
58 #define rFPGA0_TxGainStage		0x80c
59 #define rFPGA0_RFTiming1		0x810
60 #define rFPGA0_RFTiming2		0x814
61 #define rFPGA0_XA_HSSIParameter1	0x820
62 #define rFPGA0_XA_HSSIParameter2	0x824
63 #define rFPGA0_XB_HSSIParameter1	0x828
64 #define rFPGA0_XB_HSSIParameter2	0x82c
65 #define rFPGA0_XC_HSSIParameter1	0x830
66 #define rFPGA0_XC_HSSIParameter2	0x834
67 #define rFPGA0_XD_HSSIParameter1	0x838
68 #define rFPGA0_XD_HSSIParameter2	0x83c
69 #define rFPGA0_XA_LSSIParameter		0x840
70 #define rFPGA0_XB_LSSIParameter		0x844
71 #define rFPGA0_XC_LSSIParameter		0x848
72 #define rFPGA0_XD_LSSIParameter		0x84c
73 #define rFPGA0_RFWakeUpParameter	0x850
74 #define rFPGA0_RFSleepUpParameter	0x854
75 #define rFPGA0_XAB_SwitchControl	0x858
76 #define rFPGA0_XCD_SwitchControl	0x85c
77 #define rFPGA0_XA_RFInterfaceOE		0x860
78 #define rFPGA0_XB_RFInterfaceOE		0x864
79 #define rFPGA0_XC_RFInterfaceOE		0x868
80 #define rFPGA0_XD_RFInterfaceOE		0x86c
81 #define rFPGA0_XAB_RFInterfaceSW	0x870
82 #define rFPGA0_XCD_RFInterfaceSW	0x874
83 #define rFPGA0_XAB_RFParameter		0x878
84 #define rFPGA0_XCD_RFParameter		0x87c
85 #define rFPGA0_AnalogParameter1		0x880
86 #define rFPGA0_AnalogParameter2		0x884
87 #define rFPGA0_AnalogParameter3		0x888
88 #define rFPGA0_AnalogParameter4		0x88c
89 #define rFPGA0_XA_LSSIReadBack		0x8a0
90 #define rFPGA0_XB_LSSIReadBack		0x8a4
91 #define rFPGA0_XC_LSSIReadBack		0x8a8
92 #define rFPGA0_XD_LSSIReadBack		0x8ac
93 #define rFPGA0_PSDReport		0x8b4
94 #define rFPGA0_XAB_RFInterfaceRB	0x8e0
95 #define rFPGA0_XCD_RFInterfaceRB	0x8e4
96 
97 /* Page 9 - RF mode & OFDM TxSC */
98 #define rFPGA1_RFMOD			0x900
99 #define rFPGA1_TxBlock			0x904
100 #define rFPGA1_DebugSelect		0x908
101 #define rFPGA1_TxInfo			0x90c
102 
103 #define rCCK0_System			0xa00
104 #define rCCK0_AFESetting		0xa04
105 #define rCCK0_CCA			0xa08
106 /* AGC default value, saturation level */
107 #define rCCK0_RxAGC1			0xa0c
108 #define rCCK0_RxAGC2			0xa10 /* AGC & DAGC */
109 #define rCCK0_RxHP			0xa14
110 /* Timing recovery & channel estimation threshold */
111 #define rCCK0_DSPParameter1		0xa18
112 #define rCCK0_DSPParameter2		0xa1c /* SQ threshold */
113 #define rCCK0_TxFilter1			0xa20
114 #define rCCK0_TxFilter2			0xa24
115 #define rCCK0_DebugPort			0xa28 /* Debug port and TX filter 3 */
116 #define rCCK0_FalseAlarmReport		0xa2c
117 #define rCCK0_TRSSIReport		0xa50
118 #define rCCK0_RxReport			0xa54
119 #define rCCK0_FACounterLower		0xa5c
120 #define rCCK0_FACounterUpper		0xa58
121 
122 #define rOFDM0_LSTF			0xc00
123 #define rOFDM0_TRxPathEnable		0xc04
124 #define rOFDM0_TRMuxPar			0xc08
125 #define rOFDM0_TRSWIsolation		0xc0c
126 /* RxIQ DC offset, Rx digital filter, DC notch filter */
127 #define rOFDM0_XARxAFE			0xc10
128 #define rOFDM0_XARxIQImbalance		0xc14 /* RxIQ imbalance matrix */
129 #define rOFDM0_XBRxAFE			0xc18
130 #define rOFDM0_XBRxIQImbalance		0xc1c
131 #define rOFDM0_XCRxAFE			0xc20
132 #define rOFDM0_XCRxIQImbalance		0xc24
133 #define rOFDM0_XDRxAFE			0xc28
134 #define rOFDM0_XDRxIQImbalance		0xc2c
135 #define rOFDM0_RxDetector1		0xc30 /* PD, BW & SBD */
136 #define rOFDM0_RxDetector2		0xc34 /* SBD */
137 #define rOFDM0_RxDetector3		0xc38 /* Frame Sync */
138 /* PD, SBD, Frame Sync & Short-GI */
139 #define rOFDM0_RxDetector4		0xc3c
140 #define rOFDM0_RxDSP			0xc40 /* Rx Sync Path */
141 #define rOFDM0_CFOandDAGC		0xc44 /* CFO & DAGC */
142 #define rOFDM0_CCADropThreshold		0xc48
143 #define rOFDM0_ECCAThreshold		0xc4c /* Energy CCA */
144 #define rOFDM0_XAAGCCore1		0xc50
145 #define rOFDM0_XAAGCCore2		0xc54
146 #define rOFDM0_XBAGCCore1		0xc58
147 #define rOFDM0_XBAGCCore2		0xc5c
148 #define rOFDM0_XCAGCCore1		0xc60
149 #define rOFDM0_XCAGCCore2		0xc64
150 #define rOFDM0_XDAGCCore1		0xc68
151 #define rOFDM0_XDAGCCore2		0xc6c
152 #define rOFDM0_AGCParameter1		0xc70
153 #define rOFDM0_AGCParameter2		0xc74
154 #define rOFDM0_AGCRSSITable		0xc78
155 #define rOFDM0_HTSTFAGC			0xc7c
156 #define rOFDM0_XATxIQImbalance		0xc80
157 #define rOFDM0_XATxAFE			0xc84
158 #define rOFDM0_XBTxIQImbalance		0xc88
159 #define rOFDM0_XBTxAFE			0xc8c
160 #define rOFDM0_XCTxIQImbalance		0xc90
161 #define rOFDM0_XCTxAFE			0xc94
162 #define rOFDM0_XDTxIQImbalance		0xc98
163 #define rOFDM0_XDTxAFE			0xc9c
164 #define rOFDM0_RxHPParameter		0xce0
165 #define rOFDM0_TxPseudoNoiseWgt		0xce4
166 #define rOFDM0_FrameSync		0xcf0
167 #define rOFDM0_DFSReport		0xcf4
168 #define rOFDM0_TxCoeff1			0xca4
169 #define rOFDM0_TxCoeff2			0xca8
170 #define rOFDM0_TxCoeff3			0xcac
171 #define rOFDM0_TxCoeff4			0xcb0
172 #define rOFDM0_TxCoeff5			0xcb4
173 #define rOFDM0_TxCoeff6			0xcb8
174 
175 
176 #define rOFDM1_LSTF			0xd00
177 #define rOFDM1_TRxPathEnable		0xd04
178 #define rOFDM1_CFO			0xd08
179 #define rOFDM1_CSI1			0xd10
180 #define rOFDM1_SBD			0xd14
181 #define rOFDM1_CSI2			0xd18
182 #define rOFDM1_CFOTracking		0xd2c
183 #define rOFDM1_TRxMesaure1		0xd34
184 #define rOFDM1_IntfDet			0xd3c
185 #define rOFDM1_PseudoNoiseStateAB	0xd50
186 #define rOFDM1_PseudoNoiseStateCD	0xd54
187 #define rOFDM1_RxPseudoNoiseWgt		0xd58
188 #define rOFDM_PHYCounter1		0xda0 /* cca, parity fail */
189 #define rOFDM_PHYCounter2		0xda4 /* rate illegal, crc8 fail */
190 #define rOFDM_PHYCounter3		0xda8 /* MCS not supported */
191 #define rOFDM_ShortCFOAB		0xdac
192 #define rOFDM_ShortCFOCD		0xdb0
193 #define rOFDM_LongCFOAB			0xdb4
194 #define rOFDM_LongCFOCD			0xdb8
195 #define rOFDM_TailCFOAB			0xdbc
196 #define rOFDM_TailCFOCD			0xdc0
197 #define rOFDM_PWMeasure1		0xdc4
198 #define rOFDM_PWMeasure2		0xdc8
199 #define rOFDM_BWReport			0xdcc
200 #define rOFDM_AGCReport			0xdd0
201 #define rOFDM_RxSNR			0xdd4
202 #define rOFDM_RxEVMCSI			0xdd8
203 #define rOFDM_SIGReport			0xddc
204 
205 #define rTxAGC_Rate18_06		0xe00
206 #define rTxAGC_Rate54_24		0xe04
207 #define rTxAGC_CCK_Mcs32		0xe08
208 #define rTxAGC_Mcs03_Mcs00		0xe10
209 #define rTxAGC_Mcs07_Mcs04		0xe14
210 #define rTxAGC_Mcs11_Mcs08		0xe18
211 #define rTxAGC_Mcs15_Mcs12		0xe1c
212 
213 
214 #define rZebra1_HSSIEnable		0x0
215 #define rZebra1_TRxEnable1		0x1
216 #define rZebra1_TRxEnable2		0x2
217 #define rZebra1_AGC			0x4
218 #define rZebra1_ChargePump		0x5
219 #define rZebra1_Channel			0x7
220 #define rZebra1_TxGain			0x8
221 #define rZebra1_TxLPF			0x9
222 #define rZebra1_RxLPF			0xb
223 #define rZebra1_RxHPFCorner		0xc
224 
225 /* Zebra 4 */
226 #define rGlobalCtrl			0
227 #define rRTL8256_TxLPF			19
228 #define rRTL8256_RxLPF			11
229 
230 /* RTL8258 */
231 #define rRTL8258_TxLPF			0x11
232 #define rRTL8258_RxLPF			0x13
233 #define rRTL8258_RSSILPF		0xa
234 
235 /* Bit Mask - Page 1*/
236 #define bBBResetB			0x100
237 #define bGlobalResetB			0x200
238 #define bOFDMTxStart			0x4
239 #define bCCKTxStart			0x8
240 #define bCRC32Debug			0x100
241 #define bPMACLoopback			0x10
242 #define bTxLSIG				0xffffff
243 #define bOFDMTxRate			0xf
244 #define bOFDMTxReserved			0x10
245 #define bOFDMTxLength			0x1ffe0
246 #define bOFDMTxParity			0x20000
247 #define bTxHTSIG1			0xffffff
248 #define bTxHTMCSRate			0x7f
249 #define bTxHTBW	0x80
250 #define bTxHTLength			0xffff00
251 #define bTxHTSIG2			0xffffff
252 #define bTxHTSmoothing			0x1
253 #define bTxHTSounding			0x2
254 #define bTxHTReserved			0x4
255 #define bTxHTAggreation			0x8
256 #define bTxHTSTBC			0x30
257 #define bTxHTAdvanceCoding		0x40
258 #define bTxHTShortGI			0x80
259 #define bTxHTNumberHT_LTF		0x300
260 #define bTxHTCRC8			0x3fc00
261 #define bCounterReset			0x10000
262 #define bNumOfOFDMTx			0xffff
263 #define bNumOfCCKTx			0xffff0000
264 #define bTxIdleInterval			0xffff
265 #define bOFDMService			0xffff0000
266 #define bTxMACHeader			0xffffffff
267 #define bTxDataInit			0xff
268 #define bTxHTMode			0x100
269 #define bTxDataType			0x30000
270 #define bTxRandomSeed			0xffffffff
271 #define bCCKTxPreamble			0x1
272 #define bCCKTxSFD			0xffff0000
273 #define bCCKTxSIG			0xff
274 #define bCCKTxService			0xff00
275 #define bCCKLengthExt			0x8000
276 #define bCCKTxLength			0xffff0000
277 #define bCCKTxCRC16			0xffff
278 #define bCCKTxStatus			0x1
279 #define bOFDMTxStatus			0x2
280 /* Bit Mask - Page 8 */
281 #define bRFMOD				0x1
282 #define bJapanMode			0x2
283 #define bCCKTxSC			0x30
284 #define bCCKEn				0x1000000
285 #define bOFDMEn				0x2000000
286 #define bOFDMRxADCPhase			0x10000
287 #define bOFDMTxDACPhase			0x40000
288 #define bXATxAGC			0x3f
289 #define bXBTxAGC			0xf00
290 #define bXCTxAGC			0xf000
291 #define bXDTxAGC			0xf0000
292 #define bPAStart			0xf0000000
293 #define bTRStart			0x00f00000
294 #define bRFStart			0x0000f000
295 #define bBBStart			0x000000f0
296 #define bBBCCKStart			0x0000000f
297 /* Bit Mask - rFPGA0_RFTiming2 */
298 #define bPAEnd				0xf
299 #define bTREnd				0x0f000000
300 #define bRFEnd				0x000f0000
301 /* T2R */
302 #define bCCAMask			0x000000f0
303 #define bR2RCCAMask			0x00000f00
304 #define bHSSI_R2TDelay			0xf8000000
305 #define bHSSI_T2RDelay			0xf80000
306 /* Channel gain at continue TX. */
307 #define bContTxHSSI			0x400
308 #define bIGFromCCK			0x200
309 #define bAGCAddress			0x3f
310 #define bRxHPTx				0x7000
311 #define bRxHPT2R			0x38000
312 #define bRxHPCCKIni			0xc0000
313 #define bAGCTxCode			0xc00000
314 #define bAGCRxCode			0x300000
315 #define b3WireDataLength		0x800
316 #define b3WireAddressLength		0x400
317 #define b3WireRFPowerDown		0x1
318 /*#define bHWSISelect			0x8 */
319 #define b5GPAPEPolarity			0x40000000
320 #define b2GPAPEPolarity			0x80000000
321 #define bRFSW_TxDefaultAnt		0x3
322 #define bRFSW_TxOptionAnt		0x30
323 #define bRFSW_RxDefaultAnt		0x300
324 #define bRFSW_RxOptionAnt		0x3000
325 #define bRFSI_3WireData			0x1
326 #define bRFSI_3WireClock		0x2
327 #define bRFSI_3WireLoad			0x4
328 #define bRFSI_3WireRW			0x8
329 /* 3-wire total control */
330 #define bRFSI_3Wire			0xf
331 #define bRFSI_RFENV			0x10
332 #define bRFSI_TRSW			0x20
333 #define bRFSI_TRSWB			0x40
334 #define bRFSI_ANTSW			0x100
335 #define bRFSI_ANTSWB			0x200
336 #define bRFSI_PAPE			0x400
337 #define bRFSI_PAPE5G			0x800
338 #define bBandSelect			0x1
339 #define bHTSIG2_GI			0x80
340 #define bHTSIG2_Smoothing		0x01
341 #define bHTSIG2_Sounding		0x02
342 #define bHTSIG2_Aggreaton		0x08
343 #define bHTSIG2_STBC			0x30
344 #define bHTSIG2_AdvCoding		0x40
345 #define bHTSIG2_NumOfHTLTF		0x300
346 #define bHTSIG2_CRC8			0x3fc
347 #define bHTSIG1_MCS			0x7f
348 #define bHTSIG1_BandWidth		0x80
349 #define bHTSIG1_HTLength		0xffff
350 #define bLSIG_Rate			0xf
351 #define bLSIG_Reserved			0x10
352 #define bLSIG_Length			0x1fffe
353 #define bLSIG_Parity			0x20
354 #define bCCKRxPhase			0x4
355 #define bLSSIReadAddress		0x3f000000 /* LSSI "read" address */
356 #define bLSSIReadEdge			0x80000000 /* LSSI "read" edge signal */
357 #define bLSSIReadBackData		0xfff
358 #define bLSSIReadOKFlag			0x1000
359 #define bCCKSampleRate			0x8 /* 0: 44 MHz, 1: 88MHz */
360 
361 #define bRegulator0Standby		0x1
362 #define bRegulatorPLLStandby		0x2
363 #define bRegulator1Standby		0x4
364 #define bPLLPowerUp			0x8
365 #define bDPLLPowerUp			0x10
366 #define bDA10PowerUp			0x20
367 #define bAD7PowerUp			0x200
368 #define bDA6PowerUp			0x2000
369 #define bXtalPowerUp			0x4000
370 #define b40MDClkPowerUP			0x8000
371 #define bDA6DebugMode			0x20000
372 #define bDA6Swing			0x380000
373 #define bADClkPhase			0x4000000
374 #define b80MClkDelay			0x18000000
375 #define bAFEWatchDogEnable		0x20000000
376 #define bXtalCap			0x0f000000
377 #define bXtalCap01			0xc0000000
378 #define bXtalCap23			0x3
379 #define bXtalCap92x			0x0f000000
380 #define bIntDifClkEnable		0x400
381 #define bExtSigClkEnable		0x800
382 #define bBandgapMbiasPowerUp		0x10000
383 #define bAD11SHGain			0xc0000
384 #define bAD11InputRange			0x700000
385 #define bAD11OPCurrent			0x3800000
386 #define bIPathLoopback			0x4000000
387 #define bQPathLoopback			0x8000000
388 #define bAFELoopback			0x10000000
389 #define bDA10Swing			0x7e0
390 #define bDA10Reverse			0x800
391 #define bDAClkSource			0x1000
392 #define bAD7InputRange			0x6000
393 #define bAD7Gain			0x38000
394 #define bAD7OutputCMMode		0x40000
395 #define bAD7InputCMMode			0x380000
396 #define bAD7Current			0xc00000
397 #define bRegulatorAdjust		0x7000000
398 #define bAD11PowerUpAtTx		0x1
399 #define bDA10PSAtTx			0x10
400 #define bAD11PowerUpAtRx		0x100
401 #define bDA10PSAtRx			0x1000
402 
403 #define bCCKRxAGCFormat			0x200
404 
405 #define bPSDFFTSamplepPoint		0xc000
406 #define bPSDAverageNum			0x3000
407 #define bIQPathControl			0xc00
408 #define bPSDFreq			0x3ff
409 #define bPSDAntennaPath			0x30
410 #define bPSDIQSwitch			0x40
411 #define bPSDRxTrigger			0x400000
412 #define bPSDTxTrigger			0x80000000
413 #define bPSDSineToneScale		0x7f000000
414 #define bPSDReport			0xffff
415 
416 /* Page 8 */
417 #define bOFDMTxSC			0x30000000
418 #define bCCKTxOn			0x1
419 #define bOFDMTxOn			0x2
420 /* Reset debug page and also HWord, LWord */
421 #define bDebugPage			0xfff
422 /* Reset debug page and LWord */
423 #define bDebugItem			0xff
424 #define bAntL				0x10
425 #define bAntNonHT			0x100
426 #define bAntHT1				0x1000
427 #define bAntHT2				0x10000
428 #define bAntHT1S1			0x100000
429 #define bAntNonHTS1			0x1000000
430 
431 /* Page a */
432 #define bCCKBBMode			0x3
433 #define bCCKTxPowerSaving		0x80
434 #define bCCKRxPowerSaving		0x40
435 #define bCCKSideBand			0x10
436 #define bCCKScramble			0x8
437 #define bCCKAntDiversity		0x8000
438 #define bCCKCarrierRecovery		0x4000
439 #define bCCKTxRate			0x3000
440 #define bCCKDCCancel			0x0800
441 #define bCCKISICancel			0x0400
442 #define bCCKMatchFilter			0x0200
443 #define bCCKEqualizer			0x0100
444 #define bCCKPreambleDetect		0x800000
445 #define bCCKFastFalseCCA		0x400000
446 #define bCCKChEstStart			0x300000
447 #define bCCKCCACount			0x080000
448 #define bCCKcs_lim			0x070000
449 #define bCCKBistMode			0x80000000
450 #define bCCKCCAMask			0x40000000
451 #define bCCKTxDACPhase			0x4
452 #define bCCKRxADCPhase			0x20000000 /* r_rx_clk */
453 #define bCCKr_cp_mode0			0x0100
454 #define bCCKTxDCOffset			0xf0
455 #define bCCKRxDCOffset			0xf
456 #define bCCKCCAMode			0xc000
457 #define bCCKFalseCS_lim			0x3f00
458 #define bCCKCS_ratio			0xc00000
459 #define bCCKCorgBit_sel			0x300000
460 #define bCCKPD_lim			0x0f0000
461 #define bCCKNewCCA			0x80000000
462 #define bCCKRxHPofIG			0x8000
463 #define bCCKRxIG			0x7f00
464 #define bCCKLNAPolarity			0x800000
465 #define bCCKRx1stGain			0x7f0000
466 /* CCK Rx Initial gain polarity */
467 #define bCCKRFExtend			0x20000000
468 #define bCCKRxAGCSatLevel		0x1f000000
469 #define bCCKRxAGCSatCount		0xe0
470 /* AGCSAmp_dly */
471 #define bCCKRxRFSettle			0x1f
472 #define bCCKFixedRxAGC			0x8000
473 /*#define bCCKRxAGCFormat		0x4000  remove to HSSI register 0x824 */
474 #define bCCKAntennaPolarity		0x2000
475 #define bCCKTxFilterType		0x0c00
476 #define bCCKRxAGCReportType		0x0300
477 #define bCCKRxDAGCEn			0x80000000
478 #define bCCKRxDAGCPeriod		0x20000000
479 #define bCCKRxDAGCSatLevel		0x1f000000
480 #define bCCKTimingRecovery		0x800000
481 #define bCCKTxC0			0x3f0000
482 #define bCCKTxC1			0x3f000000
483 #define bCCKTxC2			0x3f
484 #define bCCKTxC3			0x3f00
485 #define bCCKTxC4			0x3f0000
486 #define bCCKTxC5			0x3f000000
487 #define bCCKTxC6			0x3f
488 #define bCCKTxC7			0x3f00
489 #define bCCKDebugPort			0xff0000
490 #define bCCKDACDebug			0x0f000000
491 #define bCCKFalseAlarmEnable		0x8000
492 #define bCCKFalseAlarmRead		0x4000
493 #define bCCKTRSSI			0x7f
494 #define bCCKRxAGCReport			0xfe
495 #define bCCKRxReport_AntSel		0x80000000
496 #define bCCKRxReport_MFOff		0x40000000
497 #define bCCKRxRxReport_SQLoss		0x20000000
498 #define bCCKRxReport_Pktloss		0x10000000
499 #define bCCKRxReport_Lockedbit		0x08000000
500 #define bCCKRxReport_RateError		0x04000000
501 #define bCCKRxReport_RxRate		0x03000000
502 #define bCCKRxFACounterLower		0xff
503 #define bCCKRxFACounterUpper		0xff000000
504 #define bCCKRxHPAGCStart		0xe000
505 #define bCCKRxHPAGCFinal		0x1c00
506 
507 #define bCCKRxFalseAlarmEnable		0x8000
508 #define bCCKFACounterFreeze		0x4000
509 
510 #define bCCKTxPathSel			0x10000000
511 #define bCCKDefaultRxPath		0xc000000
512 #define bCCKOptionRxPath		0x3000000
513 
514 /* Page c */
515 #define bNumOfSTF			0x3
516 #define bShift_L			0xc0
517 #define bGI_TH				0xc
518 #define bRxPathA			0x1
519 #define bRxPathB			0x2
520 #define bRxPathC			0x4
521 #define bRxPathD			0x8
522 #define bTxPathA			0x1
523 #define bTxPathB			0x2
524 #define bTxPathC			0x4
525 #define bTxPathD			0x8
526 #define bTRSSIFreq			0x200
527 #define bADCBackoff			0x3000
528 #define bDFIRBackoff			0xc000
529 #define bTRSSILatchPhase		0x10000
530 #define bRxIDCOffset			0xff
531 #define bRxQDCOffset			0xff00
532 #define bRxDFIRMode			0x1800000
533 #define bRxDCNFType			0xe000000
534 #define bRXIQImb_A			0x3ff
535 #define bRXIQImb_B			0xfc00
536 #define bRXIQImb_C			0x3f0000
537 #define bRXIQImb_D			0xffc00000
538 #define bDC_dc_Notch			0x60000
539 #define bRxNBINotch			0x1f000000
540 #define bPD_TH				0xf
541 #define bPD_TH_Opt2			0xc000
542 #define bPWED_TH			0x700
543 #define bIfMF_Win_L			0x800
544 #define bPD_Option			0x1000
545 #define bMF_Win_L			0xe000
546 #define bBW_Search_L			0x30000
547 #define bwin_enh_L			0xc0000
548 #define bBW_TH				0x700000
549 #define bED_TH2				0x3800000
550 #define bBW_option			0x4000000
551 #define bRatio_TH			0x18000000
552 #define bWindow_L			0xe0000000
553 #define bSBD_Option			0x1
554 #define bFrame_TH			0x1c
555 #define bFS_Option			0x60
556 #define bDC_Slope_check			0x80
557 #define bFGuard_Counter_DC_L		0xe00
558 #define bFrame_Weight_Short		0x7000
559 #define bSub_Tune			0xe00000
560 #define bFrame_DC_Length		0xe000000
561 #define bSBD_start_offset		0x30000000
562 #define bFrame_TH_2			0x7
563 #define bFrame_GI2_TH			0x38
564 #define bGI2_Sync_en			0x40
565 #define bSarch_Short_Early		0x300
566 #define bSarch_Short_Late		0xc00
567 #define bSarch_GI2_Late			0x70000
568 #define bCFOAntSum			0x1
569 #define bCFOAcc				0x2
570 #define bCFOStartOffset			0xc
571 #define bCFOLookBack			0x70
572 #define bCFOSumWeight			0x80
573 #define bDAGCEnable			0x10000
574 #define bTXIQImb_A			0x3ff
575 #define bTXIQImb_B			0xfc00
576 #define bTXIQImb_C			0x3f0000
577 #define bTXIQImb_D			0xffc00000
578 #define bTxIDCOffset			0xff
579 #define bTxQDCOffset			0xff00
580 #define bTxDFIRMode			0x10000
581 #define bTxPesudoNoiseOn		0x4000000
582 #define bTxPesudoNoise_A		0xff
583 #define bTxPesudoNoise_B		0xff00
584 #define bTxPesudoNoise_C		0xff0000
585 #define bTxPesudoNoise_D		0xff000000
586 #define bCCADropOption			0x20000
587 #define bCCADropThres			0xfff00000
588 #define bEDCCA_H			0xf
589 #define bEDCCA_L			0xf0
590 #define bLambda_ED			0x300
591 #define bRxInitialGain			0x7f
592 #define bRxAntDivEn			0x80
593 #define bRxAGCAddressForLNA		0x7f00
594 #define bRxHighPowerFlow		0x8000
595 #define bRxAGCFreezeThres		0xc0000
596 #define bRxFreezeStep_AGC1		0x300000
597 #define bRxFreezeStep_AGC2		0xc00000
598 #define bRxFreezeStep_AGC3		0x3000000
599 #define bRxFreezeStep_AGC0		0xc000000
600 #define bRxRssi_Cmp_En			0x10000000
601 #define bRxQuickAGCEn			0x20000000
602 #define bRxAGCFreezeThresMode		0x40000000
603 #define bRxOverFlowCheckType		0x80000000
604 #define bRxAGCShift			0x7f
605 #define bTRSW_Tri_Only			0x80
606 #define bPowerThres			0x300
607 #define bRxAGCEn			0x1
608 #define bRxAGCTogetherEn		0x2
609 #define bRxAGCMin			0x4
610 #define bRxHP_Ini			0x7
611 #define bRxHP_TRLNA			0x70
612 #define bRxHP_RSSI			0x700
613 #define bRxHP_BBP1			0x7000
614 #define bRxHP_BBP2			0x70000
615 #define bRxHP_BBP3			0x700000
616 /* The threshold for high power */
617 #define bRSSI_H				0x7f0000
618 /* The threshold for ant diversity */
619 #define bRSSI_Gen			0x7f000000
620 #define bRxSettle_TRSW			0x7
621 #define bRxSettle_LNA			0x38
622 #define bRxSettle_RSSI			0x1c0
623 #define bRxSettle_BBP			0xe00
624 #define bRxSettle_RxHP			0x7000
625 #define bRxSettle_AntSW_RSSI		0x38000
626 #define bRxSettle_AntSW			0xc0000
627 #define bRxProcessTime_DAGC		0x300000
628 #define bRxSettle_HSSI			0x400000
629 #define bRxProcessTime_BBPPW		0x800000
630 #define bRxAntennaPowerShift		0x3000000
631 #define bRSSITableSelect		0xc000000
632 #define bRxHP_Final			0x7000000
633 #define bRxHTSettle_BBP			0x7
634 #define bRxHTSettle_HSSI		0x8
635 #define bRxHTSettle_RxHP		0x70
636 #define bRxHTSettle_BBPPW		0x80
637 #define bRxHTSettle_Idle		0x300
638 #define bRxHTSettle_Reserved		0x1c00
639 #define bRxHTRxHPEn			0x8000
640 #define bRxHTAGCFreezeThres		0x30000
641 #define bRxHTAGCTogetherEn		0x40000
642 #define bRxHTAGCMin			0x80000
643 #define bRxHTAGCEn			0x100000
644 #define bRxHTDAGCEn			0x200000
645 #define bRxHTRxHP_BBP			0x1c00000
646 #define bRxHTRxHP_Final			0xe0000000
647 #define bRxPWRatioTH			0x3
648 #define bRxPWRatioEn			0x4
649 #define bRxMFHold			0x3800
650 #define bRxPD_Delay_TH1			0x38
651 #define bRxPD_Delay_TH2			0x1c0
652 #define bRxPD_DC_COUNT_MAX		0x600
653 /*#define bRxMF_Hold			0x3800*/
654 #define bRxPD_Delay_TH			0x8000
655 #define bRxProcess_Delay		0xf0000
656 #define bRxSearchrange_GI2_Early	0x700000
657 #define bRxFrame_Guard_Counter_L	0x3800000
658 #define bRxSGI_Guard_L			0xc000000
659 #define bRxSGI_Search_L			0x30000000
660 #define bRxSGI_TH			0xc0000000
661 #define bDFSCnt0			0xff
662 #define bDFSCnt1			0xff00
663 #define bDFSFlag			0xf0000
664 
665 #define bMFWeightSum		0x300000
666 #define bMinIdxTH		0x7f000000
667 
668 #define bDAFormat		0x40000
669 
670 #define bTxChEmuEnable		0x01000000
671 
672 #define bTRSWIsolation_A	0x7f
673 #define bTRSWIsolation_B	0x7f00
674 #define bTRSWIsolation_C	0x7f0000
675 #define bTRSWIsolation_D	0x7f000000
676 
677 #define bExtLNAGain		0x7c00
678 
679 /* Page d */
680 #define bSTBCEn			0x4
681 #define bAntennaMapping		0x10
682 #define bNss			0x20
683 #define bCFOAntSumD		0x200
684 #define bPHYCounterReset	0x8000000
685 #define bCFOReportGet		0x4000000
686 #define bOFDMContinueTx		0x10000000
687 #define bOFDMSingleCarrier	0x20000000
688 #define bOFDMSingleTone		0x40000000
689 /* #define bRxPath1		0x01
690  * #define bRxPath2		0x02
691  * #define bRxPath3		0x04
692  * #define bRxPath4		0x08
693  * #define bTxPath1		0x10
694  * #define bTxPath2		0x20
695  */
696 #define bHTDetect		0x100
697 #define bCFOEn			0x10000
698 #define bCFOValue		0xfff00000
699 #define bSigTone_Re		0x3f
700 #define bSigTone_Im		0x7f00
701 #define bCounter_CCA		0xffff
702 #define bCounter_ParityFail	0xffff0000
703 #define bCounter_RateIllegal	0xffff
704 #define bCounter_CRC8Fail	0xffff0000
705 #define bCounter_MCSNoSupport	0xffff
706 #define bCounter_FastSync	0xffff
707 #define bShortCFO		0xfff
708 #define bShortCFOTLength	12 /* total */
709 #define bShortCFOFLength	11 /* fraction */
710 #define bLongCFO		0x7ff
711 #define bLongCFOTLength		11
712 #define bLongCFOFLength		11
713 #define bTailCFO		0x1fff
714 #define bTailCFOTLength		13
715 #define bTailCFOFLength		12
716 
717 #define bmax_en_pwdB		0xffff
718 #define bCC_power_dB		0xffff0000
719 #define bnoise_pwdB		0xffff
720 #define bPowerMeasTLength	10
721 #define bPowerMeasFLength	3
722 #define bRx_HT_BW		0x1
723 #define bRxSC			0x6
724 #define bRx_HT			0x8
725 
726 #define bNB_intf_det_on		0x1
727 #define bIntf_win_len_cfg	0x30
728 #define bNB_Intf_TH_cfg		0x1c0
729 
730 #define bRFGain			0x3f
731 #define bTableSel		0x40
732 #define bTRSW			0x80
733 
734 #define bRxSNR_A		0xff
735 #define bRxSNR_B		0xff00
736 #define bRxSNR_C		0xff0000
737 #define bRxSNR_D		0xff000000
738 #define bSNREVMTLength		8
739 #define bSNREVMFLength		1
740 
741 #define bCSI1st			0xff
742 #define bCSI2nd			0xff00
743 #define bRxEVM1st		0xff0000
744 #define bRxEVM2nd		0xff000000
745 
746 #define bSIGEVM			0xff
747 #define bPWDB			0xff00
748 #define bSGIEN			0x10000
749 
750 #define bSFactorQAM1		0xf
751 #define bSFactorQAM2		0xf0
752 #define bSFactorQAM3		0xf00
753 #define bSFactorQAM4		0xf000
754 #define bSFactorQAM5		0xf0000
755 #define bSFactorQAM6		0xf0000
756 #define bSFactorQAM7		0xf00000
757 #define bSFactorQAM8		0xf000000
758 #define bSFactorQAM9		0xf0000000
759 #define bCSIScheme		0x100000
760 
761 #define bNoiseLvlTopSet		0x3
762 #define bChSmooth		0x4
763 #define bChSmoothCfg1		0x38
764 #define bChSmoothCfg2		0x1c0
765 #define bChSmoothCfg3		0xe00
766 #define bChSmoothCfg4		0x7000
767 #define bMRCMode		0x800000
768 #define bTHEVMCfg		0x7000000
769 
770 #define bLoopFitType		0x1
771 #define bUpdCFO			0x40
772 #define bUpdCFOOffData		0x80
773 #define bAdvUpdCFO		0x100
774 #define bAdvTimeCtrl		0x800
775 #define bUpdClko		0x1000
776 #define bFC			0x6000
777 #define bTrackingMode		0x8000
778 #define bPhCmpEnable		0x10000
779 #define bUpdClkoLTF		0x20000
780 #define bComChCFO		0x40000
781 #define bCSIEstiMode		0x80000
782 #define bAdvUpdEqz		0x100000
783 #define bUChCfg			0x7000000
784 #define bUpdEqz			0x8000000
785 
786 /* Page e */
787 #define bTxAGCRate18_06		0x7f7f7f7f
788 #define bTxAGCRate54_24		0x7f7f7f7f
789 #define bTxAGCRateMCS32		0x7f
790 #define bTxAGCRateCCK		0x7f00
791 #define bTxAGCRateMCS3_MCS0	0x7f7f7f7f
792 #define bTxAGCRateMCS7_MCS4	0x7f7f7f7f
793 #define bTxAGCRateMCS11_MCS8	0x7f7f7f7f
794 #define bTxAGCRateMCS15_MCS12	0x7f7f7f7f
795 
796 #define bRxPesudoNoiseOn	0x20000000 /* Rx Pseduo noise */
797 #define bRxPesudoNoise_A	0xff
798 #define bRxPesudoNoise_B	0xff00
799 #define bRxPesudoNoise_C	0xff0000
800 #define bRxPesudoNoise_D	0xff000000
801 #define bPesudoNoiseState_A	0xffff
802 #define bPesudoNoiseState_B	0xffff0000
803 #define bPesudoNoiseState_C	0xffff
804 #define bPesudoNoiseState_D	0xffff0000
805 
806 /* RF Zebra 1 */
807 #define bZebra1_HSSIEnable	0x8
808 #define bZebra1_TRxControl	0xc00
809 #define bZebra1_TRxGainSetting	0x07f
810 #define bZebra1_RxCorner	0xc00
811 #define bZebra1_TxChargePump	0x38
812 #define bZebra1_RxChargePump	0x7
813 #define bZebra1_ChannelNum	0xf80
814 #define bZebra1_TxLPFBW	0x400
815 #define bZebra1_RxLPFBW	0x600
816 
817 /* Zebra4 */
818 #define bRTL8256RegModeCtrl1	0x100
819 #define bRTL8256RegModeCtrl0	0x40
820 #define bRTL8256_TxLPFBW	0x18
821 #define bRTL8256_RxLPFBW	0x600
822 
823 /* RTL8258 */
824 #define bRTL8258_TxLPFBW	0xc
825 #define bRTL8258_RxLPFBW	0xc00
826 #define bRTL8258_RSSILPFBW	0xc0
827 
828 /* byte enable for sb_write */
829 #define bByte0	0x1
830 #define bByte1	0x2
831 #define bByte2	0x4
832 #define bByte3	0x8
833 #define bWord0	0x3
834 #define bWord1	0xc
835 #define bDWord	0xf
836 
837 /* for PutRegsetting & GetRegSetting BitMask */
838 #define bMaskByte0	0xff
839 #define bMaskByte1	0xff00
840 #define bMaskByte2	0xff0000
841 #define bMaskByte3	0xff000000
842 #define bMaskHWord	0xffff0000
843 #define bMaskLWord	0x0000ffff
844 #define bMaskDWord	0xffffffff
845 
846 /* for PutRFRegsetting & GetRFRegSetting BitMask */
847 #define bMask12Bits	0xfff
848 
849 #define bEnable		0x1
850 #define bDisable	0x0
851 
852 #define LeftAntenna	0x0
853 #define RightAntenna	0x1
854 
855 #define tCheckTxStatus		500 /* 500 ms */
856 #define tUpdateRxCounter	100 /* 100 ms */
857 
858 #define rateCCK		0
859 #define rateOFDM	1
860 #define rateHT		2
861 
862 #define bPMAC_End	0x1ff /* define Register-End */
863 #define bFPGAPHY0_End	0x8ff
864 #define bFPGAPHY1_End	0x9ff
865 #define bCCKPHY0_End	0xaff
866 #define bOFDMPHY0_End	0xcff
867 #define bOFDMPHY1_End	0xdff
868 
869 
870 #define bPMACControl	0x0
871 #define bWMACControl	0x1
872 #define bWNICControl	0x2
873 
874 #define PathA	0x0
875 #define PathB	0x1
876 #define PathC	0x2
877 #define PathD	0x3
878 
879 #define rRTL8256RxMixerPole	0xb
880 #define bZebraRxMixerPole	0x6
881 #define rRTL8256TxBBOPBias	0x9
882 #define bRTL8256TxBBOPBias	0x400
883 #define rRTL8256TxBBBW		19
884 #define bRTL8256TxBBBW		0x18
885 
886 #endif
887