linux/drivers/net/wireless/realtek/rtw89/pci.h

/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
/* Copyright(c) 2020  Realtek Corporation
 */

#ifndef __RTW89_PCI_H__
#define __RTW89_PCI_H__

#include "txrx.h"

#define MDIO_PG0_G1
#define MDIO_PG1_G1
#define MDIO_PG0_G2
#define MDIO_PG1_G2
#define RAC_CTRL_PPR
#define RAC_ANA03
#define OOBS_SEN_MASK
#define RAC_ANA09
#define BAC_OOBS_SEL
#define RAC_ANA0A
#define B_BAC_EQ_SEL
#define RAC_ANA0C
#define B_PCIE_BIT_PSAVE
#define RAC_ANA0D
#define BAC_RX_TEST_EN
#define RAC_ANA10
#define ADDR_SEL_PINOUT_DIS_VAL
#define B_PCIE_BIT_PINOUT_DIS
#define RAC_REG_REV2
#define BAC_CMU_EN_DLY_MASK
#define PCIE_DPHY_DLY_25US
#define RAC_ANA19
#define B_PCIE_BIT_RD_SEL
#define RAC_REG_FLD_0
#define BAC_AUTOK_N_MASK
#define PCIE_AUTOK_4
#define RAC_ANA1E
#define RAC_ANA1E_G1_VAL
#define RAC_ANA1E_G2_VAL
#define RAC_ANA1F
#define OOBS_LEVEL_MASK
#define RAC_ANA24
#define B_AX_DEGLITCH
#define RAC_ANA26
#define B_AX_RXEN
#define RAC_ANA2E
#define RAC_ANA2E_VAL
#define RAC_CTRL_PPR_V1
#define B_AX_CLK_CALIB_EN
#define B_AX_CALIB_EN
#define B_AX_DIV
#define RAC_SET_PPR_V1

#define R_AX_DBI_FLAG
#define B_AX_DBI_RFLAG
#define B_AX_DBI_WFLAG
#define B_AX_DBI_WREN_MSK
#define B_AX_DBI_ADDR_MSK
#define B_AX_DBI_2LSB
#define R_AX_DBI_WDATA
#define R_AX_DBI_RDATA

#define R_AX_MDIO_WDATA
#define R_AX_MDIO_RDATA

#define R_AX_PCIE_PS_CTRL_V1
#define B_AX_CMAC_EXIT_L1_EN
#define B_AX_DMAC0_EXIT_L1_EN
#define B_AX_SEL_XFER_PENDING
#define B_AX_SEL_REQ_ENTR_L1
#define B_AX_SEL_REQ_EXIT_L1

#define R_AX_PCIE_MIX_CFG_V1
#define B_AX_ASPM_CTRL_L1
#define B_AX_ASPM_CTRL_L0
#define B_AX_ASPM_CTRL_MASK
#define B_AX_XFER_PENDING_FW
#define B_AX_XFER_PENDING
#define B_AX_REQ_EXIT_L1
#define B_AX_REQ_ENTR_L1
#define B_AX_L1SUB_DISABLE

#define R_AX_L1_CLK_CTRL
#define B_AX_CLK_REQ_N

#define R_AX_PCIE_BG_CLR
#define B_AX_BG_CLR_ASYNC_M3

#define R_AX_PCIE_LAT_CTRL
#define B_AX_CLK_REQ_SEL_OPT
#define B_AX_CLK_REQ_SEL

#define R_AX_PCIE_IO_RCY_M1
#define B_AX_PCIE_IO_RCY_P_M1
#define B_AX_PCIE_IO_RCY_WDT_P_M1
#define B_AX_PCIE_IO_RCY_WDT_MODE_M1
#define B_AX_PCIE_IO_RCY_TRIG_M1

#define R_AX_PCIE_WDT_TIMER_M1
#define B_AX_PCIE_WDT_TIMER_M1_MASK

#define R_AX_PCIE_IO_RCY_M2
#define B_AX_PCIE_IO_RCY_P_M2
#define B_AX_PCIE_IO_RCY_WDT_P_M2
#define B_AX_PCIE_IO_RCY_WDT_MODE_M2
#define B_AX_PCIE_IO_RCY_TRIG_M2

#define R_AX_PCIE_WDT_TIMER_M2
#define B_AX_PCIE_WDT_TIMER_M2_MASK

#define R_AX_PCIE_IO_RCY_E0
#define B_AX_PCIE_IO_RCY_P_E0
#define B_AX_PCIE_IO_RCY_WDT_P_E0
#define B_AX_PCIE_IO_RCY_WDT_MODE_E0
#define B_AX_PCIE_IO_RCY_TRIG_E0

#define R_AX_PCIE_WDT_TIMER_E0
#define B_AX_PCIE_WDT_TIMER_E0_MASK

#define R_AX_PCIE_IO_RCY_S1
#define B_AX_PCIE_IO_RCY_RP_S1
#define B_AX_PCIE_IO_RCY_WP_S1
#define B_AX_PCIE_IO_RCY_WDT_RP_S1
#define B_AX_PCIE_IO_RCY_WDT_WP_S1
#define B_AX_PCIE_IO_RCY_WDT_MODE_S1
#define B_AX_PCIE_IO_RCY_RTRIG_S1
#define B_AX_PCIE_IO_RCY_WTRIG_S1

#define R_AX_PCIE_WDT_TIMER_S1
#define B_AX_PCIE_WDT_TIMER_S1_MASK

#define R_RAC_DIRECT_OFFSET_G1
#define FILTER_OUT_EQ_MASK
#define R_RAC_DIRECT_OFFSET_G2
#define REG_FILTER_OUT_MASK
#define RAC_MULT

#define RTW89_PCI_WR_RETRY_CNT

/* Interrupts */
#define R_AX_HIMR0
#define B_AX_WDT_TIMEOUT_INT_EN
#define B_AX_HALT_C2H_INT_EN
#define R_AX_HISR0

#define R_AX_HIMR1
#define B_AX_GPIO18_INT_EN
#define B_AX_GPIO17_INT_EN
#define B_AX_GPIO16_INT_EN

#define R_AX_HISR1
#define B_AX_GPIO18_INT
#define B_AX_GPIO17_INT
#define B_AX_GPIO16_INT

#define R_AX_MDIO_CFG
#define B_AX_MDIO_PHY_ADDR_MASK
#define B_AX_MDIO_RFLAG
#define B_AX_MDIO_WFLAG
#define B_AX_MDIO_ADDR_MASK

#define R_AX_PCIE_HIMR00
#define R_AX_HAXI_HIMR00
#define B_AX_HC00ISR_IND_INT_EN
#define B_AX_HD1ISR_IND_INT_EN
#define B_AX_HD0ISR_IND_INT_EN
#define B_AX_HS0ISR_IND_INT_EN
#define B_AX_HS0ISR_IND_INT_EN_WKARND
#define B_AX_RETRAIN_INT_EN
#define B_AX_RPQBD_FULL_INT_EN
#define B_AX_RDU_INT_EN
#define B_AX_RXDMA_STUCK_INT_EN
#define B_AX_TXDMA_STUCK_INT_EN
#define B_AX_PCIE_HOTRST_INT_EN
#define B_AX_PCIE_FLR_INT_EN
#define B_AX_PCIE_PERST_INT_EN
#define B_AX_TXDMA_CH12_INT_EN
#define B_AX_TXDMA_CH9_INT_EN
#define B_AX_TXDMA_CH8_INT_EN
#define B_AX_TXDMA_ACH7_INT_EN
#define B_AX_TXDMA_ACH6_INT_EN
#define B_AX_TXDMA_ACH5_INT_EN
#define B_AX_TXDMA_ACH4_INT_EN
#define B_AX_TXDMA_ACH3_INT_EN
#define B_AX_TXDMA_ACH2_INT_EN
#define B_AX_TXDMA_ACH1_INT_EN
#define B_AX_TXDMA_ACH0_INT_EN
#define B_AX_RPQDMA_INT_EN
#define B_AX_RXP1DMA_INT_EN
#define B_AX_RXDMA_INT_EN

#define R_AX_PCIE_HISR00
#define R_AX_HAXI_HISR00
#define B_AX_HC00ISR_IND_INT
#define B_AX_HD1ISR_IND_INT
#define B_AX_HD0ISR_IND_INT
#define B_AX_HS0ISR_IND_INT
#define B_AX_RETRAIN_INT
#define B_AX_RPQBD_FULL_INT
#define B_AX_RDU_INT
#define B_AX_RXDMA_STUCK_INT
#define B_AX_TXDMA_STUCK_INT
#define B_AX_PCIE_HOTRST_INT
#define B_AX_PCIE_FLR_INT
#define B_AX_PCIE_PERST_INT
#define B_AX_TXDMA_CH12_INT
#define B_AX_TXDMA_CH9_INT
#define B_AX_TXDMA_CH8_INT
#define B_AX_TXDMA_ACH7_INT
#define B_AX_TXDMA_ACH6_INT
#define B_AX_TXDMA_ACH5_INT
#define B_AX_TXDMA_ACH4_INT
#define B_AX_TXDMA_ACH3_INT
#define B_AX_TXDMA_ACH2_INT
#define B_AX_TXDMA_ACH1_INT
#define B_AX_TXDMA_ACH0_INT
#define B_AX_RPQDMA_INT
#define B_AX_RXP1DMA_INT
#define B_AX_RXDMA_INT

#define R_AX_HAXI_IDCT_MSK
#define B_AX_TXBD_LEN0_ERR_IDCT_MSK
#define B_AX_TXBD_4KBOUND_ERR_IDCT_MSK
#define B_AX_RXMDA_STUCK_IDCT_MSK
#define B_AX_TXMDA_STUCK_IDCT_MSK

#define R_AX_HAXI_IDCT
#define B_AX_TXBD_LEN0_ERR_IDCT
#define B_AX_TXBD_4KBOUND_ERR_IDCT
#define B_AX_RXMDA_STUCK_IDCT
#define B_AX_TXMDA_STUCK_IDCT

#define R_AX_HAXI_HIMR10
#define B_AX_TXDMA_CH11_INT_EN_V1
#define B_AX_TXDMA_CH10_INT_EN_V1

#define R_AX_PCIE_HIMR10
#define B_AX_HC10ISR_IND_INT_EN
#define B_AX_TXDMA_CH11_INT_EN
#define B_AX_TXDMA_CH10_INT_EN

#define R_AX_PCIE_HISR10
#define B_AX_HC10ISR_IND_INT
#define B_AX_TXDMA_CH11_INT
#define B_AX_TXDMA_CH10_INT

#define R_AX_PCIE_HIMR00_V1
#define B_AX_HCI_AXIDMA_INT_EN
#define B_AX_HC00ISR_IND_INT_EN_V1
#define B_AX_HD1ISR_IND_INT_EN_V1
#define B_AX_HD0ISR_IND_INT_EN_V1
#define B_AX_HS1ISR_IND_INT_EN
#define B_AX_PCIE_DBG_STE_INT_EN

#define R_AX_PCIE_HISR00_V1
#define B_AX_HCI_AXIDMA_INT
#define B_AX_HC00ISR_IND_INT_V1
#define B_AX_HD1ISR_IND_INT_V1
#define B_AX_HD0ISR_IND_INT_V1
#define B_AX_HS1ISR_IND_INT
#define B_AX_PCIE_DBG_STE_INT

#define R_BE_PCIE_FRZ_CLK
#define B_BE_PCIE_FRZ_MAC_HW_RST
#define B_BE_PCIE_FRZ_CFG_SPC_RST
#define B_BE_PCIE_FRZ_ELBI_RST
#define B_BE_PCIE_MAC_IS_ACTIVE
#define B_BE_PCIE_FRZ_RTK_HW_RST
#define B_BE_PCIE_FRZ_REG_RST
#define B_BE_PCIE_FRZ_ANA_RST
#define B_BE_PCIE_FRZ_WLAN_RST
#define B_BE_PCIE_FRZ_FLR_RST
#define B_BE_PCIE_FRZ_RET_NON_STKY_RST
#define B_BE_PCIE_FRZ_RET_STKY_RST
#define B_BE_PCIE_FRZ_NON_STKY_RST
#define B_BE_PCIE_FRZ_STKY_RST
#define B_BE_PCIE_FRZ_RET_CORE_RST
#define B_BE_PCIE_FRZ_PWR_RST
#define B_BE_PCIE_FRZ_PERST_RST
#define B_BE_PCIE_FRZ_PHY_ALOAD
#define B_BE_PCIE_FRZ_PHY_HW_RST
#define B_BE_PCIE_DBG_CLK
#define B_BE_PCIE_EN_CLK
#define B_BE_PCIE_DBI_ACLK_ACT
#define B_BE_PCIE_S1_ACLK_ACT
#define B_BE_PCIE_EN_AUX_CLK

#define R_BE_PCIE_PS_CTRL
#define B_BE_RSM_L0S_EN
#define B_BE_CMAC_EXIT_L1_EN
#define B_BE_DMAC0_EXIT_L1_EN
#define B_BE_FORCE_L0
#define B_BE_DBI_RO_WR_DISABLE
#define B_BE_SEL_XFER_PENDING
#define B_BE_SEL_REQ_ENTR_L1
#define B_BE_PCIE_EN_SWENT_L23
#define B_BE_SEL_REQ_EXIT_L1

#define R_BE_PCIE_MIX_CFG
#define B_BE_L1SS_TIMEOUT_CTRL
#define B_BE_ASPM_CTRL_L1
#define B_BE_ASPM_CTRL_L0
#define B_BE_XFER_PENDING_FW
#define B_BE_XFER_PENDING
#define B_BE_REQ_EXIT_L1
#define B_BE_REQ_ENTR_L1
#define B_BE_L1SUB_ENABLE

#define R_BE_L1_CLK_CTRL
#define B_BE_RAS_SD_HOLD_LTSSM
#define B_BE_CLK_REQ_N
#define B_BE_CLK_PM_EN

#define R_BE_PCIE_LAT_CTRL
#define B_BE_ELBI_PHY_REMAP_MASK
#define B_BE_SYS_SUS_L12_EN
#define B_BE_MDIO_S_EN
#define B_BE_SYM_AUX_CLK_SEL
#define B_BE_RTK_LDO_POWER_LATENCY_MASK
#define B_BE_RTK_LDO_BIAS_LATENCY_MASK
#define B_BE_CLK_REQ_LAT_MASK
#define B_BE_RTK_PM_SEL_OPT
#define B_BE_CLK_REQ_SEL

#define R_BE_PCIE_HIMR0
#define B_BE_PCIE_HB1_IND_INTA_IMR
#define B_BE_PCIE_HB0_IND_INTA_IMR
#define B_BE_HCI_AXIDMA_INTA_IMR
#define B_BE_HC0_IND_INTA_IMR
#define B_BE_HD1_IND_INTA_IMR
#define B_BE_HD0_IND_INTA_IMR
#define B_BE_HS1_IND_INTA_IMR
#define B_BE_HS0_IND_INTA_IMR
#define B_BE_PCIE_HOTRST_INT_EN
#define B_BE_PCIE_FLR_INT_EN
#define B_BE_PCIE_PERST_INT_EN
#define B_BE_PCIE_DBG_STE_INT_EN
#define B_BE_HB1_IND_INT_EN0
#define B_BE_HB0_IND_INT_EN0
#define B_BE_HC1_IND_INT_EN0
#define B_BE_HCI_AXIDMA_INT_EN0
#define B_BE_HC0_IND_INT_EN0
#define B_BE_HD1_IND_INT_EN0
#define B_BE_HD0_IND_INT_EN0
#define B_BE_HS1_IND_INT_EN0
#define B_BE_HS0_IND_INT_EN0

#define R_BE_PCIE_HISR
#define B_BE_PCIE_HOTRST_INT
#define B_BE_PCIE_FLR_INT
#define B_BE_PCIE_PERST_INT
#define B_BE_PCIE_DBG_STE_INT
#define B_BE_HB1IMR_IND
#define B_BE_HB0IMR_IND
#define B_BE_HC1ISR_IND_INT
#define B_BE_HCI_AXIDMA_INT
#define B_BE_HC0ISR_IND_INT
#define B_BE_HD1ISR_IND_INT
#define B_BE_HD0ISR_IND_INT
#define B_BE_HS1ISR_IND_INT
#define B_BE_HS0ISR_IND_INT

#define R_BE_PCIE_DMA_IMR_0_V1
#define B_BE_PCIE_RX_RX1P1_IMR0_V1
#define B_BE_PCIE_RX_RX0P1_IMR0_V1
#define B_BE_PCIE_RX_ROQ1_IMR0_V1
#define B_BE_PCIE_RX_RPQ1_IMR0_V1
#define B_BE_PCIE_RX_RX1P2_IMR0_V1
#define B_BE_PCIE_RX_ROQ0_IMR0_V1
#define B_BE_PCIE_RX_RPQ0_IMR0_V1
#define B_BE_PCIE_RX_RX0P2_IMR0_V1
#define B_BE_PCIE_TX_CH14_IMR0
#define B_BE_PCIE_TX_CH13_IMR0
#define B_BE_PCIE_TX_CH12_IMR0
#define B_BE_PCIE_TX_CH11_IMR0
#define B_BE_PCIE_TX_CH10_IMR0
#define B_BE_PCIE_TX_CH9_IMR0
#define B_BE_PCIE_TX_CH8_IMR0
#define B_BE_PCIE_TX_CH7_IMR0
#define B_BE_PCIE_TX_CH6_IMR0
#define B_BE_PCIE_TX_CH5_IMR0
#define B_BE_PCIE_TX_CH4_IMR0
#define B_BE_PCIE_TX_CH3_IMR0
#define B_BE_PCIE_TX_CH2_IMR0
#define B_BE_PCIE_TX_CH1_IMR0
#define B_BE_PCIE_TX_CH0_IMR0

#define R_BE_PCIE_DMA_ISR
#define B_BE_PCIE_RX_RX1P1_ISR_V1
#define B_BE_PCIE_RX_RX0P1_ISR_V1
#define B_BE_PCIE_RX_ROQ1_ISR_V1
#define B_BE_PCIE_RX_RPQ1_ISR_V1
#define B_BE_PCIE_RX_RX1P2_ISR_V1
#define B_BE_PCIE_RX_ROQ0_ISR_V1
#define B_BE_PCIE_RX_RPQ0_ISR_V1
#define B_BE_PCIE_RX_RX0P2_ISR_V1
#define B_BE_PCIE_TX_CH14_ISR
#define B_BE_PCIE_TX_CH13_ISR
#define B_BE_PCIE_TX_CH12_ISR
#define B_BE_PCIE_TX_CH11_ISR
#define B_BE_PCIE_TX_CH10_ISR
#define B_BE_PCIE_TX_CH9_ISR
#define B_BE_PCIE_TX_CH8_ISR
#define B_BE_PCIE_TX_CH7_ISR
#define B_BE_PCIE_TX_CH6_ISR
#define B_BE_PCIE_TX_CH5_ISR
#define B_BE_PCIE_TX_CH4_ISR
#define B_BE_PCIE_TX_CH3_ISR
#define B_BE_PCIE_TX_CH2_ISR
#define B_BE_PCIE_TX_CH1_ISR
#define B_BE_PCIE_TX_CH0_ISR

#define R_BE_HAXI_HIMR00
#define B_BE_RDU_CH5_INT_IMR_V1
#define B_BE_RDU_CH4_INT_IMR_V1
#define B_BE_RDU_CH3_INT_IMR_V1
#define B_BE_RDU_CH2_INT_IMR_V1
#define B_BE_RDU_CH1_INT_IMR_V1
#define B_BE_RDU_CH0_INT_IMR_V1
#define B_BE_RXDMA_STUCK_INT_EN_V1
#define B_BE_TXDMA_STUCK_INT_EN_V1
#define B_BE_TXDMA_CH14_INT_EN_V1
#define B_BE_TXDMA_CH13_INT_EN_V1
#define B_BE_TXDMA_CH12_INT_EN_V1
#define B_BE_TXDMA_CH11_INT_EN_V1
#define B_BE_TXDMA_CH10_INT_EN_V1
#define B_BE_TXDMA_CH9_INT_EN_V1
#define B_BE_TXDMA_CH8_INT_EN_V1
#define B_BE_TXDMA_CH7_INT_EN_V1
#define B_BE_TXDMA_CH6_INT_EN_V1
#define B_BE_TXDMA_CH5_INT_EN_V1
#define B_BE_TXDMA_CH4_INT_EN_V1
#define B_BE_TXDMA_CH3_INT_EN_V1
#define B_BE_TXDMA_CH2_INT_EN_V1
#define B_BE_TXDMA_CH1_INT_EN_V1
#define B_BE_TXDMA_CH0_INT_EN_V1
#define B_BE_RX1P1DMA_INT_EN_V1
#define B_BE_RX0P1DMA_INT_EN_V1
#define B_BE_RO1DMA_INT_EN
#define B_BE_RP1DMA_INT_EN
#define B_BE_RX1DMA_INT_EN
#define B_BE_RO0DMA_INT_EN
#define B_BE_RP0DMA_INT_EN
#define B_BE_RX0DMA_INT_EN

#define R_BE_HAXI_HISR00
#define B_BE_RDU_CH6_INT
#define B_BE_RDU_CH5_INT
#define B_BE_RDU_CH4_INT
#define B_BE_RDU_CH2_INT
#define B_BE_RDU_CH1_INT
#define B_BE_RDU_CH0_INT
#define B_BE_RXDMA_STUCK_INT
#define B_BE_TXDMA_STUCK_INT
#define B_BE_TXDMA_CH14_INT
#define B_BE_TXDMA_CH13_INT
#define B_BE_TXDMA_CH12_INT
#define B_BE_TXDMA_CH11_INT
#define B_BE_TXDMA_CH10_INT
#define B_BE_TXDMA_CH9_INT
#define B_BE_TXDMA_CH8_INT
#define B_BE_TXDMA_CH7_INT
#define B_BE_TXDMA_CH6_INT
#define B_BE_TXDMA_CH5_INT
#define B_BE_TXDMA_CH4_INT
#define B_BE_TXDMA_CH3_INT
#define B_BE_TXDMA_CH2_INT
#define B_BE_TXDMA_CH1_INT
#define B_BE_TXDMA_CH0_INT
#define B_BE_RPQ1DMA_INT
#define B_BE_RX1P1DMA_INT
#define B_BE_RX1DMA_INT
#define B_BE_RPQ0DMA_INT
#define B_BE_RX0P1DMA_INT
#define B_BE_RX0DMA_INT

/* TX/RX */
#define R_AX_DRV_FW_HSK_0
#define R_AX_DRV_FW_HSK_1
#define R_AX_DRV_FW_HSK_2
#define R_AX_DRV_FW_HSK_3
#define R_AX_DRV_FW_HSK_4
#define R_AX_DRV_FW_HSK_5
#define R_AX_DRV_FW_HSK_6
#define R_AX_DRV_FW_HSK_7

#define R_AX_RXQ_RXBD_IDX
#define R_AX_RPQ_RXBD_IDX
#define R_AX_ACH0_TXBD_IDX
#define R_AX_ACH1_TXBD_IDX
#define R_AX_ACH2_TXBD_IDX
#define R_AX_ACH3_TXBD_IDX
#define R_AX_ACH4_TXBD_IDX
#define R_AX_ACH5_TXBD_IDX
#define R_AX_ACH6_TXBD_IDX
#define R_AX_ACH7_TXBD_IDX
#define R_AX_CH8_TXBD_IDX
#define R_AX_CH9_TXBD_IDX
#define R_AX_CH10_TXBD_IDX
#define R_AX_CH11_TXBD_IDX
#define R_AX_CH12_TXBD_IDX
#define R_AX_CH10_TXBD_IDX_V1
#define R_AX_CH11_TXBD_IDX_V1
#define R_AX_RXQ_RXBD_IDX_V1
#define R_AX_RPQ_RXBD_IDX_V1
#define TXBD_HW_IDX_MASK
#define TXBD_HOST_IDX_MASK

#define R_AX_ACH0_TXBD_DESA_L
#define R_AX_ACH0_TXBD_DESA_H
#define R_AX_ACH1_TXBD_DESA_L
#define R_AX_ACH1_TXBD_DESA_H
#define R_AX_ACH2_TXBD_DESA_L
#define R_AX_ACH2_TXBD_DESA_H
#define R_AX_ACH3_TXBD_DESA_L
#define R_AX_ACH3_TXBD_DESA_H
#define R_AX_ACH4_TXBD_DESA_L
#define R_AX_ACH4_TXBD_DESA_H
#define R_AX_ACH5_TXBD_DESA_L
#define R_AX_ACH5_TXBD_DESA_H
#define R_AX_ACH6_TXBD_DESA_L
#define R_AX_ACH6_TXBD_DESA_H
#define R_AX_ACH7_TXBD_DESA_L
#define R_AX_ACH7_TXBD_DESA_H
#define R_AX_CH8_TXBD_DESA_L
#define R_AX_CH8_TXBD_DESA_H
#define R_AX_CH9_TXBD_DESA_L
#define R_AX_CH9_TXBD_DESA_H
#define R_AX_CH10_TXBD_DESA_L
#define R_AX_CH10_TXBD_DESA_H
#define R_AX_CH11_TXBD_DESA_L
#define R_AX_CH11_TXBD_DESA_H
#define R_AX_CH12_TXBD_DESA_L
#define R_AX_CH12_TXBD_DESA_H
#define R_AX_RXQ_RXBD_DESA_L
#define R_AX_RXQ_RXBD_DESA_H
#define R_AX_RPQ_RXBD_DESA_L
#define R_AX_RPQ_RXBD_DESA_H
#define R_AX_RXQ_RXBD_DESA_L_V1
#define R_AX_RXQ_RXBD_DESA_H_V1
#define R_AX_RPQ_RXBD_DESA_L_V1
#define R_AX_RPQ_RXBD_DESA_H_V1
#define R_AX_ACH0_TXBD_DESA_L_V1
#define R_AX_ACH0_TXBD_DESA_H_V1
#define R_AX_ACH1_TXBD_DESA_L_V1
#define R_AX_ACH1_TXBD_DESA_H_V1
#define R_AX_ACH2_TXBD_DESA_L_V1
#define R_AX_ACH2_TXBD_DESA_H_V1
#define R_AX_ACH3_TXBD_DESA_L_V1
#define R_AX_ACH3_TXBD_DESA_H_V1
#define R_AX_ACH4_TXBD_DESA_L_V1
#define R_AX_ACH4_TXBD_DESA_H_V1
#define R_AX_ACH5_TXBD_DESA_L_V1
#define R_AX_ACH5_TXBD_DESA_H_V1
#define R_AX_ACH6_TXBD_DESA_L_V1
#define R_AX_ACH6_TXBD_DESA_H_V1
#define R_AX_ACH7_TXBD_DESA_L_V1
#define R_AX_ACH7_TXBD_DESA_H_V1
#define R_AX_CH8_TXBD_DESA_L_V1
#define R_AX_CH8_TXBD_DESA_H_V1
#define R_AX_CH9_TXBD_DESA_L_V1
#define R_AX_CH9_TXBD_DESA_H_V1
#define R_AX_CH12_TXBD_DESA_L_V1
#define R_AX_CH12_TXBD_DESA_H_V1
#define R_AX_CH10_TXBD_DESA_L_V1
#define R_AX_CH10_TXBD_DESA_H_V1
#define R_AX_CH11_TXBD_DESA_L_V1
#define R_AX_CH11_TXBD_DESA_H_V1
#define B_AX_DESC_NUM_MSK

#define R_AX_RXQ_RXBD_NUM
#define R_AX_RPQ_RXBD_NUM
#define R_AX_ACH0_TXBD_NUM
#define R_AX_ACH1_TXBD_NUM
#define R_AX_ACH2_TXBD_NUM
#define R_AX_ACH3_TXBD_NUM
#define R_AX_ACH4_TXBD_NUM
#define R_AX_ACH5_TXBD_NUM
#define R_AX_ACH6_TXBD_NUM
#define R_AX_ACH7_TXBD_NUM
#define R_AX_CH8_TXBD_NUM
#define R_AX_CH9_TXBD_NUM
#define R_AX_CH10_TXBD_NUM
#define R_AX_CH11_TXBD_NUM
#define R_AX_CH12_TXBD_NUM
#define R_AX_RXQ_RXBD_NUM_V1
#define R_AX_RPQ_RXBD_NUM_V1
#define R_AX_CH10_TXBD_NUM_V1
#define R_AX_CH11_TXBD_NUM_V1

#define R_AX_ACH0_BDRAM_CTRL
#define R_AX_ACH1_BDRAM_CTRL
#define R_AX_ACH2_BDRAM_CTRL
#define R_AX_ACH3_BDRAM_CTRL
#define R_AX_ACH4_BDRAM_CTRL
#define R_AX_ACH5_BDRAM_CTRL
#define R_AX_ACH6_BDRAM_CTRL
#define R_AX_ACH7_BDRAM_CTRL
#define R_AX_CH8_BDRAM_CTRL
#define R_AX_CH9_BDRAM_CTRL
#define R_AX_CH10_BDRAM_CTRL
#define R_AX_CH11_BDRAM_CTRL
#define R_AX_CH12_BDRAM_CTRL
#define R_AX_ACH0_BDRAM_CTRL_V1
#define R_AX_ACH1_BDRAM_CTRL_V1
#define R_AX_ACH2_BDRAM_CTRL_V1
#define R_AX_ACH3_BDRAM_CTRL_V1
#define R_AX_ACH4_BDRAM_CTRL_V1
#define R_AX_ACH5_BDRAM_CTRL_V1
#define R_AX_ACH6_BDRAM_CTRL_V1
#define R_AX_ACH7_BDRAM_CTRL_V1
#define R_AX_CH8_BDRAM_CTRL_V1
#define R_AX_CH9_BDRAM_CTRL_V1
#define R_AX_CH12_BDRAM_CTRL_V1
#define R_AX_CH10_BDRAM_CTRL_V1
#define R_AX_CH11_BDRAM_CTRL_V1
#define BDRAM_SIDX_MASK
#define BDRAM_MAX_MASK
#define BDRAM_MIN_MASK

#define R_AX_PCIE_INIT_CFG1
#define B_AX_PCIE_RXRST_KEEP_REG
#define B_AX_PCIE_TXRST_KEEP_REG
#define B_AX_PCIE_PERST_KEEP_REG
#define B_AX_PCIE_FLR_KEEP_REG
#define B_AX_PCIE_TRAIN_KEEP_REG
#define B_AX_RXBD_MODE
#define B_AX_PCIE_MAX_RXDMA_MASK
#define B_AX_RXHCI_EN
#define B_AX_LATENCY_CONTROL
#define B_AX_TXHCI_EN
#define B_AX_PCIE_MAX_TXDMA_MASK
#define B_AX_TX_TRUNC_MODE
#define B_AX_RX_TRUNC_MODE
#define B_AX_RST_BDRAM
#define B_AX_DIS_RXDMA_PRE

#define R_AX_TXDMA_ADDR_H
#define R_AX_RXDMA_ADDR_H

#define R_AX_PCIE_DMA_STOP1
#define B_AX_STOP_PCIEIO
#define B_AX_STOP_WPDMA
#define B_AX_STOP_CH12
#define B_AX_STOP_CH9
#define B_AX_STOP_CH8
#define B_AX_STOP_ACH7
#define B_AX_STOP_ACH6
#define B_AX_STOP_ACH5
#define B_AX_STOP_ACH4
#define B_AX_STOP_ACH3
#define B_AX_STOP_ACH2
#define B_AX_STOP_ACH1
#define B_AX_STOP_ACH0
#define B_AX_STOP_RPQ
#define B_AX_STOP_RXQ
#define B_AX_TX_STOP1_ALL
#define B_AX_TX_STOP1_MASK
#define B_AX_TX_STOP1_MASK_V1

#define R_AX_PCIE_DMA_STOP2
#define B_AX_STOP_CH11
#define B_AX_STOP_CH10
#define B_AX_TX_STOP2_ALL

#define R_AX_TXBD_RWPTR_CLR1
#define B_AX_CLR_CH12_IDX
#define B_AX_CLR_CH9_IDX
#define B_AX_CLR_CH8_IDX
#define B_AX_CLR_ACH7_IDX
#define B_AX_CLR_ACH6_IDX
#define B_AX_CLR_ACH5_IDX
#define B_AX_CLR_ACH4_IDX
#define B_AX_CLR_ACH3_IDX
#define B_AX_CLR_ACH2_IDX
#define B_AX_CLR_ACH1_IDX
#define B_AX_CLR_ACH0_IDX
#define B_AX_TXBD_CLR1_ALL

#define R_AX_RXBD_RWPTR_CLR
#define B_AX_CLR_RPQ_IDX
#define B_AX_CLR_RXQ_IDX
#define B_AX_RXBD_CLR_ALL

#define R_AX_TXBD_RWPTR_CLR2
#define B_AX_CLR_CH11_IDX
#define B_AX_CLR_CH10_IDX
#define B_AX_TXBD_CLR2_ALL

#define R_AX_PCIE_DMA_BUSY1
#define B_AX_PCIEIO_RX_BUSY
#define B_AX_PCIEIO_TX_BUSY
#define B_AX_PCIEIO_BUSY
#define B_AX_WPDMA_BUSY
#define B_AX_CH12_BUSY
#define B_AX_CH9_BUSY
#define B_AX_CH8_BUSY
#define B_AX_ACH7_BUSY
#define B_AX_ACH6_BUSY
#define B_AX_ACH5_BUSY
#define B_AX_ACH4_BUSY
#define B_AX_ACH3_BUSY
#define B_AX_ACH2_BUSY
#define B_AX_ACH1_BUSY
#define B_AX_ACH0_BUSY
#define B_AX_RPQ_BUSY
#define B_AX_RXQ_BUSY
#define DMA_BUSY1_CHECK
#define DMA_BUSY1_CHECK_V1

#define R_AX_PCIE_DMA_BUSY2
#define B_AX_CH11_BUSY
#define B_AX_CH10_BUSY

#define R_AX_WP_ADDR_H_SEL0_3
#define R_AX_WP_ADDR_H_SEL4_7
#define R_AX_WP_ADDR_H_SEL8_11
#define R_AX_WP_ADDR_H_SEL12_15

#define R_BE_HAXI_DMA_STOP1
#define B_BE_STOP_WPDMA
#define B_BE_STOP_CH14
#define B_BE_STOP_CH13
#define B_BE_STOP_CH12
#define B_BE_STOP_CH11
#define B_BE_STOP_CH10
#define B_BE_STOP_CH9
#define B_BE_STOP_CH8
#define B_BE_STOP_CH7
#define B_BE_STOP_CH6
#define B_BE_STOP_CH5
#define B_BE_STOP_CH4
#define B_BE_STOP_CH3
#define B_BE_STOP_CH2
#define B_BE_STOP_CH1
#define B_BE_STOP_CH0
#define B_BE_TX_STOP1_MASK

#define R_BE_CH0_TXBD_NUM_V1
#define R_BE_CH1_TXBD_NUM_V1
#define R_BE_CH2_TXBD_NUM_V1
#define R_BE_CH3_TXBD_NUM_V1
#define R_BE_CH4_TXBD_NUM_V1
#define R_BE_CH5_TXBD_NUM_V1
#define R_BE_CH6_TXBD_NUM_V1
#define R_BE_CH7_TXBD_NUM_V1
#define R_BE_CH8_TXBD_NUM_V1
#define R_BE_CH9_TXBD_NUM_V1
#define R_BE_CH10_TXBD_NUM_V1
#define R_BE_CH11_TXBD_NUM_V1
#define R_BE_CH12_TXBD_NUM_V1
#define R_BE_CH13_TXBD_NUM_V1
#define R_BE_CH14_TXBD_NUM_V1

#define R_BE_RXQ0_RXBD_NUM_V1
#define R_BE_RPQ0_RXBD_NUM_V1

#define R_BE_CH0_TXBD_IDX_V1
#define R_BE_CH1_TXBD_IDX_V1
#define R_BE_CH2_TXBD_IDX_V1
#define R_BE_CH3_TXBD_IDX_V1
#define R_BE_CH4_TXBD_IDX_V1
#define R_BE_CH5_TXBD_IDX_V1
#define R_BE_CH6_TXBD_IDX_V1
#define R_BE_CH7_TXBD_IDX_V1
#define R_BE_CH8_TXBD_IDX_V1
#define R_BE_CH9_TXBD_IDX_V1
#define R_BE_CH10_TXBD_IDX_V1
#define R_BE_CH11_TXBD_IDX_V1
#define R_BE_CH12_TXBD_IDX_V1
#define R_BE_CH13_TXBD_IDX_V1
#define R_BE_CH14_TXBD_IDX_V1

#define R_BE_RXQ0_RXBD_IDX_V1
#define R_BE_RPQ0_RXBD_IDX_V1

#define R_BE_CH0_TXBD_DESA_L_V1
#define R_BE_CH0_TXBD_DESA_H_V1
#define R_BE_CH1_TXBD_DESA_L_V1
#define R_BE_CH1_TXBD_DESA_H_V1
#define R_BE_CH2_TXBD_DESA_L_V1
#define R_BE_CH2_TXBD_DESA_H_V1
#define R_BE_CH3_TXBD_DESA_L_V1
#define R_BE_CH3_TXBD_DESA_H_V1
#define R_BE_CH4_TXBD_DESA_L_V1
#define R_BE_CH4_TXBD_DESA_H_V1
#define R_BE_CH5_TXBD_DESA_L_V1
#define R_BE_CH5_TXBD_DESA_H_V1
#define R_BE_CH6_TXBD_DESA_L_V1
#define R_BE_CH6_TXBD_DESA_H_V1
#define R_BE_CH7_TXBD_DESA_L_V1
#define R_BE_CH7_TXBD_DESA_H_V1
#define R_BE_CH8_TXBD_DESA_L_V1
#define R_BE_CH8_TXBD_DESA_H_V1
#define R_BE_CH9_TXBD_DESA_L_V1
#define R_BE_CH9_TXBD_DESA_H_V1
#define R_BE_CH10_TXBD_DESA_L_V1
#define R_BE_CH10_TXBD_DESA_H_V1
#define R_BE_CH11_TXBD_DESA_L_V1
#define R_BE_CH11_TXBD_DESA_H_V1
#define R_BE_CH12_TXBD_DESA_L_V1
#define R_BE_CH12_TXBD_DESA_H_V1
#define R_BE_CH13_TXBD_DESA_L_V1
#define R_BE_CH13_TXBD_DESA_H_V1
#define R_BE_CH14_TXBD_DESA_L_V1
#define R_BE_CH14_TXBD_DESA_H_V1

#define R_BE_RXQ0_RXBD_DESA_L_V1
#define R_BE_RXQ0_RXBD_DESA_H_V1
#define R_BE_RPQ0_RXBD_DESA_L_V1
#define R_BE_RPQ0_RXBD_DESA_H_V1

#define R_BE_WP_ADDR_H_SEL0_3_V1
#define R_BE_WP_ADDR_H_SEL4_7_V1
#define R_BE_WP_ADDR_H_SEL8_11_V1
#define R_BE_WP_ADDR_H_SEL12_15_V1

/* Configure */
#define R_AX_PCIE_INIT_CFG2
#define B_AX_WD_ITVL_IDLE
#define B_AX_WD_ITVL_ACT
#define B_AX_PCIE_RX_APPLEN_MASK

#define R_AX_PCIE_PS_CTRL
#define B_AX_L1OFF_PWR_OFF_EN

#define R_AX_INT_MIT_RX
#define B_AX_RXMIT_RXP2_SEL
#define B_AX_RXMIT_RXP1_SEL
#define B_AX_RXTIMER_UNIT_MASK
#define AX_RXTIMER_UNIT_64US
#define AX_RXTIMER_UNIT_128US
#define AX_RXTIMER_UNIT_256US
#define AX_RXTIMER_UNIT_512US
#define B_AX_RXCOUNTER_MATCH_MASK
#define B_AX_RXTIMER_MATCH_MASK

#define R_AX_DBG_ERR_FLAG_V1

#define R_AX_INT_MIT_RX_V1
#define B_AX_RXMIT_RXP2_SEL_V1
#define B_AX_RXMIT_RXP1_SEL_V1
#define B_AX_MIT_RXTIMER_UNIT_MASK
#define B_AX_MIT_RXCOUNTER_MATCH_MASK
#define B_AX_MIT_RXTIMER_MATCH_MASK

#define R_AX_DBG_ERR_FLAG
#define B_AX_PCIE_RPQ_FULL
#define B_AX_PCIE_RXQ_FULL
#define B_AX_CPL_STATUS_MASK
#define B_AX_RX_STUCK
#define B_AX_TX_STUCK
#define B_AX_PCIEDBG_TXERR0
#define B_AX_PCIE_RXP1_ERR0
#define B_AX_PCIE_TXBD_LEN0
#define B_AX_PCIE_TXBD_4KBOUD_LENERR

#define R_AX_TXBD_RWPTR_CLR2_V1
#define B_AX_CLR_CH11_IDX
#define B_AX_CLR_CH10_IDX

#define R_AX_LBC_WATCHDOG
#define B_AX_LBC_TIMER
#define B_AX_LBC_FLAG
#define B_AX_LBC_EN

#define R_AX_RXBD_RWPTR_CLR_V1
#define B_AX_CLR_RPQ_IDX
#define B_AX_CLR_RXQ_IDX

#define R_AX_HAXI_EXP_CTRL
#define B_AX_MAX_TAG_NUM_V1_MASK

#define R_AX_PCIE_EXP_CTRL
#define B_AX_EN_CHKDSC_NO_RX_STUCK
#define B_AX_MAX_TAG_NUM
#define B_AX_SIC_EN_FORCE_CLKREQ

#define R_AX_PCIE_RX_PREF_ADV
#define B_AX_RXDMA_PREF_ADV_EN

#define R_AX_PCIE_HRPWM_V1
#define R_AX_PCIE_CRPWM

#define R_AX_LBC_WATCHDOG_V1

#define R_BE_PCIE_HRPWM
#define R_BE_PCIE_CRPWM

#define R_BE_L1_2_CTRL_HCILDO
#define B_BE_PCIE_DIS_L1_2_CTRL_HCILDO

#define R_BE_PL1_DBG_INFO
#define B_BE_END_PL1_CNT_MASK
#define B_BE_START_PL1_CNT_MASK

#define R_BE_PCIE_MIT0_TMR
#define B_BE_PCIE_MIT0_RX_TMR_MASK
#define BE_MIT0_TMR_UNIT_1MS
#define BE_MIT0_TMR_UNIT_2MS
#define BE_MIT0_TMR_UNIT_4MS
#define BE_MIT0_TMR_UNIT_8MS
#define B_BE_PCIE_MIT0_TX_TMR_MASK

#define R_BE_PCIE_MIT0_CNT
#define B_BE_PCIE_RX_MIT0_CNT_MASK
#define B_BE_PCIE_TX_MIT0_CNT_MASK
#define B_BE_PCIE_RX_MIT0_TMR_CNT_MASK
#define B_BE_PCIE_TX_MIT0_TMR_CNT_MASK

#define R_BE_PCIE_MIT_CH_EN
#define B_BE_PCIE_MIT_RX1P1_EN
#define B_BE_PCIE_MIT_RX0P1_EN
#define B_BE_PCIE_MIT_ROQ1_EN
#define B_BE_PCIE_MIT_RPQ1_EN
#define B_BE_PCIE_MIT_RX1P2_EN
#define B_BE_PCIE_MIT_ROQ0_EN
#define B_BE_PCIE_MIT_RPQ0_EN
#define B_BE_PCIE_MIT_RX0P2_EN
#define B_BE_PCIE_MIT_TXCH14_EN
#define B_BE_PCIE_MIT_TXCH13_EN
#define B_BE_PCIE_MIT_TXCH12_EN
#define B_BE_PCIE_MIT_TXCH11_EN
#define B_BE_PCIE_MIT_TXCH10_EN
#define B_BE_PCIE_MIT_TXCH9_EN
#define B_BE_PCIE_MIT_TXCH8_EN
#define B_BE_PCIE_MIT_TXCH7_EN
#define B_BE_PCIE_MIT_TXCH6_EN
#define B_BE_PCIE_MIT_TXCH5_EN
#define B_BE_PCIE_MIT_TXCH4_EN
#define B_BE_PCIE_MIT_TXCH3_EN
#define B_BE_PCIE_MIT_TXCH2_EN
#define B_BE_PCIE_MIT_TXCH1_EN
#define B_BE_PCIE_MIT_TXCH0_EN

#define R_BE_SER_PL1_CTRL
#define B_BE_PL1_SER_PL1_EN
#define B_BE_PL1_IGNORE_HOT_RST
#define B_BE_PL1_TIMER_UNIT_MASK
#define B_BE_PL1_TIMER_CLEAR

#define R_BE_REG_PL1_MASK
#define B_BE_SER_PCLKREQ_ACK_MASK
#define B_BE_SER_PM_CLK_MASK
#define B_BE_SER_LTSSM_IMR
#define B_BE_SER_PM_MASTER_IMR
#define B_BE_SER_L1SUB_IMR
#define B_BE_SER_PMU_IMR

#define R_BE_REG_PL1_ISR

#define R_BE_RX_APPEND_MODE
#define B_BE_APPEND_OFFSET_MASK
#define B_BE_APPEND_LEN_MASK

#define R_BE_TXBD_RWPTR_CLR1
#define B_BE_CLR_CH14_IDX
#define B_BE_CLR_CH13_IDX
#define B_BE_CLR_CH12_IDX
#define B_BE_CLR_CH11_IDX
#define B_BE_CLR_CH10_IDX
#define B_BE_CLR_CH9_IDX
#define B_BE_CLR_CH8_IDX
#define B_BE_CLR_CH7_IDX
#define B_BE_CLR_CH6_IDX
#define B_BE_CLR_CH5_IDX
#define B_BE_CLR_CH4_IDX
#define B_BE_CLR_CH3_IDX
#define B_BE_CLR_CH2_IDX
#define B_BE_CLR_CH1_IDX
#define B_BE_CLR_CH0_IDX

#define R_BE_RXBD_RWPTR_CLR1_V1
#define B_BE_CLR_ROQ1_IDX_V1
#define B_BE_CLR_RPQ1_IDX_V1
#define B_BE_CLR_RXQ1_IDX_V1
#define B_BE_CLR_ROQ0_IDX
#define B_BE_CLR_RPQ0_IDX
#define B_BE_CLR_RXQ0_IDX

#define R_BE_HAXI_DMA_BUSY1
#define B_BE_HAXI_MST_BUSY
#define B_BE_HAXI_RX_IDLE
#define B_BE_HAXI_TX_IDLE
#define B_BE_ROQ1_BUSY_V1
#define B_BE_RPQ1_BUSY_V1
#define B_BE_RXQ1_BUSY_V1
#define B_BE_ROQ0_BUSY_V1
#define B_BE_RPQ0_BUSY_V1
#define B_BE_RXQ0_BUSY_V1
#define B_BE_WPDMA_BUSY
#define B_BE_CH14_BUSY
#define B_BE_CH13_BUSY
#define B_BE_CH12_BUSY
#define B_BE_CH11_BUSY
#define B_BE_CH10_BUSY
#define B_BE_CH9_BUSY
#define B_BE_CH8_BUSY
#define B_BE_CH7_BUSY
#define B_BE_CH6_BUSY
#define B_BE_CH5_BUSY
#define B_BE_CH4_BUSY
#define B_BE_CH3_BUSY
#define B_BE_CH2_BUSY
#define B_BE_CH1_BUSY
#define B_BE_CH0_BUSY
#define DMA_BUSY1_CHECK_BE

#define R_BE_HAXI_EXP_CTRL_V1
#define B_BE_R_NO_SEC_ACCESS
#define B_BE_FORCE_EN_DMA_RX_GCLK
#define B_BE_FORCE_EN_DMA_TX_GCLK
#define B_BE_MAX_TAG_NUM_MASK

#define RTW89_PCI_TXBD_NUM_MAX
#define RTW89_PCI_RXBD_NUM_MAX
#define RTW89_PCI_TXWD_NUM_MAX
#define RTW89_PCI_TXWD_PAGE_SIZE
#define RTW89_PCI_ADDRINFO_MAX
#define RTW89_PCI_RX_BUF_SIZE

#define RTW89_PCI_POLL_BDRAM_RST_CNT
#define RTW89_PCI_MULTITAG

/* PCIE CFG register */
#define RTW89_PCIE_CAPABILITY_SPEED
#define RTW89_PCIE_SUPPORT_GEN_MASK
#define RTW89_PCIE_L1_STS_V1
#define RTW89_BCFG_LINK_SPEED_MASK
#define RTW89_PCIE_GEN1_SPEED
#define RTW89_PCIE_GEN2_SPEED
#define RTW89_PCIE_PHY_RATE
#define RTW89_PCIE_PHY_RATE_MASK
#define RTW89_PCIE_LINK_CHANGE_SPEED
#define RTW89_PCIE_L1SS_STS_V1
#define RTW89_PCIE_BIT_ASPM_L11
#define RTW89_PCIE_BIT_ASPM_L12
#define RTW89_PCIE_BIT_PCI_L11
#define RTW89_PCIE_BIT_PCI_L12
#define RTW89_PCIE_ASPM_CTRL
#define RTW89_L1DLY_MASK
#define RTW89_L0DLY_MASK
#define RTW89_PCIE_TIMER_CTRL
#define RTW89_PCIE_BIT_L1SUB
#define RTW89_PCIE_L1_CTRL
#define RTW89_PCIE_BIT_EN_64BITS
#define RTW89_PCIE_BIT_CLK
#define RTW89_PCIE_BIT_L1
#define RTW89_PCIE_CLK_CTRL
#define RTW89_PCIE_FTS
#define RTW89_PCIE_POLLING_BIT
#define RTW89_PCIE_RST_MSTATE
#define RTW89_PCIE_BIT_CFG_RST_MSTATE

#define INTF_INTGRA_MINREF_V1
#define INTF_INTGRA_HOSTREF_V1

enum rtw89_pcie_phy {};

enum rtw89_pcie_l0sdly {};

enum rtw89_pcie_l1dly {};

enum rtw89_pcie_clkdly_hw {};

enum rtw89_pcie_clkdly_hw_v1 {};

enum mac_ax_bd_trunc_mode {};

enum mac_ax_rxbd_mode {};

enum mac_ax_tag_mode {};

enum mac_ax_tx_burst {};

enum mac_ax_rx_burst {};

enum mac_ax_wd_dma_intvl {};

enum mac_ax_multi_tag_num {};

enum mac_ax_lbc_tmr {};

enum mac_ax_pcie_func_ctrl {};

enum mac_ax_io_rcy_tmr {};

enum rtw89_pci_intr_mask_cfg {};

struct rtw89_pci_isrs;
struct rtw89_pci;

struct rtw89_pci_bd_idx_addr {};

struct rtw89_pci_ch_dma_addr {};

struct rtw89_pci_ch_dma_addr_set {};

struct rtw89_pci_bd_ram {};

struct rtw89_pci_gen_def {};

struct rtw89_pci_info {};

struct rtw89_pci_tx_data {};

struct rtw89_pci_rx_info {};

struct rtw89_pci_tx_bd_32 {} __packed;

#define RTW89_PCI_TXWP_VALID

struct rtw89_pci_tx_wp_info {} __packed;

#define RTW89_PCI_ADDR_MSDU_LS
#define RTW89_PCI_ADDR_LS
#define RTW89_PCI_ADDR_HIGH_MASK
#define RTW89_PCI_ADDR_NUM(x)

struct rtw89_pci_tx_addr_info_32 {} __packed;

#define RTW89_TXADDR_INFO_NR_V1

struct rtw89_pci_tx_addr_info_32_v1 {} __packed;

#define RTW89_PCI_RPP_POLLUTED
#define RTW89_PCI_RPP_SEQ
#define RTW89_PCI_RPP_TX_STATUS
#define RTW89_TX_DONE
#define RTW89_TX_RETRY_LIMIT
#define RTW89_TX_LIFE_TIME
#define RTW89_TX_MACID_DROP
#define RTW89_PCI_RPP_QSEL
#define RTW89_PCI_RPP_MACID

struct rtw89_pci_rpp_fmt {} __packed;

struct rtw89_pci_rx_bd_32 {} __packed;

#define RTW89_PCI_RXBD_FS
#define RTW89_PCI_RXBD_LS
#define RTW89_PCI_RXBD_WRITE_SIZE
#define RTW89_PCI_RXBD_TAG

struct rtw89_pci_rxbd_info {};

struct rtw89_pci_tx_wd {};

struct rtw89_pci_dma_ring {};

struct rtw89_pci_tx_wd_ring {};

#define RTW89_RX_TAG_MAX

struct rtw89_pci_tx_ring {};

struct rtw89_pci_rx_ring {};

struct rtw89_pci_isrs {};

struct rtw89_pci {};

static inline struct rtw89_pci_rx_info *RTW89_PCI_RX_SKB_CB(struct sk_buff *skb)
{}

static inline struct rtw89_pci_rx_bd_32 *
RTW89_PCI_RX_BD(struct rtw89_pci_rx_ring *rx_ring, u32 idx)
{}

static inline void
rtw89_pci_rxbd_increase(struct rtw89_pci_rx_ring *rx_ring, u32 cnt)
{}

static inline struct rtw89_pci_tx_data *RTW89_PCI_TX_SKB_CB(struct sk_buff *skb)
{}

static inline struct rtw89_pci_tx_bd_32 *
rtw89_pci_get_next_txbd(struct rtw89_pci_tx_ring *tx_ring)
{}

static inline struct rtw89_pci_tx_wd *
rtw89_pci_dequeue_txwd(struct rtw89_pci_tx_ring *tx_ring)
{}

static inline void
rtw89_pci_enqueue_txwd(struct rtw89_pci_tx_ring *tx_ring,
		       struct rtw89_pci_tx_wd *txwd)
{}

static inline bool rtw89_pci_ltr_is_err_reg_val(u32 val)
{}

extern const struct dev_pm_ops rtw89_pm_ops;
extern const struct dev_pm_ops rtw89_pm_ops_be;
extern const struct rtw89_pci_ch_dma_addr_set rtw89_pci_ch_dma_addr_set;
extern const struct rtw89_pci_ch_dma_addr_set rtw89_pci_ch_dma_addr_set_v1;
extern const struct rtw89_pci_ch_dma_addr_set rtw89_pci_ch_dma_addr_set_be;
extern const struct rtw89_pci_bd_ram rtw89_bd_ram_table_dual[RTW89_TXCH_NUM];
extern const struct rtw89_pci_bd_ram rtw89_bd_ram_table_single[RTW89_TXCH_NUM];
extern const struct rtw89_pci_gen_def rtw89_pci_gen_ax;
extern const struct rtw89_pci_gen_def rtw89_pci_gen_be;

struct pci_device_id;

int rtw89_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id);
void rtw89_pci_remove(struct pci_dev *pdev);
void rtw89_pci_ops_reset(struct rtw89_dev *rtwdev);
int rtw89_pci_ltr_set(struct rtw89_dev *rtwdev, bool en);
int rtw89_pci_ltr_set_v1(struct rtw89_dev *rtwdev, bool en);
int rtw89_pci_ltr_set_v2(struct rtw89_dev *rtwdev, bool en);
u32 rtw89_pci_fill_txaddr_info(struct rtw89_dev *rtwdev,
			       void *txaddr_info_addr, u32 total_len,
			       dma_addr_t dma, u8 *add_info_nr);
u32 rtw89_pci_fill_txaddr_info_v1(struct rtw89_dev *rtwdev,
				  void *txaddr_info_addr, u32 total_len,
				  dma_addr_t dma, u8 *add_info_nr);
void rtw89_pci_ctrl_dma_all(struct rtw89_dev *rtwdev, bool enable);
void rtw89_pci_config_intr_mask(struct rtw89_dev *rtwdev);
void rtw89_pci_config_intr_mask_v1(struct rtw89_dev *rtwdev);
void rtw89_pci_config_intr_mask_v2(struct rtw89_dev *rtwdev);
void rtw89_pci_enable_intr(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci);
void rtw89_pci_disable_intr(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci);
void rtw89_pci_enable_intr_v1(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci);
void rtw89_pci_disable_intr_v1(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci);
void rtw89_pci_enable_intr_v2(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci);
void rtw89_pci_disable_intr_v2(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci);
void rtw89_pci_recognize_intrs(struct rtw89_dev *rtwdev,
			       struct rtw89_pci *rtwpci,
			       struct rtw89_pci_isrs *isrs);
void rtw89_pci_recognize_intrs_v1(struct rtw89_dev *rtwdev,
				  struct rtw89_pci *rtwpci,
				  struct rtw89_pci_isrs *isrs);
void rtw89_pci_recognize_intrs_v2(struct rtw89_dev *rtwdev,
				  struct rtw89_pci *rtwpci,
				  struct rtw89_pci_isrs *isrs);

static inline
u32 rtw89_chip_fill_txaddr_info(struct rtw89_dev *rtwdev,
				void *txaddr_info_addr, u32 total_len,
				dma_addr_t dma, u8 *add_info_nr)
{}

static inline void rtw89_chip_config_intr_mask(struct rtw89_dev *rtwdev,
					       enum rtw89_pci_intr_mask_cfg cfg)
{}

static inline
void rtw89_chip_enable_intr(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci)
{}

static inline
void rtw89_chip_disable_intr(struct rtw89_dev *rtwdev, struct rtw89_pci *rtwpci)
{}

static inline
void rtw89_chip_recognize_intrs(struct rtw89_dev *rtwdev,
				struct rtw89_pci *rtwpci,
				struct rtw89_pci_isrs *isrs)
{}

static inline int rtw89_pci_ops_mac_pre_init(struct rtw89_dev *rtwdev)
{}

static inline int rtw89_pci_ops_mac_pre_deinit(struct rtw89_dev *rtwdev)
{}

static inline int rtw89_pci_ops_mac_post_init(struct rtw89_dev *rtwdev)
{}

static inline void rtw89_pci_clr_idx_all(struct rtw89_dev *rtwdev)
{}

static inline int rtw89_pci_reset_bdram(struct rtw89_dev *rtwdev)
{}

static inline void rtw89_pci_ctrl_txdma_ch(struct rtw89_dev *rtwdev, bool enable)
{}

static inline void rtw89_pci_ctrl_txdma_fw_ch(struct rtw89_dev *rtwdev, bool enable)
{}

static inline int rtw89_pci_poll_txdma_ch_idle(struct rtw89_dev *rtwdev)
{}
#endif