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