linux/drivers/net/wireless/mediatek/mt76/mt76_connac3_mac.h

/* SPDX-License-Identifier: ISC */
/* Copyright (C) 2023 MediaTek Inc. */

#ifndef __MT76_CONNAC3_MAC_H
#define __MT76_CONNAC3_MAC_H

enum {};

#define MT_CT_PARSE_LEN
#define MT_CT_DMA_BUF_NUM

#define MT_RXD0_LENGTH
#define MT_RXD0_PKT_FLAG
#define MT_RXD0_PKT_TYPE

#define MT_RXD0_MESH
#define MT_RXD0_MHCP
#define MT_RXD0_NORMAL_ETH_TYPE_OFS
#define MT_RXD0_NORMAL_IP_SUM
#define MT_RXD0_NORMAL_UDP_TCP_SUM

#define MT_RXD0_SW_PKT_TYPE_MASK
#define MT_RXD0_SW_PKT_TYPE_MAP
#define MT_RXD0_SW_PKT_TYPE_FRAME

/* RXD DW1 */
#define MT_RXD1_NORMAL_WLAN_IDX
#define MT_RXD1_NORMAL_GROUP_1
#define MT_RXD1_NORMAL_GROUP_2
#define MT_RXD1_NORMAL_GROUP_3
#define MT_RXD1_NORMAL_GROUP_4
#define MT_RXD1_NORMAL_GROUP_5
#define MT_RXD1_NORMAL_KEY_ID
#define MT_RXD1_NORMAL_CM
#define MT_RXD1_NORMAL_CLM
#define MT_RXD1_NORMAL_ICV_ERR
#define MT_RXD1_NORMAL_TKIP_MIC_ERR
#define MT_RXD1_NORMAL_BAND_IDX
#define MT_RXD1_NORMAL_SPP_EN
#define MT_RXD1_NORMAL_ADD_OM
#define MT_RXD1_NORMAL_SEC_DONE

/* RXD DW2 */
#define MT_RXD2_NORMAL_BSSID
#define MT_RXD2_NORMAL_MAC_HDR_LEN
#define MT_RXD2_NORMAL_HDR_TRANS
#define MT_RXD2_NORMAL_HDR_OFFSET
#define MT_RXD2_NORMAL_SEC_MODE
#define MT_RXD2_NORMAL_MU_BAR
#define MT_RXD2_NORMAL_SW_BIT
#define MT_RXD2_NORMAL_AMSDU_ERR
#define MT_RXD2_NORMAL_MAX_LEN_ERROR
#define MT_RXD2_NORMAL_HDR_TRANS_ERROR
#define MT_RXD2_NORMAL_INT_FRAME
#define MT_RXD2_NORMAL_FRAG
#define MT_RXD2_NORMAL_NULL_FRAME
#define MT_RXD2_NORMAL_NDATA
#define MT_RXD2_NORMAL_NON_AMPDU
#define MT_RXD2_NORMAL_BF_REPORT

/* RXD DW3 */
#define MT_RXD3_NORMAL_RXV_SEQ
#define MT_RXD3_NORMAL_CH_FREQ
#define MT_RXD3_NORMAL_ADDR_TYPE
#define MT_RXD3_NORMAL_U2M
#define MT_RXD3_NORMAL_HTC_VLD
#define MT_RXD3_NORMAL_BEACON_MC
#define MT_RXD3_NORMAL_BEACON_UC
#define MT_RXD3_NORMAL_CO_ANT
#define MT_RXD3_NORMAL_FCS_ERR
#define MT_RXD3_NORMAL_VLAN2ETH

/* RXD DW4 */
#define MT_RXD4_NORMAL_PAYLOAD_FORMAT
#define MT_RXD4_FIRST_AMSDU_FRAME
#define MT_RXD4_MID_AMSDU_FRAME
#define MT_RXD4_LAST_AMSDU_FRAME

#define MT_RXV_HDR_BAND_IDX

/* RXD GROUP4 */
#define MT_RXD8_FRAME_CONTROL

#define MT_RXD10_SEQ_CTRL
#define MT_RXD10_QOS_CTL

#define MT_RXD11_HT_CONTROL

/* P-RXV */
#define MT_PRXV_TX_RATE
#define MT_PRXV_TX_DCM
#define MT_PRXV_TX_ER_SU_106T
#define MT_PRXV_NSTS
#define MT_PRXV_TXBF
#define MT_PRXV_HT_AD_CODE
#define MT_PRXV_HE_RU_ALLOC
#define MT_PRXV_RCPI3
#define MT_PRXV_RCPI2
#define MT_PRXV_RCPI1
#define MT_PRXV_RCPI0
#define MT_PRXV_HT_SHORT_GI
#define MT_PRXV_HT_STBC
#define MT_PRXV_TX_MODE
#define MT_PRXV_FRAME_MODE
#define MT_PRXV_DCM

/* C-RXV */
#define MT_CRXV_HE_NUM_USER
#define MT_CRXV_HE_LTF_SIZE
#define MT_CRXV_HE_LDPC_EXT_SYM

#define MT_CRXV_HE_PE_DISAMBIG
#define MT_CRXV_HE_UPLINK

#define MT_CRXV_HE_MU_AID
#define MT_CRXV_HE_BEAM_CHNG

#define MT_CRXV_HE_DOPPLER
#define MT_CRXV_HE_BSS_COLOR
#define MT_CRXV_HE_TXOP_DUR

#define MT_CRXV_HE_SR_MASK
#define MT_CRXV_HE_SR1_MASK
#define MT_CRXV_HE_SR2_MASK
#define MT_CRXV_HE_SR3_MASK

#define MT_CRXV_HE_RU0
#define MT_CRXV_HE_RU1
#define MT_CRXV_HE_RU2
#define MT_CRXV_HE_RU3_L
#define MT_CRXV_HE_RU3_H

#define MT_CRXV_EHT_NUM_USER
#define MT_CRXV_EHT_LTF_SIZE
#define MT_CRXV_EHT_LDPC_EXT_SYM
#define MT_CRXV_EHT_PE_DISAMBIG
#define MT_CRXV_EHT_UPLINK
#define MT_CRXV_EHT_MU_AID
#define MT_CRXV_EHT_BEAM_CHNG
#define MT_CRXV_EHT_DOPPLER
#define MT_CRXV_EHT_BSS_COLOR
#define MT_CRXV_EHT_TXOP_DUR
#define MT_CRXV_EHT_SR_MASK
#define MT_CRXV_EHT_SR1_MASK
#define MT_CRXV_EHT_SR2_MASK
#define MT_CRXV_EHT_SR3_MASK
#define MT_CRXV_EHT_RU0
#define MT_CRXV_EHT_RU1
#define MT_CRXV_EHT_RU2
#define MT_CRXV_EHT_RU3_L
#define MT_CRXV_EHT_RU3_H
#define MT_CRXV_EHT_SIG_MCS
#define MT_CRXV_EHT_LTF_SYM

enum tx_header_format {};

enum tx_pkt_type {};

enum tx_port_idx {};

enum tx_mcu_port_q_idx {};

enum tx_mgnt_type {};

#define MT_CT_INFO_APPLY_TXD
#define MT_CT_INFO_COPY_HOST_TXD_ALL
#define MT_CT_INFO_MGMT_FRAME
#define MT_CT_INFO_NONE_CIPHER_FRAME
#define MT_CT_INFO_HSR2_TX
#define MT_CT_INFO_FROM_HOST

#define MT_TXD_SIZE

#define MT_TXD0_Q_IDX
#define MT_TXD0_PKT_FMT
#define MT_TXD0_ETH_TYPE_OFFSET
#define MT_TXD0_TX_BYTES

#define MT_TXD1_FIXED_RATE
#define MT_TXD1_OWN_MAC
#define MT_TXD1_TID
#define MT_TXD1_BIP
#define MT_TXD1_ETH_802_3
#define MT_TXD1_HDR_INFO
#define MT_TXD1_HDR_FORMAT
#define MT_TXD1_TGID
#define MT_TXD1_WLAN_IDX

#define MT_TXD2_POWER_OFFSET
#define MT_TXD2_MAX_TX_TIME
#define MT_TXD2_FRAG
#define MT_TXD2_HTC_VLD
#define MT_TXD2_DURATION
#define MT_TXD2_HDR_PAD
#define MT_TXD2_RTS
#define MT_TXD2_OWN_MAC_MAP
#define MT_TXD2_BF_TYPE
#define MT_TXD2_FRAME_TYPE
#define MT_TXD2_SUB_TYPE

#define MT_TXD3_SN_VALID
#define MT_TXD3_PN_VALID
#define MT_TXD3_SW_POWER_MGMT
#define MT_TXD3_BA_DISABLE
#define MT_TXD3_SEQ
#define MT_TXD3_REM_TX_COUNT
#define MT_TXD3_TX_COUNT
#define MT_TXD3_HW_AMSDU
#define MT_TXD3_BCM
#define MT_TXD3_EEOSP
#define MT_TXD3_EMRD
#define MT_TXD3_PROTECT_FRAME
#define MT_TXD3_NO_ACK

#define MT_TXD4_PN_LOW

#define MT_TXD5_PN_HIGH
#define MT_TXD5_FL
#define MT_TXD5_BYPASS_TBB
#define MT_TXD5_BYPASS_RBB
#define MT_TXD5_BSS_COLOR_ZERO
#define MT_TXD5_TX_STATUS_HOST
#define MT_TXD5_TX_STATUS_MCU
#define MT_TXD5_TX_STATUS_FMT
#define MT_TXD5_PID

#define MT_TXD6_TX_SRC
#define MT_TXD6_VTA
#define MT_TXD6_FIXED_BW
#define MT_TXD6_BW
#define MT_TXD6_TX_RATE
#define MT_TXD6_TIMESTAMP_OFS_EN
#define MT_TXD6_TIMESTAMP_OFS_IDX
#define MT_TXD6_MSDU_CNT
#define MT_TXD6_MSDU_CNT_V2
#define MT_TXD6_DIS_MAT
#define MT_TXD6_DAS
#define MT_TXD6_AMSDU_CAP

#define MT_TXD7_TXD_LEN
#define MT_TXD7_IP_SUM
#define MT_TXD7_DROP_BY_SDO
#define MT_TXD7_MAC_TXD
#define MT_TXD7_CTXD
#define MT_TXD7_CTXD_CNT
#define MT_TXD7_UDP_TCP_SUM
#define MT_TXD7_TX_TIME

#define MT_TXD9_WLAN_IDX

#define MT_TXP_BUF_LEN
#define MT_TXP_DMA_ADDR_H

#define MT_TX_RATE_STBC
#define MT_TX_RATE_NSS
#define MT_TX_RATE_MODE
#define MT_TX_RATE_SU_EXT_TONE
#define MT_TX_RATE_DCM
/* VHT/HE only use bits 0-3 */
#define MT_TX_RATE_IDX

#define MT_TXFREE0_PKT_TYPE
#define MT_TXFREE0_MSDU_CNT
#define MT_TXFREE0_RX_BYTE

#define MT_TXFREE1_VER

#define MT_TXFREE_INFO_PAIR
#define MT_TXFREE_INFO_HEADER
#define MT_TXFREE_INFO_WLAN_ID
#define MT_TXFREE_INFO_MSDU_ID
#define MT_TXFREE_INFO_COUNT
#define MT_TXFREE_INFO_STAT

#define MT_TXS0_BW
#define MT_TXS0_TID
#define MT_TXS0_AMPDU
#define MT_TXS0_TXS_FORMAT
#define MT_TXS0_BA_ERROR
#define MT_TXS0_PS_FLAG
#define MT_TXS0_TXOP_TIMEOUT
#define MT_TXS0_BIP_ERROR

#define MT_TXS0_QUEUE_TIMEOUT
#define MT_TXS0_RTS_TIMEOUT
#define MT_TXS0_ACK_TIMEOUT
#define MT_TXS0_ACK_ERROR_MASK

#define MT_TXS0_TX_STATUS_HOST
#define MT_TXS0_TX_STATUS_MCU
#define MT_TXS0_TX_RATE

#define MT_TXS1_SEQNO
#define MT_TXS1_RESP_RATE
#define MT_TXS1_RXV_SEQNO
#define MT_TXS1_TX_POWER_DBM

#define MT_TXS2_BF_STATUS
#define MT_TXS2_BAND
#define MT_TXS2_WCID
#define MT_TXS2_TX_DELAY

#define MT_TXS3_PID
#define MT_TXS3_RATE_STBC
#define MT_TXS3_FIXED_RATE
#define MT_TXS3_SRC
#define MT_TXS3_SHARED_ANTENNA
#define MT_TXS3_LAST_TX_RATE

#define MT_TXS4_TIMESTAMP

/* MPDU based TXS */
#define MT_TXS5_F0_FINAL_MPDU
#define MT_TXS5_F0_QOS
#define MT_TXS5_F0_TX_COUNT
#define MT_TXS5_F0_FRONT_TIME
#define MT_TXS5_F1_MPDU_TX_COUNT
#define MT_TXS5_F1_MPDU_TX_BYTES

#define MT_TXS6_F0_NOISE_3
#define MT_TXS6_F0_NOISE_2
#define MT_TXS6_F0_NOISE_1
#define MT_TXS6_F0_NOISE_0
#define MT_TXS6_F1_MPDU_FAIL_COUNT
#define MT_TXS6_F1_MPDU_FAIL_BYTES

#define MT_TXS7_F0_RCPI_3
#define MT_TXS7_F0_RCPI_2
#define MT_TXS7_F0_RCPI_1
#define MT_TXS7_F0_RCPI_0
#define MT_TXS7_F1_MPDU_RETRY_COUNT
#define MT_TXS7_F1_MPDU_RETRY_BYTES

/* PPDU based TXS */
#define MT_TXS5_MPDU_TX_CNT
#define MT_TXS5_MPDU_TX_BYTE_SCALE
#define MT_TXS5_MPDU_TX_BYTE

#define MT_TXS6_MPDU_FAIL_CNT
#define MT_TXS6_MPDU_FAIL_BYTE_SCALE
#define MT_TXS6_MPDU_FAIL_BYTE

#define MT_TXS7_MPDU_RETRY_CNT
#define MT_TXS7_MPDU_RETRY_BYTE_SCALE
#define MT_TXS7_MPDU_RETRY_BYTE

#endif /* __MT76_CONNAC3_MAC_H */