1*4882a593Smuzhiyun /****************************************************************************** 2*4882a593Smuzhiyun * 3*4882a593Smuzhiyun * Copyright(c) 2007 - 2017 Realtek Corporation. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify it 6*4882a593Smuzhiyun * under the terms of version 2 of the GNU General Public License as 7*4882a593Smuzhiyun * published by the Free Software Foundation. 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * This program is distributed in the hope that it will be useful, but WITHOUT 10*4882a593Smuzhiyun * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11*4882a593Smuzhiyun * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12*4882a593Smuzhiyun * more details. 13*4882a593Smuzhiyun * 14*4882a593Smuzhiyun *****************************************************************************/ 15*4882a593Smuzhiyun #ifndef __INC_HAL8188EPHYREG_H__ 16*4882a593Smuzhiyun #define __INC_HAL8188EPHYREG_H__ 17*4882a593Smuzhiyun /*--------------------------Define Parameters-------------------------------*/ 18*4882a593Smuzhiyun /* 19*4882a593Smuzhiyun * BB-PHY register PMAC 0x100 PHY 0x800 - 0xEFF 20*4882a593Smuzhiyun * 1. PMAC duplicate register due to connection: RF_Mode, TRxRN, NumOf L-STF 21*4882a593Smuzhiyun * 2. 0x800/0x900/0xA00/0xC00/0xD00/0xE00 22*4882a593Smuzhiyun * 3. RF register 0x00-2E 23*4882a593Smuzhiyun * 4. Bit Mask for BB/RF register 24*4882a593Smuzhiyun * 5. Other defintion for BB/RF R/W 25*4882a593Smuzhiyun * */ 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* 29*4882a593Smuzhiyun * 1. PMAC duplicate register due to connection: RF_Mode, TRxRN, NumOf L-STF 30*4882a593Smuzhiyun * 1. Page1(0x100) 31*4882a593Smuzhiyun * */ 32*4882a593Smuzhiyun #define rPMAC_Reset 0x100 33*4882a593Smuzhiyun #define rPMAC_TxStart 0x104 34*4882a593Smuzhiyun #define rPMAC_TxLegacySIG 0x108 35*4882a593Smuzhiyun #define rPMAC_TxHTSIG1 0x10c 36*4882a593Smuzhiyun #define rPMAC_TxHTSIG2 0x110 37*4882a593Smuzhiyun #define rPMAC_PHYDebug 0x114 38*4882a593Smuzhiyun #define rPMAC_TxPacketNum 0x118 39*4882a593Smuzhiyun #define rPMAC_TxIdle 0x11c 40*4882a593Smuzhiyun #define rPMAC_TxMACHeader0 0x120 41*4882a593Smuzhiyun #define rPMAC_TxMACHeader1 0x124 42*4882a593Smuzhiyun #define rPMAC_TxMACHeader2 0x128 43*4882a593Smuzhiyun #define rPMAC_TxMACHeader3 0x12c 44*4882a593Smuzhiyun #define rPMAC_TxMACHeader4 0x130 45*4882a593Smuzhiyun #define rPMAC_TxMACHeader5 0x134 46*4882a593Smuzhiyun #define rPMAC_TxDataType 0x138 47*4882a593Smuzhiyun #define rPMAC_TxRandomSeed 0x13c 48*4882a593Smuzhiyun #define rPMAC_CCKPLCPPreamble 0x140 49*4882a593Smuzhiyun #define rPMAC_CCKPLCPHeader 0x144 50*4882a593Smuzhiyun #define rPMAC_CCKCRC16 0x148 51*4882a593Smuzhiyun #define rPMAC_OFDMRxCRC32OK 0x170 52*4882a593Smuzhiyun #define rPMAC_OFDMRxCRC32Er 0x174 53*4882a593Smuzhiyun #define rPMAC_OFDMRxParityEr 0x178 54*4882a593Smuzhiyun #define rPMAC_OFDMRxCRC8Er 0x17c 55*4882a593Smuzhiyun #define rPMAC_CCKCRxRC16Er 0x180 56*4882a593Smuzhiyun #define rPMAC_CCKCRxRC32Er 0x184 57*4882a593Smuzhiyun #define rPMAC_CCKCRxRC32OK 0x188 58*4882a593Smuzhiyun #define rPMAC_TxStatus 0x18c 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun /* 61*4882a593Smuzhiyun * 2. Page2(0x200) 62*4882a593Smuzhiyun * 63*4882a593Smuzhiyun * The following two definition are only used for USB interface. */ 64*4882a593Smuzhiyun #define RF_BB_CMD_ADDR 0x02c0 /* RF/BB read/write command address. */ 65*4882a593Smuzhiyun #define RF_BB_CMD_DATA 0x02c4 /* RF/BB read/write command data. */ 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun /* 68*4882a593Smuzhiyun * 3. Page8(0x800) 69*4882a593Smuzhiyun * */ 70*4882a593Smuzhiyun #define rFPGA0_RFMOD 0x800 /* RF mode & CCK TxSC */ /* RF BW Setting?? */ 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun #define rFPGA0_TxInfo 0x804 /* Status report?? */ 73*4882a593Smuzhiyun #define rFPGA0_PSDFunction 0x808 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun #define rFPGA0_TxGainStage 0x80c /* Set TX PWR init gain? */ 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun #define rFPGA0_RFTiming1 0x810 /* Useless now */ 78*4882a593Smuzhiyun #define rFPGA0_RFTiming2 0x814 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun #define rFPGA0_XA_HSSIParameter1 0x820 /* RF 3 wire register */ 81*4882a593Smuzhiyun #define rFPGA0_XA_HSSIParameter2 0x824 82*4882a593Smuzhiyun #define rFPGA0_XB_HSSIParameter1 0x828 83*4882a593Smuzhiyun #define rFPGA0_XB_HSSIParameter2 0x82c 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun #define rFPGA0_XA_LSSIParameter 0x840 86*4882a593Smuzhiyun #define rFPGA0_XB_LSSIParameter 0x844 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun #define rFPGA0_RFWakeUpParameter 0x850 /* Useless now */ 89*4882a593Smuzhiyun #define rFPGA0_RFSleepUpParameter 0x854 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun #define rFPGA0_XAB_SwitchControl 0x858 /* RF Channel switch */ 92*4882a593Smuzhiyun #define rFPGA0_XCD_SwitchControl 0x85c 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun #define rFPGA0_XA_RFInterfaceOE 0x860 /* RF Channel switch */ 95*4882a593Smuzhiyun #define rFPGA0_XB_RFInterfaceOE 0x864 96*4882a593Smuzhiyun #define rFPGA0_XAB_RFInterfaceSW 0x870 /* RF Interface Software Control */ 97*4882a593Smuzhiyun #define rFPGA0_XCD_RFInterfaceSW 0x874 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun #define rFPGA0_XAB_RFParameter 0x878 /* RF Parameter */ 100*4882a593Smuzhiyun #define rFPGA0_XCD_RFParameter 0x87c 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun #define rFPGA0_AnalogParameter1 0x880 /* Crystal cap setting RF-R/W protection for parameter4?? */ 103*4882a593Smuzhiyun #define rFPGA0_AnalogParameter2 0x884 104*4882a593Smuzhiyun #define rFPGA0_AnalogParameter3 0x888 105*4882a593Smuzhiyun #define rFPGA0_AdDaClockEn 0x888 /* enable ad/da clock1 for dual-phy */ 106*4882a593Smuzhiyun #define rFPGA0_AnalogParameter4 0x88c 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun #define rFPGA0_XA_LSSIReadBack 0x8a0 /* Tranceiver LSSI Readback */ 109*4882a593Smuzhiyun #define rFPGA0_XB_LSSIReadBack 0x8a4 110*4882a593Smuzhiyun #define rFPGA0_XC_LSSIReadBack 0x8a8 111*4882a593Smuzhiyun #define rFPGA0_XD_LSSIReadBack 0x8ac 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun #define rFPGA0_PSDReport 0x8b4 /* Useless now */ 114*4882a593Smuzhiyun #define TransceiverA_HSPI_Readback 0x8b8 /* Transceiver A HSPI Readback */ 115*4882a593Smuzhiyun #define TransceiverB_HSPI_Readback 0x8bc /* Transceiver B HSPI Readback */ 116*4882a593Smuzhiyun #define rFPGA0_XAB_RFInterfaceRB 0x8e0 /* Useless now */ /* RF Interface Readback Value */ 117*4882a593Smuzhiyun #define rFPGA0_XCD_RFInterfaceRB 0x8e4 /* Useless now */ 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun /* 120*4882a593Smuzhiyun * 4. Page9(0x900) 121*4882a593Smuzhiyun * */ 122*4882a593Smuzhiyun #define rFPGA1_RFMOD 0x900 /* RF mode & OFDM TxSC */ /* RF BW Setting?? */ 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun #define rFPGA1_TxBlock 0x904 /* Useless now */ 125*4882a593Smuzhiyun #define rFPGA1_DebugSelect 0x908 /* Useless now */ 126*4882a593Smuzhiyun #define rFPGA1_TxInfo 0x90c /* Useless now */ /* Status report?? */ 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun /* 129*4882a593Smuzhiyun * 5. PageA(0xA00) 130*4882a593Smuzhiyun * 131*4882a593Smuzhiyun * Set Control channel to upper or lower. These settings are required only for 40MHz */ 132*4882a593Smuzhiyun #define rCCK0_System 0xa00 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun #define rCCK0_AFESetting 0xa04 /* Disable init gain now */ /* Select RX path by RSSI */ 135*4882a593Smuzhiyun #define rCCK0_CCA 0xa08 /* Disable init gain now */ /* Init gain */ 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun #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 */ 138*4882a593Smuzhiyun #define rCCK0_RxAGC2 0xa10 /* AGC & DAGC */ 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun #define rCCK0_RxHP 0xa14 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun #define rCCK0_DSPParameter1 0xa18 /* Timing recovery & Channel estimation threshold */ 143*4882a593Smuzhiyun #define rCCK0_DSPParameter2 0xa1c /* SQ threshold */ 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun #define rCCK0_TxFilter1 0xa20 146*4882a593Smuzhiyun #define rCCK0_TxFilter2 0xa24 147*4882a593Smuzhiyun #define rCCK0_DebugPort 0xa28 /* debug port and Tx filter3 */ 148*4882a593Smuzhiyun #define rCCK0_FalseAlarmReport 0xa2c /* 0xa2d useless now 0xa30-a4f channel report */ 149*4882a593Smuzhiyun #define rCCK0_TRSSIReport 0xa50 150*4882a593Smuzhiyun #define rCCK0_RxReport 0xa54 /* 0xa57 */ 151*4882a593Smuzhiyun #define rCCK0_FACounterLower 0xa5c /* 0xa5b */ 152*4882a593Smuzhiyun #define rCCK0_FACounterUpper 0xa58 /* 0xa5c */ 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun /* 155*4882a593Smuzhiyun * PageB(0xB00) 156*4882a593Smuzhiyun * */ 157*4882a593Smuzhiyun #define rPdp_AntA 0xb00 158*4882a593Smuzhiyun #define rPdp_AntA_4 0xb04 159*4882a593Smuzhiyun #define rConfig_Pmpd_AntA 0xb28 160*4882a593Smuzhiyun #define rConfig_ram64x16 0xb2c 161*4882a593Smuzhiyun #define rConfig_AntA 0xb68 162*4882a593Smuzhiyun #define rConfig_AntB 0xb6c 163*4882a593Smuzhiyun #define rPdp_AntB 0xb70 164*4882a593Smuzhiyun #define rPdp_AntB_4 0xb74 165*4882a593Smuzhiyun #define rConfig_Pmpd_AntB 0xb98 166*4882a593Smuzhiyun #define rAPK 0xbd8 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun /* 171*4882a593Smuzhiyun * 6. PageC(0xC00) 172*4882a593Smuzhiyun * */ 173*4882a593Smuzhiyun #define rOFDM0_LSTF 0xc00 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun #define rOFDM0_TRxPathEnable 0xc04 176*4882a593Smuzhiyun #define rOFDM0_TRMuxPar 0xc08 177*4882a593Smuzhiyun #define rOFDM0_TRSWIsolation 0xc0c 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun #define rOFDM0_XARxAFE 0xc10 /* RxIQ DC offset, Rx digital filter, DC notch filter */ 180*4882a593Smuzhiyun #define rOFDM0_XARxIQImbalance 0xc14 /* RxIQ imblance matrix */ 181*4882a593Smuzhiyun #define rOFDM0_XBRxAFE 0xc18 182*4882a593Smuzhiyun #define rOFDM0_XBRxIQImbalance 0xc1c 183*4882a593Smuzhiyun #define rOFDM0_XCRxAFE 0xc20 184*4882a593Smuzhiyun #define rOFDM0_XCRxIQImbalance 0xc24 185*4882a593Smuzhiyun #define rOFDM0_XDRxAFE 0xc28 186*4882a593Smuzhiyun #define rOFDM0_XDRxIQImbalance 0xc2c 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun #define rOFDM0_RxDetector1 0xc30 /* PD, BW & SBD */ /* DM tune init gain */ 189*4882a593Smuzhiyun #define rOFDM0_RxDetector2 0xc34 /* SBD & Fame Sync. */ 190*4882a593Smuzhiyun #define rOFDM0_RxDetector3 0xc38 /* Frame Sync. */ 191*4882a593Smuzhiyun #define rOFDM0_RxDetector4 0xc3c /* PD, SBD, Frame Sync & Short-GI */ 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun #define rOFDM0_RxDSP 0xc40 /* Rx Sync Path */ 194*4882a593Smuzhiyun #define rOFDM0_CFOandDAGC 0xc44 /* CFO & DAGC */ 195*4882a593Smuzhiyun #define rOFDM0_CCADropThreshold 0xc48 /* CCA Drop threshold */ 196*4882a593Smuzhiyun #define rOFDM0_ECCAThreshold 0xc4c /* energy CCA */ 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun #define rOFDM0_XAAGCCore1 0xc50 /* DIG */ 199*4882a593Smuzhiyun #define rOFDM0_XAAGCCore2 0xc54 200*4882a593Smuzhiyun #define rOFDM0_XBAGCCore1 0xc58 201*4882a593Smuzhiyun #define rOFDM0_XBAGCCore2 0xc5c 202*4882a593Smuzhiyun #define rOFDM0_XCAGCCore1 0xc60 203*4882a593Smuzhiyun #define rOFDM0_XCAGCCore2 0xc64 204*4882a593Smuzhiyun #define rOFDM0_XDAGCCore1 0xc68 205*4882a593Smuzhiyun #define rOFDM0_XDAGCCore2 0xc6c 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun #define rOFDM0_AGCParameter1 0xc70 208*4882a593Smuzhiyun #define rOFDM0_AGCParameter2 0xc74 209*4882a593Smuzhiyun #define rOFDM0_AGCRSSITable 0xc78 210*4882a593Smuzhiyun #define rOFDM0_HTSTFAGC 0xc7c 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun #define rOFDM0_XATxIQImbalance 0xc80 /* TX PWR TRACK and DIG */ 213*4882a593Smuzhiyun #define rOFDM0_XATxAFE 0xc84 214*4882a593Smuzhiyun #define rOFDM0_XBTxIQImbalance 0xc88 215*4882a593Smuzhiyun #define rOFDM0_XBTxAFE 0xc8c 216*4882a593Smuzhiyun #define rOFDM0_XCTxIQImbalance 0xc90 217*4882a593Smuzhiyun #define rOFDM0_XCTxAFE 0xc94 218*4882a593Smuzhiyun #define rOFDM0_XDTxIQImbalance 0xc98 219*4882a593Smuzhiyun #define rOFDM0_XDTxAFE 0xc9c 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun #define rOFDM0_RxIQExtAnta 0xca0 222*4882a593Smuzhiyun #define rOFDM0_TxCoeff1 0xca4 223*4882a593Smuzhiyun #define rOFDM0_TxCoeff2 0xca8 224*4882a593Smuzhiyun #define rOFDM0_TxCoeff3 0xcac 225*4882a593Smuzhiyun #define rOFDM0_TxCoeff4 0xcb0 226*4882a593Smuzhiyun #define rOFDM0_TxCoeff5 0xcb4 227*4882a593Smuzhiyun #define rOFDM0_TxCoeff6 0xcb8 228*4882a593Smuzhiyun #define rOFDM0_RxHPParameter 0xce0 229*4882a593Smuzhiyun #define rOFDM0_TxPseudoNoiseWgt 0xce4 230*4882a593Smuzhiyun #define rOFDM0_FrameSync 0xcf0 231*4882a593Smuzhiyun #define rOFDM0_DFSReport 0xcf4 232*4882a593Smuzhiyun 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun /* 235*4882a593Smuzhiyun * 7. PageD(0xD00) 236*4882a593Smuzhiyun * */ 237*4882a593Smuzhiyun #define rOFDM1_LSTF 0xd00 238*4882a593Smuzhiyun #define rOFDM1_TRxPathEnable 0xd04 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun #define rOFDM1_CFO 0xd08 /* No setting now */ 241*4882a593Smuzhiyun #define rOFDM1_CSI1 0xd10 242*4882a593Smuzhiyun #define rOFDM1_SBD 0xd14 243*4882a593Smuzhiyun #define rOFDM1_CSI2 0xd18 244*4882a593Smuzhiyun #define rOFDM1_CFOTracking 0xd2c 245*4882a593Smuzhiyun #define rOFDM1_TRxMesaure1 0xd34 246*4882a593Smuzhiyun #define rOFDM1_IntfDet 0xd3c 247*4882a593Smuzhiyun #define rOFDM1_csi_fix_mask1 0xd40 248*4882a593Smuzhiyun #define rOFDM1_csi_fix_mask2 0xd44 249*4882a593Smuzhiyun #define rOFDM1_PseudoNoiseStateAB 0xd50 250*4882a593Smuzhiyun #define rOFDM1_PseudoNoiseStateCD 0xd54 251*4882a593Smuzhiyun #define rOFDM1_RxPseudoNoiseWgt 0xd58 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun #define rOFDM_PHYCounter1 0xda0 /* cca, parity fail */ 254*4882a593Smuzhiyun #define rOFDM_PHYCounter2 0xda4 /* rate illegal, crc8 fail */ 255*4882a593Smuzhiyun #define rOFDM_PHYCounter3 0xda8 /* MCS not support */ 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun #define rOFDM_ShortCFOAB 0xdac /* No setting now */ 258*4882a593Smuzhiyun #define rOFDM_ShortCFOCD 0xdb0 259*4882a593Smuzhiyun #define rOFDM_LongCFOAB 0xdb4 260*4882a593Smuzhiyun #define rOFDM_LongCFOCD 0xdb8 261*4882a593Smuzhiyun #define rOFDM_TailCFOAB 0xdbc 262*4882a593Smuzhiyun #define rOFDM_TailCFOCD 0xdc0 263*4882a593Smuzhiyun #define rOFDM_PWMeasure1 0xdc4 264*4882a593Smuzhiyun #define rOFDM_PWMeasure2 0xdc8 265*4882a593Smuzhiyun #define rOFDM_BWReport 0xdcc 266*4882a593Smuzhiyun #define rOFDM_AGCReport 0xdd0 267*4882a593Smuzhiyun #define rOFDM_RxSNR 0xdd4 268*4882a593Smuzhiyun #define rOFDM_RxEVMCSI 0xdd8 269*4882a593Smuzhiyun #define rOFDM_SIGReport 0xddc 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun 272*4882a593Smuzhiyun /* 273*4882a593Smuzhiyun * 8. PageE(0xE00) 274*4882a593Smuzhiyun * */ 275*4882a593Smuzhiyun #define rTxAGC_A_Rate18_06 0xe00 276*4882a593Smuzhiyun #define rTxAGC_A_Rate54_24 0xe04 277*4882a593Smuzhiyun #define rTxAGC_A_CCK1_Mcs32 0xe08 278*4882a593Smuzhiyun #define rTxAGC_A_Mcs03_Mcs00 0xe10 279*4882a593Smuzhiyun #define rTxAGC_A_Mcs07_Mcs04 0xe14 280*4882a593Smuzhiyun #define rTxAGC_A_Mcs11_Mcs08 0xe18 281*4882a593Smuzhiyun #define rTxAGC_A_Mcs15_Mcs12 0xe1c 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun #define rTxAGC_B_Rate18_06 0x830 284*4882a593Smuzhiyun #define rTxAGC_B_Rate54_24 0x834 285*4882a593Smuzhiyun #define rTxAGC_B_CCK1_55_Mcs32 0x838 286*4882a593Smuzhiyun #define rTxAGC_B_Mcs03_Mcs00 0x83c 287*4882a593Smuzhiyun #define rTxAGC_B_Mcs07_Mcs04 0x848 288*4882a593Smuzhiyun #define rTxAGC_B_Mcs11_Mcs08 0x84c 289*4882a593Smuzhiyun #define rTxAGC_B_Mcs15_Mcs12 0x868 290*4882a593Smuzhiyun #define rTxAGC_B_CCK11_A_CCK2_11 0x86c 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun #define rFPGA0_IQK 0xe28 293*4882a593Smuzhiyun #define rTx_IQK_Tone_A 0xe30 294*4882a593Smuzhiyun #define rRx_IQK_Tone_A 0xe34 295*4882a593Smuzhiyun #define rTx_IQK_PI_A 0xe38 296*4882a593Smuzhiyun #define rRx_IQK_PI_A 0xe3c 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun #define rTx_IQK 0xe40 299*4882a593Smuzhiyun #define rRx_IQK 0xe44 300*4882a593Smuzhiyun #define rIQK_AGC_Pts 0xe48 301*4882a593Smuzhiyun #define rIQK_AGC_Rsp 0xe4c 302*4882a593Smuzhiyun #define rTx_IQK_Tone_B 0xe50 303*4882a593Smuzhiyun #define rRx_IQK_Tone_B 0xe54 304*4882a593Smuzhiyun #define rTx_IQK_PI_B 0xe58 305*4882a593Smuzhiyun #define rRx_IQK_PI_B 0xe5c 306*4882a593Smuzhiyun #define rIQK_AGC_Cont 0xe60 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun #define rBlue_Tooth 0xe6c 309*4882a593Smuzhiyun #define rRx_Wait_CCA 0xe70 310*4882a593Smuzhiyun #define rTx_CCK_RFON 0xe74 311*4882a593Smuzhiyun #define rTx_CCK_BBON 0xe78 312*4882a593Smuzhiyun #define rTx_OFDM_RFON 0xe7c 313*4882a593Smuzhiyun #define rTx_OFDM_BBON 0xe80 314*4882a593Smuzhiyun #define rTx_To_Rx 0xe84 315*4882a593Smuzhiyun #define rTx_To_Tx 0xe88 316*4882a593Smuzhiyun #define rRx_CCK 0xe8c 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun #define rTx_Power_Before_IQK_A 0xe94 319*4882a593Smuzhiyun #define rTx_Power_After_IQK_A 0xe9c 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun #define rRx_Power_Before_IQK_A 0xea0 322*4882a593Smuzhiyun #define rRx_Power_Before_IQK_A_2 0xea4 323*4882a593Smuzhiyun #define rRx_Power_After_IQK_A 0xea8 324*4882a593Smuzhiyun #define rRx_Power_After_IQK_A_2 0xeac 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun #define rTx_Power_Before_IQK_B 0xeb4 327*4882a593Smuzhiyun #define rTx_Power_After_IQK_B 0xebc 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun #define rRx_Power_Before_IQK_B 0xec0 330*4882a593Smuzhiyun #define rRx_Power_Before_IQK_B_2 0xec4 331*4882a593Smuzhiyun #define rRx_Power_After_IQK_B 0xec8 332*4882a593Smuzhiyun #define rRx_Power_After_IQK_B_2 0xecc 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun #define rRx_OFDM 0xed0 335*4882a593Smuzhiyun #define rRx_Wait_RIFS 0xed4 336*4882a593Smuzhiyun #define rRx_TO_Rx 0xed8 337*4882a593Smuzhiyun #define rStandby 0xedc 338*4882a593Smuzhiyun #define rSleep 0xee0 339*4882a593Smuzhiyun #define rPMPD_ANAEN 0xeec 340*4882a593Smuzhiyun 341*4882a593Smuzhiyun /* 342*4882a593Smuzhiyun * 7. RF Register 0x00-0x2E (RF 8256) 343*4882a593Smuzhiyun * RF-0222D 0x00-3F 344*4882a593Smuzhiyun * 345*4882a593Smuzhiyun * Zebra1 */ 346*4882a593Smuzhiyun #define rZebra1_HSSIEnable 0x0 /* Useless now */ 347*4882a593Smuzhiyun #define rZebra1_TRxEnable1 0x1 348*4882a593Smuzhiyun #define rZebra1_TRxEnable2 0x2 349*4882a593Smuzhiyun #define rZebra1_AGC 0x4 350*4882a593Smuzhiyun #define rZebra1_ChargePump 0x5 351*4882a593Smuzhiyun #define rZebra1_Channel 0x7 /* RF channel switch */ 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun /* #endif */ 354*4882a593Smuzhiyun #define rZebra1_TxGain 0x8 /* Useless now */ 355*4882a593Smuzhiyun #define rZebra1_TxLPF 0x9 356*4882a593Smuzhiyun #define rZebra1_RxLPF 0xb 357*4882a593Smuzhiyun #define rZebra1_RxHPFCorner 0xc 358*4882a593Smuzhiyun 359*4882a593Smuzhiyun /* Zebra4 */ 360*4882a593Smuzhiyun #define rGlobalCtrl 0 /* Useless now */ 361*4882a593Smuzhiyun #define rRTL8256_TxLPF 19 362*4882a593Smuzhiyun #define rRTL8256_RxLPF 11 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun /* RTL8258 */ 365*4882a593Smuzhiyun #define rRTL8258_TxLPF 0x11 /* Useless now */ 366*4882a593Smuzhiyun #define rRTL8258_RxLPF 0x13 367*4882a593Smuzhiyun #define rRTL8258_RSSILPF 0xa 368*4882a593Smuzhiyun 369*4882a593Smuzhiyun /* 370*4882a593Smuzhiyun * RL6052 Register definition 371*4882a593Smuzhiyun * */ 372*4882a593Smuzhiyun #define RF_AC 0x00 /* */ 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun #define RF_IQADJ_G1 0x01 /* */ 375*4882a593Smuzhiyun #define RF_IQADJ_G2 0x02 /* */ 376*4882a593Smuzhiyun 377*4882a593Smuzhiyun #define RF_POW_TRSW 0x05 /* */ 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun #define RF_GAIN_RX 0x06 /* */ 380*4882a593Smuzhiyun #define RF_GAIN_TX 0x07 /* */ 381*4882a593Smuzhiyun 382*4882a593Smuzhiyun #define RF_TXM_IDAC 0x08 /* */ 383*4882a593Smuzhiyun #define RF_IPA_G 0x09 /* */ 384*4882a593Smuzhiyun #define RF_TXBIAS_G 0x0A 385*4882a593Smuzhiyun #define RF_TXPA_AG 0x0B 386*4882a593Smuzhiyun #define RF_IPA_A 0x0C /* */ 387*4882a593Smuzhiyun #define RF_TXBIAS_A 0x0D 388*4882a593Smuzhiyun #define RF_BS_PA_APSET_G9_G11 0x0E 389*4882a593Smuzhiyun #define RF_BS_IQGEN 0x0F /* */ 390*4882a593Smuzhiyun 391*4882a593Smuzhiyun #define RF_MODE1 0x10 /* */ 392*4882a593Smuzhiyun #define RF_MODE2 0x11 /* */ 393*4882a593Smuzhiyun 394*4882a593Smuzhiyun #define RF_RX_AGC_HP 0x12 /* */ 395*4882a593Smuzhiyun #define RF_TX_AGC 0x13 /* */ 396*4882a593Smuzhiyun #define RF_BIAS 0x14 /* */ 397*4882a593Smuzhiyun #define RF_IPA 0x15 /* */ 398*4882a593Smuzhiyun #define RF_TXBIAS 0x16 399*4882a593Smuzhiyun #define RF_POW_ABILITY 0x17 /* */ 400*4882a593Smuzhiyun #define RF_CHNLBW 0x18 /* RF channel and BW switch */ 401*4882a593Smuzhiyun #define RF_TOP 0x19 /* */ 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun #define RF_RX_G1 0x1A /* */ 404*4882a593Smuzhiyun #define RF_RX_G2 0x1B /* */ 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun #define RF_RX_BB2 0x1C /* */ 407*4882a593Smuzhiyun #define RF_RX_BB1 0x1D /* */ 408*4882a593Smuzhiyun 409*4882a593Smuzhiyun #define RF_RCK1 0x1E /* */ 410*4882a593Smuzhiyun #define RF_RCK2 0x1F /* */ 411*4882a593Smuzhiyun 412*4882a593Smuzhiyun #define RF_TX_G1 0x20 /* */ 413*4882a593Smuzhiyun #define RF_TX_G2 0x21 /* */ 414*4882a593Smuzhiyun #define RF_TX_G3 0x22 /* */ 415*4882a593Smuzhiyun 416*4882a593Smuzhiyun #define RF_TX_BB1 0x23 /* */ 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun #define RF_T_METER_88E 0x42 /* */ 419*4882a593Smuzhiyun #define RF_T_METER 0x24 /* */ 420*4882a593Smuzhiyun 421*4882a593Smuzhiyun #define RF_SYN_G1 0x25 /* RF TX Power control */ 422*4882a593Smuzhiyun #define RF_SYN_G2 0x26 /* RF TX Power control */ 423*4882a593Smuzhiyun #define RF_SYN_G3 0x27 /* RF TX Power control */ 424*4882a593Smuzhiyun #define RF_SYN_G4 0x28 /* RF TX Power control */ 425*4882a593Smuzhiyun #define RF_SYN_G5 0x29 /* RF TX Power control */ 426*4882a593Smuzhiyun #define RF_SYN_G6 0x2A /* RF TX Power control */ 427*4882a593Smuzhiyun #define RF_SYN_G7 0x2B /* RF TX Power control */ 428*4882a593Smuzhiyun #define RF_SYN_G8 0x2C /* RF TX Power control */ 429*4882a593Smuzhiyun 430*4882a593Smuzhiyun #define RF_RCK_OS 0x30 /* RF TX PA control */ 431*4882a593Smuzhiyun #define RF_TXPA_G1 0x31 /* RF TX PA control */ 432*4882a593Smuzhiyun #define RF_TXPA_G2 0x32 /* RF TX PA control */ 433*4882a593Smuzhiyun #define RF_TXPA_G3 0x33 /* RF TX PA control */ 434*4882a593Smuzhiyun #define RF_TX_BIAS_A 0x35 435*4882a593Smuzhiyun #define RF_TX_BIAS_D 0x36 436*4882a593Smuzhiyun #define RF_LOBF_9 0x38 437*4882a593Smuzhiyun #define RF_RXRF_A3 0x3C /* */ 438*4882a593Smuzhiyun #define RF_TRSW 0x3F 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun #define RF_TXRF_A2 0x41 441*4882a593Smuzhiyun #define RF_TXPA_G4 0x46 442*4882a593Smuzhiyun #define RF_TXPA_A4 0x4B 443*4882a593Smuzhiyun #define RF_0x52 0x52 444*4882a593Smuzhiyun #define RF_WE_LUT 0xEF 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun 447*4882a593Smuzhiyun /* 448*4882a593Smuzhiyun * Bit Mask 449*4882a593Smuzhiyun * 450*4882a593Smuzhiyun * 1. Page1(0x100) */ 451*4882a593Smuzhiyun #define bBBResetB 0x100 /* Useless now? */ 452*4882a593Smuzhiyun #define bGlobalResetB 0x200 453*4882a593Smuzhiyun #define bOFDMTxStart 0x4 454*4882a593Smuzhiyun #define bCCKTxStart 0x8 455*4882a593Smuzhiyun #define bCRC32Debug 0x100 456*4882a593Smuzhiyun #define bPMACLoopback 0x10 457*4882a593Smuzhiyun #define bTxLSIG 0xffffff 458*4882a593Smuzhiyun #define bOFDMTxRate 0xf 459*4882a593Smuzhiyun #define bOFDMTxReserved 0x10 460*4882a593Smuzhiyun #define bOFDMTxLength 0x1ffe0 461*4882a593Smuzhiyun #define bOFDMTxParity 0x20000 462*4882a593Smuzhiyun #define bTxHTSIG1 0xffffff 463*4882a593Smuzhiyun #define bTxHTMCSRate 0x7f 464*4882a593Smuzhiyun #define bTxHTBW 0x80 465*4882a593Smuzhiyun #define bTxHTLength 0xffff00 466*4882a593Smuzhiyun #define bTxHTSIG2 0xffffff 467*4882a593Smuzhiyun #define bTxHTSmoothing 0x1 468*4882a593Smuzhiyun #define bTxHTSounding 0x2 469*4882a593Smuzhiyun #define bTxHTReserved 0x4 470*4882a593Smuzhiyun #define bTxHTAggreation 0x8 471*4882a593Smuzhiyun #define bTxHTSTBC 0x30 472*4882a593Smuzhiyun #define bTxHTAdvanceCoding 0x40 473*4882a593Smuzhiyun #define bTxHTShortGI 0x80 474*4882a593Smuzhiyun #define bTxHTNumberHT_LTF 0x300 475*4882a593Smuzhiyun #define bTxHTCRC8 0x3fc00 476*4882a593Smuzhiyun #define bCounterReset 0x10000 477*4882a593Smuzhiyun #define bNumOfOFDMTx 0xffff 478*4882a593Smuzhiyun #define bNumOfCCKTx 0xffff0000 479*4882a593Smuzhiyun #define bTxIdleInterval 0xffff 480*4882a593Smuzhiyun #define bOFDMService 0xffff0000 481*4882a593Smuzhiyun #define bTxMACHeader 0xffffffff 482*4882a593Smuzhiyun #define bTxDataInit 0xff 483*4882a593Smuzhiyun #define bTxHTMode 0x100 484*4882a593Smuzhiyun #define bTxDataType 0x30000 485*4882a593Smuzhiyun #define bTxRandomSeed 0xffffffff 486*4882a593Smuzhiyun #define bCCKTxPreamble 0x1 487*4882a593Smuzhiyun #define bCCKTxSFD 0xffff0000 488*4882a593Smuzhiyun #define bCCKTxSIG 0xff 489*4882a593Smuzhiyun #define bCCKTxService 0xff00 490*4882a593Smuzhiyun #define bCCKLengthExt 0x8000 491*4882a593Smuzhiyun #define bCCKTxLength 0xffff0000 492*4882a593Smuzhiyun #define bCCKTxCRC16 0xffff 493*4882a593Smuzhiyun #define bCCKTxStatus 0x1 494*4882a593Smuzhiyun #define bOFDMTxStatus 0x2 495*4882a593Smuzhiyun 496*4882a593Smuzhiyun #define IS_BB_REG_OFFSET_92S(_Offset) ((_Offset >= 0x800) && (_Offset <= 0xfff)) 497*4882a593Smuzhiyun 498*4882a593Smuzhiyun /* 2. Page8(0x800) */ 499*4882a593Smuzhiyun #define bRFMOD 0x1 /* Reg 0x800 rFPGA0_RFMOD */ 500*4882a593Smuzhiyun #define bJapanMode 0x2 501*4882a593Smuzhiyun #define bCCKTxSC 0x30 502*4882a593Smuzhiyun #define bCCKEn 0x1000000 503*4882a593Smuzhiyun #define bOFDMEn 0x2000000 504*4882a593Smuzhiyun 505*4882a593Smuzhiyun #define bOFDMRxADCPhase 0x10000 /* Useless now */ 506*4882a593Smuzhiyun #define bOFDMTxDACPhase 0x40000 507*4882a593Smuzhiyun #define bXATxAGC 0x3f 508*4882a593Smuzhiyun 509*4882a593Smuzhiyun #define bAntennaSelect 0x0300 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun #define bXBTxAGC 0xf00 /* Reg 80c rFPGA0_TxGainStage */ 512*4882a593Smuzhiyun #define bXCTxAGC 0xf000 513*4882a593Smuzhiyun #define bXDTxAGC 0xf0000 514*4882a593Smuzhiyun 515*4882a593Smuzhiyun #define bPAStart 0xf0000000 /* Useless now */ 516*4882a593Smuzhiyun #define bTRStart 0x00f00000 517*4882a593Smuzhiyun #define bRFStart 0x0000f000 518*4882a593Smuzhiyun #define bBBStart 0x000000f0 519*4882a593Smuzhiyun #define bBBCCKStart 0x0000000f 520*4882a593Smuzhiyun #define bPAEnd 0xf /* Reg0x814 */ 521*4882a593Smuzhiyun #define bTREnd 0x0f000000 522*4882a593Smuzhiyun #define bRFEnd 0x000f0000 523*4882a593Smuzhiyun #define bCCAMask 0x000000f0 /* T2R */ 524*4882a593Smuzhiyun #define bR2RCCAMask 0x00000f00 525*4882a593Smuzhiyun #define bHSSI_R2TDelay 0xf8000000 526*4882a593Smuzhiyun #define bHSSI_T2RDelay 0xf80000 527*4882a593Smuzhiyun #define bContTxHSSI 0x400 /* chane gain at continue Tx */ 528*4882a593Smuzhiyun #define bIGFromCCK 0x200 529*4882a593Smuzhiyun #define bAGCAddress 0x3f 530*4882a593Smuzhiyun #define bRxHPTx 0x7000 531*4882a593Smuzhiyun #define bRxHPT2R 0x38000 532*4882a593Smuzhiyun #define bRxHPCCKIni 0xc0000 533*4882a593Smuzhiyun #define bAGCTxCode 0xc00000 534*4882a593Smuzhiyun #define bAGCRxCode 0x300000 535*4882a593Smuzhiyun 536*4882a593Smuzhiyun #define b3WireDataLength 0x800 /* Reg 0x820~84f rFPGA0_XA_HSSIParameter1 */ 537*4882a593Smuzhiyun #define b3WireAddressLength 0x400 538*4882a593Smuzhiyun 539*4882a593Smuzhiyun #define b3WireRFPowerDown 0x1 /* Useless now 540*4882a593Smuzhiyun * #define bHWSISelect 0x8 */ 541*4882a593Smuzhiyun #define b5GPAPEPolarity 0x40000000 542*4882a593Smuzhiyun #define b2GPAPEPolarity 0x80000000 543*4882a593Smuzhiyun #define bRFSW_TxDefaultAnt 0x3 544*4882a593Smuzhiyun #define bRFSW_TxOptionAnt 0x30 545*4882a593Smuzhiyun #define bRFSW_RxDefaultAnt 0x300 546*4882a593Smuzhiyun #define bRFSW_RxOptionAnt 0x3000 547*4882a593Smuzhiyun #define bRFSI_3WireData 0x1 548*4882a593Smuzhiyun #define bRFSI_3WireClock 0x2 549*4882a593Smuzhiyun #define bRFSI_3WireLoad 0x4 550*4882a593Smuzhiyun #define bRFSI_3WireRW 0x8 551*4882a593Smuzhiyun #define bRFSI_3Wire 0xf 552*4882a593Smuzhiyun 553*4882a593Smuzhiyun #define bRFSI_RFENV 0x10 /* Reg 0x870 rFPGA0_XAB_RFInterfaceSW */ 554*4882a593Smuzhiyun 555*4882a593Smuzhiyun #define bRFSI_TRSW 0x20 /* Useless now */ 556*4882a593Smuzhiyun #define bRFSI_TRSWB 0x40 557*4882a593Smuzhiyun #define bRFSI_ANTSW 0x100 558*4882a593Smuzhiyun #define bRFSI_ANTSWB 0x200 559*4882a593Smuzhiyun #define bRFSI_PAPE 0x400 560*4882a593Smuzhiyun #define bRFSI_PAPE5G 0x800 561*4882a593Smuzhiyun #define bBandSelect 0x1 562*4882a593Smuzhiyun #define bHTSIG2_GI 0x80 563*4882a593Smuzhiyun #define bHTSIG2_Smoothing 0x01 564*4882a593Smuzhiyun #define bHTSIG2_Sounding 0x02 565*4882a593Smuzhiyun #define bHTSIG2_Aggreaton 0x08 566*4882a593Smuzhiyun #define bHTSIG2_STBC 0x30 567*4882a593Smuzhiyun #define bHTSIG2_AdvCoding 0x40 568*4882a593Smuzhiyun #define bHTSIG2_NumOfHTLTF 0x300 569*4882a593Smuzhiyun #define bHTSIG2_CRC8 0x3fc 570*4882a593Smuzhiyun #define bHTSIG1_MCS 0x7f 571*4882a593Smuzhiyun #define bHTSIG1_BandWidth 0x80 572*4882a593Smuzhiyun #define bHTSIG1_HTLength 0xffff 573*4882a593Smuzhiyun #define bLSIG_Rate 0xf 574*4882a593Smuzhiyun #define bLSIG_Reserved 0x10 575*4882a593Smuzhiyun #define bLSIG_Length 0x1fffe 576*4882a593Smuzhiyun #define bLSIG_Parity 0x20 577*4882a593Smuzhiyun #define bCCKRxPhase 0x4 578*4882a593Smuzhiyun 579*4882a593Smuzhiyun #define bLSSIReadAddress 0x7f800000 /* T65 RF */ 580*4882a593Smuzhiyun 581*4882a593Smuzhiyun #define bLSSIReadEdge 0x80000000 /* LSSI "Read" edge signal */ 582*4882a593Smuzhiyun 583*4882a593Smuzhiyun #define bLSSIReadBackData 0xfffff /* T65 RF */ 584*4882a593Smuzhiyun 585*4882a593Smuzhiyun #define bLSSIReadOKFlag 0x1000 /* Useless now */ 586*4882a593Smuzhiyun #define bCCKSampleRate 0x8 /* 0: 44MHz, 1:88MHz */ 587*4882a593Smuzhiyun #define bRegulator0Standby 0x1 588*4882a593Smuzhiyun #define bRegulatorPLLStandby 0x2 589*4882a593Smuzhiyun #define bRegulator1Standby 0x4 590*4882a593Smuzhiyun #define bPLLPowerUp 0x8 591*4882a593Smuzhiyun #define bDPLLPowerUp 0x10 592*4882a593Smuzhiyun #define bDA10PowerUp 0x20 593*4882a593Smuzhiyun #define bAD7PowerUp 0x200 594*4882a593Smuzhiyun #define bDA6PowerUp 0x2000 595*4882a593Smuzhiyun #define bXtalPowerUp 0x4000 596*4882a593Smuzhiyun #define b40MDClkPowerUP 0x8000 597*4882a593Smuzhiyun #define bDA6DebugMode 0x20000 598*4882a593Smuzhiyun #define bDA6Swing 0x380000 599*4882a593Smuzhiyun 600*4882a593Smuzhiyun #define bADClkPhase 0x4000000 /* Reg 0x880 rFPGA0_AnalogParameter1 20/40 CCK support switch 40/80 BB MHZ */ 601*4882a593Smuzhiyun 602*4882a593Smuzhiyun #define b80MClkDelay 0x18000000 /* Useless */ 603*4882a593Smuzhiyun #define bAFEWatchDogEnable 0x20000000 604*4882a593Smuzhiyun 605*4882a593Smuzhiyun #define bXtalCap01 0xc0000000 /* Reg 0x884 rFPGA0_AnalogParameter2 Crystal cap */ 606*4882a593Smuzhiyun #define bXtalCap23 0x3 607*4882a593Smuzhiyun #define bXtalCap92x 0x0f000000 608*4882a593Smuzhiyun #define bXtalCap 0x0f000000 609*4882a593Smuzhiyun 610*4882a593Smuzhiyun #define bIntDifClkEnable 0x400 /* Useless */ 611*4882a593Smuzhiyun #define bExtSigClkEnable 0x800 612*4882a593Smuzhiyun #define bBandgapMbiasPowerUp 0x10000 613*4882a593Smuzhiyun #define bAD11SHGain 0xc0000 614*4882a593Smuzhiyun #define bAD11InputRange 0x700000 615*4882a593Smuzhiyun #define bAD11OPCurrent 0x3800000 616*4882a593Smuzhiyun #define bIPathLoopback 0x4000000 617*4882a593Smuzhiyun #define bQPathLoopback 0x8000000 618*4882a593Smuzhiyun #define bAFELoopback 0x10000000 619*4882a593Smuzhiyun #define bDA10Swing 0x7e0 620*4882a593Smuzhiyun #define bDA10Reverse 0x800 621*4882a593Smuzhiyun #define bDAClkSource 0x1000 622*4882a593Smuzhiyun #define bAD7InputRange 0x6000 623*4882a593Smuzhiyun #define bAD7Gain 0x38000 624*4882a593Smuzhiyun #define bAD7OutputCMMode 0x40000 625*4882a593Smuzhiyun #define bAD7InputCMMode 0x380000 626*4882a593Smuzhiyun #define bAD7Current 0xc00000 627*4882a593Smuzhiyun #define bRegulatorAdjust 0x7000000 628*4882a593Smuzhiyun #define bAD11PowerUpAtTx 0x1 629*4882a593Smuzhiyun #define bDA10PSAtTx 0x10 630*4882a593Smuzhiyun #define bAD11PowerUpAtRx 0x100 631*4882a593Smuzhiyun #define bDA10PSAtRx 0x1000 632*4882a593Smuzhiyun #define bCCKRxAGCFormat 0x200 633*4882a593Smuzhiyun #define bPSDFFTSamplepPoint 0xc000 634*4882a593Smuzhiyun #define bPSDAverageNum 0x3000 635*4882a593Smuzhiyun #define bIQPathControl 0xc00 636*4882a593Smuzhiyun #define bPSDFreq 0x3ff 637*4882a593Smuzhiyun #define bPSDAntennaPath 0x30 638*4882a593Smuzhiyun #define bPSDIQSwitch 0x40 639*4882a593Smuzhiyun #define bPSDRxTrigger 0x400000 640*4882a593Smuzhiyun #define bPSDTxTrigger 0x80000000 641*4882a593Smuzhiyun #define bPSDSineToneScale 0x7f000000 642*4882a593Smuzhiyun #define bPSDReport 0xffff 643*4882a593Smuzhiyun 644*4882a593Smuzhiyun /* 3. Page9(0x900) */ 645*4882a593Smuzhiyun #define bOFDMTxSC 0x30000000 /* Useless */ 646*4882a593Smuzhiyun #define bCCKTxOn 0x1 647*4882a593Smuzhiyun #define bOFDMTxOn 0x2 648*4882a593Smuzhiyun #define bDebugPage 0xfff /* reset debug page and also HWord, LWord */ 649*4882a593Smuzhiyun #define bDebugItem 0xff /* reset debug page and LWord */ 650*4882a593Smuzhiyun #define bAntL 0x10 651*4882a593Smuzhiyun #define bAntNonHT 0x100 652*4882a593Smuzhiyun #define bAntHT1 0x1000 653*4882a593Smuzhiyun #define bAntHT2 0x10000 654*4882a593Smuzhiyun #define bAntHT1S1 0x100000 655*4882a593Smuzhiyun #define bAntNonHTS1 0x1000000 656*4882a593Smuzhiyun 657*4882a593Smuzhiyun /* 4. PageA(0xA00) */ 658*4882a593Smuzhiyun #define bCCKBBMode 0x3 /* Useless */ 659*4882a593Smuzhiyun #define bCCKTxPowerSaving 0x80 660*4882a593Smuzhiyun #define bCCKRxPowerSaving 0x40 661*4882a593Smuzhiyun 662*4882a593Smuzhiyun #define bCCKSideBand 0x10 /* Reg 0xa00 rCCK0_System 20/40 switch */ 663*4882a593Smuzhiyun 664*4882a593Smuzhiyun #define bCCKScramble 0x8 /* Useless */ 665*4882a593Smuzhiyun #define bCCKAntDiversity 0x8000 666*4882a593Smuzhiyun #define bCCKCarrierRecovery 0x4000 667*4882a593Smuzhiyun #define bCCKTxRate 0x3000 668*4882a593Smuzhiyun #define bCCKDCCancel 0x0800 669*4882a593Smuzhiyun #define bCCKISICancel 0x0400 670*4882a593Smuzhiyun #define bCCKMatchFilter 0x0200 671*4882a593Smuzhiyun #define bCCKEqualizer 0x0100 672*4882a593Smuzhiyun #define bCCKPreambleDetect 0x800000 673*4882a593Smuzhiyun #define bCCKFastFalseCCA 0x400000 674*4882a593Smuzhiyun #define bCCKChEstStart 0x300000 675*4882a593Smuzhiyun #define bCCKCCACount 0x080000 676*4882a593Smuzhiyun #define bCCKcs_lim 0x070000 677*4882a593Smuzhiyun #define bCCKBistMode 0x80000000 678*4882a593Smuzhiyun #define bCCKCCAMask 0x40000000 679*4882a593Smuzhiyun #define bCCKTxDACPhase 0x4 680*4882a593Smuzhiyun #define bCCKRxADCPhase 0x20000000 /* r_rx_clk */ 681*4882a593Smuzhiyun #define bCCKr_cp_mode0 0x0100 682*4882a593Smuzhiyun #define bCCKTxDCOffset 0xf0 683*4882a593Smuzhiyun #define bCCKRxDCOffset 0xf 684*4882a593Smuzhiyun #define bCCKCCAMode 0xc000 685*4882a593Smuzhiyun #define bCCKFalseCS_lim 0x3f00 686*4882a593Smuzhiyun #define bCCKCS_ratio 0xc00000 687*4882a593Smuzhiyun #define bCCKCorgBit_sel 0x300000 688*4882a593Smuzhiyun #define bCCKPD_lim 0x0f0000 689*4882a593Smuzhiyun #define bCCKNewCCA 0x80000000 690*4882a593Smuzhiyun #define bCCKRxHPofIG 0x8000 691*4882a593Smuzhiyun #define bCCKRxIG 0x7f00 692*4882a593Smuzhiyun #define bCCKLNAPolarity 0x800000 693*4882a593Smuzhiyun #define bCCKRx1stGain 0x7f0000 694*4882a593Smuzhiyun #define bCCKRFExtend 0x20000000 /* CCK Rx Iinital gain polarity */ 695*4882a593Smuzhiyun #define bCCKRxAGCSatLevel 0x1f000000 696*4882a593Smuzhiyun #define bCCKRxAGCSatCount 0xe0 697*4882a593Smuzhiyun #define bCCKRxRFSettle 0x1f /* AGCsamp_dly */ 698*4882a593Smuzhiyun #define bCCKFixedRxAGC 0x8000 699*4882a593Smuzhiyun /* #define bCCKRxAGCFormat 0x4000 */ /* remove to HSSI register 0x824 */ 700*4882a593Smuzhiyun #define bCCKAntennaPolarity 0x2000 701*4882a593Smuzhiyun #define bCCKTxFilterType 0x0c00 702*4882a593Smuzhiyun #define bCCKRxAGCReportType 0x0300 703*4882a593Smuzhiyun #define bCCKRxDAGCEn 0x80000000 704*4882a593Smuzhiyun #define bCCKRxDAGCPeriod 0x20000000 705*4882a593Smuzhiyun #define bCCKRxDAGCSatLevel 0x1f000000 706*4882a593Smuzhiyun #define bCCKTimingRecovery 0x800000 707*4882a593Smuzhiyun #define bCCKTxC0 0x3f0000 708*4882a593Smuzhiyun #define bCCKTxC1 0x3f000000 709*4882a593Smuzhiyun #define bCCKTxC2 0x3f 710*4882a593Smuzhiyun #define bCCKTxC3 0x3f00 711*4882a593Smuzhiyun #define bCCKTxC4 0x3f0000 712*4882a593Smuzhiyun #define bCCKTxC5 0x3f000000 713*4882a593Smuzhiyun #define bCCKTxC6 0x3f 714*4882a593Smuzhiyun #define bCCKTxC7 0x3f00 715*4882a593Smuzhiyun #define bCCKDebugPort 0xff0000 716*4882a593Smuzhiyun #define bCCKDACDebug 0x0f000000 717*4882a593Smuzhiyun #define bCCKFalseAlarmEnable 0x8000 718*4882a593Smuzhiyun #define bCCKFalseAlarmRead 0x4000 719*4882a593Smuzhiyun #define bCCKTRSSI 0x7f 720*4882a593Smuzhiyun #define bCCKRxAGCReport 0xfe 721*4882a593Smuzhiyun #define bCCKRxReport_AntSel 0x80000000 722*4882a593Smuzhiyun #define bCCKRxReport_MFOff 0x40000000 723*4882a593Smuzhiyun #define bCCKRxRxReport_SQLoss 0x20000000 724*4882a593Smuzhiyun #define bCCKRxReport_Pktloss 0x10000000 725*4882a593Smuzhiyun #define bCCKRxReport_Lockedbit 0x08000000 726*4882a593Smuzhiyun #define bCCKRxReport_RateError 0x04000000 727*4882a593Smuzhiyun #define bCCKRxReport_RxRate 0x03000000 728*4882a593Smuzhiyun #define bCCKRxFACounterLower 0xff 729*4882a593Smuzhiyun #define bCCKRxFACounterUpper 0xff000000 730*4882a593Smuzhiyun #define bCCKRxHPAGCStart 0xe000 731*4882a593Smuzhiyun #define bCCKRxHPAGCFinal 0x1c00 732*4882a593Smuzhiyun #define bCCKRxFalseAlarmEnable 0x8000 733*4882a593Smuzhiyun #define bCCKFACounterFreeze 0x4000 734*4882a593Smuzhiyun #define bCCKTxPathSel 0x10000000 735*4882a593Smuzhiyun #define bCCKDefaultRxPath 0xc000000 736*4882a593Smuzhiyun #define bCCKOptionRxPath 0x3000000 737*4882a593Smuzhiyun 738*4882a593Smuzhiyun /* 5. PageC(0xC00) */ 739*4882a593Smuzhiyun #define bNumOfSTF 0x3 /* Useless */ 740*4882a593Smuzhiyun #define bShift_L 0xc0 741*4882a593Smuzhiyun #define bGI_TH 0xc 742*4882a593Smuzhiyun #define bRxPathA 0x1 743*4882a593Smuzhiyun #define bRxPathB 0x2 744*4882a593Smuzhiyun #define bRxPathC 0x4 745*4882a593Smuzhiyun #define bRxPathD 0x8 746*4882a593Smuzhiyun #define bTxPathA 0x1 747*4882a593Smuzhiyun #define bTxPathB 0x2 748*4882a593Smuzhiyun #define bTxPathC 0x4 749*4882a593Smuzhiyun #define bTxPathD 0x8 750*4882a593Smuzhiyun #define bTRSSIFreq 0x200 751*4882a593Smuzhiyun #define bADCBackoff 0x3000 752*4882a593Smuzhiyun #define bDFIRBackoff 0xc000 753*4882a593Smuzhiyun #define bTRSSILatchPhase 0x10000 754*4882a593Smuzhiyun #define bRxIDCOffset 0xff 755*4882a593Smuzhiyun #define bRxQDCOffset 0xff00 756*4882a593Smuzhiyun #define bRxDFIRMode 0x1800000 757*4882a593Smuzhiyun #define bRxDCNFType 0xe000000 758*4882a593Smuzhiyun #define bRXIQImb_A 0x3ff 759*4882a593Smuzhiyun #define bRXIQImb_B 0xfc00 760*4882a593Smuzhiyun #define bRXIQImb_C 0x3f0000 761*4882a593Smuzhiyun #define bRXIQImb_D 0xffc00000 762*4882a593Smuzhiyun #define bDC_dc_Notch 0x60000 763*4882a593Smuzhiyun #define bRxNBINotch 0x1f000000 764*4882a593Smuzhiyun #define bPD_TH 0xf 765*4882a593Smuzhiyun #define bPD_TH_Opt2 0xc000 766*4882a593Smuzhiyun #define bPWED_TH 0x700 767*4882a593Smuzhiyun #define bIfMF_Win_L 0x800 768*4882a593Smuzhiyun #define bPD_Option 0x1000 769*4882a593Smuzhiyun #define bMF_Win_L 0xe000 770*4882a593Smuzhiyun #define bBW_Search_L 0x30000 771*4882a593Smuzhiyun #define bwin_enh_L 0xc0000 772*4882a593Smuzhiyun #define bBW_TH 0x700000 773*4882a593Smuzhiyun #define bED_TH2 0x3800000 774*4882a593Smuzhiyun #define bBW_option 0x4000000 775*4882a593Smuzhiyun #define bRatio_TH 0x18000000 776*4882a593Smuzhiyun #define bWindow_L 0xe0000000 777*4882a593Smuzhiyun #define bSBD_Option 0x1 778*4882a593Smuzhiyun #define bFrame_TH 0x1c 779*4882a593Smuzhiyun #define bFS_Option 0x60 780*4882a593Smuzhiyun #define bDC_Slope_check 0x80 781*4882a593Smuzhiyun #define bFGuard_Counter_DC_L 0xe00 782*4882a593Smuzhiyun #define bFrame_Weight_Short 0x7000 783*4882a593Smuzhiyun #define bSub_Tune 0xe00000 784*4882a593Smuzhiyun #define bFrame_DC_Length 0xe000000 785*4882a593Smuzhiyun #define bSBD_start_offset 0x30000000 786*4882a593Smuzhiyun #define bFrame_TH_2 0x7 787*4882a593Smuzhiyun #define bFrame_GI2_TH 0x38 788*4882a593Smuzhiyun #define bGI2_Sync_en 0x40 789*4882a593Smuzhiyun #define bSarch_Short_Early 0x300 790*4882a593Smuzhiyun #define bSarch_Short_Late 0xc00 791*4882a593Smuzhiyun #define bSarch_GI2_Late 0x70000 792*4882a593Smuzhiyun #define bCFOAntSum 0x1 793*4882a593Smuzhiyun #define bCFOAcc 0x2 794*4882a593Smuzhiyun #define bCFOStartOffset 0xc 795*4882a593Smuzhiyun #define bCFOLookBack 0x70 796*4882a593Smuzhiyun #define bCFOSumWeight 0x80 797*4882a593Smuzhiyun #define bDAGCEnable 0x10000 798*4882a593Smuzhiyun #define bTXIQImb_A 0x3ff 799*4882a593Smuzhiyun #define bTXIQImb_B 0xfc00 800*4882a593Smuzhiyun #define bTXIQImb_C 0x3f0000 801*4882a593Smuzhiyun #define bTXIQImb_D 0xffc00000 802*4882a593Smuzhiyun #define bTxIDCOffset 0xff 803*4882a593Smuzhiyun #define bTxQDCOffset 0xff00 804*4882a593Smuzhiyun #define bTxDFIRMode 0x10000 805*4882a593Smuzhiyun #define bTxPesudoNoiseOn 0x4000000 806*4882a593Smuzhiyun #define bTxPesudoNoise_A 0xff 807*4882a593Smuzhiyun #define bTxPesudoNoise_B 0xff00 808*4882a593Smuzhiyun #define bTxPesudoNoise_C 0xff0000 809*4882a593Smuzhiyun #define bTxPesudoNoise_D 0xff000000 810*4882a593Smuzhiyun #define bCCADropOption 0x20000 811*4882a593Smuzhiyun #define bCCADropThres 0xfff00000 812*4882a593Smuzhiyun #define bEDCCA_H 0xf 813*4882a593Smuzhiyun #define bEDCCA_L 0xf0 814*4882a593Smuzhiyun #define bLambda_ED 0x300 815*4882a593Smuzhiyun #define bRxInitialGain 0x7f 816*4882a593Smuzhiyun #define bRxAntDivEn 0x80 817*4882a593Smuzhiyun #define bRxAGCAddressForLNA 0x7f00 818*4882a593Smuzhiyun #define bRxHighPowerFlow 0x8000 819*4882a593Smuzhiyun #define bRxAGCFreezeThres 0xc0000 820*4882a593Smuzhiyun #define bRxFreezeStep_AGC1 0x300000 821*4882a593Smuzhiyun #define bRxFreezeStep_AGC2 0xc00000 822*4882a593Smuzhiyun #define bRxFreezeStep_AGC3 0x3000000 823*4882a593Smuzhiyun #define bRxFreezeStep_AGC0 0xc000000 824*4882a593Smuzhiyun #define bRxRssi_Cmp_En 0x10000000 825*4882a593Smuzhiyun #define bRxQuickAGCEn 0x20000000 826*4882a593Smuzhiyun #define bRxAGCFreezeThresMode 0x40000000 827*4882a593Smuzhiyun #define bRxOverFlowCheckType 0x80000000 828*4882a593Smuzhiyun #define bRxAGCShift 0x7f 829*4882a593Smuzhiyun #define bTRSW_Tri_Only 0x80 830*4882a593Smuzhiyun #define bPowerThres 0x300 831*4882a593Smuzhiyun #define bRxAGCEn 0x1 832*4882a593Smuzhiyun #define bRxAGCTogetherEn 0x2 833*4882a593Smuzhiyun #define bRxAGCMin 0x4 834*4882a593Smuzhiyun #define bRxHP_Ini 0x7 835*4882a593Smuzhiyun #define bRxHP_TRLNA 0x70 836*4882a593Smuzhiyun #define bRxHP_RSSI 0x700 837*4882a593Smuzhiyun #define bRxHP_BBP1 0x7000 838*4882a593Smuzhiyun #define bRxHP_BBP2 0x70000 839*4882a593Smuzhiyun #define bRxHP_BBP3 0x700000 840*4882a593Smuzhiyun #define bRSSI_H 0x7f0000 /* the threshold for high power */ 841*4882a593Smuzhiyun #define bRSSI_Gen 0x7f000000 /* the threshold for ant diversity */ 842*4882a593Smuzhiyun #define bRxSettle_TRSW 0x7 843*4882a593Smuzhiyun #define bRxSettle_LNA 0x38 844*4882a593Smuzhiyun #define bRxSettle_RSSI 0x1c0 845*4882a593Smuzhiyun #define bRxSettle_BBP 0xe00 846*4882a593Smuzhiyun #define bRxSettle_RxHP 0x7000 847*4882a593Smuzhiyun #define bRxSettle_AntSW_RSSI 0x38000 848*4882a593Smuzhiyun #define bRxSettle_AntSW 0xc0000 849*4882a593Smuzhiyun #define bRxProcessTime_DAGC 0x300000 850*4882a593Smuzhiyun #define bRxSettle_HSSI 0x400000 851*4882a593Smuzhiyun #define bRxProcessTime_BBPPW 0x800000 852*4882a593Smuzhiyun #define bRxAntennaPowerShift 0x3000000 853*4882a593Smuzhiyun #define bRSSITableSelect 0xc000000 854*4882a593Smuzhiyun #define bRxHP_Final 0x7000000 855*4882a593Smuzhiyun #define bRxHTSettle_BBP 0x7 856*4882a593Smuzhiyun #define bRxHTSettle_HSSI 0x8 857*4882a593Smuzhiyun #define bRxHTSettle_RxHP 0x70 858*4882a593Smuzhiyun #define bRxHTSettle_BBPPW 0x80 859*4882a593Smuzhiyun #define bRxHTSettle_Idle 0x300 860*4882a593Smuzhiyun #define bRxHTSettle_Reserved 0x1c00 861*4882a593Smuzhiyun #define bRxHTRxHPEn 0x8000 862*4882a593Smuzhiyun #define bRxHTAGCFreezeThres 0x30000 863*4882a593Smuzhiyun #define bRxHTAGCTogetherEn 0x40000 864*4882a593Smuzhiyun #define bRxHTAGCMin 0x80000 865*4882a593Smuzhiyun #define bRxHTAGCEn 0x100000 866*4882a593Smuzhiyun #define bRxHTDAGCEn 0x200000 867*4882a593Smuzhiyun #define bRxHTRxHP_BBP 0x1c00000 868*4882a593Smuzhiyun #define bRxHTRxHP_Final 0xe0000000 869*4882a593Smuzhiyun #define bRxPWRatioTH 0x3 870*4882a593Smuzhiyun #define bRxPWRatioEn 0x4 871*4882a593Smuzhiyun #define bRxMFHold 0x3800 872*4882a593Smuzhiyun #define bRxPD_Delay_TH1 0x38 873*4882a593Smuzhiyun #define bRxPD_Delay_TH2 0x1c0 874*4882a593Smuzhiyun #define bRxPD_DC_COUNT_MAX 0x600 875*4882a593Smuzhiyun /* #define bRxMF_Hold 0x3800 */ 876*4882a593Smuzhiyun #define bRxPD_Delay_TH 0x8000 877*4882a593Smuzhiyun #define bRxProcess_Delay 0xf0000 878*4882a593Smuzhiyun #define bRxSearchrange_GI2_Early 0x700000 879*4882a593Smuzhiyun #define bRxFrame_Guard_Counter_L 0x3800000 880*4882a593Smuzhiyun #define bRxSGI_Guard_L 0xc000000 881*4882a593Smuzhiyun #define bRxSGI_Search_L 0x30000000 882*4882a593Smuzhiyun #define bRxSGI_TH 0xc0000000 883*4882a593Smuzhiyun #define bDFSCnt0 0xff 884*4882a593Smuzhiyun #define bDFSCnt1 0xff00 885*4882a593Smuzhiyun #define bDFSFlag 0xf0000 886*4882a593Smuzhiyun #define bMFWeightSum 0x300000 887*4882a593Smuzhiyun #define bMinIdxTH 0x7f000000 888*4882a593Smuzhiyun #define bDAFormat 0x40000 889*4882a593Smuzhiyun #define bTxChEmuEnable 0x01000000 890*4882a593Smuzhiyun #define bTRSWIsolation_A 0x7f 891*4882a593Smuzhiyun #define bTRSWIsolation_B 0x7f00 892*4882a593Smuzhiyun #define bTRSWIsolation_C 0x7f0000 893*4882a593Smuzhiyun #define bTRSWIsolation_D 0x7f000000 894*4882a593Smuzhiyun #define bExtLNAGain 0x7c00 895*4882a593Smuzhiyun 896*4882a593Smuzhiyun /* 6. PageE(0xE00) */ 897*4882a593Smuzhiyun #define bSTBCEn 0x4 /* Useless */ 898*4882a593Smuzhiyun #define bAntennaMapping 0x10 899*4882a593Smuzhiyun #define bNss 0x20 900*4882a593Smuzhiyun #define bCFOAntSumD 0x200 901*4882a593Smuzhiyun #define bPHYCounterReset 0x8000000 902*4882a593Smuzhiyun #define bCFOReportGet 0x4000000 903*4882a593Smuzhiyun #define bOFDMContinueTx 0x10000000 904*4882a593Smuzhiyun #define bOFDMSingleCarrier 0x20000000 905*4882a593Smuzhiyun #define bOFDMSingleTone 0x40000000 906*4882a593Smuzhiyun /* #define bRxPath1 0x01 */ 907*4882a593Smuzhiyun /* #define bRxPath2 0x02 */ 908*4882a593Smuzhiyun /* #define bRxPath3 0x04 */ 909*4882a593Smuzhiyun /* #define bRxPath4 0x08 */ 910*4882a593Smuzhiyun /* #define bTxPath1 0x10 */ 911*4882a593Smuzhiyun /* #define bTxPath2 0x20 */ 912*4882a593Smuzhiyun #define bHTDetect 0x100 913*4882a593Smuzhiyun #define bCFOEn 0x10000 914*4882a593Smuzhiyun #define bCFOValue 0xfff00000 915*4882a593Smuzhiyun #define bSigTone_Re 0x3f 916*4882a593Smuzhiyun #define bSigTone_Im 0x7f00 917*4882a593Smuzhiyun #define bCounter_CCA 0xffff 918*4882a593Smuzhiyun #define bCounter_ParityFail 0xffff0000 919*4882a593Smuzhiyun #define bCounter_RateIllegal 0xffff 920*4882a593Smuzhiyun #define bCounter_CRC8Fail 0xffff0000 921*4882a593Smuzhiyun #define bCounter_MCSNoSupport 0xffff 922*4882a593Smuzhiyun #define bCounter_FastSync 0xffff 923*4882a593Smuzhiyun #define bShortCFO 0xfff 924*4882a593Smuzhiyun #define bShortCFOTLength 12 /* total */ 925*4882a593Smuzhiyun #define bShortCFOFLength 11 /* fraction */ 926*4882a593Smuzhiyun #define bLongCFO 0x7ff 927*4882a593Smuzhiyun #define bLongCFOTLength 11 928*4882a593Smuzhiyun #define bLongCFOFLength 11 929*4882a593Smuzhiyun #define bTailCFO 0x1fff 930*4882a593Smuzhiyun #define bTailCFOTLength 13 931*4882a593Smuzhiyun #define bTailCFOFLength 12 932*4882a593Smuzhiyun #define bmax_en_pwdB 0xffff 933*4882a593Smuzhiyun #define bCC_power_dB 0xffff0000 934*4882a593Smuzhiyun #define bnoise_pwdB 0xffff 935*4882a593Smuzhiyun #define bPowerMeasTLength 10 936*4882a593Smuzhiyun #define bPowerMeasFLength 3 937*4882a593Smuzhiyun #define bRx_HT_BW 0x1 938*4882a593Smuzhiyun #define bRxSC 0x6 939*4882a593Smuzhiyun #define bRx_HT 0x8 940*4882a593Smuzhiyun #define bNB_intf_det_on 0x1 941*4882a593Smuzhiyun #define bIntf_win_len_cfg 0x30 942*4882a593Smuzhiyun #define bNB_Intf_TH_cfg 0x1c0 943*4882a593Smuzhiyun #define bRFGain 0x3f 944*4882a593Smuzhiyun #define bTableSel 0x40 945*4882a593Smuzhiyun #define bTRSW 0x80 946*4882a593Smuzhiyun #define bRxSNR_A 0xff 947*4882a593Smuzhiyun #define bRxSNR_B 0xff00 948*4882a593Smuzhiyun #define bRxSNR_C 0xff0000 949*4882a593Smuzhiyun #define bRxSNR_D 0xff000000 950*4882a593Smuzhiyun #define bSNREVMTLength 8 951*4882a593Smuzhiyun #define bSNREVMFLength 1 952*4882a593Smuzhiyun #define bCSI1st 0xff 953*4882a593Smuzhiyun #define bCSI2nd 0xff00 954*4882a593Smuzhiyun #define bRxEVM1st 0xff0000 955*4882a593Smuzhiyun #define bRxEVM2nd 0xff000000 956*4882a593Smuzhiyun #define bSIGEVM 0xff 957*4882a593Smuzhiyun #define bPWDB 0xff00 958*4882a593Smuzhiyun #define bSGIEN 0x10000 959*4882a593Smuzhiyun 960*4882a593Smuzhiyun #define bSFactorQAM1 0xf /* Useless */ 961*4882a593Smuzhiyun #define bSFactorQAM2 0xf0 962*4882a593Smuzhiyun #define bSFactorQAM3 0xf00 963*4882a593Smuzhiyun #define bSFactorQAM4 0xf000 964*4882a593Smuzhiyun #define bSFactorQAM5 0xf0000 965*4882a593Smuzhiyun #define bSFactorQAM6 0xf0000 966*4882a593Smuzhiyun #define bSFactorQAM7 0xf00000 967*4882a593Smuzhiyun #define bSFactorQAM8 0xf000000 968*4882a593Smuzhiyun #define bSFactorQAM9 0xf0000000 969*4882a593Smuzhiyun #define bCSIScheme 0x100000 970*4882a593Smuzhiyun 971*4882a593Smuzhiyun #define bNoiseLvlTopSet 0x3 /* Useless */ 972*4882a593Smuzhiyun #define bChSmooth 0x4 973*4882a593Smuzhiyun #define bChSmoothCfg1 0x38 974*4882a593Smuzhiyun #define bChSmoothCfg2 0x1c0 975*4882a593Smuzhiyun #define bChSmoothCfg3 0xe00 976*4882a593Smuzhiyun #define bChSmoothCfg4 0x7000 977*4882a593Smuzhiyun #define bMRCMode 0x800000 978*4882a593Smuzhiyun #define bTHEVMCfg 0x7000000 979*4882a593Smuzhiyun 980*4882a593Smuzhiyun #define bLoopFitType 0x1 /* Useless */ 981*4882a593Smuzhiyun #define bUpdCFO 0x40 982*4882a593Smuzhiyun #define bUpdCFOOffData 0x80 983*4882a593Smuzhiyun #define bAdvUpdCFO 0x100 984*4882a593Smuzhiyun #define bAdvTimeCtrl 0x800 985*4882a593Smuzhiyun #define bUpdClko 0x1000 986*4882a593Smuzhiyun #define bFC 0x6000 987*4882a593Smuzhiyun #define bTrackingMode 0x8000 988*4882a593Smuzhiyun #define bPhCmpEnable 0x10000 989*4882a593Smuzhiyun #define bUpdClkoLTF 0x20000 990*4882a593Smuzhiyun #define bComChCFO 0x40000 991*4882a593Smuzhiyun #define bCSIEstiMode 0x80000 992*4882a593Smuzhiyun #define bAdvUpdEqz 0x100000 993*4882a593Smuzhiyun #define bUChCfg 0x7000000 994*4882a593Smuzhiyun #define bUpdEqz 0x8000000 995*4882a593Smuzhiyun 996*4882a593Smuzhiyun /* Rx Pseduo noise */ 997*4882a593Smuzhiyun #define bRxPesudoNoiseOn 0x20000000 /* Useless */ 998*4882a593Smuzhiyun #define bRxPesudoNoise_A 0xff 999*4882a593Smuzhiyun #define bRxPesudoNoise_B 0xff00 1000*4882a593Smuzhiyun #define bRxPesudoNoise_C 0xff0000 1001*4882a593Smuzhiyun #define bRxPesudoNoise_D 0xff000000 1002*4882a593Smuzhiyun #define bPesudoNoiseState_A 0xffff 1003*4882a593Smuzhiyun #define bPesudoNoiseState_B 0xffff0000 1004*4882a593Smuzhiyun #define bPesudoNoiseState_C 0xffff 1005*4882a593Smuzhiyun #define bPesudoNoiseState_D 0xffff0000 1006*4882a593Smuzhiyun 1007*4882a593Smuzhiyun /* 7. RF Register 1008*4882a593Smuzhiyun * Zebra1 */ 1009*4882a593Smuzhiyun #define bZebra1_HSSIEnable 0x8 /* Useless */ 1010*4882a593Smuzhiyun #define bZebra1_TRxControl 0xc00 1011*4882a593Smuzhiyun #define bZebra1_TRxGainSetting 0x07f 1012*4882a593Smuzhiyun #define bZebra1_RxCorner 0xc00 1013*4882a593Smuzhiyun #define bZebra1_TxChargePump 0x38 1014*4882a593Smuzhiyun #define bZebra1_RxChargePump 0x7 1015*4882a593Smuzhiyun #define bZebra1_ChannelNum 0xf80 1016*4882a593Smuzhiyun #define bZebra1_TxLPFBW 0x400 1017*4882a593Smuzhiyun #define bZebra1_RxLPFBW 0x600 1018*4882a593Smuzhiyun 1019*4882a593Smuzhiyun /* Zebra4 */ 1020*4882a593Smuzhiyun #define bRTL8256RegModeCtrl1 0x100 /* Useless */ 1021*4882a593Smuzhiyun #define bRTL8256RegModeCtrl0 0x40 1022*4882a593Smuzhiyun #define bRTL8256_TxLPFBW 0x18 1023*4882a593Smuzhiyun #define bRTL8256_RxLPFBW 0x600 1024*4882a593Smuzhiyun 1025*4882a593Smuzhiyun /* RTL8258 */ 1026*4882a593Smuzhiyun #define bRTL8258_TxLPFBW 0xc /* Useless */ 1027*4882a593Smuzhiyun #define bRTL8258_RxLPFBW 0xc00 1028*4882a593Smuzhiyun #define bRTL8258_RSSILPFBW 0xc0 1029*4882a593Smuzhiyun 1030*4882a593Smuzhiyun 1031*4882a593Smuzhiyun /* 1032*4882a593Smuzhiyun * Other Definition 1033*4882a593Smuzhiyun * */ 1034*4882a593Smuzhiyun 1035*4882a593Smuzhiyun /* byte endable for sb_write */ 1036*4882a593Smuzhiyun #define bByte0 0x1 /* Useless */ 1037*4882a593Smuzhiyun #define bByte1 0x2 1038*4882a593Smuzhiyun #define bByte2 0x4 1039*4882a593Smuzhiyun #define bByte3 0x8 1040*4882a593Smuzhiyun #define bWord0 0x3 1041*4882a593Smuzhiyun #define bWord1 0xc 1042*4882a593Smuzhiyun #define bDWord 0xf 1043*4882a593Smuzhiyun 1044*4882a593Smuzhiyun /* for PutRegsetting & GetRegSetting BitMask */ 1045*4882a593Smuzhiyun #define bMaskByte0 0xff /* Reg 0xc50 rOFDM0_XAAGCCore~0xC6f */ 1046*4882a593Smuzhiyun #define bMaskByte1 0xff00 1047*4882a593Smuzhiyun #define bMaskByte2 0xff0000 1048*4882a593Smuzhiyun #define bMaskByte3 0xff000000 1049*4882a593Smuzhiyun #define bMaskHWord 0xffff0000 1050*4882a593Smuzhiyun #define bMaskLWord 0x0000ffff 1051*4882a593Smuzhiyun #define bMaskDWord 0xffffffff 1052*4882a593Smuzhiyun #define bMaskH3Bytes 0xffffff00 1053*4882a593Smuzhiyun #define bMask12Bits 0xfff 1054*4882a593Smuzhiyun #define bMaskH4Bits 0xf0000000 1055*4882a593Smuzhiyun #define bMaskOFDM_D 0xffc00000 1056*4882a593Smuzhiyun #define bMaskCCK 0x3f3f3f3f 1057*4882a593Smuzhiyun 1058*4882a593Smuzhiyun 1059*4882a593Smuzhiyun 1060*4882a593Smuzhiyun #define bEnable 0x1 /* Useless */ 1061*4882a593Smuzhiyun #define bDisable 0x0 1062*4882a593Smuzhiyun 1063*4882a593Smuzhiyun #define LeftAntenna 0x0 /* Useless */ 1064*4882a593Smuzhiyun #define RightAntenna 0x1 1065*4882a593Smuzhiyun 1066*4882a593Smuzhiyun #define tCheckTxStatus 500 /* 500ms */ /* Useless */ 1067*4882a593Smuzhiyun #define tUpdateRxCounter 100 /* 100ms */ 1068*4882a593Smuzhiyun 1069*4882a593Smuzhiyun #define rateCCK 0 /* Useless */ 1070*4882a593Smuzhiyun #define rateOFDM 1 1071*4882a593Smuzhiyun #define rateHT 2 1072*4882a593Smuzhiyun 1073*4882a593Smuzhiyun /* define Register-End */ 1074*4882a593Smuzhiyun #define bPMAC_End 0x1ff /* Useless */ 1075*4882a593Smuzhiyun #define bFPGAPHY0_End 0x8ff 1076*4882a593Smuzhiyun #define bFPGAPHY1_End 0x9ff 1077*4882a593Smuzhiyun #define bCCKPHY0_End 0xaff 1078*4882a593Smuzhiyun #define bOFDMPHY0_End 0xcff 1079*4882a593Smuzhiyun #define bOFDMPHY1_End 0xdff 1080*4882a593Smuzhiyun 1081*4882a593Smuzhiyun /* define max debug item in each debug page 1082*4882a593Smuzhiyun * #define bMaxItem_FPGA_PHY0 0x9 1083*4882a593Smuzhiyun * #define bMaxItem_FPGA_PHY1 0x3 1084*4882a593Smuzhiyun * #define bMaxItem_PHY_11B 0x16 1085*4882a593Smuzhiyun * #define bMaxItem_OFDM_PHY0 0x29 1086*4882a593Smuzhiyun * #define bMaxItem_OFDM_PHY1 0x0 */ 1087*4882a593Smuzhiyun 1088*4882a593Smuzhiyun #define bPMACControl 0x0 /* Useless */ 1089*4882a593Smuzhiyun #define bWMACControl 0x1 1090*4882a593Smuzhiyun #define bWNICControl 0x2 1091*4882a593Smuzhiyun 1092*4882a593Smuzhiyun #define PathA 0x0 /* Useless */ 1093*4882a593Smuzhiyun #define PathB 0x1 1094*4882a593Smuzhiyun #define PathC 0x2 1095*4882a593Smuzhiyun #define PathD 0x3 1096*4882a593Smuzhiyun 1097*4882a593Smuzhiyun /*--------------------------Define Parameters-------------------------------*/ 1098*4882a593Smuzhiyun 1099*4882a593Smuzhiyun 1100*4882a593Smuzhiyun #endif 1101