linux/drivers/net/wwan/t7xx/t7xx_reg.h

/* SPDX-License-Identifier: GPL-2.0-only
 *
 * Copyright (c) 2021, MediaTek Inc.
 * Copyright (c) 2021-2022, Intel Corporation.
 *
 * Authors:
 *  Haijun Liu <[email protected]>
 *  Chiranjeevi Rapolu <[email protected]>
 *
 * Contributors:
 *  Amir Hanania <[email protected]>
 *  Andy Shevchenko <[email protected]>
 *  Eliot Lee <[email protected]>
 *  Moises Veleta <[email protected]>
 *  Ricardo Martinez <[email protected]>
 *  Sreehari Kancharla <[email protected]>
 */

#ifndef __T7XX_REG_H__
#define __T7XX_REG_H__

#include <linux/bits.h>

/* Device base address offset */
#define MHCCIF_RC_DEV_BASE

#define REG_RC2EP_SW_BSY
#define REG_RC2EP_SW_INT_START

#define REG_RC2EP_SW_TCHNUM
#define H2D_CH_EXCEPTION_ACK
#define H2D_CH_EXCEPTION_CLEARQ_ACK
#define H2D_CH_DS_LOCK
/* Channels 4-8 are reserved */
#define H2D_CH_SUSPEND_REQ
#define H2D_CH_RESUME_REQ
#define H2D_CH_SUSPEND_REQ_AP
#define H2D_CH_RESUME_REQ_AP
#define H2D_CH_DEVICE_RESET
#define H2D_CH_DRM_DISABLE_AP

#define REG_EP2RC_SW_INT_STS
#define REG_EP2RC_SW_INT_ACK
#define REG_EP2RC_SW_INT_EAP_MASK
#define REG_EP2RC_SW_INT_EAP_MASK_SET
#define REG_EP2RC_SW_INT_EAP_MASK_CLR

#define D2H_INT_DS_LOCK_ACK
#define D2H_INT_EXCEPTION_INIT
#define D2H_INT_EXCEPTION_INIT_DONE
#define D2H_INT_EXCEPTION_CLEARQ_DONE
#define D2H_INT_EXCEPTION_ALLQ_RESET
#define D2H_INT_PORT_ENUM
/* Bits 6-10 are reserved */
#define D2H_INT_SUSPEND_ACK
#define D2H_INT_RESUME_ACK
#define D2H_INT_SUSPEND_ACK_AP
#define D2H_INT_RESUME_ACK_AP
#define D2H_INT_ASYNC_AP_HK
#define D2H_INT_ASYNC_MD_HK

/* Register base */
#define INFRACFG_AO_DEV_CHIP

/* ATR setting */
#define T7XX_PCIE_REG_TRSL_ADDR_CHIP
#define T7XX_PCIE_REG_SIZE_CHIP

/* Reset Generic Unit (RGU) */
#define TOPRGU_CH_PCIE_IRQ_STA

#define ATR_PORT_OFFSET
#define ATR_TABLE_OFFSET
#define ATR_TABLE_NUM_PER_ATR
#define ATR_TRANSPARENT_SIZE

/* PCIE_MAC_IREG Register Definition */

#define ISTAT_HST_CTRL
#define ISTAT_HST_CTRL_DIS

#define T7XX_PCIE_MISC_CTRL
#define T7XX_PCIE_MISC_MAC_SLEEP_DIS

#define T7XX_PCIE_CFG_MSIX
#define ATR_PCIE_WIN0_T0_ATR_PARAM_SRC_ADDR
#define ATR_PCIE_WIN0_T0_TRSL_ADDR
#define ATR_PCIE_WIN0_T0_TRSL_PARAM
#define ATR_PCIE_WIN0_ADDR_ALGMT

#define ATR_SRC_ADDR_INVALID

#define T7XX_PCIE_PM_RESUME_STATE

enum t7xx_pm_resume_state {};

enum host_event_e {};

#define T7XX_PCIE_MISC_DEV_STATUS
#define MISC_STAGE_MASK
#define MISC_RESET_TYPE_PLDR
#define MISC_RESET_TYPE_FLDR
#define MISC_RESET_TYPE_PLDR
#define MISC_LK_EVENT_MASK
#define HOST_EVENT_MASK

enum lk_event_id {};

enum t7xx_device_stage {};

#define T7XX_PCIE_RESOURCE_STATUS
#define T7XX_PCIE_RESOURCE_STS_MSK

#define DISABLE_ASPM_LOWPWR
#define ENABLE_ASPM_LOWPWR
#define T7XX_L1_BIT(i)
#define T7XX_L1_1_BIT(i)
#define T7XX_L1_2_BIT(i)

#define MSIX_ISTAT_HST_GRP0_0
#define IMASK_HOST_MSIX_SET_GRP0_0
#define IMASK_HOST_MSIX_CLR_GRP0_0
#define EXT_INT_START
#define EXT_INT_NUM
#define MSIX_MSK_SET_ALL

enum t7xx_int {};

/* DPMA definitions */

#define DPMAIF_PD_BASE
#define BASE_DPMAIF_UL
#define BASE_DPMAIF_DL
#define BASE_DPMAIF_AP_MISC
#define BASE_DPMAIF_MMW_HPC
#define BASE_DPMAIF_DL_DLQ_REMOVEAO_IDX
#define BASE_DPMAIF_PD_SRAM_DL
#define BASE_DPMAIF_PD_SRAM_UL

#define DPMAIF_AO_BASE
#define BASE_DPMAIF_AO_UL
#define BASE_DPMAIF_AO_DL

#define DPMAIF_UL_ADD_DESC
#define DPMAIF_UL_CHK_BUSY
#define DPMAIF_UL_RESERVE_AO_RW
#define DPMAIF_UL_ADD_DESC_CH0

#define DPMAIF_DL_BAT_INIT
#define DPMAIF_DL_BAT_ADD
#define DPMAIF_DL_BAT_INIT_CON0
#define DPMAIF_DL_BAT_INIT_CON1
#define DPMAIF_DL_BAT_INIT_CON2
#define DPMAIF_DL_BAT_INIT_CON3
#define DPMAIF_DL_CHK_BUSY

#define DPMAIF_AP_L2TISAR0
#define DPMAIF_AP_APDL_L2TISAR0
#define DPMAIF_AP_IP_BUSY
#define DPMAIF_AP_CG_EN
#define DPMAIF_AP_OVERWRITE_CFG
#define DPMAIF_AP_MEM_CLR
#define DPMAIF_AP_ALL_L2TISAR0_MASK
#define DPMAIF_AP_APDL_ALL_L2TISAR0_MASK
#define DPMAIF_AP_IP_BUSY_MASK

#define DPMAIF_AO_UL_INIT_SET
#define DPMAIF_AO_UL_CHNL_ARB0
#define DPMAIF_AO_UL_AP_L2TIMR0
#define DPMAIF_AO_UL_AP_L2TIMCR0
#define DPMAIF_AO_UL_AP_L2TIMSR0
#define DPMAIF_AO_UL_AP_L1TIMR0
#define DPMAIF_AO_UL_APDL_L2TIMR0
#define DPMAIF_AO_UL_APDL_L2TIMCR0
#define DPMAIF_AO_UL_APDL_L2TIMSR0
#define DPMAIF_AO_AP_DLUL_IP_BUSY_MASK

#define DPMAIF_AO_UL_CHNL0_CON0
#define DPMAIF_AO_UL_CHNL0_CON1
#define DPMAIF_AO_UL_CHNL0_CON2
#define DPMAIF_AO_UL_CH0_STA

#define DPMAIF_AO_DL_INIT_SET
#define DPMAIF_AO_DL_IRQ_MASK
#define DPMAIF_AO_DL_DLQPIT_INIT_CON5
#define DPMAIF_AO_DL_DLQPIT_TRIG_THRES

#define DPMAIF_AO_DL_PKTINFO_CON0
#define DPMAIF_AO_DL_PKTINFO_CON1
#define DPMAIF_AO_DL_PKTINFO_CON2
#define DPMAIF_AO_DL_RDY_CHK_THRES
#define DPMAIF_AO_DL_RDY_CHK_FRG_THRES

#define DPMAIF_AO_DL_DLQ_AGG_CFG
#define DPMAIF_AO_DL_DLQPIT_TIMEOUT0
#define DPMAIF_AO_DL_DLQPIT_TIMEOUT1
#define DPMAIF_AO_DL_HPC_CNTL
#define DPMAIF_AO_DL_PIT_SEQ_END

#define DPMAIF_AO_DL_BAT_RD_IDX
#define DPMAIF_AO_DL_BAT_WR_IDX
#define DPMAIF_AO_DL_PIT_RD_IDX
#define DPMAIF_AO_DL_PIT_WR_IDX
#define DPMAIF_AO_DL_FRGBAT_RD_IDX
#define DPMAIF_AO_DL_DLQ_WR_IDX

#define DPMAIF_HPC_INTR_MASK
#define DPMA_HPC_ALL_INT_MASK

#define DPMAIF_HPC_DLQ_PATH_MODE
#define DPMAIF_HPC_ADD_MODE_DF
#define DPMAIF_HPC_TOTAL_NUM
#define DPMAIF_HPC_MAX_TOTAL_NUM

#define DPMAIF_DL_DLQPIT_INIT
#define DPMAIF_DL_DLQPIT_ADD
#define DPMAIF_DL_DLQPIT_INIT_CON0
#define DPMAIF_DL_DLQPIT_INIT_CON1
#define DPMAIF_DL_DLQPIT_INIT_CON2
#define DPMAIF_DL_DLQPIT_INIT_CON3
#define DPMAIF_DL_DLQPIT_INIT_CON4
#define DPMAIF_DL_DLQPIT_INIT_CON5
#define DPMAIF_DL_DLQPIT_INIT_CON6

#define DPMAIF_ULQSAR_n(q)
#define DPMAIF_UL_DRBSIZE_ADDRH_n(q)
#define DPMAIF_UL_DRB_ADDRH_n(q)
#define DPMAIF_ULQ_STA0_n(q)
#define DPMAIF_ULQ_ADD_DESC_CH_n(q)

#define DPMAIF_UL_DRB_RIDX_MSK

#define DPMAIF_AP_RGU_ASSERT
#define DPMAIF_AP_RGU_DEASSERT
#define DPMAIF_AP_RST_BIT

#define DPMAIF_AP_AO_RGU_ASSERT
#define DPMAIF_AP_AO_RGU_DEASSERT
#define DPMAIF_AP_AO_RST_BIT

/* DPMAIF init/restore */
#define DPMAIF_UL_ADD_NOT_READY
#define DPMAIF_UL_ADD_UPDATE
#define DPMAIF_UL_ADD_COUNT_MASK
#define DPMAIF_UL_ALL_QUE_ARB_EN

#define DPMAIF_DL_ADD_UPDATE
#define DPMAIF_DL_ADD_NOT_READY
#define DPMAIF_DL_FRG_ADD_UPDATE
#define DPMAIF_DL_ADD_COUNT_MASK

#define DPMAIF_DL_BAT_INIT_ALLSET
#define DPMAIF_DL_BAT_FRG_INIT
#define DPMAIF_DL_BAT_INIT_EN
#define DPMAIF_DL_BAT_INIT_NOT_READY
#define DPMAIF_DL_BAT_INIT_ONLY_ENABLE_BIT

#define DPMAIF_DL_PIT_INIT_ALLSET
#define DPMAIF_DL_PIT_INIT_EN
#define DPMAIF_DL_PIT_INIT_NOT_READY

#define DPMAIF_BAT_REMAIN_SZ_BASE
#define DPMAIF_BAT_BUFFER_SZ_BASE
#define DPMAIF_FRG_BUFFER_SZ_BASE

#define DLQ_PIT_IDX_SIZE

#define DPMAIF_PIT_SIZE_MSK

#define DPMAIF_PIT_REM_CNT_MSK

#define DPMAIF_BAT_EN_MSK
#define DPMAIF_FRG_EN_MSK
#define DPMAIF_BAT_SIZE_MSK

#define DPMAIF_BAT_BID_MAXCNT_MSK
#define DPMAIF_BAT_REMAIN_MINSZ_MSK
#define DPMAIF_PIT_CHK_NUM_MSK
#define DPMAIF_BAT_BUF_SZ_MSK
#define DPMAIF_FRG_BUF_SZ_MSK
#define DPMAIF_BAT_RSV_LEN_MSK
#define DPMAIF_PKT_ALIGN_MSK

#define DPMAIF_BAT_CHECK_THRES_MSK
#define DPMAIF_FRG_CHECK_THRES_MSK

#define DPMAIF_PKT_ALIGN_EN

#define DPMAIF_DRB_SIZE_MSK

#define DPMAIF_DL_RD_WR_IDX_MSK

/* DPMAIF_UL_CHK_BUSY */
#define DPMAIF_UL_IDLE_STS
/* DPMAIF_DL_CHK_BUSY */
#define DPMAIF_DL_IDLE_STS
/* DPMAIF_AO_DL_RDY_CHK_THRES */
#define DPMAIF_DL_PKT_CHECKSUM_EN
#define DPMAIF_PORT_MODE_PCIE
#define DPMAIF_DL_BURST_PIT_EN
/* DPMAIF_DL_BAT_INIT_CON1 */
#define DPMAIF_DL_BAT_CACHE_PRI
/* DPMAIF_AP_MEM_CLR */
#define DPMAIF_MEM_CLR
/* DPMAIF_AP_OVERWRITE_CFG */
#define DPMAIF_SRAM_SYNC
/* DPMAIF_AO_UL_INIT_SET */
#define DPMAIF_UL_INIT_DONE
/* DPMAIF_AO_DL_INIT_SET */
#define DPMAIF_DL_INIT_DONE
/* DPMAIF_AO_DL_PIT_SEQ_END */
#define DPMAIF_DL_PIT_SEQ_MSK
/* DPMAIF_UL_RESERVE_AO_RW */
#define DPMAIF_PCIE_MODE_SET_VALUE
/* DPMAIF_AP_CG_EN */
#define DPMAIF_CG_EN

#define DPMAIF_UDL_IP_BUSY
#define DPMAIF_DL_INT_DLQ0_QDONE
#define DPMAIF_DL_INT_DLQ1_QDONE
#define DPMAIF_DL_INT_DLQ0_PITCNT_LEN
#define DPMAIF_DL_INT_DLQ1_PITCNT_LEN
#define DPMAIF_DL_INT_Q2TOQ1
#define DPMAIF_DL_INT_Q2APTOP

#define DPMAIF_DLQ_LOW_TIMEOUT_THRES_MKS
#define DPMAIF_DLQ_HIGH_TIMEOUT_THRES_MSK

/* DPMAIF DLQ HW configure */
#define DPMAIF_AGG_MAX_LEN_DF
#define DPMAIF_AGG_TBL_ENT_NUM_DF
#define DPMAIF_HASH_PRIME_DF
#define DPMAIF_MID_TIMEOUT_THRES_DF
#define DPMAIF_DLQ_TIMEOUT_THRES_DF
#define DPMAIF_DLQ_PRS_THRES_DF
#define DPMAIF_DLQ_HASH_BIT_CHOOSE_DF

#define DPMAIF_DLQPIT_EN_MSK
#define DPMAIF_DLQPIT_CHAN_OFS
#define DPMAIF_ADD_DLQ_PIT_CHAN_OFS

#endif /* __T7XX_REG_H__ */