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