1*8e93258fSBjoern A. Zeeb /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2*8e93258fSBjoern A. Zeeb /* Copyright(c) 2019-2020 Realtek Corporation 3*8e93258fSBjoern A. Zeeb */ 4*8e93258fSBjoern A. Zeeb 5*8e93258fSBjoern A. Zeeb #ifndef __RTW89_REG_H__ 6*8e93258fSBjoern A. Zeeb #define __RTW89_REG_H__ 7*8e93258fSBjoern A. Zeeb 8*8e93258fSBjoern A. Zeeb #define R_AX_SYS_WL_EFUSE_CTRL 0x000A 9*8e93258fSBjoern A. Zeeb #define B_AX_AUTOLOAD_SUS BIT(5) 10*8e93258fSBjoern A. Zeeb 11*8e93258fSBjoern A. Zeeb #define R_AX_SYS_ISO_CTRL 0x0000 12*8e93258fSBjoern A. Zeeb #define B_AX_PWC_EV2EF_MASK GENMASK(15, 14) 13*8e93258fSBjoern A. Zeeb #define B_AX_PWC_EV2EF_B15 BIT(15) 14*8e93258fSBjoern A. Zeeb #define B_AX_PWC_EV2EF_B14 BIT(14) 15*8e93258fSBjoern A. Zeeb #define B_AX_ISO_EB2CORE BIT(8) 16*8e93258fSBjoern A. Zeeb 17*8e93258fSBjoern A. Zeeb #define R_AX_SYS_FUNC_EN 0x0002 18*8e93258fSBjoern A. Zeeb #define B_AX_FEN_BB_GLB_RSTN BIT(1) 19*8e93258fSBjoern A. Zeeb #define B_AX_FEN_BBRSTB BIT(0) 20*8e93258fSBjoern A. Zeeb 21*8e93258fSBjoern A. Zeeb #define R_AX_SYS_PW_CTRL 0x0004 22*8e93258fSBjoern A. Zeeb #define B_AX_XTAL_OFF_A_DIE BIT(22) 23*8e93258fSBjoern A. Zeeb #define B_AX_DIS_WLBT_PDNSUSEN_SOPC BIT(18) 24*8e93258fSBjoern A. Zeeb #define B_AX_RDY_SYSPWR BIT(17) 25*8e93258fSBjoern A. Zeeb #define B_AX_EN_WLON BIT(16) 26*8e93258fSBjoern A. Zeeb #define B_AX_APDM_HPDN BIT(15) 27*8e93258fSBjoern A. Zeeb #define B_AX_PSUS_OFF_CAPC_EN BIT(14) 28*8e93258fSBjoern A. Zeeb #define B_AX_AFSM_PCIE_SUS_EN BIT(12) 29*8e93258fSBjoern A. Zeeb #define B_AX_AFSM_WLSUS_EN BIT(11) 30*8e93258fSBjoern A. Zeeb #define B_AX_APFM_SWLPS BIT(10) 31*8e93258fSBjoern A. Zeeb #define B_AX_APFM_OFFMAC BIT(9) 32*8e93258fSBjoern A. Zeeb #define B_AX_APFN_ONMAC BIT(8) 33*8e93258fSBjoern A. Zeeb 34*8e93258fSBjoern A. Zeeb #define R_AX_SYS_CLK_CTRL 0x0008 35*8e93258fSBjoern A. Zeeb #define B_AX_CPU_CLK_EN BIT(14) 36*8e93258fSBjoern A. Zeeb 37*8e93258fSBjoern A. Zeeb #define R_AX_SYS_ADIE_PAD_PWR_CTRL 0x0018 38*8e93258fSBjoern A. Zeeb #define B_AX_SYM_PADPDN_WL_PTA_1P3 BIT(6) 39*8e93258fSBjoern A. Zeeb #define B_AX_SYM_PADPDN_WL_RFC_1P3 BIT(5) 40*8e93258fSBjoern A. Zeeb 41*8e93258fSBjoern A. Zeeb #define R_AX_RSV_CTRL 0x001C 42*8e93258fSBjoern A. Zeeb #define B_AX_R_DIS_PRST BIT(6) 43*8e93258fSBjoern A. Zeeb #define B_AX_WLOCK_1C_BIT6 BIT(5) 44*8e93258fSBjoern A. Zeeb 45*8e93258fSBjoern A. Zeeb #define R_AX_EFUSE_CTRL_1 0x0038 46*8e93258fSBjoern A. Zeeb #define B_AX_EF_PGPD_MASK GENMASK(30, 28) 47*8e93258fSBjoern A. Zeeb #define B_AX_EF_RDT BIT(27) 48*8e93258fSBjoern A. Zeeb #define B_AX_EF_VDDQST_MASK GENMASK(26, 24) 49*8e93258fSBjoern A. Zeeb #define B_AX_EF_PGTS_MASK GENMASK(23, 20) 50*8e93258fSBjoern A. Zeeb #define B_AX_EF_PD_DIS BIT(11) 51*8e93258fSBjoern A. Zeeb #define B_AX_EF_POR BIT(10) 52*8e93258fSBjoern A. Zeeb #define B_AX_EF_CELL_SEL_MASK GENMASK(9, 8) 53*8e93258fSBjoern A. Zeeb 54*8e93258fSBjoern A. Zeeb #define R_AX_SPSLDO_ON_CTRL0 0x0200 55*8e93258fSBjoern A. Zeeb #define B_AX_OCP_L1_MASK GENMASK(15, 13) 56*8e93258fSBjoern A. Zeeb 57*8e93258fSBjoern A. Zeeb #define R_AX_EFUSE_CTRL 0x0030 58*8e93258fSBjoern A. Zeeb #define B_AX_EF_MODE_SEL_MASK GENMASK(31, 30) 59*8e93258fSBjoern A. Zeeb #define B_AX_EF_RDY BIT(29) 60*8e93258fSBjoern A. Zeeb #define B_AX_EF_COMP_RESULT BIT(28) 61*8e93258fSBjoern A. Zeeb #define B_AX_EF_ADDR_MASK GENMASK(26, 16) 62*8e93258fSBjoern A. Zeeb #define B_AX_EF_DATA_MASK GENMASK(15, 0) 63*8e93258fSBjoern A. Zeeb 64*8e93258fSBjoern A. Zeeb #define R_AX_EFUSE_CTRL_1_V1 0x0038 65*8e93258fSBjoern A. Zeeb #define B_AX_EF_ENT BIT(31) 66*8e93258fSBjoern A. Zeeb #define B_AX_EF_BURST BIT(19) 67*8e93258fSBjoern A. Zeeb #define B_AX_EF_TEST_SEL_MASK GENMASK(18, 16) 68*8e93258fSBjoern A. Zeeb #define B_AX_EF_TROW_EN BIT(15) 69*8e93258fSBjoern A. Zeeb #define B_AX_EF_ERR_FLAG BIT(14) 70*8e93258fSBjoern A. Zeeb #define B_AX_EF_DSB_EN BIT(11) 71*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_CALIB_EN_V1 BIT(12) 72*8e93258fSBjoern A. Zeeb #define B_AX_WDT_WAKE_PCIE_EN BIT(10) 73*8e93258fSBjoern A. Zeeb #define B_AX_WDT_WAKE_USB_EN BIT(9) 74*8e93258fSBjoern A. Zeeb 75*8e93258fSBjoern A. Zeeb #define R_AX_GPIO_MUXCFG 0x0040 76*8e93258fSBjoern A. Zeeb #define B_AX_BOOT_MODE BIT(19) 77*8e93258fSBjoern A. Zeeb #define B_AX_WL_EECS_EXT_32K_SEL BIT(18) 78*8e93258fSBjoern A. Zeeb #define B_AX_WL_SEC_BONDING_OPT_STS BIT(17) 79*8e93258fSBjoern A. Zeeb #define B_AX_SECSIC_SEL BIT(16) 80*8e93258fSBjoern A. Zeeb #define B_AX_ENHTP BIT(14) 81*8e93258fSBjoern A. Zeeb #define B_AX_BT_AOD_GPIO3 BIT(13) 82*8e93258fSBjoern A. Zeeb #define B_AX_ENSIC BIT(12) 83*8e93258fSBjoern A. Zeeb #define B_AX_SIC_SWRST BIT(11) 84*8e93258fSBjoern A. Zeeb #define B_AX_PO_WIFI_PTA_PINS BIT(10) 85*8e93258fSBjoern A. Zeeb #define B_AX_PO_BT_PTA_PINS BIT(9) 86*8e93258fSBjoern A. Zeeb #define B_AX_ENUARTTX BIT(8) 87*8e93258fSBjoern A. Zeeb #define B_AX_BTMODE_MASK GENMASK(7, 6) 88*8e93258fSBjoern A. Zeeb #define MAC_AX_BT_MODE_0_3 0 89*8e93258fSBjoern A. Zeeb #define MAC_AX_BT_MODE_2 2 90*8e93258fSBjoern A. Zeeb #define MAC_AX_RTK_MODE 0 91*8e93258fSBjoern A. Zeeb #define MAC_AX_CSR_MODE 1 92*8e93258fSBjoern A. Zeeb #define B_AX_ENBT BIT(5) 93*8e93258fSBjoern A. Zeeb #define B_AX_EROM_EN BIT(4) 94*8e93258fSBjoern A. Zeeb #define B_AX_ENUARTRX BIT(2) 95*8e93258fSBjoern A. Zeeb #define B_AX_GPIOSEL_MASK GENMASK(1, 0) 96*8e93258fSBjoern A. Zeeb 97*8e93258fSBjoern A. Zeeb #define R_AX_DBG_CTRL 0x0058 98*8e93258fSBjoern A. Zeeb #define B_AX_DBG_SEL1_4BIT GENMASK(31, 30) 99*8e93258fSBjoern A. Zeeb #define B_AX_DBG_SEL1_16BIT BIT(27) 100*8e93258fSBjoern A. Zeeb #define B_AX_DBG_SEL1 GENMASK(23, 16) 101*8e93258fSBjoern A. Zeeb #define B_AX_DBG_SEL0_4BIT GENMASK(15, 14) 102*8e93258fSBjoern A. Zeeb #define B_AX_DBG_SEL0_16BIT BIT(11) 103*8e93258fSBjoern A. Zeeb #define B_AX_DBG_SEL0 GENMASK(7, 0) 104*8e93258fSBjoern A. Zeeb 105*8e93258fSBjoern A. Zeeb #define R_AX_SYS_SDIO_CTRL 0x0070 106*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_DIS_L2_CTRL_LDO_HCI BIT(15) 107*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_DIS_WLSUS_AFT_PDN BIT(14) 108*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_FORCE_PWR_NGAT BIT(13) 109*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_CALIB_EN_V1 BIT(12) 110*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_AUXCLK_GATE BIT(11) 111*8e93258fSBjoern A. Zeeb #define B_AX_LTE_MUX_CTRL_PATH BIT(26) 112*8e93258fSBjoern A. Zeeb 113*8e93258fSBjoern A. Zeeb #define R_AX_HCI_OPT_CTRL 0x0074 114*8e93258fSBjoern A. Zeeb #define BIT_WAKE_CTRL BIT(5) 115*8e93258fSBjoern A. Zeeb 116*8e93258fSBjoern A. Zeeb #define R_AX_HCI_BG_CTRL 0x0078 117*8e93258fSBjoern A. Zeeb #define B_AX_IBX_EN_VALUE BIT(15) 118*8e93258fSBjoern A. Zeeb #define B_AX_IB_EN_VALUE BIT(14) 119*8e93258fSBjoern A. Zeeb #define B_AX_FORCED_IB_EN BIT(4) 120*8e93258fSBjoern A. Zeeb #define B_AX_EN_REGBG BIT(3) 121*8e93258fSBjoern A. Zeeb #define B_AX_R_AX_BG_LPF BIT(2) 122*8e93258fSBjoern A. Zeeb #define B_AX_R_AX_BG GENMASK(1, 0) 123*8e93258fSBjoern A. Zeeb 124*8e93258fSBjoern A. Zeeb #define R_AX_PLATFORM_ENABLE 0x0088 125*8e93258fSBjoern A. Zeeb #define B_AX_AXIDMA_EN BIT(3) 126*8e93258fSBjoern A. Zeeb #define B_AX_WCPU_EN BIT(1) 127*8e93258fSBjoern A. Zeeb #define B_AX_PLATFORM_EN BIT(0) 128*8e93258fSBjoern A. Zeeb 129*8e93258fSBjoern A. Zeeb #define R_AX_WLLPS_CTRL 0x0090 130*8e93258fSBjoern A. Zeeb #define B_AX_DIS_WLBT_LPSEN_LOPC BIT(1) 131*8e93258fSBjoern A. Zeeb 132*8e93258fSBjoern A. Zeeb #define R_AX_SCOREBOARD 0x00AC 133*8e93258fSBjoern A. Zeeb #define B_AX_TOGGLE BIT(31) 134*8e93258fSBjoern A. Zeeb #define B_MAC_AX_SB_FW_MASK GENMASK(30, 24) 135*8e93258fSBjoern A. Zeeb #define B_MAC_AX_SB_DRV_MASK GENMASK(23, 0) 136*8e93258fSBjoern A. Zeeb #define B_MAC_AX_BTGS1_NOTIFY BIT(0) 137*8e93258fSBjoern A. Zeeb #define MAC_AX_NOTIFY_TP_MAJOR 0x81 138*8e93258fSBjoern A. Zeeb #define MAC_AX_NOTIFY_PWR_MAJOR 0x80 139*8e93258fSBjoern A. Zeeb 140*8e93258fSBjoern A. Zeeb #define R_AX_DBG_PORT_SEL 0x00C0 141*8e93258fSBjoern A. Zeeb #define B_AX_DEBUG_ST_MASK GENMASK(31, 0) 142*8e93258fSBjoern A. Zeeb 143*8e93258fSBjoern A. Zeeb #define R_AX_PMC_DBG_CTRL2 0x00CC 144*8e93258fSBjoern A. Zeeb #define B_AX_SYSON_DIS_PMCR_AX_WRMSK BIT(2) 145*8e93258fSBjoern A. Zeeb 146*8e93258fSBjoern A. Zeeb #define R_AX_PCIE_MIO_INTF 0x00E4 147*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_MIO_ADDR_PAGE_V1_MASK GENMASK(20, 16) 148*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_MIO_BYIOREG BIT(13) 149*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_MIO_RE BIT(12) 150*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_MIO_WE_MASK GENMASK(11, 8) 151*8e93258fSBjoern A. Zeeb #define MIO_WRITE_BYTE_ALL 0xF 152*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_MIO_ADDR_MASK GENMASK(7, 0) 153*8e93258fSBjoern A. Zeeb #define MIO_ADDR_PAGE_MASK GENMASK(12, 8) 154*8e93258fSBjoern A. Zeeb 155*8e93258fSBjoern A. Zeeb #define R_AX_PCIE_MIO_INTD 0x00E8 156*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_MIO_DATA_MASK GENMASK(31, 0) 157*8e93258fSBjoern A. Zeeb 158*8e93258fSBjoern A. Zeeb #define R_AX_SYS_CFG1 0x00F0 159*8e93258fSBjoern A. Zeeb #define B_AX_CHIP_VER_MASK GENMASK(15, 12) 160*8e93258fSBjoern A. Zeeb 161*8e93258fSBjoern A. Zeeb #define R_AX_SYS_STATUS1 0x00F4 162*8e93258fSBjoern A. Zeeb #define B_AX_SEL_0XC0_MASK GENMASK(17, 16) 163*8e93258fSBjoern A. Zeeb #define B_AX_PAD_HCI_SEL_V2_MASK GENMASK(5, 3) 164*8e93258fSBjoern A. Zeeb #define MAC_AX_HCI_SEL_SDIO_UART 0 165*8e93258fSBjoern A. Zeeb #define MAC_AX_HCI_SEL_MULTI_USB 1 166*8e93258fSBjoern A. Zeeb #define MAC_AX_HCI_SEL_PCIE_UART 2 167*8e93258fSBjoern A. Zeeb #define MAC_AX_HCI_SEL_PCIE_USB 3 168*8e93258fSBjoern A. Zeeb #define MAC_AX_HCI_SEL_MULTI_SDIO 4 169*8e93258fSBjoern A. Zeeb 170*8e93258fSBjoern A. Zeeb #define R_AX_HALT_H2C_CTRL 0x0160 171*8e93258fSBjoern A. Zeeb #define R_AX_HALT_H2C 0x0168 172*8e93258fSBjoern A. Zeeb #define B_AX_HALT_H2C_TRIGGER BIT(0) 173*8e93258fSBjoern A. Zeeb #define R_AX_HALT_C2H_CTRL 0x0164 174*8e93258fSBjoern A. Zeeb #define R_AX_HALT_C2H 0x016C 175*8e93258fSBjoern A. Zeeb 176*8e93258fSBjoern A. Zeeb #define R_AX_WCPU_FW_CTRL 0x01E0 177*8e93258fSBjoern A. Zeeb #define B_AX_WCPU_FWDL_STS_MASK GENMASK(7, 5) 178*8e93258fSBjoern A. Zeeb #define B_AX_FWDL_PATH_RDY BIT(2) 179*8e93258fSBjoern A. Zeeb #define B_AX_H2C_PATH_RDY BIT(1) 180*8e93258fSBjoern A. Zeeb #define B_AX_WCPU_FWDL_EN BIT(0) 181*8e93258fSBjoern A. Zeeb 182*8e93258fSBjoern A. Zeeb #define R_AX_RPWM 0x01E4 183*8e93258fSBjoern A. Zeeb #define R_AX_PCIE_HRPWM 0x10C0 184*8e93258fSBjoern A. Zeeb #define PS_RPWM_TOGGLE BIT(15) 185*8e93258fSBjoern A. Zeeb #define PS_RPWM_ACK BIT(14) 186*8e93258fSBjoern A. Zeeb #define PS_RPWM_SEQ_NUM GENMASK(13, 12) 187*8e93258fSBjoern A. Zeeb #define PS_RPWM_NOTIFY_WAKE BIT(8) 188*8e93258fSBjoern A. Zeeb #define PS_RPWM_STATE 0x7 189*8e93258fSBjoern A. Zeeb #define RPWM_SEQ_NUM_MAX 3 190*8e93258fSBjoern A. Zeeb #define PS_CPWM_SEQ_NUM GENMASK(13, 12) 191*8e93258fSBjoern A. Zeeb #define PS_CPWM_RSP_SEQ_NUM GENMASK(9, 8) 192*8e93258fSBjoern A. Zeeb #define PS_CPWM_STATE GENMASK(2, 0) 193*8e93258fSBjoern A. Zeeb #define CPWM_SEQ_NUM_MAX 3 194*8e93258fSBjoern A. Zeeb 195*8e93258fSBjoern A. Zeeb #define R_AX_BOOT_REASON 0x01E6 196*8e93258fSBjoern A. Zeeb #define B_AX_BOOT_REASON_MASK GENMASK(2, 0) 197*8e93258fSBjoern A. Zeeb 198*8e93258fSBjoern A. Zeeb #define R_AX_LDM 0x01E8 199*8e93258fSBjoern A. Zeeb #define B_AX_EN_32K BIT(31) 200*8e93258fSBjoern A. Zeeb 201*8e93258fSBjoern A. Zeeb #define R_AX_UDM0 0x01F0 202*8e93258fSBjoern A. Zeeb #define R_AX_UDM1 0x01F4 203*8e93258fSBjoern A. Zeeb #define R_AX_UDM2 0x01F8 204*8e93258fSBjoern A. Zeeb #define R_AX_UDM3 0x01FC 205*8e93258fSBjoern A. Zeeb 206*8e93258fSBjoern A. Zeeb #define R_AX_LDO_AON_CTRL0 0x0218 207*8e93258fSBjoern A. Zeeb #define B_AX_PD_REGU_L BIT(16) 208*8e93258fSBjoern A. Zeeb 209*8e93258fSBjoern A. Zeeb #define R_AX_WLAN_XTAL_SI_CTRL 0x0270 210*8e93258fSBjoern A. Zeeb #define B_AX_WL_XTAL_SI_CMD_POLL BIT(31) 211*8e93258fSBjoern A. Zeeb #define B_AX_BT_XTAL_SI_ERR_FLAG BIT(30) 212*8e93258fSBjoern A. Zeeb #define B_AX_WL_XTAL_GNT BIT(29) 213*8e93258fSBjoern A. Zeeb #define B_AX_BT_XTAL_GNT BIT(28) 214*8e93258fSBjoern A. Zeeb #define B_AX_WL_XTAL_SI_MODE_MASK GENMASK(25, 24) 215*8e93258fSBjoern A. Zeeb #define XTAL_SI_NORMAL_WRITE 0x00 216*8e93258fSBjoern A. Zeeb #define XTAL_SI_NORMAL_READ 0x01 217*8e93258fSBjoern A. Zeeb #define B_AX_WL_XTAL_SI_BITMASK_MASK GENMASK(23, 16) 218*8e93258fSBjoern A. Zeeb #define B_AX_WL_XTAL_SI_DATA_MASK GENMASK(15, 8) 219*8e93258fSBjoern A. Zeeb #define B_AX_WL_XTAL_SI_ADDR_MASK GENMASK(7, 0) 220*8e93258fSBjoern A. Zeeb 221*8e93258fSBjoern A. Zeeb #define R_AX_XTAL_ON_CTRL0 0x0280 222*8e93258fSBjoern A. Zeeb #define B_AX_XTAL_SC_LPS BIT(31) 223*8e93258fSBjoern A. Zeeb #define B_AX_XTAL_SC_XO_MASK GENMASK(23, 17) 224*8e93258fSBjoern A. Zeeb #define B_AX_XTAL_SC_XI_MASK GENMASK(16, 10) 225*8e93258fSBjoern A. Zeeb #define B_AX_XTAL_SC_MASK GENMASK(6, 0) 226*8e93258fSBjoern A. Zeeb 227*8e93258fSBjoern A. Zeeb #define R_AX_GPIO0_7_FUNC_SEL 0x02D0 228*8e93258fSBjoern A. Zeeb 229*8e93258fSBjoern A. Zeeb #define R_AX_GPIO0_15_EECS_EESK_LED1_PULL_LOW_EN 0x02E4 230*8e93258fSBjoern A. Zeeb #define B_AX_LED1_PULL_LOW_EN BIT(18) 231*8e93258fSBjoern A. Zeeb #define B_AX_EESK_PULL_LOW_EN BIT(17) 232*8e93258fSBjoern A. Zeeb #define B_AX_EECS_PULL_LOW_EN BIT(16) 233*8e93258fSBjoern A. Zeeb 234*8e93258fSBjoern A. Zeeb #define R_AX_WLRF_CTRL 0x02F0 235*8e93258fSBjoern A. Zeeb #define B_AX_AFC_AFEDIG BIT(17) 236*8e93258fSBjoern A. Zeeb #define B_AX_WLRF1_CTRL_7 BIT(15) 237*8e93258fSBjoern A. Zeeb #define B_AX_WLRF1_CTRL_1 BIT(9) 238*8e93258fSBjoern A. Zeeb #define B_AX_WLRF_CTRL_7 BIT(7) 239*8e93258fSBjoern A. Zeeb #define B_AX_WLRF_CTRL_1 BIT(1) 240*8e93258fSBjoern A. Zeeb 241*8e93258fSBjoern A. Zeeb #define R_AX_IC_PWR_STATE 0x03F0 242*8e93258fSBjoern A. Zeeb #define B_AX_WHOLE_SYS_PWR_STE_MASK GENMASK(25, 16) 243*8e93258fSBjoern A. Zeeb #define B_AX_WLMAC_PWR_STE_MASK GENMASK(9, 8) 244*8e93258fSBjoern A. Zeeb #define B_AX_UART_HCISYS_PWR_STE_MASK GENMASK(7, 6) 245*8e93258fSBjoern A. Zeeb #define B_AX_SDIO_HCISYS_PWR_STE_MASK GENMASK(5, 4) 246*8e93258fSBjoern A. Zeeb #define B_AX_USB_HCISYS_PWR_STE_MASK GENMASK(3, 2) 247*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_HCISYS_PWR_STE_MASK GENMASK(1, 0) 248*8e93258fSBjoern A. Zeeb 249*8e93258fSBjoern A. Zeeb #define R_AX_AFE_OFF_CTRL1 0x0444 250*8e93258fSBjoern A. Zeeb #define B_AX_S1_LDO_VSEL_F_MASK GENMASK(25, 24) 251*8e93258fSBjoern A. Zeeb #define B_AX_S1_LDO2PWRCUT_F BIT(23) 252*8e93258fSBjoern A. Zeeb #define B_AX_S0_LDO_VSEL_F_MASK GENMASK(22, 21) 253*8e93258fSBjoern A. Zeeb 254*8e93258fSBjoern A. Zeeb #define R_AX_FILTER_MODEL_ADDR 0x0C04 255*8e93258fSBjoern A. Zeeb 256*8e93258fSBjoern A. Zeeb #define R_AX_HAXI_INIT_CFG1 0x1000 257*8e93258fSBjoern A. Zeeb #define B_AX_WD_ITVL_IDLE_V1_MASK GENMASK(31, 28) 258*8e93258fSBjoern A. Zeeb #define B_AX_WD_ITVL_ACT_V1_MASK GENMASK(27, 24) 259*8e93258fSBjoern A. Zeeb #define B_AX_DMA_MODE_MASK GENMASK(19, 18) 260*8e93258fSBjoern A. Zeeb #define DMA_MOD_PCIE_1B 0x0 261*8e93258fSBjoern A. Zeeb #define DMA_MOD_PCIE_4B 0x1 262*8e93258fSBjoern A. Zeeb #define DMA_MOD_USB 0x2 263*8e93258fSBjoern A. Zeeb #define DMA_MOD_SDIO 0x3 264*8e93258fSBjoern A. Zeeb #define B_AX_STOP_AXI_MST BIT(17) 265*8e93258fSBjoern A. Zeeb #define B_AX_HAXI_RST_KEEP_REG BIT(16) 266*8e93258fSBjoern A. Zeeb #define B_AX_RXHCI_EN_V1 BIT(15) 267*8e93258fSBjoern A. Zeeb #define B_AX_RXBD_MODE_V1 BIT(14) 268*8e93258fSBjoern A. Zeeb #define B_AX_HAXI_MAX_RXDMA_MASK GENMASK(9, 8) 269*8e93258fSBjoern A. Zeeb #define B_AX_TXHCI_EN_V1 BIT(7) 270*8e93258fSBjoern A. Zeeb #define B_AX_FLUSH_AXI_MST BIT(4) 271*8e93258fSBjoern A. Zeeb #define B_AX_RST_BDRAM BIT(3) 272*8e93258fSBjoern A. Zeeb #define B_AX_HAXI_MAX_TXDMA_MASK GENMASK(1, 0) 273*8e93258fSBjoern A. Zeeb 274*8e93258fSBjoern A. Zeeb #define R_AX_HAXI_DMA_STOP1 0x1010 275*8e93258fSBjoern A. Zeeb #define B_AX_STOP_WPDMA BIT(19) 276*8e93258fSBjoern A. Zeeb #define B_AX_STOP_CH12 BIT(18) 277*8e93258fSBjoern A. Zeeb #define B_AX_STOP_CH9 BIT(17) 278*8e93258fSBjoern A. Zeeb #define B_AX_STOP_CH8 BIT(16) 279*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH7 BIT(15) 280*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH6 BIT(14) 281*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH5 BIT(13) 282*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH4 BIT(12) 283*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH3 BIT(11) 284*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH2 BIT(10) 285*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH1 BIT(9) 286*8e93258fSBjoern A. Zeeb #define B_AX_STOP_ACH0 BIT(8) 287*8e93258fSBjoern A. Zeeb 288*8e93258fSBjoern A. Zeeb #define R_AX_HAXI_DMA_BUSY1 0x101C 289*8e93258fSBjoern A. Zeeb #define B_AX_HAXIIO_BUSY BIT(20) 290*8e93258fSBjoern A. Zeeb #define B_AX_WPDMA_BUSY BIT(19) 291*8e93258fSBjoern A. Zeeb #define B_AX_CH12_BUSY BIT(18) 292*8e93258fSBjoern A. Zeeb #define B_AX_CH9_BUSY BIT(17) 293*8e93258fSBjoern A. Zeeb #define B_AX_CH8_BUSY BIT(16) 294*8e93258fSBjoern A. Zeeb #define B_AX_ACH7_BUSY BIT(15) 295*8e93258fSBjoern A. Zeeb #define B_AX_ACH6_BUSY BIT(14) 296*8e93258fSBjoern A. Zeeb #define B_AX_ACH5_BUSY BIT(13) 297*8e93258fSBjoern A. Zeeb #define B_AX_ACH4_BUSY BIT(12) 298*8e93258fSBjoern A. Zeeb #define B_AX_ACH3_BUSY BIT(11) 299*8e93258fSBjoern A. Zeeb #define B_AX_ACH2_BUSY BIT(10) 300*8e93258fSBjoern A. Zeeb #define B_AX_ACH1_BUSY BIT(9) 301*8e93258fSBjoern A. Zeeb #define B_AX_ACH0_BUSY BIT(8) 302*8e93258fSBjoern A. Zeeb 303*8e93258fSBjoern A. Zeeb #define R_AX_PCIE_DBG_CTRL 0x11C0 304*8e93258fSBjoern A. Zeeb #define B_AX_DBG_DUMMY_MASK GENMASK(23, 16) 305*8e93258fSBjoern A. Zeeb #define B_AX_DBG_SEL_MASK GENMASK(15, 13) 306*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_DBG_SEL BIT(12) 307*8e93258fSBjoern A. Zeeb #define B_AX_MRD_TIMEOUT_EN BIT(10) 308*8e93258fSBjoern A. Zeeb #define B_AX_ASFF_FULL_NO_STK BIT(1) 309*8e93258fSBjoern A. Zeeb #define B_AX_EN_STUCK_DBG BIT(0) 310*8e93258fSBjoern A. Zeeb 311*8e93258fSBjoern A. Zeeb #define R_AX_HAXI_DMA_STOP2 0x11C0 312*8e93258fSBjoern A. Zeeb #define B_AX_STOP_CH11 BIT(1) 313*8e93258fSBjoern A. Zeeb #define B_AX_STOP_CH10 BIT(0) 314*8e93258fSBjoern A. Zeeb 315*8e93258fSBjoern A. Zeeb #define R_AX_HAXI_DMA_BUSY2 0x11C8 316*8e93258fSBjoern A. Zeeb #define B_AX_CH11_BUSY BIT(1) 317*8e93258fSBjoern A. Zeeb #define B_AX_CH10_BUSY BIT(0) 318*8e93258fSBjoern A. Zeeb 319*8e93258fSBjoern A. Zeeb #define R_AX_HAXI_DMA_BUSY3 0x1208 320*8e93258fSBjoern A. Zeeb #define B_AX_RPQ_BUSY BIT(1) 321*8e93258fSBjoern A. Zeeb #define B_AX_RXQ_BUSY BIT(0) 322*8e93258fSBjoern A. Zeeb 323*8e93258fSBjoern A. Zeeb #define R_AX_LTR_DEC_CTRL 0x1600 324*8e93258fSBjoern A. Zeeb #define B_AX_LTR_IDX_DRV_VLD BIT(16) 325*8e93258fSBjoern A. Zeeb #define B_AX_LTR_CURR_IDX_DRV_MASK GENMASK(15, 14) 326*8e93258fSBjoern A. Zeeb #define B_AX_LTR_IDX_FW_VLD BIT(13) 327*8e93258fSBjoern A. Zeeb #define B_AX_LTR_CURR_IDX_FW_MASK GENMASK(12, 11) 328*8e93258fSBjoern A. Zeeb #define B_AX_LTR_IDX_HW_VLD BIT(10) 329*8e93258fSBjoern A. Zeeb #define B_AX_LTR_CURR_IDX_HW_MASK GENMASK(9, 8) 330*8e93258fSBjoern A. Zeeb #define B_AX_LTR_REQ_DRV BIT(7) 331*8e93258fSBjoern A. Zeeb #define B_AX_LTR_IDX_DRV_MASK GENMASK(6, 5) 332*8e93258fSBjoern A. Zeeb #define PCIE_LTR_IDX_IDLE 3 333*8e93258fSBjoern A. Zeeb #define B_AX_LTR_DRV_DEC_EN BIT(4) 334*8e93258fSBjoern A. Zeeb #define B_AX_LTR_FW_DEC_EN BIT(3) 335*8e93258fSBjoern A. Zeeb #define B_AX_LTR_HW_DEC_EN BIT(2) 336*8e93258fSBjoern A. Zeeb #define B_AX_LTR_SPACE_IDX_V1_MASK GENMASK(1, 0) 337*8e93258fSBjoern A. Zeeb #define LTR_EN_BITS (B_AX_LTR_HW_DEC_EN | B_AX_LTR_FW_DEC_EN | B_AX_LTR_DRV_DEC_EN) 338*8e93258fSBjoern A. Zeeb 339*8e93258fSBjoern A. Zeeb #define R_AX_LTR_LATENCY_IDX0 0x1604 340*8e93258fSBjoern A. Zeeb #define R_AX_LTR_LATENCY_IDX1 0x1608 341*8e93258fSBjoern A. Zeeb #define R_AX_LTR_LATENCY_IDX2 0x160C 342*8e93258fSBjoern A. Zeeb #define R_AX_LTR_LATENCY_IDX3 0x1610 343*8e93258fSBjoern A. Zeeb 344*8e93258fSBjoern A. Zeeb #define R_AX_HCI_FC_CTRL_V1 0x1700 345*8e93258fSBjoern A. Zeeb #define R_AX_CH_PAGE_CTRL_V1 0x1704 346*8e93258fSBjoern A. Zeeb 347*8e93258fSBjoern A. Zeeb #define R_AX_ACH0_PAGE_CTRL_V1 0x1710 348*8e93258fSBjoern A. Zeeb #define R_AX_ACH1_PAGE_CTRL_V1 0x1714 349*8e93258fSBjoern A. Zeeb #define R_AX_ACH2_PAGE_CTRL_V1 0x1718 350*8e93258fSBjoern A. Zeeb #define R_AX_ACH3_PAGE_CTRL_V1 0x171C 351*8e93258fSBjoern A. Zeeb #define R_AX_ACH4_PAGE_CTRL_V1 0x1720 352*8e93258fSBjoern A. Zeeb #define R_AX_ACH5_PAGE_CTRL_V1 0x1724 353*8e93258fSBjoern A. Zeeb #define R_AX_ACH6_PAGE_CTRL_V1 0x1728 354*8e93258fSBjoern A. Zeeb #define R_AX_ACH7_PAGE_CTRL_V1 0x172C 355*8e93258fSBjoern A. Zeeb #define R_AX_CH8_PAGE_CTRL_V1 0x1730 356*8e93258fSBjoern A. Zeeb #define R_AX_CH9_PAGE_CTRL_V1 0x1734 357*8e93258fSBjoern A. Zeeb #define R_AX_CH10_PAGE_CTRL_V1 0x1738 358*8e93258fSBjoern A. Zeeb #define R_AX_CH11_PAGE_CTRL_V1 0x173C 359*8e93258fSBjoern A. Zeeb 360*8e93258fSBjoern A. Zeeb #define R_AX_ACH0_PAGE_INFO_V1 0x1750 361*8e93258fSBjoern A. Zeeb #define R_AX_ACH1_PAGE_INFO_V1 0x1754 362*8e93258fSBjoern A. Zeeb #define R_AX_ACH2_PAGE_INFO_V1 0x1758 363*8e93258fSBjoern A. Zeeb #define R_AX_ACH3_PAGE_INFO_V1 0x175C 364*8e93258fSBjoern A. Zeeb #define R_AX_ACH4_PAGE_INFO_V1 0x1760 365*8e93258fSBjoern A. Zeeb #define R_AX_ACH5_PAGE_INFO_V1 0x1764 366*8e93258fSBjoern A. Zeeb #define R_AX_ACH6_PAGE_INFO_V1 0x1768 367*8e93258fSBjoern A. Zeeb #define R_AX_ACH7_PAGE_INFO_V1 0x176C 368*8e93258fSBjoern A. Zeeb #define R_AX_CH8_PAGE_INFO_V1 0x1770 369*8e93258fSBjoern A. Zeeb #define R_AX_CH9_PAGE_INFO_V1 0x1774 370*8e93258fSBjoern A. Zeeb #define R_AX_CH10_PAGE_INFO_V1 0x1778 371*8e93258fSBjoern A. Zeeb #define R_AX_CH11_PAGE_INFO_V1 0x177C 372*8e93258fSBjoern A. Zeeb #define R_AX_CH12_PAGE_INFO_V1 0x1780 373*8e93258fSBjoern A. Zeeb 374*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_INFO3_V1 0x178C 375*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_CTRL1_V1 0x1790 376*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_CTRL2_V1 0x1794 377*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_INFO1_V1 0x1798 378*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_INFO2_V1 0x179C 379*8e93258fSBjoern A. Zeeb #define R_AX_WP_PAGE_CTRL1_V1 0x17A0 380*8e93258fSBjoern A. Zeeb #define R_AX_WP_PAGE_CTRL2_V1 0x17A4 381*8e93258fSBjoern A. Zeeb #define R_AX_WP_PAGE_INFO1_V1 0x17A8 382*8e93258fSBjoern A. Zeeb 383*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA0_V1 0x7140 384*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA1_V1 0x7144 385*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA2_V1 0x7148 386*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA3_V1 0x714C 387*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA0_V1 0x7150 388*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA1_V1 0x7154 389*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA2_V1 0x7158 390*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA3_V1 0x715C 391*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_CTRL_V1 0x7160 392*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_CTRL_V1 0x7164 393*8e93258fSBjoern A. Zeeb 394*8e93258fSBjoern A. Zeeb #define R_AX_HCI_FUNC_EN_V1 0x7880 395*8e93258fSBjoern A. Zeeb 396*8e93258fSBjoern A. Zeeb #define R_AX_PHYREG_SET 0x8040 397*8e93258fSBjoern A. Zeeb #define PHYREG_SET_ALL_CYCLE 0x8 398*8e93258fSBjoern A. Zeeb 399*8e93258fSBjoern A. Zeeb #define R_AX_HD0IMR 0x8110 400*8e93258fSBjoern A. Zeeb #define B_AX_WDT_PTFM_INT_EN BIT(5) 401*8e93258fSBjoern A. Zeeb #define B_AX_CPWM_INT_EN BIT(2) 402*8e93258fSBjoern A. Zeeb #define B_AX_GT3_INT_EN BIT(1) 403*8e93258fSBjoern A. Zeeb #define B_AX_C2H_INT_EN BIT(0) 404*8e93258fSBjoern A. Zeeb #define R_AX_HD0ISR 0x8114 405*8e93258fSBjoern A. Zeeb #define B_AX_C2H_INT BIT(0) 406*8e93258fSBjoern A. Zeeb 407*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA0 0x8140 408*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA1 0x8144 409*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA2 0x8148 410*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_DATA3 0x814C 411*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA0 0x8150 412*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA1 0x8154 413*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA2 0x8158 414*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_DATA3 0x815C 415*8e93258fSBjoern A. Zeeb #define R_AX_H2CREG_CTRL 0x8160 416*8e93258fSBjoern A. Zeeb #define B_AX_H2CREG_TRIGGER BIT(0) 417*8e93258fSBjoern A. Zeeb #define R_AX_C2HREG_CTRL 0x8164 418*8e93258fSBjoern A. Zeeb #define B_AX_C2HREG_TRIGGER BIT(0) 419*8e93258fSBjoern A. Zeeb #define R_AX_CPWM 0x8170 420*8e93258fSBjoern A. Zeeb 421*8e93258fSBjoern A. Zeeb #define R_AX_HCI_FUNC_EN 0x8380 422*8e93258fSBjoern A. Zeeb #define B_AX_HCI_RXDMA_EN BIT(1) 423*8e93258fSBjoern A. Zeeb #define B_AX_HCI_TXDMA_EN BIT(0) 424*8e93258fSBjoern A. Zeeb 425*8e93258fSBjoern A. Zeeb #define R_AX_BOOT_DBG 0x83F0 426*8e93258fSBjoern A. Zeeb 427*8e93258fSBjoern A. Zeeb #define R_AX_DMAC_FUNC_EN 0x8400 428*8e93258fSBjoern A. Zeeb #define B_AX_DMAC_CRPRT BIT(31) 429*8e93258fSBjoern A. Zeeb #define B_AX_MAC_FUNC_EN BIT(30) 430*8e93258fSBjoern A. Zeeb #define B_AX_DMAC_FUNC_EN BIT(29) 431*8e93258fSBjoern A. Zeeb #define B_AX_MPDU_PROC_EN BIT(28) 432*8e93258fSBjoern A. Zeeb #define B_AX_WD_RLS_EN BIT(27) 433*8e93258fSBjoern A. Zeeb #define B_AX_DLE_WDE_EN BIT(26) 434*8e93258fSBjoern A. Zeeb #define B_AX_TXPKT_CTRL_EN BIT(25) 435*8e93258fSBjoern A. Zeeb #define B_AX_STA_SCH_EN BIT(24) 436*8e93258fSBjoern A. Zeeb #define B_AX_DLE_PLE_EN BIT(23) 437*8e93258fSBjoern A. Zeeb #define B_AX_PKT_BUF_EN BIT(22) 438*8e93258fSBjoern A. Zeeb #define B_AX_DMAC_TBL_EN BIT(21) 439*8e93258fSBjoern A. Zeeb #define B_AX_PKT_IN_EN BIT(20) 440*8e93258fSBjoern A. Zeeb #define B_AX_DLE_CPUIO_EN BIT(19) 441*8e93258fSBjoern A. Zeeb #define B_AX_DISPATCHER_EN BIT(18) 442*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_EN BIT(17) 443*8e93258fSBjoern A. Zeeb #define B_AX_MAC_SEC_EN BIT(16) 444*8e93258fSBjoern A. Zeeb #define B_AX_MAC_UN_EN BIT(15) 445*8e93258fSBjoern A. Zeeb #define B_AX_H_AXIDMA_EN BIT(14) 446*8e93258fSBjoern A. Zeeb 447*8e93258fSBjoern A. Zeeb #define R_AX_DMAC_CLK_EN 0x8404 448*8e93258fSBjoern A. Zeeb #define B_AX_WD_RLS_CLK_EN BIT(27) 449*8e93258fSBjoern A. Zeeb #define B_AX_DLE_WDE_CLK_EN BIT(26) 450*8e93258fSBjoern A. Zeeb #define B_AX_TXPKT_CTRL_CLK_EN BIT(25) 451*8e93258fSBjoern A. Zeeb #define B_AX_STA_SCH_CLK_EN BIT(24) 452*8e93258fSBjoern A. Zeeb #define B_AX_DLE_PLE_CLK_EN BIT(23) 453*8e93258fSBjoern A. Zeeb #define B_AX_PKT_IN_CLK_EN BIT(20) 454*8e93258fSBjoern A. Zeeb #define B_AX_DLE_CPUIO_CLK_EN BIT(19) 455*8e93258fSBjoern A. Zeeb #define B_AX_DISPATCHER_CLK_EN BIT(18) 456*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_CLK_EN BIT(17) 457*8e93258fSBjoern A. Zeeb #define B_AX_MAC_SEC_CLK_EN BIT(16) 458*8e93258fSBjoern A. Zeeb 459*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_1US 0 460*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_10US 1 461*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_100US 2 462*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_200US 3 463*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_400US 4 464*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_800US 5 465*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_1_6MS 6 466*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_3_2MS 7 467*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_R_ERR 0xFD 468*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_DEF 0xFE 469*8e93258fSBjoern A. Zeeb #define PCI_LTR_IDLE_TIMER_IGNORE 0xFF 470*8e93258fSBjoern A. Zeeb 471*8e93258fSBjoern A. Zeeb #define PCI_LTR_SPC_10US 0 472*8e93258fSBjoern A. Zeeb #define PCI_LTR_SPC_100US 1 473*8e93258fSBjoern A. Zeeb #define PCI_LTR_SPC_500US 2 474*8e93258fSBjoern A. Zeeb #define PCI_LTR_SPC_1MS 3 475*8e93258fSBjoern A. Zeeb #define PCI_LTR_SPC_R_ERR 0xFD 476*8e93258fSBjoern A. Zeeb #define PCI_LTR_SPC_DEF 0xFE 477*8e93258fSBjoern A. Zeeb #define PCI_LTR_SPC_IGNORE 0xFF 478*8e93258fSBjoern A. Zeeb 479*8e93258fSBjoern A. Zeeb #define R_AX_LTR_CTRL_0 0x8410 480*8e93258fSBjoern A. Zeeb #define B_AX_LTR_SPACE_IDX_MASK GENMASK(13, 12) 481*8e93258fSBjoern A. Zeeb #define B_AX_LTR_IDLE_TIMER_IDX_MASK GENMASK(10, 8) 482*8e93258fSBjoern A. Zeeb #define B_AX_APP_LTR_ACT BIT(5) 483*8e93258fSBjoern A. Zeeb #define B_AX_APP_LTR_IDLE BIT(4) 484*8e93258fSBjoern A. Zeeb #define B_AX_LTR_EN BIT(1) 485*8e93258fSBjoern A. Zeeb #define B_AX_LTR_WD_NOEMP_CHK_V1 BIT(1) 486*8e93258fSBjoern A. Zeeb #define B_AX_LTR_HW_EN BIT(0) 487*8e93258fSBjoern A. Zeeb 488*8e93258fSBjoern A. Zeeb #define R_AX_LTR_CTRL_1 0x8414 489*8e93258fSBjoern A. Zeeb #define B_AX_LTR_RX1_TH_MASK GENMASK(27, 16) 490*8e93258fSBjoern A. Zeeb #define B_AX_LTR_RX0_TH_MASK GENMASK(11, 0) 491*8e93258fSBjoern A. Zeeb 492*8e93258fSBjoern A. Zeeb #define R_AX_LTR_IDLE_LATENCY 0x8418 493*8e93258fSBjoern A. Zeeb 494*8e93258fSBjoern A. Zeeb #define R_AX_LTR_ACTIVE_LATENCY 0x841C 495*8e93258fSBjoern A. Zeeb 496*8e93258fSBjoern A. Zeeb #define R_AX_SER_DBG_INFO 0x8424 497*8e93258fSBjoern A. Zeeb #define B_AX_L0_TO_L1_EVENT_MASK GENMASK(31, 28) 498*8e93258fSBjoern A. Zeeb 499*8e93258fSBjoern A. Zeeb #define R_AX_DLE_EMPTY0 0x8430 500*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QTA_DMAC_CPUIO BIT(26) 501*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QTA_DMAC_MPDU_TX BIT(25) 502*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QTA_DMAC_WLAN_CPU BIT(24) 503*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QTA_DMAC_H2C BIT(23) 504*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QTA_DMAC_B1_TXPL BIT(22) 505*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QTA_DMAC_B0_TXPL BIT(21) 506*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QTA_DMAC_CPUIO BIT(20) 507*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QTA_DMAC_PKTIN BIT(19) 508*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QTA_DMAC_DATA_CPU BIT(18) 509*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QTA_DMAC_WLAN_CPU BIT(17) 510*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QTA_DMAC_HIF BIT(16) 511*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QUE_DMAC_PKTIN BIT(10) 512*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QUE_DMAC_SEC_TX BIT(9) 513*8e93258fSBjoern A. Zeeb #define B_AX_PLE_EMPTY_QUE_DMAC_MPDU_TX BIT(8) 514*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QUE_OTHERS BIT(7) 515*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QUE_CMAC0_WMM1 BIT(4) 516*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QUE_CMAC0_WMM0 BIT(3) 517*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QUE_CMAC1_MBH BIT(2) 518*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QUE_CMAC0_MBH BIT(1) 519*8e93258fSBjoern A. Zeeb #define B_AX_WDE_EMPTY_QUE_CMAC0_ALL_AC BIT(0) 520*8e93258fSBjoern A. Zeeb 521*8e93258fSBjoern A. Zeeb #define R_AX_DMAC_ERR_IMR 0x8520 522*8e93258fSBjoern A. Zeeb #define B_AX_DLE_CPUIO_ERR_INT_EN BIT(10) 523*8e93258fSBjoern A. Zeeb #define B_AX_APB_BRIDGE_ERR_INT_EN BIT(9) 524*8e93258fSBjoern A. Zeeb #define B_AX_DISPATCH_ERR_INT_EN BIT(8) 525*8e93258fSBjoern A. Zeeb #define B_AX_PKTIN_ERR_INT_EN BIT(7) 526*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DLE_ERR_INT_EN BIT(6) 527*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTRL_ERR_INT_EN BIT(5) 528*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DLE_ERR_INT_EN BIT(4) 529*8e93258fSBjoern A. Zeeb #define B_AX_STA_SCHEDULER_ERR_INT_EN BIT(3) 530*8e93258fSBjoern A. Zeeb #define B_AX_MPDU_ERR_INT_EN BIT(2) 531*8e93258fSBjoern A. Zeeb #define B_AX_WSEC_ERR_INT_EN BIT(1) 532*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_ERR_INT_EN BIT(0) 533*8e93258fSBjoern A. Zeeb #define DMAC_ERR_IMR_EN GENMASK(31, 0) 534*8e93258fSBjoern A. Zeeb #define DMAC_ERR_IMR_DIS 0 535*8e93258fSBjoern A. Zeeb 536*8e93258fSBjoern A. Zeeb #define R_AX_DMAC_ERR_ISR 0x8524 537*8e93258fSBjoern A. Zeeb #define B_AX_DLE_CPUIO_ERR_FLAG BIT(10) 538*8e93258fSBjoern A. Zeeb #define B_AX_APB_BRIDGE_ERR_FLAG BIT(9) 539*8e93258fSBjoern A. Zeeb #define B_AX_DISPATCH_ERR_FLAG BIT(8) 540*8e93258fSBjoern A. Zeeb #define B_AX_PKTIN_ERR_FLAG BIT(7) 541*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DLE_ERR_FLAG BIT(6) 542*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTRL_ERR_FLAG BIT(5) 543*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DLE_ERR_FLAG BIT(4) 544*8e93258fSBjoern A. Zeeb #define B_AX_STA_SCHEDULER_ERR_FLAG BIT(3) 545*8e93258fSBjoern A. Zeeb #define B_AX_MPDU_ERR_FLAG BIT(2) 546*8e93258fSBjoern A. Zeeb #define B_AX_WSEC_ERR_FLAG BIT(1) 547*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_ERR_FLAG BIT(0) 548*8e93258fSBjoern A. Zeeb 549*8e93258fSBjoern A. Zeeb #define R_AX_DISPATCHER_GLOBAL_SETTING_0 0x8800 550*8e93258fSBjoern A. Zeeb #define B_AX_PL_PAGE_128B_SEL BIT(9) 551*8e93258fSBjoern A. Zeeb #define B_AX_WD_PAGE_64B_SEL BIT(8) 552*8e93258fSBjoern A. Zeeb #define R_AX_OTHER_DISPATCHER_ERR_ISR 0x8804 553*8e93258fSBjoern A. Zeeb #define R_AX_HOST_DISPATCHER_ERR_ISR 0x8808 554*8e93258fSBjoern A. Zeeb #define R_AX_CPU_DISPATCHER_ERR_ISR 0x880C 555*8e93258fSBjoern A. Zeeb #define R_AX_TX_ADDRESS_INFO_MODE_SETTING 0x8810 556*8e93258fSBjoern A. Zeeb #define B_AX_HOST_ADDR_INFO_8B_SEL BIT(0) 557*8e93258fSBjoern A. Zeeb 558*8e93258fSBjoern A. Zeeb #define R_AX_HOST_DISPATCHER_ERR_IMR 0x8850 559*8e93258fSBjoern A. Zeeb #define B_AX_HDT_RX_WRITE_UNDERFLOW_INT_EN BIT(31) 560*8e93258fSBjoern A. Zeeb #define B_AX_HDT_RX_WRITE_OVERFLOW_INT_EN BIT(30) 561*8e93258fSBjoern A. Zeeb #define B_AX_HDT_CHKSUM_FSM_ERR_INT_EN BIT(29) 562*8e93258fSBjoern A. Zeeb #define B_AX_HDT_SHIFT_DMA_CFG_ERR_INT_EN BIT(28) 563*8e93258fSBjoern A. Zeeb #define B_AX_HDT_DMA_PROCESS_ERR_INT_EN BIT(27) 564*8e93258fSBjoern A. Zeeb #define B_AX_HDT_TOTAL_LEN_ERR_INT_EN BIT(26) 565*8e93258fSBjoern A. Zeeb #define B_AX_HDT_SHIFT_EN_ERR_INT_EN BIT(25) 566*8e93258fSBjoern A. Zeeb #define B_AX_HDT_RXAGG_CFG_ERR_INT_EN BIT(24) 567*8e93258fSBjoern A. Zeeb #define B_AX_HDT_OUTPUT_ERR_INT_EN BIT(21) 568*8e93258fSBjoern A. Zeeb #define B_AX_HDT_RES_ERR_INT_EN BIT(20) 569*8e93258fSBjoern A. Zeeb #define B_AX_HDT_BURST_NUM_ERR_INT_EN BIT(19) 570*8e93258fSBjoern A. Zeeb #define B_AX_HDT_NULLPKT_ERR_INT_EN BIT(18) 571*8e93258fSBjoern A. Zeeb #define B_AX_HDT_FLOW_CTRL_ERR_INT_EN BIT(17) 572*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PLD_CMD_UNDERFLOW_INT_EN BIT(16) 573*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PLD_CMD_OVERLOW_INT_EN BIT(15) 574*8e93258fSBjoern A. Zeeb #define B_AX_HDT_TX_WRITE_UNDERFLOW_INT_EN BIT(14) 575*8e93258fSBjoern A. Zeeb #define B_AX_HDT_TX_WRITE_OVERFLOW_INT_EN BIT(13) 576*8e93258fSBjoern A. Zeeb #define B_AX_HDT_TCP_CHK_ERR_INT_EN BIT(12) 577*8e93258fSBjoern A. Zeeb #define B_AX_HDT_TXPKTSIZE_ERR_INT_EN BIT(11) 578*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PRE_COST_ERR_INT_EN BIT(10) 579*8e93258fSBjoern A. Zeeb #define B_AX_HDT_WD_CHK_ERR_INT_EN BIT(9) 580*8e93258fSBjoern A. Zeeb #define B_AX_HDT_CHANNEL_DMA_ERR_INT_EN BIT(8) 581*8e93258fSBjoern A. Zeeb #define B_AX_HDT_OFFSET_UNMATCH_INT_EN BIT(7) 582*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN BIT(6) 583*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN BIT(5) 584*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PERMU_UNDERFLOW_INT_EN BIT(4) 585*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PERMU_OVERFLOW_INT_EN BIT(3) 586*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PKT_FAIL_DBG_INT_EN BIT(2) 587*8e93258fSBjoern A. Zeeb #define B_AX_HDT_CHANNEL_ID_ERR_INT_EN BIT(1) 588*8e93258fSBjoern A. Zeeb #define B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN BIT(0) 589*8e93258fSBjoern A. Zeeb #define B_AX_HOST_DISP_IMR_CLR (B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN | \ 590*8e93258fSBjoern A. Zeeb B_AX_HDT_CHANNEL_ID_ERR_INT_EN | \ 591*8e93258fSBjoern A. Zeeb B_AX_HDT_PKT_FAIL_DBG_INT_EN | \ 592*8e93258fSBjoern A. Zeeb B_AX_HDT_PERMU_OVERFLOW_INT_EN | \ 593*8e93258fSBjoern A. Zeeb B_AX_HDT_PERMU_UNDERFLOW_INT_EN | \ 594*8e93258fSBjoern A. Zeeb B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN | \ 595*8e93258fSBjoern A. Zeeb B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN | \ 596*8e93258fSBjoern A. Zeeb B_AX_HDT_OFFSET_UNMATCH_INT_EN | \ 597*8e93258fSBjoern A. Zeeb B_AX_HDT_CHANNEL_DMA_ERR_INT_EN | \ 598*8e93258fSBjoern A. Zeeb B_AX_HDT_WD_CHK_ERR_INT_EN | \ 599*8e93258fSBjoern A. Zeeb B_AX_HDT_PRE_COST_ERR_INT_EN | \ 600*8e93258fSBjoern A. Zeeb B_AX_HDT_TXPKTSIZE_ERR_INT_EN | \ 601*8e93258fSBjoern A. Zeeb B_AX_HDT_TCP_CHK_ERR_INT_EN | \ 602*8e93258fSBjoern A. Zeeb B_AX_HDT_TX_WRITE_OVERFLOW_INT_EN | \ 603*8e93258fSBjoern A. Zeeb B_AX_HDT_TX_WRITE_UNDERFLOW_INT_EN | \ 604*8e93258fSBjoern A. Zeeb B_AX_HDT_PLD_CMD_OVERLOW_INT_EN | \ 605*8e93258fSBjoern A. Zeeb B_AX_HDT_PLD_CMD_UNDERFLOW_INT_EN | \ 606*8e93258fSBjoern A. Zeeb B_AX_HDT_FLOW_CTRL_ERR_INT_EN | \ 607*8e93258fSBjoern A. Zeeb B_AX_HDT_NULLPKT_ERR_INT_EN | \ 608*8e93258fSBjoern A. Zeeb B_AX_HDT_BURST_NUM_ERR_INT_EN | \ 609*8e93258fSBjoern A. Zeeb B_AX_HDT_RXAGG_CFG_ERR_INT_EN | \ 610*8e93258fSBjoern A. Zeeb B_AX_HDT_SHIFT_EN_ERR_INT_EN | \ 611*8e93258fSBjoern A. Zeeb B_AX_HDT_TOTAL_LEN_ERR_INT_EN | \ 612*8e93258fSBjoern A. Zeeb B_AX_HDT_DMA_PROCESS_ERR_INT_EN | \ 613*8e93258fSBjoern A. Zeeb B_AX_HDT_SHIFT_DMA_CFG_ERR_INT_EN | \ 614*8e93258fSBjoern A. Zeeb B_AX_HDT_CHKSUM_FSM_ERR_INT_EN | \ 615*8e93258fSBjoern A. Zeeb B_AX_HDT_RX_WRITE_OVERFLOW_INT_EN | \ 616*8e93258fSBjoern A. Zeeb B_AX_HDT_RX_WRITE_UNDERFLOW_INT_EN) 617*8e93258fSBjoern A. Zeeb #define B_AX_HOST_DISP_IMR_SET (B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN | \ 618*8e93258fSBjoern A. Zeeb B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN | \ 619*8e93258fSBjoern A. Zeeb B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN | \ 620*8e93258fSBjoern A. Zeeb B_AX_HDT_CHANNEL_DMA_ERR_INT_EN | \ 621*8e93258fSBjoern A. Zeeb B_AX_HDT_TOTAL_LEN_ERR_INT_EN | \ 622*8e93258fSBjoern A. Zeeb B_AX_HDT_DMA_PROCESS_ERR_INT_EN) 623*8e93258fSBjoern A. Zeeb 624*8e93258fSBjoern A. Zeeb #define B_AX_HR_WRFF_UNDERFLOW_ERR_INT_EN BIT(31) 625*8e93258fSBjoern A. Zeeb #define B_AX_HR_WRFF_OVERFLOW_ERR_INT_EN BIT(30) 626*8e93258fSBjoern A. Zeeb #define B_AX_HR_CHKSUM_FSM_ERR_INT_EN BIT(29) 627*8e93258fSBjoern A. Zeeb #define B_AX_HR_SHIFT_DMA_CFG_ERR_INT_EN BIT(28) 628*8e93258fSBjoern A. Zeeb #define B_AX_HR_DMA_PROCESS_ERR_INT_EN BIT(27) 629*8e93258fSBjoern A. Zeeb #define B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN BIT(26) 630*8e93258fSBjoern A. Zeeb #define B_AX_HR_SHIFT_EN_ERR_INT_EN BIT(25) 631*8e93258fSBjoern A. Zeeb #define B_AX_HR_AGG_CFG_ERR_INT_EN BIT(24) 632*8e93258fSBjoern A. Zeeb #define B_AX_HR_DMA_RD_CNT_DEQ_ERR_INT_EN BIT(23) 633*8e93258fSBjoern A. Zeeb #define B_AX_HR_PLD_LEN_ZERO_ERR_INT_EN BIT(22) 634*8e93258fSBjoern A. Zeeb #define B_AX_HT_ILL_CH_ERR_INT_EN BIT(20) 635*8e93258fSBjoern A. Zeeb #define B_AX_HT_ADDR_INFO_LEN_ERR_INT_EN BIT(18) 636*8e93258fSBjoern A. Zeeb #define B_AX_HT_WD_LEN_OVER_ERR_INT_EN BIT(17) 637*8e93258fSBjoern A. Zeeb #define B_AX_HT_PLD_CMD_UNDERFLOW_ERR_INT_EN BIT(16) 638*8e93258fSBjoern A. Zeeb #define B_AX_HT_PLD_CMD_OVERFLOW_ERR_INT_EN BIT(15) 639*8e93258fSBjoern A. Zeeb #define B_AX_HT_WRFF_UNDERFLOW_ERR_INT_EN BIT(14) 640*8e93258fSBjoern A. Zeeb #define B_AX_HT_WRFF_OVERFLOW_ERR_INT_EN BIT(13) 641*8e93258fSBjoern A. Zeeb #define B_AX_HT_CHKSUM_FSM_ERR_INT_EN BIT(12) 642*8e93258fSBjoern A. Zeeb #define B_AX_HT_TXPKTSIZE_ERR_INT_EN BIT(11) 643*8e93258fSBjoern A. Zeeb #define B_AX_HT_PRE_SUB_ERR_INT_EN BIT(10) 644*8e93258fSBjoern A. Zeeb #define B_AX_HT_WD_CHKSUM_ERR_INT_EN BIT(9) 645*8e93258fSBjoern A. Zeeb #define B_AX_HT_CHANNEL_DMA_ERR_INT_EN BIT(8) 646*8e93258fSBjoern A. Zeeb #define B_AX_HT_OFFSET_UNMATCH_ERR_INT_EN BIT(7) 647*8e93258fSBjoern A. Zeeb #define B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN BIT(6) 648*8e93258fSBjoern A. Zeeb #define B_AX_HT_PAYLOAD_OVER_ERR_INT_EN BIT(5) 649*8e93258fSBjoern A. Zeeb #define B_AX_HT_PERMU_FF_UNDERFLOW_ERR_INT_EN BIT(4) 650*8e93258fSBjoern A. Zeeb #define B_AX_HT_PERMU_FF_OVERFLOW_ERR_INT_EN BIT(3) 651*8e93258fSBjoern A. Zeeb #define B_AX_HT_PKT_FAIL_ERR_INT_EN BIT(2) 652*8e93258fSBjoern A. Zeeb #define B_AX_HT_CH_ID_ERR_INT_EN BIT(1) 653*8e93258fSBjoern A. Zeeb #define B_AX_HT_EP_CH_DIFF_ERR_INT_EN BIT(0) 654*8e93258fSBjoern A. Zeeb #define B_AX_HOST_DISP_IMR_CLR_V1 (B_AX_HT_EP_CH_DIFF_ERR_INT_EN | \ 655*8e93258fSBjoern A. Zeeb B_AX_HT_CH_ID_ERR_INT_EN | \ 656*8e93258fSBjoern A. Zeeb B_AX_HT_PKT_FAIL_ERR_INT_EN | \ 657*8e93258fSBjoern A. Zeeb B_AX_HT_PERMU_FF_OVERFLOW_ERR_INT_EN | \ 658*8e93258fSBjoern A. Zeeb B_AX_HT_PERMU_FF_UNDERFLOW_ERR_INT_EN | \ 659*8e93258fSBjoern A. Zeeb B_AX_HT_PAYLOAD_OVER_ERR_INT_EN | \ 660*8e93258fSBjoern A. Zeeb B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN | \ 661*8e93258fSBjoern A. Zeeb B_AX_HT_OFFSET_UNMATCH_ERR_INT_EN | \ 662*8e93258fSBjoern A. Zeeb B_AX_HT_CHANNEL_DMA_ERR_INT_EN | \ 663*8e93258fSBjoern A. Zeeb B_AX_HT_WD_CHKSUM_ERR_INT_EN | \ 664*8e93258fSBjoern A. Zeeb B_AX_HT_PRE_SUB_ERR_INT_EN | \ 665*8e93258fSBjoern A. Zeeb B_AX_HT_TXPKTSIZE_ERR_INT_EN | \ 666*8e93258fSBjoern A. Zeeb B_AX_HT_CHKSUM_FSM_ERR_INT_EN | \ 667*8e93258fSBjoern A. Zeeb B_AX_HT_WRFF_OVERFLOW_ERR_INT_EN | \ 668*8e93258fSBjoern A. Zeeb B_AX_HT_WRFF_UNDERFLOW_ERR_INT_EN | \ 669*8e93258fSBjoern A. Zeeb B_AX_HT_PLD_CMD_OVERFLOW_ERR_INT_EN | \ 670*8e93258fSBjoern A. Zeeb B_AX_HT_PLD_CMD_UNDERFLOW_ERR_INT_EN | \ 671*8e93258fSBjoern A. Zeeb B_AX_HT_WD_LEN_OVER_ERR_INT_EN | \ 672*8e93258fSBjoern A. Zeeb B_AX_HT_ADDR_INFO_LEN_ERR_INT_EN | \ 673*8e93258fSBjoern A. Zeeb B_AX_HT_ILL_CH_ERR_INT_EN | \ 674*8e93258fSBjoern A. Zeeb B_AX_HR_PLD_LEN_ZERO_ERR_INT_EN | \ 675*8e93258fSBjoern A. Zeeb B_AX_HR_DMA_RD_CNT_DEQ_ERR_INT_EN | \ 676*8e93258fSBjoern A. Zeeb B_AX_HR_AGG_CFG_ERR_INT_EN | \ 677*8e93258fSBjoern A. Zeeb B_AX_HR_SHIFT_EN_ERR_INT_EN | \ 678*8e93258fSBjoern A. Zeeb B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN | \ 679*8e93258fSBjoern A. Zeeb B_AX_HR_DMA_PROCESS_ERR_INT_EN | \ 680*8e93258fSBjoern A. Zeeb B_AX_HR_SHIFT_DMA_CFG_ERR_INT_EN | \ 681*8e93258fSBjoern A. Zeeb B_AX_HR_CHKSUM_FSM_ERR_INT_EN | \ 682*8e93258fSBjoern A. Zeeb B_AX_HR_WRFF_OVERFLOW_ERR_INT_EN | \ 683*8e93258fSBjoern A. Zeeb B_AX_HR_WRFF_UNDERFLOW_ERR_INT_EN) 684*8e93258fSBjoern A. Zeeb #define B_AX_HOST_DISP_IMR_SET_V1 (B_AX_HT_PAYLOAD_OVER_ERR_INT_EN | \ 685*8e93258fSBjoern A. Zeeb B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN | \ 686*8e93258fSBjoern A. Zeeb B_AX_HT_ILL_CH_ERR_INT_EN | \ 687*8e93258fSBjoern A. Zeeb B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN | \ 688*8e93258fSBjoern A. Zeeb B_AX_HR_DMA_PROCESS_ERR_INT_EN) 689*8e93258fSBjoern A. Zeeb 690*8e93258fSBjoern A. Zeeb #define R_AX_CPU_DISPATCHER_ERR_IMR 0x8854 691*8e93258fSBjoern A. Zeeb #define B_AX_CPU_RX_WRITE_UNDERFLOW_INT_EN BIT(31) 692*8e93258fSBjoern A. Zeeb #define B_AX_CPU_RX_WRITE_OVERFLOW_INT_EN BIT(30) 693*8e93258fSBjoern A. Zeeb #define B_AX_CPU_CHKSUM_FSM_ERR_INT_EN BIT(29) 694*8e93258fSBjoern A. Zeeb #define B_AX_CPU_SHIFT_DMA_CFG_ERR_INT_EN BIT(28) 695*8e93258fSBjoern A. Zeeb #define B_AX_CPU_DMA_PROCESS_ERR_INT_EN BIT(27) 696*8e93258fSBjoern A. Zeeb #define B_AX_CPU_TOTAL_LEN_ERR_INT_EN BIT(26) 697*8e93258fSBjoern A. Zeeb #define B_AX_CPU_SHIFT_EN_ERR_INT_EN BIT(25) 698*8e93258fSBjoern A. Zeeb #define B_AX_CPU_RXAGG_CFG_ERR_INT_EN BIT(24) 699*8e93258fSBjoern A. Zeeb #define B_AX_CPU_OUTPUT_ERR_INT_EN BIT(20) 700*8e93258fSBjoern A. Zeeb #define B_AX_CPU_RESP_ERR_INT_EN BIT(19) 701*8e93258fSBjoern A. Zeeb #define B_AX_CPU_BURST_NUM_ERR_INT_EN BIT(18) 702*8e93258fSBjoern A. Zeeb #define B_AX_CPU_NULLPKT_ERR_INT_EN BIT(17) 703*8e93258fSBjoern A. Zeeb #define B_AX_CPU_FLOW_CTRL_ERR_INT_EN BIT(16) 704*8e93258fSBjoern A. Zeeb #define B_AX_CPU_F2P_SEQ_ERR_INT_EN BIT(15) 705*8e93258fSBjoern A. Zeeb #define B_AX_CPU_F2P_QSEL_ERR_INT_EN BIT(14) 706*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PLD_CMD_UNDERFLOW_INT_EN BIT(13) 707*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PLD_CMD_OVERLOW_INT_EN BIT(12) 708*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PRE_COST_ERR_INT_EN BIT(11) 709*8e93258fSBjoern A. Zeeb #define B_AX_CPU_WD_CHK_ERR_INT_EN BIT(10) 710*8e93258fSBjoern A. Zeeb #define B_AX_CPU_CHANNEL_DMA_ERR_INT_EN BIT(9) 711*8e93258fSBjoern A. Zeeb #define B_AX_CPU_OFFSET_UNMATCH_INT_EN BIT(8) 712*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PAYLOAD_CHKSUM_ERR_INT_EN BIT(7) 713*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN BIT(6) 714*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN BIT(5) 715*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PERMU_UNDERFLOW_INT_EN BIT(4) 716*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PERMU_OVERFLOW_INT_EN BIT(3) 717*8e93258fSBjoern A. Zeeb #define B_AX_CPU_CHANNEL_ID_ERR_INT_EN BIT(2) 718*8e93258fSBjoern A. Zeeb #define B_AX_CPU_PKT_FAIL_DBG_INT_EN BIT(1) 719*8e93258fSBjoern A. Zeeb #define B_AX_CPU_CHANNEL_DIFF_ERR_INT_EN BIT(0) 720*8e93258fSBjoern A. Zeeb #define B_AX_CPU_DISP_IMR_CLR (B_AX_CPU_CHANNEL_DIFF_ERR_INT_EN | \ 721*8e93258fSBjoern A. Zeeb B_AX_CPU_PKT_FAIL_DBG_INT_EN | \ 722*8e93258fSBjoern A. Zeeb B_AX_CPU_CHANNEL_ID_ERR_INT_EN | \ 723*8e93258fSBjoern A. Zeeb B_AX_CPU_PERMU_OVERFLOW_INT_EN | \ 724*8e93258fSBjoern A. Zeeb B_AX_CPU_PERMU_UNDERFLOW_INT_EN | \ 725*8e93258fSBjoern A. Zeeb B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN | \ 726*8e93258fSBjoern A. Zeeb B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN | \ 727*8e93258fSBjoern A. Zeeb B_AX_CPU_PAYLOAD_CHKSUM_ERR_INT_EN | \ 728*8e93258fSBjoern A. Zeeb B_AX_CPU_OFFSET_UNMATCH_INT_EN | \ 729*8e93258fSBjoern A. Zeeb B_AX_CPU_CHANNEL_DMA_ERR_INT_EN | \ 730*8e93258fSBjoern A. Zeeb B_AX_CPU_WD_CHK_ERR_INT_EN | \ 731*8e93258fSBjoern A. Zeeb B_AX_CPU_PRE_COST_ERR_INT_EN | \ 732*8e93258fSBjoern A. Zeeb B_AX_CPU_PLD_CMD_OVERLOW_INT_EN | \ 733*8e93258fSBjoern A. Zeeb B_AX_CPU_PLD_CMD_UNDERFLOW_INT_EN | \ 734*8e93258fSBjoern A. Zeeb B_AX_CPU_F2P_QSEL_ERR_INT_EN | \ 735*8e93258fSBjoern A. Zeeb B_AX_CPU_F2P_SEQ_ERR_INT_EN | \ 736*8e93258fSBjoern A. Zeeb B_AX_CPU_FLOW_CTRL_ERR_INT_EN | \ 737*8e93258fSBjoern A. Zeeb B_AX_CPU_NULLPKT_ERR_INT_EN | \ 738*8e93258fSBjoern A. Zeeb B_AX_CPU_BURST_NUM_ERR_INT_EN | \ 739*8e93258fSBjoern A. Zeeb B_AX_CPU_RXAGG_CFG_ERR_INT_EN | \ 740*8e93258fSBjoern A. Zeeb B_AX_CPU_SHIFT_EN_ERR_INT_EN | \ 741*8e93258fSBjoern A. Zeeb B_AX_CPU_TOTAL_LEN_ERR_INT_EN | \ 742*8e93258fSBjoern A. Zeeb B_AX_CPU_DMA_PROCESS_ERR_INT_EN | \ 743*8e93258fSBjoern A. Zeeb B_AX_CPU_SHIFT_DMA_CFG_ERR_INT_EN | \ 744*8e93258fSBjoern A. Zeeb B_AX_CPU_CHKSUM_FSM_ERR_INT_EN | \ 745*8e93258fSBjoern A. Zeeb B_AX_CPU_RX_WRITE_OVERFLOW_INT_EN | \ 746*8e93258fSBjoern A. Zeeb B_AX_CPU_RX_WRITE_UNDERFLOW_INT_EN) 747*8e93258fSBjoern A. Zeeb #define B_AX_CPU_DISP_IMR_SET (B_AX_CPU_PKT_FAIL_DBG_INT_EN | \ 748*8e93258fSBjoern A. Zeeb B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN | \ 749*8e93258fSBjoern A. Zeeb B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN | \ 750*8e93258fSBjoern A. Zeeb B_AX_CPU_TOTAL_LEN_ERR_INT_EN) 751*8e93258fSBjoern A. Zeeb 752*8e93258fSBjoern A. Zeeb #define B_AX_CR_PLD_LEN_ERR_INT_EN BIT(30) 753*8e93258fSBjoern A. Zeeb #define B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN BIT(29) 754*8e93258fSBjoern A. Zeeb #define B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN BIT(28) 755*8e93258fSBjoern A. Zeeb #define B_AX_CR_SHIFT_DMA_CFG_ERR_INT_EN BIT(27) 756*8e93258fSBjoern A. Zeeb #define B_AX_CR_DMA_PROCESS_ERR_INT_EN BIT(26) 757*8e93258fSBjoern A. Zeeb #define B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN BIT(25) 758*8e93258fSBjoern A. Zeeb #define B_AX_CR_SHIFT_EN_ERR_INT_EN BIT(24) 759*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_FIFO_B_UNDER_ERR_INT_EN BIT(22) 760*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_FIFO_B_OVER_ERR_INT_EN BIT(21) 761*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_FIFO_A_UNDER_ERR_INT_EN BIT(20) 762*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_FIFO_A_OVER_ERR_INT_EN BIT(19) 763*8e93258fSBjoern A. Zeeb #define B_AX_CT_ADDR_INFO_LEN_MISS_ERR_INT_EN BIT(17) 764*8e93258fSBjoern A. Zeeb #define B_AX_CT_WD_LEN_OVER_ERR_INT_EN BIT(16) 765*8e93258fSBjoern A. Zeeb #define B_AX_CT_F2P_SEQ_ERR_INT_EN BIT(15) 766*8e93258fSBjoern A. Zeeb #define B_AX_CT_F2P_QSEL_ERR_INT_EN BIT(14) 767*8e93258fSBjoern A. Zeeb #define B_AX_CT_PLD_CMD_UNDERFLOW_ERR_INT_EN BIT(13) 768*8e93258fSBjoern A. Zeeb #define B_AX_CT_PLD_CMD_OVERFLOW_ERR_INT_EN BIT(12) 769*8e93258fSBjoern A. Zeeb #define B_AX_CT_PRE_SUB_ERR_INT_EN BIT(11) 770*8e93258fSBjoern A. Zeeb #define B_AX_CT_WD_CHKSUM_ERR_INT_EN BIT(10) 771*8e93258fSBjoern A. Zeeb #define B_AX_CT_CHANNEL_DMA_ERR_INT_EN BIT(9) 772*8e93258fSBjoern A. Zeeb #define B_AX_CT_OFFSET_UNMATCH_ERR_INT_EN BIT(8) 773*8e93258fSBjoern A. Zeeb #define B_AX_CT_PAYLOAD_CHKSUM_ERR_INT_EN BIT(7) 774*8e93258fSBjoern A. Zeeb #define B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN BIT(6) 775*8e93258fSBjoern A. Zeeb #define B_AX_CT_PAYLOAD_OVER_ERR_INT_EN BIT(5) 776*8e93258fSBjoern A. Zeeb #define B_AX_CT_PERMU_FF_UNDERFLOW_ERR_INT_EN BIT(4) 777*8e93258fSBjoern A. Zeeb #define B_AX_CT_PERMU_FF_OVERFLOW_ERR_INT_EN BIT(3) 778*8e93258fSBjoern A. Zeeb #define B_AX_CT_CH_ID_ERR_INT_EN BIT(2) 779*8e93258fSBjoern A. Zeeb #define B_AX_CT_EP_CH_DIFF_ERR_INT_EN BIT(0) 780*8e93258fSBjoern A. Zeeb #define B_AX_CPU_DISP_IMR_CLR_V1 (B_AX_CT_EP_CH_DIFF_ERR_INT_EN | \ 781*8e93258fSBjoern A. Zeeb B_AX_CT_CH_ID_ERR_INT_EN | \ 782*8e93258fSBjoern A. Zeeb B_AX_CT_PERMU_FF_OVERFLOW_ERR_INT_EN | \ 783*8e93258fSBjoern A. Zeeb B_AX_CT_PERMU_FF_UNDERFLOW_ERR_INT_EN | \ 784*8e93258fSBjoern A. Zeeb B_AX_CT_PAYLOAD_OVER_ERR_INT_EN | \ 785*8e93258fSBjoern A. Zeeb B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN | \ 786*8e93258fSBjoern A. Zeeb B_AX_CT_PAYLOAD_CHKSUM_ERR_INT_EN | \ 787*8e93258fSBjoern A. Zeeb B_AX_CT_OFFSET_UNMATCH_ERR_INT_EN | \ 788*8e93258fSBjoern A. Zeeb B_AX_CT_CHANNEL_DMA_ERR_INT_EN | \ 789*8e93258fSBjoern A. Zeeb B_AX_CT_WD_CHKSUM_ERR_INT_EN | \ 790*8e93258fSBjoern A. Zeeb B_AX_CT_PRE_SUB_ERR_INT_EN | \ 791*8e93258fSBjoern A. Zeeb B_AX_CT_PLD_CMD_OVERFLOW_ERR_INT_EN | \ 792*8e93258fSBjoern A. Zeeb B_AX_CT_PLD_CMD_UNDERFLOW_ERR_INT_EN | \ 793*8e93258fSBjoern A. Zeeb B_AX_CT_F2P_QSEL_ERR_INT_EN | \ 794*8e93258fSBjoern A. Zeeb B_AX_CT_F2P_SEQ_ERR_INT_EN | \ 795*8e93258fSBjoern A. Zeeb B_AX_CT_WD_LEN_OVER_ERR_INT_EN | \ 796*8e93258fSBjoern A. Zeeb B_AX_CT_ADDR_INFO_LEN_MISS_ERR_INT_EN | \ 797*8e93258fSBjoern A. Zeeb B_AX_REUSE_FIFO_A_OVER_ERR_INT_EN | \ 798*8e93258fSBjoern A. Zeeb B_AX_REUSE_FIFO_A_UNDER_ERR_INT_EN | \ 799*8e93258fSBjoern A. Zeeb B_AX_REUSE_FIFO_B_OVER_ERR_INT_EN | \ 800*8e93258fSBjoern A. Zeeb B_AX_REUSE_FIFO_B_UNDER_ERR_INT_EN | \ 801*8e93258fSBjoern A. Zeeb B_AX_CR_SHIFT_EN_ERR_INT_EN | \ 802*8e93258fSBjoern A. Zeeb B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN | \ 803*8e93258fSBjoern A. Zeeb B_AX_CR_DMA_PROCESS_ERR_INT_EN | \ 804*8e93258fSBjoern A. Zeeb B_AX_CR_SHIFT_DMA_CFG_ERR_INT_EN | \ 805*8e93258fSBjoern A. Zeeb B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN | \ 806*8e93258fSBjoern A. Zeeb B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN | \ 807*8e93258fSBjoern A. Zeeb B_AX_CR_PLD_LEN_ERR_INT_EN) 808*8e93258fSBjoern A. Zeeb #define B_AX_CPU_DISP_IMR_SET_V1 (B_AX_CT_PAYLOAD_OVER_ERR_INT_EN | \ 809*8e93258fSBjoern A. Zeeb B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN | \ 810*8e93258fSBjoern A. Zeeb B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN | \ 811*8e93258fSBjoern A. Zeeb B_AX_CR_DMA_PROCESS_ERR_INT_EN | \ 812*8e93258fSBjoern A. Zeeb B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN | \ 813*8e93258fSBjoern A. Zeeb B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN) 814*8e93258fSBjoern A. Zeeb 815*8e93258fSBjoern A. Zeeb #define R_AX_OTHER_DISPATCHER_ERR_IMR 0x8858 816*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_STF_WROQT_UNDERFLOW_INT_EN BIT(29) 817*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_STF_WROQT_OVERFLOW_INT_EN BIT(28) 818*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_STF_WRFF_UNDERFLOW_INT_EN BIT(27) 819*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_STF_WRFF_OVERFLOW_INT_EN BIT(26) 820*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_STF_CMD_UNDERFLOW_INT_EN BIT(25) 821*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_STF_CMD_OVERFLOW_INT_EN BIT(24) 822*8e93258fSBjoern A. Zeeb #define B_AX_HOST_ADDR_INFO_LEN_ZERO_ERR_INT_EN BIT(17) 823*8e93258fSBjoern A. Zeeb #define B_AX_CPU_ADDR_INFO_LEN_ZERO_ERR_INT_EN BIT(16) 824*8e93258fSBjoern A. Zeeb #define B_AX_PLE_OUTPUT_ERR_INT_EN BIT(12) 825*8e93258fSBjoern A. Zeeb #define B_AX_PLE_RESP_ERR_INT_EN BIT(11) 826*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BURST_NUM_ERR_INT_EN BIT(10) 827*8e93258fSBjoern A. Zeeb #define B_AX_PLE_NULL_PKT_ERR_INT_EN BIT(9) 828*8e93258fSBjoern A. Zeeb #define B_AX_PLE_FLOW_CTRL_ERR_INT_EN BIT(8) 829*8e93258fSBjoern A. Zeeb #define B_AX_WDE_OUTPUT_ERR_INT_EN BIT(4) 830*8e93258fSBjoern A. Zeeb #define B_AX_WDE_RESP_ERR_INT_EN BIT(3) 831*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BURST_NUM_ERR_INT_EN BIT(2) 832*8e93258fSBjoern A. Zeeb #define B_AX_WDE_NULL_PKT_ERR_INT_EN BIT(1) 833*8e93258fSBjoern A. Zeeb #define B_AX_WDE_FLOW_CTRL_ERR_INT_EN BIT(0) 834*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_DISP_IMR_CLR (B_AX_OTHER_STF_WROQT_UNDERFLOW_INT_EN | \ 835*8e93258fSBjoern A. Zeeb B_AX_OTHER_STF_WROQT_OVERFLOW_INT_EN | \ 836*8e93258fSBjoern A. Zeeb B_AX_OTHER_STF_WRFF_UNDERFLOW_INT_EN | \ 837*8e93258fSBjoern A. Zeeb B_AX_OTHER_STF_WRFF_OVERFLOW_INT_EN | \ 838*8e93258fSBjoern A. Zeeb B_AX_OTHER_STF_CMD_UNDERFLOW_INT_EN | \ 839*8e93258fSBjoern A. Zeeb B_AX_OTHER_STF_CMD_OVERFLOW_INT_EN | \ 840*8e93258fSBjoern A. Zeeb B_AX_HOST_ADDR_INFO_LEN_ZERO_ERR_INT_EN | \ 841*8e93258fSBjoern A. Zeeb B_AX_CPU_ADDR_INFO_LEN_ZERO_ERR_INT_EN | \ 842*8e93258fSBjoern A. Zeeb B_AX_PLE_OUTPUT_ERR_INT_EN | \ 843*8e93258fSBjoern A. Zeeb B_AX_PLE_RESP_ERR_INT_EN | \ 844*8e93258fSBjoern A. Zeeb B_AX_PLE_BURST_NUM_ERR_INT_EN | \ 845*8e93258fSBjoern A. Zeeb B_AX_PLE_NULL_PKT_ERR_INT_EN | \ 846*8e93258fSBjoern A. Zeeb B_AX_PLE_FLOW_CTRL_ERR_INT_EN | \ 847*8e93258fSBjoern A. Zeeb B_AX_WDE_OUTPUT_ERR_INT_EN | \ 848*8e93258fSBjoern A. Zeeb B_AX_WDE_RESP_ERR_INT_EN | \ 849*8e93258fSBjoern A. Zeeb B_AX_WDE_BURST_NUM_ERR_INT_EN | \ 850*8e93258fSBjoern A. Zeeb B_AX_WDE_NULL_PKT_ERR_INT_EN | \ 851*8e93258fSBjoern A. Zeeb B_AX_WDE_FLOW_CTRL_ERR_INT_EN) 852*8e93258fSBjoern A. Zeeb 853*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_SIZE_ERR_INT_EN BIT(31) 854*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_EN_ERR_INT_EN BIT(30) 855*8e93258fSBjoern A. Zeeb #define B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN BIT(29) 856*8e93258fSBjoern A. Zeeb #define B_AX_STF_OQT_OVERFLOW_ERR_INT_EN BIT(28) 857*8e93258fSBjoern A. Zeeb #define B_AX_STF_WRFF_UNDERFLOW_ERR_INT_EN BIT(27) 858*8e93258fSBjoern A. Zeeb #define B_AX_STF_WRFF_OVERFLOW_ERR_INT_EN BIT(26) 859*8e93258fSBjoern A. Zeeb #define B_AX_STF_CMD_UNDERFLOW_ERR_INT_EN BIT(25) 860*8e93258fSBjoern A. Zeeb #define B_AX_STF_CMD_OVERFLOW_ERR_INT_EN BIT(24) 861*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_SIZE_ZERO_ERR_INT_EN BIT(23) 862*8e93258fSBjoern A. Zeeb #define B_AX_REUSE_PKT_CNT_ERR_INT_EN BIT(22) 863*8e93258fSBjoern A. Zeeb #define B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN BIT(21) 864*8e93258fSBjoern A. Zeeb #define B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN BIT(20) 865*8e93258fSBjoern A. Zeeb #define B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN BIT(19) 866*8e93258fSBjoern A. Zeeb #define B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN BIT(18) 867*8e93258fSBjoern A. Zeeb #define B_AX_CDT_ADDR_INFO_LEN_ERR_INT_EN BIT(17) 868*8e93258fSBjoern A. Zeeb #define B_AX_HDT_ADDR_INFO_LEN_ERR_INT_EN BIT(16) 869*8e93258fSBjoern A. Zeeb #define B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN BIT(15) 870*8e93258fSBjoern A. Zeeb #define B_AX_CDR_RX_TIMEOUT_ERR_INT_EN BIT(14) 871*8e93258fSBjoern A. Zeeb #define B_AX_PLE_RESPOSE_ERR_INT_EN BIT(11) 872*8e93258fSBjoern A. Zeeb #define B_AX_HDR_DMA_TIMEOUT_ERR_INT_EN BIT(7) 873*8e93258fSBjoern A. Zeeb #define B_AX_HDR_RX_TIMEOUT_ERR_INT_EN BIT(6) 874*8e93258fSBjoern A. Zeeb #define B_AX_WDE_RESPONSE_ERR_INT_EN BIT(3) 875*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_DISP_IMR_CLR_V1 (B_AX_CT_EP_CH_DIFF_ERR_INT_EN | \ 876*8e93258fSBjoern A. Zeeb B_AX_WDE_FLOW_CTRL_ERR_INT_EN | \ 877*8e93258fSBjoern A. Zeeb B_AX_WDE_NULL_PKT_ERR_INT_EN | \ 878*8e93258fSBjoern A. Zeeb B_AX_WDE_BURST_NUM_ERR_INT_EN | \ 879*8e93258fSBjoern A. Zeeb B_AX_WDE_RESPONSE_ERR_INT_EN | \ 880*8e93258fSBjoern A. Zeeb B_AX_WDE_OUTPUT_ERR_INT_EN | \ 881*8e93258fSBjoern A. Zeeb B_AX_HDR_RX_TIMEOUT_ERR_INT_EN | \ 882*8e93258fSBjoern A. Zeeb B_AX_HDR_DMA_TIMEOUT_ERR_INT_EN | \ 883*8e93258fSBjoern A. Zeeb B_AX_PLE_FLOW_CTRL_ERR_INT_EN | \ 884*8e93258fSBjoern A. Zeeb B_AX_PLE_NULL_PKT_ERR_INT_EN | \ 885*8e93258fSBjoern A. Zeeb B_AX_PLE_BURST_NUM_ERR_INT_EN | \ 886*8e93258fSBjoern A. Zeeb B_AX_PLE_RESPOSE_ERR_INT_EN | \ 887*8e93258fSBjoern A. Zeeb B_AX_PLE_OUTPUT_ERR_INT_EN | \ 888*8e93258fSBjoern A. Zeeb B_AX_CDR_RX_TIMEOUT_ERR_INT_EN | \ 889*8e93258fSBjoern A. Zeeb B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN | \ 890*8e93258fSBjoern A. Zeeb B_AX_HDT_ADDR_INFO_LEN_ERR_INT_EN | \ 891*8e93258fSBjoern A. Zeeb B_AX_CDT_ADDR_INFO_LEN_ERR_INT_EN | \ 892*8e93258fSBjoern A. Zeeb B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN | \ 893*8e93258fSBjoern A. Zeeb B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN | \ 894*8e93258fSBjoern A. Zeeb B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN | \ 895*8e93258fSBjoern A. Zeeb B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN | \ 896*8e93258fSBjoern A. Zeeb B_AX_REUSE_PKT_CNT_ERR_INT_EN | \ 897*8e93258fSBjoern A. Zeeb B_AX_REUSE_SIZE_ZERO_ERR_INT_EN | \ 898*8e93258fSBjoern A. Zeeb B_AX_STF_CMD_OVERFLOW_ERR_INT_EN | \ 899*8e93258fSBjoern A. Zeeb B_AX_STF_CMD_UNDERFLOW_ERR_INT_EN | \ 900*8e93258fSBjoern A. Zeeb B_AX_STF_WRFF_OVERFLOW_ERR_INT_EN | \ 901*8e93258fSBjoern A. Zeeb B_AX_STF_WRFF_UNDERFLOW_ERR_INT_EN | \ 902*8e93258fSBjoern A. Zeeb B_AX_STF_OQT_OVERFLOW_ERR_INT_EN | \ 903*8e93258fSBjoern A. Zeeb B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN | \ 904*8e93258fSBjoern A. Zeeb B_AX_REUSE_EN_ERR_INT_EN | \ 905*8e93258fSBjoern A. Zeeb B_AX_REUSE_SIZE_ERR_INT_EN) 906*8e93258fSBjoern A. Zeeb #define B_AX_OTHER_DISP_IMR_SET_V1 (B_AX_CDR_RX_TIMEOUT_ERR_INT_EN | \ 907*8e93258fSBjoern A. Zeeb B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN | \ 908*8e93258fSBjoern A. Zeeb B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN | \ 909*8e93258fSBjoern A. Zeeb B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN | \ 910*8e93258fSBjoern A. Zeeb B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN | \ 911*8e93258fSBjoern A. Zeeb B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN | \ 912*8e93258fSBjoern A. Zeeb B_AX_STF_OQT_OVERFLOW_ERR_INT_EN | \ 913*8e93258fSBjoern A. Zeeb B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN) 914*8e93258fSBjoern A. Zeeb 915*8e93258fSBjoern A. Zeeb #define R_AX_HCI_FC_CTRL 0x8A00 916*8e93258fSBjoern A. Zeeb #define B_AX_HCI_FC_CH12_FULL_COND_MASK GENMASK(11, 10) 917*8e93258fSBjoern A. Zeeb #define B_AX_HCI_FC_WP_CH811_FULL_COND_MASK GENMASK(9, 8) 918*8e93258fSBjoern A. Zeeb #define B_AX_HCI_FC_WP_CH07_FULL_COND_MASK GENMASK(7, 6) 919*8e93258fSBjoern A. Zeeb #define B_AX_HCI_FC_WD_FULL_COND_MASK GENMASK(5, 4) 920*8e93258fSBjoern A. Zeeb #define B_AX_HCI_FC_CH12_EN BIT(3) 921*8e93258fSBjoern A. Zeeb #define B_AX_HCI_FC_MODE_MASK GENMASK(2, 1) 922*8e93258fSBjoern A. Zeeb #define B_AX_HCI_FC_EN BIT(0) 923*8e93258fSBjoern A. Zeeb 924*8e93258fSBjoern A. Zeeb #define R_AX_CH_PAGE_CTRL 0x8A04 925*8e93258fSBjoern A. Zeeb #define B_AX_PREC_PAGE_CH12_MASK GENMASK(24, 16) 926*8e93258fSBjoern A. Zeeb #define B_AX_PREC_PAGE_CH011_MASK GENMASK(8, 0) 927*8e93258fSBjoern A. Zeeb 928*8e93258fSBjoern A. Zeeb #define B_AX_MAX_PG_MASK GENMASK(28, 16) 929*8e93258fSBjoern A. Zeeb #define B_AX_MIN_PG_MASK GENMASK(12, 0) 930*8e93258fSBjoern A. Zeeb #define B_AX_GRP BIT(31) 931*8e93258fSBjoern A. Zeeb #define R_AX_ACH0_PAGE_CTRL 0x8A10 932*8e93258fSBjoern A. Zeeb #define R_AX_ACH1_PAGE_CTRL 0x8A14 933*8e93258fSBjoern A. Zeeb #define R_AX_ACH2_PAGE_CTRL 0x8A18 934*8e93258fSBjoern A. Zeeb #define R_AX_ACH3_PAGE_CTRL 0x8A1C 935*8e93258fSBjoern A. Zeeb #define R_AX_ACH4_PAGE_CTRL 0x8A20 936*8e93258fSBjoern A. Zeeb #define R_AX_ACH5_PAGE_CTRL 0x8A24 937*8e93258fSBjoern A. Zeeb #define R_AX_ACH6_PAGE_CTRL 0x8A28 938*8e93258fSBjoern A. Zeeb #define R_AX_ACH7_PAGE_CTRL 0x8A2C 939*8e93258fSBjoern A. Zeeb #define R_AX_CH8_PAGE_CTRL 0x8A30 940*8e93258fSBjoern A. Zeeb #define R_AX_CH9_PAGE_CTRL 0x8A34 941*8e93258fSBjoern A. Zeeb #define R_AX_CH10_PAGE_CTRL 0x8A38 942*8e93258fSBjoern A. Zeeb #define R_AX_CH11_PAGE_CTRL 0x8A3C 943*8e93258fSBjoern A. Zeeb 944*8e93258fSBjoern A. Zeeb #define B_AX_AVAL_PG_MASK GENMASK(27, 16) 945*8e93258fSBjoern A. Zeeb #define B_AX_USE_PG_MASK GENMASK(12, 0) 946*8e93258fSBjoern A. Zeeb #define R_AX_ACH0_PAGE_INFO 0x8A50 947*8e93258fSBjoern A. Zeeb #define R_AX_ACH1_PAGE_INFO 0x8A54 948*8e93258fSBjoern A. Zeeb #define R_AX_ACH2_PAGE_INFO 0x8A58 949*8e93258fSBjoern A. Zeeb #define R_AX_ACH3_PAGE_INFO 0x8A5C 950*8e93258fSBjoern A. Zeeb #define R_AX_ACH4_PAGE_INFO 0x8A60 951*8e93258fSBjoern A. Zeeb #define R_AX_ACH5_PAGE_INFO 0x8A64 952*8e93258fSBjoern A. Zeeb #define R_AX_ACH6_PAGE_INFO 0x8A68 953*8e93258fSBjoern A. Zeeb #define R_AX_ACH7_PAGE_INFO 0x8A6C 954*8e93258fSBjoern A. Zeeb #define R_AX_CH8_PAGE_INFO 0x8A70 955*8e93258fSBjoern A. Zeeb #define R_AX_CH9_PAGE_INFO 0x8A74 956*8e93258fSBjoern A. Zeeb #define R_AX_CH10_PAGE_INFO 0x8A78 957*8e93258fSBjoern A. Zeeb #define R_AX_CH11_PAGE_INFO 0x8A7C 958*8e93258fSBjoern A. Zeeb #define R_AX_CH12_PAGE_INFO 0x8A80 959*8e93258fSBjoern A. Zeeb 960*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_INFO3 0x8A8C 961*8e93258fSBjoern A. Zeeb #define B_AX_G1_AVAL_PG_MASK GENMASK(28, 16) 962*8e93258fSBjoern A. Zeeb #define B_AX_G0_AVAL_PG_MASK GENMASK(12, 0) 963*8e93258fSBjoern A. Zeeb 964*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_CTRL1 0x8A90 965*8e93258fSBjoern A. Zeeb #define B_AX_PUBPG_G1_MASK GENMASK(28, 16) 966*8e93258fSBjoern A. Zeeb #define B_AX_PUBPG_G0_MASK GENMASK(12, 0) 967*8e93258fSBjoern A. Zeeb 968*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_CTRL2 0x8A94 969*8e93258fSBjoern A. Zeeb #define B_AX_PUBPG_ALL_MASK GENMASK(12, 0) 970*8e93258fSBjoern A. Zeeb 971*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_INFO1 0x8A98 972*8e93258fSBjoern A. Zeeb #define B_AX_G1_USE_PG_MASK GENMASK(28, 16) 973*8e93258fSBjoern A. Zeeb #define B_AX_G0_USE_PG_MASK GENMASK(12, 0) 974*8e93258fSBjoern A. Zeeb 975*8e93258fSBjoern A. Zeeb #define R_AX_PUB_PAGE_INFO2 0x8A9C 976*8e93258fSBjoern A. Zeeb #define B_AX_PUB_AVAL_PG_MASK GENMASK(12, 0) 977*8e93258fSBjoern A. Zeeb 978*8e93258fSBjoern A. Zeeb #define R_AX_WP_PAGE_CTRL1 0x8AA0 979*8e93258fSBjoern A. Zeeb #define B_AX_PREC_PAGE_WP_CH811_MASK GENMASK(24, 16) 980*8e93258fSBjoern A. Zeeb #define B_AX_PREC_PAGE_WP_CH07_MASK GENMASK(8, 0) 981*8e93258fSBjoern A. Zeeb 982*8e93258fSBjoern A. Zeeb #define R_AX_WP_PAGE_CTRL2 0x8AA4 983*8e93258fSBjoern A. Zeeb #define B_AX_WP_THRD_MASK GENMASK(12, 0) 984*8e93258fSBjoern A. Zeeb 985*8e93258fSBjoern A. Zeeb #define R_AX_WP_PAGE_INFO1 0x8AA8 986*8e93258fSBjoern A. Zeeb #define B_AX_WP_AVAL_PG_MASK GENMASK(28, 16) 987*8e93258fSBjoern A. Zeeb 988*8e93258fSBjoern A. Zeeb #define R_AX_WDE_PKTBUF_CFG 0x8C08 989*8e93258fSBjoern A. Zeeb #define B_AX_WDE_START_BOUND_MASK GENMASK(13, 8) 990*8e93258fSBjoern A. Zeeb #define B_AX_WDE_PAGE_SEL_MASK GENMASK(1, 0) 991*8e93258fSBjoern A. Zeeb #define B_AX_WDE_FREE_PAGE_NUM_MASK GENMASK(28, 16) 992*8e93258fSBjoern A. Zeeb 993*8e93258fSBjoern A. Zeeb #define R_AX_WDE_ERRFLAG_MSG 0x8C30 994*8e93258fSBjoern A. Zeeb #define B_AX_WDE_ERR_FLAG_MSG_MASK GENMASK(31, 0) 995*8e93258fSBjoern A. Zeeb 996*8e93258fSBjoern A. Zeeb #define R_AX_WDE_ERR_FLAG_CFG 0x8C34 997*8e93258fSBjoern A. Zeeb 998*8e93258fSBjoern A. Zeeb #define R_AX_WDE_ERR_IMR 0x8C38 999*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_RRDY_ERR_INT_EN BIT(27) 1000*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN BIT(26) 1001*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN BIT(25) 1002*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_ARBT_ERR_INT_EN BIT(24) 1003*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN BIT(19) 1004*8e93258fSBjoern A. Zeeb #define B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN BIT(18) 1005*8e93258fSBjoern A. Zeeb #define B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN BIT(17) 1006*8e93258fSBjoern A. Zeeb #define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16) 1007*8e93258fSBjoern A. Zeeb #define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15) 1008*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN BIT(14) 1009*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN BIT(13) 1010*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN BIT(12) 1011*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN BIT(7) 1012*8e93258fSBjoern A. Zeeb #define B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN BIT(6) 1013*8e93258fSBjoern A. Zeeb #define B_AX_WDE_GETNPG_STRPG_ERR_INT_EN BIT(5) 1014*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN BIT(4) 1015*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN BIT(3) 1016*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN BIT(2) 1017*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN BIT(1) 1018*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN BIT(0) 1019*8e93258fSBjoern A. Zeeb #define B_AX_WDE_IMR_CLR (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \ 1020*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN | \ 1021*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \ 1022*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN | \ 1023*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \ 1024*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_STRPG_ERR_INT_EN | \ 1025*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN | \ 1026*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN | \ 1027*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \ 1028*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \ 1029*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \ 1030*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1031*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1032*8e93258fSBjoern A. Zeeb B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \ 1033*8e93258fSBjoern A. Zeeb B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \ 1034*8e93258fSBjoern A. Zeeb B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \ 1035*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \ 1036*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \ 1037*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN) 1038*8e93258fSBjoern A. Zeeb #define B_AX_WDE_IMR_SET (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \ 1039*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN | \ 1040*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \ 1041*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN | \ 1042*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \ 1043*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_STRPG_ERR_INT_EN | \ 1044*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN | \ 1045*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN | \ 1046*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \ 1047*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \ 1048*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \ 1049*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1050*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1051*8e93258fSBjoern A. Zeeb B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \ 1052*8e93258fSBjoern A. Zeeb B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \ 1053*8e93258fSBjoern A. Zeeb B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \ 1054*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \ 1055*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \ 1056*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN) 1057*8e93258fSBjoern A. Zeeb 1058*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN BIT(29) 1059*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN BIT(28) 1060*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_RRDY_ERR_INT_EN BIT(27) 1061*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN BIT(26) 1062*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN BIT(25) 1063*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_ARBT_ERR_INT_EN BIT(24) 1064*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN BIT(19) 1065*8e93258fSBjoern A. Zeeb #define B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN BIT(18) 1066*8e93258fSBjoern A. Zeeb #define B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN BIT(17) 1067*8e93258fSBjoern A. Zeeb #define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16) 1068*8e93258fSBjoern A. Zeeb #define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15) 1069*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN BIT(14) 1070*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 BIT(9) 1071*8e93258fSBjoern A. Zeeb #define B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 BIT(8) 1072*8e93258fSBjoern A. Zeeb #define B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 BIT(7) 1073*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 BIT(6) 1074*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 BIT(5) 1075*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 BIT(4) 1076*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 BIT(3) 1077*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_SIZELMT_INT_EN BIT(2) 1078*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_SIZE0_INT_EN BIT(1) 1079*8e93258fSBjoern A. Zeeb #define B_AX_WDE_IMR_CLR_V1 (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \ 1080*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SIZE0_INT_EN | \ 1081*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SIZELMT_INT_EN | \ 1082*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \ 1083*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \ 1084*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 | \ 1085*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \ 1086*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 | \ 1087*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 | \ 1088*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \ 1089*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \ 1090*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \ 1091*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \ 1092*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1093*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1094*8e93258fSBjoern A. Zeeb B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \ 1095*8e93258fSBjoern A. Zeeb B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \ 1096*8e93258fSBjoern A. Zeeb B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \ 1097*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \ 1098*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \ 1099*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN | \ 1100*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_RRDY_ERR_INT_EN | \ 1101*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN | \ 1102*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN) 1103*8e93258fSBjoern A. Zeeb #define B_AX_WDE_IMR_SET_V1 (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \ 1104*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SIZE0_INT_EN | \ 1105*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SIZELMT_INT_EN | \ 1106*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \ 1107*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \ 1108*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 | \ 1109*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \ 1110*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 | \ 1111*8e93258fSBjoern A. Zeeb B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 | \ 1112*8e93258fSBjoern A. Zeeb B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \ 1113*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \ 1114*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \ 1115*8e93258fSBjoern A. Zeeb B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \ 1116*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1117*8e93258fSBjoern A. Zeeb B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1118*8e93258fSBjoern A. Zeeb B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \ 1119*8e93258fSBjoern A. Zeeb B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \ 1120*8e93258fSBjoern A. Zeeb B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \ 1121*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \ 1122*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \ 1123*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN | \ 1124*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_RRDY_ERR_INT_EN | \ 1125*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN | \ 1126*8e93258fSBjoern A. Zeeb B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN) 1127*8e93258fSBjoern A. Zeeb 1128*8e93258fSBjoern A. Zeeb #define R_AX_WDE_ERR_ISR 0x8C3C 1129*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_RRDY_ERR BIT(27) 1130*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_FRZTO_ERR BIT(26) 1131*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_NULLPG_ERR BIT(25) 1132*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DATCHN_ARBT_ERR BIT(24) 1133*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUEMGN_FRZTO_ERR BIT(19) 1134*8e93258fSBjoern A. Zeeb #define B_AX_WDE_NXTPKTLL_AD_ERR BIT(18) 1135*8e93258fSBjoern A. Zeeb #define B_AX_WDE_PREPKTLLT_AD_ERR BIT(17) 1136*8e93258fSBjoern A. Zeeb #define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR BIT(16) 1137*8e93258fSBjoern A. Zeeb #define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR BIT(15) 1138*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUE_SRCQUEID_ERR BIT(14) 1139*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUE_DSTQUEID_ERR BIT(13) 1140*8e93258fSBjoern A. Zeeb #define B_AX_WDE_QUE_CMDTYPE_ERR BIT(12) 1141*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFMGN_FRZTO_ERR BIT(7) 1142*8e93258fSBjoern A. Zeeb #define B_AX_WDE_GETNPG_PGOFST_ERR BIT(6) 1143*8e93258fSBjoern A. Zeeb #define B_AX_WDE_GETNPG_STRPG_ERR BIT(5) 1144*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR BIT(4) 1145*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFRTN_SIZE_ERR BIT(3) 1146*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR BIT(2) 1147*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_UNAVAL_ERR BIT(1) 1148*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUFREQ_QTAID_ERR BIT(0) 1149*8e93258fSBjoern A. Zeeb 1150*8e93258fSBjoern A. Zeeb #define B_AX_WDE_MAX_SIZE_MASK GENMASK(27, 16) 1151*8e93258fSBjoern A. Zeeb #define B_AX_WDE_MIN_SIZE_MASK GENMASK(11, 0) 1152*8e93258fSBjoern A. Zeeb #define R_AX_WDE_QTA0_CFG 0x8C40 1153*8e93258fSBjoern A. Zeeb #define R_AX_WDE_QTA1_CFG 0x8C44 1154*8e93258fSBjoern A. Zeeb #define R_AX_WDE_QTA2_CFG 0x8C48 1155*8e93258fSBjoern A. Zeeb #define R_AX_WDE_QTA3_CFG 0x8C4C 1156*8e93258fSBjoern A. Zeeb #define R_AX_WDE_QTA4_CFG 0x8C50 1157*8e93258fSBjoern A. Zeeb 1158*8e93258fSBjoern A. Zeeb #define B_AX_DLE_PUB_PGNUM GENMASK(12, 0) 1159*8e93258fSBjoern A. Zeeb #define B_AX_DLE_FREE_HEADPG GENMASK(11, 0) 1160*8e93258fSBjoern A. Zeeb #define B_AX_DLE_FREE_TAILPG GENMASK(27, 16) 1161*8e93258fSBjoern A. Zeeb #define B_AX_DLE_USE_PGNUM GENMASK(27, 16) 1162*8e93258fSBjoern A. Zeeb #define B_AX_DLE_RSV_PGNUM GENMASK(11, 0) 1163*8e93258fSBjoern A. Zeeb #define B_AX_DLE_QEMPTY_GRP GENMASK(31, 0) 1164*8e93258fSBjoern A. Zeeb 1165*8e93258fSBjoern A. Zeeb #define R_AX_WDE_INI_STATUS 0x8D00 1166*8e93258fSBjoern A. Zeeb #define B_AX_WDE_Q_MGN_INI_RDY BIT(1) 1167*8e93258fSBjoern A. Zeeb #define B_AX_WDE_BUF_MGN_INI_RDY BIT(0) 1168*8e93258fSBjoern A. Zeeb #define WDE_MGN_INI_RDY (B_AX_WDE_Q_MGN_INI_RDY | B_AX_WDE_BUF_MGN_INI_RDY) 1169*8e93258fSBjoern A. Zeeb #define R_AX_WDE_DBG_FUN_INTF_CTL 0x8D10 1170*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DFI_ACTIVE BIT(31) 1171*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DFI_TRGSEL_MASK GENMASK(19, 16) 1172*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DFI_ADDR_MASK GENMASK(15, 0) 1173*8e93258fSBjoern A. Zeeb #define R_AX_WDE_DBG_FUN_INTF_DATA 0x8D14 1174*8e93258fSBjoern A. Zeeb #define B_AX_WDE_DFI_DATA_MASK GENMASK(31, 0) 1175*8e93258fSBjoern A. Zeeb 1176*8e93258fSBjoern A. Zeeb #define R_AX_PLE_PKTBUF_CFG 0x9008 1177*8e93258fSBjoern A. Zeeb #define B_AX_PLE_START_BOUND_MASK GENMASK(13, 8) 1178*8e93258fSBjoern A. Zeeb #define B_AX_PLE_PAGE_SEL_MASK GENMASK(1, 0) 1179*8e93258fSBjoern A. Zeeb #define B_AX_PLE_FREE_PAGE_NUM_MASK GENMASK(28, 16) 1180*8e93258fSBjoern A. Zeeb #define R_AX_PLE_ERR_FLAG_CFG 0x9034 1181*8e93258fSBjoern A. Zeeb 1182*8e93258fSBjoern A. Zeeb #define R_AX_PLE_ERR_IMR 0x9038 1183*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DATCHN_RRDY_ERR_INT_EN BIT(27) 1184*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN BIT(26) 1185*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN BIT(25) 1186*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DATCHN_ARBT_ERR_INT_EN BIT(24) 1187*8e93258fSBjoern A. Zeeb #define B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN BIT(19) 1188*8e93258fSBjoern A. Zeeb #define B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN BIT(18) 1189*8e93258fSBjoern A. Zeeb #define B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN BIT(17) 1190*8e93258fSBjoern A. Zeeb #define B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16) 1191*8e93258fSBjoern A. Zeeb #define B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15) 1192*8e93258fSBjoern A. Zeeb #define B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN BIT(14) 1193*8e93258fSBjoern A. Zeeb #define B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN BIT(13) 1194*8e93258fSBjoern A. Zeeb #define B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN BIT(12) 1195*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN BIT(7) 1196*8e93258fSBjoern A. Zeeb #define B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN BIT(6) 1197*8e93258fSBjoern A. Zeeb #define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN BIT(5) 1198*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN BIT(4) 1199*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN BIT(3) 1200*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN BIT(2) 1201*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN BIT(1) 1202*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN BIT(0) 1203*8e93258fSBjoern A. Zeeb #define B_AX_PLE_IMR_CLR (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \ 1204*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN | \ 1205*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \ 1206*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN | \ 1207*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \ 1208*8e93258fSBjoern A. Zeeb B_AX_PLE_GETNPG_STRPG_ERR_INT_EN | \ 1209*8e93258fSBjoern A. Zeeb B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN | \ 1210*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN | \ 1211*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \ 1212*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \ 1213*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \ 1214*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1215*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1216*8e93258fSBjoern A. Zeeb B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \ 1217*8e93258fSBjoern A. Zeeb B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \ 1218*8e93258fSBjoern A. Zeeb B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \ 1219*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \ 1220*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \ 1221*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN) 1222*8e93258fSBjoern A. Zeeb #define B_AX_PLE_IMR_SET (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \ 1223*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN | \ 1224*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \ 1225*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN | \ 1226*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \ 1227*8e93258fSBjoern A. Zeeb B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN | \ 1228*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN | \ 1229*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \ 1230*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \ 1231*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \ 1232*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1233*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1234*8e93258fSBjoern A. Zeeb B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \ 1235*8e93258fSBjoern A. Zeeb B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \ 1236*8e93258fSBjoern A. Zeeb B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \ 1237*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \ 1238*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \ 1239*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN) 1240*8e93258fSBjoern A. Zeeb 1241*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN BIT(29) 1242*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN BIT(28) 1243*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 BIT(9) 1244*8e93258fSBjoern A. Zeeb #define B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 BIT(8) 1245*8e93258fSBjoern A. Zeeb #define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 BIT(7) 1246*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 BIT(6) 1247*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 BIT(5) 1248*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 BIT(4) 1249*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 BIT(3) 1250*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFREQ_SIZELMT_INT_EN BIT(2) 1251*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUFREQ_SIZE0_INT_EN BIT(1) 1252*8e93258fSBjoern A. Zeeb #define B_AX_PLE_IMR_CLR_V1 (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \ 1253*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SIZE0_INT_EN | \ 1254*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SIZELMT_INT_EN | \ 1255*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \ 1256*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \ 1257*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 | \ 1258*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \ 1259*8e93258fSBjoern A. Zeeb B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 | \ 1260*8e93258fSBjoern A. Zeeb B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 | \ 1261*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \ 1262*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \ 1263*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \ 1264*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \ 1265*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1266*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1267*8e93258fSBjoern A. Zeeb B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \ 1268*8e93258fSBjoern A. Zeeb B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \ 1269*8e93258fSBjoern A. Zeeb B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \ 1270*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \ 1271*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \ 1272*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN | \ 1273*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_RRDY_ERR_INT_EN | \ 1274*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN | \ 1275*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN) 1276*8e93258fSBjoern A. Zeeb #define B_AX_PLE_IMR_SET_V1 (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \ 1277*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SIZE0_INT_EN | \ 1278*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SIZELMT_INT_EN | \ 1279*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \ 1280*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \ 1281*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 | \ 1282*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \ 1283*8e93258fSBjoern A. Zeeb B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 | \ 1284*8e93258fSBjoern A. Zeeb B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 | \ 1285*8e93258fSBjoern A. Zeeb B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \ 1286*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \ 1287*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \ 1288*8e93258fSBjoern A. Zeeb B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \ 1289*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \ 1290*8e93258fSBjoern A. Zeeb B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \ 1291*8e93258fSBjoern A. Zeeb B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \ 1292*8e93258fSBjoern A. Zeeb B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \ 1293*8e93258fSBjoern A. Zeeb B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \ 1294*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \ 1295*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \ 1296*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN | \ 1297*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_RRDY_ERR_INT_EN | \ 1298*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN | \ 1299*8e93258fSBjoern A. Zeeb B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN) 1300*8e93258fSBjoern A. Zeeb 1301*8e93258fSBjoern A. Zeeb #define R_AX_PLE_ERR_FLAG_ISR 0x903C 1302*8e93258fSBjoern A. Zeeb #define B_AX_PLE_MAX_SIZE_MASK GENMASK(27, 16) 1303*8e93258fSBjoern A. Zeeb #define B_AX_PLE_MIN_SIZE_MASK GENMASK(11, 0) 1304*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA0_CFG 0x9040 1305*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA1_CFG 0x9044 1306*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA2_CFG 0x9048 1307*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA3_CFG 0x904C 1308*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA4_CFG 0x9050 1309*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA5_CFG 0x9054 1310*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA6_CFG 0x9058 1311*8e93258fSBjoern A. Zeeb #define B_AX_PLE_Q6_MAX_SIZE_MASK GENMASK(27, 16) 1312*8e93258fSBjoern A. Zeeb #define B_AX_PLE_Q6_MIN_SIZE_MASK GENMASK(11, 0) 1313*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA7_CFG 0x905C 1314*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA8_CFG 0x9060 1315*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA9_CFG 0x9064 1316*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA10_CFG 0x9068 1317*8e93258fSBjoern A. Zeeb #define R_AX_PLE_QTA11_CFG 0x906C 1318*8e93258fSBjoern A. Zeeb 1319*8e93258fSBjoern A. Zeeb #define R_AX_PLE_INI_STATUS 0x9100 1320*8e93258fSBjoern A. Zeeb #define B_AX_PLE_Q_MGN_INI_RDY BIT(1) 1321*8e93258fSBjoern A. Zeeb #define B_AX_PLE_BUF_MGN_INI_RDY BIT(0) 1322*8e93258fSBjoern A. Zeeb #define PLE_MGN_INI_RDY (B_AX_PLE_Q_MGN_INI_RDY | B_AX_PLE_BUF_MGN_INI_RDY) 1323*8e93258fSBjoern A. Zeeb #define R_AX_PLE_DBG_FUN_INTF_CTL 0x9110 1324*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DFI_ACTIVE BIT(31) 1325*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DFI_TRGSEL_MASK GENMASK(19, 16) 1326*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DFI_ADDR_MASK GENMASK(15, 0) 1327*8e93258fSBjoern A. Zeeb #define R_AX_PLE_DBG_FUN_INTF_DATA 0x9114 1328*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DFI_DATA_MASK GENMASK(31, 0) 1329*8e93258fSBjoern A. Zeeb 1330*8e93258fSBjoern A. Zeeb #define R_AX_WDRLS_CFG 0x9408 1331*8e93258fSBjoern A. Zeeb #define B_AX_RLSRPT_BUFREQ_TO_MASK GENMASK(15, 8) 1332*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_MODE_MASK GENMASK(1, 0) 1333*8e93258fSBjoern A. Zeeb 1334*8e93258fSBjoern A. Zeeb #define R_AX_RLSRPT0_CFG0 0x9410 1335*8e93258fSBjoern A. Zeeb #define B_AX_RLSRPT0_FLTR_MAP_MASK GENMASK(27, 24) 1336*8e93258fSBjoern A. Zeeb #define B_AX_RLSRPT0_PKTTYPE_MASK GENMASK(19, 16) 1337*8e93258fSBjoern A. Zeeb #define B_AX_RLSRPT0_PID_MASK GENMASK(10, 8) 1338*8e93258fSBjoern A. Zeeb #define B_AX_RLSRPT0_QID_MASK GENMASK(5, 0) 1339*8e93258fSBjoern A. Zeeb 1340*8e93258fSBjoern A. Zeeb #define R_AX_RLSRPT0_CFG1 0x9414 1341*8e93258fSBjoern A. Zeeb #define B_AX_RLSRPT0_TO_MASK GENMASK(23, 16) 1342*8e93258fSBjoern A. Zeeb #define B_AX_RLSRPT0_AGGNUM_MASK GENMASK(7, 0) 1343*8e93258fSBjoern A. Zeeb 1344*8e93258fSBjoern A. Zeeb #define R_AX_WDRLS_ERR_IMR 0x9430 1345*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN BIT(13) 1346*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN BIT(12) 1347*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN BIT(9) 1348*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN BIT(8) 1349*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN BIT(5) 1350*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN BIT(4) 1351*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN BIT(2) 1352*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN BIT(1) 1353*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN BIT(0) 1354*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_IMR_EN_CLR (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \ 1355*8e93258fSBjoern A. Zeeb B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \ 1356*8e93258fSBjoern A. Zeeb B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \ 1357*8e93258fSBjoern A. Zeeb B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN | \ 1358*8e93258fSBjoern A. Zeeb B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \ 1359*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \ 1360*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \ 1361*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \ 1362*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN) 1363*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_IMR_SET (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \ 1364*8e93258fSBjoern A. Zeeb B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \ 1365*8e93258fSBjoern A. Zeeb B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \ 1366*8e93258fSBjoern A. Zeeb B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \ 1367*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \ 1368*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \ 1369*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \ 1370*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN) 1371*8e93258fSBjoern A. Zeeb #define B_AX_WDRLS_IMR_SET_V1 (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \ 1372*8e93258fSBjoern A. Zeeb B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \ 1373*8e93258fSBjoern A. Zeeb B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \ 1374*8e93258fSBjoern A. Zeeb B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN | \ 1375*8e93258fSBjoern A. Zeeb B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \ 1376*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \ 1377*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \ 1378*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \ 1379*8e93258fSBjoern A. Zeeb B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN) 1380*8e93258fSBjoern A. Zeeb 1381*8e93258fSBjoern A. Zeeb #define R_AX_WDRLS_ERR_ISR 0x9434 1382*8e93258fSBjoern A. Zeeb 1383*8e93258fSBjoern A. Zeeb #define R_AX_BBRPT_COM_ERR_IMR 0x9608 1384*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_COM_HANG_EN BIT(1) 1385*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_COM_NULL_PLPKTID_ERR_INT_EN BIT(0) 1386*8e93258fSBjoern A. Zeeb 1387*8e93258fSBjoern A. Zeeb #define R_AX_BBRPT_COM_ERR_IMR_ISR 0x960C 1388*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_COM_NULL_PLPKTID_ERR BIT(16) 1389*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_COM_NULL_PLPKTID_ERR_INT_EN BIT(0) 1390*8e93258fSBjoern A. Zeeb 1391*8e93258fSBjoern A. Zeeb #define R_AX_BBRPT_CHINFO_ERR_IMR 0x9628 1392*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_TO_ERR_INT_EN BIT(7) 1393*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_NULL_ERR_INT_EN BIT(6) 1394*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN BIT(5) 1395*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN BIT(4) 1396*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN BIT(3) 1397*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN BIT(2) 1398*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_OVF_ERR_INT_EN BIT(1) 1399*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN BIT(0) 1400*8e93258fSBjoern A. Zeeb #define R_AX_BBRPT_CHINFO_IMR_SET_V1 (B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN | \ 1401*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_OVF_ERR_INT_EN | \ 1402*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN | \ 1403*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN | \ 1404*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN | \ 1405*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN | \ 1406*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_NULL_ERR_INT_EN | \ 1407*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_TO_ERR_INT_EN) 1408*8e93258fSBjoern A. Zeeb 1409*8e93258fSBjoern A. Zeeb #define R_AX_BBRPT_CHINFO_ERR_IMR_ISR 0x962C 1410*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_TO_ERR BIT(23) 1411*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_NULL_ERR BIT(22) 1412*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_LEFT2_ERR BIT(21) 1413*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_LEFT1_ERR BIT(20) 1414*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_HDRL_ERR BIT(19) 1415*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_BOVF_ERR BIT(18) 1416*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_OVF_ERR BIT(17) 1417*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_BB_TO_ERR BIT(16) 1418*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_TO_ERR_INT_EN BIT(7) 1419*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_NULL_ERR_INT_EN BIT(6) 1420*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN BIT(5) 1421*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN BIT(4) 1422*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN BIT(3) 1423*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN BIT(2) 1424*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_OVF_ERR_INT_EN BIT(1) 1425*8e93258fSBjoern A. Zeeb #define B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN BIT(0) 1426*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_CHINFO_IMR_CLR (B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN | \ 1427*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_OVF_ERR_INT_EN | \ 1428*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN | \ 1429*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN | \ 1430*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN | \ 1431*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN | \ 1432*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_NULL_ERR_INT_EN | \ 1433*8e93258fSBjoern A. Zeeb B_AX_BBPRT_CHIF_TO_ERR_INT_EN) 1434*8e93258fSBjoern A. Zeeb 1435*8e93258fSBjoern A. Zeeb #define R_AX_BBRPT_DFS_ERR_IMR 0x9638 1436*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_DFS_TO_ERR_INT_EN BIT(0) 1437*8e93258fSBjoern A. Zeeb 1438*8e93258fSBjoern A. Zeeb #define R_AX_BBRPT_DFS_ERR_IMR_ISR 0x963C 1439*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_DFS_TO_ERR BIT(16) 1440*8e93258fSBjoern A. Zeeb #define B_AX_BBRPT_DFS_TO_ERR_INT_EN BIT(0) 1441*8e93258fSBjoern A. Zeeb 1442*8e93258fSBjoern A. Zeeb #define R_AX_LA_ERRFLAG 0x966C 1443*8e93258fSBjoern A. Zeeb #define B_AX_LA_ISR_DATA_LOSS_ERR BIT(16) 1444*8e93258fSBjoern A. Zeeb #define B_AX_LA_IMR_DATA_LOSS_ERR BIT(0) 1445*8e93258fSBjoern A. Zeeb 1446*8e93258fSBjoern A. Zeeb #define R_AX_WD_BUF_REQ 0x9800 1447*8e93258fSBjoern A. Zeeb #define R_AX_PL_BUF_REQ 0x9820 1448*8e93258fSBjoern A. Zeeb #define B_AX_WD_BUF_REQ_EXEC BIT(31) 1449*8e93258fSBjoern A. Zeeb #define B_AX_WD_BUF_REQ_QUOTA_ID_MASK GENMASK(23, 16) 1450*8e93258fSBjoern A. Zeeb #define B_AX_WD_BUF_REQ_LEN_MASK GENMASK(15, 0) 1451*8e93258fSBjoern A. Zeeb 1452*8e93258fSBjoern A. Zeeb #define R_AX_WD_BUF_STATUS 0x9804 1453*8e93258fSBjoern A. Zeeb #define R_AX_PL_BUF_STATUS 0x9824 1454*8e93258fSBjoern A. Zeeb #define B_AX_WD_BUF_STAT_DONE BIT(31) 1455*8e93258fSBjoern A. Zeeb #define B_AX_WD_BUF_STAT_PKTID_MASK GENMASK(11, 0) 1456*8e93258fSBjoern A. Zeeb 1457*8e93258fSBjoern A. Zeeb #define R_AX_WD_CPUQ_OP_0 0x9810 1458*8e93258fSBjoern A. Zeeb #define R_AX_PL_CPUQ_OP_0 0x9830 1459*8e93258fSBjoern A. Zeeb #define B_AX_WD_CPUQ_OP_EXEC BIT(31) 1460*8e93258fSBjoern A. Zeeb #define B_AX_CPUQ_OP_CMD_TYPE_MASK GENMASK(27, 24) 1461*8e93258fSBjoern A. Zeeb #define B_AX_CPUQ_OP_MACID_MASK GENMASK(23, 16) 1462*8e93258fSBjoern A. Zeeb #define B_AX_CPUQ_OP_PKTNUM_MASK GENMASK(7, 0) 1463*8e93258fSBjoern A. Zeeb 1464*8e93258fSBjoern A. Zeeb #define R_AX_WD_CPUQ_OP_1 0x9814 1465*8e93258fSBjoern A. Zeeb #define R_AX_PL_CPUQ_OP_1 0x9834 1466*8e93258fSBjoern A. Zeeb #define B_AX_CPUQ_OP_SRC_PID_MASK GENMASK(24, 22) 1467*8e93258fSBjoern A. Zeeb #define B_AX_CPUQ_OP_SRC_QID_MASK GENMASK(21, 16) 1468*8e93258fSBjoern A. Zeeb #define B_AX_CPUQ_OP_DST_PID_MASK GENMASK(8, 6) 1469*8e93258fSBjoern A. Zeeb #define B_AX_CPUQ_OP_DST_QID_MASK GENMASK(5, 0) 1470*8e93258fSBjoern A. Zeeb 1471*8e93258fSBjoern A. Zeeb #define R_AX_WD_CPUQ_OP_2 0x9818 1472*8e93258fSBjoern A. Zeeb #define R_AX_PL_CPUQ_OP_2 0x9838 1473*8e93258fSBjoern A. Zeeb #define B_AX_WD_CPUQ_OP_STRT_PKTID_MASK GENMASK(27, 16) 1474*8e93258fSBjoern A. Zeeb #define B_AX_WD_CPUQ_OP_END_PKTID_MASK GENMASK(11, 0) 1475*8e93258fSBjoern A. Zeeb 1476*8e93258fSBjoern A. Zeeb #define R_AX_WD_CPUQ_OP_STATUS 0x981C 1477*8e93258fSBjoern A. Zeeb #define R_AX_PL_CPUQ_OP_STATUS 0x983C 1478*8e93258fSBjoern A. Zeeb #define B_AX_WD_CPUQ_OP_STAT_DONE BIT(31) 1479*8e93258fSBjoern A. Zeeb #define B_AX_WD_CPUQ_OP_PKTID_MASK GENMASK(11, 0) 1480*8e93258fSBjoern A. Zeeb 1481*8e93258fSBjoern A. Zeeb #define R_AX_CPUIO_ERR_IMR 0x9840 1482*8e93258fSBjoern A. Zeeb #define B_AX_PLEQUE_OP_ERR_INT_EN BIT(12) 1483*8e93258fSBjoern A. Zeeb #define B_AX_PLEBUF_OP_ERR_INT_EN BIT(8) 1484*8e93258fSBjoern A. Zeeb #define B_AX_WDEQUE_OP_ERR_INT_EN BIT(4) 1485*8e93258fSBjoern A. Zeeb #define B_AX_WDEBUF_OP_ERR_INT_EN BIT(0) 1486*8e93258fSBjoern A. Zeeb #define B_AX_CPUIO_IMR_CLR (B_AX_WDEBUF_OP_ERR_INT_EN | \ 1487*8e93258fSBjoern A. Zeeb B_AX_WDEQUE_OP_ERR_INT_EN | \ 1488*8e93258fSBjoern A. Zeeb B_AX_PLEBUF_OP_ERR_INT_EN | \ 1489*8e93258fSBjoern A. Zeeb B_AX_PLEQUE_OP_ERR_INT_EN) 1490*8e93258fSBjoern A. Zeeb #define B_AX_CPUIO_IMR_SET (B_AX_WDEBUF_OP_ERR_INT_EN | \ 1491*8e93258fSBjoern A. Zeeb B_AX_WDEQUE_OP_ERR_INT_EN | \ 1492*8e93258fSBjoern A. Zeeb B_AX_PLEBUF_OP_ERR_INT_EN | \ 1493*8e93258fSBjoern A. Zeeb B_AX_PLEQUE_OP_ERR_INT_EN) 1494*8e93258fSBjoern A. Zeeb 1495*8e93258fSBjoern A. Zeeb #define R_AX_CPUIO_ERR_ISR 0x9844 1496*8e93258fSBjoern A. Zeeb 1497*8e93258fSBjoern A. Zeeb #define R_AX_SEC_ERR_IMR_ISR 0x991C 1498*8e93258fSBjoern A. Zeeb 1499*8e93258fSBjoern A. Zeeb #define R_AX_PKTIN_SETTING 0x9A00 1500*8e93258fSBjoern A. Zeeb #define B_AX_WD_ADDR_INFO_LENGTH BIT(1) 1501*8e93258fSBjoern A. Zeeb 1502*8e93258fSBjoern A. Zeeb #define R_AX_PKTIN_ERR_IMR 0x9A20 1503*8e93258fSBjoern A. Zeeb #define B_AX_PKTIN_GETPKTID_ERR_INT_EN BIT(0) 1504*8e93258fSBjoern A. Zeeb 1505*8e93258fSBjoern A. Zeeb #define R_AX_PKTIN_ERR_ISR 0x9A24 1506*8e93258fSBjoern A. Zeeb 1507*8e93258fSBjoern A. Zeeb #define R_AX_MPDU_TX_ERR_ISR 0x9BF0 1508*8e93258fSBjoern A. Zeeb #define R_AX_MPDU_TX_ERR_IMR 0x9BF4 1509*8e93258fSBjoern A. Zeeb #define B_AX_TX_KSRCH_ERR_EN BIT(9) 1510*8e93258fSBjoern A. Zeeb #define B_AX_TX_NW_TYPE_ERR_EN BIT(8) 1511*8e93258fSBjoern A. Zeeb #define B_AX_TX_LLC_PRE_ERR_EN BIT(7) 1512*8e93258fSBjoern A. Zeeb #define B_AX_TX_ETH_TYPE_ERR_EN BIT(6) 1513*8e93258fSBjoern A. Zeeb #define B_AX_TX_HDR3_SIZE_ERR_INT_EN BIT(5) 1514*8e93258fSBjoern A. Zeeb #define B_AX_TX_OFFSET_ERR_INT_EN BIT(4) 1515*8e93258fSBjoern A. Zeeb #define B_AX_TX_MPDU_SIZE_ZERO_INT_EN BIT(3) 1516*8e93258fSBjoern A. Zeeb #define B_AX_TX_NXT_ERRPKTID_INT_EN BIT(2) 1517*8e93258fSBjoern A. Zeeb #define B_AX_TX_GET_ERRPKTID_INT_EN BIT(1) 1518*8e93258fSBjoern A. Zeeb #define B_AX_MPDU_TX_IMR_SET_V1 (B_AX_TX_GET_ERRPKTID_INT_EN | \ 1519*8e93258fSBjoern A. Zeeb B_AX_TX_NXT_ERRPKTID_INT_EN | \ 1520*8e93258fSBjoern A. Zeeb B_AX_TX_MPDU_SIZE_ZERO_INT_EN | \ 1521*8e93258fSBjoern A. Zeeb B_AX_TX_HDR3_SIZE_ERR_INT_EN | \ 1522*8e93258fSBjoern A. Zeeb B_AX_TX_ETH_TYPE_ERR_EN | \ 1523*8e93258fSBjoern A. Zeeb B_AX_TX_NW_TYPE_ERR_EN | \ 1524*8e93258fSBjoern A. Zeeb B_AX_TX_KSRCH_ERR_EN) 1525*8e93258fSBjoern A. Zeeb 1526*8e93258fSBjoern A. Zeeb #define R_AX_MPDU_PROC 0x9C00 1527*8e93258fSBjoern A. Zeeb #define B_AX_A_ICV_ERR BIT(1) 1528*8e93258fSBjoern A. Zeeb #define B_AX_APPEND_FCS BIT(0) 1529*8e93258fSBjoern A. Zeeb 1530*8e93258fSBjoern A. Zeeb #define R_AX_ACTION_FWD0 0x9C04 1531*8e93258fSBjoern A. Zeeb #define TRXCFG_MPDU_PROC_ACT_FRWD 0x02A95A95 1532*8e93258fSBjoern A. Zeeb 1533*8e93258fSBjoern A. Zeeb #define R_AX_TF_FWD 0x9C14 1534*8e93258fSBjoern A. Zeeb #define TRXCFG_MPDU_PROC_TF_FRWD 0x0000AA55 1535*8e93258fSBjoern A. Zeeb 1536*8e93258fSBjoern A. Zeeb #define R_AX_HW_RPT_FWD 0x9C18 1537*8e93258fSBjoern A. Zeeb #define B_AX_FWD_PPDU_STAT_MASK GENMASK(1, 0) 1538*8e93258fSBjoern A. Zeeb #define RTW89_PRPT_DEST_HOST 1 1539*8e93258fSBjoern A. Zeeb #define RTW89_PRPT_DEST_WLCPU 2 1540*8e93258fSBjoern A. Zeeb 1541*8e93258fSBjoern A. Zeeb #define R_AX_CUT_AMSDU_CTRL 0x9C40 1542*8e93258fSBjoern A. Zeeb #define TRXCFG_MPDU_PROC_CUT_CTRL 0x010E05F0 1543*8e93258fSBjoern A. Zeeb 1544*8e93258fSBjoern A. Zeeb #define R_AX_MPDU_RX_ERR_ISR 0x9CF0 1545*8e93258fSBjoern A. Zeeb #define R_AX_MPDU_RX_ERR_IMR 0x9CF4 1546*8e93258fSBjoern A. Zeeb #define B_AX_RPT_ERR_INT_EN BIT(3) 1547*8e93258fSBjoern A. Zeeb #define B_AX_MHDRLEN_ERR_INT_EN BIT(1) 1548*8e93258fSBjoern A. Zeeb #define B_AX_GETPKTID_ERR_INT_EN BIT(0) 1549*8e93258fSBjoern A. Zeeb #define B_AX_MPDU_RX_IMR_SET_V1 B_AX_RPT_ERR_INT_EN 1550*8e93258fSBjoern A. Zeeb 1551*8e93258fSBjoern A. Zeeb #define R_AX_SEC_ENG_CTRL 0x9D00 1552*8e93258fSBjoern A. Zeeb #define B_AX_TX_PARTIAL_MODE BIT(11) 1553*8e93258fSBjoern A. Zeeb #define B_AX_CLK_EN_CGCMP BIT(10) 1554*8e93258fSBjoern A. Zeeb #define B_AX_CLK_EN_WAPI BIT(9) 1555*8e93258fSBjoern A. Zeeb #define B_AX_CLK_EN_WEP_TKIP BIT(8) 1556*8e93258fSBjoern A. Zeeb #define B_AX_BMC_MGNT_DEC BIT(5) 1557*8e93258fSBjoern A. Zeeb #define B_AX_UC_MGNT_DEC BIT(4) 1558*8e93258fSBjoern A. Zeeb #define B_AX_MC_DEC BIT(3) 1559*8e93258fSBjoern A. Zeeb #define B_AX_BC_DEC BIT(2) 1560*8e93258fSBjoern A. Zeeb #define B_AX_SEC_RX_DEC BIT(1) 1561*8e93258fSBjoern A. Zeeb #define B_AX_SEC_TX_ENC BIT(0) 1562*8e93258fSBjoern A. Zeeb 1563*8e93258fSBjoern A. Zeeb #define R_AX_SEC_MPDU_PROC 0x9D04 1564*8e93258fSBjoern A. Zeeb #define B_AX_APPEND_ICV BIT(1) 1565*8e93258fSBjoern A. Zeeb #define B_AX_APPEND_MIC BIT(0) 1566*8e93258fSBjoern A. Zeeb 1567*8e93258fSBjoern A. Zeeb #define R_AX_SEC_CAM_ACCESS 0x9D10 1568*8e93258fSBjoern A. Zeeb #define R_AX_SEC_CAM_RDATA 0x9D14 1569*8e93258fSBjoern A. Zeeb #define R_AX_SEC_CAM_WDATA 0x9D18 1570*8e93258fSBjoern A. Zeeb 1571*8e93258fSBjoern A. Zeeb #define R_AX_SEC_DEBUG 0x9D1C 1572*8e93258fSBjoern A. Zeeb #define B_AX_IMR_ERROR BIT(3) 1573*8e93258fSBjoern A. Zeeb 1574*8e93258fSBjoern A. Zeeb #define R_AX_SEC_DEBUG1 0x9D1C 1575*8e93258fSBjoern A. Zeeb #define B_AX_TX_TIMEOUT_SEL_MASK GENMASK(31, 30) 1576*8e93258fSBjoern A. Zeeb #define AX_TX_TO_VAL 0x2 1577*8e93258fSBjoern A. Zeeb 1578*8e93258fSBjoern A. Zeeb #define R_AX_SEC_TX_DEBUG 0x9D20 1579*8e93258fSBjoern A. Zeeb #define R_AX_SEC_RX_DEBUG 0x9D24 1580*8e93258fSBjoern A. Zeeb #define R_AX_SEC_TRX_PKT_CNT 0x9D28 1581*8e93258fSBjoern A. Zeeb #define R_AX_SEC_TRX_BLK_CNT 0x9D2C 1582*8e93258fSBjoern A. Zeeb 1583*8e93258fSBjoern A. Zeeb #define R_AX_SEC_ERROR_FLAG_IMR 0x9D2C 1584*8e93258fSBjoern A. Zeeb #define B_AX_RX_HANG_IMR BIT(1) 1585*8e93258fSBjoern A. Zeeb #define B_AX_TX_HANG_IMR BIT(0) 1586*8e93258fSBjoern A. Zeeb 1587*8e93258fSBjoern A. Zeeb #define R_AX_SS_CTRL 0x9E10 1588*8e93258fSBjoern A. Zeeb #define B_AX_SS_INIT_DONE_1 BIT(31) 1589*8e93258fSBjoern A. Zeeb #define B_AX_SS_WARM_INIT_FLG BIT(29) 1590*8e93258fSBjoern A. Zeeb #define B_AX_SS_NONEMPTY_SS2FINFO_EN BIT(28) 1591*8e93258fSBjoern A. Zeeb #define B_AX_SS_EN BIT(0) 1592*8e93258fSBjoern A. Zeeb 1593*8e93258fSBjoern A. Zeeb #define R_AX_SS2FINFO_PATH 0x9E50 1594*8e93258fSBjoern A. Zeeb #define B_AX_SS_UL_REL BIT(31) 1595*8e93258fSBjoern A. Zeeb #define B_AX_SS_REL_QUEUE_MASK GENMASK(29, 24) 1596*8e93258fSBjoern A. Zeeb #define B_AX_SS_REL_PORT_MASK GENMASK(18, 16) 1597*8e93258fSBjoern A. Zeeb #define B_AX_SS_DEST_QUEUE_MASK GENMASK(13, 8) 1598*8e93258fSBjoern A. Zeeb #define SS2F_PATH_WLCPU 0x0A 1599*8e93258fSBjoern A. Zeeb #define B_AX_SS_DEST_PORT_MASK GENMASK(2, 0) 1600*8e93258fSBjoern A. Zeeb 1601*8e93258fSBjoern A. Zeeb #define R_AX_SS_MACID_PAUSE_0 0x9EB0 1602*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID31_0_PAUSE_SH 0 1603*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID31_0_PAUSE_MASK GENMASK(31, 0) 1604*8e93258fSBjoern A. Zeeb 1605*8e93258fSBjoern A. Zeeb #define R_AX_SS_MACID_PAUSE_1 0x9EB4 1606*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID63_32_PAUSE_SH 0 1607*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID63_32_PAUSE_MASK GENMASK(31, 0) 1608*8e93258fSBjoern A. Zeeb 1609*8e93258fSBjoern A. Zeeb #define R_AX_SS_MACID_PAUSE_2 0x9EB8 1610*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID95_64_PAUSE_SH 0 1611*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID95_64_PAUSE_MASK GENMASK(31, 0) 1612*8e93258fSBjoern A. Zeeb 1613*8e93258fSBjoern A. Zeeb #define R_AX_SS_MACID_PAUSE_3 0x9EBC 1614*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID127_96_PAUSE_SH 0 1615*8e93258fSBjoern A. Zeeb #define B_AX_SS_MACID127_96_PAUSE_MASK GENMASK(31, 0) 1616*8e93258fSBjoern A. Zeeb 1617*8e93258fSBjoern A. Zeeb #define R_AX_STA_SCHEDULER_ERR_IMR 0x9EF0 1618*8e93258fSBjoern A. Zeeb #define B_AX_PLE_B_PKTID_ERR_INT_EN BIT(2) 1619*8e93258fSBjoern A. Zeeb #define B_AX_RPT_HANG_TIMEOUT_INT_EN BIT(1) 1620*8e93258fSBjoern A. Zeeb #define B_AX_SEARCH_HANG_TIMEOUT_INT_EN BIT(0) 1621*8e93258fSBjoern A. Zeeb #define B_AX_STA_SCHEDULER_IMR_SET (B_AX_SEARCH_HANG_TIMEOUT_INT_EN | \ 1622*8e93258fSBjoern A. Zeeb B_AX_RPT_HANG_TIMEOUT_INT_EN | \ 1623*8e93258fSBjoern A. Zeeb B_AX_PLE_B_PKTID_ERR_INT_EN) 1624*8e93258fSBjoern A. Zeeb 1625*8e93258fSBjoern A. Zeeb #define R_AX_STA_SCHEDULER_ERR_ISR 0x9EF4 1626*8e93258fSBjoern A. Zeeb 1627*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_ERR_IMR_ISR 0x9F1C 1628*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR BIT(25) 1629*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR BIT(24) 1630*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR BIT(19) 1631*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR BIT(18) 1632*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR BIT(17) 1633*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_REINIT_ERR BIT(16) 1634*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN BIT(9) 1635*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN BIT(8) 1636*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN BIT(3) 1637*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN BIT(2) 1638*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN BIT(1) 1639*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN BIT(0) 1640*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B0_CLR (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \ 1641*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \ 1642*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN | \ 1643*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN | \ 1644*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \ 1645*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN) 1646*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B1_CLR (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \ 1647*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \ 1648*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN | \ 1649*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN | \ 1650*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \ 1651*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN) 1652*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B0_SET (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \ 1653*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN) 1654*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B1_SET (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \ 1655*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \ 1656*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \ 1657*8e93258fSBjoern A. Zeeb B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN) 1658*8e93258fSBjoern A. Zeeb 1659*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_ERR_IMR_ISR_B1 0x9F2C 1660*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN BIT(9) 1661*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN BIT(3) 1662*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN BIT(2) 1663*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN BIT(1) 1664*8e93258fSBjoern A. Zeeb 1665*8e93258fSBjoern A. Zeeb #define R_AX_DBG_FUN_INTF_CTL 0x9F30 1666*8e93258fSBjoern A. Zeeb #define B_AX_DFI_ACTIVE BIT(31) 1667*8e93258fSBjoern A. Zeeb #define B_AX_DFI_TRGSEL_MASK GENMASK(19, 16) 1668*8e93258fSBjoern A. Zeeb #define B_AX_DFI_ADDR_MASK GENMASK(15, 0) 1669*8e93258fSBjoern A. Zeeb #define R_AX_DBG_FUN_INTF_DATA 0x9F34 1670*8e93258fSBjoern A. Zeeb #define B_AX_DFI_DATA_MASK GENMASK(31, 0) 1671*8e93258fSBjoern A. Zeeb 1672*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_B0_PRELD_CFG0 0x9F48 1673*8e93258fSBjoern A. Zeeb #define B_AX_B0_PRELD_FEN BIT(31) 1674*8e93258fSBjoern A. Zeeb #define B_AX_B0_PRELD_USEMAXSZ_MASK GENMASK(25, 16) 1675*8e93258fSBjoern A. Zeeb #define PRELD_B0_ENT_NUM 10 1676*8e93258fSBjoern A. Zeeb #define PRELD_AMSDU_SIZE 52 1677*8e93258fSBjoern A. Zeeb #define B_AX_B0_PRELD_CAM_G1ENTNUM_MASK GENMASK(12, 8) 1678*8e93258fSBjoern A. Zeeb #define B_AX_B0_PRELD_CAM_G0ENTNUM_MASK GENMASK(4, 0) 1679*8e93258fSBjoern A. Zeeb 1680*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_B0_PRELD_CFG1 0x9F4C 1681*8e93258fSBjoern A. Zeeb #define B_AX_B0_PRELD_NXT_TXENDWIN_MASK GENMASK(11, 8) 1682*8e93258fSBjoern A. Zeeb #define PRELD_NEXT_WND 1 1683*8e93258fSBjoern A. Zeeb #define B_AX_B0_PRELD_NXT_RSVMINSZ_MASK GENMASK(7, 0) 1684*8e93258fSBjoern A. Zeeb 1685*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_B0_ERRFLAG_IMR 0x9F78 1686*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG BIT(21) 1687*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR BIT(20) 1688*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_MPDUIF_DATAERR BIT(18) 1689*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_MPDUINFO_RECFG BIT(16) 1690*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_CMDPSR_TBLSZ BIT(11) 1691*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_CMDPSR_FRZTO BIT(10) 1692*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE BIT(9) 1693*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR BIT(8) 1694*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_USRCTL_RLSBMPLEN BIT(3) 1695*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_USRCTL_RDNRLSCMD BIT(2) 1696*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_USRCTL_NOINIT BIT(1) 1697*8e93258fSBjoern A. Zeeb #define B_AX_B0_IMR_ERR_USRCTL_REINIT BIT(0) 1698*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B0_CLR_V1 (B_AX_B0_IMR_ERR_USRCTL_REINIT | \ 1699*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_USRCTL_NOINIT | \ 1700*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_USRCTL_RDNRLSCMD | \ 1701*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_USRCTL_RLSBMPLEN | \ 1702*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR | \ 1703*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE | \ 1704*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_FRZTO | \ 1705*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_TBLSZ | \ 1706*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_MPDUINFO_RECFG | \ 1707*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_MPDUIF_DATAERR | \ 1708*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR | \ 1709*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG) 1710*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B0_SET_V1 (B_AX_B0_IMR_ERR_USRCTL_REINIT | \ 1711*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_USRCTL_NOINIT | \ 1712*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR | \ 1713*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE | \ 1714*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_FRZTO | \ 1715*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_CMDPSR_TBLSZ | \ 1716*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_MPDUINFO_RECFG | \ 1717*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_MPDUIF_DATAERR | \ 1718*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR | \ 1719*8e93258fSBjoern A. Zeeb B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG) 1720*8e93258fSBjoern A. Zeeb 1721*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_B1_PRELD_CFG0 0x9F88 1722*8e93258fSBjoern A. Zeeb #define B_AX_B1_PRELD_FEN BIT(31) 1723*8e93258fSBjoern A. Zeeb #define B_AX_B1_PRELD_USEMAXSZ_MASK GENMASK(25, 16) 1724*8e93258fSBjoern A. Zeeb #define PRELD_B1_ENT_NUM 4 1725*8e93258fSBjoern A. Zeeb #define B_AX_B1_PRELD_CAM_G1ENTNUM_MASK GENMASK(12, 8) 1726*8e93258fSBjoern A. Zeeb #define B_AX_B1_PRELD_CAM_G0ENTNUM_MASK GENMASK(4, 0) 1727*8e93258fSBjoern A. Zeeb 1728*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_B1_PRELD_CFG1 0x9F8C 1729*8e93258fSBjoern A. Zeeb #define B_AX_B1_PRELD_NXT_TXENDWIN_MASK GENMASK(11, 8) 1730*8e93258fSBjoern A. Zeeb #define B_AX_B1_PRELD_NXT_RSVMINSZ_MASK GENMASK(7, 0) 1731*8e93258fSBjoern A. Zeeb 1732*8e93258fSBjoern A. Zeeb #define R_AX_TXPKTCTL_B1_ERRFLAG_IMR 0x9FB8 1733*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG BIT(21) 1734*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR BIT(20) 1735*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_MPDUIF_DATAERR BIT(18) 1736*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_MPDUINFO_RECFG BIT(16) 1737*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_CMDPSR_TBLSZ BIT(11) 1738*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_CMDPSR_FRZTO BIT(10) 1739*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE BIT(9) 1740*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR BIT(8) 1741*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_USRCTL_RLSBMPLEN BIT(3) 1742*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_USRCTL_RDNRLSCMD BIT(2) 1743*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_USRCTL_NOINIT BIT(1) 1744*8e93258fSBjoern A. Zeeb #define B_AX_B1_IMR_ERR_USRCTL_REINIT BIT(0) 1745*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B1_CLR_V1 (B_AX_B1_IMR_ERR_USRCTL_REINIT | \ 1746*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_USRCTL_NOINIT | \ 1747*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_USRCTL_RDNRLSCMD | \ 1748*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_USRCTL_RLSBMPLEN | \ 1749*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR | \ 1750*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE | \ 1751*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_FRZTO | \ 1752*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_TBLSZ | \ 1753*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_MPDUINFO_RECFG | \ 1754*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_MPDUIF_DATAERR | \ 1755*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR | \ 1756*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG) 1757*8e93258fSBjoern A. Zeeb #define B_AX_TXPKTCTL_IMR_B1_SET_V1 (B_AX_B1_IMR_ERR_USRCTL_REINIT | \ 1758*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_USRCTL_NOINIT | \ 1759*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR | \ 1760*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE | \ 1761*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_FRZTO | \ 1762*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_CMDPSR_TBLSZ | \ 1763*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_MPDUINFO_RECFG | \ 1764*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_MPDUIF_DATAERR | \ 1765*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR | \ 1766*8e93258fSBjoern A. Zeeb B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG) 1767*8e93258fSBjoern A. Zeeb 1768*8e93258fSBjoern A. Zeeb #define R_AX_AFE_CTRL1 0x0024 1769*8e93258fSBjoern A. Zeeb 1770*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_WLCMAC1_P4_PC_EN BIT(4) 1771*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_WLCMAC1_P3_PC_EN BIT(3) 1772*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_WLCMAC1_P2_PC_EN BIT(2) 1773*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_WLCMAC1_P1_PC_EN BIT(1) 1774*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_WLCMAC1_PC_EN BIT(0) 1775*8e93258fSBjoern A. Zeeb 1776*8e93258fSBjoern A. Zeeb #define R_AX_SYS_ISO_CTRL_EXTEND 0x0080 1777*8e93258fSBjoern A. Zeeb #define B_AX_CMAC1_FEN BIT(30) 1778*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_FEN_WLBBGLB_1 BIT(17) 1779*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_FEN_WLBBFUN_1 BIT(16) 1780*8e93258fSBjoern A. Zeeb #define B_AX_R_SYM_ISO_CMAC12PP BIT(5) 1781*8e93258fSBjoern A. Zeeb 1782*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_REG_START 0xC000 1783*8e93258fSBjoern A. Zeeb 1784*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_FUNC_EN 0xC000 1785*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_FUNC_EN_C1 0xE000 1786*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_CRPRT BIT(31) 1787*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_EN BIT(30) 1788*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_TXEN BIT(29) 1789*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_RXEN BIT(28) 1790*8e93258fSBjoern A. Zeeb #define B_AX_FORCE_CMACREG_GCKEN BIT(15) 1791*8e93258fSBjoern A. Zeeb #define B_AX_PHYINTF_EN BIT(5) 1792*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_DMA_EN BIT(4) 1793*8e93258fSBjoern A. Zeeb #define B_AX_PTCLTOP_EN BIT(3) 1794*8e93258fSBjoern A. Zeeb #define B_AX_SCHEDULER_EN BIT(2) 1795*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_EN BIT(1) 1796*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_EN BIT(0) 1797*8e93258fSBjoern A. Zeeb 1798*8e93258fSBjoern A. Zeeb #define R_AX_CK_EN 0xC004 1799*8e93258fSBjoern A. Zeeb #define R_AX_CK_EN_C1 0xE004 1800*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_ALLCKEN GENMASK(31, 0) 1801*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_CKEN BIT(30) 1802*8e93258fSBjoern A. Zeeb #define B_AX_PHYINTF_CKEN BIT(5) 1803*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_DMA_CKEN BIT(4) 1804*8e93258fSBjoern A. Zeeb #define B_AX_PTCLTOP_CKEN BIT(3) 1805*8e93258fSBjoern A. Zeeb #define B_AX_SCHEDULER_CKEN BIT(2) 1806*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_CKEN BIT(1) 1807*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_CKEN BIT(0) 1808*8e93258fSBjoern A. Zeeb 1809*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_RFMOD 0xC010 1810*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_RFMOD_C1 0xE010 1811*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_RFMOD_MASK GENMASK(1, 0) 1812*8e93258fSBjoern A. Zeeb #define AX_WMAC_RFMOD_20M 0 1813*8e93258fSBjoern A. Zeeb #define AX_WMAC_RFMOD_40M 1 1814*8e93258fSBjoern A. Zeeb #define AX_WMAC_RFMOD_80M 2 1815*8e93258fSBjoern A. Zeeb #define AX_WMAC_RFMOD_160M 3 1816*8e93258fSBjoern A. Zeeb 1817*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION0 0xC070 1818*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION0_C1 0xE070 1819*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION1 0xC074 1820*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION1_C1 0xE074 1821*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION2 0xC078 1822*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION2_C1 0xE078 1823*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION3 0xC07C 1824*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION3_C1 0xE07C 1825*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION_EN0 0xC080 1826*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION_EN0_C1 0xE080 1827*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION_EN1 0xC084 1828*8e93258fSBjoern A. Zeeb #define R_AX_GID_POSITION_EN1_C1 0xE084 1829*8e93258fSBjoern A. Zeeb 1830*8e93258fSBjoern A. Zeeb #define R_AX_TX_SUB_CARRIER_VALUE 0xC088 1831*8e93258fSBjoern A. Zeeb #define R_AX_TX_SUB_CARRIER_VALUE_C1 0xE088 1832*8e93258fSBjoern A. Zeeb #define B_AX_TXSC_80M_MASK GENMASK(11, 8) 1833*8e93258fSBjoern A. Zeeb #define B_AX_TXSC_40M_MASK GENMASK(7, 4) 1834*8e93258fSBjoern A. Zeeb #define B_AX_TXSC_20M_MASK GENMASK(3, 0) 1835*8e93258fSBjoern A. Zeeb 1836*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_ERR_IMR 0xC160 1837*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_ERR_IMR_C1 0xE160 1838*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_TX_ERR_IND_EN BIT(7) 1839*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_RX_ERR_IND_EN BIT(6) 1840*8e93258fSBjoern A. Zeeb #define B_AX_TXPWR_CTRL_ERR_IND_EN BIT(5) 1841*8e93258fSBjoern A. Zeeb #define B_AX_PHYINTF_ERR_IND_EN BIT(4) 1842*8e93258fSBjoern A. Zeeb #define B_AX_DMA_TOP_ERR_IND_EN BIT(3) 1843*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TOP_ERR_IND_EN BIT(1) 1844*8e93258fSBjoern A. Zeeb #define B_AX_SCHEDULE_TOP_ERR_IND_EN BIT(0) 1845*8e93258fSBjoern A. Zeeb #define CMAC0_ERR_IMR_EN GENMASK(31, 0) 1846*8e93258fSBjoern A. Zeeb #define CMAC1_ERR_IMR_EN GENMASK(31, 0) 1847*8e93258fSBjoern A. Zeeb #define CMAC0_ERR_IMR_DIS 0 1848*8e93258fSBjoern A. Zeeb #define CMAC1_ERR_IMR_DIS 0 1849*8e93258fSBjoern A. Zeeb 1850*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_ERR_ISR 0xC164 1851*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_ERR_ISR_C1 0xE164 1852*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_TX_ERR_IND BIT(7) 1853*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_RX_ERR_IND BIT(6) 1854*8e93258fSBjoern A. Zeeb #define B_AX_TXPWR_CTRL_ERR_IND BIT(5) 1855*8e93258fSBjoern A. Zeeb #define B_AX_PHYINTF_ERR_IND BIT(4) 1856*8e93258fSBjoern A. Zeeb #define B_AX_DMA_TOP_ERR_IND BIT(3) 1857*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TOP_ERR_IND BIT(1) 1858*8e93258fSBjoern A. Zeeb #define B_AX_SCHEDULE_TOP_ERR_IND BIT(0) 1859*8e93258fSBjoern A. Zeeb 1860*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_0 0xC2C0 1861*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_0_C1 0xE2C0 1862*8e93258fSBjoern A. Zeeb #define B_AX_MACID31_0_SLEEP_SH 0 1863*8e93258fSBjoern A. Zeeb #define B_AX_MACID31_0_SLEEP_MASK GENMASK(31, 0) 1864*8e93258fSBjoern A. Zeeb 1865*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_1 0xC2C4 1866*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_1_C1 0xE2C4 1867*8e93258fSBjoern A. Zeeb #define B_AX_MACID63_32_SLEEP_SH 0 1868*8e93258fSBjoern A. Zeeb #define B_AX_MACID63_32_SLEEP_MASK GENMASK(31, 0) 1869*8e93258fSBjoern A. Zeeb 1870*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_2 0xC2C8 1871*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_2_C1 0xE2C8 1872*8e93258fSBjoern A. Zeeb #define B_AX_MACID95_64_SLEEP_SH 0 1873*8e93258fSBjoern A. Zeeb #define B_AX_MACID95_64_SLEEP_MASK GENMASK(31, 0) 1874*8e93258fSBjoern A. Zeeb 1875*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_3 0xC2CC 1876*8e93258fSBjoern A. Zeeb #define R_AX_MACID_SLEEP_3_C1 0xE2CC 1877*8e93258fSBjoern A. Zeeb #define B_AX_MACID127_96_SLEEP_SH 0 1878*8e93258fSBjoern A. Zeeb #define B_AX_MACID127_96_SLEEP_MASK GENMASK(31, 0) 1879*8e93258fSBjoern A. Zeeb 1880*8e93258fSBjoern A. Zeeb #define SCH_PREBKF_24US 0x18 1881*8e93258fSBjoern A. Zeeb #define R_AX_PREBKF_CFG_0 0xC338 1882*8e93258fSBjoern A. Zeeb #define R_AX_PREBKF_CFG_0_C1 0xE338 1883*8e93258fSBjoern A. Zeeb #define B_AX_PREBKF_TIME_MASK GENMASK(4, 0) 1884*8e93258fSBjoern A. Zeeb 1885*8e93258fSBjoern A. Zeeb #define R_AX_PREBKF_CFG_1 0xC33C 1886*8e93258fSBjoern A. Zeeb #define R_AX_PREBKF_CFG_1_C1 0xE33C 1887*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_TIMEOUT_TB_AGGR_MASK GENMASK(30, 24) 1888*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_PREBKF_MASK GENMASK(23, 16) 1889*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_TIMEOUT_T2_MASK GENMASK(14, 8) 1890*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_MACTXEN_T1_MASK GENMASK(6, 0) 1891*8e93258fSBjoern A. Zeeb #define SIFS_MACTXEN_T1 0x47 1892*8e93258fSBjoern A. Zeeb #define SIFS_MACTXEN_T1_V1 0x41 1893*8e93258fSBjoern A. Zeeb 1894*8e93258fSBjoern A. Zeeb #define R_AX_CCA_CFG_0 0xC340 1895*8e93258fSBjoern A. Zeeb #define R_AX_CCA_CFG_0_C1 0xE340 1896*8e93258fSBjoern A. Zeeb #define B_AX_BTCCA_BRK_TXOP_EN BIT(9) 1897*8e93258fSBjoern A. Zeeb #define B_AX_BTCCA_EN BIT(5) 1898*8e93258fSBjoern A. Zeeb #define B_AX_EDCCA_EN BIT(4) 1899*8e93258fSBjoern A. Zeeb #define B_AX_SEC80_EN BIT(3) 1900*8e93258fSBjoern A. Zeeb #define B_AX_SEC40_EN BIT(2) 1901*8e93258fSBjoern A. Zeeb #define B_AX_SEC20_EN BIT(1) 1902*8e93258fSBjoern A. Zeeb #define B_AX_CCA_EN BIT(0) 1903*8e93258fSBjoern A. Zeeb 1904*8e93258fSBjoern A. Zeeb #define R_AX_CTN_TXEN 0xC348 1905*8e93258fSBjoern A. Zeeb #define R_AX_CTN_TXEN_C1 0xE348 1906*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_TWT_1 BIT(15) 1907*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_TWT_0 BIT(14) 1908*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_ULQ BIT(13) 1909*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_BCNQ BIT(12) 1910*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_HGQ BIT(11) 1911*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_CPUMGQ BIT(10) 1912*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_MGQ1 BIT(9) 1913*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_MGQ BIT(8) 1914*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_VO_1 BIT(7) 1915*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_VI_1 BIT(6) 1916*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_BK_1 BIT(5) 1917*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_BE_1 BIT(4) 1918*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_VO_0 BIT(3) 1919*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_VI_0 BIT(2) 1920*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_BK_0 BIT(1) 1921*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_BE_0 BIT(0) 1922*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_ALL_MASK GENMASK(15, 0) 1923*8e93258fSBjoern A. Zeeb 1924*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_BE_PARAM_0 0xC350 1925*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_BE_PARAM_0_C1 0xE350 1926*8e93258fSBjoern A. Zeeb #define B_AX_MUEDCA_BE_PARAM_0_TIMER_MASK GENMASK(31, 16) 1927*8e93258fSBjoern A. Zeeb #define B_AX_MUEDCA_BE_PARAM_0_CW_MASK GENMASK(15, 8) 1928*8e93258fSBjoern A. Zeeb #define B_AX_MUEDCA_BE_PARAM_0_AIFS_MASK GENMASK(7, 0) 1929*8e93258fSBjoern A. Zeeb 1930*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_BK_PARAM_0 0xC354 1931*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_BK_PARAM_0_C1 0xE354 1932*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_VI_PARAM_0 0xC358 1933*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_VI_PARAM_0_C1 0xE358 1934*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_VO_PARAM_0 0xC35C 1935*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_VO_PARAM_0_C1 0xE35C 1936*8e93258fSBjoern A. Zeeb 1937*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_EN 0xC370 1938*8e93258fSBjoern A. Zeeb #define R_AX_MUEDCA_EN_C1 0xE370 1939*8e93258fSBjoern A. Zeeb #define B_AX_MUEDCA_WMM_SEL BIT(8) 1940*8e93258fSBjoern A. Zeeb #define B_AX_SET_MUEDCATIMER_TF_0 BIT(4) 1941*8e93258fSBjoern A. Zeeb #define B_AX_MUEDCA_EN_0 BIT(0) 1942*8e93258fSBjoern A. Zeeb 1943*8e93258fSBjoern A. Zeeb #define R_AX_CCA_CONTROL 0xC390 1944*8e93258fSBjoern A. Zeeb #define R_AX_CCA_CONTROL_C1 0xE390 1945*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_TX_NAV BIT(31) 1946*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_BASIC_NAV BIT(30) 1947*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_BTCCA BIT(29) 1948*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_EDCCA BIT(28) 1949*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_CCA_S80 BIT(27) 1950*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_CCA_S40 BIT(26) 1951*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_CCA_S20 BIT(25) 1952*8e93258fSBjoern A. Zeeb #define B_AX_TB_CHK_CCA_P20 BIT(24) 1953*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_CHK_BTCCA BIT(21) 1954*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_CHK_EDCCA BIT(20) 1955*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_CHK_CCA_S80 BIT(19) 1956*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_CHK_CCA_S40 BIT(18) 1957*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_CHK_CCA_S20 BIT(17) 1958*8e93258fSBjoern A. Zeeb #define B_AX_SIFS_CHK_CCA_P20 BIT(16) 1959*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_TXNAV BIT(8) 1960*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_INTRA_NAV BIT(7) 1961*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_BASIC_NAV BIT(6) 1962*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_BTCCA BIT(5) 1963*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_EDCCA BIT(4) 1964*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_CCA_S80 BIT(3) 1965*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_CCA_S40 BIT(2) 1966*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_CCA_S20 BIT(1) 1967*8e93258fSBjoern A. Zeeb #define B_AX_CTN_CHK_CCA_P20 BIT(0) 1968*8e93258fSBjoern A. Zeeb 1969*8e93258fSBjoern A. Zeeb #define R_AX_CTN_DRV_TXEN 0xC398 1970*8e93258fSBjoern A. Zeeb #define R_AX_CTN_DRV_TXEN_C1 0xE398 1971*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_TWT_3 BIT(17) 1972*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_TWT_2 BIT(16) 1973*8e93258fSBjoern A. Zeeb #define B_AX_CTN_TXEN_ALL_MASK_V1 GENMASK(17, 0) 1974*8e93258fSBjoern A. Zeeb 1975*8e93258fSBjoern A. Zeeb #define R_AX_SCHEDULE_ERR_IMR 0xC3E8 1976*8e93258fSBjoern A. Zeeb #define R_AX_SCHEDULE_ERR_IMR_C1 0xE3E8 1977*8e93258fSBjoern A. Zeeb #define B_AX_SORT_NON_IDLE_ERR_INT_EN BIT(1) 1978*8e93258fSBjoern A. Zeeb 1979*8e93258fSBjoern A. Zeeb #define R_AX_SCHEDULE_ERR_ISR 0xC3EC 1980*8e93258fSBjoern A. Zeeb #define R_AX_SCHEDULE_ERR_ISR_C1 0xE3EC 1981*8e93258fSBjoern A. Zeeb 1982*8e93258fSBjoern A. Zeeb #define R_AX_SCH_DBG_SEL 0xC3F4 1983*8e93258fSBjoern A. Zeeb #define R_AX_SCH_DBG_SEL_C1 0xE3F4 1984*8e93258fSBjoern A. Zeeb #define B_AX_SCH_DBG_EN BIT(16) 1985*8e93258fSBjoern A. Zeeb #define B_AX_SCH_CFG_CMD_SEL GENMASK(15, 8) 1986*8e93258fSBjoern A. Zeeb #define B_AX_SCH_DBG_SEL_MASK GENMASK(7, 0) 1987*8e93258fSBjoern A. Zeeb 1988*8e93258fSBjoern A. Zeeb #define R_AX_SCH_DBG 0xC3F8 1989*8e93258fSBjoern A. Zeeb #define R_AX_SCH_DBG_C1 0xE3F8 1990*8e93258fSBjoern A. Zeeb #define B_AX_SCHEDULER_DBG_MASK GENMASK(31, 0) 1991*8e93258fSBjoern A. Zeeb 1992*8e93258fSBjoern A. Zeeb #define R_AX_SCH_EXT_CTRL 0xC3FC 1993*8e93258fSBjoern A. Zeeb #define R_AX_SCH_EXT_CTRL_C1 0xE3FC 1994*8e93258fSBjoern A. Zeeb #define B_AX_PORT_RST_TSF_ADV BIT(1) 1995*8e93258fSBjoern A. Zeeb 1996*8e93258fSBjoern A. Zeeb #define R_AX_PORT_CFG_P0 0xC400 1997*8e93258fSBjoern A. Zeeb #define R_AX_PORT_CFG_P1 0xC440 1998*8e93258fSBjoern A. Zeeb #define R_AX_PORT_CFG_P2 0xC480 1999*8e93258fSBjoern A. Zeeb #define R_AX_PORT_CFG_P3 0xC4C0 2000*8e93258fSBjoern A. Zeeb #define R_AX_PORT_CFG_P4 0xC500 2001*8e93258fSBjoern A. Zeeb #define B_AX_BRK_SETUP BIT(16) 2002*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_UPD_SHIFT_SEL BIT(15) 2003*8e93258fSBjoern A. Zeeb #define B_AX_BCN_DROP_ALLOW BIT(14) 2004*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_PROHIB_EN BIT(13) 2005*8e93258fSBjoern A. Zeeb #define B_AX_BCNTX_EN BIT(12) 2006*8e93258fSBjoern A. Zeeb #define B_AX_NET_TYPE_MASK GENMASK(11, 10) 2007*8e93258fSBjoern A. Zeeb #define B_AX_BCN_FORCETX_EN BIT(9) 2008*8e93258fSBjoern A. Zeeb #define B_AX_TXBCN_BTCCA_EN BIT(8) 2009*8e93258fSBjoern A. Zeeb #define B_AX_BCNERR_CNT_EN BIT(7) 2010*8e93258fSBjoern A. Zeeb #define B_AX_BCN_AGRES BIT(6) 2011*8e93258fSBjoern A. Zeeb #define B_AX_TSFTR_RST BIT(5) 2012*8e93258fSBjoern A. Zeeb #define B_AX_RX_BSSID_FIT_EN BIT(4) 2013*8e93258fSBjoern A. Zeeb #define B_AX_TSF_UDT_EN BIT(3) 2014*8e93258fSBjoern A. Zeeb #define B_AX_PORT_FUNC_EN BIT(2) 2015*8e93258fSBjoern A. Zeeb #define B_AX_TXBCN_RPT_EN BIT(1) 2016*8e93258fSBjoern A. Zeeb #define B_AX_RXBCN_RPT_EN BIT(0) 2017*8e93258fSBjoern A. Zeeb 2018*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_PROHIB_P0 0xC404 2019*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_PROHIB_P1 0xC444 2020*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_PROHIB_P2 0xC484 2021*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_PROHIB_P3 0xC4C4 2022*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_PROHIB_P4 0xC504 2023*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_HOLD_MASK GENMASK(27, 16) 2024*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_SETUP_MASK GENMASK(7, 0) 2025*8e93258fSBjoern A. Zeeb 2026*8e93258fSBjoern A. Zeeb #define R_AX_BCN_AREA_P0 0xC408 2027*8e93258fSBjoern A. Zeeb #define R_AX_BCN_AREA_P1 0xC448 2028*8e93258fSBjoern A. Zeeb #define R_AX_BCN_AREA_P2 0xC488 2029*8e93258fSBjoern A. Zeeb #define R_AX_BCN_AREA_P3 0xC4C8 2030*8e93258fSBjoern A. Zeeb #define R_AX_BCN_AREA_P4 0xC508 2031*8e93258fSBjoern A. Zeeb #define B_AX_BCN_MSK_AREA_MASK GENMASK(27, 16) 2032*8e93258fSBjoern A. Zeeb #define B_AX_BCN_CTN_AREA_MASK GENMASK(11, 0) 2033*8e93258fSBjoern A. Zeeb 2034*8e93258fSBjoern A. Zeeb #define R_AX_BCNERLYINT_CFG_P0 0xC40C 2035*8e93258fSBjoern A. Zeeb #define R_AX_BCNERLYINT_CFG_P1 0xC44C 2036*8e93258fSBjoern A. Zeeb #define R_AX_BCNERLYINT_CFG_P2 0xC48C 2037*8e93258fSBjoern A. Zeeb #define R_AX_BCNERLYINT_CFG_P3 0xC4CC 2038*8e93258fSBjoern A. Zeeb #define R_AX_BCNERLYINT_CFG_P4 0xC50C 2039*8e93258fSBjoern A. Zeeb #define B_AX_BCNERLY_MASK GENMASK(11, 0) 2040*8e93258fSBjoern A. Zeeb 2041*8e93258fSBjoern A. Zeeb #define R_AX_TBTTERLYINT_CFG_P0 0xC40E 2042*8e93258fSBjoern A. Zeeb #define R_AX_TBTTERLYINT_CFG_P1 0xC44E 2043*8e93258fSBjoern A. Zeeb #define R_AX_TBTTERLYINT_CFG_P2 0xC48E 2044*8e93258fSBjoern A. Zeeb #define R_AX_TBTTERLYINT_CFG_P3 0xC4CE 2045*8e93258fSBjoern A. Zeeb #define R_AX_TBTTERLYINT_CFG_P4 0xC50E 2046*8e93258fSBjoern A. Zeeb #define B_AX_TBTTERLY_MASK GENMASK(11, 0) 2047*8e93258fSBjoern A. Zeeb 2048*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_AGG_P0 0xC412 2049*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_AGG_P1 0xC452 2050*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_AGG_P2 0xC492 2051*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_AGG_P3 0xC4D2 2052*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_AGG_P4 0xC512 2053*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_AGG_NUM_MASK GENMASK(15, 8) 2054*8e93258fSBjoern A. Zeeb 2055*8e93258fSBjoern A. Zeeb #define R_AX_BCN_SPACE_CFG_P0 0xC414 2056*8e93258fSBjoern A. Zeeb #define R_AX_BCN_SPACE_CFG_P1 0xC454 2057*8e93258fSBjoern A. Zeeb #define R_AX_BCN_SPACE_CFG_P2 0xC494 2058*8e93258fSBjoern A. Zeeb #define R_AX_BCN_SPACE_CFG_P3 0xC4D4 2059*8e93258fSBjoern A. Zeeb #define R_AX_BCN_SPACE_CFG_P4 0xC514 2060*8e93258fSBjoern A. Zeeb #define B_AX_SUB_BCN_SPACE_MASK GENMASK(23, 16) 2061*8e93258fSBjoern A. Zeeb #define B_AX_BCN_SPACE_MASK GENMASK(15, 0) 2062*8e93258fSBjoern A. Zeeb 2063*8e93258fSBjoern A. Zeeb #define R_AX_BCN_FORCETX_P0 0xC418 2064*8e93258fSBjoern A. Zeeb #define R_AX_BCN_FORCETX_P1 0xC458 2065*8e93258fSBjoern A. Zeeb #define R_AX_BCN_FORCETX_P2 0xC498 2066*8e93258fSBjoern A. Zeeb #define R_AX_BCN_FORCETX_P3 0xC4D8 2067*8e93258fSBjoern A. Zeeb #define R_AX_BCN_FORCETX_P4 0xC518 2068*8e93258fSBjoern A. Zeeb #define B_AX_FORCE_BCN_CURRCNT_MASK GENMASK(23, 16) 2069*8e93258fSBjoern A. Zeeb #define B_AX_FORCE_BCN_NUM_MASK GENMASK(15, 0) 2070*8e93258fSBjoern A. Zeeb #define B_AX_BCN_MAX_ERR_MASK GENMASK(7, 0) 2071*8e93258fSBjoern A. Zeeb 2072*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_CNT_P0 0xC420 2073*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_CNT_P1 0xC460 2074*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_CNT_P2 0xC4A0 2075*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_CNT_P3 0xC4E0 2076*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_CNT_P4 0xC520 2077*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_CNT_SUM_MASK GENMASK(31, 24) 2078*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_CNT_NAV_MASK GENMASK(23, 16) 2079*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_CNT_EDCCA_MASK GENMASK(15, 0) 2080*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_CNT_CCA_MASK GENMASK(7, 0) 2081*8e93258fSBjoern A. Zeeb 2082*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_FLAG_P0 0xC424 2083*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_FLAG_P1 0xC464 2084*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_FLAG_P2 0xC4A4 2085*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_FLAG_P3 0xC4E4 2086*8e93258fSBjoern A. Zeeb #define R_AX_BCN_ERR_FLAG_P4 0xC524 2087*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_FLAG_OTHERS BIT(6) 2088*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_FLAG_MAC BIT(5) 2089*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_FLAG_TXON BIT(4) 2090*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_FLAG_SRCHEND BIT(3) 2091*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_FLAG_INVALID BIT(2) 2092*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_FLAG_CMP BIT(1) 2093*8e93258fSBjoern A. Zeeb #define B_AX_BCN_ERR_FLAG_LOCK BIT(0) 2094*8e93258fSBjoern A. Zeeb 2095*8e93258fSBjoern A. Zeeb #define R_AX_DTIM_CTRL_P0 0xC426 2096*8e93258fSBjoern A. Zeeb #define R_AX_DTIM_CTRL_P1 0xC466 2097*8e93258fSBjoern A. Zeeb #define R_AX_DTIM_CTRL_P2 0xC4A6 2098*8e93258fSBjoern A. Zeeb #define R_AX_DTIM_CTRL_P3 0xC4E6 2099*8e93258fSBjoern A. Zeeb #define R_AX_DTIM_CTRL_P4 0xC526 2100*8e93258fSBjoern A. Zeeb #define B_AX_DTIM_NUM_MASK GENMASK(15, 8) 2101*8e93258fSBjoern A. Zeeb #define B_AX_DTIM_CURRCNT_MASK GENMASK(7, 0) 2102*8e93258fSBjoern A. Zeeb 2103*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_SHIFT_P0 0xC428 2104*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_SHIFT_P1 0xC468 2105*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_SHIFT_P2 0xC4A8 2106*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_SHIFT_P3 0xC4E8 2107*8e93258fSBjoern A. Zeeb #define R_AX_TBTT_SHIFT_P4 0xC528 2108*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_SHIFT_OFST_MASK GENMASK(11, 0) 2109*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_SHIFT_OFST_SIGN BIT(11) 2110*8e93258fSBjoern A. Zeeb #define B_AX_TBTT_SHIFT_OFST_MAG GENMASK(10, 0) 2111*8e93258fSBjoern A. Zeeb 2112*8e93258fSBjoern A. Zeeb #define R_AX_BCN_CNT_TMR_P0 0xC434 2113*8e93258fSBjoern A. Zeeb #define R_AX_BCN_CNT_TMR_P1 0xC474 2114*8e93258fSBjoern A. Zeeb #define R_AX_BCN_CNT_TMR_P2 0xC4B4 2115*8e93258fSBjoern A. Zeeb #define R_AX_BCN_CNT_TMR_P3 0xC4F4 2116*8e93258fSBjoern A. Zeeb #define R_AX_BCN_CNT_TMR_P4 0xC534 2117*8e93258fSBjoern A. Zeeb #define B_AX_BCN_CNT_TMR_MASK GENMASK(31, 0) 2118*8e93258fSBjoern A. Zeeb 2119*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_LOW_P0 0xC438 2120*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_LOW_P1 0xC478 2121*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_LOW_P2 0xC4B8 2122*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_LOW_P3 0xC4F8 2123*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_LOW_P4 0xC538 2124*8e93258fSBjoern A. Zeeb #define B_AX_TSFTR_LOW_MASK GENMASK(31, 0) 2125*8e93258fSBjoern A. Zeeb 2126*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_HIGH_P0 0xC43C 2127*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_HIGH_P1 0xC47C 2128*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_HIGH_P2 0xC4BC 2129*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_HIGH_P3 0xC4FC 2130*8e93258fSBjoern A. Zeeb #define R_AX_TSFTR_HIGH_P4 0xC53C 2131*8e93258fSBjoern A. Zeeb #define B_AX_TSFTR_HIGH_MASK GENMASK(31, 0) 2132*8e93258fSBjoern A. Zeeb 2133*8e93258fSBjoern A. Zeeb #define R_AX_MBSSID_CTRL 0xC568 2134*8e93258fSBjoern A. Zeeb #define R_AX_MBSSID_CTRL_C1 0xE568 2135*8e93258fSBjoern A. Zeeb #define B_AX_P0MB_ALL_MASK GENMASK(23, 1) 2136*8e93258fSBjoern A. Zeeb #define B_AX_P0MB_NUM_MASK GENMASK(19, 16) 2137*8e93258fSBjoern A. Zeeb #define B_AX_P0MB15_EN BIT(15) 2138*8e93258fSBjoern A. Zeeb #define B_AX_P0MB14_EN BIT(14) 2139*8e93258fSBjoern A. Zeeb #define B_AX_P0MB13_EN BIT(13) 2140*8e93258fSBjoern A. Zeeb #define B_AX_P0MB12_EN BIT(12) 2141*8e93258fSBjoern A. Zeeb #define B_AX_P0MB11_EN BIT(11) 2142*8e93258fSBjoern A. Zeeb #define B_AX_P0MB10_EN BIT(10) 2143*8e93258fSBjoern A. Zeeb #define B_AX_P0MB9_EN BIT(9) 2144*8e93258fSBjoern A. Zeeb #define B_AX_P0MB8_EN BIT(8) 2145*8e93258fSBjoern A. Zeeb #define B_AX_P0MB7_EN BIT(7) 2146*8e93258fSBjoern A. Zeeb #define B_AX_P0MB6_EN BIT(6) 2147*8e93258fSBjoern A. Zeeb #define B_AX_P0MB5_EN BIT(5) 2148*8e93258fSBjoern A. Zeeb #define B_AX_P0MB4_EN BIT(4) 2149*8e93258fSBjoern A. Zeeb #define B_AX_P0MB3_EN BIT(3) 2150*8e93258fSBjoern A. Zeeb #define B_AX_P0MB2_EN BIT(2) 2151*8e93258fSBjoern A. Zeeb #define B_AX_P0MB1_EN BIT(1) 2152*8e93258fSBjoern A. Zeeb 2153*8e93258fSBjoern A. Zeeb #define R_AX_P0MB_HGQ_WINDOW_CFG_0 0xC590 2154*8e93258fSBjoern A. Zeeb #define R_AX_P0MB_HGQ_WINDOW_CFG_0_C1 0xE590 2155*8e93258fSBjoern A. Zeeb #define R_AX_PORT_HGQ_WINDOW_CFG 0xC5A0 2156*8e93258fSBjoern A. Zeeb #define R_AX_PORT_HGQ_WINDOW_CFG_C1 0xE5A0 2157*8e93258fSBjoern A. Zeeb 2158*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_COMMON_SETTING_0 0xC600 2159*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_COMMON_SETTING_0_C1 0xE600 2160*8e93258fSBjoern A. Zeeb #define B_AX_PCIE_MODE_MASK GENMASK(15, 14) 2161*8e93258fSBjoern A. Zeeb #define B_AX_CPUMGQ_LIFETIME_EN BIT(8) 2162*8e93258fSBjoern A. Zeeb #define B_AX_MGQ_LIFETIME_EN BIT(7) 2163*8e93258fSBjoern A. Zeeb #define B_AX_LIFETIME_EN BIT(6) 2164*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TRIGGER_SS_EN_UL BIT(4) 2165*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TRIGGER_SS_EN_1 BIT(3) 2166*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TRIGGER_SS_EN_0 BIT(2) 2167*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_TX_MODE_1 BIT(1) 2168*8e93258fSBjoern A. Zeeb #define B_AX_CMAC_TX_MODE_0 BIT(0) 2169*8e93258fSBjoern A. Zeeb 2170*8e93258fSBjoern A. Zeeb #define R_AX_AMPDU_AGG_LIMIT 0xC610 2171*8e93258fSBjoern A. Zeeb #define B_AX_AMPDU_MAX_TIME_MASK GENMASK(31, 24) 2172*8e93258fSBjoern A. Zeeb #define B_AX_RA_TRY_RATE_AGG_LMT_MASK GENMASK(23, 16) 2173*8e93258fSBjoern A. Zeeb #define B_AX_RTS_MAX_AGG_NUM_MASK GENMASK(15, 8) 2174*8e93258fSBjoern A. Zeeb #define B_AX_MAX_AGG_NUM_MASK GENMASK(7, 0) 2175*8e93258fSBjoern A. Zeeb 2176*8e93258fSBjoern A. Zeeb #define R_AX_AGG_LEN_HT_0 0xC614 2177*8e93258fSBjoern A. Zeeb #define R_AX_AGG_LEN_HT_0_C1 0xE614 2178*8e93258fSBjoern A. Zeeb #define B_AX_AMPDU_MAX_LEN_HT_MASK GENMASK(31, 16) 2179*8e93258fSBjoern A. Zeeb #define B_AX_RTS_TXTIME_TH_MASK GENMASK(15, 8) 2180*8e93258fSBjoern A. Zeeb #define B_AX_RTS_LEN_TH_MASK GENMASK(7, 0) 2181*8e93258fSBjoern A. Zeeb 2182*8e93258fSBjoern A. Zeeb #define S_AX_CTS2S_TH_SEC_256B 1 2183*8e93258fSBjoern A. Zeeb #define R_AX_SIFS_SETTING 0xC624 2184*8e93258fSBjoern A. Zeeb #define R_AX_SIFS_SETTING_C1 0xE624 2185*8e93258fSBjoern A. Zeeb #define B_AX_HW_CTS2SELF_PKT_LEN_TH_MASK GENMASK(31, 24) 2186*8e93258fSBjoern A. Zeeb #define B_AX_HW_CTS2SELF_PKT_LEN_TH_TWW_MASK GENMASK(23, 18) 2187*8e93258fSBjoern A. Zeeb #define B_AX_HW_CTS2SELF_EN BIT(16) 2188*8e93258fSBjoern A. Zeeb #define B_AX_SPEC_SIFS_OFDM_PTCL_SH 8 2189*8e93258fSBjoern A. Zeeb #define B_AX_SPEC_SIFS_OFDM_PTCL_MASK GENMASK(15, 8) 2190*8e93258fSBjoern A. Zeeb #define B_AX_SPEC_SIFS_CCK_PTCL_MASK GENMASK(7, 0) 2191*8e93258fSBjoern A. Zeeb #define S_AX_CTS2S_TH_1K 4 2192*8e93258fSBjoern A. Zeeb 2193*8e93258fSBjoern A. Zeeb #define R_AX_TXRATE_CHK 0xC628 2194*8e93258fSBjoern A. Zeeb #define R_AX_TXRATE_CHK_C1 0xE628 2195*8e93258fSBjoern A. Zeeb #define B_AX_DEFT_RATE_MASK GENMASK(15, 7) 2196*8e93258fSBjoern A. Zeeb #define B_AX_BAND_MODE BIT(4) 2197*8e93258fSBjoern A. Zeeb #define B_AX_MAX_TXNSS_MASK GENMASK(3, 2) 2198*8e93258fSBjoern A. Zeeb #define B_AX_RTS_LIMIT_IN_OFDM6 BIT(1) 2199*8e93258fSBjoern A. Zeeb #define B_AX_CHECK_CCK_EN BIT(0) 2200*8e93258fSBjoern A. Zeeb 2201*8e93258fSBjoern A. Zeeb #define R_AX_TXCNT 0xC62C 2202*8e93258fSBjoern A. Zeeb #define R_AX_TXCNT_C1 0xE62C 2203*8e93258fSBjoern A. Zeeb #define B_AX_ADD_TXCNT_BY BIT(31) 2204*8e93258fSBjoern A. Zeeb #define B_AX_S_TXCNT_LMT_MASK GENMASK(29, 24) 2205*8e93258fSBjoern A. Zeeb #define B_AX_L_TXCNT_LMT_MASK GENMASK(21, 16) 2206*8e93258fSBjoern A. Zeeb 2207*8e93258fSBjoern A. Zeeb #define R_AX_MBSSID_DROP_0 0xC63C 2208*8e93258fSBjoern A. Zeeb #define R_AX_MBSSID_DROP_0_C1 0xE63C 2209*8e93258fSBjoern A. Zeeb #define B_AX_GI_LTF_FB_SEL BIT(30) 2210*8e93258fSBjoern A. Zeeb #define B_AX_RATE_SEL_MASK GENMASK(29, 24) 2211*8e93258fSBjoern A. Zeeb #define B_AX_PORT_DROP_4_0_MASK GENMASK(20, 16) 2212*8e93258fSBjoern A. Zeeb #define B_AX_MBSSID_DROP_15_0_MASK GENMASK(15, 0) 2213*8e93258fSBjoern A. Zeeb 2214*8e93258fSBjoern A. Zeeb #define R_AX_PTCLRPT_FULL_HDL 0xC660 2215*8e93258fSBjoern A. Zeeb #define R_AX_PTCLRPT_FULL_HDL_C1 0xE660 2216*8e93258fSBjoern A. Zeeb #define B_AX_RPT_LATCH_PHY_TIME_MASK GENMASK(15, 12) 2217*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMD_FWWD_RLS_MODE BIT(9) 2218*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMD_RPT_EN BIT(8) 2219*8e93258fSBjoern A. Zeeb #define B_AX_BCN_RPT_PATH_MASK GENMASK(7, 6) 2220*8e93258fSBjoern A. Zeeb #define B_AX_SPE_RPT_PATH_MASK GENMASK(5, 4) 2221*8e93258fSBjoern A. Zeeb #define FWD_TO_WLCPU 1 2222*8e93258fSBjoern A. Zeeb #define B_AX_TX_RPT_PATH_MASK GENMASK(3, 2) 2223*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMDRPT_FULL_DROP BIT(1) 2224*8e93258fSBjoern A. Zeeb #define B_AX_NON_F2PCMDRPT_FULL_DROP BIT(0) 2225*8e93258fSBjoern A. Zeeb 2226*8e93258fSBjoern A. Zeeb #define R_AX_BT_PLT 0xC67C 2227*8e93258fSBjoern A. Zeeb #define R_AX_BT_PLT_C1 0xE67C 2228*8e93258fSBjoern A. Zeeb #define B_AX_BT_PLT_PKT_CNT_MASK GENMASK(31, 16) 2229*8e93258fSBjoern A. Zeeb #define B_AX_BT_PLT_RST BIT(9) 2230*8e93258fSBjoern A. Zeeb #define B_AX_PLT_EN BIT(8) 2231*8e93258fSBjoern A. Zeeb #define B_AX_RX_PLT_GNT_LTE_RX BIT(7) 2232*8e93258fSBjoern A. Zeeb #define B_AX_RX_PLT_GNT_BT_RX BIT(6) 2233*8e93258fSBjoern A. Zeeb #define B_AX_RX_PLT_GNT_BT_TX BIT(5) 2234*8e93258fSBjoern A. Zeeb #define B_AX_RX_PLT_GNT_WL BIT(4) 2235*8e93258fSBjoern A. Zeeb #define B_AX_TX_PLT_GNT_LTE_RX BIT(3) 2236*8e93258fSBjoern A. Zeeb #define B_AX_TX_PLT_GNT_BT_RX BIT(2) 2237*8e93258fSBjoern A. Zeeb #define B_AX_TX_PLT_GNT_BT_TX BIT(1) 2238*8e93258fSBjoern A. Zeeb #define B_AX_TX_PLT_GNT_WL BIT(0) 2239*8e93258fSBjoern A. Zeeb 2240*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_BSS_COLOR_0 0xC6A0 2241*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_BSS_COLOR_0_C1 0xE6A0 2242*8e93258fSBjoern A. Zeeb #define B_AX_BSS_COLOB_AX_PORT_3_MASK GENMASK(29, 24) 2243*8e93258fSBjoern A. Zeeb #define B_AX_BSS_COLOB_AX_PORT_2_MASK GENMASK(21, 16) 2244*8e93258fSBjoern A. Zeeb #define B_AX_BSS_COLOB_AX_PORT_1_MASK GENMASK(13, 8) 2245*8e93258fSBjoern A. Zeeb #define B_AX_BSS_COLOB_AX_PORT_0_MASK GENMASK(5, 0) 2246*8e93258fSBjoern A. Zeeb 2247*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_BSS_COLOR_1 0xC6A4 2248*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_BSS_COLOR_1_C1 0xE6A4 2249*8e93258fSBjoern A. Zeeb #define B_AX_BSS_COLOB_AX_PORT_4_MASK GENMASK(5, 0) 2250*8e93258fSBjoern A. Zeeb 2251*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_IMR0 0xC6C0 2252*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_IMR0_C1 0xE6C0 2253*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMD_PKTID_ERR_INT_EN BIT(31) 2254*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMD_RD_PKTID_ERR_INT_EN BIT(30) 2255*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMD_ASSIGN_PKTID_ERR_INT_EN BIT(29) 2256*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMD_USER_ALLC_ERR_INT_EN BIT(28) 2257*8e93258fSBjoern A. Zeeb #define B_AX_RX_SPF_U0_PKTID_ERR_INT_EN BIT(27) 2258*8e93258fSBjoern A. Zeeb #define B_AX_TX_SPF_U1_PKTID_ERR_INT_EN BIT(26) 2259*8e93258fSBjoern A. Zeeb #define B_AX_TX_SPF_U2_PKTID_ERR_INT_EN BIT(25) 2260*8e93258fSBjoern A. Zeeb #define B_AX_TX_SPF_U3_PKTID_ERR_INT_EN BIT(24) 2261*8e93258fSBjoern A. Zeeb #define B_AX_TX_RECORD_PKTID_ERR_INT_EN BIT(23) 2262*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMD_EMPTY_ERR_INT_EN BIT(15) 2263*8e93258fSBjoern A. Zeeb #define B_AX_TWTSP_QSEL_ERR_INT_EN BIT(14) 2264*8e93258fSBjoern A. Zeeb #define B_AX_BCNQ_ORDER_ERR_INT_EN BIT(12) 2265*8e93258fSBjoern A. Zeeb #define B_AX_Q_PKTID_ERR_INT_EN BIT(11) 2266*8e93258fSBjoern A. Zeeb #define B_AX_D_PKTID_ERR_INT_EN BIT(10) 2267*8e93258fSBjoern A. Zeeb #define B_AX_TXPRT_FULL_DROP_ERR_INT_EN BIT(9) 2268*8e93258fSBjoern A. Zeeb #define B_AX_F2PCMDRPT_FULL_DROP_ERR_INT_EN BIT(8) 2269*8e93258fSBjoern A. Zeeb #define B_AX_FSM1_TIMEOUT_ERR_INT_EN BIT(1) 2270*8e93258fSBjoern A. Zeeb #define B_AX_FSM_TIMEOUT_ERR_INT_EN BIT(0) 2271*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_IMR_CLR (B_AX_FSM_TIMEOUT_ERR_INT_EN | \ 2272*8e93258fSBjoern A. Zeeb B_AX_F2PCMDRPT_FULL_DROP_ERR_INT_EN | \ 2273*8e93258fSBjoern A. Zeeb B_AX_TXPRT_FULL_DROP_ERR_INT_EN | \ 2274*8e93258fSBjoern A. Zeeb B_AX_D_PKTID_ERR_INT_EN | \ 2275*8e93258fSBjoern A. Zeeb B_AX_Q_PKTID_ERR_INT_EN | \ 2276*8e93258fSBjoern A. Zeeb B_AX_BCNQ_ORDER_ERR_INT_EN | \ 2277*8e93258fSBjoern A. Zeeb B_AX_TWTSP_QSEL_ERR_INT_EN | \ 2278*8e93258fSBjoern A. Zeeb B_AX_F2PCMD_EMPTY_ERR_INT_EN | \ 2279*8e93258fSBjoern A. Zeeb B_AX_TX_RECORD_PKTID_ERR_INT_EN | \ 2280*8e93258fSBjoern A. Zeeb B_AX_TX_SPF_U3_PKTID_ERR_INT_EN | \ 2281*8e93258fSBjoern A. Zeeb B_AX_TX_SPF_U2_PKTID_ERR_INT_EN | \ 2282*8e93258fSBjoern A. Zeeb B_AX_TX_SPF_U1_PKTID_ERR_INT_EN | \ 2283*8e93258fSBjoern A. Zeeb B_AX_RX_SPF_U0_PKTID_ERR_INT_EN | \ 2284*8e93258fSBjoern A. Zeeb B_AX_F2PCMD_USER_ALLC_ERR_INT_EN | \ 2285*8e93258fSBjoern A. Zeeb B_AX_F2PCMD_ASSIGN_PKTID_ERR_INT_EN | \ 2286*8e93258fSBjoern A. Zeeb B_AX_F2PCMD_RD_PKTID_ERR_INT_EN | \ 2287*8e93258fSBjoern A. Zeeb B_AX_F2PCMD_PKTID_ERR_INT_EN) 2288*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_IMR_SET (B_AX_FSM_TIMEOUT_ERR_INT_EN | \ 2289*8e93258fSBjoern A. Zeeb B_AX_TX_RECORD_PKTID_ERR_INT_EN | \ 2290*8e93258fSBjoern A. Zeeb B_AX_F2PCMD_USER_ALLC_ERR_INT_EN) 2291*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_IMR_CLR_V1 (B_AX_FSM1_TIMEOUT_ERR_INT_EN | \ 2292*8e93258fSBjoern A. Zeeb B_AX_FSM_TIMEOUT_ERR_INT_EN) 2293*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_IMR_SET_V1 (B_AX_FSM1_TIMEOUT_ERR_INT_EN | \ 2294*8e93258fSBjoern A. Zeeb B_AX_FSM_TIMEOUT_ERR_INT_EN) 2295*8e93258fSBjoern A. Zeeb 2296*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_ISR0 0xC6C4 2297*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_ISR0_C1 0xE6C4 2298*8e93258fSBjoern A. Zeeb 2299*8e93258fSBjoern A. Zeeb #define S_AX_PTCL_TO_2MS 0x3F 2300*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_FSM_MON 0xC6E8 2301*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_FSM_MON_C1 0xE6E8 2302*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TX_ARB_TO_MODE BIT(6) 2303*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TX_ARB_TO_THR_MASK GENMASK(5, 0) 2304*8e93258fSBjoern A. Zeeb 2305*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_TX_CTN_SEL 0xC6EC 2306*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_TX_CTN_SEL_C1 0xE6EC 2307*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_TX_ON_STAT BIT(7) 2308*8e93258fSBjoern A. Zeeb 2309*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_DBG_INFO 0xC6F0 2310*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_DBG_INFO_C1 0xE6F0 2311*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_DBG_INFO_MASK GENMASK(31, 0) 2312*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_DBG 0xC6F4 2313*8e93258fSBjoern A. Zeeb #define R_AX_PTCL_DBG_C1 0xE6F4 2314*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_DBG_EN BIT(8) 2315*8e93258fSBjoern A. Zeeb #define B_AX_PTCL_DBG_SEL_MASK GENMASK(7, 0) 2316*8e93258fSBjoern A. Zeeb 2317*8e93258fSBjoern A. Zeeb #define R_AX_DLE_CTRL 0xC800 2318*8e93258fSBjoern A. Zeeb #define R_AX_DLE_CTRL_C1 0xE800 2319*8e93258fSBjoern A. Zeeb #define B_AX_NO_RESERVE_PAGE_ERR_IMR BIT(23) 2320*8e93258fSBjoern A. Zeeb #define B_AX_RXDATA_FSM_HANG_ERROR_IMR BIT(15) 2321*8e93258fSBjoern A. Zeeb #define B_AX_RXSTS_FSM_HANG_ERROR_IMR BIT(14) 2322*8e93258fSBjoern A. Zeeb #define B_AX_DLE_IMR_CLR (B_AX_RXSTS_FSM_HANG_ERROR_IMR | \ 2323*8e93258fSBjoern A. Zeeb B_AX_RXDATA_FSM_HANG_ERROR_IMR | \ 2324*8e93258fSBjoern A. Zeeb B_AX_NO_RESERVE_PAGE_ERR_IMR) 2325*8e93258fSBjoern A. Zeeb #define B_AX_DLE_IMR_SET (B_AX_RXSTS_FSM_HANG_ERROR_IMR | \ 2326*8e93258fSBjoern A. Zeeb B_AX_RXDATA_FSM_HANG_ERROR_IMR) 2327*8e93258fSBjoern A. Zeeb 2328*8e93258fSBjoern A. Zeeb #define R_AX_RXDMA_PKT_INFO_0 0xC814 2329*8e93258fSBjoern A. Zeeb #define R_AX_RXDMA_PKT_INFO_1 0xC818 2330*8e93258fSBjoern A. Zeeb #define R_AX_RXDMA_PKT_INFO_2 0xC81C 2331*8e93258fSBjoern A. Zeeb 2332*8e93258fSBjoern A. Zeeb #define R_AX_RX_ERR_FLAG_IMR 0xC804 2333*8e93258fSBjoern A. Zeeb #define R_AX_RX_ERR_FLAG_IMR_C1 0xE804 2334*8e93258fSBjoern A. Zeeb #define B_AX_RX_GET_NULL_PKT_ERR_MSK BIT(30) 2335*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK BIT(29) 2336*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK BIT(28) 2337*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK BIT(27) 2338*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK BIT(26) 2339*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK BIT(25) 2340*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK BIT(24) 2341*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK BIT(23) 2342*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK BIT(22) 2343*8e93258fSBjoern A. Zeeb #define B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK BIT(21) 2344*8e93258fSBjoern A. Zeeb #define B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK BIT(20) 2345*8e93258fSBjoern A. Zeeb #define B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK BIT(19) 2346*8e93258fSBjoern A. Zeeb #define B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK BIT(18) 2347*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU0_ZERO_LEN_ERR_MSK BIT(17) 2348*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU1_ZERO_LEN_ERR_MSK BIT(16) 2349*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU2_ZERO_LEN_ERR_MSK BIT(15) 2350*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU3_ZERO_LEN_ERR_MSK BIT(14) 2351*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU4_ZERO_LEN_ERR_MSK BIT(13) 2352*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU5_ZERO_LEN_ERR_MSK BIT(12) 2353*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU6_ZERO_LEN_ERR_MSK BIT(11) 2354*8e93258fSBjoern A. Zeeb #define B_AX_RX_RU7_ZERO_LEN_ERR_MSK BIT(10) 2355*8e93258fSBjoern A. Zeeb #define B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK BIT(9) 2356*8e93258fSBjoern A. Zeeb #define B_AX_RX_CSI_ZERO_LEN_ERR_MSK BIT(8) 2357*8e93258fSBjoern A. Zeeb #define B_AX_PLE_DATA_OPT_FSM_HANG_MSK BIT(7) 2358*8e93258fSBjoern A. Zeeb #define B_AX_PLE_RXDATA_REQ_BUF_FSM_HANG_MSK BIT(6) 2359*8e93258fSBjoern A. Zeeb #define B_AX_PLE_TXRPT_REQ_BUF_FSM_HANG_MSK BIT(5) 2360*8e93258fSBjoern A. Zeeb #define B_AX_PLE_WD_OPT_FSM_HANG_MSK BIT(4) 2361*8e93258fSBjoern A. Zeeb #define B_AX_PLE_ENQ_FSM_HANG_MSK BIT(3) 2362*8e93258fSBjoern A. Zeeb #define B_AX_RXDATA_ENQUE_ORDER_ERR_MSK BIT(2) 2363*8e93258fSBjoern A. Zeeb #define B_AX_RXSTS_ENQUE_ORDER_ERR_MSK BIT(1) 2364*8e93258fSBjoern A. Zeeb #define B_AX_RX_CSI_PKT_NUM_ERR_MSK BIT(0) 2365*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_IMR_CLR_V1 (B_AX_RXSTS_ENQUE_ORDER_ERR_MSK | \ 2366*8e93258fSBjoern A. Zeeb B_AX_RXDATA_ENQUE_ORDER_ERR_MSK | \ 2367*8e93258fSBjoern A. Zeeb B_AX_RX_CSI_ZERO_LEN_ERR_MSK | \ 2368*8e93258fSBjoern A. Zeeb B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK | \ 2369*8e93258fSBjoern A. Zeeb B_AX_RX_RU7_ZERO_LEN_ERR_MSK | \ 2370*8e93258fSBjoern A. Zeeb B_AX_RX_RU6_ZERO_LEN_ERR_MSK | \ 2371*8e93258fSBjoern A. Zeeb B_AX_RX_RU5_ZERO_LEN_ERR_MSK | \ 2372*8e93258fSBjoern A. Zeeb B_AX_RX_RU4_ZERO_LEN_ERR_MSK | \ 2373*8e93258fSBjoern A. Zeeb B_AX_RX_RU3_ZERO_LEN_ERR_MSK | \ 2374*8e93258fSBjoern A. Zeeb B_AX_RX_RU2_ZERO_LEN_ERR_MSK | \ 2375*8e93258fSBjoern A. Zeeb B_AX_RX_RU1_ZERO_LEN_ERR_MSK | \ 2376*8e93258fSBjoern A. Zeeb B_AX_RX_RU0_ZERO_LEN_ERR_MSK | \ 2377*8e93258fSBjoern A. Zeeb B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK | \ 2378*8e93258fSBjoern A. Zeeb B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK | \ 2379*8e93258fSBjoern A. Zeeb B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK | \ 2380*8e93258fSBjoern A. Zeeb B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK | \ 2381*8e93258fSBjoern A. Zeeb B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK | \ 2382*8e93258fSBjoern A. Zeeb B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK | \ 2383*8e93258fSBjoern A. Zeeb B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK | \ 2384*8e93258fSBjoern A. Zeeb B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK | \ 2385*8e93258fSBjoern A. Zeeb B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK | \ 2386*8e93258fSBjoern A. Zeeb B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK | \ 2387*8e93258fSBjoern A. Zeeb B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK | \ 2388*8e93258fSBjoern A. Zeeb B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK | \ 2389*8e93258fSBjoern A. Zeeb B_AX_RX_GET_NULL_PKT_ERR_MSK) 2390*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_IMR_SET_V1 (B_AX_RXSTS_ENQUE_ORDER_ERR_MSK | \ 2391*8e93258fSBjoern A. Zeeb B_AX_RXDATA_ENQUE_ORDER_ERR_MSK | \ 2392*8e93258fSBjoern A. Zeeb B_AX_RX_CSI_ZERO_LEN_ERR_MSK | \ 2393*8e93258fSBjoern A. Zeeb B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK | \ 2394*8e93258fSBjoern A. Zeeb B_AX_RX_RU7_ZERO_LEN_ERR_MSK | \ 2395*8e93258fSBjoern A. Zeeb B_AX_RX_RU6_ZERO_LEN_ERR_MSK | \ 2396*8e93258fSBjoern A. Zeeb B_AX_RX_RU5_ZERO_LEN_ERR_MSK | \ 2397*8e93258fSBjoern A. Zeeb B_AX_RX_RU4_ZERO_LEN_ERR_MSK | \ 2398*8e93258fSBjoern A. Zeeb B_AX_RX_RU3_ZERO_LEN_ERR_MSK | \ 2399*8e93258fSBjoern A. Zeeb B_AX_RX_RU2_ZERO_LEN_ERR_MSK | \ 2400*8e93258fSBjoern A. Zeeb B_AX_RX_RU1_ZERO_LEN_ERR_MSK | \ 2401*8e93258fSBjoern A. Zeeb B_AX_RX_RU0_ZERO_LEN_ERR_MSK | \ 2402*8e93258fSBjoern A. Zeeb B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK | \ 2403*8e93258fSBjoern A. Zeeb B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK | \ 2404*8e93258fSBjoern A. Zeeb B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK | \ 2405*8e93258fSBjoern A. Zeeb B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK | \ 2406*8e93258fSBjoern A. Zeeb B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK | \ 2407*8e93258fSBjoern A. Zeeb B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK | \ 2408*8e93258fSBjoern A. Zeeb B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK | \ 2409*8e93258fSBjoern A. Zeeb B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK | \ 2410*8e93258fSBjoern A. Zeeb B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK | \ 2411*8e93258fSBjoern A. Zeeb B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK | \ 2412*8e93258fSBjoern A. Zeeb B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK | \ 2413*8e93258fSBjoern A. Zeeb B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK | \ 2414*8e93258fSBjoern A. Zeeb B_AX_RX_GET_NULL_PKT_ERR_MSK) 2415*8e93258fSBjoern A. Zeeb 2416*8e93258fSBjoern A. Zeeb #define R_AX_TX_ERR_FLAG_IMR 0xC870 2417*8e93258fSBjoern A. Zeeb #define R_AX_TX_ERR_FLAG_IMR_C1 0xE870 2418*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU0_FSM_HANG_ERR_MSK BIT(31) 2419*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU1_FSM_HANG_ERR_MSK BIT(30) 2420*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU2_FSM_HANG_ERR_MSK BIT(29) 2421*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU3_FSM_HANG_ERR_MSK BIT(28) 2422*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU4_FSM_HANG_ERR_MSK BIT(27) 2423*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU5_FSM_HANG_ERR_MSK BIT(26) 2424*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU6_FSM_HANG_ERR_MSK BIT(25) 2425*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU7_FSM_HANG_ERR_MSK BIT(24) 2426*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU8_FSM_HANG_ERR_MSK BIT(23) 2427*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU9_FSM_HANG_ERR_MSK BIT(22) 2428*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU10_FSM_HANG_ERR_MSK BIT(21) 2429*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU11_FSM_HANG_ERR_MSK BIT(20) 2430*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU12_FSM_HANG_ERR_MSK BIT(19) 2431*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU13_FSM_HANG_ERR_MSK BIT(18) 2432*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU14_FSM_HANG_ERR_MSK BIT(17) 2433*8e93258fSBjoern A. Zeeb #define B_AX_TX_RU15_FSM_HANG_ERR_MSK BIT(16) 2434*8e93258fSBjoern A. Zeeb #define B_AX_TX_CSI_FSM_HANG_ERR_MSK BIT(15) 2435*8e93258fSBjoern A. Zeeb #define B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK BIT(14) 2436*8e93258fSBjoern A. Zeeb #define B_AX_TX_ERR_IMR_CLR_V1 (B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK | \ 2437*8e93258fSBjoern A. Zeeb B_AX_TX_CSI_FSM_HANG_ERR_MSK | \ 2438*8e93258fSBjoern A. Zeeb B_AX_TX_RU7_FSM_HANG_ERR_MSK | \ 2439*8e93258fSBjoern A. Zeeb B_AX_TX_RU6_FSM_HANG_ERR_MSK | \ 2440*8e93258fSBjoern A. Zeeb B_AX_TX_RU5_FSM_HANG_ERR_MSK | \ 2441*8e93258fSBjoern A. Zeeb B_AX_TX_RU4_FSM_HANG_ERR_MSK | \ 2442*8e93258fSBjoern A. Zeeb B_AX_TX_RU3_FSM_HANG_ERR_MSK | \ 2443*8e93258fSBjoern A. Zeeb B_AX_TX_RU2_FSM_HANG_ERR_MSK | \ 2444*8e93258fSBjoern A. Zeeb B_AX_TX_RU1_FSM_HANG_ERR_MSK | \ 2445*8e93258fSBjoern A. Zeeb B_AX_TX_RU0_FSM_HANG_ERR_MSK) 2446*8e93258fSBjoern A. Zeeb #define B_AX_TX_ERR_IMR_SET_V1 (B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK | \ 2447*8e93258fSBjoern A. Zeeb B_AX_TX_CSI_FSM_HANG_ERR_MSK | \ 2448*8e93258fSBjoern A. Zeeb B_AX_TX_RU7_FSM_HANG_ERR_MSK | \ 2449*8e93258fSBjoern A. Zeeb B_AX_TX_RU6_FSM_HANG_ERR_MSK | \ 2450*8e93258fSBjoern A. Zeeb B_AX_TX_RU5_FSM_HANG_ERR_MSK | \ 2451*8e93258fSBjoern A. Zeeb B_AX_TX_RU4_FSM_HANG_ERR_MSK | \ 2452*8e93258fSBjoern A. Zeeb B_AX_TX_RU3_FSM_HANG_ERR_MSK | \ 2453*8e93258fSBjoern A. Zeeb B_AX_TX_RU2_FSM_HANG_ERR_MSK | \ 2454*8e93258fSBjoern A. Zeeb B_AX_TX_RU1_FSM_HANG_ERR_MSK | \ 2455*8e93258fSBjoern A. Zeeb B_AX_TX_RU0_FSM_HANG_ERR_MSK) 2456*8e93258fSBjoern A. Zeeb 2457*8e93258fSBjoern A. Zeeb #define R_AX_TCR0 0xCA00 2458*8e93258fSBjoern A. Zeeb #define R_AX_TCR0_C1 0xEA00 2459*8e93258fSBjoern A. Zeeb #define B_AX_TCR_ZLD_NUM_MASK GENMASK(31, 24) 2460*8e93258fSBjoern A. Zeeb #define B_AX_TCR_UDF_EN BIT(23) 2461*8e93258fSBjoern A. Zeeb #define B_AX_TCR_UDF_THSD_MASK GENMASK(22, 16) 2462*8e93258fSBjoern A. Zeeb #define TCR_UDF_THSD 0x6 2463*8e93258fSBjoern A. Zeeb #define B_AX_TCR_ERRSTEN_MASK GENMASK(15, 10) 2464*8e93258fSBjoern A. Zeeb #define B_AX_TCR_VHTSIGA1_TXPS BIT(9) 2465*8e93258fSBjoern A. Zeeb #define B_AX_TCR_PLCP_ERRHDL_EN BIT(8) 2466*8e93258fSBjoern A. Zeeb #define B_AX_TCR_PADSEL BIT(7) 2467*8e93258fSBjoern A. Zeeb #define B_AX_TCR_MASK_SIGBCRC BIT(6) 2468*8e93258fSBjoern A. Zeeb #define B_AX_TCR_SR_VAL15_ALLOW BIT(5) 2469*8e93258fSBjoern A. Zeeb #define B_AX_TCR_EN_EOF BIT(4) 2470*8e93258fSBjoern A. Zeeb #define B_AX_TCR_EN_SCRAM_INC BIT(3) 2471*8e93258fSBjoern A. Zeeb #define B_AX_TCR_EN_20MST BIT(2) 2472*8e93258fSBjoern A. Zeeb #define B_AX_TCR_CRC BIT(1) 2473*8e93258fSBjoern A. Zeeb #define B_AX_TCR_DISGCLK BIT(0) 2474*8e93258fSBjoern A. Zeeb 2475*8e93258fSBjoern A. Zeeb #define R_AX_TCR1 0xCA04 2476*8e93258fSBjoern A. Zeeb #define R_AX_TCR1_C1 0xEA04 2477*8e93258fSBjoern A. Zeeb #define B_AX_TXDFIFO_THRESHOLD GENMASK(31, 28) 2478*8e93258fSBjoern A. Zeeb #define B_AX_TCR_CCK_LOCK_CLK BIT(27) 2479*8e93258fSBjoern A. Zeeb #define B_AX_TCR_FORCE_READ_TXDFIFO BIT(26) 2480*8e93258fSBjoern A. Zeeb #define B_AX_TCR_USTIME GENMASK(23, 16) 2481*8e93258fSBjoern A. Zeeb #define B_AX_TCR_SMOOTH_VAL BIT(15) 2482*8e93258fSBjoern A. Zeeb #define B_AX_TCR_SMOOTH_CTRL BIT(14) 2483*8e93258fSBjoern A. Zeeb #define B_AX_CS_REQ_VAL BIT(13) 2484*8e93258fSBjoern A. Zeeb #define B_AX_CS_REQ_SEL BIT(12) 2485*8e93258fSBjoern A. Zeeb #define B_AX_TCR_ZLD_USTIME_AFTERPHYTXON GENMASK(11, 8) 2486*8e93258fSBjoern A. Zeeb #define B_AX_TCR_TXTIMEOUT GENMASK(7, 0) 2487*8e93258fSBjoern A. Zeeb 2488*8e93258fSBjoern A. Zeeb #define R_AX_MD_TSFT_STMP_CTL 0xCA08 2489*8e93258fSBjoern A. Zeeb #define R_AX_MD_TSFT_STMP_CTL_C1 0xEA08 2490*8e93258fSBjoern A. Zeeb #define B_AX_TSFT_OFS_MASK GENMASK(31, 16) 2491*8e93258fSBjoern A. Zeeb #define B_AX_STMP_THSD_MASK GENMASK(15, 8) 2492*8e93258fSBjoern A. Zeeb #define B_AX_UPD_HGQMD BIT(1) 2493*8e93258fSBjoern A. Zeeb #define B_AX_UPD_TIMIE BIT(0) 2494*8e93258fSBjoern A. Zeeb 2495*8e93258fSBjoern A. Zeeb #define R_AX_PPWRBIT_SETTING 0xCA0C 2496*8e93258fSBjoern A. Zeeb #define R_AX_PPWRBIT_SETTING_C1 0xEA0C 2497*8e93258fSBjoern A. Zeeb 2498*8e93258fSBjoern A. Zeeb #define R_AX_TXD_FIFO_CTRL 0xCA1C 2499*8e93258fSBjoern A. Zeeb #define R_AX_TXD_FIFO_CTRL_C1 0xEA1C 2500*8e93258fSBjoern A. Zeeb #define B_AX_NON_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(28, 24) 2501*8e93258fSBjoern A. Zeeb #define B_AX_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(20, 16) 2502*8e93258fSBjoern A. Zeeb #define B_AX_TXDFIFO_HIGH_MCS_THRE_MASK GENMASK(15, 12) 2503*8e93258fSBjoern A. Zeeb #define TXDFIFO_HIGH_MCS_THRE 0x7 2504*8e93258fSBjoern A. Zeeb #define B_AX_TXDFIFO_LOW_MCS_THRE_MASK GENMASK(11, 8) 2505*8e93258fSBjoern A. Zeeb #define TXDFIFO_LOW_MCS_THRE 0x7 2506*8e93258fSBjoern A. Zeeb #define B_AX_HIGH_MCS_PHY_RATE_MASK GENMASK(7, 4) 2507*8e93258fSBjoern A. Zeeb #define B_AX_BW_PHY_RATE_MASK GENMASK(1, 0) 2508*8e93258fSBjoern A. Zeeb 2509*8e93258fSBjoern A. Zeeb #define R_AX_MACTX_DBG_SEL_CNT 0xCA20 2510*8e93258fSBjoern A. Zeeb #define R_AX_MACTX_DBG_SEL_CNT_C1 0xEA20 2511*8e93258fSBjoern A. Zeeb #define B_AX_MACTX_MPDU_CNT GENMASK(31, 24) 2512*8e93258fSBjoern A. Zeeb #define B_AX_MACTX_DMA_CNT GENMASK(23, 16) 2513*8e93258fSBjoern A. Zeeb #define B_AX_LENGTH_ERR_FLAG_U3 BIT(11) 2514*8e93258fSBjoern A. Zeeb #define B_AX_LENGTH_ERR_FLAG_U2 BIT(10) 2515*8e93258fSBjoern A. Zeeb #define B_AX_LENGTH_ERR_FLAG_U1 BIT(9) 2516*8e93258fSBjoern A. Zeeb #define B_AX_LENGTH_ERR_FLAG_U0 BIT(8) 2517*8e93258fSBjoern A. Zeeb #define B_AX_DBGSEL_MACTX_MASK GENMASK(5, 0) 2518*8e93258fSBjoern A. Zeeb 2519*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_CTRL_DEBUG 0xCAE4 2520*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_CTRL_DEBUG_C1 0xEAE4 2521*8e93258fSBjoern A. Zeeb #define B_AX_TX_CTRL_DEBUG_SEL_MASK GENMASK(3, 0) 2522*8e93258fSBjoern A. Zeeb 2523*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_INFO0_DEBUG 0xCAE8 2524*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_INFO0_DEBUG_C1 0xEAE8 2525*8e93258fSBjoern A. Zeeb #define B_AX_TX_CTRL_INFO_P0_MASK GENMASK(31, 0) 2526*8e93258fSBjoern A. Zeeb 2527*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_INFO1_DEBUG 0xCAEC 2528*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_INFO1_DEBUG_C1 0xEAEC 2529*8e93258fSBjoern A. Zeeb #define B_AX_TX_CTRL_INFO_P1_MASK GENMASK(31, 0) 2530*8e93258fSBjoern A. Zeeb 2531*8e93258fSBjoern A. Zeeb #define R_AX_RSP_CHK_SIG 0xCC00 2532*8e93258fSBjoern A. Zeeb #define R_AX_RSP_CHK_SIG_C1 0xEC00 2533*8e93258fSBjoern A. Zeeb #define B_AX_RSP_STATIC_RTS_CHK_SERV_BW_EN BIT(30) 2534*8e93258fSBjoern A. Zeeb #define B_AX_RSP_TBPPDU_CHK_PWR BIT(29) 2535*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_BASIC_NAV BIT(21) 2536*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_INTRA_NAV BIT(20) 2537*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_TXNAV BIT(19) 2538*8e93258fSBjoern A. Zeeb #define B_AX_TXDATA_END_PS_OPT BIT(18) 2539*8e93258fSBjoern A. Zeeb #define B_AX_CHECK_SOUNDING_SEQ BIT(17) 2540*8e93258fSBjoern A. Zeeb #define B_AX_RXBA_IGNOREA2 BIT(16) 2541*8e93258fSBjoern A. Zeeb #define B_AX_ACKTO_CCK_MASK GENMASK(15, 8) 2542*8e93258fSBjoern A. Zeeb #define B_AX_ACKTO_MASK GENMASK(7, 0) 2543*8e93258fSBjoern A. Zeeb 2544*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_0 0xCC04 2545*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_0_C1 0xEC04 2546*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_RESP_STBC_EN BIT(31) 2547*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_RXFTM_TXACK_SC BIT(30) 2548*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_RXFTM_TXACKBWEQ BIT(29) 2549*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_SEC_CCA_80 BIT(28) 2550*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_SEC_CCA_40 BIT(27) 2551*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_SEC_CCA_20 BIT(26) 2552*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_BTCCA BIT(25) 2553*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_EDCCA BIT(24) 2554*8e93258fSBjoern A. Zeeb #define B_AX_RSP_CHK_CCA BIT(23) 2555*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_LDPC_EN BIT(22) 2556*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_SGIEN BIT(21) 2557*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_SPLCPEN BIT(20) 2558*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_BESP_EARLY_TXBA BIT(17) 2559*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_SPEC_SIFS_OFDM_MASK GENMASK(15, 8) 2560*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_SPEC_SIFS_CCK_MASK GENMASK(7, 0) 2561*8e93258fSBjoern A. Zeeb #define WMAC_SPEC_SIFS_OFDM_52A 0x15 2562*8e93258fSBjoern A. Zeeb #define WMAC_SPEC_SIFS_OFDM_52B 0x11 2563*8e93258fSBjoern A. Zeeb #define WMAC_SPEC_SIFS_OFDM_52C 0x11 2564*8e93258fSBjoern A. Zeeb #define WMAC_SPEC_SIFS_CCK 0xA 2565*8e93258fSBjoern A. Zeeb 2566*8e93258fSBjoern A. Zeeb #define R_AX_MAC_LOOPBACK 0xCC20 2567*8e93258fSBjoern A. Zeeb #define R_AX_MAC_LOOPBACK_C1 0xEC20 2568*8e93258fSBjoern A. Zeeb #define B_AX_MACLBK_EN BIT(0) 2569*8e93258fSBjoern A. Zeeb 2570*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_NAV_CTL 0xCC80 2571*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_NAV_CTL_C1 0xEC80 2572*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_NAV_UPPER_EN BIT(26) 2573*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_0P125US_TIMER_MASK GENMASK(25, 18) 2574*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_PLCP_UP_NAV_EN BIT(17) 2575*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_TF_UP_NAV_EN BIT(16) 2576*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_NAV_UPPER_MASK GENMASK(15, 8) 2577*8e93258fSBjoern A. Zeeb #define NAV_12MS 0xBC 2578*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_RTS_RST_DUR_MASK GENMASK(7, 0) 2579*8e93258fSBjoern A. Zeeb 2580*8e93258fSBjoern A. Zeeb #define R_AX_RXTRIG_TEST_USER_2 0xCCB0 2581*8e93258fSBjoern A. Zeeb #define R_AX_RXTRIG_TEST_USER_2_C1 0xECB0 2582*8e93258fSBjoern A. Zeeb #define B_AX_RXTRIG_MACID_MASK GENMASK(31, 24) 2583*8e93258fSBjoern A. Zeeb #define B_AX_RXTRIG_RU26_DIS BIT(21) 2584*8e93258fSBjoern A. Zeeb #define B_AX_RXTRIG_FCSCHK_EN BIT(20) 2585*8e93258fSBjoern A. Zeeb #define B_AX_RXTRIG_PORT_SEL_MASK GENMASK(19, 17) 2586*8e93258fSBjoern A. Zeeb #define B_AX_RXTRIG_EN BIT(16) 2587*8e93258fSBjoern A. Zeeb #define B_AX_RXTRIG_USERINFO_2_MASK GENMASK(15, 0) 2588*8e93258fSBjoern A. Zeeb 2589*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_ERROR_INDICA_MASK 0xCCBC 2590*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_ERROR_INDICA_MASK_C1 0xECBC 2591*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_MODE BIT(22) 2592*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_TIMETOUT_THR_MASK GENMASK(21, 16) 2593*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_FTM BIT(8) 2594*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_CSI BIT(7) 2595*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_MIMO_CTRL BIT(6) 2596*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_RXTB BIT(5) 2597*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_HWSIGB_GEN BIT(4) 2598*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXPLCP BIT(3) 2599*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_RESP BIT(2) 2600*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXCTL BIT(1) 2601*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_MACTX BIT(0) 2602*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_IMR_CLR_V1 (B_AX_TMAC_MACTX | \ 2603*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXCTL | \ 2604*8e93258fSBjoern A. Zeeb B_AX_TMAC_RESP | \ 2605*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXPLCP | \ 2606*8e93258fSBjoern A. Zeeb B_AX_TMAC_HWSIGB_GEN | \ 2607*8e93258fSBjoern A. Zeeb B_AX_TMAC_RXTB | \ 2608*8e93258fSBjoern A. Zeeb B_AX_TMAC_MIMO_CTRL | \ 2609*8e93258fSBjoern A. Zeeb B_AX_RMAC_CSI | \ 2610*8e93258fSBjoern A. Zeeb B_AX_RMAC_FTM) 2611*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_IMR_SET_V1 (B_AX_TMAC_MACTX | \ 2612*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXCTL | \ 2613*8e93258fSBjoern A. Zeeb B_AX_TMAC_RESP | \ 2614*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXPLCP | \ 2615*8e93258fSBjoern A. Zeeb B_AX_TMAC_HWSIGB_GEN | \ 2616*8e93258fSBjoern A. Zeeb B_AX_TMAC_RXTB | \ 2617*8e93258fSBjoern A. Zeeb B_AX_TMAC_MIMO_CTRL | \ 2618*8e93258fSBjoern A. Zeeb B_AX_RMAC_FTM) 2619*8e93258fSBjoern A. Zeeb 2620*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_TF_INFO_0 0xCCD0 2621*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_TF_INFO_0_C1 0xECD0 2622*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_TX_TF_INFO_SEL_MASK GENMASK(2, 0) 2623*8e93258fSBjoern A. Zeeb 2624*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_TF_INFO_1 0xCCD4 2625*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_TF_INFO_1_C1 0xECD4 2626*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_TX_TF_INFO_P0_MASK GENMASK(31, 0) 2627*8e93258fSBjoern A. Zeeb 2628*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_TF_INFO_2 0xCCD8 2629*8e93258fSBjoern A. Zeeb #define R_AX_WMAC_TX_TF_INFO_2_C1 0xECD8 2630*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_TX_TF_INFO_P1_MASK GENMASK(31, 0) 2631*8e93258fSBjoern A. Zeeb 2632*8e93258fSBjoern A. Zeeb #define R_AX_TMAC_ERR_IMR_ISR 0xCCEC 2633*8e93258fSBjoern A. Zeeb #define R_AX_TMAC_ERR_IMR_ISR_C1 0xECEC 2634*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXPLCP_ERR_CLR BIT(19) 2635*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_RESP_ERR_CLR BIT(18) 2636*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXCTL_ERR_CLR BIT(17) 2637*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_MACTX_ERR_CLR BIT(16) 2638*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXPLCP_ERR BIT(14) 2639*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_RESP_ERR BIT(13) 2640*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXCTL_ERR BIT(12) 2641*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_MACTX_ERR BIT(11) 2642*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXPLCP_INT_EN BIT(10) 2643*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_RESP_INT_EN BIT(9) 2644*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TXCTL_INT_EN BIT(8) 2645*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_MACTX_INT_EN BIT(7) 2646*8e93258fSBjoern A. Zeeb #define B_AX_WMAC_INT_MODE BIT(6) 2647*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_TIMETOUT_THR_MASK GENMASK(5, 0) 2648*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_IMR_CLR (B_AX_TMAC_MACTX_INT_EN | \ 2649*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXCTL_INT_EN | \ 2650*8e93258fSBjoern A. Zeeb B_AX_TMAC_RESP_INT_EN | \ 2651*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXPLCP_INT_EN) 2652*8e93258fSBjoern A. Zeeb #define B_AX_TMAC_IMR_SET (B_AX_TMAC_MACTX_INT_EN | \ 2653*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXCTL_INT_EN | \ 2654*8e93258fSBjoern A. Zeeb B_AX_TMAC_RESP_INT_EN | \ 2655*8e93258fSBjoern A. Zeeb B_AX_TMAC_TXPLCP_INT_EN) 2656*8e93258fSBjoern A. Zeeb 2657*8e93258fSBjoern A. Zeeb #define R_AX_DBGSEL_TRXPTCL 0xCCF4 2658*8e93258fSBjoern A. Zeeb #define R_AX_DBGSEL_TRXPTCL_C1 0xECF4 2659*8e93258fSBjoern A. Zeeb #define B_AX_DBGSEL_TRXPTCL_MASK GENMASK(7, 0) 2660*8e93258fSBjoern A. Zeeb 2661*8e93258fSBjoern A. Zeeb #define R_AX_PHYINFO_ERR_IMR_V1 0xCCF8 2662*8e93258fSBjoern A. Zeeb #define R_AX_PHYINFO_ERR_IMR_V1_C1 0xECF8 2663*8e93258fSBjoern A. Zeeb #define B_AX_PHYINTF_TIMEOUT_THR_MSAK_V1 GENMASK(21, 16) 2664*8e93258fSBjoern A. Zeeb #define B_AX_CSI_ON_TIMEOUT_EN BIT(5) 2665*8e93258fSBjoern A. Zeeb #define B_AX_STS_ON_TIMEOUT_EN BIT(4) 2666*8e93258fSBjoern A. Zeeb #define B_AX_DATA_ON_TIMEOUT_EN BIT(3) 2667*8e93258fSBjoern A. Zeeb #define B_AX_OFDM_CCA_TIMEOUT_EN BIT(2) 2668*8e93258fSBjoern A. Zeeb #define B_AX_CCK_CCA_TIMEOUT_EN BIT(1) 2669*8e93258fSBjoern A. Zeeb #define B_AX_PHY_TXON_TIMEOUT_EN BIT(0) 2670*8e93258fSBjoern A. Zeeb #define B_AX_PHYINFO_IMR_CLR_V1 (B_AX_PHY_TXON_TIMEOUT_EN | \ 2671*8e93258fSBjoern A. Zeeb B_AX_CCK_CCA_TIMEOUT_EN | \ 2672*8e93258fSBjoern A. Zeeb B_AX_OFDM_CCA_TIMEOUT_EN | \ 2673*8e93258fSBjoern A. Zeeb B_AX_DATA_ON_TIMEOUT_EN | \ 2674*8e93258fSBjoern A. Zeeb B_AX_STS_ON_TIMEOUT_EN | \ 2675*8e93258fSBjoern A. Zeeb B_AX_CSI_ON_TIMEOUT_EN) 2676*8e93258fSBjoern A. Zeeb #define B_AX_PHYINFO_IMR_SET_V1 (B_AX_PHY_TXON_TIMEOUT_EN | \ 2677*8e93258fSBjoern A. Zeeb B_AX_CCK_CCA_TIMEOUT_EN | \ 2678*8e93258fSBjoern A. Zeeb B_AX_OFDM_CCA_TIMEOUT_EN | \ 2679*8e93258fSBjoern A. Zeeb B_AX_DATA_ON_TIMEOUT_EN | \ 2680*8e93258fSBjoern A. Zeeb B_AX_STS_ON_TIMEOUT_EN | \ 2681*8e93258fSBjoern A. Zeeb B_AX_CSI_ON_TIMEOUT_EN) 2682*8e93258fSBjoern A. Zeeb 2683*8e93258fSBjoern A. Zeeb #define R_AX_PHYINFO_ERR_IMR 0xCCFC 2684*8e93258fSBjoern A. Zeeb #define R_AX_PHYINFO_ERR_IMR_C1 0xECFC 2685*8e93258fSBjoern A. Zeeb #define B_AX_CSI_ON_TIMEOUT BIT(29) 2686*8e93258fSBjoern A. Zeeb #define B_AX_STS_ON_TIMEOUT BIT(28) 2687*8e93258fSBjoern A. Zeeb #define B_AX_DATA_ON_TIMEOUT BIT(27) 2688*8e93258fSBjoern A. Zeeb #define B_AX_OFDM_CCA_TIMEOUT BIT(26) 2689*8e93258fSBjoern A. Zeeb #define B_AX_CCK_CCA_TIMEOUT BIT(25) 2690*8e93258fSBjoern A. Zeeb #define B_AXC_PHY_TXON_TIMEOUT BIT(24) 2691*8e93258fSBjoern A. Zeeb #define B_AX_CSI_ON_TIMEOUT_INT_EN BIT(21) 2692*8e93258fSBjoern A. Zeeb #define B_AX_STS_ON_TIMEOUT_INT_EN BIT(20) 2693*8e93258fSBjoern A. Zeeb #define B_AX_DATA_ON_TIMEOUT_INT_EN BIT(19) 2694*8e93258fSBjoern A. Zeeb #define B_AX_OFDM_CCA_TIMEOUT_INT_EN BIT(18) 2695*8e93258fSBjoern A. Zeeb #define B_AX_CCK_CCA_TIMEOUT_INT_EN BIT(17) 2696*8e93258fSBjoern A. Zeeb #define B_AX_PHY_TXON_TIMEOUT_INT_EN BIT(16) 2697*8e93258fSBjoern A. Zeeb #define B_AX_PHYINTF_TIMEOUT_THR_MSAK GENMASK(5, 0) 2698*8e93258fSBjoern A. Zeeb #define B_AX_PHYINFO_IMR_EN_ALL (B_AX_PHY_TXON_TIMEOUT_INT_EN | \ 2699*8e93258fSBjoern A. Zeeb B_AX_CCK_CCA_TIMEOUT_INT_EN | \ 2700*8e93258fSBjoern A. Zeeb B_AX_OFDM_CCA_TIMEOUT_INT_EN | \ 2701*8e93258fSBjoern A. Zeeb B_AX_DATA_ON_TIMEOUT_INT_EN | \ 2702*8e93258fSBjoern A. Zeeb B_AX_STS_ON_TIMEOUT_INT_EN | \ 2703*8e93258fSBjoern A. Zeeb B_AX_CSI_ON_TIMEOUT_INT_EN) 2704*8e93258fSBjoern A. Zeeb 2705*8e93258fSBjoern A. Zeeb #define R_AX_PHYINFO_ERR_ISR 0xCCFC 2706*8e93258fSBjoern A. Zeeb #define R_AX_PHYINFO_ERR_ISR_C1 0xECFC 2707*8e93258fSBjoern A. Zeeb 2708*8e93258fSBjoern A. Zeeb #define R_AX_BFMER_CTRL_0 0xCD78 2709*8e93258fSBjoern A. Zeeb #define R_AX_BFMER_CTRL_0_C1 0xED78 2710*8e93258fSBjoern A. Zeeb #define B_AX_BFMER_HE_CSI_OFFSET_MASK GENMASK(31, 24) 2711*8e93258fSBjoern A. Zeeb #define B_AX_BFMER_VHT_CSI_OFFSET_MASK GENMASK(23, 16) 2712*8e93258fSBjoern A. Zeeb #define B_AX_BFMER_HT_CSI_OFFSET_MASK GENMASK(15, 8) 2713*8e93258fSBjoern A. Zeeb #define B_AX_BFMER_NDP_BFEN BIT(2) 2714*8e93258fSBjoern A. Zeeb #define B_AX_BFMER_VHT_BFPRT_CHK BIT(0) 2715*8e93258fSBjoern A. Zeeb 2716*8e93258fSBjoern A. Zeeb #define R_AX_BFMEE_RESP_OPTION 0xCD80 2717*8e93258fSBjoern A. Zeeb #define R_AX_BFMEE_RESP_OPTION_C1 0xED80 2718*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_NDP_RX_STANDBY_TIMER_MASK GENMASK(31, 24) 2719*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_BFRP_RX_STANDBY_TIMER_MASK GENMASK(23, 20) 2720*8e93258fSBjoern A. Zeeb #define B_AX_MU_BFRPTSEG_SEL_MASK GENMASK(18, 17) 2721*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_NDP_RXSTDBY_SEL BIT(16) 2722*8e93258fSBjoern A. Zeeb #define BFRP_RX_STANDBY_TIMER 0x0 2723*8e93258fSBjoern A. Zeeb #define NDP_RX_STANDBY_TIMER 0xFF 2724*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_HE_NDPA_EN BIT(2) 2725*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_VHT_NDPA_EN BIT(1) 2726*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_HT_NDPA_EN BIT(0) 2727*8e93258fSBjoern A. Zeeb 2728*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_CTRL_0 0xCD88 2729*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_CTRL_0_C1 0xED88 2730*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_CTRL_1 0xCD94 2731*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_CTRL_1_C1 0xED94 2732*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSISEQ_SEL BIT(29) 2733*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_BFPARAM_SEL BIT(28) 2734*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_OFDM_LEN_TH_MASK GENMASK(27, 24) 2735*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_BF_PORT_SEL BIT(23) 2736*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_USE_NSTS BIT(22) 2737*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSI_RATE_FB_EN BIT(21) 2738*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSI_GID_SEL BIT(20) 2739*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSI_RSC_MASK GENMASK(19, 18) 2740*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSI_FORCE_RETE_EN BIT(17) 2741*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSI_USE_NDPARATE BIT(16) 2742*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSI_WITHHTC_EN BIT(15) 2743*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_BF_EN BIT(14) 2744*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_STBC_EN BIT(13) 2745*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_LDPC_EN BIT(12) 2746*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_CS_MASK GENMASK(11, 10) 2747*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_CB_MASK GENMASK(9, 8) 2748*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_NG_MASK GENMASK(7, 6) 2749*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_NR_MASK GENMASK(5, 3) 2750*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_CSIINFO0_NC_MASK GENMASK(2, 0) 2751*8e93258fSBjoern A. Zeeb 2752*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_RRSC 0xCD8C 2753*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_RRSC_C1 0xED8C 2754*8e93258fSBjoern A. Zeeb #define CSI_RRSC_BMAP 0x29292911 2755*8e93258fSBjoern A. Zeeb 2756*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_RATE 0xCD90 2757*8e93258fSBjoern A. Zeeb #define R_AX_TRXPTCL_RESP_CSI_RATE_C1 0xED90 2758*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_HE_CSI_RATE_MASK GENMASK(22, 16) 2759*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_VHT_CSI_RATE_MASK GENMASK(14, 8) 2760*8e93258fSBjoern A. Zeeb #define B_AX_BFMEE_HT_CSI_RATE_MASK GENMASK(6, 0) 2761*8e93258fSBjoern A. Zeeb #define CSI_INIT_RATE_HE 0x3 2762*8e93258fSBjoern A. Zeeb #define CSI_INIT_RATE_VHT 0x3 2763*8e93258fSBjoern A. Zeeb #define CSI_INIT_RATE_HT 0x3 2764*8e93258fSBjoern A. Zeeb 2765*8e93258fSBjoern A. Zeeb #define R_AX_RCR 0xCE00 2766*8e93258fSBjoern A. Zeeb #define R_AX_RCR_C1 0xEE00 2767*8e93258fSBjoern A. Zeeb #define B_AX_STOP_RX_IN BIT(11) 2768*8e93258fSBjoern A. Zeeb #define B_AX_DRV_INFO_SIZE_MASK GENMASK(10, 8) 2769*8e93258fSBjoern A. Zeeb #define B_AX_CH_EN_MASK GENMASK(3, 0) 2770*8e93258fSBjoern A. Zeeb 2771*8e93258fSBjoern A. Zeeb #define R_AX_DLK_PROTECT_CTL 0xCE02 2772*8e93258fSBjoern A. Zeeb #define R_AX_DLK_PROTECT_CTL_C1 0xEE02 2773*8e93258fSBjoern A. Zeeb #define B_AX_RX_DLK_CCA_TIME_MASK GENMASK(15, 8) 2774*8e93258fSBjoern A. Zeeb #define B_AX_RX_DLK_DATA_TIME_MASK GENMASK(7, 4) 2775*8e93258fSBjoern A. Zeeb 2776*8e93258fSBjoern A. Zeeb #define R_AX_PLCP_HDR_FLTR 0xCE04 2777*8e93258fSBjoern A. Zeeb #define R_AX_PLCP_HDR_FLTR_C1 0xEE04 2778*8e93258fSBjoern A. Zeeb #define B_AX_DIS_CHK_MIN_LEN BIT(8) 2779*8e93258fSBjoern A. Zeeb #define B_AX_HE_SIGB_CRC_CHK BIT(6) 2780*8e93258fSBjoern A. Zeeb #define B_AX_VHT_MU_SIGB_CRC_CHK BIT(5) 2781*8e93258fSBjoern A. Zeeb #define B_AX_VHT_SU_SIGB_CRC_CHK BIT(4) 2782*8e93258fSBjoern A. Zeeb #define B_AX_SIGA_CRC_CHK BIT(3) 2783*8e93258fSBjoern A. Zeeb #define B_AX_LSIG_PARITY_CHK_EN BIT(2) 2784*8e93258fSBjoern A. Zeeb #define B_AX_CCK_SIG_CHK BIT(1) 2785*8e93258fSBjoern A. Zeeb #define B_AX_CCK_CRC_CHK BIT(0) 2786*8e93258fSBjoern A. Zeeb 2787*8e93258fSBjoern A. Zeeb #define R_AX_RX_FLTR_OPT 0xCE20 2788*8e93258fSBjoern A. Zeeb #define R_AX_RX_FLTR_OPT_C1 0xEE20 2789*8e93258fSBjoern A. Zeeb #define B_AX_UID_FILTER_MASK GENMASK(31, 24) 2790*8e93258fSBjoern A. Zeeb #define B_AX_UNSPT_FILTER_SH 22 2791*8e93258fSBjoern A. Zeeb #define B_AX_UNSPT_FILTER_MASK GENMASK(23, 22) 2792*8e93258fSBjoern A. Zeeb #define B_AX_RX_MPDU_MAX_LEN_MASK GENMASK(21, 16) 2793*8e93258fSBjoern A. Zeeb #define B_AX_RX_MPDU_MAX_LEN_SIZE 0x3f 2794*8e93258fSBjoern A. Zeeb #define B_AX_A_FTM_REQ BIT(14) 2795*8e93258fSBjoern A. Zeeb #define B_AX_A_ERR_PKT BIT(13) 2796*8e93258fSBjoern A. Zeeb #define B_AX_A_UNSUP_PKT BIT(12) 2797*8e93258fSBjoern A. Zeeb #define B_AX_A_CRC32_ERR BIT(11) 2798*8e93258fSBjoern A. Zeeb #define B_AX_A_PWR_MGNT BIT(10) 2799*8e93258fSBjoern A. Zeeb #define B_AX_A_BCN_CHK_RULE_MASK GENMASK(9, 8) 2800*8e93258fSBjoern A. Zeeb #define B_AX_A_BCN_CHK_EN BIT(7) 2801*8e93258fSBjoern A. Zeeb #define B_AX_A_MC_LIST_CAM_MATCH BIT(6) 2802*8e93258fSBjoern A. Zeeb #define B_AX_A_BC_CAM_MATCH BIT(5) 2803*8e93258fSBjoern A. Zeeb #define B_AX_A_UC_CAM_MATCH BIT(4) 2804*8e93258fSBjoern A. Zeeb #define B_AX_A_MC BIT(3) 2805*8e93258fSBjoern A. Zeeb #define B_AX_A_BC BIT(2) 2806*8e93258fSBjoern A. Zeeb #define B_AX_A_A1_MATCH BIT(1) 2807*8e93258fSBjoern A. Zeeb #define B_AX_SNIFFER_MODE BIT(0) 2808*8e93258fSBjoern A. Zeeb #define DEFAULT_AX_RX_FLTR (B_AX_A_A1_MATCH | B_AX_A_BC | B_AX_A_MC | \ 2809*8e93258fSBjoern A. Zeeb B_AX_A_UC_CAM_MATCH | B_AX_A_BC_CAM_MATCH | \ 2810*8e93258fSBjoern A. Zeeb B_AX_A_PWR_MGNT | B_AX_A_FTM_REQ | \ 2811*8e93258fSBjoern A. Zeeb u32_encode_bits(3, B_AX_UID_FILTER_MASK) | \ 2812*8e93258fSBjoern A. Zeeb B_AX_A_BCN_CHK_EN) 2813*8e93258fSBjoern A. Zeeb #define B_AX_RX_FLTR_CFG_MASK ((u32)~B_AX_RX_MPDU_MAX_LEN_MASK) 2814*8e93258fSBjoern A. Zeeb 2815*8e93258fSBjoern A. Zeeb #define R_AX_CTRL_FLTR 0xCE24 2816*8e93258fSBjoern A. Zeeb #define R_AX_CTRL_FLTR_C1 0xEE24 2817*8e93258fSBjoern A. Zeeb #define R_AX_MGNT_FLTR 0xCE28 2818*8e93258fSBjoern A. Zeeb #define R_AX_MGNT_FLTR_C1 0xEE28 2819*8e93258fSBjoern A. Zeeb #define R_AX_DATA_FLTR 0xCE2C 2820*8e93258fSBjoern A. Zeeb #define R_AX_DATA_FLTR_C1 0xEE2C 2821*8e93258fSBjoern A. Zeeb #define RX_FLTR_FRAME_DROP 0x00000000 2822*8e93258fSBjoern A. Zeeb #define RX_FLTR_FRAME_TO_HOST 0x55555555 2823*8e93258fSBjoern A. Zeeb #define RX_FLTR_FRAME_TO_WLCPU 0xAAAAAAAA 2824*8e93258fSBjoern A. Zeeb 2825*8e93258fSBjoern A. Zeeb #define R_AX_ADDR_CAM_CTRL 0xCE34 2826*8e93258fSBjoern A. Zeeb #define R_AX_ADDR_CAM_CTRL_C1 0xEE34 2827*8e93258fSBjoern A. Zeeb #define B_AX_ADDR_CAM_RANGE_MASK GENMASK(23, 16) 2828*8e93258fSBjoern A. Zeeb #define B_AX_ADDR_CAM_CMPLIMT_MASK GENMASK(15, 12) 2829*8e93258fSBjoern A. Zeeb #define B_AX_ADDR_CAM_CLR BIT(8) 2830*8e93258fSBjoern A. Zeeb #define B_AX_ADDR_CAM_A2_B0_CHK BIT(2) 2831*8e93258fSBjoern A. Zeeb #define B_AX_ADDR_CAM_SRCH_PERPKT BIT(1) 2832*8e93258fSBjoern A. Zeeb #define B_AX_ADDR_CAM_EN BIT(0) 2833*8e93258fSBjoern A. Zeeb 2834*8e93258fSBjoern A. Zeeb #define R_AX_RESPBA_CAM_CTRL 0xCE3C 2835*8e93258fSBjoern A. Zeeb #define R_AX_RESPBA_CAM_CTRL_C1 0xEE3C 2836*8e93258fSBjoern A. Zeeb #define B_AX_SSN_SEL BIT(2) 2837*8e93258fSBjoern A. Zeeb #define B_AX_BACAM_RST_MASK GENMASK(1, 0) 2838*8e93258fSBjoern A. Zeeb #define S_AX_BACAM_RST_ALL 2 2839*8e93258fSBjoern A. Zeeb 2840*8e93258fSBjoern A. Zeeb #define R_AX_PPDU_STAT 0xCE40 2841*8e93258fSBjoern A. Zeeb #define R_AX_PPDU_STAT_C1 0xEE40 2842*8e93258fSBjoern A. Zeeb #define B_AX_PPDU_STAT_RPT_TRIG BIT(8) 2843*8e93258fSBjoern A. Zeeb #define B_AX_PPDU_STAT_RPT_CRC32 BIT(5) 2844*8e93258fSBjoern A. Zeeb #define B_AX_PPDU_STAT_RPT_A1M BIT(4) 2845*8e93258fSBjoern A. Zeeb #define B_AX_APP_PLCP_HDR_RPT BIT(3) 2846*8e93258fSBjoern A. Zeeb #define B_AX_APP_RX_CNT_RPT BIT(2) 2847*8e93258fSBjoern A. Zeeb #define B_AX_APP_MAC_INFO_RPT BIT(1) 2848*8e93258fSBjoern A. Zeeb #define B_AX_PPDU_STAT_RPT_EN BIT(0) 2849*8e93258fSBjoern A. Zeeb 2850*8e93258fSBjoern A. Zeeb #define R_AX_RX_SR_CTRL 0xCE4A 2851*8e93258fSBjoern A. Zeeb #define R_AX_RX_SR_CTRL_C1 0xEE4A 2852*8e93258fSBjoern A. Zeeb #define B_AX_SR_EN BIT(0) 2853*8e93258fSBjoern A. Zeeb 2854*8e93258fSBjoern A. Zeeb #define R_AX_CSIRPT_OPTION 0xCE64 2855*8e93258fSBjoern A. Zeeb #define R_AX_CSIRPT_OPTION_C1 0xEE64 2856*8e93258fSBjoern A. Zeeb #define B_AX_CSIPRT_HESU_AID_EN BIT(25) 2857*8e93258fSBjoern A. Zeeb #define B_AX_CSIPRT_VHTSU_AID_EN BIT(24) 2858*8e93258fSBjoern A. Zeeb 2859*8e93258fSBjoern A. Zeeb #define R_AX_RX_STATE_MONITOR 0xCEF0 2860*8e93258fSBjoern A. Zeeb #define R_AX_RX_STATE_MONITOR_C1 0xEEF0 2861*8e93258fSBjoern A. Zeeb #define B_AX_RX_STATE_MONITOR_MASK GENMASK(31, 0) 2862*8e93258fSBjoern A. Zeeb #define B_AX_STATE_CUR_MASK GENMASK(31, 16) 2863*8e93258fSBjoern A. Zeeb #define B_AX_STATE_NXT_MASK GENMASK(13, 8) 2864*8e93258fSBjoern A. Zeeb #define B_AX_STATE_UPD BIT(7) 2865*8e93258fSBjoern A. Zeeb #define B_AX_STATE_SEL_MASK GENMASK(4, 0) 2866*8e93258fSBjoern A. Zeeb 2867*8e93258fSBjoern A. Zeeb #define R_AX_RMAC_ERR_ISR 0xCEF4 2868*8e93258fSBjoern A. Zeeb #define R_AX_RMAC_ERR_ISR_C1 0xEEF4 2869*8e93258fSBjoern A. Zeeb #define B_AX_RXERR_INTPS_EN BIT(31) 2870*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN BIT(19) 2871*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_RX_TIMEOUT_INT_EN BIT(18) 2872*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_CSI_TIMEOUT_INT_EN BIT(17) 2873*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_DATA_ON_TIMEOUT_INT_EN BIT(16) 2874*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_CCA_TIMEOUT_INT_EN BIT(15) 2875*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_DMA_TIMEOUT_INT_EN BIT(14) 2876*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_DATA_ON_TO_IDLE_TIMEOUT_INT_EN BIT(13) 2877*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_CCA_TO_IDLE_TIMEOUT_INT_EN BIT(12) 2878*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_RX_CSI_TIMEOUT_FLAG BIT(7) 2879*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_RX_TIMEOUT_FLAG BIT(6) 2880*8e93258fSBjoern A. Zeeb #define B_AX_BMAC_CSI_TIMEOUT_FLAG BIT(5) 2881*8e93258fSBjoern A. Zeeb #define B_AX_BMAC_DATA_ON_TIMEOUT_FLAG BIT(4) 2882*8e93258fSBjoern A. Zeeb #define B_AX_BMAC_CCA_TIMEOUT_FLAG BIT(3) 2883*8e93258fSBjoern A. Zeeb #define B_AX_BMAC_DMA_TIMEOUT_FLAG BIT(2) 2884*8e93258fSBjoern A. Zeeb #define B_AX_BMAC_DATA_ON_TO_IDLE_TIMEOUT_FLAG BIT(1) 2885*8e93258fSBjoern A. Zeeb #define B_AX_BMAC_CCA_TO_IDLE_TIMEOUT_FLAG BIT(0) 2886*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_IMR_CLR (B_AX_RMAC_CCA_TO_IDLE_TIMEOUT_INT_EN | \ 2887*8e93258fSBjoern A. Zeeb B_AX_RMAC_DATA_ON_TO_IDLE_TIMEOUT_INT_EN | \ 2888*8e93258fSBjoern A. Zeeb B_AX_RMAC_DMA_TIMEOUT_INT_EN | \ 2889*8e93258fSBjoern A. Zeeb B_AX_RMAC_CCA_TIMEOUT_INT_EN | \ 2890*8e93258fSBjoern A. Zeeb B_AX_RMAC_DATA_ON_TIMEOUT_INT_EN | \ 2891*8e93258fSBjoern A. Zeeb B_AX_RMAC_CSI_TIMEOUT_INT_EN | \ 2892*8e93258fSBjoern A. Zeeb B_AX_RMAC_RX_TIMEOUT_INT_EN | \ 2893*8e93258fSBjoern A. Zeeb B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN) 2894*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_IMR_SET (B_AX_RMAC_DMA_TIMEOUT_INT_EN | \ 2895*8e93258fSBjoern A. Zeeb B_AX_RMAC_CSI_TIMEOUT_INT_EN | \ 2896*8e93258fSBjoern A. Zeeb B_AX_RMAC_RX_TIMEOUT_INT_EN | \ 2897*8e93258fSBjoern A. Zeeb B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN) 2898*8e93258fSBjoern A. Zeeb 2899*8e93258fSBjoern A. Zeeb #define R_AX_RX_ERR_IMR 0xCEF8 2900*8e93258fSBjoern A. Zeeb #define R_AX_RX_ERR_IMR_C1 0xEEF8 2901*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_TRIG_ACT_TO_MSK BIT(9) 2902*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_STS_ACT_TO_MSK BIT(8) 2903*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_CSI_ACT_TO_MSK BIT(7) 2904*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_ACT_TO_MSK BIT(6) 2905*8e93258fSBjoern A. Zeeb #define B_AX_CSI_DATAON_ASSERT_TO_MSK BIT(5) 2906*8e93258fSBjoern A. Zeeb #define B_AX_DATAON_ASSERT_TO_MSK BIT(4) 2907*8e93258fSBjoern A. Zeeb #define B_AX_CCA_ASSERT_TO_MSK BIT(3) 2908*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_DMA_TO_MSK BIT(2) 2909*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_DATA_TO_MSK BIT(1) 2910*8e93258fSBjoern A. Zeeb #define B_AX_RX_ERR_CCA_TO_MSK BIT(0) 2911*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_IMR_CLR_V1 (B_AX_RX_ERR_CCA_TO_MSK | \ 2912*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_DATA_TO_MSK | \ 2913*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_DMA_TO_MSK | \ 2914*8e93258fSBjoern A. Zeeb B_AX_CCA_ASSERT_TO_MSK | \ 2915*8e93258fSBjoern A. Zeeb B_AX_DATAON_ASSERT_TO_MSK | \ 2916*8e93258fSBjoern A. Zeeb B_AX_CSI_DATAON_ASSERT_TO_MSK | \ 2917*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_ACT_TO_MSK | \ 2918*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_CSI_ACT_TO_MSK | \ 2919*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_STS_ACT_TO_MSK | \ 2920*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_TRIG_ACT_TO_MSK) 2921*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_IMR_SET_V1 (B_AX_RX_ERR_CCA_TO_MSK | \ 2922*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_DATA_TO_MSK | \ 2923*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_DMA_TO_MSK | \ 2924*8e93258fSBjoern A. Zeeb B_AX_CCA_ASSERT_TO_MSK | \ 2925*8e93258fSBjoern A. Zeeb B_AX_DATAON_ASSERT_TO_MSK | \ 2926*8e93258fSBjoern A. Zeeb B_AX_CSI_DATAON_ASSERT_TO_MSK | \ 2927*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_ACT_TO_MSK | \ 2928*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_CSI_ACT_TO_MSK | \ 2929*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_STS_ACT_TO_MSK | \ 2930*8e93258fSBjoern A. Zeeb B_AX_RX_ERR_TRIG_ACT_TO_MSK) 2931*8e93258fSBjoern A. Zeeb 2932*8e93258fSBjoern A. Zeeb #define R_AX_RMAC_PLCP_MON 0xCEF8 2933*8e93258fSBjoern A. Zeeb #define R_AX_RMAC_PLCP_MON_C1 0xEEF8 2934*8e93258fSBjoern A. Zeeb #define B_AX_RMAC_PLCP_MON_MASK GENMASK(31, 0) 2935*8e93258fSBjoern A. Zeeb #define B_AX_PCLP_MON_SEL_MASK GENMASK(31, 28) 2936*8e93258fSBjoern A. Zeeb #define B_AX_PCLP_MON_CONT_MASK GENMASK(27, 0) 2937*8e93258fSBjoern A. Zeeb 2938*8e93258fSBjoern A. Zeeb #define R_AX_RX_DEBUG_SELECT 0xCEFC 2939*8e93258fSBjoern A. Zeeb #define R_AX_RX_DEBUG_SELECT_C1 0xEEFC 2940*8e93258fSBjoern A. Zeeb #define B_AX_DEBUG_SEL_MASK GENMASK(7, 0) 2941*8e93258fSBjoern A. Zeeb 2942*8e93258fSBjoern A. Zeeb #define R_AX_PWR_RATE_CTRL 0xD200 2943*8e93258fSBjoern A. Zeeb #define R_AX_PWR_RATE_CTRL_C1 0xF200 2944*8e93258fSBjoern A. Zeeb #define B_AX_FORCE_PWR_BY_RATE_EN BIT(9) 2945*8e93258fSBjoern A. Zeeb #define B_AX_FORCE_PWR_BY_RATE_VALUE_MASK GENMASK(8, 0) 2946*8e93258fSBjoern A. Zeeb 2947*8e93258fSBjoern A. Zeeb #define R_AX_PWR_RATE_OFST_CTRL 0xD204 2948*8e93258fSBjoern A. Zeeb #define R_AX_PWR_COEXT_CTRL 0xD220 2949*8e93258fSBjoern A. Zeeb #define B_AX_TXAGC_BT_EN BIT(1) 2950*8e93258fSBjoern A. Zeeb #define B_AX_TXAGC_BT_MASK GENMASK(11, 3) 2951*8e93258fSBjoern A. Zeeb 2952*8e93258fSBjoern A. Zeeb #define R_AX_PWR_UL_CTRL0 0xD240 2953*8e93258fSBjoern A. Zeeb #define R_AX_PWR_UL_CTRL2 0xD248 2954*8e93258fSBjoern A. Zeeb #define B_AX_PWR_UL_CFO_MASK GENMASK(2, 0) 2955*8e93258fSBjoern A. Zeeb #define B_AX_PWR_UL_CTRL2_MASK 0x07700007 2956*8e93258fSBjoern A. Zeeb #define R_AX_PWR_UL_TB_CTRL 0xD288 2957*8e93258fSBjoern A. Zeeb #define B_AX_PWR_UL_TB_CTRL_EN BIT(31) 2958*8e93258fSBjoern A. Zeeb #define R_AX_PWR_UL_TB_1T 0xD28C 2959*8e93258fSBjoern A. Zeeb #define B_AX_PWR_UL_TB_1T_MASK GENMASK(4, 0) 2960*8e93258fSBjoern A. Zeeb #define B_AX_PWR_UL_TB_1T_V1_MASK GENMASK(7, 0) 2961*8e93258fSBjoern A. Zeeb #define R_AX_PWR_UL_TB_2T 0xD290 2962*8e93258fSBjoern A. Zeeb #define B_AX_PWR_UL_TB_2T_MASK GENMASK(4, 0) 2963*8e93258fSBjoern A. Zeeb #define B_AX_PWR_UL_TB_2T_V1_MASK GENMASK(7, 0) 2964*8e93258fSBjoern A. Zeeb #define R_AX_PWR_BY_RATE_TABLE0 0xD2C0 2965*8e93258fSBjoern A. Zeeb #define R_AX_PWR_BY_RATE_TABLE10 0xD2E8 2966*8e93258fSBjoern A. Zeeb #define R_AX_PWR_BY_RATE R_AX_PWR_BY_RATE_TABLE0 2967*8e93258fSBjoern A. Zeeb #define R_AX_PWR_BY_RATE_MAX R_AX_PWR_BY_RATE_TABLE10 2968*8e93258fSBjoern A. Zeeb #define R_AX_PWR_LMT_TABLE0 0xD2EC 2969*8e93258fSBjoern A. Zeeb #define R_AX_PWR_LMT_TABLE19 0xD338 2970*8e93258fSBjoern A. Zeeb #define R_AX_PWR_LMT R_AX_PWR_LMT_TABLE0 2971*8e93258fSBjoern A. Zeeb #define R_AX_PWR_LMT_MAX R_AX_PWR_LMT_TABLE19 2972*8e93258fSBjoern A. Zeeb #define R_AX_PWR_RU_LMT_TABLE0 0xD33C 2973*8e93258fSBjoern A. Zeeb #define R_AX_PWR_RU_LMT_TABLE11 0xD368 2974*8e93258fSBjoern A. Zeeb #define R_AX_PWR_RU_LMT R_AX_PWR_RU_LMT_TABLE0 2975*8e93258fSBjoern A. Zeeb #define R_AX_PWR_RU_LMT_MAX R_AX_PWR_RU_LMT_TABLE11 2976*8e93258fSBjoern A. Zeeb #define R_AX_PWR_MACID_LMT_TABLE0 0xD36C 2977*8e93258fSBjoern A. Zeeb #define R_AX_PWR_MACID_LMT_TABLE127 0xD568 2978*8e93258fSBjoern A. Zeeb 2979*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM0 0xD800 2980*8e93258fSBjoern A. Zeeb #define AX_PATH_COM0_DFVAL 0x00000000 2981*8e93258fSBjoern A. Zeeb #define AX_PATH_COM0_PATHA 0x08888880 2982*8e93258fSBjoern A. Zeeb #define AX_PATH_COM0_PATHB 0x11111100 2983*8e93258fSBjoern A. Zeeb #define AX_PATH_COM0_PATHAB 0x19999980 2984*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM1 0xD804 2985*8e93258fSBjoern A. Zeeb #define AX_PATH_COM1_DFVAL 0x00000000 2986*8e93258fSBjoern A. Zeeb #define AX_PATH_COM1_PATHA 0x11111111 2987*8e93258fSBjoern A. Zeeb #define AX_PATH_COM1_PATHB 0x22222222 2988*8e93258fSBjoern A. Zeeb #define AX_PATH_COM1_PATHAB 0x33333333 2989*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM2 0xD808 2990*8e93258fSBjoern A. Zeeb #define AX_PATH_COM2_DFVAL 0x00000000 2991*8e93258fSBjoern A. Zeeb #define AX_PATH_COM2_PATHA 0x01209111 2992*8e93258fSBjoern A. Zeeb #define AX_PATH_COM2_PATHB 0x01209222 2993*8e93258fSBjoern A. Zeeb #define AX_PATH_COM2_PATHAB 0x01209333 2994*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM3 0xD80C 2995*8e93258fSBjoern A. Zeeb #define AX_PATH_COM3_DFVAL 0x49249249 2996*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM4 0xD810 2997*8e93258fSBjoern A. Zeeb #define AX_PATH_COM4_DFVAL 0x1C9C9C49 2998*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM5 0xD814 2999*8e93258fSBjoern A. Zeeb #define AX_PATH_COM5_DFVAL 0x39393939 3000*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM6 0xD818 3001*8e93258fSBjoern A. Zeeb #define AX_PATH_COM6_DFVAL 0x39393939 3002*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM7 0xD81C 3003*8e93258fSBjoern A. Zeeb #define AX_PATH_COM7_DFVAL 0x39393939 3004*8e93258fSBjoern A. Zeeb #define AX_PATH_COM7_PATHA 0x39393939 3005*8e93258fSBjoern A. Zeeb #define AX_PATH_COM7_PATHB 0x39383939 3006*8e93258fSBjoern A. Zeeb #define AX_PATH_COM7_PATHAB 0x39393939 3007*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM8 0xD820 3008*8e93258fSBjoern A. Zeeb #define AX_PATH_COM8_DFVAL 0x00000000 3009*8e93258fSBjoern A. Zeeb #define AX_PATH_COM8_PATHA 0x00003939 3010*8e93258fSBjoern A. Zeeb #define AX_PATH_COM8_PATHB 0x00003938 3011*8e93258fSBjoern A. Zeeb #define AX_PATH_COM8_PATHAB 0x00003939 3012*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM9 0xD824 3013*8e93258fSBjoern A. Zeeb #define AX_PATH_COM9_DFVAL 0x000007C0 3014*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM10 0xD828 3015*8e93258fSBjoern A. Zeeb #define AX_PATH_COM10_DFVAL 0xE0000000 3016*8e93258fSBjoern A. Zeeb #define R_AX_PATH_COM11 0xD82C 3017*8e93258fSBjoern A. Zeeb #define AX_PATH_COM11_DFVAL 0x00000000 3018*8e93258fSBjoern A. Zeeb #define R_P80_AT_HIGH_FREQ_BB_WRP 0xD848 3019*8e93258fSBjoern A. Zeeb #define B_P80_AT_HIGH_FREQ_BB_WRP BIT(28) 3020*8e93258fSBjoern A. Zeeb #define R_AX_TSSI_CTRL_HEAD 0xD908 3021*8e93258fSBjoern A. Zeeb #define R_AX_BANDEDGE_CFG 0xD94C 3022*8e93258fSBjoern A. Zeeb #define B_AX_BANDEDGE_CFG_IDX_MASK GENMASK(31, 30) 3023*8e93258fSBjoern A. Zeeb #define R_AX_TSSI_CTRL_TAIL 0xD95C 3024*8e93258fSBjoern A. Zeeb 3025*8e93258fSBjoern A. Zeeb #define R_AX_TXPWR_IMR 0xD9E0 3026*8e93258fSBjoern A. Zeeb #define R_AX_TXPWR_IMR_C1 0xF9E0 3027*8e93258fSBjoern A. Zeeb #define R_AX_TXPWR_ISR 0xD9E4 3028*8e93258fSBjoern A. Zeeb #define R_AX_TXPWR_ISR_C1 0xF9E4 3029*8e93258fSBjoern A. Zeeb 3030*8e93258fSBjoern A. Zeeb #define R_AX_BTC_CFG 0xDA00 3031*8e93258fSBjoern A. Zeeb #define B_AX_BTC_EN BIT(31) 3032*8e93258fSBjoern A. Zeeb #define B_AX_EN_EXT_BT_PINMUX BIT(29) 3033*8e93258fSBjoern A. Zeeb #define B_AX_BTC_RST BIT(28) 3034*8e93258fSBjoern A. Zeeb #define B_AX_BTC_DBG_SRC_SEL BIT(27) 3035*8e93258fSBjoern A. Zeeb #define B_AX_BTC_MODE_MASK GENMASK(25, 24) 3036*8e93258fSBjoern A. Zeeb #define B_AX_INV_WL_ACT2 BIT(17) 3037*8e93258fSBjoern A. Zeeb #define B_AX_BTG_LNA1_GAIN_SEL BIT(16) 3038*8e93258fSBjoern A. Zeeb #define B_AX_COEX_DLY_CLK_MASK GENMASK(15, 8) 3039*8e93258fSBjoern A. Zeeb #define B_AX_IGN_GNT_BT2_RX BIT(7) 3040*8e93258fSBjoern A. Zeeb #define B_AX_IGN_GNT_BT2_TX BIT(6) 3041*8e93258fSBjoern A. Zeeb #define B_AX_IGN_GNT_BT2 BIT(5) 3042*8e93258fSBjoern A. Zeeb #define B_AX_BTC_DBG_SEL_MASK GENMASK(4, 3) 3043*8e93258fSBjoern A. Zeeb #define B_AX_DIS_BTC_CLK_G BIT(2) 3044*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RX_CTRL BIT(1) 3045*8e93258fSBjoern A. Zeeb #define B_AX_WL_SRC BIT(0) 3046*8e93258fSBjoern A. Zeeb 3047*8e93258fSBjoern A. Zeeb #define R_AX_RTK_MODE_CFG_V1 0xDA04 3048*8e93258fSBjoern A. Zeeb #define R_AX_RTK_MODE_CFG_V1_C1 0xFA04 3049*8e93258fSBjoern A. Zeeb #define B_AX_BT_BLE_EN_V1 BIT(24) 3050*8e93258fSBjoern A. Zeeb #define B_AX_BT_ULTRA_EN BIT(16) 3051*8e93258fSBjoern A. Zeeb #define B_AX_BT_L_RX_ULTRA_MASK GENMASK(15, 14) 3052*8e93258fSBjoern A. Zeeb #define B_AX_BT_L_TX_ULTRA_MASK GENMASK(13, 12) 3053*8e93258fSBjoern A. Zeeb #define B_AX_BT_H_RX_ULTRA_MASK GENMASK(11, 10) 3054*8e93258fSBjoern A. Zeeb #define B_AX_BT_H_TX_ULTRA_MASK GENMASK(9, 8) 3055*8e93258fSBjoern A. Zeeb #define B_AX_SAMPLE_CLK_MASK GENMASK(7, 0) 3056*8e93258fSBjoern A. Zeeb 3057*8e93258fSBjoern A. Zeeb #define R_AX_WL_PRI_MSK 0xDA10 3058*8e93258fSBjoern A. Zeeb #define B_AX_PTA_WL_PRI_MASK_BCNQ BIT(8) 3059*8e93258fSBjoern A. Zeeb 3060*8e93258fSBjoern A. Zeeb #define R_AX_BT_CNT_CFG 0xDA10 3061*8e93258fSBjoern A. Zeeb #define R_AX_BT_CNT_CFG_C1 0xFA10 3062*8e93258fSBjoern A. Zeeb #define B_AX_BT_CNT_RST_V1 BIT(1) 3063*8e93258fSBjoern A. Zeeb #define B_AX_BT_CNT_EN BIT(0) 3064*8e93258fSBjoern A. Zeeb 3065*8e93258fSBjoern A. Zeeb #define R_BTC_BT_CNT_HIGH 0xDA14 3066*8e93258fSBjoern A. Zeeb #define R_BTC_BT_CNT_LOW 0xDA18 3067*8e93258fSBjoern A. Zeeb 3068*8e93258fSBjoern A. Zeeb #define R_AX_BTC_FUNC_EN 0xDA20 3069*8e93258fSBjoern A. Zeeb #define R_AX_BTC_FUNC_EN_C1 0xFA20 3070*8e93258fSBjoern A. Zeeb #define B_AX_PTA_WL_TX_EN BIT(1) 3071*8e93258fSBjoern A. Zeeb #define B_AX_PTA_EDCCA_EN BIT(0) 3072*8e93258fSBjoern A. Zeeb 3073*8e93258fSBjoern A. Zeeb #define R_BTC_COEX_WL_REQ 0xDA24 3074*8e93258fSBjoern A. Zeeb #define B_BTC_TX_BCN_HI BIT(22) 3075*8e93258fSBjoern A. Zeeb #define B_BTC_RSP_ACK_HI BIT(10) 3076*8e93258fSBjoern A. Zeeb 3077*8e93258fSBjoern A. Zeeb #define R_BTC_BREAK_TABLE 0xDA2C 3078*8e93258fSBjoern A. Zeeb #define BTC_BREAK_PARAM 0xf0ffffff 3079*8e93258fSBjoern A. Zeeb 3080*8e93258fSBjoern A. Zeeb #define R_BTC_BT_COEX_MSK_TABLE 0xDA30 3081*8e93258fSBjoern A. Zeeb #define B_BTC_PRI_MASK_TX_RESP_V1 BIT(3) 3082*8e93258fSBjoern A. Zeeb 3083*8e93258fSBjoern A. Zeeb #define R_AX_BT_COEX_CFG_2 0xDA34 3084*8e93258fSBjoern A. Zeeb #define R_AX_BT_COEX_CFG_2_C1 0xFA34 3085*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_BYPASS_PRIORITY BIT(12) 3086*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_POLARITY BIT(8) 3087*8e93258fSBjoern A. Zeeb #define B_AX_TIMER_MASK GENMASK(7, 0) 3088*8e93258fSBjoern A. Zeeb #define MAC_AX_CSR_RATE 80 3089*8e93258fSBjoern A. Zeeb 3090*8e93258fSBjoern A. Zeeb #define R_AX_CSR_MODE 0xDA40 3091*8e93258fSBjoern A. Zeeb #define R_AX_CSR_MODE_C1 0xFA40 3092*8e93258fSBjoern A. Zeeb #define B_AX_BT_CNT_RST BIT(16) 3093*8e93258fSBjoern A. Zeeb #define B_AX_BT_STAT_DELAY_MASK GENMASK(15, 12) 3094*8e93258fSBjoern A. Zeeb #define MAC_AX_CSR_DELAY 0 3095*8e93258fSBjoern A. Zeeb #define B_AX_BT_TRX_INIT_DETECT_MASK GENMASK(11, 8) 3096*8e93258fSBjoern A. Zeeb #define MAC_AX_CSR_TRX_TO 4 3097*8e93258fSBjoern A. Zeeb #define B_AX_BT_PRI_DETECT_TO_MASK GENMASK(7, 4) 3098*8e93258fSBjoern A. Zeeb #define MAC_AX_CSR_PRI_TO 5 3099*8e93258fSBjoern A. Zeeb #define B_AX_WL_ACT_MSK BIT(3) 3100*8e93258fSBjoern A. Zeeb #define B_AX_STATIS_BT_EN BIT(2) 3101*8e93258fSBjoern A. Zeeb #define B_AX_WL_ACT_MASK_ENABLE BIT(1) 3102*8e93258fSBjoern A. Zeeb #define B_AX_ENHANCED_BT BIT(0) 3103*8e93258fSBjoern A. Zeeb 3104*8e93258fSBjoern A. Zeeb #define R_AX_BT_BREAK_TABLE 0xDA44 3105*8e93258fSBjoern A. Zeeb 3106*8e93258fSBjoern A. Zeeb #define R_AX_BT_STAST_HIGH 0xDA44 3107*8e93258fSBjoern A. Zeeb #define B_AX_STATIS_BT_HI_RX_MASK GENMASK(31, 16) 3108*8e93258fSBjoern A. Zeeb #define B_AX_STATIS_BT_HI_TX_MASK GENMASK(15, 0) 3109*8e93258fSBjoern A. Zeeb #define R_AX_BT_STAST_LOW 0xDA48 3110*8e93258fSBjoern A. Zeeb #define B_AX_STATIS_BT_LO_TX_1_MASK GENMASK(15, 0) 3111*8e93258fSBjoern A. Zeeb #define B_AX_STATIS_BT_LO_RX_1_MASK GENMASK(31, 16) 3112*8e93258fSBjoern A. Zeeb 3113*8e93258fSBjoern A. Zeeb #define R_AX_GNT_SW_CTRL 0xDA48 3114*8e93258fSBjoern A. Zeeb #define R_AX_GNT_SW_CTRL_C1 0xFA48 3115*8e93258fSBjoern A. Zeeb #define B_AX_WL_ACT2_VAL BIT(21) 3116*8e93258fSBjoern A. Zeeb #define B_AX_WL_ACT2_SWCTRL BIT(20) 3117*8e93258fSBjoern A. Zeeb #define B_AX_WL_ACT_VAL BIT(19) 3118*8e93258fSBjoern A. Zeeb #define B_AX_WL_ACT_SWCTRL BIT(18) 3119*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RX_VAL BIT(17) 3120*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RX_SWCTRL BIT(16) 3121*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_TX_VAL BIT(15) 3122*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_TX_SWCTRL BIT(14) 3123*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RX_VAL BIT(13) 3124*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RX_SWCTRL BIT(12) 3125*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_TX_VAL BIT(11) 3126*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_TX_SWCTRL BIT(10) 3127*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S1_VAL BIT(9) 3128*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S1_SWCTRL BIT(8) 3129*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S1_VAL BIT(7) 3130*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S1_SWCTRL BIT(6) 3131*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S0_VAL BIT(5) 3132*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S0_SWCTRL BIT(4) 3133*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S0_VAL BIT(3) 3134*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S0_SWCTRL BIT(2) 3135*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_BB_VAL BIT(1) 3136*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_BB_SWCTRL BIT(0) 3137*8e93258fSBjoern A. Zeeb 3138*8e93258fSBjoern A. Zeeb #define R_AX_TDMA_MODE 0xDA4C 3139*8e93258fSBjoern A. Zeeb #define R_AX_TDMA_MODE_C1 0xFA4C 3140*8e93258fSBjoern A. Zeeb #define B_AX_R_BT_CMD_RPT_MASK GENMASK(31, 16) 3141*8e93258fSBjoern A. Zeeb #define B_AX_R_RPT_FROM_BT_MASK GENMASK(15, 8) 3142*8e93258fSBjoern A. Zeeb #define B_AX_BT_HID_ISR_SET_MASK GENMASK(7, 6) 3143*8e93258fSBjoern A. Zeeb #define B_AX_TDMA_BT_START_NOTIFY BIT(5) 3144*8e93258fSBjoern A. Zeeb #define B_AX_ENABLE_TDMA_FW_MODE BIT(4) 3145*8e93258fSBjoern A. Zeeb #define B_AX_ENABLE_PTA_TDMA_MODE BIT(3) 3146*8e93258fSBjoern A. Zeeb #define B_AX_ENABLE_COEXIST_TAB_IN_TDMA BIT(2) 3147*8e93258fSBjoern A. Zeeb #define B_AX_GPIO2_GPIO3_EXANGE_OR_NO_BT_CCA BIT(1) 3148*8e93258fSBjoern A. Zeeb #define B_AX_RTK_BT_ENABLE BIT(0) 3149*8e93258fSBjoern A. Zeeb 3150*8e93258fSBjoern A. Zeeb #define R_AX_BT_COEX_CFG_5 0xDA6C 3151*8e93258fSBjoern A. Zeeb #define R_AX_BT_COEX_CFG_5_C1 0xFA6C 3152*8e93258fSBjoern A. Zeeb #define B_AX_BT_TIME_MASK GENMASK(31, 6) 3153*8e93258fSBjoern A. Zeeb #define B_AX_BT_RPT_SAMPLE_RATE_MASK GENMASK(5, 0) 3154*8e93258fSBjoern A. Zeeb #define MAC_AX_RTK_RATE 5 3155*8e93258fSBjoern A. Zeeb 3156*8e93258fSBjoern A. Zeeb #define R_AX_LTE_CTRL 0xDAF0 3157*8e93258fSBjoern A. Zeeb #define R_AX_LTE_WDATA 0xDAF4 3158*8e93258fSBjoern A. Zeeb #define R_AX_LTE_RDATA 0xDAF8 3159*8e93258fSBjoern A. Zeeb 3160*8e93258fSBjoern A. Zeeb #define R_AX_MACID_ANT_TABLE 0xDC00 3161*8e93258fSBjoern A. Zeeb #define R_AX_MACID_ANT_TABLE_LAST 0xDDFC 3162*8e93258fSBjoern A. Zeeb 3163*8e93258fSBjoern A. Zeeb #define CMAC1_START_ADDR 0xE000 3164*8e93258fSBjoern A. Zeeb #define CMAC1_END_ADDR 0xFFFF 3165*8e93258fSBjoern A. Zeeb #define R_AX_CMAC_REG_END 0xFFFF 3166*8e93258fSBjoern A. Zeeb 3167*8e93258fSBjoern A. Zeeb #define R_AX_LTE_SW_CFG_1 0x0038 3168*8e93258fSBjoern A. Zeeb #define R_AX_LTE_SW_CFG_1_C1 0x2038 3169*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S1_SW_VAL BIT(31) 3170*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S1_SW_CTRL BIT(30) 3171*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S1_SW_VAL BIT(29) 3172*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S1_SW_CTRL BIT(28) 3173*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_BB_S1_SW_VAL BIT(27) 3174*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_BB_S1_SW_CTRL BIT(26) 3175*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_BB_S1_SW_VAL BIT(25) 3176*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_BB_S1_SW_CTRL BIT(24) 3177*8e93258fSBjoern A. Zeeb #define B_AX_BT_SW_CTRL_WL_PRIORITY BIT(19) 3178*8e93258fSBjoern A. Zeeb #define B_AX_WL_SW_CTRL_WL_PRIORITY BIT(18) 3179*8e93258fSBjoern A. Zeeb #define B_AX_LTE_PATTERN_2_EN BIT(17) 3180*8e93258fSBjoern A. Zeeb #define B_AX_LTE_PATTERN_1_EN BIT(16) 3181*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S0_SW_VAL BIT(15) 3182*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RFC_S0_SW_CTRL BIT(14) 3183*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S0_SW_VAL BIT(13) 3184*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RFC_S0_SW_CTRL BIT(12) 3185*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_BB_S0_SW_VAL BIT(11) 3186*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_BB_S0_SW_CTRL BIT(10) 3187*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_BB_S0_SW_VAL BIT(9) 3188*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_BB_S0_SW_CTRL BIT(8) 3189*8e93258fSBjoern A. Zeeb #define B_AX_LTECOEX_FUN_EN BIT(7) 3190*8e93258fSBjoern A. Zeeb #define B_AX_LTECOEX_3WIRE_CTRL_MUX BIT(6) 3191*8e93258fSBjoern A. Zeeb #define B_AX_LTECOEX_OP_MODE_SEL_MASK GENMASK(5, 4) 3192*8e93258fSBjoern A. Zeeb #define B_AX_LTECOEX_UART_MUX BIT(3) 3193*8e93258fSBjoern A. Zeeb #define B_AX_LTECOEX_UART_MODE_SEL_MASK GENMASK(2, 0) 3194*8e93258fSBjoern A. Zeeb 3195*8e93258fSBjoern A. Zeeb #define R_AX_LTE_SW_CFG_2 0x003C 3196*8e93258fSBjoern A. Zeeb #define R_AX_LTE_SW_CFG_2_C1 0x203C 3197*8e93258fSBjoern A. Zeeb #define B_AX_WL_RX_CTRL BIT(8) 3198*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RX_SW_VAL BIT(7) 3199*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_RX_SW_CTRL BIT(6) 3200*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_TX_SW_VAL BIT(5) 3201*8e93258fSBjoern A. Zeeb #define B_AX_GNT_WL_TX_SW_CTRL BIT(4) 3202*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RX_SW_VAL BIT(3) 3203*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_RX_SW_CTRL BIT(2) 3204*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_TX_SW_VAL BIT(1) 3205*8e93258fSBjoern A. Zeeb #define B_AX_GNT_BT_TX_SW_CTRL BIT(0) 3206*8e93258fSBjoern A. Zeeb 3207*8e93258fSBjoern A. Zeeb #define RR_MOD 0x00 3208*8e93258fSBjoern A. Zeeb #define RR_MOD_V1 0x10000 3209*8e93258fSBjoern A. Zeeb #define RR_MOD_IQK GENMASK(19, 4) 3210*8e93258fSBjoern A. Zeeb #define RR_MOD_DPK GENMASK(19, 5) 3211*8e93258fSBjoern A. Zeeb #define RR_MOD_MASK GENMASK(19, 16) 3212*8e93258fSBjoern A. Zeeb #define RR_MOD_V_DOWN 0x0 3213*8e93258fSBjoern A. Zeeb #define RR_MOD_V_STANDBY 0x1 3214*8e93258fSBjoern A. Zeeb #define RR_MOD_V_TX 0x2 3215*8e93258fSBjoern A. Zeeb #define RR_MOD_V_RX 0x3 3216*8e93258fSBjoern A. Zeeb #define RR_MOD_V_TXIQK 0x4 3217*8e93258fSBjoern A. Zeeb #define RR_MOD_V_DPK 0x5 3218*8e93258fSBjoern A. Zeeb #define RR_MOD_V_RXK1 0x6 3219*8e93258fSBjoern A. Zeeb #define RR_MOD_V_RXK2 0x7 3220*8e93258fSBjoern A. Zeeb #define RR_MOD_NBW GENMASK(15, 14) 3221*8e93258fSBjoern A. Zeeb #define RR_MOD_M_RXG GENMASK(13, 4) 3222*8e93258fSBjoern A. Zeeb #define RR_MOD_M_RXBB GENMASK(9, 5) 3223*8e93258fSBjoern A. Zeeb #define RR_MODOPT 0x01 3224*8e93258fSBjoern A. Zeeb #define RR_MODOPT_M_TXPWR GENMASK(5, 0) 3225*8e93258fSBjoern A. Zeeb #define RR_WLSEL 0x02 3226*8e93258fSBjoern A. Zeeb #define RR_WLSEL_AG GENMASK(18, 16) 3227*8e93258fSBjoern A. Zeeb #define RR_RSV1 0x05 3228*8e93258fSBjoern A. Zeeb #define RR_RSV1_RST BIT(0) 3229*8e93258fSBjoern A. Zeeb #define RR_BBDC 0x10005 3230*8e93258fSBjoern A. Zeeb #define RR_BBDC_SEL BIT(0) 3231*8e93258fSBjoern A. Zeeb #define RR_DTXLOK 0x08 3232*8e93258fSBjoern A. Zeeb #define RR_RSV2 0x09 3233*8e93258fSBjoern A. Zeeb #define RR_LOKVB 0x0a 3234*8e93258fSBjoern A. Zeeb #define RR_LOKVB_COI GENMASK(19, 14) 3235*8e93258fSBjoern A. Zeeb #define RR_LOKVB_COQ GENMASK(9, 4) 3236*8e93258fSBjoern A. Zeeb #define RR_TXIG 0x11 3237*8e93258fSBjoern A. Zeeb #define RR_TXIG_TG GENMASK(16, 12) 3238*8e93258fSBjoern A. Zeeb #define RR_TXIG_GR1 GENMASK(6, 4) 3239*8e93258fSBjoern A. Zeeb #define RR_TXIG_GR0 GENMASK(1, 0) 3240*8e93258fSBjoern A. Zeeb #define RR_CHTR 0x17 3241*8e93258fSBjoern A. Zeeb #define RR_CHTR_MOD GENMASK(11, 10) 3242*8e93258fSBjoern A. Zeeb #define RR_CHTR_TXRX GENMASK(9, 0) 3243*8e93258fSBjoern A. Zeeb #define RR_CFGCH 0x18 3244*8e93258fSBjoern A. Zeeb #define RR_CFGCH_V1 0x10018 3245*8e93258fSBjoern A. Zeeb #define RR_CFGCH_BAND1 GENMASK(17, 16) 3246*8e93258fSBjoern A. Zeeb #define CFGCH_BAND1_2G 0 3247*8e93258fSBjoern A. Zeeb #define CFGCH_BAND1_5G 1 3248*8e93258fSBjoern A. Zeeb #define CFGCH_BAND1_6G 3 3249*8e93258fSBjoern A. Zeeb #define RR_CFGCH_BAND0 GENMASK(9, 8) 3250*8e93258fSBjoern A. Zeeb #define CFGCH_BAND0_2G 0 3251*8e93258fSBjoern A. Zeeb #define CFGCH_BAND0_5G 1 3252*8e93258fSBjoern A. Zeeb #define CFGCH_BAND0_6G 0 3253*8e93258fSBjoern A. Zeeb #define RR_CFGCH_BW GENMASK(11, 10) 3254*8e93258fSBjoern A. Zeeb #define RR_CFGCH_CH GENMASK(7, 0) 3255*8e93258fSBjoern A. Zeeb #define CFGCH_BW_20M 3 3256*8e93258fSBjoern A. Zeeb #define CFGCH_BW_40M 2 3257*8e93258fSBjoern A. Zeeb #define CFGCH_BW_80M 1 3258*8e93258fSBjoern A. Zeeb #define CFGCH_BW_160M 0 3259*8e93258fSBjoern A. Zeeb #define RR_APK 0x19 3260*8e93258fSBjoern A. Zeeb #define RR_APK_MOD GENMASK(5, 4) 3261*8e93258fSBjoern A. Zeeb #define RR_BTC 0x1a 3262*8e93258fSBjoern A. Zeeb #define RR_BTC_TXBB GENMASK(14, 12) 3263*8e93258fSBjoern A. Zeeb #define RR_BTC_RXBB GENMASK(11, 10) 3264*8e93258fSBjoern A. Zeeb #define RR_RCKC 0x1b 3265*8e93258fSBjoern A. Zeeb #define RR_RCKC_CA GENMASK(14, 10) 3266*8e93258fSBjoern A. Zeeb #define RR_RCKS 0x1c 3267*8e93258fSBjoern A. Zeeb #define RR_RCKO 0x1d 3268*8e93258fSBjoern A. Zeeb #define RR_RCKO_OFF GENMASK(13, 9) 3269*8e93258fSBjoern A. Zeeb #define RR_RXKPLL 0x1e 3270*8e93258fSBjoern A. Zeeb #define RR_RXKPLL_OFF GENMASK(5, 0) 3271*8e93258fSBjoern A. Zeeb #define RR_RXKPLL_POW BIT(19) 3272*8e93258fSBjoern A. Zeeb #define RR_RSV4 0x1f 3273*8e93258fSBjoern A. Zeeb #define RR_RSV4_AGH GENMASK(17, 16) 3274*8e93258fSBjoern A. Zeeb #define RR_RSV4_PLLCH GENMASK(9, 0) 3275*8e93258fSBjoern A. Zeeb #define RR_RXK 0x20 3276*8e93258fSBjoern A. Zeeb #define RR_RXK_SEL2G BIT(8) 3277*8e93258fSBjoern A. Zeeb #define RR_RXK_SEL5G BIT(7) 3278*8e93258fSBjoern A. Zeeb #define RR_RXK_PLLEN BIT(5) 3279*8e93258fSBjoern A. Zeeb #define RR_LUTWA 0x33 3280*8e93258fSBjoern A. Zeeb #define RR_LUTWA_MASK GENMASK(9, 0) 3281*8e93258fSBjoern A. Zeeb #define RR_LUTWA_M2 GENMASK(4, 0) 3282*8e93258fSBjoern A. Zeeb #define RR_LUTWD1 0x3e 3283*8e93258fSBjoern A. Zeeb #define RR_LUTWD0 0x3f 3284*8e93258fSBjoern A. Zeeb #define RR_LUTWD0_LB GENMASK(5, 0) 3285*8e93258fSBjoern A. Zeeb #define RR_TM 0x42 3286*8e93258fSBjoern A. Zeeb #define RR_TM_TRI BIT(19) 3287*8e93258fSBjoern A. Zeeb #define RR_TM_VAL GENMASK(6, 1) 3288*8e93258fSBjoern A. Zeeb #define RR_TM2 0x43 3289*8e93258fSBjoern A. Zeeb #define RR_TM2_OFF GENMASK(19, 16) 3290*8e93258fSBjoern A. Zeeb #define RR_TXG1 0x51 3291*8e93258fSBjoern A. Zeeb #define RR_TXG1_ATT2 BIT(19) 3292*8e93258fSBjoern A. Zeeb #define RR_TXG1_ATT1 BIT(11) 3293*8e93258fSBjoern A. Zeeb #define RR_TXG2 0x52 3294*8e93258fSBjoern A. Zeeb #define RR_TXG2_ATT0 BIT(11) 3295*8e93258fSBjoern A. Zeeb #define RR_BSPAD 0x54 3296*8e93258fSBjoern A. Zeeb #define RR_TXGA 0x55 3297*8e93258fSBjoern A. Zeeb #define RR_TXGA_TRK_EN BIT(7) 3298*8e93258fSBjoern A. Zeeb #define RR_TXGA_LOK_EXT GENMASK(4, 0) 3299*8e93258fSBjoern A. Zeeb #define RR_TXGA_LOK_EN BIT(0) 3300*8e93258fSBjoern A. Zeeb #define RR_GAINTX 0x56 3301*8e93258fSBjoern A. Zeeb #define RR_GAINTX_ALL GENMASK(15, 0) 3302*8e93258fSBjoern A. Zeeb #define RR_GAINTX_PAD GENMASK(9, 5) 3303*8e93258fSBjoern A. Zeeb #define RR_GAINTX_BB GENMASK(4, 0) 3304*8e93258fSBjoern A. Zeeb #define RR_TXMO 0x58 3305*8e93258fSBjoern A. Zeeb #define RR_TXMO_COI GENMASK(19, 15) 3306*8e93258fSBjoern A. Zeeb #define RR_TXMO_COQ GENMASK(14, 10) 3307*8e93258fSBjoern A. Zeeb #define RR_TXMO_FII GENMASK(9, 6) 3308*8e93258fSBjoern A. Zeeb #define RR_TXMO_FIQ GENMASK(5, 2) 3309*8e93258fSBjoern A. Zeeb #define RR_TXA 0x5d 3310*8e93258fSBjoern A. Zeeb #define RR_TXA_TRK GENMASK(19, 14) 3311*8e93258fSBjoern A. Zeeb #define RR_TXRSV 0x5c 3312*8e93258fSBjoern A. Zeeb #define RR_TXRSV_GAPK BIT(19) 3313*8e93258fSBjoern A. Zeeb #define RR_BIAS 0x5e 3314*8e93258fSBjoern A. Zeeb #define RR_BIAS_GAPK BIT(19) 3315*8e93258fSBjoern A. Zeeb #define RR_BIASA 0x60 3316*8e93258fSBjoern A. Zeeb #define RR_BIASA_TXG GENMASK(15, 12) 3317*8e93258fSBjoern A. Zeeb #define RR_BIASA_TXA GENMASK(19, 16) 3318*8e93258fSBjoern A. Zeeb #define RR_BIASA_A GENMASK(2, 0) 3319*8e93258fSBjoern A. Zeeb #define RR_BIASA2 0x63 3320*8e93258fSBjoern A. Zeeb #define RR_BIASA2_LB GENMASK(4, 2) 3321*8e93258fSBjoern A. Zeeb #define RR_TXATANK 0x64 3322*8e93258fSBjoern A. Zeeb #define RR_TXATANK_LBSW2 GENMASK(17, 15) 3323*8e93258fSBjoern A. Zeeb #define RR_TXATANK_LBSW GENMASK(16, 15) 3324*8e93258fSBjoern A. Zeeb #define RR_TXA2 0x65 3325*8e93258fSBjoern A. Zeeb #define RR_TXA2_LDO GENMASK(19, 16) 3326*8e93258fSBjoern A. Zeeb #define RR_TRXIQ 0x66 3327*8e93258fSBjoern A. Zeeb #define RR_RSV6 0x6d 3328*8e93258fSBjoern A. Zeeb #define RR_TXPOW 0x7f 3329*8e93258fSBjoern A. Zeeb #define RR_TXPOW_TXA BIT(8) 3330*8e93258fSBjoern A. Zeeb #define RR_TXPOW_TXAS BIT(7) 3331*8e93258fSBjoern A. Zeeb #define RR_TXPOW_TXG BIT(1) 3332*8e93258fSBjoern A. Zeeb #define RR_RXPOW 0x80 3333*8e93258fSBjoern A. Zeeb #define RR_RXPOW_IQK GENMASK(17, 16) 3334*8e93258fSBjoern A. Zeeb #define RR_RXBB 0x83 3335*8e93258fSBjoern A. Zeeb #define RR_RXBB_VOBUF GENMASK(15, 12) 3336*8e93258fSBjoern A. Zeeb #define RR_RXBB_C2G GENMASK(16, 10) 3337*8e93258fSBjoern A. Zeeb #define RR_RXBB_C1G GENMASK(9, 8) 3338*8e93258fSBjoern A. Zeeb #define RR_RXBB_ATTR GENMASK(7, 4) 3339*8e93258fSBjoern A. Zeeb #define RR_RXBB_ATTC GENMASK(2, 0) 3340*8e93258fSBjoern A. Zeeb #define RR_RXG 0x84 3341*8e93258fSBjoern A. Zeeb #define RR_RXG_IQKMOD GENMASK(19, 16) 3342*8e93258fSBjoern A. Zeeb #define RR_XGLNA2 0x85 3343*8e93258fSBjoern A. Zeeb #define RR_XGLNA2_SW GENMASK(1, 0) 3344*8e93258fSBjoern A. Zeeb #define RR_RXAE 0x89 3345*8e93258fSBjoern A. Zeeb #define RR_RXAE_IQKMOD GENMASK(3, 0) 3346*8e93258fSBjoern A. Zeeb #define RR_RXA 0x8a 3347*8e93258fSBjoern A. Zeeb #define RR_RXA_DPK GENMASK(9, 8) 3348*8e93258fSBjoern A. Zeeb #define RR_RXA2 0x8c 3349*8e93258fSBjoern A. Zeeb #define RR_RXA2_C1 GENMASK(12, 10) 3350*8e93258fSBjoern A. Zeeb #define RR_RXA2_C2 GENMASK(9, 3) 3351*8e93258fSBjoern A. Zeeb #define RR_RXA2_IATT GENMASK(7, 4) 3352*8e93258fSBjoern A. Zeeb #define RR_RXA2_ATT GENMASK(3, 0) 3353*8e93258fSBjoern A. Zeeb #define RR_RXIQGEN 0x8d 3354*8e93258fSBjoern A. Zeeb #define RR_RXIQGEN_ATTL GENMASK(12, 8) 3355*8e93258fSBjoern A. Zeeb #define RR_RXIQGEN_ATTH GENMASK(14, 13) 3356*8e93258fSBjoern A. Zeeb #define RR_RXBB2 0x8f 3357*8e93258fSBjoern A. Zeeb #define RR_RXBB2_DAC_EN BIT(13) 3358*8e93258fSBjoern A. Zeeb #define RR_RXBB2_CKT BIT(12) 3359*8e93258fSBjoern A. Zeeb #define RR_EN_TIA_IDA GENMASK(11, 10) 3360*8e93258fSBjoern A. Zeeb #define RR_RXBB2_IDAC GENMASK(11, 9) 3361*8e93258fSBjoern A. Zeeb #define RR_RXBB2_EBW GENMASK(6, 5) 3362*8e93258fSBjoern A. Zeeb #define RR_XALNA2 0x90 3363*8e93258fSBjoern A. Zeeb #define RR_XALNA2_SW GENMASK(1, 0) 3364*8e93258fSBjoern A. Zeeb #define RR_DCK 0x92 3365*8e93258fSBjoern A. Zeeb #define RR_DCK_DONE GENMASK(7, 5) 3366*8e93258fSBjoern A. Zeeb #define RR_DCK_FINE BIT(1) 3367*8e93258fSBjoern A. Zeeb #define RR_DCK_LV BIT(0) 3368*8e93258fSBjoern A. Zeeb #define RR_DCK1 0x93 3369*8e93258fSBjoern A. Zeeb #define RR_DCK1_CLR GENMASK(3, 0) 3370*8e93258fSBjoern A. Zeeb #define RR_DCK1_SEL BIT(3) 3371*8e93258fSBjoern A. Zeeb #define RR_DCK2 0x94 3372*8e93258fSBjoern A. Zeeb #define RR_DCK2_CYCLE GENMASK(7, 2) 3373*8e93258fSBjoern A. Zeeb #define RR_DCKC 0x95 3374*8e93258fSBjoern A. Zeeb #define RR_DCKC_CHK BIT(3) 3375*8e93258fSBjoern A. Zeeb #define RR_IQGEN 0x97 3376*8e93258fSBjoern A. Zeeb #define RR_IQGEN_BIAS GENMASK(11, 8) 3377*8e93258fSBjoern A. Zeeb #define RR_TXIQK 0x98 3378*8e93258fSBjoern A. Zeeb #define RR_TXIQK_ATT2 GENMASK(15, 12) 3379*8e93258fSBjoern A. Zeeb #define RR_TIA 0x9e 3380*8e93258fSBjoern A. Zeeb #define RR_TIA_N6 BIT(8) 3381*8e93258fSBjoern A. Zeeb #define RR_MIXER 0x9f 3382*8e93258fSBjoern A. Zeeb #define RR_MIXER_GN GENMASK(4, 3) 3383*8e93258fSBjoern A. Zeeb #define RR_LOGEN 0xa3 3384*8e93258fSBjoern A. Zeeb #define RR_LOGEN_RPT GENMASK(19, 16) 3385*8e93258fSBjoern A. Zeeb #define RR_XTALX2 0xb8 3386*8e93258fSBjoern A. Zeeb #define RR_MALSEL 0xbe 3387*8e93258fSBjoern A. Zeeb #define RR_LCK_TRG 0xd3 3388*8e93258fSBjoern A. Zeeb #define RR_LCK_TRGSEL BIT(8) 3389*8e93258fSBjoern A. Zeeb #define RR_IQKPLL 0xdc 3390*8e93258fSBjoern A. Zeeb #define RR_IQKPLL_MOD GENMASK(9, 8) 3391*8e93258fSBjoern A. Zeeb #define RR_RCKD 0xde 3392*8e93258fSBjoern A. Zeeb #define RR_RCKD_POW GENMASK(19, 13) 3393*8e93258fSBjoern A. Zeeb #define RR_RCKD_BW BIT(2) 3394*8e93258fSBjoern A. Zeeb #define RR_TXADBG 0xde 3395*8e93258fSBjoern A. Zeeb #define RR_LUTDBG 0xdf 3396*8e93258fSBjoern A. Zeeb #define RR_LUTDBG_TIA BIT(12) 3397*8e93258fSBjoern A. Zeeb #define RR_LUTDBG_LOK BIT(2) 3398*8e93258fSBjoern A. Zeeb #define RR_LUTWE2 0xee 3399*8e93258fSBjoern A. Zeeb #define RR_LUTWE2_RTXBW BIT(2) 3400*8e93258fSBjoern A. Zeeb #define RR_LUTWE 0xef 3401*8e93258fSBjoern A. Zeeb #define RR_LUTWE_LOK BIT(2) 3402*8e93258fSBjoern A. Zeeb #define RR_RFC 0xf0 3403*8e93258fSBjoern A. Zeeb #define RR_RFC_CKEN BIT(1) 3404*8e93258fSBjoern A. Zeeb 3405*8e93258fSBjoern A. Zeeb #define R_UPD_P0 0x0000 3406*8e93258fSBjoern A. Zeeb #define R_RSTB_WATCH_DOG 0x000C 3407*8e93258fSBjoern A. Zeeb #define B_P0_RSTB_WATCH_DOG BIT(0) 3408*8e93258fSBjoern A. Zeeb #define B_P1_RSTB_WATCH_DOG BIT(1) 3409*8e93258fSBjoern A. Zeeb #define B_UPD_P0_EN BIT(31) 3410*8e93258fSBjoern A. Zeeb #define R_ANAPAR_PW15 0x030C 3411*8e93258fSBjoern A. Zeeb #define B_ANAPAR_PW15 GENMASK(31, 24) 3412*8e93258fSBjoern A. Zeeb #define B_ANAPAR_PW15_H GENMASK(27, 24) 3413*8e93258fSBjoern A. Zeeb #define B_ANAPAR_PW15_H2 GENMASK(27, 26) 3414*8e93258fSBjoern A. Zeeb #define R_ANAPAR 0x032C 3415*8e93258fSBjoern A. Zeeb #define B_ANAPAR_15 GENMASK(31, 16) 3416*8e93258fSBjoern A. Zeeb #define B_ANAPAR_ADCCLK BIT(30) 3417*8e93258fSBjoern A. Zeeb #define B_ANAPAR_FLTRST BIT(22) 3418*8e93258fSBjoern A. Zeeb #define B_ANAPAR_CRXBB GENMASK(18, 16) 3419*8e93258fSBjoern A. Zeeb #define B_ANAPAR_14 GENMASK(15, 0) 3420*8e93258fSBjoern A. Zeeb #define R_RFE_E_A2 0x0334 3421*8e93258fSBjoern A. Zeeb #define R_RFE_O_SEL_A2 0x0338 3422*8e93258fSBjoern A. Zeeb #define R_RFE_SEL0_A2 0x033C 3423*8e93258fSBjoern A. Zeeb #define R_RFE_SEL32_A2 0x0340 3424*8e93258fSBjoern A. Zeeb #define R_SWSI_DATA_V1 0x0370 3425*8e93258fSBjoern A. Zeeb #define B_SWSI_DATA_VAL_V1 GENMASK(19, 0) 3426*8e93258fSBjoern A. Zeeb #define B_SWSI_DATA_ADDR_V1 GENMASK(27, 20) 3427*8e93258fSBjoern A. Zeeb #define B_SWSI_DATA_PATH_V1 GENMASK(30, 28) 3428*8e93258fSBjoern A. Zeeb #define B_SWSI_DATA_BIT_MASK_EN_V1 BIT(31) 3429*8e93258fSBjoern A. Zeeb #define R_SWSI_BIT_MASK_V1 0x0374 3430*8e93258fSBjoern A. Zeeb #define B_SWSI_BIT_MASK_V1 GENMASK(19, 0) 3431*8e93258fSBjoern A. Zeeb #define R_SWSI_READ_ADDR_V1 0x0378 3432*8e93258fSBjoern A. Zeeb #define B_SWSI_READ_ADDR_ADDR_V1 GENMASK(7, 0) 3433*8e93258fSBjoern A. Zeeb #define B_SWSI_READ_ADDR_PATH_V1 GENMASK(10, 8) 3434*8e93258fSBjoern A. Zeeb #define B_SWSI_READ_ADDR_V1 GENMASK(10, 0) 3435*8e93258fSBjoern A. Zeeb #define R_UPD_CLK_ADC 0x0700 3436*8e93258fSBjoern A. Zeeb #define B_UPD_CLK_ADC_VAL GENMASK(26, 25) 3437*8e93258fSBjoern A. Zeeb #define B_UPD_CLK_ADC_ON BIT(24) 3438*8e93258fSBjoern A. Zeeb #define B_ENABLE_CCK BIT(5) 3439*8e93258fSBjoern A. Zeeb #define R_RSTB_ASYNC 0x0704 3440*8e93258fSBjoern A. Zeeb #define B_RSTB_ASYNC_ALL BIT(1) 3441*8e93258fSBjoern A. Zeeb #define R_MAC_PIN_SEL 0x0734 3442*8e93258fSBjoern A. Zeeb #define B_CH_IDX_SEG0 GENMASK(23, 16) 3443*8e93258fSBjoern A. Zeeb #define R_PLCP_HISTOGRAM 0x0738 3444*8e93258fSBjoern A. Zeeb #define B_STS_PARSING_TIME GENMASK(19, 16) 3445*8e93258fSBjoern A. Zeeb #define B_STS_DIS_TRIG_BY_FAIL BIT(3) 3446*8e93258fSBjoern A. Zeeb #define B_STS_DIS_TRIG_BY_BRK BIT(2) 3447*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_ADDR_START R_PHY_STS_BITMAP_SEARCH_FAIL 3448*8e93258fSBjoern A. Zeeb #define B_PHY_STS_BITMAP_ADDR_MASK GENMASK(6, 2) 3449*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_SEARCH_FAIL 0x073C 3450*8e93258fSBjoern A. Zeeb #define B_PHY_STS_BITMAP_MSK_52A 0x337cff3f 3451*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_R2T 0x0740 3452*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_CCA_SPOOF 0x0744 3453*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_OFDM_BRK 0x0748 3454*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_CCK_BRK 0x074C 3455*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_DL_MU_SPOOF 0x0750 3456*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_HE_MU 0x0754 3457*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_VHT_MU 0x0758 3458*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_UL_TB_SPOOF 0x075C 3459*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_TRIGBASE 0x0760 3460*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_CCK 0x0764 3461*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_LEGACY 0x0768 3462*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_HT 0x076C 3463*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_VHT 0x0770 3464*8e93258fSBjoern A. Zeeb #define R_PHY_STS_BITMAP_HE 0x0774 3465*8e93258fSBjoern A. Zeeb #define R_PMAC_GNT 0x0980 3466*8e93258fSBjoern A. Zeeb #define B_PMAC_GNT_TXEN BIT(0) 3467*8e93258fSBjoern A. Zeeb #define B_PMAC_GNT_RXEN BIT(16) 3468*8e93258fSBjoern A. Zeeb #define B_PMAC_GNT_P1 GENMASK(20, 17) 3469*8e93258fSBjoern A. Zeeb #define B_PMAC_GNT_P2 GENMASK(29, 26) 3470*8e93258fSBjoern A. Zeeb #define R_PMAC_RX_CFG1 0x0988 3471*8e93258fSBjoern A. Zeeb #define B_PMAC_OPT1_MSK GENMASK(11, 0) 3472*8e93258fSBjoern A. Zeeb #define R_PMAC_RXMOD 0x0994 3473*8e93258fSBjoern A. Zeeb #define B_PMAC_RXMOD_MSK GENMASK(7, 4) 3474*8e93258fSBjoern A. Zeeb #define R_MAC_SEL 0x09A4 3475*8e93258fSBjoern A. Zeeb #define B_MAC_SEL_OFDM_TRI_FILTER BIT(31) 3476*8e93258fSBjoern A. Zeeb #define B_MAC_SEL_PWR_EN BIT(16) 3477*8e93258fSBjoern A. Zeeb #define B_MAC_SEL_DPD_EN BIT(10) 3478*8e93258fSBjoern A. Zeeb #define B_MAC_SEL_MOD GENMASK(4, 2) 3479*8e93258fSBjoern A. Zeeb #define R_PMAC_TX_CTRL 0x09C0 3480*8e93258fSBjoern A. Zeeb #define B_PMAC_TXEN_DIS BIT(0) 3481*8e93258fSBjoern A. Zeeb #define R_PMAC_TX_PRD 0x09C4 3482*8e93258fSBjoern A. Zeeb #define B_PMAC_TX_PRD_MSK GENMASK(31, 8) 3483*8e93258fSBjoern A. Zeeb #define B_PMAC_CTX_EN BIT(0) 3484*8e93258fSBjoern A. Zeeb #define B_PMAC_PTX_EN BIT(4) 3485*8e93258fSBjoern A. Zeeb #define R_PMAC_TX_CNT 0x09C8 3486*8e93258fSBjoern A. Zeeb #define B_PMAC_TX_CNT_MSK GENMASK(31, 0) 3487*8e93258fSBjoern A. Zeeb #define R_P80_AT_HIGH_FREQ 0x09D8 3488*8e93258fSBjoern A. Zeeb #define B_P80_AT_HIGH_FREQ BIT(26) 3489*8e93258fSBjoern A. Zeeb #define R_DBCC_80P80_SEL_EVM_RPT 0x0A10 3490*8e93258fSBjoern A. Zeeb #define B_DBCC_80P80_SEL_EVM_RPT_EN BIT(0) 3491*8e93258fSBjoern A. Zeeb #define R_CCX 0x0C00 3492*8e93258fSBjoern A. Zeeb #define B_CCX_EDCCA_OPT_MSK GENMASK(6, 4) 3493*8e93258fSBjoern A. Zeeb #define B_MEASUREMENT_TRIG_MSK BIT(2) 3494*8e93258fSBjoern A. Zeeb #define B_CCX_TRIG_OPT_MSK BIT(1) 3495*8e93258fSBjoern A. Zeeb #define B_CCX_EN_MSK BIT(0) 3496*8e93258fSBjoern A. Zeeb #define R_IFS_COUNTER 0x0C28 3497*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_PERIOD_MSK GENMASK(31, 16) 3498*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_COUNTER_UNIT_MSK GENMASK(15, 14) 3499*8e93258fSBjoern A. Zeeb #define B_IFS_COUNTER_CLR_MSK BIT(13) 3500*8e93258fSBjoern A. Zeeb #define B_IFS_COLLECT_EN BIT(12) 3501*8e93258fSBjoern A. Zeeb #define R_IFS_T1 0x0C2C 3502*8e93258fSBjoern A. Zeeb #define B_IFS_T1_TH_HIGH_MSK GENMASK(31, 16) 3503*8e93258fSBjoern A. Zeeb #define B_IFS_T1_EN_MSK BIT(15) 3504*8e93258fSBjoern A. Zeeb #define B_IFS_T1_TH_LOW_MSK GENMASK(14, 0) 3505*8e93258fSBjoern A. Zeeb #define R_IFS_T2 0x0C30 3506*8e93258fSBjoern A. Zeeb #define B_IFS_T2_TH_HIGH_MSK GENMASK(31, 16) 3507*8e93258fSBjoern A. Zeeb #define B_IFS_T2_EN_MSK BIT(15) 3508*8e93258fSBjoern A. Zeeb #define B_IFS_T2_TH_LOW_MSK GENMASK(14, 0) 3509*8e93258fSBjoern A. Zeeb #define R_IFS_T3 0x0C34 3510*8e93258fSBjoern A. Zeeb #define B_IFS_T3_TH_HIGH_MSK GENMASK(31, 16) 3511*8e93258fSBjoern A. Zeeb #define B_IFS_T3_EN_MSK BIT(15) 3512*8e93258fSBjoern A. Zeeb #define B_IFS_T3_TH_LOW_MSK GENMASK(14, 0) 3513*8e93258fSBjoern A. Zeeb #define R_IFS_T4 0x0C38 3514*8e93258fSBjoern A. Zeeb #define B_IFS_T4_TH_HIGH_MSK GENMASK(31, 16) 3515*8e93258fSBjoern A. Zeeb #define B_IFS_T4_EN_MSK BIT(15) 3516*8e93258fSBjoern A. Zeeb #define B_IFS_T4_TH_LOW_MSK GENMASK(14, 0) 3517*8e93258fSBjoern A. Zeeb #define R_PD_CTRL 0x0C3C 3518*8e93258fSBjoern A. Zeeb #define B_PD_HIT_DIS BIT(9) 3519*8e93258fSBjoern A. Zeeb #define R_IOQ_IQK_DPK 0x0C60 3520*8e93258fSBjoern A. Zeeb #define B_IOQ_IQK_DPK_EN BIT(1) 3521*8e93258fSBjoern A. Zeeb #define R_GNT_BT_WGT_EN 0x0C6C 3522*8e93258fSBjoern A. Zeeb #define B_GNT_BT_WGT_EN BIT(21) 3523*8e93258fSBjoern A. Zeeb #define R_PD_ARBITER_OFF 0x0C80 3524*8e93258fSBjoern A. Zeeb #define B_PD_ARBITER_OFF BIT(31) 3525*8e93258fSBjoern A. Zeeb #define R_SNDCCA_A1 0x0C9C 3526*8e93258fSBjoern A. Zeeb #define B_SNDCCA_A1_EN GENMASK(19, 12) 3527*8e93258fSBjoern A. Zeeb #define R_SNDCCA_A2 0x0CA0 3528*8e93258fSBjoern A. Zeeb #define B_SNDCCA_A2_VAL GENMASK(19, 12) 3529*8e93258fSBjoern A. Zeeb #define R_RXHT_MCS_LIMIT 0x0D18 3530*8e93258fSBjoern A. Zeeb #define B_RXHT_MCS_LIMIT GENMASK(9, 8) 3531*8e93258fSBjoern A. Zeeb #define R_RXVHT_MCS_LIMIT 0x0D18 3532*8e93258fSBjoern A. Zeeb #define B_RXVHT_MCS_LIMIT GENMASK(22, 21) 3533*8e93258fSBjoern A. Zeeb #define R_P0_EN_SOUND_WO_NDP 0x0D7C 3534*8e93258fSBjoern A. Zeeb #define B_P0_EN_SOUND_WO_NDP BIT(1) 3535*8e93258fSBjoern A. Zeeb #define R_RXHE 0x0D80 3536*8e93258fSBjoern A. Zeeb #define B_RXHETB_MAX_NSS GENMASK(25, 23) 3537*8e93258fSBjoern A. Zeeb #define B_RXHE_MAX_NSS GENMASK(16, 14) 3538*8e93258fSBjoern A. Zeeb #define B_RXHE_USER_MAX GENMASK(13, 6) 3539*8e93258fSBjoern A. Zeeb #define R_SPOOF_ASYNC_RST 0x0D84 3540*8e93258fSBjoern A. Zeeb #define B_SPOOF_ASYNC_RST BIT(15) 3541*8e93258fSBjoern A. Zeeb #define R_NDP_BRK0 0xDA0 3542*8e93258fSBjoern A. Zeeb #define R_NDP_BRK1 0xDA4 3543*8e93258fSBjoern A. Zeeb #define B_NDP_RU_BRK BIT(0) 3544*8e93258fSBjoern A. Zeeb #define R_BRK_ASYNC_RST_EN_1 0x0DC0 3545*8e93258fSBjoern A. Zeeb #define R_BRK_ASYNC_RST_EN_2 0x0DC4 3546*8e93258fSBjoern A. Zeeb #define R_BRK_ASYNC_RST_EN_3 0x0DC8 3547*8e93258fSBjoern A. Zeeb #define R_S0_HW_SI_DIS 0x1200 3548*8e93258fSBjoern A. Zeeb #define B_S0_HW_SI_DIS_W_R_TRIG GENMASK(30, 28) 3549*8e93258fSBjoern A. Zeeb #define R_P0_RXCK 0x12A0 3550*8e93258fSBjoern A. Zeeb #define B_P0_RXCK_BW3 BIT(30) 3551*8e93258fSBjoern A. Zeeb #define B_P0_TXCK_ALL GENMASK(19, 12) 3552*8e93258fSBjoern A. Zeeb #define B_P0_RXCK_ON BIT(19) 3553*8e93258fSBjoern A. Zeeb #define B_P0_RXCK_VAL GENMASK(18, 16) 3554*8e93258fSBjoern A. Zeeb #define B_P0_TXCK_ON BIT(15) 3555*8e93258fSBjoern A. Zeeb #define B_P0_TXCK_VAL GENMASK(14, 12) 3556*8e93258fSBjoern A. Zeeb #define R_P0_NRBW 0x12B8 3557*8e93258fSBjoern A. Zeeb #define B_P0_NRBW_DBG BIT(30) 3558*8e93258fSBjoern A. Zeeb #define R_S0_RXDC 0x12D4 3559*8e93258fSBjoern A. Zeeb #define B_S0_RXDC_I GENMASK(25, 16) 3560*8e93258fSBjoern A. Zeeb #define B_S0_RXDC_Q GENMASK(31, 26) 3561*8e93258fSBjoern A. Zeeb #define R_S0_RXDC2 0x12D8 3562*8e93258fSBjoern A. Zeeb #define B_S0_RXDC2_SEL GENMASK(9, 8) 3563*8e93258fSBjoern A. Zeeb #define B_S0_RXDC2_AVG GENMASK(7, 6) 3564*8e93258fSBjoern A. Zeeb #define B_S0_RXDC2_MEN GENMASK(5, 4) 3565*8e93258fSBjoern A. Zeeb #define B_S0_RXDC2_Q2 GENMASK(3, 0) 3566*8e93258fSBjoern A. Zeeb #define R_CFO_COMP_SEG0_L 0x1384 3567*8e93258fSBjoern A. Zeeb #define R_CFO_COMP_SEG0_H 0x1388 3568*8e93258fSBjoern A. Zeeb #define R_CFO_COMP_SEG0_CTRL 0x138C 3569*8e93258fSBjoern A. Zeeb #define R_DBG32_D 0x1730 3570*8e93258fSBjoern A. Zeeb #define R_SWSI_V1 0x174C 3571*8e93258fSBjoern A. Zeeb #define B_SWSI_W_BUSY_V1 BIT(24) 3572*8e93258fSBjoern A. Zeeb #define B_SWSI_R_BUSY_V1 BIT(25) 3573*8e93258fSBjoern A. Zeeb #define B_SWSI_R_DATA_DONE_V1 BIT(26) 3574*8e93258fSBjoern A. Zeeb #define R_TX_COUNTER 0x1A40 3575*8e93258fSBjoern A. Zeeb #define R_IFS_CLM_TX_CNT 0x1ACC 3576*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_EDCCA_EXCLUDE_CCA_FA_MSK GENMASK(31, 16) 3577*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_TX_CNT_MSK GENMASK(15, 0) 3578*8e93258fSBjoern A. Zeeb #define R_IFS_CLM_CCA 0x1AD0 3579*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_OFDMCCA_EXCLUDE_FA_MSK GENMASK(31, 16) 3580*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_CCKCCA_EXCLUDE_FA_MSK GENMASK(15, 0) 3581*8e93258fSBjoern A. Zeeb #define R_IFS_CLM_FA 0x1AD4 3582*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_OFDM_FA_MSK GENMASK(31, 16) 3583*8e93258fSBjoern A. Zeeb #define B_IFS_CLM_CCK_FA_MSK GENMASK(15, 0) 3584*8e93258fSBjoern A. Zeeb #define R_IFS_HIS 0x1AD8 3585*8e93258fSBjoern A. Zeeb #define B_IFS_T4_HIS_MSK GENMASK(31, 24) 3586*8e93258fSBjoern A. Zeeb #define B_IFS_T3_HIS_MSK GENMASK(23, 16) 3587*8e93258fSBjoern A. Zeeb #define B_IFS_T2_HIS_MSK GENMASK(15, 8) 3588*8e93258fSBjoern A. Zeeb #define B_IFS_T1_HIS_MSK GENMASK(7, 0) 3589*8e93258fSBjoern A. Zeeb #define R_IFS_AVG_L 0x1ADC 3590*8e93258fSBjoern A. Zeeb #define B_IFS_T2_AVG_MSK GENMASK(31, 16) 3591*8e93258fSBjoern A. Zeeb #define B_IFS_T1_AVG_MSK GENMASK(15, 0) 3592*8e93258fSBjoern A. Zeeb #define R_IFS_AVG_H 0x1AE0 3593*8e93258fSBjoern A. Zeeb #define B_IFS_T4_AVG_MSK GENMASK(31, 16) 3594*8e93258fSBjoern A. Zeeb #define B_IFS_T3_AVG_MSK GENMASK(15, 0) 3595*8e93258fSBjoern A. Zeeb #define R_IFS_CCA_L 0x1AE4 3596*8e93258fSBjoern A. Zeeb #define B_IFS_T2_CCA_MSK GENMASK(31, 16) 3597*8e93258fSBjoern A. Zeeb #define B_IFS_T1_CCA_MSK GENMASK(15, 0) 3598*8e93258fSBjoern A. Zeeb #define R_IFS_CCA_H 0x1AE8 3599*8e93258fSBjoern A. Zeeb #define B_IFS_T4_CCA_MSK GENMASK(31, 16) 3600*8e93258fSBjoern A. Zeeb #define B_IFS_T3_CCA_MSK GENMASK(15, 0) 3601*8e93258fSBjoern A. Zeeb #define R_IFSCNT 0x1AEC 3602*8e93258fSBjoern A. Zeeb #define B_IFSCNT_DONE_MSK BIT(16) 3603*8e93258fSBjoern A. Zeeb #define B_IFSCNT_TOTAL_CNT_MSK GENMASK(15, 0) 3604*8e93258fSBjoern A. Zeeb #define R_TXAGC_TP 0x1C04 3605*8e93258fSBjoern A. Zeeb #define B_TXAGC_TP GENMASK(2, 0) 3606*8e93258fSBjoern A. Zeeb #define R_TSSI_THER 0x1C10 3607*8e93258fSBjoern A. Zeeb #define B_TSSI_THER GENMASK(29, 24) 3608*8e93258fSBjoern A. Zeeb #define R_TXAGC_BTP 0x1CA0 3609*8e93258fSBjoern A. Zeeb #define B_TXAGC_BTP GENMASK(31, 24) 3610*8e93258fSBjoern A. Zeeb #define R_TXAGC_BB 0x1C60 3611*8e93258fSBjoern A. Zeeb #define B_TXAGC_BB_OFT GENMASK(31, 16) 3612*8e93258fSBjoern A. Zeeb #define B_TXAGC_BB GENMASK(31, 24) 3613*8e93258fSBjoern A. Zeeb #define R_S0_ADDCK 0x1E00 3614*8e93258fSBjoern A. Zeeb #define B_S0_ADDCK_I GENMASK(9, 0) 3615*8e93258fSBjoern A. Zeeb #define B_S0_ADDCK_Q GENMASK(19, 10) 3616*8e93258fSBjoern A. Zeeb #define R_ADC_FIFO 0x20fc 3617*8e93258fSBjoern A. Zeeb #define B_ADC_FIFO_RST GENMASK(31, 24) 3618*8e93258fSBjoern A. Zeeb #define B_ADC_FIFO_RXK GENMASK(31, 16) 3619*8e93258fSBjoern A. Zeeb #define B_ADC_FIFO_A3 BIT(28) 3620*8e93258fSBjoern A. Zeeb #define B_ADC_FIFO_A2 BIT(24) 3621*8e93258fSBjoern A. Zeeb #define B_ADC_FIFO_A1 BIT(20) 3622*8e93258fSBjoern A. Zeeb #define B_ADC_FIFO_A0 BIT(16) 3623*8e93258fSBjoern A. Zeeb #define R_TXFIR0 0x2300 3624*8e93258fSBjoern A. Zeeb #define B_TXFIR_C01 GENMASK(23, 0) 3625*8e93258fSBjoern A. Zeeb #define R_TXFIR2 0x2304 3626*8e93258fSBjoern A. Zeeb #define B_TXFIR_C23 GENMASK(23, 0) 3627*8e93258fSBjoern A. Zeeb #define R_TXFIR4 0x2308 3628*8e93258fSBjoern A. Zeeb #define B_TXFIR_C45 GENMASK(23, 0) 3629*8e93258fSBjoern A. Zeeb #define R_TXFIR6 0x230c 3630*8e93258fSBjoern A. Zeeb #define B_TXFIR_C67 GENMASK(23, 0) 3631*8e93258fSBjoern A. Zeeb #define R_TXFIR8 0x2310 3632*8e93258fSBjoern A. Zeeb #define B_TXFIR_C89 GENMASK(23, 0) 3633*8e93258fSBjoern A. Zeeb #define R_TXFIRA 0x2314 3634*8e93258fSBjoern A. Zeeb #define B_TXFIR_CAB GENMASK(23, 0) 3635*8e93258fSBjoern A. Zeeb #define R_TXFIRC 0x2318 3636*8e93258fSBjoern A. Zeeb #define B_TXFIR_CCD GENMASK(23, 0) 3637*8e93258fSBjoern A. Zeeb #define R_TXFIRE 0x231c 3638*8e93258fSBjoern A. Zeeb #define B_TXFIR_CEF GENMASK(23, 0) 3639*8e93258fSBjoern A. Zeeb #define R_11B_RX_V1 0x2320 3640*8e93258fSBjoern A. Zeeb #define B_11B_RXCCA_DIS_V1 BIT(0) 3641*8e93258fSBjoern A. Zeeb #define R_RPL_OFST 0x2340 3642*8e93258fSBjoern A. Zeeb #define B_RPL_OFST_MASK GENMASK(14, 8) 3643*8e93258fSBjoern A. Zeeb #define R_RXCCA 0x2344 3644*8e93258fSBjoern A. Zeeb #define B_RXCCA_DIS BIT(31) 3645*8e93258fSBjoern A. Zeeb #define R_RXCCA_V1 0x2320 3646*8e93258fSBjoern A. Zeeb #define B_RXCCA_DIS_V1 BIT(0) 3647*8e93258fSBjoern A. Zeeb #define R_RXSC 0x237C 3648*8e93258fSBjoern A. Zeeb #define B_RXSC_EN BIT(0) 3649*8e93258fSBjoern A. Zeeb #define R_RXSCOBC 0x23B0 3650*8e93258fSBjoern A. Zeeb #define B_RXSCOBC_TH GENMASK(18, 0) 3651*8e93258fSBjoern A. Zeeb #define R_RXSCOCCK 0x23B4 3652*8e93258fSBjoern A. Zeeb #define B_RXSCOCCK_TH GENMASK(18, 0) 3653*8e93258fSBjoern A. Zeeb #define R_P80_AT_HIGH_FREQ_RU_ALLOC 0x2410 3654*8e93258fSBjoern A. Zeeb #define B_P80_AT_HIGH_FREQ_RU_ALLOC_PHY1 BIT(14) 3655*8e93258fSBjoern A. Zeeb #define B_P80_AT_HIGH_FREQ_RU_ALLOC_PHY0 BIT(13) 3656*8e93258fSBjoern A. Zeeb #define R_DBCC_80P80_SEL_EVM_RPT2 0x2A10 3657*8e93258fSBjoern A. Zeeb #define B_DBCC_80P80_SEL_EVM_RPT2_EN BIT(0) 3658*8e93258fSBjoern A. Zeeb #define R_P1_EN_SOUND_WO_NDP 0x2D7C 3659*8e93258fSBjoern A. Zeeb #define B_P1_EN_SOUND_WO_NDP BIT(1) 3660*8e93258fSBjoern A. Zeeb #define R_S1_HW_SI_DIS 0x3200 3661*8e93258fSBjoern A. Zeeb #define B_S1_HW_SI_DIS_W_R_TRIG GENMASK(30, 28) 3662*8e93258fSBjoern A. Zeeb #define R_P1_DBGMOD 0x32B8 3663*8e93258fSBjoern A. Zeeb #define B_P1_DBGMOD_ON BIT(30) 3664*8e93258fSBjoern A. Zeeb #define R_S1_RXDC 0x32D4 3665*8e93258fSBjoern A. Zeeb #define B_S1_RXDC_I GENMASK(25, 16) 3666*8e93258fSBjoern A. Zeeb #define B_S1_RXDC_Q GENMASK(31, 26) 3667*8e93258fSBjoern A. Zeeb #define R_S1_RXDC2 0x32D8 3668*8e93258fSBjoern A. Zeeb #define B_S1_RXDC2_EN GENMASK(5, 4) 3669*8e93258fSBjoern A. Zeeb #define B_S1_RXDC2_SEL GENMASK(9, 8) 3670*8e93258fSBjoern A. Zeeb #define B_S1_RXDC2_Q2 GENMASK(3, 0) 3671*8e93258fSBjoern A. Zeeb #define R_TXAGC_BB_S1 0x3C60 3672*8e93258fSBjoern A. Zeeb #define B_TXAGC_BB_S1_OFT GENMASK(31, 16) 3673*8e93258fSBjoern A. Zeeb #define B_TXAGC_BB_S1 GENMASK(31, 24) 3674*8e93258fSBjoern A. Zeeb #define R_S1_ADDCK 0x3E00 3675*8e93258fSBjoern A. Zeeb #define B_S1_ADDCK_I GENMASK(9, 0) 3676*8e93258fSBjoern A. Zeeb #define B_S1_ADDCK_Q GENMASK(19, 10) 3677*8e93258fSBjoern A. Zeeb #define R_DCFO 0x4264 3678*8e93258fSBjoern A. Zeeb #define B_DCFO GENMASK(1, 0) 3679*8e93258fSBjoern A. Zeeb #define R_SEG0CSI 0x42AC 3680*8e93258fSBjoern A. Zeeb #define B_SEG0CSI_IDX GENMASK(11, 0) 3681*8e93258fSBjoern A. Zeeb #define R_SEG0CSI_EN 0x42C4 3682*8e93258fSBjoern A. Zeeb #define B_SEG0CSI_EN BIT(23) 3683*8e93258fSBjoern A. Zeeb #define R_BSS_CLR_MAP 0x43ac 3684*8e93258fSBjoern A. Zeeb #define B_BSS_CLR_MAP_VLD0 BIT(28) 3685*8e93258fSBjoern A. Zeeb #define B_BSS_CLR_MAP_TGT GENMASK(27, 22) 3686*8e93258fSBjoern A. Zeeb #define B_BSS_CLR_MAP_STAID GENMASK(21, 11) 3687*8e93258fSBjoern A. Zeeb #define R_CFO_TRK0 0x4404 3688*8e93258fSBjoern A. Zeeb #define R_CFO_TRK1 0x440C 3689*8e93258fSBjoern A. Zeeb #define B_CFO_TRK_MSK GENMASK(14, 10) 3690*8e93258fSBjoern A. Zeeb #define R_T2F_GI_COMB 0x4424 3691*8e93258fSBjoern A. Zeeb #define B_T2F_GI_COMB_EN BIT(2) 3692*8e93258fSBjoern A. Zeeb #define R_BT_DYN_DC_EST_EN 0x441C 3693*8e93258fSBjoern A. Zeeb #define B_BT_DYN_DC_EST_EN_MSK BIT(31) 3694*8e93258fSBjoern A. Zeeb #define R_ASSIGN_SBD_OPT 0x4450 3695*8e93258fSBjoern A. Zeeb #define B_ASSIGN_SBD_OPT_EN BIT(24) 3696*8e93258fSBjoern A. Zeeb #define R_DCFO_COMP_S0 0x448C 3697*8e93258fSBjoern A. Zeeb #define B_DCFO_COMP_S0_MSK GENMASK(11, 0) 3698*8e93258fSBjoern A. Zeeb #define R_DCFO_WEIGHT 0x4490 3699*8e93258fSBjoern A. Zeeb #define B_DCFO_WEIGHT_MSK GENMASK(27, 24) 3700*8e93258fSBjoern A. Zeeb #define R_DCFO_OPT 0x4494 3701*8e93258fSBjoern A. Zeeb #define B_DCFO_OPT_EN BIT(29) 3702*8e93258fSBjoern A. Zeeb #define R_BANDEDGE 0x4498 3703*8e93258fSBjoern A. Zeeb #define B_BANDEDGE_EN BIT(30) 3704*8e93258fSBjoern A. Zeeb #define R_TXPATH_SEL 0x458C 3705*8e93258fSBjoern A. Zeeb #define B_TXPATH_SEL_MSK GENMASK(31, 28) 3706*8e93258fSBjoern A. Zeeb #define R_TXPWR 0x4594 3707*8e93258fSBjoern A. Zeeb #define B_TXPWR_MSK GENMASK(30, 22) 3708*8e93258fSBjoern A. Zeeb #define R_TXNSS_MAP 0x45B4 3709*8e93258fSBjoern A. Zeeb #define B_TXNSS_MAP_MSK GENMASK(20, 17) 3710*8e93258fSBjoern A. Zeeb #define R_PCOEFF0_V1 0x45BC 3711*8e93258fSBjoern A. Zeeb #define B_PCOEFF01_MSK_V1 GENMASK(23, 0) 3712*8e93258fSBjoern A. Zeeb #define R_PCOEFF2_V1 0x45CC 3713*8e93258fSBjoern A. Zeeb #define B_PCOEFF23_MSK_V1 GENMASK(23, 0) 3714*8e93258fSBjoern A. Zeeb #define R_PCOEFF4_V1 0x45D0 3715*8e93258fSBjoern A. Zeeb #define B_PCOEFF45_MSK_V1 GENMASK(23, 0) 3716*8e93258fSBjoern A. Zeeb #define R_PCOEFF6_V1 0x45D4 3717*8e93258fSBjoern A. Zeeb #define B_PCOEFF67_MSK_V1 GENMASK(23, 0) 3718*8e93258fSBjoern A. Zeeb #define R_PCOEFF8_V1 0x45D8 3719*8e93258fSBjoern A. Zeeb #define B_PCOEFF89_MSK_V1 GENMASK(23, 0) 3720*8e93258fSBjoern A. Zeeb #define R_PCOEFFA_V1 0x45C0 3721*8e93258fSBjoern A. Zeeb #define B_PCOEFFAB_MSK_V1 GENMASK(23, 0) 3722*8e93258fSBjoern A. Zeeb #define R_PCOEFFC_V1 0x45C4 3723*8e93258fSBjoern A. Zeeb #define B_PCOEFFCD_MSK_V1 GENMASK(23, 0) 3724*8e93258fSBjoern A. Zeeb #define R_PCOEFFE_V1 0x45C8 3725*8e93258fSBjoern A. Zeeb #define B_PCOEFFEF_MSK_V1 GENMASK(23, 0) 3726*8e93258fSBjoern A. Zeeb #define R_PATH0_IB_PKPW 0x4628 3727*8e93258fSBjoern A. Zeeb #define B_PATH0_IB_PKPW_MSK GENMASK(11, 6) 3728*8e93258fSBjoern A. Zeeb #define R_PATH0_LNA_ERR1 0x462C 3729*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G1_A_MSK GENMASK(29, 24) 3730*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G0_G_MSK GENMASK(17, 12) 3731*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G0_A_MSK GENMASK(11, 6) 3732*8e93258fSBjoern A. Zeeb #define R_PATH0_LNA_ERR2 0x4630 3733*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G2_G_MSK GENMASK(23, 18) 3734*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G2_A_MSK GENMASK(17, 12) 3735*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G1_G_MSK GENMASK(5, 0) 3736*8e93258fSBjoern A. Zeeb #define R_PATH0_LNA_ERR3 0x4634 3737*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G4_G_MSK GENMASK(29, 24) 3738*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G4_A_MSK GENMASK(23, 18) 3739*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G3_G_MSK GENMASK(11, 6) 3740*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G3_A_MSK GENMASK(5, 0) 3741*8e93258fSBjoern A. Zeeb #define R_PATH0_LNA_ERR4 0x4638 3742*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G6_A_MSK GENMASK(29, 24) 3743*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G5_G_MSK GENMASK(17, 12) 3744*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G5_A_MSK GENMASK(11, 6) 3745*8e93258fSBjoern A. Zeeb #define R_PATH0_LNA_ERR5 0x463C 3746*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_ERR_G6_G_MSK GENMASK(5, 0) 3747*8e93258fSBjoern A. Zeeb #define R_PATH0_TIA_ERR_G0 0x4640 3748*8e93258fSBjoern A. Zeeb #define B_PATH0_TIA_ERR_G0_G_MSK GENMASK(23, 18) 3749*8e93258fSBjoern A. Zeeb #define B_PATH0_TIA_ERR_G0_A_MSK GENMASK(17, 12) 3750*8e93258fSBjoern A. Zeeb #define R_PATH0_TIA_ERR_G1 0x4644 3751*8e93258fSBjoern A. Zeeb #define B_PATH0_TIA_ERR_G1_SEL GENMASK(31, 30) 3752*8e93258fSBjoern A. Zeeb #define B_PATH0_TIA_ERR_G1_G_MSK GENMASK(11, 6) 3753*8e93258fSBjoern A. Zeeb #define B_PATH0_TIA_ERR_G1_A_MSK GENMASK(5, 0) 3754*8e93258fSBjoern A. Zeeb #define R_PATH0_IB_PBK 0x4650 3755*8e93258fSBjoern A. Zeeb #define B_PATH0_IB_PBK_MSK GENMASK(14, 10) 3756*8e93258fSBjoern A. Zeeb #define R_PATH0_RXB_INIT 0x4658 3757*8e93258fSBjoern A. Zeeb #define B_PATH0_RXB_INIT_IDX_MSK GENMASK(9, 5) 3758*8e93258fSBjoern A. Zeeb #define R_PATH0_LNA_INIT 0x4668 3759*8e93258fSBjoern A. Zeeb #define B_PATH0_LNA_INIT_IDX_MSK GENMASK(26, 24) 3760*8e93258fSBjoern A. Zeeb #define R_PATH0_BTG 0x466C 3761*8e93258fSBjoern A. Zeeb #define B_PATH0_BTG_SHEN GENMASK(18, 17) 3762*8e93258fSBjoern A. Zeeb #define R_PATH0_TIA_INIT 0x4674 3763*8e93258fSBjoern A. Zeeb #define B_PATH0_TIA_INIT_IDX_MSK BIT(17) 3764*8e93258fSBjoern A. Zeeb #define R_PATH0_P20_FOLLOW_BY_PAGCUGC 0x46A0 3765*8e93258fSBjoern A. Zeeb #define B_PATH0_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5) 3766*8e93258fSBjoern A. Zeeb #define R_PATH0_S20_FOLLOW_BY_PAGCUGC 0x46A4 3767*8e93258fSBjoern A. Zeeb #define B_PATH0_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5) 3768*8e93258fSBjoern A. Zeeb #define R_PATH0_G_LNA6_OP1DB_V1 0x4688 3769*8e93258fSBjoern A. Zeeb #define B_PATH0_G_LNA6_OP1DB_V1 GENMASK(31, 24) 3770*8e93258fSBjoern A. Zeeb #define R_PATH0_G_TIA0_LNA6_OP1DB_V1 0x4694 3771*8e93258fSBjoern A. Zeeb #define B_PATH0_G_TIA0_LNA6_OP1DB_V1 GENMASK(7, 0) 3772*8e93258fSBjoern A. Zeeb #define R_PATH0_G_TIA1_LNA6_OP1DB_V1 0x4694 3773*8e93258fSBjoern A. Zeeb #define B_PATH0_R_G_OFST_MASK GENMASK(23, 16) 3774*8e93258fSBjoern A. Zeeb #define B_PATH0_G_TIA1_LNA6_OP1DB_V1 GENMASK(15, 8) 3775*8e93258fSBjoern A. Zeeb #define R_CDD_EVM_CHK_EN 0x46C0 3776*8e93258fSBjoern A. Zeeb #define B_CDD_EVM_CHK_EN BIT(0) 3777*8e93258fSBjoern A. Zeeb #define R_PATH0_BAND_SEL_V1 0x4738 3778*8e93258fSBjoern A. Zeeb #define B_PATH0_BAND_SEL_MSK_V1 BIT(17) 3779*8e93258fSBjoern A. Zeeb #define R_PATH0_BT_SHARE_V1 0x4738 3780*8e93258fSBjoern A. Zeeb #define B_PATH0_BT_SHARE_V1 BIT(19) 3781*8e93258fSBjoern A. Zeeb #define R_PATH0_BTG_PATH_V1 0x4738 3782*8e93258fSBjoern A. Zeeb #define B_PATH0_BTG_PATH_V1 BIT(22) 3783*8e93258fSBjoern A. Zeeb #define R_P0_NBIIDX 0x469C 3784*8e93258fSBjoern A. Zeeb #define B_P0_NBIIDX_VAL GENMASK(11, 0) 3785*8e93258fSBjoern A. Zeeb #define B_P0_NBIIDX_NOTCH_EN BIT(12) 3786*8e93258fSBjoern A. Zeeb #define R_P0_BACKOFF_IBADC_V1 0x469C 3787*8e93258fSBjoern A. Zeeb #define B_P0_BACKOFF_IBADC_V1 GENMASK(31, 26) 3788*8e93258fSBjoern A. Zeeb #define B_P0_NBIIDX_NOTCH_EN_V1 BIT(12) 3789*8e93258fSBjoern A. Zeeb #define R_P1_MODE 0x4718 3790*8e93258fSBjoern A. Zeeb #define B_P1_MODE_SEL GENMASK(31, 30) 3791*8e93258fSBjoern A. Zeeb #define R_P0_AGC_CTL 0x4730 3792*8e93258fSBjoern A. Zeeb #define B_P0_AGC_EN BIT(31) 3793*8e93258fSBjoern A. Zeeb #define R_PATH1_LNA_INIT 0x473C 3794*8e93258fSBjoern A. Zeeb #define B_PATH1_LNA_INIT_IDX_MSK GENMASK(26, 24) 3795*8e93258fSBjoern A. Zeeb #define R_PATH1_TIA_INIT 0x4748 3796*8e93258fSBjoern A. Zeeb #define B_PATH1_TIA_INIT_IDX_MSK BIT(17) 3797*8e93258fSBjoern A. Zeeb #define R_PATH1_BTG 0x4740 3798*8e93258fSBjoern A. Zeeb #define B_PATH1_BTG_SHEN GENMASK(18, 17) 3799*8e93258fSBjoern A. Zeeb #define R_PATH1_RXB_INIT 0x472C 3800*8e93258fSBjoern A. Zeeb #define B_PATH1_RXB_INIT_IDX_MSK GENMASK(9, 5) 3801*8e93258fSBjoern A. Zeeb #define R_PATH1_G_LNA6_OP1DB_V1 0x476C 3802*8e93258fSBjoern A. Zeeb #define B_PATH1_G_LNA6_OP1DB_V1 GENMASK(31, 24) 3803*8e93258fSBjoern A. Zeeb #define R_PATH1_P20_FOLLOW_BY_PAGCUGC 0x4774 3804*8e93258fSBjoern A. Zeeb #define B_PATH1_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5) 3805*8e93258fSBjoern A. Zeeb #define R_PATH1_S20_FOLLOW_BY_PAGCUGC 0x4778 3806*8e93258fSBjoern A. Zeeb #define B_PATH1_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5) 3807*8e93258fSBjoern A. Zeeb #define R_PATH1_G_TIA0_LNA6_OP1DB_V1 0x4778 3808*8e93258fSBjoern A. Zeeb #define B_PATH1_G_TIA0_LNA6_OP1DB_V1 GENMASK(7, 0) 3809*8e93258fSBjoern A. Zeeb #define R_PATH1_G_TIA1_LNA6_OP1DB_V1 0x4778 3810*8e93258fSBjoern A. Zeeb #define B_PATH1_G_TIA1_LNA6_OP1DB_V1 GENMASK(15, 8) 3811*8e93258fSBjoern A. Zeeb #define R_PATH1_BAND_SEL_V1 0x4AA4 3812*8e93258fSBjoern A. Zeeb #define B_PATH1_BAND_SEL_MSK_V1 BIT(17) 3813*8e93258fSBjoern A. Zeeb #define R_PATH1_BT_SHARE_V1 0x4AA4 3814*8e93258fSBjoern A. Zeeb #define B_PATH1_BT_SHARE_V1 BIT(19) 3815*8e93258fSBjoern A. Zeeb #define R_PATH1_BTG_PATH_V1 0x4AA4 3816*8e93258fSBjoern A. Zeeb #define B_PATH1_BTG_PATH_V1 BIT(22) 3817*8e93258fSBjoern A. Zeeb #define R_P1_NBIIDX 0x4770 3818*8e93258fSBjoern A. Zeeb #define B_P1_NBIIDX_VAL GENMASK(11, 0) 3819*8e93258fSBjoern A. Zeeb #define B_P1_NBIIDX_NOTCH_EN BIT(12) 3820*8e93258fSBjoern A. Zeeb #define R_SEG0R_PD 0x481C 3821*8e93258fSBjoern A. Zeeb #define B_SEG0R_PD_SPATIAL_REUSE_EN_MSK BIT(29) 3822*8e93258fSBjoern A. Zeeb #define B_SEG0R_PD_LOWER_BOUND_MSK GENMASK(10, 6) 3823*8e93258fSBjoern A. Zeeb #define R_2P4G_BAND 0x4970 3824*8e93258fSBjoern A. Zeeb #define B_2P4G_BAND_SEL BIT(1) 3825*8e93258fSBjoern A. Zeeb #define R_FC0_BW 0x4974 3826*8e93258fSBjoern A. Zeeb #define B_FC0_BW_INV GENMASK(6, 0) 3827*8e93258fSBjoern A. Zeeb #define B_FC0_BW_SET GENMASK(31, 30) 3828*8e93258fSBjoern A. Zeeb #define B_ANT_RX_BT_SEG0 GENMASK(25, 22) 3829*8e93258fSBjoern A. Zeeb #define B_ANT_RX_1RCCA_SEG1 GENMASK(21, 18) 3830*8e93258fSBjoern A. Zeeb #define B_ANT_RX_1RCCA_SEG0 GENMASK(17, 14) 3831*8e93258fSBjoern A. Zeeb #define R_CHBW_MOD 0x4978 3832*8e93258fSBjoern A. Zeeb #define B_BT_SHARE BIT(14) 3833*8e93258fSBjoern A. Zeeb #define B_CHBW_MOD_SBW GENMASK(13, 12) 3834*8e93258fSBjoern A. Zeeb #define B_CHBW_MOD_PRICH GENMASK(11, 8) 3835*8e93258fSBjoern A. Zeeb #define B_ANT_RX_SEG0 GENMASK(3, 0) 3836*8e93258fSBjoern A. Zeeb #define R_PD_BOOST_EN 0x49E8 3837*8e93258fSBjoern A. Zeeb #define B_PD_BOOST_EN BIT(7) 3838*8e93258fSBjoern A. Zeeb #define R_P1_BACKOFF_IBADC_V1 0x49F0 3839*8e93258fSBjoern A. Zeeb #define B_P1_BACKOFF_IBADC_V1 GENMASK(31, 26) 3840*8e93258fSBjoern A. Zeeb #define R_BK_FC0_INV_V1 0x4A1C 3841*8e93258fSBjoern A. Zeeb #define B_BK_FC0_INV_MSK_V1 GENMASK(18, 0) 3842*8e93258fSBjoern A. Zeeb #define R_CCK_FC0_INV_V1 0x4A20 3843*8e93258fSBjoern A. Zeeb #define B_CCK_FC0_INV_MSK_V1 GENMASK(18, 0) 3844*8e93258fSBjoern A. Zeeb #define R_P1_AGC_CTL 0x4A9C 3845*8e93258fSBjoern A. Zeeb #define B_P1_AGC_EN BIT(31) 3846*8e93258fSBjoern A. Zeeb #define R_PATH0_RXBB_V1 0x4AD4 3847*8e93258fSBjoern A. Zeeb #define B_PATH0_RXBB_MSK_V1 GENMASK(31, 0) 3848*8e93258fSBjoern A. Zeeb #define R_PATH1_RXBB_V1 0x4AE0 3849*8e93258fSBjoern A. Zeeb #define B_PATH1_RXBB_MSK_V1 GENMASK(31, 0) 3850*8e93258fSBjoern A. Zeeb #define R_PATH0_BT_BACKOFF_V1 0x4AE4 3851*8e93258fSBjoern A. Zeeb #define B_PATH0_BT_BACKOFF_V1 GENMASK(23, 0) 3852*8e93258fSBjoern A. Zeeb #define R_PATH1_BT_BACKOFF_V1 0x4AEC 3853*8e93258fSBjoern A. Zeeb #define B_PATH1_BT_BACKOFF_V1 GENMASK(23, 0) 3854*8e93258fSBjoern A. Zeeb #define R_PATH0_FRC_FIR_TYPE_V1 0x4C00 3855*8e93258fSBjoern A. Zeeb #define B_PATH0_FRC_FIR_TYPE_MSK_V1 GENMASK(1, 0) 3856*8e93258fSBjoern A. Zeeb #define R_PATH0_NOTCH 0x4C14 3857*8e93258fSBjoern A. Zeeb #define B_PATH0_NOTCH_EN BIT(12) 3858*8e93258fSBjoern A. Zeeb #define B_PATH0_NOTCH_VAL GENMASK(11, 0) 3859*8e93258fSBjoern A. Zeeb #define R_PATH0_NOTCH2 0x4C20 3860*8e93258fSBjoern A. Zeeb #define B_PATH0_NOTCH2_EN BIT(12) 3861*8e93258fSBjoern A. Zeeb #define B_PATH0_NOTCH2_VAL GENMASK(11, 0) 3862*8e93258fSBjoern A. Zeeb #define R_PATH0_5MDET 0x4C4C 3863*8e93258fSBjoern A. Zeeb #define B_PATH0_5MDET_EN BIT(12) 3864*8e93258fSBjoern A. Zeeb #define B_PATH0_5MDET_SB2 BIT(8) 3865*8e93258fSBjoern A. Zeeb #define B_PATH0_5MDET_SB0 BIT(6) 3866*8e93258fSBjoern A. Zeeb #define B_PATH0_5MDET_TH GENMASK(5, 0) 3867*8e93258fSBjoern A. Zeeb #define R_PATH1_FRC_FIR_TYPE_V1 0x4CC4 3868*8e93258fSBjoern A. Zeeb #define B_PATH1_FRC_FIR_TYPE_MSK_V1 GENMASK(1, 0) 3869*8e93258fSBjoern A. Zeeb #define R_PATH1_NOTCH 0x4CD8 3870*8e93258fSBjoern A. Zeeb #define B_PATH1_NOTCH_EN BIT(12) 3871*8e93258fSBjoern A. Zeeb #define B_PATH1_NOTCH_VAL GENMASK(11, 0) 3872*8e93258fSBjoern A. Zeeb #define R_PATH1_NOTCH2 0x4CE4 3873*8e93258fSBjoern A. Zeeb #define B_PATH1_NOTCH2_EN BIT(12) 3874*8e93258fSBjoern A. Zeeb #define B_PATH1_NOTCH2_VAL GENMASK(11, 0) 3875*8e93258fSBjoern A. Zeeb #define R_PATH1_5MDET 0x4D10 3876*8e93258fSBjoern A. Zeeb #define B_PATH1_5MDET_EN BIT(12) 3877*8e93258fSBjoern A. Zeeb #define B_PATH1_5MDET_SB2 BIT(8) 3878*8e93258fSBjoern A. Zeeb #define B_PATH1_5MDET_SB0 BIT(6) 3879*8e93258fSBjoern A. Zeeb #define B_PATH1_5MDET_TH GENMASK(5, 0) 3880*8e93258fSBjoern A. Zeeb #define R_RPL_BIAS_COMP 0x4DF0 3881*8e93258fSBjoern A. Zeeb #define B_RPL_BIAS_COMP_MASK GENMASK(7, 0) 3882*8e93258fSBjoern A. Zeeb #define R_RPL_PATHAB 0x4E0C 3883*8e93258fSBjoern A. Zeeb #define B_RPL_PATHB_MASK GENMASK(23, 16) 3884*8e93258fSBjoern A. Zeeb #define B_RPL_PATHA_MASK GENMASK(15, 8) 3885*8e93258fSBjoern A. Zeeb #define R_RSSI_M_PATHAB 0x4E2C 3886*8e93258fSBjoern A. Zeeb #define B_RSSI_M_PATHB_MASK GENMASK(15, 8) 3887*8e93258fSBjoern A. Zeeb #define B_RSSI_M_PATHA_MASK GENMASK(7, 0) 3888*8e93258fSBjoern A. Zeeb #define R_FC0_V1 0x4E30 3889*8e93258fSBjoern A. Zeeb #define B_FC0_MSK_V1 GENMASK(12, 0) 3890*8e93258fSBjoern A. Zeeb #define R_RX_BW40_2XFFT_EN_V1 0x4E30 3891*8e93258fSBjoern A. Zeeb #define B_RX_BW40_2XFFT_EN_MSK_V1 BIT(26) 3892*8e93258fSBjoern A. Zeeb #define R_DCFO_COMP_S0_V1 0x4A40 3893*8e93258fSBjoern A. Zeeb #define B_DCFO_COMP_S0_V1_MSK GENMASK(13, 0) 3894*8e93258fSBjoern A. Zeeb #define R_BMODE_PDTH_V1 0x4B64 3895*8e93258fSBjoern A. Zeeb #define B_BMODE_PDTH_LOWER_BOUND_MSK_V1 GENMASK(31, 24) 3896*8e93258fSBjoern A. Zeeb #define R_BMODE_PDTH_EN_V1 0x4B74 3897*8e93258fSBjoern A. Zeeb #define B_BMODE_PDTH_LIMIT_EN_MSK_V1 BIT(30) 3898*8e93258fSBjoern A. Zeeb #define R_CFO_COMP_SEG1_L 0x5384 3899*8e93258fSBjoern A. Zeeb #define R_CFO_COMP_SEG1_H 0x5388 3900*8e93258fSBjoern A. Zeeb #define R_CFO_COMP_SEG1_CTRL 0x538C 3901*8e93258fSBjoern A. Zeeb #define B_CFO_COMP_VALID_BIT BIT(29) 3902*8e93258fSBjoern A. Zeeb #define B_CFO_COMP_WEIGHT_MSK GENMASK(27, 24) 3903*8e93258fSBjoern A. Zeeb #define B_CFO_COMP_VAL_MSK GENMASK(11, 0) 3904*8e93258fSBjoern A. Zeeb #define R_UPD_CLK 0x5670 3905*8e93258fSBjoern A. Zeeb #define B_DAC_VAL BIT(31) 3906*8e93258fSBjoern A. Zeeb #define B_ACK_VAL GENMASK(30, 29) 3907*8e93258fSBjoern A. Zeeb #define B_DPD_DIS BIT(14) 3908*8e93258fSBjoern A. Zeeb #define B_DPD_GDIS BIT(13) 3909*8e93258fSBjoern A. Zeeb #define B_IQK_RFC_ON BIT(1) 3910*8e93258fSBjoern A. Zeeb #define R_TXPWRB 0x56CC 3911*8e93258fSBjoern A. Zeeb #define B_TXPWRB_ON BIT(28) 3912*8e93258fSBjoern A. Zeeb #define B_TXPWRB_VAL GENMASK(27, 19) 3913*8e93258fSBjoern A. Zeeb #define R_DPD_OFT_EN 0x5800 3914*8e93258fSBjoern A. Zeeb #define B_DPD_OFT_EN BIT(28) 3915*8e93258fSBjoern A. Zeeb #define R_DPD_OFT_ADDR 0x5804 3916*8e93258fSBjoern A. Zeeb #define B_DPD_OFT_ADDR GENMASK(31, 27) 3917*8e93258fSBjoern A. Zeeb #define R_TXPWRB_H 0x580c 3918*8e93258fSBjoern A. Zeeb #define B_TXPWRB_RDY BIT(15) 3919*8e93258fSBjoern A. Zeeb #define R_P0_TMETER 0x5810 3920*8e93258fSBjoern A. Zeeb #define B_P0_TMETER GENMASK(15, 10) 3921*8e93258fSBjoern A. Zeeb #define B_P0_TMETER_DIS BIT(16) 3922*8e93258fSBjoern A. Zeeb #define B_P0_TMETER_TRK BIT(24) 3923*8e93258fSBjoern A. Zeeb #define R_P0_TSSI_TRK 0x5818 3924*8e93258fSBjoern A. Zeeb #define B_P0_TSSI_TRK_EN BIT(30) 3925*8e93258fSBjoern A. Zeeb #define B_P0_TSSI_OFT_EN BIT(28) 3926*8e93258fSBjoern A. Zeeb #define B_P0_TSSI_OFT GENMASK(7, 0) 3927*8e93258fSBjoern A. Zeeb #define R_P0_TSSI_AVG 0x5820 3928*8e93258fSBjoern A. Zeeb #define B_P0_TSSI_AVG GENMASK(15, 12) 3929*8e93258fSBjoern A. Zeeb #define R_P0_RFCTM 0x5864 3930*8e93258fSBjoern A. Zeeb #define B_P0_RFCTM_VAL GENMASK(25, 20) 3931*8e93258fSBjoern A. Zeeb #define R_P0_RFCTM_RDY BIT(26) 3932*8e93258fSBjoern A. Zeeb #define R_P0_TRSW 0x5868 3933*8e93258fSBjoern A. Zeeb #define B_P0_TRSW_B BIT(0) 3934*8e93258fSBjoern A. Zeeb #define B_P0_TRSW_A BIT(1) 3935*8e93258fSBjoern A. Zeeb #define B_P0_TRSW_X BIT(2) 3936*8e93258fSBjoern A. Zeeb #define B_P0_TRSW_SO_A2 GENMASK(7, 5) 3937*8e93258fSBjoern A. Zeeb #define R_P0_RFM 0x5894 3938*8e93258fSBjoern A. Zeeb #define B_P0_RFM_DIS_WL BIT(7) 3939*8e93258fSBjoern A. Zeeb #define B_P0_RFM_TX_OPT BIT(6) 3940*8e93258fSBjoern A. Zeeb #define B_P0_RFM_BT_EN BIT(5) 3941*8e93258fSBjoern A. Zeeb #define B_P0_RFM_OUT GENMASK(4, 0) 3942*8e93258fSBjoern A. Zeeb #define R_P0_TXDPD 0x58D4 3943*8e93258fSBjoern A. Zeeb #define B_P0_TXDPD GENMASK(31, 28) 3944*8e93258fSBjoern A. Zeeb #define R_P0_TXPW_RSTB 0x58DC 3945*8e93258fSBjoern A. Zeeb #define B_P0_TXPW_RSTB_MANON BIT(30) 3946*8e93258fSBjoern A. Zeeb #define B_P0_TXPW_RSTB_TSSI BIT(31) 3947*8e93258fSBjoern A. Zeeb #define R_P0_TSSI_MV_AVG 0x58E4 3948*8e93258fSBjoern A. Zeeb #define B_P0_TSSI_MV_AVG GENMASK(13, 11) 3949*8e93258fSBjoern A. Zeeb #define R_TXGAIN_SCALE 0x58F0 3950*8e93258fSBjoern A. Zeeb #define B_TXGAIN_SCALE_EN BIT(19) 3951*8e93258fSBjoern A. Zeeb #define B_TXGAIN_SCALE_OFT GENMASK(31, 24) 3952*8e93258fSBjoern A. Zeeb #define R_P0_TSSI_BASE 0x5C00 3953*8e93258fSBjoern A. Zeeb #define R_S0_DACKI 0x5E00 3954*8e93258fSBjoern A. Zeeb #define B_S0_DACKI_AR GENMASK(31, 28) 3955*8e93258fSBjoern A. Zeeb #define B_S0_DACKI_EN BIT(3) 3956*8e93258fSBjoern A. Zeeb #define R_S0_DACKI2 0x5E30 3957*8e93258fSBjoern A. Zeeb #define B_S0_DACKI2_K GENMASK(21, 12) 3958*8e93258fSBjoern A. Zeeb #define R_S0_DACKI7 0x5E44 3959*8e93258fSBjoern A. Zeeb #define B_S0_DACKI7_K GENMASK(15, 8) 3960*8e93258fSBjoern A. Zeeb #define R_S0_DACKI8 0x5E48 3961*8e93258fSBjoern A. Zeeb #define B_S0_DACKI8_K GENMASK(15, 8) 3962*8e93258fSBjoern A. Zeeb #define R_S0_DACKQ 0x5E50 3963*8e93258fSBjoern A. Zeeb #define B_S0_DACKQ_AR GENMASK(31, 28) 3964*8e93258fSBjoern A. Zeeb #define B_S0_DACKQ_EN BIT(3) 3965*8e93258fSBjoern A. Zeeb #define R_S0_DACKQ2 0x5E80 3966*8e93258fSBjoern A. Zeeb #define B_S0_DACKQ2_K GENMASK(21, 12) 3967*8e93258fSBjoern A. Zeeb #define R_S0_DACKQ7 0x5E94 3968*8e93258fSBjoern A. Zeeb #define B_S0_DACKQ7_K GENMASK(15, 8) 3969*8e93258fSBjoern A. Zeeb #define R_S0_DACKQ8 0x5E98 3970*8e93258fSBjoern A. Zeeb #define B_S0_DACKQ8_K GENMASK(15, 8) 3971*8e93258fSBjoern A. Zeeb #define R_RPL_BIAS_COMP1 0x6DF0 3972*8e93258fSBjoern A. Zeeb #define B_RPL_BIAS_COMP1_MASK GENMASK(7, 0) 3973*8e93258fSBjoern A. Zeeb #define R_P1_TMETER 0x7810 3974*8e93258fSBjoern A. Zeeb #define B_P1_TMETER GENMASK(15, 10) 3975*8e93258fSBjoern A. Zeeb #define B_P1_TMETER_DIS BIT(16) 3976*8e93258fSBjoern A. Zeeb #define B_P1_TMETER_TRK BIT(24) 3977*8e93258fSBjoern A. Zeeb #define R_P1_TSSI_TRK 0x7818 3978*8e93258fSBjoern A. Zeeb #define B_P1_TSSI_TRK_EN BIT(30) 3979*8e93258fSBjoern A. Zeeb #define B_P1_TSSI_OFT_EN BIT(28) 3980*8e93258fSBjoern A. Zeeb #define B_P1_TSSI_OFT GENMASK(7, 0) 3981*8e93258fSBjoern A. Zeeb #define R_P1_TSSI_AVG 0x7820 3982*8e93258fSBjoern A. Zeeb #define B_P1_TSSI_AVG GENMASK(15, 12) 3983*8e93258fSBjoern A. Zeeb #define R_P1_RFCTM 0x7864 3984*8e93258fSBjoern A. Zeeb #define R_P1_RFCTM_RDY BIT(26) 3985*8e93258fSBjoern A. Zeeb #define B_P1_RFCTM_VAL GENMASK(25, 20) 3986*8e93258fSBjoern A. Zeeb #define R_P1_TXPW_RSTB 0x78DC 3987*8e93258fSBjoern A. Zeeb #define B_P1_TXPW_RSTB_MANON BIT(30) 3988*8e93258fSBjoern A. Zeeb #define B_P1_TXPW_RSTB_TSSI BIT(31) 3989*8e93258fSBjoern A. Zeeb #define R_P1_TSSI_MV_AVG 0x78E4 3990*8e93258fSBjoern A. Zeeb #define B_P1_TSSI_MV_AVG GENMASK(13, 11) 3991*8e93258fSBjoern A. Zeeb #define R_TSSI_THOF 0x7C00 3992*8e93258fSBjoern A. Zeeb #define R_S1_DACKI 0x7E00 3993*8e93258fSBjoern A. Zeeb #define B_S1_DACKI_AR GENMASK(31, 28) 3994*8e93258fSBjoern A. Zeeb #define B_S1_DACKI_EN BIT(3) 3995*8e93258fSBjoern A. Zeeb #define R_S1_DACKI2 0x7E30 3996*8e93258fSBjoern A. Zeeb #define B_S1_DACKI2_K GENMASK(21, 12) 3997*8e93258fSBjoern A. Zeeb #define R_S1_DACKI7 0x7E44 3998*8e93258fSBjoern A. Zeeb #define B_S1_DACKI_K GENMASK(15, 8) 3999*8e93258fSBjoern A. Zeeb #define R_S1_DACKI8 0x7E48 4000*8e93258fSBjoern A. Zeeb #define B_S1_DACKI8_K GENMASK(15, 8) 4001*8e93258fSBjoern A. Zeeb #define R_S1_DACKQ 0x7E50 4002*8e93258fSBjoern A. Zeeb #define B_S1_DACKQ_AR GENMASK(31, 28) 4003*8e93258fSBjoern A. Zeeb #define B_S1_DACKQ_EN BIT(3) 4004*8e93258fSBjoern A. Zeeb #define R_S1_DACKQ2 0x7E80 4005*8e93258fSBjoern A. Zeeb #define B_S1_DACKQ2_K GENMASK(21, 12) 4006*8e93258fSBjoern A. Zeeb #define R_S1_DACKQ7 0x7E94 4007*8e93258fSBjoern A. Zeeb #define B_S1_DACKQ7_K GENMASK(15, 8) 4008*8e93258fSBjoern A. Zeeb #define R_S1_DACKQ8 0x7E98 4009*8e93258fSBjoern A. Zeeb #define B_S1_DACKQ8_K GENMASK(15, 8) 4010*8e93258fSBjoern A. Zeeb #define R_NCTL_CFG 0x8000 4011*8e93258fSBjoern A. Zeeb #define B_NCTL_CFG_SPAGE GENMASK(2, 1) 4012*8e93258fSBjoern A. Zeeb #define R_NCTL_RPT 0x8008 4013*8e93258fSBjoern A. Zeeb #define B_NCTL_RPT_FLG BIT(26) 4014*8e93258fSBjoern A. Zeeb #define R_NCTL_N1 0x8010 4015*8e93258fSBjoern A. Zeeb #define B_NCTL_N1_CIP GENMASK(7, 0) 4016*8e93258fSBjoern A. Zeeb #define R_NCTL_N2 0x8014 4017*8e93258fSBjoern A. Zeeb #define R_IQK_COM 0x8018 4018*8e93258fSBjoern A. Zeeb #define R_IQK_DIF 0x801C 4019*8e93258fSBjoern A. Zeeb #define B_IQK_DIF_TRX GENMASK(1, 0) 4020*8e93258fSBjoern A. Zeeb #define R_IQK_DIF1 0x8020 4021*8e93258fSBjoern A. Zeeb #define B_IQK_DIF1_TXPI GENMASK(19, 0) 4022*8e93258fSBjoern A. Zeeb #define R_IQK_DIF2 0x8024 4023*8e93258fSBjoern A. Zeeb #define B_IQK_DIF2_RXPI GENMASK(19, 0) 4024*8e93258fSBjoern A. Zeeb #define R_IQK_DIF4 0x802C 4025*8e93258fSBjoern A. Zeeb #define B_IQK_DIF4_RXT GENMASK(27, 16) 4026*8e93258fSBjoern A. Zeeb #define B_IQK_DIF4_TXT GENMASK(11, 0) 4027*8e93258fSBjoern A. Zeeb #define IQK_DF4_TXT_8_25MHZ 0x021 4028*8e93258fSBjoern A. Zeeb #define R_IQK_CFG 0x8034 4029*8e93258fSBjoern A. Zeeb #define B_IQK_CFG_SET GENMASK(5, 4) 4030*8e93258fSBjoern A. Zeeb #define R_TPG_SEL 0x8068 4031*8e93258fSBjoern A. Zeeb #define R_TPG_MOD 0x806C 4032*8e93258fSBjoern A. Zeeb #define B_TPG_MOD_F GENMASK(2, 1) 4033*8e93258fSBjoern A. Zeeb #define R_MDPK_SYNC 0x8070 4034*8e93258fSBjoern A. Zeeb #define B_MDPK_SYNC_SEL BIT(31) 4035*8e93258fSBjoern A. Zeeb #define B_MDPK_SYNC_MAN GENMASK(31, 28) 4036*8e93258fSBjoern A. Zeeb #define R_MDPK_RX_DCK 0x8074 4037*8e93258fSBjoern A. Zeeb #define B_MDPK_RX_DCK_EN BIT(31) 4038*8e93258fSBjoern A. Zeeb #define R_KIP_MOD 0x8078 4039*8e93258fSBjoern A. Zeeb #define B_KIP_MOD GENMASK(19, 0) 4040*8e93258fSBjoern A. Zeeb #define R_NCTL_RW 0x8080 4041*8e93258fSBjoern A. Zeeb #define R_KIP_SYSCFG 0x8088 4042*8e93258fSBjoern A. Zeeb #define R_KIP_CLK 0x808C 4043*8e93258fSBjoern A. Zeeb #define R_DPK_IDL 0x809C 4044*8e93258fSBjoern A. Zeeb #define B_DPK_IDL BIT(8) 4045*8e93258fSBjoern A. Zeeb #define R_LDL_NORM 0x80A0 4046*8e93258fSBjoern A. Zeeb #define B_LDL_NORM_MA BIT(16) 4047*8e93258fSBjoern A. Zeeb #define B_LDL_NORM_PN GENMASK(12, 8) 4048*8e93258fSBjoern A. Zeeb #define B_LDL_NORM_OP GENMASK(1, 0) 4049*8e93258fSBjoern A. Zeeb #define R_DPK_CTL 0x80B0 4050*8e93258fSBjoern A. Zeeb #define B_DPK_CTL_EN BIT(28) 4051*8e93258fSBjoern A. Zeeb #define R_DPK_CFG 0x80B8 4052*8e93258fSBjoern A. Zeeb #define B_DPK_CFG_IDX GENMASK(14, 12) 4053*8e93258fSBjoern A. Zeeb #define R_DPK_CFG2 0x80BC 4054*8e93258fSBjoern A. Zeeb #define B_DPK_CFG2_ST BIT(14) 4055*8e93258fSBjoern A. Zeeb #define R_DPK_CFG3 0x80C0 4056*8e93258fSBjoern A. Zeeb #define R_KPATH_CFG 0x80D0 4057*8e93258fSBjoern A. Zeeb #define B_KPATH_CFG_ED GENMASK(21, 20) 4058*8e93258fSBjoern A. Zeeb #define R_KIP_RPT1 0x80D4 4059*8e93258fSBjoern A. Zeeb #define B_KIP_RPT1_SEL GENMASK(21, 16) 4060*8e93258fSBjoern A. Zeeb #define R_SRAM_IQRX 0x80D8 4061*8e93258fSBjoern A. Zeeb #define R_GAPK 0x80E0 4062*8e93258fSBjoern A. Zeeb #define B_GAPK_ADR BIT(0) 4063*8e93258fSBjoern A. Zeeb #define R_SRAM_IQRX2 0x80E8 4064*8e93258fSBjoern A. Zeeb #define R_DPK_MPA 0x80EC 4065*8e93258fSBjoern A. Zeeb #define B_DPK_MPA_T0 BIT(10) 4066*8e93258fSBjoern A. Zeeb #define B_DPK_MPA_T1 BIT(9) 4067*8e93258fSBjoern A. Zeeb #define B_DPK_MPA_T2 BIT(8) 4068*8e93258fSBjoern A. Zeeb #define R_DPK_WR 0x80F4 4069*8e93258fSBjoern A. Zeeb #define B_DPK_WR_ST BIT(29) 4070*8e93258fSBjoern A. Zeeb #define R_DPK_TRK 0x80f0 4071*8e93258fSBjoern A. Zeeb #define B_DPK_TRK_DIS BIT(31) 4072*8e93258fSBjoern A. Zeeb #define R_RPT_COM 0x80FC 4073*8e93258fSBjoern A. Zeeb #define B_PRT_COM_SYNERR BIT(30) 4074*8e93258fSBjoern A. Zeeb #define B_PRT_COM_DCI GENMASK(27, 16) 4075*8e93258fSBjoern A. Zeeb #define B_PRT_COM_CORV GENMASK(15, 8) 4076*8e93258fSBjoern A. Zeeb #define B_PRT_COM_DCQ GENMASK(11, 0) 4077*8e93258fSBjoern A. Zeeb #define B_PRT_COM_RXOV BIT(8) 4078*8e93258fSBjoern A. Zeeb #define B_PRT_COM_GL GENMASK(7, 4) 4079*8e93258fSBjoern A. Zeeb #define B_PRT_COM_CORI GENMASK(7, 0) 4080*8e93258fSBjoern A. Zeeb #define B_PRT_COM_RXBB GENMASK(5, 0) 4081*8e93258fSBjoern A. Zeeb #define B_PRT_COM_DONE BIT(0) 4082*8e93258fSBjoern A. Zeeb #define R_COEF_SEL 0x8104 4083*8e93258fSBjoern A. Zeeb #define B_COEF_SEL_IQC BIT(0) 4084*8e93258fSBjoern A. Zeeb #define B_COEF_SEL_MDPD BIT(8) 4085*8e93258fSBjoern A. Zeeb #define R_CFIR_SYS 0x8120 4086*8e93258fSBjoern A. Zeeb #define R_IQK_RES 0x8124 4087*8e93258fSBjoern A. Zeeb #define B_IQK_RES_TXCFIR GENMASK(11, 8) 4088*8e93258fSBjoern A. Zeeb #define B_IQK_RES_RXCFIR GENMASK(3, 0) 4089*8e93258fSBjoern A. Zeeb #define R_TXIQC 0x8138 4090*8e93258fSBjoern A. Zeeb #define R_RXIQC 0x813c 4091*8e93258fSBjoern A. Zeeb #define B_RXIQC_BYPASS BIT(0) 4092*8e93258fSBjoern A. Zeeb #define B_RXIQC_BYPASS2 BIT(2) 4093*8e93258fSBjoern A. Zeeb #define B_RXIQC_NEWP GENMASK(19, 8) 4094*8e93258fSBjoern A. Zeeb #define B_RXIQC_NEWX GENMASK(31, 20) 4095*8e93258fSBjoern A. Zeeb #define R_KIP 0x8140 4096*8e93258fSBjoern A. Zeeb #define B_KIP_DBCC BIT(0) 4097*8e93258fSBjoern A. Zeeb #define B_KIP_RFGAIN BIT(8) 4098*8e93258fSBjoern A. Zeeb #define R_RFGAIN 0x8144 4099*8e93258fSBjoern A. Zeeb #define B_RFGAIN_PAD GENMASK(4, 0) 4100*8e93258fSBjoern A. Zeeb #define B_RFGAIN_TXBB GENMASK(12, 8) 4101*8e93258fSBjoern A. Zeeb #define R_RFGAIN_BND 0x8148 4102*8e93258fSBjoern A. Zeeb #define B_RFGAIN_BND GENMASK(4, 0) 4103*8e93258fSBjoern A. Zeeb #define R_CFIR_MAP 0x8150 4104*8e93258fSBjoern A. Zeeb #define R_CFIR_LUT 0x8154 4105*8e93258fSBjoern A. Zeeb #define B_CFIR_LUT_SEL BIT(8) 4106*8e93258fSBjoern A. Zeeb #define B_CFIR_LUT_SET BIT(4) 4107*8e93258fSBjoern A. Zeeb #define B_CFIR_LUT_G3 BIT(3) 4108*8e93258fSBjoern A. Zeeb #define B_CFIR_LUT_G2 BIT(2) 4109*8e93258fSBjoern A. Zeeb #define B_CFIR_LUT_GP_V1 GENMASK(2, 0) 4110*8e93258fSBjoern A. Zeeb #define B_CFIR_LUT_GP GENMASK(1, 0) 4111*8e93258fSBjoern A. Zeeb #define R_DPK_GN 0x819C 4112*8e93258fSBjoern A. Zeeb #define B_DPK_GN_EN GENMASK(17, 16) 4113*8e93258fSBjoern A. Zeeb #define B_DPK_GN_AG GENMASK(9, 0) 4114*8e93258fSBjoern A. Zeeb #define R_DPD_V1 0x81a0 4115*8e93258fSBjoern A. Zeeb #define B_DPD_LBK BIT(7) 4116*8e93258fSBjoern A. Zeeb #define R_DPD_CH0 0x81AC 4117*8e93258fSBjoern A. Zeeb #define R_DPD_BND 0x81B4 4118*8e93258fSBjoern A. Zeeb #define R_DPD_CH0A 0x81BC 4119*8e93258fSBjoern A. Zeeb #define B_DPD_MEN GENMASK(31, 28) 4120*8e93258fSBjoern A. Zeeb #define B_DPD_ORDER GENMASK(26, 24) 4121*8e93258fSBjoern A. Zeeb #define B_DPD_SEL GENMASK(13, 8) 4122*8e93258fSBjoern A. Zeeb #define R_TXAGC_RFK 0x81C4 4123*8e93258fSBjoern A. Zeeb #define B_TXAGC_RFK_CH0 GENMASK(5, 0) 4124*8e93258fSBjoern A. Zeeb #define R_DPD_COM 0x81C8 4125*8e93258fSBjoern A. Zeeb #define R_KIP_IQP 0x81CC 4126*8e93258fSBjoern A. Zeeb #define B_KIP_IQP_SW GENMASK(13, 12) 4127*8e93258fSBjoern A. Zeeb #define B_KIP_IQP_IQSW GENMASK(5, 0) 4128*8e93258fSBjoern A. Zeeb #define R_KIP_RPT 0x81D4 4129*8e93258fSBjoern A. Zeeb #define B_KIP_RPT_SEL GENMASK(21, 16) 4130*8e93258fSBjoern A. Zeeb #define R_W_COEF 0x81D8 4131*8e93258fSBjoern A. Zeeb #define R_LOAD_COEF 0x81DC 4132*8e93258fSBjoern A. Zeeb #define B_LOAD_COEF_MDPD BIT(16) 4133*8e93258fSBjoern A. Zeeb #define B_LOAD_COEF_CFIR GENMASK(1, 0) 4134*8e93258fSBjoern A. Zeeb #define B_LOAD_COEF_DI BIT(1) 4135*8e93258fSBjoern A. Zeeb #define B_LOAD_COEF_AUTO BIT(0) 4136*8e93258fSBjoern A. Zeeb #define R_DPK_GL 0x81F0 4137*8e93258fSBjoern A. Zeeb #define B_DPK_GL_A0 GENMASK(31, 28) 4138*8e93258fSBjoern A. Zeeb #define B_DPK_GL_A1 GENMASK(17, 0) 4139*8e93258fSBjoern A. Zeeb #define R_RPT_PER 0x81FC 4140*8e93258fSBjoern A. Zeeb #define B_RPT_PER_TSSI GENMASK(28, 16) 4141*8e93258fSBjoern A. Zeeb #define B_RPT_PER_OF GENMASK(15, 8) 4142*8e93258fSBjoern A. Zeeb #define B_RPT_PER_TH GENMASK(5, 0) 4143*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P0C0 0x8D40 4144*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P0C1 0x8D84 4145*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P0C2 0x8DC8 4146*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P0C3 0x8E0C 4147*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P0C0 0x8F50 4148*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P0C1 0x8F84 4149*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P0C2 0x8FB8 4150*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P0C3 0x8FEC 4151*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P1C0 0x9140 4152*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P1C1 0x9184 4153*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P1C2 0x91C8 4154*8e93258fSBjoern A. Zeeb #define R_RXCFIR_P1C3 0x920C 4155*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P1C0 0x9350 4156*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P1C1 0x9384 4157*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P1C2 0x93B8 4158*8e93258fSBjoern A. Zeeb #define R_TXCFIR_P1C3 0x93EC 4159*8e93258fSBjoern A. Zeeb #define R_IQKINF 0x9FE0 4160*8e93258fSBjoern A. Zeeb #define B_IQKINF_VER GENMASK(31, 24) 4161*8e93258fSBjoern A. Zeeb #define B_IQKINF_FAIL_RXGRP GENMASK(23, 16) 4162*8e93258fSBjoern A. Zeeb #define B_IQKINF_FAIL_TXGRP GENMASK(15, 8) 4163*8e93258fSBjoern A. Zeeb #define B_IQKINF_FAIL GENMASK(3, 0) 4164*8e93258fSBjoern A. Zeeb #define B_IQKINF_F_RX BIT(3) 4165*8e93258fSBjoern A. Zeeb #define B_IQKINF_FTX BIT(2) 4166*8e93258fSBjoern A. Zeeb #define B_IQKINF_FFIN BIT(1) 4167*8e93258fSBjoern A. Zeeb #define B_IQKINF_FCOR BIT(0) 4168*8e93258fSBjoern A. Zeeb #define R_IQKCH 0x9FE4 4169*8e93258fSBjoern A. Zeeb #define B_IQKCH_CH GENMASK(15, 8) 4170*8e93258fSBjoern A. Zeeb #define B_IQKCH_BW GENMASK(7, 4) 4171*8e93258fSBjoern A. Zeeb #define B_IQKCH_BAND GENMASK(3, 0) 4172*8e93258fSBjoern A. Zeeb #define R_IQKINF2 0x9FE8 4173*8e93258fSBjoern A. Zeeb #define B_IQKINF2_FCNT GENMASK(23, 16) 4174*8e93258fSBjoern A. Zeeb #define B_IQKINF2_KCNT GENMASK(15, 8) 4175*8e93258fSBjoern A. Zeeb #define B_IQKINF2_NCTLV GENMASK(7, 0) 4176*8e93258fSBjoern A. Zeeb #define R_DCOF0 0xC000 4177*8e93258fSBjoern A. Zeeb #define B_DCOF0_V GENMASK(4, 1) 4178*8e93258fSBjoern A. Zeeb #define R_DCOF1 0xC004 4179*8e93258fSBjoern A. Zeeb #define B_DCOF1_S BIT(0) 4180*8e93258fSBjoern A. Zeeb #define R_DCOF8 0xC020 4181*8e93258fSBjoern A. Zeeb #define B_DCOF8_V GENMASK(4, 1) 4182*8e93258fSBjoern A. Zeeb #define R_DACK_S0P0 0xC040 4183*8e93258fSBjoern A. Zeeb #define B_DACK_S0P0_OK BIT(31) 4184*8e93258fSBjoern A. Zeeb #define R_DACK_BIAS00 0xc048 4185*8e93258fSBjoern A. Zeeb #define B_DACK_BIAS00 GENMASK(11, 2) 4186*8e93258fSBjoern A. Zeeb #define R_DACK_S0P2 0xC05C 4187*8e93258fSBjoern A. Zeeb #define B_DACK_S0M0 GENMASK(31, 24) 4188*8e93258fSBjoern A. Zeeb #define B_DACK_S0P2_OK BIT(2) 4189*8e93258fSBjoern A. Zeeb #define R_DACK_DADCK00 0xC060 4190*8e93258fSBjoern A. Zeeb #define B_DACK_DADCK00 GENMASK(31, 24) 4191*8e93258fSBjoern A. Zeeb #define R_DACK_S0P1 0xC064 4192*8e93258fSBjoern A. Zeeb #define B_DACK_S0P1_OK BIT(31) 4193*8e93258fSBjoern A. Zeeb #define R_DACK_BIAS01 0xC06C 4194*8e93258fSBjoern A. Zeeb #define B_DACK_BIAS01 GENMASK(11, 2) 4195*8e93258fSBjoern A. Zeeb #define R_DACK_S0P3 0xC080 4196*8e93258fSBjoern A. Zeeb #define B_DACK_S0M1 GENMASK(31, 24) 4197*8e93258fSBjoern A. Zeeb #define B_DACK_S0P3_OK BIT(2) 4198*8e93258fSBjoern A. Zeeb #define R_DACK_DADCK01 0xC084 4199*8e93258fSBjoern A. Zeeb #define B_DACK_DADCK01 GENMASK(31, 24) 4200*8e93258fSBjoern A. Zeeb #define R_DRCK 0xC0C4 4201*8e93258fSBjoern A. Zeeb #define B_DRCK_IDLE BIT(9) 4202*8e93258fSBjoern A. Zeeb #define B_DRCK_EN BIT(6) 4203*8e93258fSBjoern A. Zeeb #define B_DRCK_VAL GENMASK(4, 0) 4204*8e93258fSBjoern A. Zeeb #define R_DRCK_RES 0xC0C8 4205*8e93258fSBjoern A. Zeeb #define B_DRCK_RES GENMASK(19, 15) 4206*8e93258fSBjoern A. Zeeb #define B_DRCK_POL BIT(3) 4207*8e93258fSBjoern A. Zeeb #define R_PATH0_SAMPL_DLY_T_V1 0xC0D4 4208*8e93258fSBjoern A. Zeeb #define B_PATH0_SAMPL_DLY_T_MSK_V1 GENMASK(27, 26) 4209*8e93258fSBjoern A. Zeeb #define R_P0_CFCH_BW0 0xC0D4 4210*8e93258fSBjoern A. Zeeb #define B_P0_CFCH_BW0 GENMASK(27, 26) 4211*8e93258fSBjoern A. Zeeb #define R_P0_CFCH_BW1 0xC0D8 4212*8e93258fSBjoern A. Zeeb #define B_P0_CFCH_BW1 GENMASK(8, 5) 4213*8e93258fSBjoern A. Zeeb #define R_ADDCK0 0xC0F4 4214*8e93258fSBjoern A. Zeeb #define B_ADDCK0 GENMASK(9, 8) 4215*8e93258fSBjoern A. Zeeb #define B_ADDCK0_EN BIT(4) 4216*8e93258fSBjoern A. Zeeb #define B_ADDCK0_RST BIT(2) 4217*8e93258fSBjoern A. Zeeb #define R_ADDCK0_RL 0xC0F8 4218*8e93258fSBjoern A. Zeeb #define B_ADDCK0_RLS GENMASK(29, 28) 4219*8e93258fSBjoern A. Zeeb #define B_ADDCK0_RL1 GENMASK(27, 18) 4220*8e93258fSBjoern A. Zeeb #define B_ADDCK0_RL0 GENMASK(17, 8) 4221*8e93258fSBjoern A. Zeeb #define R_ADDCKR0 0xC0FC 4222*8e93258fSBjoern A. Zeeb #define B_ADDCKR0_A0 GENMASK(19, 10) 4223*8e93258fSBjoern A. Zeeb #define B_ADDCKR0_A1 GENMASK(9, 0) 4224*8e93258fSBjoern A. Zeeb #define R_DACK10 0xC100 4225*8e93258fSBjoern A. Zeeb #define B_DACK10 GENMASK(4, 1) 4226*8e93258fSBjoern A. Zeeb #define R_DACK1_K 0xc104 4227*8e93258fSBjoern A. Zeeb #define B_DACK1_EN BIT(0) 4228*8e93258fSBjoern A. Zeeb #define R_DACK11 0xC120 4229*8e93258fSBjoern A. Zeeb #define B_DACK11 GENMASK(4, 1) 4230*8e93258fSBjoern A. Zeeb #define R_DACK_S1P0 0xC140 4231*8e93258fSBjoern A. Zeeb #define B_DACK_S1P0_OK BIT(31) 4232*8e93258fSBjoern A. Zeeb #define R_DACK_BIAS10 0xC148 4233*8e93258fSBjoern A. Zeeb #define B_DACK_BIAS10 GENMASK(11, 2) 4234*8e93258fSBjoern A. Zeeb #define R_DACK10S 0xC15C 4235*8e93258fSBjoern A. Zeeb #define B_DACK10S GENMASK(31, 24) 4236*8e93258fSBjoern A. Zeeb #define R_DACK_S1P2 0xC15C 4237*8e93258fSBjoern A. Zeeb #define B_DACK_S1P2_OK BIT(2) 4238*8e93258fSBjoern A. Zeeb #define R_DACK_DADCK10 0xC160 4239*8e93258fSBjoern A. Zeeb #define B_DACK_DADCK10 GENMASK(31, 24) 4240*8e93258fSBjoern A. Zeeb #define R_DACK_S1P1 0xC164 4241*8e93258fSBjoern A. Zeeb #define B_DACK_S1P1_OK BIT(31) 4242*8e93258fSBjoern A. Zeeb #define R_DACK_BIAS11 0xC16C 4243*8e93258fSBjoern A. Zeeb #define B_DACK_BIAS11 GENMASK(11, 2) 4244*8e93258fSBjoern A. Zeeb #define R_DACK11S 0xC180 4245*8e93258fSBjoern A. Zeeb #define B_DACK11S GENMASK(31, 24) 4246*8e93258fSBjoern A. Zeeb #define R_DACK_S1P3 0xC180 4247*8e93258fSBjoern A. Zeeb #define B_DACK_S1P3_OK BIT(2) 4248*8e93258fSBjoern A. Zeeb #define R_DACK_DADCK11 0xC184 4249*8e93258fSBjoern A. Zeeb #define B_DACK_DADCK11 GENMASK(31, 24) 4250*8e93258fSBjoern A. Zeeb #define R_PATH1_SAMPL_DLY_T_V1 0xC1D4 4251*8e93258fSBjoern A. Zeeb #define B_PATH1_SAMPL_DLY_T_MSK_V1 GENMASK(27, 26) 4252*8e93258fSBjoern A. Zeeb #define R_PATH0_BW_SEL_V1 0xC0D8 4253*8e93258fSBjoern A. Zeeb #define B_PATH0_BW_SEL_MSK_V1 GENMASK(8, 5) 4254*8e93258fSBjoern A. Zeeb #define R_PATH1_BW_SEL_V1 0xC1D8 4255*8e93258fSBjoern A. Zeeb #define B_PATH1_BW_SEL_MSK_V1 GENMASK(8, 5) 4256*8e93258fSBjoern A. Zeeb #define R_ADDCK1 0xC1F4 4257*8e93258fSBjoern A. Zeeb #define B_ADDCK1 GENMASK(9, 8) 4258*8e93258fSBjoern A. Zeeb #define B_ADDCK1_EN BIT(4) 4259*8e93258fSBjoern A. Zeeb #define B_ADDCK1_RST BIT(2) 4260*8e93258fSBjoern A. Zeeb #define R_ADDCK1_RL 0xC1F8 4261*8e93258fSBjoern A. Zeeb #define B_ADDCK1_RLS GENMASK(29, 28) 4262*8e93258fSBjoern A. Zeeb #define B_ADDCK1_RL1 GENMASK(27, 18) 4263*8e93258fSBjoern A. Zeeb #define B_ADDCK1_RL0 GENMASK(17, 8) 4264*8e93258fSBjoern A. Zeeb #define R_ADDCKR1 0xC1fC 4265*8e93258fSBjoern A. Zeeb #define B_ADDCKR1_A0 GENMASK(19, 10) 4266*8e93258fSBjoern A. Zeeb #define B_ADDCKR1_A1 GENMASK(9, 0) 4267*8e93258fSBjoern A. Zeeb 4268*8e93258fSBjoern A. Zeeb /* WiFi CPU local domain */ 4269*8e93258fSBjoern A. Zeeb #define R_AX_WDT_CTRL 0x0040 4270*8e93258fSBjoern A. Zeeb #define B_AX_WDT_EN BIT(31) 4271*8e93258fSBjoern A. Zeeb #define B_AX_WDT_OPT_RESET_PLATFORM_EN BIT(29) 4272*8e93258fSBjoern A. Zeeb #define B_AX_IO_HANG_IMR BIT(27) 4273*8e93258fSBjoern A. Zeeb #define B_AX_IO_HANG_CMAC_RDATA_EN BIT(26) 4274*8e93258fSBjoern A. Zeeb #define B_AX_IO_HANG_DMAC_EN BIT(25) 4275*8e93258fSBjoern A. Zeeb #define B_AX_WDT_CLR BIT(16) 4276*8e93258fSBjoern A. Zeeb #define B_AX_WDT_COUNT_MASK GENMASK(15, 0) 4277*8e93258fSBjoern A. Zeeb #define WDT_CTRL_ALL_DIS 0 4278*8e93258fSBjoern A. Zeeb 4279*8e93258fSBjoern A. Zeeb #define R_AX_WDT_STATUS 0x0044 4280*8e93258fSBjoern A. Zeeb #define B_AX_FS_WDT_INT BIT(8) 4281*8e93258fSBjoern A. Zeeb #define B_AX_FS_WDT_INT_MSK BIT(0) 4282*8e93258fSBjoern A. Zeeb 4283*8e93258fSBjoern A. Zeeb #endif 4284