Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (c) 2014 - 2017 Jes Sorensen <Jes.Sorensen@gmail.com>
0004  *
0005  * Register definitions taken from original Realtek rtl8723au driver
0006  */
0007 
0008 /* 0x0000 ~ 0x00FF  System Configuration */
0009 #define REG_SYS_ISO_CTRL        0x0000
0010 #define  SYS_ISO_MD2PP          BIT(0)
0011 #define  SYS_ISO_ANALOG_IPS     BIT(5)
0012 #define  SYS_ISO_DIOR           BIT(9)
0013 #define  SYS_ISO_PWC_EV25V      BIT(14)
0014 #define  SYS_ISO_PWC_EV12V      BIT(15)
0015 
0016 #define REG_SYS_FUNC            0x0002
0017 #define  SYS_FUNC_BBRSTB        BIT(0)
0018 #define  SYS_FUNC_BB_GLB_RSTN       BIT(1)
0019 #define  SYS_FUNC_USBA          BIT(2)
0020 #define  SYS_FUNC_UPLL          BIT(3)
0021 #define  SYS_FUNC_USBD          BIT(4)
0022 #define  SYS_FUNC_DIO_PCIE      BIT(5)
0023 #define  SYS_FUNC_PCIEA         BIT(6)
0024 #define  SYS_FUNC_PPLL          BIT(7)
0025 #define  SYS_FUNC_PCIED         BIT(8)
0026 #define  SYS_FUNC_DIOE          BIT(9)
0027 #define  SYS_FUNC_CPU_ENABLE        BIT(10)
0028 #define  SYS_FUNC_DCORE         BIT(11)
0029 #define  SYS_FUNC_ELDR          BIT(12)
0030 #define  SYS_FUNC_DIO_RF        BIT(13)
0031 #define  SYS_FUNC_HWPDN         BIT(14)
0032 #define  SYS_FUNC_MREGEN        BIT(15)
0033 
0034 #define REG_APS_FSMCO           0x0004
0035 #define  APS_FSMCO_PFM_ALDN     BIT(1)
0036 #define  APS_FSMCO_PFM_WOWL     BIT(3)
0037 #define  APS_FSMCO_ENABLE_POWERDOWN BIT(4)
0038 #define  APS_FSMCO_MAC_ENABLE       BIT(8)
0039 #define  APS_FSMCO_MAC_OFF      BIT(9)
0040 #define  APS_FSMCO_SW_LPS       BIT(10)
0041 #define  APS_FSMCO_HW_SUSPEND       BIT(11)
0042 #define  APS_FSMCO_PCIE         BIT(12)
0043 #define  APS_FSMCO_HW_POWERDOWN     BIT(15)
0044 #define  APS_FSMCO_WLON_RESET       BIT(16)
0045 
0046 #define REG_SYS_CLKR            0x0008
0047 #define  SYS_CLK_ANAD16V_ENABLE     BIT(0)
0048 #define  SYS_CLK_ANA8M          BIT(1)
0049 #define  SYS_CLK_MACSLP         BIT(4)
0050 #define  SYS_CLK_LOADER_ENABLE      BIT(5)
0051 #define  SYS_CLK_80M_SSC_DISABLE    BIT(7)
0052 #define  SYS_CLK_80M_SSC_ENABLE_HO  BIT(8)
0053 #define  SYS_CLK_PHY_SSC_RSTB       BIT(9)
0054 #define  SYS_CLK_SEC_CLK_ENABLE     BIT(10)
0055 #define  SYS_CLK_MAC_CLK_ENABLE     BIT(11)
0056 #define  SYS_CLK_ENABLE         BIT(12)
0057 #define  SYS_CLK_RING_CLK_ENABLE    BIT(13)
0058 
0059 #define REG_9346CR          0x000a
0060 #define  EEPROM_BOOT            BIT(4)
0061 #define  EEPROM_ENABLE          BIT(5)
0062 
0063 #define REG_EE_VPD          0x000c
0064 #define REG_AFE_MISC            0x0010
0065 #define  AFE_MISC_WL_XTAL_CTRL      BIT(6)
0066 
0067 #define REG_SPS0_CTRL           0x0011
0068 #define REG_SPS_OCP_CFG         0x0018
0069 #define REG_8192E_LDOV12_CTRL       0x0014
0070 #define REG_RSV_CTRL            0x001c
0071 
0072 #define REG_RF_CTRL         0x001f
0073 #define  RF_ENABLE          BIT(0)
0074 #define  RF_RSTB            BIT(1)
0075 #define  RF_SDMRSTB         BIT(2)
0076 
0077 #define REG_LDOA15_CTRL         0x0020
0078 #define  LDOA15_ENABLE          BIT(0)
0079 #define  LDOA15_STANDBY         BIT(1)
0080 #define  LDOA15_OBUF            BIT(2)
0081 #define  LDOA15_REG_VOS         BIT(3)
0082 #define  LDOA15_VOADJ_SHIFT     4
0083 
0084 #define REG_LDOV12D_CTRL        0x0021
0085 #define  LDOV12D_ENABLE         BIT(0)
0086 #define  LDOV12D_STANDBY        BIT(1)
0087 #define  LDOV12D_VADJ_SHIFT     4
0088 
0089 #define REG_LDOHCI12_CTRL       0x0022
0090 
0091 #define REG_LPLDO_CTRL          0x0023
0092 #define  LPLDO_HSM          BIT(2)
0093 #define  LPLDO_LSM_DIS          BIT(3)
0094 
0095 #define REG_AFE_XTAL_CTRL       0x0024
0096 #define  AFE_XTAL_ENABLE        BIT(0)
0097 #define  AFE_XTAL_B_SELECT      BIT(1)
0098 #define  AFE_XTAL_GATE_USB      BIT(8)
0099 #define  AFE_XTAL_GATE_AFE      BIT(11)
0100 #define  AFE_XTAL_RF_GATE       BIT(14)
0101 #define  AFE_XTAL_GATE_DIG      BIT(17)
0102 #define  AFE_XTAL_BT_GATE       BIT(20)
0103 
0104 /*
0105  * 0x0028 is also known as REG_AFE_CTRL2 on 8723bu/8192eu
0106  */
0107 #define REG_AFE_PLL_CTRL        0x0028
0108 #define  AFE_PLL_ENABLE         BIT(0)
0109 #define  AFE_PLL_320_ENABLE     BIT(1)
0110 #define  APE_PLL_FREF_SELECT        BIT(2)
0111 #define  AFE_PLL_EDGE_SELECT        BIT(3)
0112 #define  AFE_PLL_WDOGB          BIT(4)
0113 #define  AFE_PLL_LPF_ENABLE     BIT(5)
0114 
0115 #define REG_MAC_PHY_CTRL        0x002c
0116 
0117 #define REG_EFUSE_CTRL          0x0030
0118 #define REG_EFUSE_TEST          0x0034
0119 #define  EFUSE_TRPT         BIT(7)
0120     /*  00: Wifi Efuse, 01: BT Efuse0, 10: BT Efuse1, 11: BT Efuse2 */
0121 #define  EFUSE_CELL_SEL         (BIT(8) | BIT(9))
0122 #define  EFUSE_LDOE25_ENABLE        BIT(31)
0123 #define  EFUSE_SELECT_MASK      0x0300
0124 #define  EFUSE_WIFI_SELECT      0x0000
0125 #define  EFUSE_BT0_SELECT       0x0100
0126 #define  EFUSE_BT1_SELECT       0x0200
0127 #define  EFUSE_BT2_SELECT       0x0300
0128 
0129 #define  EFUSE_ACCESS_ENABLE        0x69    /* RTL8723 only */
0130 #define  EFUSE_ACCESS_DISABLE       0x00    /* RTL8723 only */
0131 
0132 #define REG_PWR_DATA            0x0038
0133 #define  PWR_DATA_EEPRPAD_RFE_CTRL_EN   BIT(11)
0134 
0135 #define REG_CAL_TIMER           0x003c
0136 #define REG_ACLK_MON            0x003e
0137 #define REG_GPIO_MUXCFG         0x0040
0138 #define REG_GPIO_IO_SEL         0x0042
0139 #define REG_MAC_PINMUX_CFG      0x0043
0140 #define REG_GPIO_PIN_CTRL       0x0044
0141 #define REG_GPIO_INTM           0x0048
0142 #define  GPIO_INTM_EDGE_TRIG_IRQ    BIT(9)
0143 
0144 #define REG_LEDCFG0         0x004c
0145 #define  LEDCFG0_DPDT_SELECT        BIT(23)
0146 #define REG_LEDCFG1         0x004d
0147 #define REG_LEDCFG2         0x004e
0148 #define  LEDCFG2_DPDT_SELECT        BIT(7)
0149 #define REG_LEDCFG3         0x004f
0150 #define REG_LEDCFG          REG_LEDCFG2
0151 #define REG_FSIMR           0x0050
0152 #define REG_FSISR           0x0054
0153 #define REG_HSIMR           0x0058
0154 #define REG_HSISR           0x005c
0155 /*  RTL8723 WIFI/BT/GPS Multi-Function GPIO Pin Control. */
0156 #define REG_GPIO_PIN_CTRL_2     0x0060
0157 /*  RTL8723 WIFI/BT/GPS Multi-Function GPIO Select. */
0158 #define REG_GPIO_IO_SEL_2       0x0062
0159 #define  GPIO_IO_SEL_2_GPIO09_INPUT BIT(1)
0160 #define  GPIO_IO_SEL_2_GPIO09_IRQ   BIT(9)
0161 
0162 /*  RTL8723B */
0163 #define REG_PAD_CTRL1           0x0064
0164 #define  PAD_CTRL1_SW_DPDT_SEL_DATA BIT(0)
0165 
0166 /*  RTL8723 only WIFI/BT/GPS Multi-Function control source. */
0167 #define REG_MULTI_FUNC_CTRL     0x0068
0168 
0169 #define  MULTI_FN_WIFI_HW_PWRDOWN_EN    BIT(0)  /* Enable GPIO[9] as WiFi HW
0170                            powerdown source */
0171 #define  MULTI_FN_WIFI_HW_PWRDOWN_SL    BIT(1)  /* WiFi HW powerdown polarity
0172                            control */
0173 #define  MULTI_WIFI_FUNC_EN     BIT(2)  /* WiFi function enable */
0174 
0175 #define  MULTI_WIFI_HW_ROF_EN       BIT(3)  /* Enable GPIO[9] as WiFi RF HW
0176                            powerdown source */
0177 #define  MULTI_BT_HW_PWRDOWN_EN     BIT(16) /* Enable GPIO[11] as BT HW
0178                            powerdown source */
0179 #define  MULTI_BT_HW_PWRDOWN_SL     BIT(17) /* BT HW powerdown polarity
0180                            control */
0181 #define  MULTI_BT_FUNC_EN       BIT(18) /* BT function enable */
0182 #define  MULTI_BT_HW_ROF_EN     BIT(19) /* Enable GPIO[11] as BT/GPS
0183                            RF HW powerdown source */
0184 #define  MULTI_GPS_HW_PWRDOWN_EN    BIT(20) /* Enable GPIO[10] as GPS HW
0185                            powerdown source */
0186 #define  MULTI_GPS_HW_PWRDOWN_SL    BIT(21) /* GPS HW powerdown polarity
0187                            control */
0188 #define  MULTI_GPS_FUNC_EN      BIT(22) /* GPS function enable */
0189 
0190 #define REG_AFE_CTRL4           0x0078  /* 8192eu/8723bu */
0191 #define REG_LDO_SW_CTRL         0x007c  /* 8192eu */
0192 
0193 #define REG_MCU_FW_DL           0x0080
0194 #define  MCU_FW_DL_ENABLE       BIT(0)
0195 #define  MCU_FW_DL_READY        BIT(1)
0196 #define  MCU_FW_DL_CSUM_REPORT      BIT(2)
0197 #define  MCU_MAC_INIT_READY     BIT(3)
0198 #define  MCU_BB_INIT_READY      BIT(4)
0199 #define  MCU_RF_INIT_READY      BIT(5)
0200 #define  MCU_WINT_INIT_READY        BIT(6)
0201 #define  MCU_FW_RAM_SEL         BIT(7)  /* 1: RAM, 0:ROM */
0202 #define  MCU_CP_RESET           BIT(23)
0203 
0204 #define REG_HMBOX_EXT_0         0x0088
0205 #define REG_HMBOX_EXT_1         0x008a
0206 #define REG_HMBOX_EXT_2         0x008c
0207 #define REG_HMBOX_EXT_3         0x008e
0208 
0209 /* Interrupt registers for 8192e/8723bu/8812 */
0210 #define REG_HIMR0           0x00b0
0211 #define  IMR0_TXCCK         BIT(30) /* TXRPT interrupt when CCX bit
0212                            of the packet is set */
0213 #define  IMR0_PSTIMEOUT         BIT(29) /* Power Save Time Out Int */
0214 #define  IMR0_GTINT4            BIT(28) /* Set when GTIMER4 expires */
0215 #define  IMR0_GTINT3            BIT(27) /* Set when GTIMER3 expires */
0216 #define  IMR0_TBDER         BIT(26) /* Transmit Beacon0 Error */
0217 #define  IMR0_TBDOK         BIT(25) /* Transmit Beacon0 OK */
0218 #define  IMR0_TSF_BIT32_TOGGLE      BIT(24) /* TSF Timer BIT32 toggle
0219                            indication interrupt */
0220 #define  IMR0_BCNDMAINT0        BIT(20) /* Beacon DMA Interrupt 0 */
0221 #define  IMR0_BCNDERR0          BIT(16) /* Beacon Queue DMA Error 0 */
0222 #define  IMR0_HSISR_IND_ON_INT      BIT(15) /* HSISR Indicator (HSIMR &
0223                            HSISR is true) */
0224 #define  IMR0_BCNDMAINT_E       BIT(14) /* Beacon DMA Interrupt
0225                            Extension for Win7 */
0226 #define  IMR0_ATIMEND           BIT(12) /* CTWidnow End or
0227                            ATIM Window End */
0228 #define  IMR0_HISR1_IND_INT     BIT(11) /* HISR1 Indicator
0229                            (HISR1 & HIMR1 is true) */
0230 #define  IMR0_C2HCMD            BIT(10) /* CPU to Host Command INT
0231                            Status, Write 1 to clear */
0232 #define  IMR0_CPWM2         BIT(9)  /* CPU power Mode exchange INT
0233                            Status, Write 1 to clear */
0234 #define  IMR0_CPWM          BIT(8)  /* CPU power Mode exchange INT
0235                            Status, Write 1 to clear */
0236 #define  IMR0_HIGHDOK           BIT(7)  /* High Queue DMA OK */
0237 #define  IMR0_MGNTDOK           BIT(6)  /* Management Queue DMA OK */
0238 #define  IMR0_BKDOK         BIT(5)  /* AC_BK DMA OK */
0239 #define  IMR0_BEDOK         BIT(4)  /* AC_BE DMA OK */
0240 #define  IMR0_VIDOK         BIT(3)  /* AC_VI DMA OK */
0241 #define  IMR0_VODOK         BIT(2)  /* AC_VO DMA OK */
0242 #define  IMR0_RDU           BIT(1)  /* Rx Descriptor Unavailable */
0243 #define  IMR0_ROK           BIT(0)  /* Receive DMA OK */
0244 #define REG_HISR0           0x00b4
0245 #define REG_HIMR1           0x00b8
0246 #define  IMR1_BCNDMAINT7        BIT(27) /* Beacon DMA Interrupt 7 */
0247 #define  IMR1_BCNDMAINT6        BIT(26) /* Beacon DMA Interrupt 6 */
0248 #define  IMR1_BCNDMAINT5        BIT(25) /* Beacon DMA Interrupt 5 */
0249 #define  IMR1_BCNDMAINT4        BIT(24) /* Beacon DMA Interrupt 4 */
0250 #define  IMR1_BCNDMAINT3        BIT(23) /* Beacon DMA Interrupt 3 */
0251 #define  IMR1_BCNDMAINT2        BIT(22) /* Beacon DMA Interrupt 2 */
0252 #define  IMR1_BCNDMAINT1        BIT(21) /* Beacon DMA Interrupt 1 */
0253 #define  IMR1_BCNDERR7          BIT(20) /* Beacon Queue DMA Err Int 7 */
0254 #define  IMR1_BCNDERR6          BIT(19) /* Beacon Queue DMA Err Int 6 */
0255 #define  IMR1_BCNDERR5          BIT(18) /* Beacon Queue DMA Err Int 5 */
0256 #define  IMR1_BCNDERR4          BIT(17) /* Beacon Queue DMA Err Int 4 */
0257 #define  IMR1_BCNDERR3          BIT(16) /* Beacon Queue DMA Err Int 3 */
0258 #define  IMR1_BCNDERR2          BIT(15) /* Beacon Queue DMA Err Int 2 */
0259 #define  IMR1_BCNDERR1          BIT(14) /* Beacon Queue DMA Err Int 1 */
0260 #define  IMR1_ATIMEND_E         BIT(13) /* ATIM Window End Extension
0261                            for Win7 */
0262 #define  IMR1_TXERR         BIT(11) /* Tx Error Flag Int Status,
0263                            write 1 to clear */
0264 #define  IMR1_RXERR         BIT(10) /* Rx Error Flag Int Status,
0265                            write 1 to clear */
0266 #define  IMR1_TXFOVW            BIT(9)  /* Transmit FIFO Overflow */
0267 #define  IMR1_RXFOVW            BIT(8)  /* Receive FIFO Overflow */
0268 #define REG_HISR1           0x00bc
0269 
0270 /*  Host suspend counter on FPGA platform */
0271 #define REG_HOST_SUSP_CNT       0x00bc
0272 /*  Efuse access protection for RTL8723 */
0273 #define REG_EFUSE_ACCESS        0x00cf
0274 #define REG_BIST_SCAN           0x00d0
0275 #define REG_BIST_RPT            0x00d4
0276 #define REG_BIST_ROM_RPT        0x00d8
0277 #define REG_USB_SIE_INTF        0x00e0
0278 #define REG_PCIE_MIO_INTF       0x00e4
0279 #define REG_PCIE_MIO_INTD       0x00e8
0280 #define REG_HPON_FSM            0x00ec
0281 #define  HPON_FSM_BONDING_MASK      (BIT(22) | BIT(23))
0282 #define  HPON_FSM_BONDING_1T2R      BIT(22)
0283 #define REG_SYS_CFG         0x00f0
0284 #define  SYS_CFG_XCLK_VLD       BIT(0)
0285 #define  SYS_CFG_ACLK_VLD       BIT(1)
0286 #define  SYS_CFG_UCLK_VLD       BIT(2)
0287 #define  SYS_CFG_PCLK_VLD       BIT(3)
0288 #define  SYS_CFG_PCIRSTB        BIT(4)
0289 #define  SYS_CFG_V15_VLD        BIT(5)
0290 #define  SYS_CFG_TRP_B15V_EN        BIT(7)
0291 #define  SYS_CFG_SW_OFFLOAD_EN      BIT(7)  /* For chips with IOL support */
0292 #define  SYS_CFG_SIC_IDLE       BIT(8)
0293 #define  SYS_CFG_BD_MAC2        BIT(9)
0294 #define  SYS_CFG_BD_MAC1        BIT(10)
0295 #define  SYS_CFG_IC_MACPHY_MODE     BIT(11)
0296 #define  SYS_CFG_CHIP_VER       (BIT(12) | BIT(13) | BIT(14) | BIT(15))
0297 #define  SYS_CFG_BT_FUNC        BIT(16)
0298 #define  SYS_CFG_VENDOR_ID      BIT(19)
0299 #define  SYS_CFG_VENDOR_EXT_MASK    (BIT(18) | BIT(19))
0300 #define   SYS_CFG_VENDOR_ID_TSMC    0
0301 #define   SYS_CFG_VENDOR_ID_SMIC    BIT(18)
0302 #define   SYS_CFG_VENDOR_ID_UMC     BIT(19)
0303 #define  SYS_CFG_PAD_HWPD_IDN       BIT(22)
0304 #define  SYS_CFG_TRP_VAUX_EN        BIT(23)
0305 #define  SYS_CFG_TRP_BT_EN      BIT(24)
0306 #define  SYS_CFG_SPS_LDO_SEL        BIT(24) /* 8192eu */
0307 #define  SYS_CFG_BD_PKG_SEL     BIT(25)
0308 #define  SYS_CFG_BD_HCI_SEL     BIT(26)
0309 #define  SYS_CFG_TYPE_ID        BIT(27)
0310 #define  SYS_CFG_RTL_ID         BIT(23) /*  TestChip ID,
0311                             1:Test(RLE); 0:MP(RL) */
0312 #define  SYS_CFG_SPS_SEL        BIT(24) /*  1:LDO regulator mode;
0313                             0:Switching regulator mode*/
0314 #define  SYS_CFG_CHIP_VERSION_MASK  0xf000  /* Bit 12 - 15 */
0315 #define  SYS_CFG_CHIP_VERSION_SHIFT 12
0316 
0317 #define REG_GPIO_OUTSTS         0x00f4  /*  For RTL8723 only. */
0318 #define  GPIO_EFS_HCI_SEL       (BIT(0) | BIT(1))
0319 #define  GPIO_PAD_HCI_SEL       (BIT(2) | BIT(3))
0320 #define  GPIO_HCI_SEL           (BIT(4) | BIT(5))
0321 #define  GPIO_PKG_SEL_HCI       BIT(6)
0322 #define  GPIO_FEN_GPS           BIT(7)
0323 #define  GPIO_FEN_BT            BIT(8)
0324 #define  GPIO_FEN_WL            BIT(9)
0325 #define  GPIO_FEN_PCI           BIT(10)
0326 #define  GPIO_FEN_USB           BIT(11)
0327 #define  GPIO_BTRF_HWPDN_N      BIT(12)
0328 #define  GPIO_WLRF_HWPDN_N      BIT(13)
0329 #define  GPIO_PDN_BT_N          BIT(14)
0330 #define  GPIO_PDN_GPS_N         BIT(15)
0331 #define  GPIO_BT_CTL_HWPDN      BIT(16)
0332 #define  GPIO_GPS_CTL_HWPDN     BIT(17)
0333 #define  GPIO_PPHY_SUSB         BIT(20)
0334 #define  GPIO_UPHY_SUSB         BIT(21)
0335 #define  GPIO_PCI_SUSEN         BIT(22)
0336 #define  GPIO_USB_SUSEN         BIT(23)
0337 #define  GPIO_RF_RL_ID          (BIT(31) | BIT(30) | BIT(29) | BIT(28))
0338 
0339 #define REG_SYS_CFG2            0x00fc  /* 8192eu */
0340 
0341 /* 0x0100 ~ 0x01FF  MACTOP General Configuration */
0342 #define REG_CR              0x0100
0343 #define  CR_HCI_TXDMA_ENABLE        BIT(0)
0344 #define  CR_HCI_RXDMA_ENABLE        BIT(1)
0345 #define  CR_TXDMA_ENABLE        BIT(2)
0346 #define  CR_RXDMA_ENABLE        BIT(3)
0347 #define  CR_PROTOCOL_ENABLE     BIT(4)
0348 #define  CR_SCHEDULE_ENABLE     BIT(5)
0349 #define  CR_MAC_TX_ENABLE       BIT(6)
0350 #define  CR_MAC_RX_ENABLE       BIT(7)
0351 #define  CR_SW_BEACON_ENABLE        BIT(8)
0352 #define  CR_SECURITY_ENABLE     BIT(9)
0353 #define  CR_CALTIMER_ENABLE     BIT(10)
0354 
0355 /* Media Status Register */
0356 #define REG_MSR             0x0102
0357 #define  MSR_LINKTYPE_MASK      0x3
0358 #define  MSR_LINKTYPE_NONE      0x0
0359 #define  MSR_LINKTYPE_ADHOC     0x1
0360 #define  MSR_LINKTYPE_STATION       0x2
0361 #define  MSR_LINKTYPE_AP        0x3
0362 
0363 #define REG_PBP             0x0104
0364 #define  PBP_PAGE_SIZE_RX_SHIFT     0
0365 #define  PBP_PAGE_SIZE_TX_SHIFT     4
0366 #define  PBP_PAGE_SIZE_64       0x0
0367 #define  PBP_PAGE_SIZE_128      0x1
0368 #define  PBP_PAGE_SIZE_256      0x2
0369 #define  PBP_PAGE_SIZE_512      0x3
0370 #define  PBP_PAGE_SIZE_1024     0x4
0371 
0372 #define REG_TRXDMA_CTRL         0x010c
0373 #define  TRXDMA_CTRL_RXDMA_AGG_EN   BIT(2)
0374 #define  TRXDMA_CTRL_VOQ_SHIFT      4
0375 #define  TRXDMA_CTRL_VIQ_SHIFT      6
0376 #define  TRXDMA_CTRL_BEQ_SHIFT      8
0377 #define  TRXDMA_CTRL_BKQ_SHIFT      10
0378 #define  TRXDMA_CTRL_MGQ_SHIFT      12
0379 #define  TRXDMA_CTRL_HIQ_SHIFT      14
0380 #define  TRXDMA_QUEUE_LOW       1
0381 #define  TRXDMA_QUEUE_NORMAL        2
0382 #define  TRXDMA_QUEUE_HIGH      3
0383 
0384 #define REG_TRXFF_BNDY          0x0114
0385 #define REG_TRXFF_STATUS        0x0118
0386 #define REG_RXFF_PTR            0x011c
0387 #define REG_HIMR            0x0120
0388 #define REG_HISR            0x0124
0389 #define REG_HIMRE           0x0128
0390 #define REG_HISRE           0x012c
0391 #define REG_CPWM            0x012f
0392 #define REG_FWIMR           0x0130
0393 #define REG_FWISR           0x0134
0394 #define REG_PKTBUF_DBG_CTRL     0x0140
0395 #define REG_PKTBUF_DBG_DATA_L       0x0144
0396 #define REG_PKTBUF_DBG_DATA_H       0x0148
0397 
0398 #define REG_TC0_CTRL            0x0150
0399 #define REG_TC1_CTRL            0x0154
0400 #define REG_TC2_CTRL            0x0158
0401 #define REG_TC3_CTRL            0x015c
0402 #define REG_TC4_CTRL            0x0160
0403 #define REG_TCUNIT_BASE         0x0164
0404 #define REG_MBIST_START         0x0174
0405 #define REG_MBIST_DONE          0x0178
0406 #define REG_MBIST_FAIL          0x017c
0407 #define REG_C2HEVT_MSG_NORMAL       0x01a0
0408 /* 8192EU/8723BU/8812 */
0409 #define REG_C2HEVT_CMD_ID_8723B     0x01ae
0410 #define REG_C2HEVT_CLEAR        0x01af
0411 #define REG_C2HEVT_MSG_TEST     0x01b8
0412 #define REG_MCUTST_1            0x01c0
0413 #define REG_FMTHR           0x01c8
0414 #define REG_HMTFR           0x01cc
0415 #define REG_HMBOX_0         0x01d0
0416 #define REG_HMBOX_1         0x01d4
0417 #define REG_HMBOX_2         0x01d8
0418 #define REG_HMBOX_3         0x01dc
0419 
0420 #define REG_LLT_INIT            0x01e0
0421 #define  LLT_OP_INACTIVE        0x0
0422 #define  LLT_OP_WRITE           (0x1 << 30)
0423 #define  LLT_OP_READ            (0x2 << 30)
0424 #define  LLT_OP_MASK            (0x3 << 30)
0425 
0426 #define REG_BB_ACCEESS_CTRL     0x01e8
0427 #define REG_BB_ACCESS_DATA      0x01ec
0428 
0429 #define REG_HMBOX_EXT0_8723B        0x01f0
0430 #define REG_HMBOX_EXT1_8723B        0x01f4
0431 #define REG_HMBOX_EXT2_8723B        0x01f8
0432 #define REG_HMBOX_EXT3_8723B        0x01fc
0433 
0434 /* 0x0200 ~ 0x027F  TXDMA Configuration */
0435 #define REG_RQPN            0x0200
0436 #define  RQPN_HI_PQ_SHIFT       0
0437 #define  RQPN_LO_PQ_SHIFT       8
0438 #define  RQPN_PUB_PQ_SHIFT      16
0439 #define  RQPN_LOAD          BIT(31)
0440 
0441 #define REG_FIFOPAGE            0x0204
0442 #define REG_TDECTRL         0x0208
0443 #define REG_TXDMA_OFFSET_CHK        0x020c
0444 #define  TXDMA_OFFSET_DROP_DATA_EN  BIT(9)
0445 #define REG_TXDMA_STATUS        0x0210
0446 #define REG_RQPN_NPQ            0x0214
0447 #define  RQPN_NPQ_SHIFT         0
0448 #define  RQPN_EPQ_SHIFT         16
0449 
0450 #define REG_AUTO_LLT            0x0224
0451 #define  AUTO_LLT_INIT_LLT      BIT(16)
0452 
0453 #define REG_DWBCN1_CTRL_8723B       0x0228
0454 
0455 /* 0x0280 ~ 0x02FF  RXDMA Configuration */
0456 #define REG_RXDMA_AGG_PG_TH     0x0280  /* 0-7 : USB DMA size bits
0457                            8-14: USB DMA timeout
0458                            15  : Aggregation enable
0459                                  Only seems to be used
0460                              on 8723bu/8192eu */
0461 #define  RXDMA_USB_AGG_ENABLE       BIT(31)
0462 #define REG_RXPKT_NUM           0x0284
0463 #define  RXPKT_NUM_RXDMA_IDLE       BIT(17)
0464 #define  RXPKT_NUM_RW_RELEASE_EN    BIT(18)
0465 #define REG_RXDMA_STATUS        0x0288
0466 
0467 /* Presumably only found on newer chips such as 8723bu */
0468 #define REG_RX_DMA_CTRL_8723B       0x0286
0469 #define REG_RXDMA_PRO_8723B     0x0290
0470 
0471 #define REG_RF_BB_CMD_ADDR      0x02c0
0472 #define REG_RF_BB_CMD_DATA      0x02c4
0473 
0474 /*  spec version 11 */
0475 /* 0x0400 ~ 0x047F  Protocol Configuration */
0476 /* 8192c, 8192d */
0477 #define REG_VOQ_INFO            0x0400
0478 #define REG_VIQ_INFO            0x0404
0479 #define REG_BEQ_INFO            0x0408
0480 #define REG_BKQ_INFO            0x040c
0481 /* 8188e, 8723a, 8812a, 8821a, 8192e, 8723b */
0482 #define REG_Q0_INFO         0x400
0483 #define REG_Q1_INFO         0x404
0484 #define REG_Q2_INFO         0x408
0485 #define REG_Q3_INFO         0x40c
0486 
0487 #define REG_MGQ_INFO            0x0410
0488 #define REG_HGQ_INFO            0x0414
0489 #define REG_BCNQ_INFO           0x0418
0490 
0491 #define REG_CPU_MGQ_INFORMATION     0x041c
0492 #define REG_FWHW_TXQ_CTRL       0x0420
0493 #define  FWHW_TXQ_CTRL_AMPDU_RETRY  BIT(7)
0494 #define  FWHW_TXQ_CTRL_XMIT_MGMT_ACK    BIT(12)
0495 
0496 #define REG_HWSEQ_CTRL          0x0423
0497 #define REG_TXPKTBUF_BCNQ_BDNY      0x0424
0498 #define REG_TXPKTBUF_MGQ_BDNY       0x0425
0499 #define REG_LIFETIME_EN         0x0426
0500 #define REG_MULTI_BCNQ_OFFSET       0x0427
0501 
0502 #define REG_SPEC_SIFS           0x0428
0503 #define  SPEC_SIFS_CCK_MASK     0x00ff
0504 #define  SPEC_SIFS_CCK_SHIFT        0
0505 #define  SPEC_SIFS_OFDM_MASK        0xff00
0506 #define  SPEC_SIFS_OFDM_SHIFT       8
0507 
0508 #define REG_RETRY_LIMIT         0x042a
0509 #define  RETRY_LIMIT_LONG_SHIFT     0
0510 #define  RETRY_LIMIT_LONG_MASK      0x003f
0511 #define  RETRY_LIMIT_SHORT_SHIFT    8
0512 #define  RETRY_LIMIT_SHORT_MASK     0x3f00
0513 
0514 #define REG_DARFRC          0x0430
0515 #define REG_RARFRC          0x0438
0516 #define REG_RESPONSE_RATE_SET       0x0440
0517 #define  RESPONSE_RATE_BITMAP_ALL   0xfffff
0518 #define  RESPONSE_RATE_RRSR_CCK_ONLY_1M 0xffff1
0519 #define  RESPONSE_RATE_RRSR_INIT_2G 0x15f
0520 #define  RESPONSE_RATE_RRSR_INIT_5G 0x150
0521 #define  RSR_1M             BIT(0)
0522 #define  RSR_2M             BIT(1)
0523 #define  RSR_5_5M           BIT(2)
0524 #define  RSR_11M            BIT(3)
0525 #define  RSR_6M             BIT(4)
0526 #define  RSR_9M             BIT(5)
0527 #define  RSR_12M            BIT(6)
0528 #define  RSR_18M            BIT(7)
0529 #define  RSR_24M            BIT(8)
0530 #define  RSR_36M            BIT(9)
0531 #define  RSR_48M            BIT(10)
0532 #define  RSR_54M            BIT(11)
0533 #define  RSR_MCS0           BIT(12)
0534 #define  RSR_MCS1           BIT(13)
0535 #define  RSR_MCS2           BIT(14)
0536 #define  RSR_MCS3           BIT(15)
0537 #define  RSR_MCS4           BIT(16)
0538 #define  RSR_MCS5           BIT(17)
0539 #define  RSR_MCS6           BIT(18)
0540 #define  RSR_MCS7           BIT(19)
0541 #define  RSR_RSC_LOWER_SUB_CHANNEL  BIT(21) /* 0x200000 */
0542 #define  RSR_RSC_UPPER_SUB_CHANNEL  BIT(22) /* 0x400000 */
0543 #define  RSR_RSC_BANDWIDTH_40M      (RSR_RSC_UPPER_SUB_CHANNEL | \
0544                      RSR_RSC_LOWER_SUB_CHANNEL)
0545 #define  RSR_ACK_SHORT_PREAMBLE     BIT(23)
0546 
0547 #define REG_ARFR0           0x0444
0548 #define REG_ARFR1           0x0448
0549 #define REG_ARFR2           0x044c
0550 #define REG_ARFR3           0x0450
0551 #define REG_AMPDU_MAX_TIME_8723B    0x0456
0552 #define REG_AGGLEN_LMT          0x0458
0553 #define REG_AMPDU_MIN_SPACE     0x045c
0554 #define REG_TXPKTBUF_WMAC_LBK_BF_HD 0x045d
0555 #define REG_FAST_EDCA_CTRL      0x0460
0556 #define REG_RD_RESP_PKT_TH      0x0463
0557 #define REG_INIRTS_RATE_SEL     0x0480
0558 /* 8723bu */
0559 #define REG_DATA_SUBCHANNEL     0x0483
0560 /* 8723au */
0561 #define REG_INIDATA_RATE_SEL        0x0484
0562 /* MACID_SLEEP_1/3 for 8723b, 8192e, 8812a, 8821a */
0563 #define REG_MACID_SLEEP_3_8732B     0x0484
0564 #define REG_MACID_SLEEP_1_8732B     0x0488
0565 
0566 #define REG_POWER_STATUS        0x04a4
0567 #define REG_POWER_STAGE1        0x04b4
0568 #define REG_POWER_STAGE2        0x04b8
0569 #define REG_AMPDU_BURST_MODE_8723B  0x04bc
0570 #define REG_PKT_VO_VI_LIFE_TIME     0x04c0
0571 #define REG_PKT_BE_BK_LIFE_TIME     0x04c2
0572 #define REG_STBC_SETTING        0x04c4
0573 #define REG_QUEUE_CTRL          0x04c6
0574 #define REG_HT_SINGLE_AMPDU_8723B   0x04c7
0575 #define REG_PROT_MODE_CTRL      0x04c8
0576 #define REG_MAX_AGGR_NUM        0x04ca
0577 #define REG_RTS_MAX_AGGR_NUM        0x04cb
0578 #define REG_BAR_MODE_CTRL       0x04cc
0579 #define REG_RA_TRY_RATE_AGG_LMT     0x04cf
0580 /* MACID_DROP for 8723a */
0581 #define REG_MACID_DROP_8732A        0x04d0
0582 /* EARLY_MODE_CONTROL 8188e */
0583 #define REG_EARLY_MODE_CONTROL_8188E    0x04d0
0584 /* MACID_SLEEP_2 for 8723b, 8192e, 8812a, 8821a */
0585 #define REG_MACID_SLEEP_2_8732B     0x04d0
0586 #define REG_MACID_SLEEP         0x04d4
0587 #define REG_NQOS_SEQ            0x04dc
0588 #define REG_QOS_SEQ         0x04de
0589 #define REG_NEED_CPU_HANDLE     0x04e0
0590 #define REG_PKT_LOSE_RPT        0x04e1
0591 #define REG_PTCL_ERR_STATUS     0x04e2
0592 #define REG_TX_REPORT_CTRL      0x04ec
0593 #define  TX_REPORT_CTRL_TIMER_ENABLE    BIT(1)
0594 
0595 #define REG_TX_REPORT_TIME      0x04f0
0596 #define REG_DUMMY           0x04fc
0597 
0598 /* 0x0500 ~ 0x05FF  EDCA Configuration */
0599 #define REG_EDCA_VO_PARAM       0x0500
0600 #define REG_EDCA_VI_PARAM       0x0504
0601 #define REG_EDCA_BE_PARAM       0x0508
0602 #define REG_EDCA_BK_PARAM       0x050c
0603 #define  EDCA_PARAM_ECW_MIN_SHIFT   8
0604 #define  EDCA_PARAM_ECW_MAX_SHIFT   12
0605 #define  EDCA_PARAM_TXOP_SHIFT      16
0606 #define REG_BEACON_TCFG         0x0510
0607 #define REG_PIFS            0x0512
0608 #define REG_RDG_PIFS            0x0513
0609 #define REG_SIFS_CCK            0x0514
0610 #define REG_SIFS_OFDM           0x0516
0611 #define REG_TSFTR_SYN_OFFSET        0x0518
0612 #define REG_AGGR_BREAK_TIME     0x051a
0613 #define REG_SLOT            0x051b
0614 #define REG_TX_PTCL_CTRL        0x0520
0615 #define REG_TXPAUSE         0x0522
0616 #define REG_DIS_TXREQ_CLR       0x0523
0617 #define REG_RD_CTRL         0x0524
0618 #define REG_TBTT_PROHIBIT       0x0540
0619 #define REG_RD_NAV_NXT          0x0544
0620 #define REG_NAV_PROT_LEN        0x0546
0621 
0622 #define REG_BEACON_CTRL         0x0550
0623 #define REG_BEACON_CTRL_1       0x0551
0624 #define  BEACON_ATIM            BIT(0)
0625 #define  BEACON_CTRL_MBSSID     BIT(1)
0626 #define  BEACON_CTRL_TX_BEACON_RPT  BIT(2)
0627 #define  BEACON_FUNCTION_ENABLE     BIT(3)
0628 #define  BEACON_DISABLE_TSF_UPDATE  BIT(4)
0629 
0630 #define REG_MBID_NUM            0x0552
0631 #define REG_DUAL_TSF_RST        0x0553
0632 #define  DUAL_TSF_RESET_TSF0        BIT(0)
0633 #define  DUAL_TSF_RESET_TSF1        BIT(1)
0634 #define  DUAL_TSF_RESET_P2P     BIT(4)
0635 #define  DUAL_TSF_TX_OK         BIT(5)
0636 
0637 /*  The same as REG_MBSSID_BCN_SPACE */
0638 #define REG_BCN_INTERVAL        0x0554
0639 #define REG_MBSSID_BCN_SPACE        0x0554
0640 
0641 #define REG_DRIVER_EARLY_INT        0x0558
0642 #define  DRIVER_EARLY_INT_TIME      5
0643 
0644 #define REG_BEACON_DMA_TIME     0x0559
0645 #define  BEACON_DMA_ATIME_INT_TIME  2
0646 
0647 #define REG_ATIMWND         0x055a
0648 #define REG_USTIME_TSF_8723B        0x055c
0649 #define REG_BCN_MAX_ERR         0x055d
0650 #define REG_RXTSF_OFFSET_CCK        0x055e
0651 #define REG_RXTSF_OFFSET_OFDM       0x055f
0652 #define REG_TSFTR           0x0560
0653 #define REG_TSFTR1          0x0568
0654 #define REG_INIT_TSFTR          0x0564
0655 #define REG_ATIMWND_1           0x0570
0656 #define REG_PSTIMER         0x0580
0657 #define REG_TIMER0          0x0584
0658 #define REG_TIMER1          0x0588
0659 #define REG_ACM_HW_CTRL         0x05c0
0660 #define  ACM_HW_CTRL_BK         BIT(0)
0661 #define  ACM_HW_CTRL_BE         BIT(1)
0662 #define  ACM_HW_CTRL_VI         BIT(2)
0663 #define  ACM_HW_CTRL_VO         BIT(3)
0664 #define REG_ACM_RST_CTRL        0x05c1
0665 #define REG_ACMAVG          0x05c2
0666 #define REG_VO_ADMTIME          0x05c4
0667 #define REG_VI_ADMTIME          0x05c6
0668 #define REG_BE_ADMTIME          0x05c8
0669 #define REG_EDCA_RANDOM_GEN     0x05cc
0670 #define REG_SCH_TXCMD           0x05d0
0671 
0672 /* define REG_FW_TSF_SYNC_CNT       0x04a0 */
0673 #define REG_SCH_TX_CMD          0x05f8
0674 #define REG_FW_RESET_TSF_CNT_1      0x05fc
0675 #define REG_FW_RESET_TSF_CNT_0      0x05fd
0676 #define REG_FW_BCN_DIS_CNT      0x05fe
0677 
0678 /* 0x0600 ~ 0x07FF  WMAC Configuration */
0679 #define REG_APSD_CTRL           0x0600
0680 #define  APSD_CTRL_OFF          BIT(6)
0681 #define  APSD_CTRL_OFF_STATUS       BIT(7)
0682 #define REG_BW_OPMODE           0x0603
0683 #define  BW_OPMODE_20MHZ        BIT(2)
0684 #define  BW_OPMODE_5G           BIT(1)
0685 #define  BW_OPMODE_11J          BIT(0)
0686 
0687 #define REG_TCR             0x0604
0688 
0689 /* Receive Configuration Register */
0690 #define REG_RCR             0x0608
0691 #define  RCR_ACCEPT_AP          BIT(0)  /* Accept all unicast packet */
0692 #define  RCR_ACCEPT_PHYS_MATCH      BIT(1)  /* Accept phys match packet */
0693 #define  RCR_ACCEPT_MCAST       BIT(2)
0694 #define  RCR_ACCEPT_BCAST       BIT(3)
0695 #define  RCR_ACCEPT_ADDR3       BIT(4)  /* Accept address 3 match
0696                          packet */
0697 #define  RCR_ACCEPT_PM          BIT(5)  /* Accept power management
0698                          packet */
0699 #define  RCR_CHECK_BSSID_MATCH      BIT(6)  /* Accept BSSID match packet */
0700 #define  RCR_CHECK_BSSID_BEACON     BIT(7)  /* Accept BSSID match packet
0701                          (Rx beacon, probe rsp) */
0702 #define  RCR_ACCEPT_CRC32       BIT(8)  /* Accept CRC32 error packet */
0703 #define  RCR_ACCEPT_ICV         BIT(9)  /* Accept ICV error packet */
0704 #define  RCR_ACCEPT_DATA_FRAME      BIT(11) /* Accept all data pkt or use
0705                            REG_RXFLTMAP2 */
0706 #define  RCR_ACCEPT_CTRL_FRAME      BIT(12) /* Accept all control pkt or use
0707                            REG_RXFLTMAP1 */
0708 #define  RCR_ACCEPT_MGMT_FRAME      BIT(13) /* Accept all mgmt pkt or use
0709                            REG_RXFLTMAP0 */
0710 #define  RCR_HTC_LOC_CTRL       BIT(14) /* MFC<--HTC=1 MFC-->HTC=0 */
0711 #define  RCR_UC_DATA_PKT_INT_ENABLE BIT(16) /* Enable unicast data packet
0712                            interrupt */
0713 #define  RCR_BM_DATA_PKT_INT_ENABLE BIT(17) /* Enable broadcast data packet
0714                            interrupt */
0715 #define  RCR_TIM_PARSER_ENABLE      BIT(18) /* Enable RX beacon TIM parser*/
0716 #define  RCR_MFBEN          BIT(22)
0717 #define  RCR_LSIG_ENABLE        BIT(23) /* Enable LSIG TXOP Protection
0718                            function. Search KEYCAM for
0719                            each rx packet to check if
0720                            LSIGEN bit is set. */
0721 #define  RCR_MULTI_BSSID_ENABLE     BIT(24) /* Enable Multiple BssId */
0722 #define  RCR_FORCE_ACK          BIT(26)
0723 #define  RCR_ACCEPT_BA_SSN      BIT(27) /* Accept BA SSN */
0724 #define  RCR_APPEND_PHYSTAT     BIT(28)
0725 #define  RCR_APPEND_ICV         BIT(29)
0726 #define  RCR_APPEND_MIC         BIT(30)
0727 #define  RCR_APPEND_FCS         BIT(31) /* WMAC append FCS after */
0728 
0729 #define REG_RX_PKT_LIMIT        0x060c
0730 #define REG_RX_DLK_TIME         0x060d
0731 #define REG_RX_DRVINFO_SZ       0x060f
0732 
0733 #define REG_MACID           0x0610
0734 #define REG_BSSID           0x0618
0735 #define REG_MAR             0x0620
0736 #define REG_MBIDCAMCFG          0x0628
0737 
0738 #define REG_USTIME_EDCA         0x0638
0739 #define REG_MAC_SPEC_SIFS       0x063a
0740 
0741 /*  20100719 Joseph: Hardware register definition change. (HW datasheet v54) */
0742     /*  [15:8]SIFS_R2T_OFDM, [7:0]SIFS_R2T_CCK */
0743 #define REG_R2T_SIFS            0x063c
0744     /*  [15:8]SIFS_T2T_OFDM, [7:0]SIFS_T2T_CCK */
0745 #define REG_T2T_SIFS            0x063e
0746 #define REG_ACKTO           0x0640
0747 #define REG_CTS2TO          0x0641
0748 #define REG_EIFS            0x0642
0749 
0750 /* WMA, BA, CCX */
0751 #define REG_NAV_CTRL            0x0650
0752 /* In units of 128us */
0753 #define REG_NAV_UPPER           0x0652
0754 #define  NAV_UPPER_UNIT         128
0755 
0756 #define REG_BACAMCMD            0x0654
0757 #define REG_BACAMCONTENT        0x0658
0758 #define REG_LBDLY           0x0660
0759 #define REG_FWDLY           0x0661
0760 #define REG_RXERR_RPT           0x0664
0761 #define REG_WMAC_TRXPTCL_CTL        0x0668
0762 #define  WMAC_TRXPTCL_CTL_BW_MASK   (BIT(7) | BIT(8))
0763 #define  WMAC_TRXPTCL_CTL_BW_20     0
0764 #define  WMAC_TRXPTCL_CTL_BW_40     BIT(7)
0765 #define  WMAC_TRXPTCL_CTL_BW_80     BIT(8)
0766 
0767 /*  Security */
0768 #define REG_CAM_CMD         0x0670
0769 #define  CAM_CMD_POLLING        BIT(31)
0770 #define  CAM_CMD_WRITE          BIT(16)
0771 #define  CAM_CMD_KEY_SHIFT      3
0772 #define REG_CAM_WRITE           0x0674
0773 #define  CAM_WRITE_VALID        BIT(15)
0774 #define REG_CAM_READ            0x0678
0775 #define REG_CAM_DEBUG           0x067c
0776 #define REG_SECURITY_CFG        0x0680
0777 #define  SEC_CFG_TX_USE_DEFKEY      BIT(0)
0778 #define  SEC_CFG_RX_USE_DEFKEY      BIT(1)
0779 #define  SEC_CFG_TX_SEC_ENABLE      BIT(2)
0780 #define  SEC_CFG_RX_SEC_ENABLE      BIT(3)
0781 #define  SEC_CFG_SKBYA2         BIT(4)
0782 #define  SEC_CFG_NO_SKMC        BIT(5)
0783 #define  SEC_CFG_TXBC_USE_DEFKEY    BIT(6)
0784 #define  SEC_CFG_RXBC_USE_DEFKEY    BIT(7)
0785 
0786 /*  Power */
0787 #define REG_WOW_CTRL            0x0690
0788 #define REG_PSSTATUS            0x0691
0789 #define REG_PS_RX_INFO          0x0692
0790 #define REG_LPNAV_CTRL          0x0694
0791 #define REG_WKFMCAM_CMD         0x0698
0792 #define REG_WKFMCAM_RWD         0x069c
0793 
0794 /*
0795  * RX Filters: each bit corresponds to the numerical value of the subtype.
0796  * If it is set the subtype frame type is passed. The filter is only used when
0797  * the RCR_ACCEPT_DATA_FRAME, RCR_ACCEPT_CTRL_FRAME, RCR_ACCEPT_MGMT_FRAME bit
0798  * in the RCR are low.
0799  *
0800  * Example: Beacon subtype is binary 1000 which is decimal 8 so we have to set
0801  * bit 8 (0x100) in REG_RXFLTMAP0 to enable reception.
0802  */
0803 #define REG_RXFLTMAP0           0x06a0  /* Management frames */
0804 #define REG_RXFLTMAP1           0x06a2  /* Control frames */
0805 #define REG_RXFLTMAP2           0x06a4  /* Data frames */
0806 
0807 #define REG_BCN_PSR_RPT         0x06a8
0808 #define REG_CALB32K_CTRL        0x06ac
0809 #define REG_PKT_MON_CTRL        0x06b4
0810 #define REG_BT_COEX_TABLE1      0x06c0
0811 #define REG_BT_COEX_TABLE2      0x06c4
0812 #define REG_BT_COEX_TABLE3      0x06c8
0813 #define REG_BT_COEX_TABLE4      0x06cc
0814 #define REG_WMAC_RESP_TXINFO        0x06d8
0815 
0816 #define REG_MACID1          0x0700
0817 #define REG_BSSID1          0x0708
0818 
0819 /*
0820  * This seems to be 8723bu specific
0821  */
0822 #define REG_BT_CONTROL_8723BU       0x0764
0823 #define  BT_CONTROL_BT_GRANT        BIT(12)
0824 
0825 #define REG_WLAN_ACT_CONTROL_8723B  0x076e
0826 
0827 #define REG_FPGA0_RF_MODE       0x0800
0828 #define  FPGA_RF_MODE           BIT(0)
0829 #define  FPGA_RF_MODE_JAPAN     BIT(1)
0830 #define  FPGA_RF_MODE_CCK       BIT(24)
0831 #define  FPGA_RF_MODE_OFDM      BIT(25)
0832 
0833 #define REG_FPGA0_TX_INFO       0x0804
0834 #define  FPGA0_TX_INFO_OFDM_PATH_A  BIT(0)
0835 #define  FPGA0_TX_INFO_OFDM_PATH_B  BIT(1)
0836 #define  FPGA0_TX_INFO_OFDM_PATH_C  BIT(2)
0837 #define  FPGA0_TX_INFO_OFDM_PATH_D  BIT(3)
0838 #define REG_FPGA0_PSD_FUNC      0x0808
0839 #define REG_FPGA0_TX_GAIN       0x080c
0840 #define REG_FPGA0_RF_TIMING1        0x0810
0841 #define REG_FPGA0_RF_TIMING2        0x0814
0842 #define REG_FPGA0_POWER_SAVE        0x0818
0843 #define  FPGA0_PS_LOWER_CHANNEL     BIT(26)
0844 #define  FPGA0_PS_UPPER_CHANNEL     BIT(27)
0845 
0846 #define REG_FPGA0_XA_HSSI_PARM1     0x0820  /* RF 3 wire register */
0847 #define  FPGA0_HSSI_PARM1_PI        BIT(8)
0848 #define REG_FPGA0_XA_HSSI_PARM2     0x0824
0849 #define REG_FPGA0_XB_HSSI_PARM1     0x0828
0850 #define REG_FPGA0_XB_HSSI_PARM2     0x082c
0851 #define  FPGA0_HSSI_3WIRE_DATA_LEN  0x800
0852 #define  FPGA0_HSSI_3WIRE_ADDR_LEN  0x400
0853 #define  FPGA0_HSSI_PARM2_ADDR_SHIFT    23
0854 #define  FPGA0_HSSI_PARM2_ADDR_MASK 0x7f800000  /* 0xff << 23 */
0855 #define  FPGA0_HSSI_PARM2_CCK_HIGH_PWR  BIT(9)
0856 #define  FPGA0_HSSI_PARM2_EDGE_READ BIT(31)
0857 
0858 #define REG_TX_AGC_B_RATE18_06      0x0830
0859 #define REG_TX_AGC_B_RATE54_24      0x0834
0860 #define REG_TX_AGC_B_CCK1_55_MCS32  0x0838
0861 #define REG_TX_AGC_B_MCS03_MCS00    0x083c
0862 
0863 #define REG_FPGA0_XA_LSSI_PARM      0x0840
0864 #define REG_FPGA0_XB_LSSI_PARM      0x0844
0865 #define  FPGA0_LSSI_PARM_ADDR_SHIFT 20
0866 #define  FPGA0_LSSI_PARM_ADDR_MASK  0x0ff00000
0867 #define  FPGA0_LSSI_PARM_DATA_MASK  0x000fffff
0868 
0869 #define REG_TX_AGC_B_MCS07_MCS04    0x0848
0870 #define REG_TX_AGC_B_MCS11_MCS08    0x084c
0871 
0872 #define REG_FPGA0_XCD_SWITCH_CTRL   0x085c
0873 
0874 #define REG_FPGA0_XA_RF_INT_OE      0x0860  /* RF Channel switch */
0875 #define REG_FPGA0_XB_RF_INT_OE      0x0864
0876 #define  FPGA0_INT_OE_ANTENNA_AB_OPEN   0x000
0877 #define  FPGA0_INT_OE_ANTENNA_A     BIT(8)
0878 #define  FPGA0_INT_OE_ANTENNA_B     BIT(9)
0879 #define  FPGA0_INT_OE_ANTENNA_MASK  (FPGA0_INT_OE_ANTENNA_A | \
0880                      FPGA0_INT_OE_ANTENNA_B)
0881 
0882 #define REG_TX_AGC_B_MCS15_MCS12    0x0868
0883 #define REG_TX_AGC_B_CCK11_A_CCK2_11    0x086c
0884 
0885 #define REG_FPGA0_XAB_RF_SW_CTRL    0x0870
0886 #define REG_FPGA0_XA_RF_SW_CTRL     0x0870  /* 16 bit */
0887 #define REG_FPGA0_XB_RF_SW_CTRL     0x0872  /* 16 bit */
0888 #define REG_FPGA0_XCD_RF_SW_CTRL    0x0874
0889 #define REG_FPGA0_XC_RF_SW_CTRL     0x0874  /* 16 bit */
0890 #define REG_FPGA0_XD_RF_SW_CTRL     0x0876  /* 16 bit */
0891 #define  FPGA0_RF_3WIRE_DATA        BIT(0)
0892 #define  FPGA0_RF_3WIRE_CLOC        BIT(1)
0893 #define  FPGA0_RF_3WIRE_LOAD        BIT(2)
0894 #define  FPGA0_RF_3WIRE_RW      BIT(3)
0895 #define  FPGA0_RF_3WIRE_MASK        0xf
0896 #define  FPGA0_RF_RFENV         BIT(4)
0897 #define  FPGA0_RF_TRSW          BIT(5)  /* Useless now */
0898 #define  FPGA0_RF_TRSWB         BIT(6)
0899 #define  FPGA0_RF_ANTSW         BIT(8)
0900 #define  FPGA0_RF_ANTSWB        BIT(9)
0901 #define  FPGA0_RF_PAPE          BIT(10)
0902 #define  FPGA0_RF_PAPE5G        BIT(11)
0903 #define  FPGA0_RF_BD_CTRL_SHIFT     16
0904 
0905 #define REG_FPGA0_XAB_RF_PARM       0x0878  /* Antenna select path in ODM */
0906 #define REG_FPGA0_XA_RF_PARM        0x0878  /* 16 bit */
0907 #define REG_FPGA0_XB_RF_PARM        0x087a  /* 16 bit */
0908 #define REG_FPGA0_XCD_RF_PARM       0x087c
0909 #define REG_FPGA0_XC_RF_PARM        0x087c  /* 16 bit */
0910 #define REG_FPGA0_XD_RF_PARM        0x087e  /* 16 bit */
0911 #define  FPGA0_RF_PARM_RFA_ENABLE   BIT(1)
0912 #define  FPGA0_RF_PARM_RFB_ENABLE   BIT(17)
0913 #define  FPGA0_RF_PARM_CLK_GATE     BIT(31)
0914 
0915 #define REG_FPGA0_ANALOG1       0x0880
0916 #define REG_FPGA0_ANALOG2       0x0884
0917 #define  FPGA0_ANALOG2_20MHZ        BIT(10)
0918 #define REG_FPGA0_ANALOG3       0x0888
0919 #define REG_FPGA0_ANALOG4       0x088c
0920 
0921 #define REG_NHM_TH9_TH10_8723B      0x0890
0922 #define REG_NHM_TIMER_8723B     0x0894
0923 #define REG_NHM_TH3_TO_TH0_8723B    0x0898
0924 #define REG_NHM_TH7_TO_TH4_8723B    0x089c
0925 
0926 #define REG_FPGA0_XA_LSSI_READBACK  0x08a0  /* Tranceiver LSSI Readback */
0927 #define REG_FPGA0_XB_LSSI_READBACK  0x08a4
0928 #define REG_HSPI_XA_READBACK        0x08b8  /* Transceiver A HSPI read */
0929 #define REG_HSPI_XB_READBACK        0x08bc  /* Transceiver B HSPI read */
0930 
0931 #define REG_FPGA1_RF_MODE       0x0900
0932 
0933 #define REG_FPGA1_TX_INFO       0x090c
0934 #define REG_DPDT_CTRL           0x092c  /* 8723BU */
0935 #define REG_RFE_CTRL_ANTA_SRC       0x0930  /* 8723BU */
0936 #define REG_RFE_PATH_SELECT     0x0940  /* 8723BU */
0937 #define REG_RFE_BUFFER          0x0944  /* 8723BU */
0938 #define REG_S0S1_PATH_SWITCH        0x0948  /* 8723BU */
0939 
0940 #define REG_CCK0_SYSTEM         0x0a00
0941 #define  CCK0_SIDEBAND          BIT(4)
0942 
0943 #define REG_CCK0_AFE_SETTING        0x0a04
0944 #define  CCK0_AFE_RX_MASK       0x0f000000
0945 #define  CCK0_AFE_RX_ANT_AB     BIT(24)
0946 #define  CCK0_AFE_RX_ANT_A      0
0947 #define  CCK0_AFE_RX_ANT_B      (BIT(24) | BIT(26))
0948 
0949 #define REG_CONFIG_ANT_A        0x0b68
0950 #define REG_CONFIG_ANT_B        0x0b6c
0951 
0952 #define REG_OFDM0_TRX_PATH_ENABLE   0x0c04
0953 #define OFDM_RF_PATH_RX_MASK        0x0f
0954 #define OFDM_RF_PATH_RX_A       BIT(0)
0955 #define OFDM_RF_PATH_RX_B       BIT(1)
0956 #define OFDM_RF_PATH_RX_C       BIT(2)
0957 #define OFDM_RF_PATH_RX_D       BIT(3)
0958 #define OFDM_RF_PATH_TX_MASK        0xf0
0959 #define OFDM_RF_PATH_TX_A       BIT(4)
0960 #define OFDM_RF_PATH_TX_B       BIT(5)
0961 #define OFDM_RF_PATH_TX_C       BIT(6)
0962 #define OFDM_RF_PATH_TX_D       BIT(7)
0963 
0964 #define REG_OFDM0_TR_MUX_PAR        0x0c08
0965 
0966 #define REG_OFDM0_FA_RSTC       0x0c0c
0967 
0968 #define REG_OFDM0_XA_RX_IQ_IMBALANCE    0x0c14
0969 #define REG_OFDM0_XB_RX_IQ_IMBALANCE    0x0c1c
0970 
0971 #define REG_OFDM0_ENERGY_CCA_THRES  0x0c4c
0972 
0973 #define REG_OFDM0_RX_D_SYNC_PATH    0x0c40
0974 #define  OFDM0_SYNC_PATH_NOTCH_FILTER   BIT(1)
0975 
0976 #define REG_OFDM0_XA_AGC_CORE1      0x0c50
0977 #define REG_OFDM0_XA_AGC_CORE2      0x0c54
0978 #define REG_OFDM0_XB_AGC_CORE1      0x0c58
0979 #define REG_OFDM0_XB_AGC_CORE2      0x0c5c
0980 #define REG_OFDM0_XC_AGC_CORE1      0x0c60
0981 #define REG_OFDM0_XC_AGC_CORE2      0x0c64
0982 #define REG_OFDM0_XD_AGC_CORE1      0x0c68
0983 #define REG_OFDM0_XD_AGC_CORE2      0x0c6c
0984 #define  OFDM0_X_AGC_CORE1_IGI_MASK 0x0000007F
0985 
0986 #define REG_OFDM0_AGC_PARM1     0x0c70
0987 
0988 #define REG_OFDM0_AGCR_SSI_TABLE    0x0c78
0989 
0990 #define REG_OFDM0_XA_TX_IQ_IMBALANCE    0x0c80
0991 #define REG_OFDM0_XB_TX_IQ_IMBALANCE    0x0c88
0992 #define REG_OFDM0_XC_TX_IQ_IMBALANCE    0x0c90
0993 #define REG_OFDM0_XD_TX_IQ_IMBALANCE    0x0c98
0994 
0995 #define REG_OFDM0_XC_TX_AFE     0x0c94
0996 #define REG_OFDM0_XD_TX_AFE     0x0c9c
0997 
0998 #define REG_OFDM0_RX_IQ_EXT_ANTA    0x0ca0
0999 
1000 /* 8723bu */
1001 #define REG_OFDM0_TX_PSDO_NOISE_WEIGHT  0x0ce4
1002 
1003 #define REG_OFDM1_LSTF          0x0d00
1004 #define  OFDM_LSTF_PRIME_CH_LOW     BIT(10)
1005 #define  OFDM_LSTF_PRIME_CH_HIGH    BIT(11)
1006 #define  OFDM_LSTF_PRIME_CH_MASK    (OFDM_LSTF_PRIME_CH_LOW | \
1007                      OFDM_LSTF_PRIME_CH_HIGH)
1008 #define  OFDM_LSTF_CONTINUE_TX      BIT(28)
1009 #define  OFDM_LSTF_SINGLE_CARRIER   BIT(29)
1010 #define  OFDM_LSTF_SINGLE_TONE      BIT(30)
1011 #define  OFDM_LSTF_MASK         0x70000000
1012 
1013 #define REG_OFDM1_TRX_PATH_ENABLE   0x0d04
1014 
1015 #define REG_TX_AGC_A_RATE18_06      0x0e00
1016 #define REG_TX_AGC_A_RATE54_24      0x0e04
1017 #define REG_TX_AGC_A_CCK1_MCS32     0x0e08
1018 #define REG_TX_AGC_A_MCS03_MCS00    0x0e10
1019 #define REG_TX_AGC_A_MCS07_MCS04    0x0e14
1020 #define REG_TX_AGC_A_MCS11_MCS08    0x0e18
1021 #define REG_TX_AGC_A_MCS15_MCS12    0x0e1c
1022 
1023 #define REG_FPGA0_IQK           0x0e28
1024 
1025 #define REG_TX_IQK_TONE_A       0x0e30
1026 #define REG_RX_IQK_TONE_A       0x0e34
1027 #define REG_TX_IQK_PI_A         0x0e38
1028 #define REG_RX_IQK_PI_A         0x0e3c
1029 
1030 #define REG_TX_IQK          0x0e40
1031 #define REG_RX_IQK          0x0e44
1032 #define REG_IQK_AGC_PTS         0x0e48
1033 #define REG_IQK_AGC_RSP         0x0e4c
1034 #define REG_TX_IQK_TONE_B       0x0e50
1035 #define REG_RX_IQK_TONE_B       0x0e54
1036 #define REG_TX_IQK_PI_B         0x0e58
1037 #define REG_RX_IQK_PI_B         0x0e5c
1038 #define REG_IQK_AGC_CONT        0x0e60
1039 
1040 #define REG_BLUETOOTH           0x0e6c
1041 #define REG_RX_WAIT_CCA         0x0e70
1042 #define REG_TX_CCK_RFON         0x0e74
1043 #define REG_TX_CCK_BBON         0x0e78
1044 #define REG_TX_OFDM_RFON        0x0e7c
1045 #define REG_TX_OFDM_BBON        0x0e80
1046 #define REG_TX_TO_RX            0x0e84
1047 #define REG_TX_TO_TX            0x0e88
1048 #define REG_RX_CCK          0x0e8c
1049 
1050 #define REG_TX_POWER_BEFORE_IQK_A   0x0e94
1051 #define REG_TX_POWER_AFTER_IQK_A    0x0e9c
1052 
1053 #define REG_RX_POWER_BEFORE_IQK_A   0x0ea0
1054 #define REG_RX_POWER_BEFORE_IQK_A_2 0x0ea4
1055 #define REG_RX_POWER_AFTER_IQK_A    0x0ea8
1056 #define REG_RX_POWER_AFTER_IQK_A_2  0x0eac
1057 
1058 #define REG_TX_POWER_BEFORE_IQK_B   0x0eb4
1059 #define REG_TX_POWER_AFTER_IQK_B    0x0ebc
1060 
1061 #define REG_RX_POWER_BEFORE_IQK_B   0x0ec0
1062 #define REG_RX_POWER_BEFORE_IQK_B_2 0x0ec4
1063 #define REG_RX_POWER_AFTER_IQK_B    0x0ec8
1064 #define REG_RX_POWER_AFTER_IQK_B_2  0x0ecc
1065 
1066 #define REG_RX_OFDM         0x0ed0
1067 #define REG_RX_WAIT_RIFS        0x0ed4
1068 #define REG_RX_TO_RX            0x0ed8
1069 #define REG_STANDBY         0x0edc
1070 #define REG_SLEEP           0x0ee0
1071 #define REG_PMPD_ANAEN          0x0eec
1072 
1073 #define REG_FW_START_ADDRESS        0x1000
1074 
1075 #define REG_USB_INFO            0xfe17
1076 #define REG_USB_HIMR            0xfe38
1077 #define  USB_HIMR_TIMEOUT2      BIT(31)
1078 #define  USB_HIMR_TIMEOUT1      BIT(30)
1079 #define  USB_HIMR_PSTIMEOUT     BIT(29)
1080 #define  USB_HIMR_GTINT4        BIT(28)
1081 #define  USB_HIMR_GTINT3        BIT(27)
1082 #define  USB_HIMR_TXBCNERR      BIT(26)
1083 #define  USB_HIMR_TXBCNOK       BIT(25)
1084 #define  USB_HIMR_TSF_BIT32_TOGGLE  BIT(24)
1085 #define  USB_HIMR_BCNDMAINT3        BIT(23)
1086 #define  USB_HIMR_BCNDMAINT2        BIT(22)
1087 #define  USB_HIMR_BCNDMAINT1        BIT(21)
1088 #define  USB_HIMR_BCNDMAINT0        BIT(20)
1089 #define  USB_HIMR_BCNDOK3       BIT(19)
1090 #define  USB_HIMR_BCNDOK2       BIT(18)
1091 #define  USB_HIMR_BCNDOK1       BIT(17)
1092 #define  USB_HIMR_BCNDOK0       BIT(16)
1093 #define  USB_HIMR_HSISR_IND     BIT(15)
1094 #define  USB_HIMR_BCNDMAINT_E       BIT(14)
1095 /* RSVD BIT(13) */
1096 #define  USB_HIMR_CTW_END       BIT(12)
1097 /* RSVD BIT(11) */
1098 #define  USB_HIMR_C2HCMD        BIT(10)
1099 #define  USB_HIMR_CPWM2         BIT(9)
1100 #define  USB_HIMR_CPWM          BIT(8)
1101 #define  USB_HIMR_HIGHDOK       BIT(7)  /*  High Queue DMA OK
1102                             Interrupt */
1103 #define  USB_HIMR_MGNTDOK       BIT(6)  /*  Management Queue DMA OK
1104                             Interrupt */
1105 #define  USB_HIMR_BKDOK         BIT(5)  /*  AC_BK DMA OK Interrupt */
1106 #define  USB_HIMR_BEDOK         BIT(4)  /*  AC_BE DMA OK Interrupt */
1107 #define  USB_HIMR_VIDOK         BIT(3)  /*  AC_VI DMA OK Interrupt */
1108 #define  USB_HIMR_VODOK         BIT(2)  /*  AC_VO DMA Interrupt */
1109 #define  USB_HIMR_RDU           BIT(1)  /*  Receive Descriptor
1110                             Unavailable */
1111 #define  USB_HIMR_ROK           BIT(0)  /*  Receive DMA OK Interrupt */
1112 
1113 #define REG_USB_SPECIAL_OPTION      0xfe55
1114 #define  USB_SPEC_USB_AGG_ENABLE    BIT(3)  /* Enable USB aggregation */
1115 #define  USB_SPEC_INT_BULK_SELECT   BIT(4)  /* Use interrupt endpoint to
1116                            deliver interrupt packet.
1117                            0: Use int, 1: use bulk */
1118 #define REG_USB_HRPWM           0xfe58
1119 #define REG_USB_DMA_AGG_TO      0xfe5b
1120 #define REG_USB_AGG_TIMEOUT     0xfe5c
1121 #define REG_USB_AGG_THRESH      0xfe5d
1122 
1123 #define REG_NORMAL_SIE_VID      0xfe60  /* 0xfe60 - 0xfe61 */
1124 #define REG_NORMAL_SIE_PID      0xfe62  /* 0xfe62 - 0xfe63 */
1125 #define REG_NORMAL_SIE_OPTIONAL     0xfe64
1126 #define REG_NORMAL_SIE_EP       0xfe65  /* 0xfe65 - 0xfe67 */
1127 #define REG_NORMAL_SIE_EP_TX        0xfe66
1128 #define  NORMAL_SIE_EP_TX_HIGH_MASK 0x000f
1129 #define  NORMAL_SIE_EP_TX_NORMAL_MASK   0x00f0
1130 #define  NORMAL_SIE_EP_TX_LOW_MASK  0x0f00
1131 
1132 #define REG_NORMAL_SIE_PHY      0xfe68  /* 0xfe68 - 0xfe6b */
1133 #define REG_NORMAL_SIE_OPTIONAL2    0xfe6c
1134 #define REG_NORMAL_SIE_GPS_EP       0xfe6d  /* RTL8723 only */
1135 #define REG_NORMAL_SIE_MAC_ADDR     0xfe70  /* 0xfe70 - 0xfe75 */
1136 #define REG_NORMAL_SIE_STRING       0xfe80  /* 0xfe80 - 0xfedf */
1137 
1138 /* RF6052 registers */
1139 #define RF6052_REG_AC           0x00
1140 #define RF6052_REG_IQADJ_G1     0x01
1141 #define RF6052_REG_IQADJ_G2     0x02
1142 #define RF6052_REG_BS_PA_APSET_G1_G4    0x03
1143 #define RF6052_REG_BS_PA_APSET_G5_G8    0x04
1144 #define RF6052_REG_POW_TRSW     0x05
1145 #define RF6052_REG_GAIN_RX      0x06
1146 #define RF6052_REG_GAIN_TX      0x07
1147 #define RF6052_REG_TXM_IDAC     0x08
1148 #define RF6052_REG_IPA_G        0x09
1149 #define RF6052_REG_TXBIAS_G     0x0a
1150 #define RF6052_REG_TXPA_AG      0x0b
1151 #define RF6052_REG_IPA_A        0x0c
1152 #define RF6052_REG_TXBIAS_A     0x0d
1153 #define RF6052_REG_BS_PA_APSET_G9_G11   0x0e
1154 #define RF6052_REG_BS_IQGEN     0x0f
1155 #define RF6052_REG_MODE1        0x10
1156 #define RF6052_REG_MODE2        0x11
1157 #define RF6052_REG_RX_AGC_HP        0x12
1158 #define RF6052_REG_TX_AGC       0x13
1159 #define RF6052_REG_BIAS         0x14
1160 #define RF6052_REG_IPA          0x15
1161 #define RF6052_REG_TXBIAS       0x16
1162 #define RF6052_REG_POW_ABILITY      0x17
1163 #define RF6052_REG_MODE_AG      0x18    /* RF channel and BW switch */
1164 #define  MODE_AG_CHANNEL_MASK       0x3ff
1165 #define  MODE_AG_CHANNEL_20MHZ      BIT(10)
1166 #define  MODE_AG_BW_MASK        (BIT(10) | BIT(11))
1167 #define  MODE_AG_BW_20MHZ_8723B     (BIT(10) | BIT(11))
1168 #define  MODE_AG_BW_40MHZ_8723B     BIT(10)
1169 #define  MODE_AG_BW_80MHZ_8723B     0
1170 
1171 #define RF6052_REG_TOP          0x19
1172 #define RF6052_REG_RX_G1        0x1a
1173 #define RF6052_REG_RX_G2        0x1b
1174 #define RF6052_REG_RX_BB2       0x1c
1175 #define RF6052_REG_RX_BB1       0x1d
1176 #define RF6052_REG_RCK1         0x1e
1177 #define RF6052_REG_RCK2         0x1f
1178 #define RF6052_REG_TX_G1        0x20
1179 #define RF6052_REG_TX_G2        0x21
1180 #define RF6052_REG_TX_G3        0x22
1181 #define RF6052_REG_TX_BB1       0x23
1182 #define RF6052_REG_T_METER      0x24
1183 #define RF6052_REG_SYN_G1       0x25    /* RF TX Power control */
1184 #define RF6052_REG_SYN_G2       0x26    /* RF TX Power control */
1185 #define RF6052_REG_SYN_G3       0x27    /* RF TX Power control */
1186 #define RF6052_REG_SYN_G4       0x28    /* RF TX Power control */
1187 #define RF6052_REG_SYN_G5       0x29    /* RF TX Power control */
1188 #define RF6052_REG_SYN_G6       0x2a    /* RF TX Power control */
1189 #define RF6052_REG_SYN_G7       0x2b    /* RF TX Power control */
1190 #define RF6052_REG_SYN_G8       0x2c    /* RF TX Power control */
1191 
1192 #define RF6052_REG_RCK_OS       0x30    /* RF TX PA control */
1193 
1194 #define RF6052_REG_TXPA_G1      0x31    /* RF TX PA control */
1195 #define RF6052_REG_TXPA_G2      0x32    /* RF TX PA control */
1196 #define RF6052_REG_TXPA_G3      0x33    /* RF TX PA control */
1197 
1198 /*
1199  * NextGen regs: 8723BU
1200  */
1201 #define RF6052_REG_T_METER_8723B    0x42
1202 #define RF6052_REG_UNKNOWN_43       0x43
1203 #define RF6052_REG_UNKNOWN_55       0x55
1204 #define RF6052_REG_UNKNOWN_56       0x56
1205 #define RF6052_REG_S0S1         0xb0
1206 #define RF6052_REG_UNKNOWN_DF       0xdf
1207 #define RF6052_REG_UNKNOWN_ED       0xed
1208 #define RF6052_REG_WE_LUT       0xef