aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/rtl8192e/rtl8192e/r819xE_phyreg.h
blob: 03eee3d059c6f6b01e8b4e2169e21be2edd559f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
#ifndef _R819XU_PHYREG_H
#define _R819XU_PHYREG_H


#define   RF_DATA				0x1d4					// FW will write RF data in the register.

//Register   //duplicate register due to connection: RF_Mode, TRxRN, NumOf L-STF
//page 1
#define rPMAC_Reset               		0x100
#define rPMAC_TxStart             		0x104
#define rPMAC_TxLegacySIG         		0x108
#define rPMAC_TxHTSIG1            		0x10c
#define rPMAC_TxHTSIG2            		0x110
#define rPMAC_PHYDebug            		0x114
#define rPMAC_TxPacketNum         		0x118
#define rPMAC_TxIdle              		0x11c
#define rPMAC_TxMACHeader0       	0x120
#define rPMAC_TxMACHeader1       	0x124
#define rPMAC_TxMACHeader2       	0x128
#define rPMAC_TxMACHeader3       	0x12c
#define rPMAC_TxMACHeader4       	0x130
#define rPMAC_TxMACHeader5       	0x134
#define rPMAC_TxDataType          		0x138
#define rPMAC_TxRandomSeed      		0x13c
#define rPMAC_CCKPLCPPreamble  		0x140
#define rPMAC_CCKPLCPHeader     		0x144
#define rPMAC_CCKCRC16            		0x148
#define rPMAC_OFDMRxCRC32OK  		0x170
#define rPMAC_OFDMRxCRC32Er   		0x174
#define rPMAC_OFDMRxParityEr    		0x178
#define rPMAC_OFDMRxCRC8Er     		0x17c
#define rPMAC_CCKCRxRC16Er       		0x180
#define rPMAC_CCKCRxRC32Er       		0x184
#define rPMAC_CCKCRxRC32OK      		0x188
#define rPMAC_TxStatus            		0x18c

//90P
#define	MCS_TXAGC				0x340	// MCS AGC
#define	CCK_TXAGC				0x348	// CCK AGC

#define	MacBlkCtrl				0x403					// Mac block on/off control register

//page8
#define rFPGA0_RFMOD              		0x800  //RF mode & CCK TxSC
#define rFPGA0_TxInfo             		0x804
#define rFPGA0_PSDFunction        		0x808
#define rFPGA0_TxGainStage        		0x80c
#define rFPGA0_RFTiming1          		0x810
#define rFPGA0_RFTiming2          		0x814
//#define rFPGA0_XC_RFTiming        		0x818
//#define rFPGA0_XD_RFTiming        		0x81c
#define rFPGA0_XA_HSSIParameter1  	0x820
#define rFPGA0_XA_HSSIParameter2  	0x824
#define rFPGA0_XB_HSSIParameter1  	0x828
#define rFPGA0_XB_HSSIParameter2  	0x82c
#define rFPGA0_XC_HSSIParameter1  	0x830
#define rFPGA0_XC_HSSIParameter2  	0x834
#define rFPGA0_XD_HSSIParameter1  	0x838
#define rFPGA0_XD_HSSIParameter2  	0x83c
#define rFPGA0_XA_LSSIParameter   	0x840
#define rFPGA0_XB_LSSIParameter   	0x844
#define rFPGA0_XC_LSSIParameter   	0x848
#define rFPGA0_XD_LSSIParameter   	0x84c
#define rFPGA0_RFWakeUpParameter  	0x850
#define rFPGA0_RFSleepUpParameter 	0x854
#define rFPGA0_XAB_SwitchControl  	0x858
#define rFPGA0_XCD_SwitchControl  	0x85c
#define rFPGA0_XA_RFInterfaceOE   	0x860
#define rFPGA0_XB_RFInterfaceOE   	0x864
#define rFPGA0_XC_RFInterfaceOE   	0x868
#define rFPGA0_XD_RFInterfaceOE   	0x86c
#define rFPGA0_XAB_RFInterfaceSW  	0x870
#define rFPGA0_XCD_RFInterfaceSW  	0x874
#define rFPGA0_XAB_RFParameter    	0x878
#define rFPGA0_XCD_RFParameter    	0x87c
#define rFPGA0_AnalogParameter1   	0x880
#define rFPGA0_AnalogParameter2   	0x884
#define rFPGA0_AnalogParameter3   	0x888
#define rFPGA0_AnalogParameter4   	0x88c
#define rFPGA0_XA_LSSIReadBack    	0x8a0
#define rFPGA0_XB_LSSIReadBack    	0x8a4
#define rFPGA0_XC_LSSIReadBack    	0x8a8
#define rFPGA0_XD_LSSIReadBack    	0x8ac
#define rFPGA0_PSDReport		0x8b4
#define rFPGA0_XAB_RFInterfaceRB  	0x8e0
#define rFPGA0_XCD_RFInterfaceRB  	0x8e4

/* Page 9 - RF mode & OFDM TxSC */
#define rFPGA1_RFMOD      		0x900
#define rFPGA1_TxBlock            	0x904
#define rFPGA1_DebugSelect        	0x908
#define rFPGA1_TxInfo             	0x90c

/* Page a */
#define rCCK0_System              	0xa00
#define rCCK0_AFESetting          	0xa04
#define rCCK0_CCA                 	0xa08
/* AGC default value, saturation level */
#define rCCK0_RxAGC1              	0xa0c
/* AGC & DAGC */
#define rCCK0_RxAGC2              	0xa10
#define rCCK0_RxHP                	0xa14
/* Timing recovery & channel estimation threshold */
#define rCCK0_DSPParameter1       	0xa18
/* SQ threshold */
#define rCCK0_DSPParameter2       	0xa1c
#define rCCK0_TxFilter1           	0xa20
#define rCCK0_TxFilter2           	0xa24
/* Debug port and TX filter 3 */
#define rCCK0_DebugPort           	0xa28
#define rCCK0_FalseAlarmReport    	0xa2c
#define rCCK0_TRSSIReport         	0xa50
#define rCCK0_RxReport            	0xa54
#define rCCK0_FACounterLower      	0xa5c
#define rCCK0_FACounterUpper      	0xa58

/* Page c */
#define rOFDM0_LSTF              	0xc00
#define rOFDM0_TRxPathEnable      	0xc04
#define rOFDM0_TRMuxPar           	0xc08
#define rOFDM0_TRSWIsolation      	0xc0c
/* RxIQ DC offset, Rx digital filter, DC notch filter */
#define rOFDM0_XARxAFE            	0xc10
/* RxIQ imblance matrix */
#define rOFDM0_XARxIQImbalance    	0xc14
#define rOFDM0_XBRxAFE            	0xc18
#define rOFDM0_XBRxIQImbalance    	0xc1c
#define rOFDM0_XCRxAFE           	0xc20
#define rOFDM0_XCRxIQImbalance    	0xc24
#define rOFDM0_XDRxAFE            	0xc28
#define rOFDM0_XDRxIQImbalance    	0xc2c
/* PD, BW & SBD */
#define rOFDM0_RxDetector1        	0xc30
/* SBD */
#define rOFDM0_RxDetector2		0xc34
/* Frame Sync */
#define rOFDM0_RxDetector3         	0xc38
/* PD, SBD, Frame Sync & Short-GI */
#define rOFDM0_RxDetector4        	0xc3c
/* Rx Sync Path */
#define rOFDM0_RxDSP			0xc40
/* CFO & DAGC */
#define rOFDM0_CFOandDAGC         	0xc44
/* CCA Drop threshold */
#define rOFDM0_CCADropThreshold   	0xc48
/* Energy CCA */
#define rOFDM0_ECCAThreshold      	0xc4c
#define rOFDM0_XAAGCCore1         	0xc50
#define rOFDM0_XAAGCCore2         	0xc54
#define rOFDM0_XBAGCCore1         	0xc58
#define rOFDM0_XBAGCCore2         	0xc5c
#define rOFDM0_XCAGCCore1         	0xc60
#define rOFDM0_XCAGCCore2         	0xc64
#define rOFDM0_XDAGCCore1         	0xc68
#define rOFDM0_XDAGCCore2         	0xc6c
#define rOFDM0_AGCParameter1      	0xc70
#define rOFDM0_AGCParameter2      	0xc74
#define rOFDM0_AGCRSSITable       	0xc78
#define rOFDM0_HTSTFAGC           	0xc7c
#define rOFDM0_XATxIQImbalance   	0xc80
#define rOFDM0_XATxAFE            	0xc84
#define rOFDM0_XBTxIQImbalance    	0xc88
#define rOFDM0_XBTxAFE            	0xc8c
#define rOFDM0_XCTxIQImbalance    	0xc90
#define rOFDM0_XCTxAFE            	0xc94
#define rOFDM0_XDTxIQImbalance    	0xc98
#define rOFDM0_XDTxAFE            	0xc9c
#define rOFDM0_RxHPParameter      	0xce0
#define rOFDM0_TxPseudoNoiseWgt   	0xce4
#define rOFDM0_FrameSync          	0xcf0
#define rOFDM0_DFSReport          	0xcf4
#define rOFDM0_TxCoeff1           	0xca4
#define rOFDM0_TxCoeff2           	0xca8
#define rOFDM0_TxCoeff3           	0xcac
#define rOFDM0_TxCoeff4           	0xcb0
#define rOFDM0_TxCoeff5           	0xcb4
#define rOFDM0_TxCoeff6           	0xcb8


/* Page d */
#define rOFDM1_LSTF               	0xd00
#define rOFDM1_TRxPathEnable      	0xd04
#define rOFDM1_CFO                	0xd08
#define rOFDM1_CSI1               	0xd10
#define rOFDM1_SBD                	0xd14
#define rOFDM1_CSI2               	0xd18
#define rOFDM1_CFOTracking        	0xd2c
#define rOFDM1_TRxMesaure1        	0xd34
#define rOFDM1_IntfDet            	0xd3c
#define rOFDM1_PseudoNoiseStateAB 	0xd50
#define rOFDM1_PseudoNoiseStateCD 	0xd54
#define rOFDM1_RxPseudoNoiseWgt   	0xd58
/* cca, parity fail */
#define rOFDM_PHYCounter1         	0xda0
/* rate illegal, crc8 fail */
#define rOFDM_PHYCounter2   		0xda4
/* MCS not supported */
#define rOFDM_PHYCounter3         	0xda8
#define rOFDM_ShortCFOAB          	0xdac
#define rOFDM_ShortCFOCD          	0xdb0
#define rOFDM_LongCFOAB           	0xdb4
#define rOFDM_LongCFOCD           	0xdb8
#define rOFDM_TailCFOAB           	0xdbc
#define rOFDM_TailCFOCD           	0xdc0
#define rOFDM_PWMeasure1          	0xdc4
#define rOFDM_PWMeasure2          	0xdc8
#define rOFDM_BWReport            	0xdcc
#define rOFDM_AGCReport           	0xdd0
#define rOFDM_RxSNR               	0xdd4
#define rOFDM_RxEVMCSI            	0xdd8
#define rOFDM_SIGReport           	0xddc

/* Page e */
#define rTxAGC_Rate18_06		0xe00
#define rTxAGC_Rate54_24		0xe04
#define rTxAGC_CCK_Mcs32		0xe08
#define rTxAGC_Mcs03_Mcs00		0xe10
#define rTxAGC_Mcs07_Mcs04		0xe14
#define rTxAGC_Mcs11_Mcs08		0xe18
#define rTxAGC_Mcs15_Mcs12		0xe1c


/* RF Zebra 1 */
#define rZebra1_HSSIEnable            	0x0
#define rZebra1_TRxEnable1            	0x1
#define rZebra1_TRxEnable2           	0x2
#define rZebra1_AGC                   	0x4
#define rZebra1_ChargePump            	0x5
#define rZebra1_Channel               	0x7
#define rZebra1_TxGain               	0x8
#define rZebra1_TxLPF                 	0x9
#define rZebra1_RxLPF                 	0xb
#define rZebra1_RxHPFCorner           	0xc

/* Zebra 4 */
#define rGlobalCtrl                   	0
#define rRTL8256_TxLPF                	19
#define rRTL8256_RxLPF                	11

/* RTL8258 */
#define rRTL8258_TxLPF                	0x11
#define rRTL8258_RxLPF                  0x13
#define rRTL8258_RSSILPF              	0xa

/* Bit Mask */
/* Page 1 */
#define bBBResetB                 	0x100
#define bGlobalResetB             	0x200
#define bOFDMTxStart              	0x4
#define bCCKTxStart               	0x8
#define bCRC32Debug               	0x100
#define bPMACLoopback             	0x10
#define bTxLSIG                   	0xffffff
#define bOFDMTxRate               	0xf
#define bOFDMTxReserved           	0x10
#define bOFDMTxLength             	0x1ffe0
#define bOFDMTxParity             	0x20000
#define bTxHTSIG1                 	0xffffff
#define bTxHTMCSRate              	0x7f
#define bTxHTBW                   	0x80
#define bTxHTLength               	0xffff00
#define bTxHTSIG2                 	0xffffff
#define bTxHTSmoothing            	0x1
#define bTxHTSounding             	0x2
#define bTxHTReserved             	0x4
#define bTxHTAggreation           	0x8
#define bTxHTSTBC                 	0x30
#define bTxHTAdvanceCoding        	0x40
#define bTxHTShortGI              	0x80
#define bTxHTNumberHT_LTF         	0x300
#define bTxHTCRC8                 	0x3fc00
#define bCounterReset             	0x10000
#define bNumOfOFDMTx              	0xffff
#define bNumOfCCKTx               	0xffff0000
#define bTxIdleInterval           	0xffff
#define bOFDMService              	0xffff0000
#define bTxMACHeader              	0xffffffff
#define bTxDataInit               	0xff
#define bTxHTMode                 	0x100
#define bTxDataType               	0x30000
#define bTxRandomSeed             	0xffffffff
#define bCCKTxPreamble           	0x1
#define bCCKTxSFD                 	0xffff0000
#define bCCKTxSIG                 	0xff
#define bCCKTxService             	0xff00
#define bCCKLengthExt             	0x8000
#define bCCKTxLength              	0xffff0000
#define bCCKTxCRC16               	0xffff
#define bCCKTxStatus              	0x1
#define bOFDMTxStatus             	0x2

/* Page 8 */
#define bRFMOD                    	0x1
#define bJapanMode                	0x2
#define bCCKTxSC                  	0x30
#define bCCKEn                    	0x1000000
#define bOFDMEn                   	0x2000000
#define bOFDMRxADCPhase           	0x10000
#define bOFDMTxDACPhase           	0x40000
#define bXATxAGC                  	0x3f
#define bXBTxAGC                  	0xf00
#define bXCTxAGC                  	0xf000
#define bXDTxAGC                  	0xf0000
#define bPAStart                  	0xf0000000
#define bTRStart                  	0x00f00000
#define bRFStart                  	0x0000f000
#define bBBStart                  	0x000000f0
#define bBBCCKStart               	0x0000000f
/* Reg x814 */
#define bPAEnd                    	0xf
#define bTREnd                    	0x0f000000
#define bRFEnd                    	0x000f0000
/* T2R */
#define bCCAMask                  	0x000000f0
#define bR2RCCAMask               	0x00000f00
#define bHSSI_R2TDelay            	0xf8000000
#define bHSSI_T2RDelay            	0xf80000
/* Channel gain at continue TX. */
#define bContTxHSSI               	0x400
#define bIGFromCCK                	0x200
#define bAGCAddress               	0x3f
#define bRxHPTx                   	0x7000
#define bRxHPT2R                  	0x38000
#define bRxHPCCKIni               	0xc0000
#define bAGCTxCode                	0xc00000
#define bAGCRxCode                	0x300000
#define b3WireDataLength          	0x800
#define b3WireAddressLength       	0x400
#define b3WireRFPowerDown         	0x1
/*#define bHWSISelect               	0x8 */
#define b5GPAPEPolarity           	0x40000000
#define b2GPAPEPolarity           	0x80000000
#define bRFSW_TxDefaultAnt        	0x3
#define bRFSW_TxOptionAnt         	0x30
#define bRFSW_RxDefaultAnt        	0x300
#define bRFSW_RxOptionAnt         	0x3000
#define bRFSI_3WireData           	0x1
#define bRFSI_3WireClock          	0x2
#define bRFSI_3WireLoad           	0x4
#define bRFSI_3WireRW             	0x8
/* 3-wire total control */
#define bRFSI_3Wire               	0xf
#define bRFSI_RFENV               	0x10
#define bRFSI_TRSW                	0x20
#define bRFSI_TRSWB               	0x40
#define bRFSI_ANTSW               	0x100
#define bRFSI_ANTSWB              	0x200
#define bRFSI_PAPE                	0x400
#define bRFSI_PAPE5G              	0x800
#define bBandSelect               	0x1
#define bHTSIG2_GI                	0x80
#define bHTSIG2_Smoothing         	0x01
#define bHTSIG2_Sounding          	0x02
#define bHTSIG2_Aggreaton         	0x08
#define bHTSIG2_STBC              	0x30
#define bHTSIG2_AdvCoding         	0x40
#define bHTSIG2_NumOfHTLTF        	0x300
#define bHTSIG2_CRC8              	0x3fc
#define bHTSIG1_MCS               	0x7f
#define bHTSIG1_BandWidth         	0x80
#define bHTSIG1_HTLength          	0xffff
#define bLSIG_Rate                	0xf
#define bLSIG_Reserved            	0x10
#define bLSIG_Length              	0x1fffe
#define bLSIG_Parity              	0x20
#define bCCKRxPhase               	0x4
/* LSSI "read" address */
#define bLSSIReadAddress          	0x3f000000
/* LSSI "read" edge signal */
#define bLSSIReadEdge             	0x80000000
#define bLSSIReadBackData         	0xfff
#define bLSSIReadOKFlag           	0x1000
/* 0: 44 MHz, 1: 88MHz */
#define bCCKSampleRate            	0x8

#define bRegulator0Standby        	0x1
#define bRegulatorPLLStandby      	0x2
#define bRegulator1Standby        	0x4
#define bPLLPowerUp               	0x8
#define bDPLLPowerUp              	0x10
#define bDA10PowerUp              	0x20
#define bAD7PowerUp               	0x200
#define bDA6PowerUp               	0x2000
#define bXtalPowerUp              	0x4000
#define b40MDClkPowerUP           	0x8000
#define bDA6DebugMode             	0x20000
#define bDA6Swing                 	0x380000
#define bADClkPhase               	0x4000000
#define b80MClkDelay              	0x18000000
#define bAFEWatchDogEnable        	0x20000000
#define bXtalCap                	0x0f000000
#define bXtalCap01                	0xc0000000
#define bXtalCap23                	0x3
#define bXtalCap92x			0x0f000000
#define bIntDifClkEnable          	0x400
#define bExtSigClkEnable         	0x800
#define bBandgapMbiasPowerUp      	0x10000
#define bAD11SHGain               	0xc0000
#define bAD11InputRange           	0x700000
#define bAD11OPCurrent            	0x3800000
#define bIPathLoopback            	0x4000000
#define bQPathLoopback            	0x8000000
#define bAFELoopback              	0x10000000
#define bDA10Swing                	0x7e0
#define bDA10Reverse              	0x800
#define bDAClkSource              	0x1000
#define bAD7InputRange            	0x6000
#define bAD7Gain                  	0x38000
#define bAD7OutputCMMode          	0x40000
#define bAD7InputCMMode           	0x380000
#define bAD7Current               	0xc00000
#define bRegulatorAdjust          	0x7000000
#define bAD11PowerUpAtTx          	0x1
#define bDA10PSAtTx               	0x10
#define bAD11PowerUpAtRx          	0x100
#define bDA10PSAtRx               	0x1000

#define bCCKRxAGCFormat           	0x200

#define bPSDFFTSamplepPoint       	0xc000
#define bPSDAverageNum            	0x3000
#define bIQPathControl            	0xc00
#define bPSDFreq                  	0x3ff
#define bPSDAntennaPath           	0x30
#define bPSDIQSwitch              	0x40
#define bPSDRxTrigger             	0x400000
#define bPSDTxTrigger             	0x80000000
#define bPSDSineToneScale        	0x7f000000
#define bPSDReport                	0xffff

/* Page 8 */
#define bOFDMTxSC                 	0x30000000
#define bCCKTxOn                  	0x1
#define bOFDMTxOn                 	0x2
/* Reset debug page and also HWord, LWord */
#define bDebugPage                	0xfff
/* Reset debug page and LWord */
#define bDebugItem                	0xff
#define bAntL              	       	0x10
#define bAntNonHT           	      	0x100
#define bAntHT1               		0x1000
#define bAntHT2                   	0x10000
#define bAntHT1S1                 	0x100000
#define bAntNonHTS1               	0x1000000

/* Page a */
#define bCCKBBMode                	0x3
#define bCCKTxPowerSaving         	0x80
#define bCCKRxPowerSaving         	0x40
#define bCCKSideBand              	0x10
#define bCCKScramble              	0x8
#define bCCKAntDiversity    		0x8000
#define bCCKCarrierRecovery   	    	0x4000
#define bCCKTxRate           		0x3000
#define bCCKDCCancel             	0x0800
#define bCCKISICancel             	0x0400
#define bCCKMatchFilter           	0x0200
#define bCCKEqualizer             	0x0100
#define bCCKPreambleDetect       	0x800000
#define bCCKFastFalseCCA          	0x400000
#define bCCKChEstStart            	0x300000
#define bCCKCCACount              	0x080000
#define bCCKcs_lim                	0x070000
#define bCCKBistMode              	0x80000000
#define bCCKCCAMask             	0x40000000
#define bCCKTxDACPhase         	   	0x4
/* r_rx_clk */
#define bCCKRxADCPhase         	 	0x20000000
#define bCCKr_cp_mode0         	   	0x0100
#define bCCKTxDCOffset           	0xf0
#define bCCKRxDCOffset         		0xf
#define bCCKCCAMode              	0xc000
#define bCCKFalseCS_lim           	0x3f00
#define bCCKCS_ratio              	0xc00000
#define bCCKCorgBit_sel           	0x300000
#define bCCKPD_lim                	0x0f0000
#define bCCKNewCCA                	0x80000000
#define bCCKRxHPofIG              	0x8000
#define bCCKRxIG                  	0x7f00
#define bCCKLNAPolarity           	0x800000
#define bCCKRx1stGain             	0x7f0000
/* CCK Rx Initial gain polarity */
#define bCCKRFExtend              	0x20000000
#define bCCKRxAGCSatLevel        	0x1f000000
#define bCCKRxAGCSatCount       	0xe0
/* AGCSAmp_dly */
#define bCCKRxRFSettle            	0x1f
#define bCCKFixedRxAGC           	0x8000
/*#define bCCKRxAGCFormat         	0x4000  remove to HSSI register 0x824 */
#define bCCKAntennaPolarity      	0x2000
#define bCCKTxFilterType          	0x0c00
#define bCCKRxAGCReportType   	   	0x0300
#define bCCKRxDAGCEn              	0x80000000
#define bCCKRxDAGCPeriod        	0x20000000
#define bCCKRxDAGCSatLevel     	   	0x1f000000
#define bCCKTimingRecovery       	0x800000
#define bCCKTxC0                  	0x3f0000
#define bCCKTxC1                  	0x3f000000
#define bCCKTxC2                  	0x3f
#define bCCKTxC3                  	0x3f00
#define bCCKTxC4                  	0x3f0000
#define bCCKTxC5                  	0x3f000000
#define bCCKTxC6                  	0x3f
#define bCCKTxC7                  	0x3f00
#define bCCKDebugPort             	0xff0000
#define bCCKDACDebug              	0x0f000000
#define bCCKFalseAlarmEnable      	0x8000
#define bCCKFalseAlarmRead        	0x4000
#define bCCKTRSSI                 	0x7f
#define bCCKRxAGCReport           	0xfe
#define bCCKRxReport_AntSel       	0x80000000
#define bCCKRxReport_MFOff        	0x40000000
#define bCCKRxRxReport_SQLoss     	0x20000000
#define bCCKRxReport_Pktloss      	0x10000000
#define bCCKRxReport_Lockedbit    	0x08000000
#define bCCKRxReport_RateError    	0x04000000
#define bCCKRxReport_RxRate       	0x03000000
#define bCCKRxFACounterLower      	0xff
#define bCCKRxFACounterUpper      	0xff000000
#define bCCKRxHPAGCStart          	0xe000
#define bCCKRxHPAGCFinal          	0x1c00

#define bCCKRxFalseAlarmEnable    	0x8000
#define bCCKFACounterFreeze       	0x4000

#define bCCKTxPathSel             	0x10000000
#define bCCKDefaultRxPath         	0xc000000
#define bCCKOptionRxPath          	0x3000000

/* Page c */
#define bNumOfSTF                	0x3
#define bShift_L                 	0xc0
#define bGI_TH                   	0xc
#define bRxPathA                 	0x1
#define bRxPathB                 	0x2
#define bRxPathC                 	0x4
#define bRxPathD                 	0x8
#define bTxPathA                 	0x1
#define bTxPathB                 	0x2
#define bTxPathC                 	0x4
#define bTxPathD                 	0x8
#define bTRSSIFreq               	0x200
#define bADCBackoff              	0x3000
#define bDFIRBackoff             	0xc000
#define bTRSSILatchPhase         	0x10000
#define bRxIDCOffset             	0xff
#define bRxQDCOffset             	0xff00
#define bRxDFIRMode              	0x1800000
#define bRxDCNFType              	0xe000000
#define bRXIQImb_A               	0x3ff
#define bRXIQImb_B               	0xfc00
#define bRXIQImb_C               	0x3f0000
#define bRXIQImb_D               	0xffc00000
#define bDC_dc_Notch             	0x60000
#define bRxNBINotch              	0x1f000000
#define bPD_TH                   	0xf
#define bPD_TH_Opt2              	0xc000
#define bPWED_TH                 	0x700
#define bIfMF_Win_L              	0x800
#define bPD_Option               	0x1000
#define bMF_Win_L                	0xe000
#define bBW_Search_L             	0x30000
#define bwin_enh_L               	0xc0000
#define bBW_TH                   	0x700000
#define bED_TH2                  	0x3800000
#define bBW_option               	0x4000000
#define bRatio_TH                	0x18000000
#define bWindow_L                	0xe0000000
#define bSBD_Option              	0x1
#define bFrame_TH                	0x1c
#define bFS_Option               	0x60
#define bDC_Slope_check          	0x80
#define bFGuard_Counter_DC_L     	0xe00
#define bFrame_Weight_Short      	0x7000
#define bSub_Tune                	0xe00000
#define bFrame_DC_Length         	0xe000000
#define bSBD_start_offset        	0x30000000
#define bFrame_TH_2              	0x7
#define bFrame_GI2_TH            	0x38
#define bGI2_Sync_en             	0x40
#define bSarch_Short_Early       	0x300
#define bSarch_Short_Late        	0xc00
#define bSarch_GI2_Late          	0x70000
#define bCFOAntSum               	0x1
#define bCFOAcc                  	0x2
#define bCFOStartOffset          	0xc
#define bCFOLookBack             	0x70
#define bCFOSumWeight            	0x80
#define bDAGCEnable              	0x10000
#define bTXIQImb_A               	0x3ff
#define bTXIQImb_B               	0xfc00
#define bTXIQImb_C               	0x3f0000
#define bTXIQImb_D               	0xffc00000
#define bTxIDCOffset             	0xff
#define bTxQDCOffset             	0xff00
#define bTxDFIRMode              	0x10000
#define bTxPesudoNoiseOn         	0x4000000
#define bTxPesudoNoise_A         	0xff
#define bTxPesudoNoise_B         	0xff00
#define bTxPesudoNoise_C         	0xff0000
#define bTxPesudoNoise_D         	0xff000000
#define bCCADropOption           	0x20000
#define bCCADropThres            	0xfff00000
#define bEDCCA_H                 	0xf
#define bEDCCA_L                 	0xf0
#define bLambda_ED               	0x300
#define bRxInitialGain           	0x7f
#define bRxAntDivEn              	0x80
#define bRxAGCAddressForLNA      	0x7f00
#define bRxHighPowerFlow         	0x8000
#define bRxAGCFreezeThres        	0xc0000
#define bRxFreezeStep_AGC1       	0x300000
#define bRxFreezeStep_AGC2       	0xc00000
#define bRxFreezeStep_AGC3       	0x3000000
#define bRxFreezeStep_AGC0       	0xc000000
#define bRxRssi_Cmp_En           	0x10000000
#define bRxQuickAGCEn            	0x20000000
#define bRxAGCFreezeThresMode    	0x40000000
#define bRxOverFlowCheckType     	0x80000000
#define bRxAGCShift              	0x7f
#define bTRSW_Tri_Only           	0x80
#define bPowerThres              	0x300
#define bRxAGCEn                	0x1
#define bRxAGCTogetherEn         	0x2
#define bRxAGCMin                	0x4
#define bRxHP_Ini                	0x7
#define bRxHP_TRLNA              	0x70
#define bRxHP_RSSI               	0x700
#define bRxHP_BBP1               	0x7000
#define bRxHP_BBP2               	0x70000
#define bRxHP_BBP3               	0x700000
/* The threshold for high power */
#define bRSSI_H                  	0x7f0000
/* The threshold for ant diversity */
#define bRSSI_Gen                	0x7f000000
#define bRxSettle_TRSW           	0x7
#define bRxSettle_LNA            	0x38
#define bRxSettle_RSSI           	0x1c0
#define bRxSettle_BBP            	0xe00
#define bRxSettle_RxHP           	0x7000
#define bRxSettle_AntSW_RSSI     	0x38000
#define bRxSettle_AntSW          	0xc0000
#define bRxProcessTime_DAGC      	0x300000
#define bRxSettle_HSSI           	0x400000
#define bRxProcessTime_BBPPW     	0x800000
#define bRxAntennaPowerShift     	0x3000000
#define bRSSITableSelect         	0xc000000
#define bRxHP_Final              	0x7000000
#define bRxHTSettle_BBP          	0x7
#define bRxHTSettle_HSSI         	0x8
#define bRxHTSettle_RxHP         	0x70
#define bRxHTSettle_BBPPW        	0x80
#define bRxHTSettle_Idle         	0x300
#define bRxHTSettle_Reserved     	0x1c00
#define bRxHTRxHPEn              	0x8000
#define bRxHTAGCFreezeThres      	0x30000
#define bRxHTAGCTogetherEn       	0x40000
#define bRxHTAGCMin              	0x80000
#define bRxHTAGCEn               	0x100000
#define bRxHTDAGCEn              	0x200000
#define bRxHTRxHP_BBP            	0x1c00000
#define bRxHTRxHP_Final          	0xe0000000
#define bRxPWRatioTH             	0x3
#define bRxPWRatioEn             	0x4
#define bRxMFHold                	0x3800
#define bRxPD_Delay_TH1          	0x38
#define bRxPD_Delay_TH2          	0x1c0
#define bRxPD_DC_COUNT_MAX       	0x600
/*#define bRxMF_Hold               	0x3800*/
#define bRxPD_Delay_TH           0x8000
#define bRxProcess_Delay         0xf0000
#define bRxSearchrange_GI2_Early 0x700000
#define bRxFrame_Guard_Counter_L 0x3800000
#define bRxSGI_Guard_L           0xc000000
#define bRxSGI_Search_L          0x30000000
#define bRxSGI_TH                0xc0000000
#define bDFSCnt0                 0xff
#define bDFSCnt1                 0xff00
#define bDFSFlag                 0xf0000

#define bMFWeightSum             0x300000
#define bMinIdxTH                0x7f000000

#define bDAFormat                0x40000

#define bTxChEmuEnable           0x01000000

#define bTRSWIsolation_A         0x7f
#define bTRSWIsolation_B         0x7f00
#define bTRSWIsolation_C         0x7f0000
#define bTRSWIsolation_D         0x7f000000

#define bExtLNAGain              0x7c00

/* Page d */
#define bSTBCEn                  0x4
#define bAntennaMapping          0x10
#define bNss                     0x20
#define bCFOAntSumD              0x200
#define bPHYCounterReset         0x8000000
#define bCFOReportGet            0x4000000
#define bOFDMContinueTx          0x10000000
#define bOFDMSingleCarrier       0x20000000
#define bOFDMSingleTone          0x40000000
/*#define bRxPath1                 0x01
#define bRxPath2                 0x02
#define bRxPath3                 0x04
#define bRxPath4                 0x08
#define bTxPath1                 0x10
#define bTxPath2                 0x20*/
#define bHTDetect                0x100
#define bCFOEn                   0x10000
#define bCFOValue                0xfff00000
#define bSigTone_Re              0x3f
#define bSigTone_Im              0x7f00
#define bCounter_CCA             0xffff
#define bCounter_ParityFail      0xffff0000
#define bCounter_RateIllegal     0xffff
#define bCounter_CRC8Fail        0xffff0000
#define bCounter_MCSNoSupport    0xffff
#define bCounter_FastSync        0xffff
#define bShortCFO                0xfff
/* total */
#define bShortCFOTLength         12
/* fraction */
#define bShortCFOFLength         11
#define bLongCFO                 0x7ff
#define bLongCFOTLength          11
#define bLongCFOFLength          11
#define bTailCFO                 0x1fff
#define bTailCFOTLength          13
#define bTailCFOFLength          12

#define bmax_en_pwdB             0xffff
#define bCC_power_dB             0xffff0000
#define bnoise_pwdB              0xffff
#define bPowerMeasTLength        10
#define bPowerMeasFLength        3
#define bRx_HT_BW                0x1
#define bRxSC                    0x6
#define bRx_HT                   0x8

#define bNB_intf_det_on          0x1
#define bIntf_win_len_cfg        0x30
#define bNB_Intf_TH_cfg          0x1c0

#define bRFGain                  0x3f
#define bTableSel                0x40
#define bTRSW                    0x80

#define bRxSNR_A                 0xff
#define bRxSNR_B                 0xff00
#define bRxSNR_C                 0xff0000
#define bRxSNR_D                 0xff000000
#define bSNREVMTLength           8
#define bSNREVMFLength           1

#define bCSI1st                  0xff
#define bCSI2nd                  0xff00
#define bRxEVM1st                0xff0000
#define bRxEVM2nd                0xff000000

#define bSIGEVM                  0xff
#define bPWDB                    0xff00
#define bSGIEN                   0x10000

#define bSFactorQAM1             0xf
#define bSFactorQAM2             0xf0
#define bSFactorQAM3             0xf00
#define bSFactorQAM4             0xf000
#define bSFactorQAM5             0xf0000
#define bSFactorQAM6             0xf0000
#define bSFactorQAM7             0xf00000
#define bSFactorQAM8             0xf000000
#define bSFactorQAM9             0xf0000000
#define bCSIScheme               0x100000

#define bNoiseLvlTopSet          0x3
#define bChSmooth                0x4
#define bChSmoothCfg1            0x38
#define bChSmoothCfg2            0x1c0
#define bChSmoothCfg3            0xe00
#define bChSmoothCfg4            0x7000
#define bMRCMode                 0x800000
#define bTHEVMCfg                0x7000000

#define bLoopFitType             0x1
#define bUpdCFO                  0x40
#define bUpdCFOOffData           0x80
#define bAdvUpdCFO               0x100
#define bAdvTimeCtrl             0x800
#define bUpdClko                 0x1000
#define bFC                      0x6000
#define bTrackingMode            0x8000
#define bPhCmpEnable             0x10000
#define bUpdClkoLTF              0x20000
#define bComChCFO                0x40000
#define bCSIEstiMode             0x80000
#define bAdvUpdEqz               0x100000
#define bUChCfg                  0x7000000
#define bUpdEqz                  0x8000000

/* Page e */
#define bTxAGCRate18_06		0x7f7f7f7f
#define bTxAGCRate54_24		0x7f7f7f7f
#define bTxAGCRateMCS32		0x7f
#define bTxAGCRateCCK		0x7f00
#define bTxAGCRateMCS3_MCS0	0x7f7f7f7f
#define bTxAGCRateMCS7_MCS4	0x7f7f7f7f
#define bTxAGCRateMCS11_MCS8	0x7f7f7f7f
#define bTxAGCRateMCS15_MCS12	0x7f7f7f7f


/* Rx Pseduo noise */
#define bRxPesudoNoiseOn         0x20000000
#define bRxPesudoNoise_A         0xff
#define bRxPesudoNoise_B         0xff00
#define bRxPesudoNoise_C         0xff0000
#define bRxPesudoNoise_D         0xff000000
#define bPesudoNoiseState_A      0xffff
#define bPesudoNoiseState_B      0xffff0000
#define bPesudoNoiseState_C      0xffff
#define bPesudoNoiseState_D      0xffff0000

/* RF Zebra 1 */
#define bZebra1_HSSIEnable        0x8
#define bZebra1_TRxControl        0xc00
#define bZebra1_TRxGainSetting    0x07f
#define bZebra1_RxCorner          0xc00
#define bZebra1_TxChargePump      0x38
#define bZebra1_RxChargePump      0x7
#define bZebra1_ChannelNum        0xf80
#define bZebra1_TxLPFBW           0x400
#define bZebra1_RxLPFBW           0x600

/* Zebra4 */
#define bRTL8256RegModeCtrl1      0x100
#define bRTL8256RegModeCtrl0      0x40
#define bRTL8256_TxLPFBW          0x18
#define bRTL8256_RxLPFBW          0x600

//RTL8258
#define bRTL8258_TxLPFBW          0xc
#define bRTL8258_RxLPFBW          0xc00
#define bRTL8258_RSSILPFBW        0xc0

/* byte enable for sb_write */
#define bByte0                    0x1
#define bByte1                    0x2
#define bByte2                    0x4
#define bByte3                    0x8
#define bWord0                    0x3
#define bWord1                    0xc
#define bDWord                    0xf

/* for PutRegsetting & GetRegSetting BitMask */
#define bMaskByte0                0xff
#define bMaskByte1                0xff00
#define bMaskByte2                0xff0000
#define bMaskByte3                0xff000000
#define bMaskHWord                0xffff0000
#define bMaskLWord                0x0000ffff
#define bMaskDWord                0xffffffff

/* for PutRFRegsetting & GetRFRegSetting BitMask */
#define bMask12Bits               0xfff

#define bEnable                   0x1
#define bDisable                  0x0

#define LeftAntenna               0x0
#define RightAntenna              0x1

/* 500 ms */
#define tCheckTxStatus            500
/* 100 ms */
#define tUpdateRxCounter          100

#define rateCCK     0
#define rateOFDM    1
#define rateHT      2

/* define Register-End */
#define bPMAC_End                 0x1ff
#define bFPGAPHY0_End             0x8ff
#define bFPGAPHY1_End             0x9ff
#define bCCKPHY0_End              0xaff
#define bOFDMPHY0_End             0xcff
#define bOFDMPHY1_End             0xdff

#define bPMACControl              0x0
#define bWMACControl              0x1
#define bWNICControl              0x2

#define PathA                     0x0
#define PathB                     0x1
#define PathC                     0x2
#define PathD                     0x3

#define rRTL8256RxMixerPole	0xb
#define bZebraRxMixerPole	0x6
#define rRTL8256TxBBOPBias	0x9
#define bRTL8256TxBBOPBias	0x400
#define rRTL8256TxBBBW		19
#define bRTL8256TxBBBW		0x18


#endif	/* __INC_HAL8190PCIPHYREG_H */