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