summaryrefslogtreecommitdiff
path: root/drivers/staging/rtl8723au/include/Hal8723APhyReg.h
blob: 759928f78d6d1ad1df9f35c5c5252db73e4fbe0e (plain)
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
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
/******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 *
 ******************************************************************************/
#ifndef __INC_HAL8723APHYREG_H__
#define __INC_HAL8723APHYREG_H__

/*  1. PMAC duplicate register due to connection: RF_Mode, TRxRN, NumOf L-STF */
/*  1. Page1(0x100) */
#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

/*  2. Page2(0x200) */
/*  The following two definition are only used for USB interface. */
#define RF_BB_CMD_ADDR		0x02c0	/*  RF/BB read/write command address. */
#define RF_BB_CMD_DATA		0x02c4	/*  RF/BB read/write command data. */

/*  3. Page8(0x800) */
#define rFPGA0_RFMOD		0x800	/* RF mode & CCK TxSC  RF BW Setting?? */

#define rFPGA0_TxInfo		0x804	/*  Status report?? */
#define rFPGA0_PSDFunction	0x808

#define rFPGA0_TxGainStage	0x80c	/*  Set TX PWR init gain? */

#define rFPGA0_RFTiming1	0x810	/*  Useless now */
#define rFPGA0_RFTiming2	0x814

#define rFPGA0_XA_HSSIParameter1	0x820	/*  RF 3 wire register */
#define rFPGA0_XA_HSSIParameter2	0x824
#define rFPGA0_XB_HSSIParameter1	0x828
#define rFPGA0_XB_HSSIParameter2	0x82c
#define rTxAGC_B_Rate18_06		0x830
#define rTxAGC_B_Rate54_24		0x834
#define rTxAGC_B_CCK1_55_Mcs32		0x838
#define rTxAGC_B_Mcs03_Mcs00		0x83c

#define rTxAGC_B_Mcs07_Mcs04		0x848
#define rTxAGC_B_Mcs11_Mcs08		0x84c

#define rFPGA0_XA_LSSIParameter		0x840
#define rFPGA0_XB_LSSIParameter		0x844

#define rFPGA0_RFWakeUpParameter	0x850	/*  Useless now */
#define rFPGA0_RFSleepUpParameter	0x854

#define rFPGA0_XAB_SwitchControl	0x858	/*  RF Channel switch */
#define rFPGA0_XCD_SwitchControl	0x85c

#define rFPGA0_XA_RFInterfaceOE		0x860	/*  RF Channel switch */
#define rFPGA0_XB_RFInterfaceOE		0x864

#define rTxAGC_B_Mcs15_Mcs12		0x868
#define rTxAGC_B_CCK11_A_CCK2_11	0x86c

#define rFPGA0_XAB_RFInterfaceSW	0x870	/*  RF Interface Software Control */
#define rFPGA0_XCD_RFInterfaceSW	0x874

#define rFPGA0_XAB_RFParameter		0x878	/*  RF Parameter */
#define rFPGA0_XCD_RFParameter		0x87c

#define rFPGA0_AnalogParameter1		0x880	/*  Crystal cap setting RF-R/W protection for parameter4?? */
#define rFPGA0_AnalogParameter2		0x884
#define rFPGA0_AnalogParameter3		0x888	/*  Useless now */
#define rFPGA0_AnalogParameter4		0x88c

#define rFPGA0_XA_LSSIReadBack		0x8a0	/*  Tranceiver LSSI Readback */
#define rFPGA0_XB_LSSIReadBack		0x8a4
#define rFPGA0_XC_LSSIReadBack		0x8a8
#define rFPGA0_XD_LSSIReadBack		0x8ac

#define rFPGA0_PSDReport		0x8b4	/*  Useless now */
#define TransceiverA_HSPI_Readback	0x8b8	/*  Transceiver A HSPI Readback */
#define TransceiverB_HSPI_Readback	0x8bc	/*  Transceiver B HSPI Readback */
#define rFPGA0_XAB_RFInterfaceRB	0x8e0	/*  Useless now RF Interface Readback Value */
#define rFPGA0_XCD_RFInterfaceRB	0x8e4	/*  Useless now */

/*  4. Page9(0x900) */
#define rFPGA1_RFMOD			0x900	/* RF mode & OFDM TxSC RF BW Setting?? */

#define rFPGA1_TxBlock			0x904	/*  Useless now */
#define rFPGA1_DebugSelect		0x908	/*  Useless now */
#define rFPGA1_TxInfo			0x90c	/*  Useless now Status report?? */

/*  5. PageA(0xA00) */
/*  Set Control channel to upper or lower. These settings are required only for 40MHz */
#define rCCK0_System			0xa00

#define rCCK0_AFESetting		0xa04	/*  Disable init gain now Select RX path by RSSI */
#define rCCK0_CCA			0xa08	/*  Disable init gain now Init gain */

#define rCCK0_RxAGC1			0xa0c	/* AGC default value, saturation level Antenna Diversity, RX AGC, LNA Threshold, RX LNA Threshold useless now. Not the same as 90 series */
#define rCCK0_RxAGC2			0xa10	/* AGC & DAGC */

#define rCCK0_RxHP			0xa14

#define rCCK0_DSPParameter1		0xa18	/* Timing recovery & Channel estimation threshold */
#define rCCK0_DSPParameter2		0xa1c	/* SQ threshold */

#define rCCK0_TxFilter1			0xa20
#define rCCK0_TxFilter2			0xa24
#define rCCK0_DebugPort			0xa28	/* debug port and Tx filter3 */
#define rCCK0_FalseAlarmReport		0xa2c	/* 0xa2d	useless now 0xa30-a4f channel report */
#define rCCK0_TRSSIReport		0xa50
#define rCCK0_RxReport			0xa54  /* 0xa57 */
#define rCCK0_FACounterLower		0xa5c  /* 0xa5b */
#define rCCK0_FACounterUpper		0xa58  /* 0xa5c */
/*  PageB(0xB00) */
#define rPdp_AntA			0xb00
#define rPdp_AntA_4			0xb04
#define rConfig_Pmpd_AntA		0xb28
#define rConfig_AntA			0xb68
#define rConfig_AntB			0xb6c
#define rPdp_AntB			0xb70
#define rPdp_AntB_4			0xb74
#define rConfig_Pmpd_AntB		0xb98
#define rAPK				0xbd8

/*  6. PageC(0xC00) */
#define rOFDM0_LSTF			0xc00

#define rOFDM0_TRxPathEnable		0xc04
#define rOFDM0_TRMuxPar			0xc08
#define rOFDM0_TRSWIsolation		0xc0c

#define rOFDM0_XARxAFE			0xc10  /* RxIQ DC offset, Rx digital filter, DC notch filter */
#define rOFDM0_XARxIQImbalance		0xc14  /* RxIQ imblance matrix */
#define rOFDM0_XBRxAFE			0xc18
#define rOFDM0_XBRxIQImbalance		0xc1c
#define rOFDM0_XCRxAFE			0xc20
#define rOFDM0_XCRxIQImbalance		0xc24
#define rOFDM0_XDRxAFE			0xc28
#define rOFDM0_XDRxIQImbalance		0xc2c

#define rOFDM0_RxDetector1		0xc30  /* PD,BW & SBD	DM tune init gain */
#define rOFDM0_RxDetector2		0xc34  /* SBD & Fame Sync. */
#define rOFDM0_RxDetector3		0xc38  /* Frame Sync. */
#define rOFDM0_RxDetector4		0xc3c  /* PD, SBD, Frame Sync & Short-GI */

#define rOFDM0_RxDSP			0xc40  /* Rx Sync Path */
#define rOFDM0_CFOandDAGC		0xc44  /* CFO & DAGC */
#define rOFDM0_CCADropThreshold	0xc48 /* CCA Drop threshold */
#define rOFDM0_ECCAThreshold		0xc4c /*  energy CCA */

#define rOFDM0_XAAGCCore1		0xc50	/*  DIG */
#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	/*  TX PWR TRACK and DIG */
#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_RxIQExtAnta		0xca0
#define rOFDM0_TxCoeff1			0xca4
#define rOFDM0_TxCoeff2			0xca8
#define rOFDM0_TxCoeff3			0xcac
#define rOFDM0_TxCoeff4			0xcb0
#define rOFDM0_TxCoeff5			0xcb4
#define rOFDM0_TxCoeff6			0xcb8
#define rOFDM0_RxHPParameter		0xce0
#define rOFDM0_TxPseudoNoiseWgt		0xce4
#define rOFDM0_FrameSync		0xcf0
#define rOFDM0_DFSReport		0xcf4

/*  7. PageD(0xD00) */
#define rOFDM1_LSTF			0xd00
#define rOFDM1_TRxPathEnable		0xd04

#define rOFDM1_CFO			0xd08	/*  No setting now */
#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

#define rOFDM_PHYCounter1		0xda0  /* cca, parity fail */
#define rOFDM_PHYCounter2		0xda4  /* rate illegal, crc8 fail */
#define rOFDM_PHYCounter3		0xda8  /* MCS not support */

#define rOFDM_ShortCFOAB		0xdac	/*  No setting now */
#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


/*  8. PageE(0xE00) */
#define rTxAGC_A_Rate18_06		0xe00
#define rTxAGC_A_Rate54_24		0xe04
#define rTxAGC_A_CCK1_Mcs32		0xe08
#define rTxAGC_A_Mcs03_Mcs00		0xe10
#define rTxAGC_A_Mcs07_Mcs04		0xe14
#define rTxAGC_A_Mcs11_Mcs08		0xe18
#define rTxAGC_A_Mcs15_Mcs12		0xe1c

#define rFPGA0_IQK			0xe28
#define rTx_IQK_Tone_A			0xe30
#define rRx_IQK_Tone_A			0xe34
#define rTx_IQK_PI_A			0xe38
#define rRx_IQK_PI_A			0xe3c

#define rTx_IQK				0xe40
#define rRx_IQK				0xe44
#define rIQK_AGC_Pts			0xe48
#define rIQK_AGC_Rsp			0xe4c
#define rTx_IQK_Tone_B			0xe50
#define rRx_IQK_Tone_B			0xe54
#define rTx_IQK_PI_B			0xe58
#define rRx_IQK_PI_B			0xe5c
#define rIQK_AGC_Cont			0xe60

#define rBlue_Tooth			0xe6c
#define rRx_Wait_CCA			0xe70
#define rTx_CCK_RFON			0xe74
#define rTx_CCK_BBON			0xe78
#define rTx_OFDM_RFON			0xe7c
#define rTx_OFDM_BBON			0xe80
#define rTx_To_Rx			0xe84
#define rTx_To_Tx			0xe88
#define rRx_CCK				0xe8c

#define rTx_Power_Before_IQK_A		0xe94
#define rTx_Power_After_IQK_A		0xe9c

#define rRx_Power_Before_IQK_A		0xea0
#define rRx_Power_Before_IQK_A_2	0xea4
#define rRx_Power_After_IQK_A		0xea8
#define rRx_Power_After_IQK_A_2		0xeac

#define rTx_Power_Before_IQK_B		0xeb4
#define rTx_Power_After_IQK_B		0xebc

#define rRx_Power_Before_IQK_B		0xec0
#define rRx_Power_Before_IQK_B_2	0xec4
#define rRx_Power_After_IQK_B		0xec8
#define rRx_Power_After_IQK_B_2		0xecc

#define rRx_OFDM			0xed0
#define rRx_Wait_RIFS			0xed4
#define rRx_TO_Rx			0xed8
#define rStandby			0xedc
#define rSleep				0xee0
#define rPMPD_ANAEN			0xeec

/*  7. RF Register 0x00-0x2E (RF 8256) */
/*     RF-0222D 0x00-3F */
/* Zebra1 */
#define rZebra1_HSSIEnable		0x0	/*  Useless now */
#define rZebra1_TRxEnable1		0x1
#define rZebra1_TRxEnable2		0x2
#define rZebra1_AGC			0x4
#define rZebra1_ChargePump		0x5
#define rZebra1_Channel			0x7	/*  RF channel switch */

#define rZebra1_TxGain			0x8	/*  Useless now */
#define rZebra1_TxLPF			0x9
#define rZebra1_RxLPF			0xb
#define rZebra1_RxHPFCorner		0xc

/* Zebra4 */
#define rGlobalCtrl			0	/*  Useless now */
#define rRTL8256_TxLPF			19
#define rRTL8256_RxLPF			11

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

/*  RL6052 Register definition */
#define RF_AC				0x00
#define RF_IQADJ_G1			0x01
#define RF_IQADJ_G2			0x02
#define RF_BS_PA_APSET_G1_G4		0x03
#define RF_BS_PA_APSET_G5_G8		0x04
#define RF_POW_TRSW			0x05
#define RF_GAIN_RX			0x06
#define RF_GAIN_TX			0x07
#define RF_TXM_IDAC			0x08
#define RF_IPA_G			0x09
#define RF_TXBIAS_G			0x0A
#define RF_TXPA_AG			0x0B
#define RF_IPA_A			0x0C
#define RF_TXBIAS_A			0x0D
#define RF_BS_PA_APSET_G9_G11		0x0E
#define RF_BS_IQGEN			0x0F
#define RF_MODE1			0x10
#define RF_MODE2			0x11
#define RF_RX_AGC_HP			0x12
#define RF_TX_AGC			0x13
#define RF_BIAS				0x14
#define RF_IPA				0x15
#define RF_TXBIAS			0x16
#define RF_POW_ABILITY			0x17
#define RF_MODE_AG			0x18
#define rRfChannel			0x18	/*  RF channel and BW switch */
#define RF_CHNLBW			0x18	/*  RF channel and BW switch */
#define RF_TOP				0x19
#define RF_RX_G1			0x1A
#define RF_RX_G2			0x1B
#define RF_RX_BB2			0x1C
#define RF_RX_BB1			0x1D
#define RF_RCK1				0x1E
#define RF_RCK2				0x1F
#define RF_TX_G1			0x20
#define RF_TX_G2			0x21
#define RF_TX_G3			0x22
#define RF_TX_BB1			0x23
#define RF_T_METER			0x24
#define RF_SYN_G1			0x25	/*  RF TX Power control */
#define RF_SYN_G2			0x26	/*  RF TX Power control */
#define RF_SYN_G3			0x27	/*  RF TX Power control */
#define RF_SYN_G4			0x28	/*  RF TX Power control */
#define RF_SYN_G5			0x29	/*  RF TX Power control */
#define RF_SYN_G6			0x2A	/*  RF TX Power control */
#define RF_SYN_G7			0x2B	/*  RF TX Power control */
#define RF_SYN_G8			0x2C	/*  RF TX Power control */

#define RF_RCK_OS			0x30	/*  RF TX PA control */

#define RF_TXPA_G1			0x31	/*  RF TX PA control */
#define RF_TXPA_G2			0x32	/*  RF TX PA control */
#define RF_TXPA_G3			0x33	/*  RF TX PA control */

/* Bit Mask */
/*  1. Page1(0x100) */
#define bBBResetB			0x100	/*  Useless now? */
#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

#define IS_BB_REG_OFFSET_92S(_Offset)			\
	((_Offset >= 0x800) && (_Offset <= 0xfff))

/*  2. Page8(0x800) */
#define bRFMOD				0x1	/*  Reg 0x800 rFPGA0_RFMOD */
#define bJapanMode			0x2
#define bCCKTxSC			0x30
#define bCCKEn				0x1000000
#define bOFDMEn				0x2000000

#define bOFDMRxADCPhase			0x10000	/*  Useless now */
#define bOFDMTxDACPhase			0x40000
#define bXATxAGC			0x3f

#define bAntennaSelect			0x0300

#define bXBTxAGC			0xf00	/*  Reg 80c rFPGA0_TxGainStage */
#define bXCTxAGC			0xf000
#define bXDTxAGC			0xf0000

#define bPAStart			0xf0000000	/*  Useless now */
#define bTRStart			0x00f00000
#define bRFStart			0x0000f000
#define bBBStart			0x000000f0
#define bBBCCKStart			0x0000000f
#define bPAEnd				0xf          /* Reg0x814 */
#define bTREnd				0x0f000000
#define bRFEnd				0x000f0000
#define bCCAMask			0x000000f0   /* T2R */
#define bR2RCCAMask			0x00000f00
#define bHSSI_R2TDelay			0xf8000000
#define bHSSI_T2RDelay			0xf80000
#define bContTxHSSI			0x400     /* chane gain at continue Tx */
#define bIGFromCCK			0x200
#define bAGCAddress			0x3f
#define bRxHPTx				0x7000
#define bRxHPT2R			0x38000
#define bRxHPCCKIni			0xc0000
#define bAGCTxCode			0xc00000
#define bAGCRxCode			0x300000

#define b3WireDataLength		0x800	/*  Reg 0x820~84f rFPGA0_XA_HSSIParameter1 */
#define b3WireAddressLength		0x400

#define b3WireRFPowerDown		0x1	/*  Useless now */
/* 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
#define bRFSI_3Wire			0xf

#define bRFSI_RFENV			0x10	/*  Reg 0x870 rFPGA0_XAB_RFInterfaceSW */

#define bRFSI_TRSW			0x20	/*  Useless now */
#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

#define bLSSIReadAddress		0x7f800000   /*  T65 RF */

#define bLSSIReadEdge			0x80000000   /* LSSI "Read" edge signal */

#define bLSSIReadBackData		0xfffff		/*  T65 RF */

#define bLSSIReadOKFlag			0x1000	/*  Useless now */
#define bCCKSampleRate			0x8       /* 0: 44MHz, 1:88MHz */
#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	/*  Reg 0x880 rFPGA0_AnalogParameter1 20/40 CCK support switch 40/80 BB MHZ */

#define b80MClkDelay			0x18000000	/*  Useless */
#define bAFEWatchDogEnable		0x20000000

#define bXtalCap01			0xc0000000	/*  Reg 0x884 rFPGA0_AnalogParameter2 Crystal cap */
#define bXtalCap23			0x3
#define bXtalCap92x			0x0f000000
#define		bXtalCap		0x0f000000

#define bIntDifClkEnable		0x400	/*  Useless */
#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

/*  3. Page9(0x900) */
#define bOFDMTxSC			0x30000000	/*  Useless */
#define bCCKTxOn			0x1
#define bOFDMTxOn			0x2
#define bDebugPage			0xfff  /* reset debug page and also HWord, LWord */
#define bDebugItem			0xff   /* reset debug page and LWord */
#define bAntL				0x10
#define bAntNonHT			0x100
#define bAntHT1				0x1000
#define bAntHT2				0x10000
#define bAntHT1S1			0x100000
#define bAntNonHTS1			0x1000000

/*  4. PageA(0xA00) */
#define bCCKBBMode			0x3	/*  Useless */
#define bCCKTxPowerSaving		0x80
#define bCCKRxPowerSaving		0x40

#define bCCKSideBand			0x10	/*  Reg 0xa00 rCCK0_System 20/40 switch */

#define bCCKScramble			0x8	/*  Useless */
#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
#define bCCKRxADCPhase			0x20000000   /* r_rx_clk */
#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
#define bCCKRFExtend			0x20000000 /* CCK Rx Iinital gain polarity */
#define bCCKRxAGCSatLevel		0x1f000000
#define bCCKRxAGCSatCount		0xe0
#define bCCKRxRFSettle			0x1f       /* AGCsamp_dly */
#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

/*  5. PageC(0xC00) */
#define bNumOfSTF			0x3	/*  Useless */
#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
#define bRSSI_H				0x7f0000     /* the threshold for high power */
#define bRSSI_Gen			0x7f000000   /* the threshold for ant diversity */
#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

/*  6. PageE(0xE00) */
#define bSTBCEn				0x4	/*  Useless */
#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
#define bShortCFOTLength		12   /* total */
#define bShortCFOFLength		11   /* fraction */
#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	/*  Useless */
#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	/*  Useless */
#define bChSmooth			0x4
#define bChSmoothCfg1			0x38
#define bChSmoothCfg2			0x1c0
#define bChSmoothCfg3			0xe00
#define bChSmoothCfg4			0x7000
#define bMRCMode			0x800000
#define bTHEVMCfg			0x7000000

#define bLoopFitType			0x1	/*  Useless */
#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

/* Rx Pseduo noise */
#define bRxPesudoNoiseOn		0x20000000	/*  Useless */
#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

/* 7. RF Register */
/* Zebra1 */
#define bZebra1_HSSIEnable		0x8		/*  Useless */
#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	/*  Useless */
#define bRTL8256RegModeCtrl0		0x40
#define bRTL8256_TxLPFBW		0x18
#define bRTL8256_RxLPFBW		0x600

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


/*  Other Definition */

/* byte endable for sb_write */
#define bByte0				0x1	/*  Useless */
#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	/*  Reg 0xc50 rOFDM0_XAAGCCore~0xC6f */
#define bMaskByte1			0xff00
#define bMaskByte2			0xff0000
#define bMaskByte3			0xff000000
#define bMaskHWord			0xffff0000
#define bMaskLWord			0x0000ffff
#define bMaskDWord			0xffffffff
#define bMask12Bits			0xfff
#define bMaskH4Bits			0xf0000000
#define bMaskOFDM_D			0xffc00000
#define bMaskCCK			0x3f3f3f3f

/* for PutRFRegsetting & GetRFRegSetting BitMask */
#define		bRFRegOffsetMask	0xfffff

#define bDisable			0x0

#define LeftAntenna			0x0	/*  Useless */
#define RightAntenna			0x1

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

#define rateCCK				0	/*  Useless */
#define rateOFDM			1
#define rateHT				2

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

/* define max debug item in each debug page */
/* define bMaxItem_FPGA_PHY0        0x9 */
/* define bMaxItem_FPGA_PHY1        0x3 */
/* define bMaxItem_PHY_11B          0x16 */
/* define bMaxItem_OFDM_PHY0        0x29 */
/* define bMaxItem_OFDM_PHY1        0x0 */

#define bPMACControl			0x0	/*  Useless */
#define bWMACControl			0x1
#define bWNICControl			0x2

#define PathA				0x0	/*  Useless */
#define PathB				0x1
#define PathC				0x2
#define PathD				0x3

/*  PageB(0xB00) */
#define rPdp_AntA			0xb00
#define rPdp_AntA_4			0xb04
#define rPdp_AntA_8			0xb08
#define rPdp_AntA_C			0xb0c
#define rPdp_AntA_18			0xb18
#define rPdp_AntA_1C			0xb1c
#define rPdp_AntA_20			0xb20
#define rPdp_AntA_24			0xb24

#define rConfig_Pmpd_AntA		0xb28
#define rConfig_ram64x16		0xb2c

#define rBndA				0xb30
#define rHssiPar			0xb34

#define rConfig_AntA			0xb68
#define rConfig_AntB			0xb6c

#define rPdp_AntB			0xb70
#define rPdp_AntB_4			0xb74
#define rPdp_AntB_8			0xb78
#define rPdp_AntB_C			0xb7c
#define rPdp_AntB_10			0xb80
#define rPdp_AntB_14			0xb84
#define rPdp_AntB_18			0xb88
#define rPdp_AntB_1C			0xb8c
#define rPdp_AntB_20			0xb90
#define rPdp_AntB_24			0xb94

#define rConfig_Pmpd_AntB		0xb98

#define rBndB				0xba0

#define rAPK				0xbd8
#define rPm_Rx0_AntA			0xbdc
#define rPm_Rx1_AntA			0xbe0
#define rPm_Rx2_AntA			0xbe4
#define rPm_Rx3_AntA			0xbe8
#define rPm_Rx0_AntB			0xbec
#define rPm_Rx1_AntB			0xbf0
#define rPm_Rx2_AntB			0xbf4
#define rPm_Rx3_AntB			0xbf8

#endif