linux/drivers/net/ethernet/sfc/ef100_regs.h

/* SPDX-License-Identifier: GPL-2.0-only */
/****************************************************************************
 * Driver for Solarflare network controllers and boards
 * Copyright 2018 Solarflare Communications Inc.
 * Copyright 2019-2022 Xilinx Inc.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published
 * by the Free Software Foundation, incorporated herein by reference.
 */

#ifndef EFX_EF100_REGS_H
#define EFX_EF100_REGS_H

/* EF100 hardware architecture definitions have a name prefix following
 * the format:
 *
 *     E<type>_<min-rev><max-rev>_
 *
 * The following <type> strings are used:
 *
 *             MMIO register  Host memory structure
 * -------------------------------------------------------------
 * Address     R
 * Bitfield    RF             SF
 * Enumerator  FE             SE
 *
 * <min-rev> is the first revision to which the definition applies:
 *
 *     G: Riverhead
 *
 * If the definition has been changed or removed in later revisions
 * then <max-rev> is the last revision to which the definition applies;
 * otherwise it is "Z".
 */

/**************************************************************************
 *
 * EF100 registers and descriptors
 *
 **************************************************************************
 */

/* HW_REV_ID_REG: Hardware revision info register */
#define ER_GZ_HW_REV_ID

/* NIC_REV_ID: SoftNIC revision info register */
#define ER_GZ_NIC_REV_ID

/* NIC_MAGIC: Signature register that should contain a well-known value */
#define ER_GZ_NIC_MAGIC
#define ERF_GZ_NIC_MAGIC_LBN
#define ERF_GZ_NIC_MAGIC_WIDTH
#define EFE_GZ_NIC_MAGIC_EXPECTED

/* MC_SFT_STATUS: MC soft status */
#define ER_GZ_MC_SFT_STATUS
#define ER_GZ_MC_SFT_STATUS_STEP
#define ER_GZ_MC_SFT_STATUS_ROWS

/* MC_DB_LWRD_REG: MC doorbell register, low word */
#define ER_GZ_MC_DB_LWRD

/* MC_DB_HWRD_REG: MC doorbell register, high word */
#define ER_GZ_MC_DB_HWRD

/* EVQ_INT_PRIME: Prime EVQ */
#define ER_GZ_EVQ_INT_PRIME
#define ERF_GZ_IDX_LBN
#define ERF_GZ_IDX_WIDTH
#define ERF_GZ_EVQ_ID_LBN
#define ERF_GZ_EVQ_ID_WIDTH

/* INT_AGG_RING_PRIME: Prime interrupt aggregation ring. */
#define ER_GZ_INT_AGG_RING_PRIME
/* defined as ERF_GZ_IDX_LBN 16; access=WO reset=0x0 */
/* defined as ERF_GZ_IDX_WIDTH 16 */
#define ERF_GZ_RING_ID_LBN
#define ERF_GZ_RING_ID_WIDTH

/* EVQ_TMR: EVQ timer control */
#define ER_GZ_EVQ_TMR
#define ER_GZ_EVQ_TMR_STEP
#define ER_GZ_EVQ_TMR_ROWS

/* EVQ_UNSOL_CREDIT_GRANT_SEQ: Grant credits for unsolicited events. */
#define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ
#define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_STEP
#define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_ROWS

/* EVQ_DESC_CREDIT_GRANT_SEQ: Grant credits for descriptor proxy events. */
#define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ
#define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_STEP
#define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_ROWS

/* RX_RING_DOORBELL: Ring Rx doorbell. */
#define ER_GZ_RX_RING_DOORBELL
#define ER_GZ_RX_RING_DOORBELL_STEP
#define ER_GZ_RX_RING_DOORBELL_ROWS
#define ERF_GZ_RX_RING_PIDX_LBN
#define ERF_GZ_RX_RING_PIDX_WIDTH

/* TX_RING_DOORBELL: Ring Tx doorbell. */
#define ER_GZ_TX_RING_DOORBELL
#define ER_GZ_TX_RING_DOORBELL_STEP
#define ER_GZ_TX_RING_DOORBELL_ROWS
#define ERF_GZ_TX_RING_PIDX_LBN
#define ERF_GZ_TX_RING_PIDX_WIDTH

/* TX_DESC_PUSH: Tx ring descriptor push. Reserved for future use. */
#define ER_GZ_TX_DESC_PUSH
#define ER_GZ_TX_DESC_PUSH_STEP
#define ER_GZ_TX_DESC_PUSH_ROWS

/* THE_TIME: NIC hardware time */
#define ER_GZ_THE_TIME
#define ER_GZ_THE_TIME_STEP
#define ER_GZ_THE_TIME_ROWS
#define ERF_GZ_THE_TIME_SECS_LBN
#define ERF_GZ_THE_TIME_SECS_WIDTH
#define ERF_GZ_THE_TIME_NANOS_LBN
#define ERF_GZ_THE_TIME_NANOS_WIDTH
#define ERF_GZ_THE_TIME_CLOCK_IN_SYNC_LBN
#define ERF_GZ_THE_TIME_CLOCK_IN_SYNC_WIDTH
#define ERF_GZ_THE_TIME_CLOCK_IS_SET_LBN
#define ERF_GZ_THE_TIME_CLOCK_IS_SET_WIDTH

/* PARAMS_TLV_LEN: Size of design parameters area in bytes */
#define ER_GZ_PARAMS_TLV_LEN
#define ER_GZ_PARAMS_TLV_LEN_STEP
#define ER_GZ_PARAMS_TLV_LEN_ROWS

/* PARAMS_TLV: Design parameters */
#define ER_GZ_PARAMS_TLV
#define ER_GZ_PARAMS_TLV_STEP
#define ER_GZ_PARAMS_TLV_ROWS

/* EW_EMBEDDED_EVENT */
#define ESF_GZ_EV_256_EVENT_LBN
#define ESF_GZ_EV_256_EVENT_WIDTH
#define ESE_GZ_EW_EMBEDDED_EVENT_STRUCT_SIZE

/* NMMU_PAGESZ_2M_ADDR */
#define ESF_GZ_NMMU_2M_PAGE_SIZE_ID_LBN
#define ESF_GZ_NMMU_2M_PAGE_SIZE_ID_WIDTH
#define ESE_GZ_NMMU_PAGE_SIZE_2M
#define ESF_GZ_NMMU_2M_PAGE_ID_LBN
#define ESF_GZ_NMMU_2M_PAGE_ID_WIDTH
#define ESF_GZ_NMMU_2M_PAGE_OFFSET_LBN
#define ESF_GZ_NMMU_2M_PAGE_OFFSET_WIDTH
#define ESE_GZ_NMMU_PAGESZ_2M_ADDR_STRUCT_SIZE

/* PARAM_TLV */
#define ESF_GZ_TLV_VALUE_LBN
#define ESF_GZ_TLV_VALUE_WIDTH
#define ESE_GZ_TLV_VALUE_LENMIN
#define ESE_GZ_TLV_VALUE_LENMAX
#define ESF_GZ_TLV_LEN_LBN
#define ESF_GZ_TLV_LEN_WIDTH
#define ESF_GZ_TLV_TYPE_LBN
#define ESF_GZ_TLV_TYPE_WIDTH
#define ESE_GZ_DP_NMMU_GROUP_SIZE
#define ESE_GZ_DP_EVQ_UNSOL_CREDIT_SEQ_BITS
#define ESE_GZ_DP_TX_EV_NUM_DESCS_BITS
#define ESE_GZ_DP_RX_EV_NUM_PACKETS_BITS
#define ESE_GZ_DP_PARTIAL_TSTAMP_SUB_NANO_BITS
#define ESE_GZ_DP_PAD
#define ESE_GZ_PARAM_TLV_STRUCT_SIZE

/* PCI_EXPRESS_XCAP_HDR */
#define ESF_GZ_PCI_EXPRESS_XCAP_NEXT_LBN
#define ESF_GZ_PCI_EXPRESS_XCAP_NEXT_WIDTH
#define ESF_GZ_PCI_EXPRESS_XCAP_VER_LBN
#define ESF_GZ_PCI_EXPRESS_XCAP_VER_WIDTH
#define ESE_GZ_PCI_EXPRESS_XCAP_VER_VSEC
#define ESF_GZ_PCI_EXPRESS_XCAP_ID_LBN
#define ESF_GZ_PCI_EXPRESS_XCAP_ID_WIDTH
#define ESE_GZ_PCI_EXPRESS_XCAP_ID_VNDR
#define ESE_GZ_PCI_EXPRESS_XCAP_HDR_STRUCT_SIZE

/* RHEAD_BASE_EVENT */
#define ESF_GZ_E_TYPE_LBN
#define ESF_GZ_E_TYPE_WIDTH
#define ESF_GZ_EV_EVQ_PHASE_LBN
#define ESF_GZ_EV_EVQ_PHASE_WIDTH
#define ESE_GZ_RHEAD_BASE_EVENT_STRUCT_SIZE

/* RHEAD_EW_EVENT */
#define ESF_GZ_EV_256_EV32_PHASE_LBN
#define ESF_GZ_EV_256_EV32_PHASE_WIDTH
#define ESF_GZ_EV_256_EV32_TYPE_LBN
#define ESF_GZ_EV_256_EV32_TYPE_WIDTH
#define ESE_GZ_EF100_EVEW_VIRTQ_DESC
#define ESE_GZ_EF100_EVEW_TXQ_DESC
#define ESE_GZ_EF100_EVEW_64BIT
#define ESE_GZ_RHEAD_EW_EVENT_STRUCT_SIZE

/* RX_DESC */
#define ESF_GZ_RX_BUF_ADDR_LBN
#define ESF_GZ_RX_BUF_ADDR_WIDTH
#define ESE_GZ_RX_DESC_STRUCT_SIZE

/* TXQ_DESC_PROXY_EVENT */
#define ESF_GZ_EV_TXQ_DP_VI_ID_LBN
#define ESF_GZ_EV_TXQ_DP_VI_ID_WIDTH
#define ESF_GZ_EV_TXQ_DP_TXQ_DESC_LBN
#define ESF_GZ_EV_TXQ_DP_TXQ_DESC_WIDTH
#define ESE_GZ_TXQ_DESC_PROXY_EVENT_STRUCT_SIZE

/* TX_DESC_TYPE */
#define ESF_GZ_TX_DESC_TYPE_LBN
#define ESF_GZ_TX_DESC_TYPE_WIDTH
#define ESE_GZ_TX_DESC_TYPE_DESC2CMPT
#define ESE_GZ_TX_DESC_TYPE_MEM2MEM
#define ESE_GZ_TX_DESC_TYPE_SEG
#define ESE_GZ_TX_DESC_TYPE_TSO
#define ESE_GZ_TX_DESC_TYPE_PREFIX
#define ESE_GZ_TX_DESC_TYPE_SEND
#define ESE_GZ_TX_DESC_TYPE_STRUCT_SIZE

/* VIRTQ_DESC_PROXY_EVENT */
#define ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_LBN
#define ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_WIDTH
#define ESF_GZ_EV_VQ_DP_VI_ID_LBN
#define ESF_GZ_EV_VQ_DP_VI_ID_WIDTH
#define ESF_GZ_EV_VQ_DP_VIRTQ_DESC_LBN
#define ESF_GZ_EV_VQ_DP_VIRTQ_DESC_WIDTH
#define ESE_GZ_VIRTQ_DESC_PROXY_EVENT_STRUCT_SIZE

/* XIL_CFGBAR_TBL_ENTRY */
#define ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_LBN
#define ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_WIDTH
#define ESF_GZ_CFGBAR_CONT_CAP_OFFSET_LBN
#define ESF_GZ_CFGBAR_CONT_CAP_OFFSET_WIDTH
#define ESE_GZ_CONT_CAP_OFFSET_BYTES_SHIFT
#define ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_LBN
#define ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_WIDTH
#define ESE_GZ_EF100_FUNC_CTL_WIN_OFF_SHIFT
#define ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_LBN
#define ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_WIDTH
#define ESF_GZ_CFGBAR_CONT_CAP_RSV_LBN
#define ESF_GZ_CFGBAR_CONT_CAP_RSV_WIDTH
#define ESF_GZ_CFGBAR_EF100_BAR_LBN
#define ESF_GZ_CFGBAR_EF100_BAR_WIDTH
#define ESE_GZ_CFGBAR_EF100_BAR_NUM_INVALID
#define ESE_GZ_CFGBAR_EF100_BAR_NUM_EXPANSION_ROM
#define ESF_GZ_CFGBAR_CONT_CAP_BAR_LBN
#define ESF_GZ_CFGBAR_CONT_CAP_BAR_WIDTH
#define ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_INVALID
#define ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_EXPANSION_ROM
#define ESF_GZ_CFGBAR_ENTRY_SIZE_LBN
#define ESF_GZ_CFGBAR_ENTRY_SIZE_WIDTH
#define ESE_GZ_CFGBAR_ENTRY_SIZE_EF100
#define ESE_GZ_CFGBAR_ENTRY_HEADER_SIZE
#define ESF_GZ_CFGBAR_ENTRY_LAST_LBN
#define ESF_GZ_CFGBAR_ENTRY_LAST_WIDTH
#define ESF_GZ_CFGBAR_ENTRY_REV_LBN
#define ESF_GZ_CFGBAR_ENTRY_REV_WIDTH
#define ESE_GZ_CFGBAR_ENTRY_REV_EF100
#define ESF_GZ_CFGBAR_ENTRY_FORMAT_LBN
#define ESF_GZ_CFGBAR_ENTRY_FORMAT_WIDTH
#define ESE_GZ_CFGBAR_ENTRY_LAST
#define ESE_GZ_CFGBAR_ENTRY_CONT_CAP_ADDR
#define ESE_GZ_CFGBAR_ENTRY_EF100
#define ESE_GZ_XIL_CFGBAR_TBL_ENTRY_STRUCT_SIZE

/* XIL_CFGBAR_VSEC */
#define ESF_GZ_VSEC_TBL_OFF_HI_LBN
#define ESF_GZ_VSEC_TBL_OFF_HI_WIDTH
#define ESE_GZ_VSEC_TBL_OFF_HI_BYTES_SHIFT
#define ESF_GZ_VSEC_TBL_OFF_LO_LBN
#define ESF_GZ_VSEC_TBL_OFF_LO_WIDTH
#define ESE_GZ_VSEC_TBL_OFF_LO_BYTES_SHIFT
#define ESF_GZ_VSEC_TBL_BAR_LBN
#define ESF_GZ_VSEC_TBL_BAR_WIDTH
#define ESE_GZ_VSEC_BAR_NUM_INVALID
#define ESE_GZ_VSEC_BAR_NUM_EXPANSION_ROM
#define ESF_GZ_VSEC_LEN_LBN
#define ESF_GZ_VSEC_LEN_WIDTH
#define ESE_GZ_VSEC_LEN_HIGH_OFFT
#define ESE_GZ_VSEC_LEN_MIN
#define ESF_GZ_VSEC_VER_LBN
#define ESF_GZ_VSEC_VER_WIDTH
#define ESE_GZ_VSEC_VER_XIL_CFGBAR
#define ESF_GZ_VSEC_ID_LBN
#define ESF_GZ_VSEC_ID_WIDTH
#define ESE_GZ_XILINX_VSEC_ID
#define ESE_GZ_XIL_CFGBAR_VSEC_STRUCT_SIZE

/* rh_egres_hclass */
#define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_WIDTH
#define ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_LBN
#define ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_WIDTH
#define ESE_GZ_RH_EGRES_HCLASS_STRUCT_SIZE

/* sf_driver */
#define ESF_GZ_DRIVER_E_TYPE_LBN
#define ESF_GZ_DRIVER_E_TYPE_WIDTH
#define ESF_GZ_DRIVER_PHASE_LBN
#define ESF_GZ_DRIVER_PHASE_WIDTH
#define ESF_GZ_DRIVER_DATA_LBN
#define ESF_GZ_DRIVER_DATA_WIDTH
#define ESE_GZ_SF_DRIVER_STRUCT_SIZE

/* sf_ev_rsvd */
#define ESF_GZ_EV_RSVD_TBD_NEXT_LBN
#define ESF_GZ_EV_RSVD_TBD_NEXT_WIDTH
#define ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_LBN
#define ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_WIDTH
#define ESF_GZ_EV_RSVD_SRC_QID_LBN
#define ESF_GZ_EV_RSVD_SRC_QID_WIDTH
#define ESF_GZ_EV_RSVD_SEQ_NUM_LBN
#define ESF_GZ_EV_RSVD_SEQ_NUM_WIDTH
#define ESF_GZ_EV_RSVD_TBD_LBN
#define ESF_GZ_EV_RSVD_TBD_WIDTH
#define ESE_GZ_SF_EV_RSVD_STRUCT_SIZE

/* sf_flush_evnt */
#define ESF_GZ_EV_FLSH_E_TYPE_LBN
#define ESF_GZ_EV_FLSH_E_TYPE_WIDTH
#define ESF_GZ_EV_FLSH_PHASE_LBN
#define ESF_GZ_EV_FLSH_PHASE_WIDTH
#define ESF_GZ_EV_FLSH_SUB_TYPE_LBN
#define ESF_GZ_EV_FLSH_SUB_TYPE_WIDTH
#define ESF_GZ_EV_FLSH_RSVD_LBN
#define ESF_GZ_EV_FLSH_RSVD_WIDTH
#define ESF_GZ_EV_FLSH_LABEL_LBN
#define ESF_GZ_EV_FLSH_LABEL_WIDTH
#define ESF_GZ_EV_FLSH_FLUSH_TYPE_LBN
#define ESF_GZ_EV_FLSH_FLUSH_TYPE_WIDTH
#define ESE_GZ_SF_FLUSH_EVNT_STRUCT_SIZE

/* sf_rx_pkts */
#define ESF_GZ_EV_RXPKTS_E_TYPE_LBN
#define ESF_GZ_EV_RXPKTS_E_TYPE_WIDTH
#define ESF_GZ_EV_RXPKTS_PHASE_LBN
#define ESF_GZ_EV_RXPKTS_PHASE_WIDTH
#define ESF_GZ_EV_RXPKTS_RSVD_LBN
#define ESF_GZ_EV_RXPKTS_RSVD_WIDTH
#define ESF_GZ_EV_RXPKTS_Q_LABEL_LBN
#define ESF_GZ_EV_RXPKTS_Q_LABEL_WIDTH
#define ESF_GZ_EV_RXPKTS_NUM_PKT_LBN
#define ESF_GZ_EV_RXPKTS_NUM_PKT_WIDTH
#define ESE_GZ_SF_RX_PKTS_STRUCT_SIZE

/* sf_rx_prefix */
#define ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_LBN
#define ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_WIDTH
#define ESF_GZ_RX_PREFIX_CSUM_FRAME_LBN
#define ESF_GZ_RX_PREFIX_CSUM_FRAME_WIDTH
#define ESF_GZ_RX_PREFIX_INGRESS_MPORT_LBN
#define ESF_GZ_RX_PREFIX_INGRESS_MPORT_WIDTH
#define ESF_GZ_RX_PREFIX_USER_MARK_LBN
#define ESF_GZ_RX_PREFIX_USER_MARK_WIDTH
#define ESF_GZ_RX_PREFIX_RSS_HASH_LBN
#define ESF_GZ_RX_PREFIX_RSS_HASH_WIDTH
#define ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_LBN
#define ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_WIDTH
#define ESF_GZ_RX_PREFIX_VSWITCH_STATUS_LBN
#define ESF_GZ_RX_PREFIX_VSWITCH_STATUS_WIDTH
#define ESF_GZ_RX_PREFIX_VLAN_STRIPPED_LBN
#define ESF_GZ_RX_PREFIX_VLAN_STRIPPED_WIDTH
#define ESF_GZ_RX_PREFIX_CLASS_LBN
#define ESF_GZ_RX_PREFIX_CLASS_WIDTH
#define ESF_GZ_RX_PREFIX_USER_FLAG_LBN
#define ESF_GZ_RX_PREFIX_USER_FLAG_WIDTH
#define ESF_GZ_RX_PREFIX_RSS_HASH_VALID_LBN
#define ESF_GZ_RX_PREFIX_RSS_HASH_VALID_WIDTH
#define ESF_GZ_RX_PREFIX_LENGTH_LBN
#define ESF_GZ_RX_PREFIX_LENGTH_WIDTH
#define ESE_GZ_SF_RX_PREFIX_STRUCT_SIZE

/* sf_rxtx_generic */
#define ESF_GZ_EV_BARRIER_LBN
#define ESF_GZ_EV_BARRIER_WIDTH
#define ESF_GZ_EV_RSVD_LBN
#define ESF_GZ_EV_RSVD_WIDTH
#define ESF_GZ_EV_DPRXY_LBN
#define ESF_GZ_EV_DPRXY_WIDTH
#define ESF_GZ_EV_VIRTIO_LBN
#define ESF_GZ_EV_VIRTIO_WIDTH
#define ESF_GZ_EV_COUNT_LBN
#define ESF_GZ_EV_COUNT_WIDTH
#define ESE_GZ_SF_RXTX_GENERIC_STRUCT_SIZE

/* sf_ts_stamp */
#define ESF_GZ_EV_TS_E_TYPE_LBN
#define ESF_GZ_EV_TS_E_TYPE_WIDTH
#define ESF_GZ_EV_TS_PHASE_LBN
#define ESF_GZ_EV_TS_PHASE_WIDTH
#define ESF_GZ_EV_TS_RSVD_LBN
#define ESF_GZ_EV_TS_RSVD_WIDTH
#define ESF_GZ_EV_TS_STATUS_LBN
#define ESF_GZ_EV_TS_STATUS_WIDTH
#define ESF_GZ_EV_TS_Q_LABEL_LBN
#define ESF_GZ_EV_TS_Q_LABEL_WIDTH
#define ESF_GZ_EV_TS_DESC_ID_LBN
#define ESF_GZ_EV_TS_DESC_ID_WIDTH
#define ESF_GZ_EV_TS_PARTIAL_STAMP_LBN
#define ESF_GZ_EV_TS_PARTIAL_STAMP_WIDTH
#define ESE_GZ_SF_TS_STAMP_STRUCT_SIZE

/* sf_tx_cmplt */
#define ESF_GZ_EV_TXCMPL_E_TYPE_LBN
#define ESF_GZ_EV_TXCMPL_E_TYPE_WIDTH
#define ESF_GZ_EV_TXCMPL_PHASE_LBN
#define ESF_GZ_EV_TXCMPL_PHASE_WIDTH
#define ESF_GZ_EV_TXCMPL_RSVD_LBN
#define ESF_GZ_EV_TXCMPL_RSVD_WIDTH
#define ESF_GZ_EV_TXCMPL_Q_LABEL_LBN
#define ESF_GZ_EV_TXCMPL_Q_LABEL_WIDTH
#define ESF_GZ_EV_TXCMPL_NUM_DESC_LBN
#define ESF_GZ_EV_TXCMPL_NUM_DESC_WIDTH
#define ESE_GZ_SF_TX_CMPLT_STRUCT_SIZE

/* sf_tx_desc2cmpt_dsc_fmt */
#define ESF_GZ_D2C_TGT_VI_ID_LBN
#define ESF_GZ_D2C_TGT_VI_ID_WIDTH
#define ESF_GZ_D2C_CMPT2_LBN
#define ESF_GZ_D2C_CMPT2_WIDTH
#define ESF_GZ_D2C_ABS_VI_ID_LBN
#define ESF_GZ_D2C_ABS_VI_ID_WIDTH
#define ESF_GZ_D2C_ORDERED_LBN
#define ESF_GZ_D2C_ORDERED_WIDTH
#define ESF_GZ_D2C_SKIP_N_LBN
#define ESF_GZ_D2C_SKIP_N_WIDTH
#define ESF_GZ_D2C_RSVD_LBN
#define ESF_GZ_D2C_RSVD_WIDTH
#define ESF_GZ_D2C_COMPLETION_LBN
#define ESF_GZ_D2C_COMPLETION_WIDTH
#define ESE_GZ_SF_TX_DESC2CMPT_DSC_FMT_STRUCT_SIZE

/* sf_tx_mem2mem_dsc_fmt */
#define ESF_GZ_M2M_ADDR_SPC_EN_LBN
#define ESF_GZ_M2M_ADDR_SPC_EN_WIDTH
#define ESF_GZ_M2M_TRANSLATE_ADDR_LBN
#define ESF_GZ_M2M_TRANSLATE_ADDR_WIDTH
#define ESF_GZ_M2M_RSVD_LBN
#define ESF_GZ_M2M_RSVD_WIDTH
#define ESF_GZ_M2M_ADDR_SPC_ID_LBN
#define ESF_GZ_M2M_ADDR_SPC_ID_WIDTH
#define ESF_GZ_M2M_LEN_MINUS_1_LBN
#define ESF_GZ_M2M_LEN_MINUS_1_WIDTH
#define ESF_GZ_M2M_ADDR_LBN
#define ESF_GZ_M2M_ADDR_WIDTH
#define ESE_GZ_SF_TX_MEM2MEM_DSC_FMT_STRUCT_SIZE

/* sf_tx_ovr_dsc_fmt */
#define ESF_GZ_TX_PREFIX_MARK_EN_LBN
#define ESF_GZ_TX_PREFIX_MARK_EN_WIDTH
#define ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_LBN
#define ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_WIDTH
#define ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_LBN
#define ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_WIDTH
#define ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_LBN
#define ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_WIDTH
#define ESF_GZ_TX_PREFIX_RSRVD_LBN
#define ESF_GZ_TX_PREFIX_RSRVD_WIDTH
#define ESF_GZ_TX_PREFIX_EGRESS_MPORT_LBN
#define ESF_GZ_TX_PREFIX_EGRESS_MPORT_WIDTH
#define ESF_GZ_TX_PREFIX_INGRESS_MPORT_LBN
#define ESF_GZ_TX_PREFIX_INGRESS_MPORT_WIDTH
#define ESF_GZ_TX_PREFIX_MARK_LBN
#define ESF_GZ_TX_PREFIX_MARK_WIDTH
#define ESE_GZ_SF_TX_OVR_DSC_FMT_STRUCT_SIZE

/* sf_tx_seg_dsc_fmt */
#define ESF_GZ_TX_SEG_ADDR_SPC_EN_LBN
#define ESF_GZ_TX_SEG_ADDR_SPC_EN_WIDTH
#define ESF_GZ_TX_SEG_TRANSLATE_ADDR_LBN
#define ESF_GZ_TX_SEG_TRANSLATE_ADDR_WIDTH
#define ESF_GZ_TX_SEG_RSVD2_LBN
#define ESF_GZ_TX_SEG_RSVD2_WIDTH
#define ESF_GZ_TX_SEG_ADDR_SPC_ID_LBN
#define ESF_GZ_TX_SEG_ADDR_SPC_ID_WIDTH
#define ESF_GZ_TX_SEG_RSVD_LBN
#define ESF_GZ_TX_SEG_RSVD_WIDTH
#define ESF_GZ_TX_SEG_LEN_LBN
#define ESF_GZ_TX_SEG_LEN_WIDTH
#define ESF_GZ_TX_SEG_ADDR_LBN
#define ESF_GZ_TX_SEG_ADDR_WIDTH
#define ESE_GZ_SF_TX_SEG_DSC_FMT_STRUCT_SIZE

/* sf_tx_std_dsc_fmt */
#define ESF_GZ_TX_SEND_VLAN_INSERT_TCI_LBN
#define ESF_GZ_TX_SEND_VLAN_INSERT_TCI_WIDTH
#define ESF_GZ_TX_SEND_VLAN_INSERT_EN_LBN
#define ESF_GZ_TX_SEND_VLAN_INSERT_EN_WIDTH
#define ESF_GZ_TX_SEND_TSTAMP_REQ_LBN
#define ESF_GZ_TX_SEND_TSTAMP_REQ_WIDTH
#define ESF_GZ_TX_SEND_CSO_OUTER_L4_LBN
#define ESF_GZ_TX_SEND_CSO_OUTER_L4_WIDTH
#define ESF_GZ_TX_SEND_CSO_OUTER_L3_LBN
#define ESF_GZ_TX_SEND_CSO_OUTER_L3_WIDTH
#define ESF_GZ_TX_SEND_CSO_INNER_L3_LBN
#define ESF_GZ_TX_SEND_CSO_INNER_L3_WIDTH
#define ESF_GZ_TX_SEND_RSVD_LBN
#define ESF_GZ_TX_SEND_RSVD_WIDTH
#define ESF_GZ_TX_SEND_CSO_PARTIAL_EN_LBN
#define ESF_GZ_TX_SEND_CSO_PARTIAL_EN_WIDTH
#define ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_LBN
#define ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_WIDTH
#define ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_LBN
#define ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_WIDTH
#define ESF_GZ_TX_SEND_NUM_SEGS_LBN
#define ESF_GZ_TX_SEND_NUM_SEGS_WIDTH
#define ESF_GZ_TX_SEND_LEN_LBN
#define ESF_GZ_TX_SEND_LEN_WIDTH
#define ESF_GZ_TX_SEND_ADDR_LBN
#define ESF_GZ_TX_SEND_ADDR_WIDTH
#define ESE_GZ_SF_TX_STD_DSC_FMT_STRUCT_SIZE

/* sf_tx_tso_dsc_fmt */
#define ESF_GZ_TX_TSO_VLAN_INSERT_TCI_LBN
#define ESF_GZ_TX_TSO_VLAN_INSERT_TCI_WIDTH
#define ESF_GZ_TX_TSO_VLAN_INSERT_EN_LBN
#define ESF_GZ_TX_TSO_VLAN_INSERT_EN_WIDTH
#define ESF_GZ_TX_TSO_TSTAMP_REQ_LBN
#define ESF_GZ_TX_TSO_TSTAMP_REQ_WIDTH
#define ESF_GZ_TX_TSO_CSO_OUTER_L4_LBN
#define ESF_GZ_TX_TSO_CSO_OUTER_L4_WIDTH
#define ESF_GZ_TX_TSO_CSO_OUTER_L3_LBN
#define ESF_GZ_TX_TSO_CSO_OUTER_L3_WIDTH
#define ESF_GZ_TX_TSO_CSO_INNER_L3_LBN
#define ESF_GZ_TX_TSO_CSO_INNER_L3_WIDTH
#define ESF_GZ_TX_TSO_RSVD_LBN
#define ESF_GZ_TX_TSO_RSVD_WIDTH
#define ESF_GZ_TX_TSO_CSO_INNER_L4_LBN
#define ESF_GZ_TX_TSO_CSO_INNER_L4_WIDTH
#define ESF_GZ_TX_TSO_INNER_L4_OFF_W_LBN
#define ESF_GZ_TX_TSO_INNER_L4_OFF_W_WIDTH
#define ESF_GZ_TX_TSO_INNER_L3_OFF_W_LBN
#define ESF_GZ_TX_TSO_INNER_L3_OFF_W_WIDTH
#define ESF_GZ_TX_TSO_OUTER_L4_OFF_W_LBN
#define ESF_GZ_TX_TSO_OUTER_L4_OFF_W_WIDTH
#define ESF_GZ_TX_TSO_OUTER_L3_OFF_W_LBN
#define ESF_GZ_TX_TSO_OUTER_L3_OFF_W_WIDTH
#define ESF_GZ_TX_TSO_PAYLOAD_LEN_LBN
#define ESF_GZ_TX_TSO_PAYLOAD_LEN_WIDTH
#define ESF_GZ_TX_TSO_HDR_LEN_W_LBN
#define ESF_GZ_TX_TSO_HDR_LEN_W_WIDTH
#define ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_LBN
#define ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_WIDTH
#define ESF_GZ_TX_TSO_ED_INNER_IP_LEN_LBN
#define ESF_GZ_TX_TSO_ED_INNER_IP_LEN_WIDTH
#define ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_LBN
#define ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_WIDTH
#define ESF_GZ_TX_TSO_ED_INNER_IP4_ID_LBN
#define ESF_GZ_TX_TSO_ED_INNER_IP4_ID_WIDTH
#define ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_LBN
#define ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_WIDTH
#define ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_LBN
#define ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_WIDTH
#define ESF_GZ_TX_TSO_HDR_NUM_SEGS_LBN
#define ESF_GZ_TX_TSO_HDR_NUM_SEGS_WIDTH
#define ESF_GZ_TX_TSO_MSS_LBN
#define ESF_GZ_TX_TSO_MSS_WIDTH
#define ESE_GZ_SF_TX_TSO_DSC_FMT_STRUCT_SIZE


/* Enum D2VIO_MSG_OP */
#define ESE_GZ_QUE_JBDNE
#define ESE_GZ_QUE_EVICT
#define ESE_GZ_QUE_EMPTY
#define ESE_GZ_NOP

/* Enum DESIGN_PARAMS */
#define ESE_EF100_DP_GZ_RX_MAX_RUNT
#define ESE_EF100_DP_GZ_VI_STRIDES
#define ESE_EF100_DP_GZ_NMMU_PAGE_SIZES
#define ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS
#define ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN
#define ESE_EF100_DP_GZ_COMPAT
#define ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES
#define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS
#define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN
#define ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY
#define ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY
#define ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS
#define ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN
#define ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS
#define ESE_EF100_DP_GZ_NMMU_GROUP_SIZE
#define ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS
#define ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS
#define ESE_EF100_DP_GZ_PAD

/* Enum DESIGN_PARAM_DEFAULTS */
#define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN_DEFAULT
#define ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES_DEFAULT
#define ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN_DEFAULT
#define ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS_DEFAULT
#define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS_DEFAULT
#define ESE_EF100_DP_GZ_RX_MAX_RUNT_DEFAULT
#define ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS_DEFAULT
#define ESE_EF100_DP_GZ_NMMU_PAGE_SIZES_DEFAULT
#define ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN_DEFAULT
#define ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY_DEFAULT
#define ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY_DEFAULT
#define ESE_EF100_DP_GZ_NMMU_GROUP_SIZE_DEFAULT
#define ESE_EF100_DP_GZ_VI_STRIDES_DEFAULT
#define ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS_DEFAULT
#define ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS_DEFAULT
#define ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS_DEFAULT
#define ESE_EF100_DP_GZ_COMPAT_DEFAULT

/* Enum HOST_IF_CONSTANTS */
#define ESE_GZ_FCW_LEN
#define ESE_GZ_RX_PKT_PREFIX_LEN

/* Enum PCI_CONSTANTS */
#define ESE_GZ_PCI_BASE_CONFIG_SPACE_SIZE
#define ESE_GZ_PCI_EXPRESS_XCAP_HDR_SIZE

/* Enum RH_DSC_TYPE */
#define ESE_GZ_TX_TOMB
#define ESE_GZ_TX_VIO
#define ESE_GZ_TX_TSO_OVRRD
#define ESE_GZ_TX_D2CMP
#define ESE_GZ_TX_DATA
#define ESE_GZ_TX_D2M
#define ESE_GZ_TX_M2M
#define ESE_GZ_TX_SEG
#define ESE_GZ_TX_TSO
#define ESE_GZ_TX_OVRRD
#define ESE_GZ_TX_SEND

/* Enum RH_HCLASS_L2_CLASS */
#define ESE_GZ_RH_HCLASS_L2_CLASS_E2_0123VLAN
#define ESE_GZ_RH_HCLASS_L2_CLASS_OTHER

/* Enum RH_HCLASS_L2_STATUS */
#define ESE_GZ_RH_HCLASS_L2_STATUS_RESERVED
#define ESE_GZ_RH_HCLASS_L2_STATUS_FCS_ERR
#define ESE_GZ_RH_HCLASS_L2_STATUS_LEN_ERR
#define ESE_GZ_RH_HCLASS_L2_STATUS_OK

/* Enum RH_HCLASS_L3_CLASS */
#define ESE_GZ_RH_HCLASS_L3_CLASS_OTHER
#define ESE_GZ_RH_HCLASS_L3_CLASS_IP6
#define ESE_GZ_RH_HCLASS_L3_CLASS_IP4BAD
#define ESE_GZ_RH_HCLASS_L3_CLASS_IP4GOOD

/* Enum RH_HCLASS_L4_CLASS */
#define ESE_GZ_RH_HCLASS_L4_CLASS_OTHER
#define ESE_GZ_RH_HCLASS_L4_CLASS_FRAG
#define ESE_GZ_RH_HCLASS_L4_CLASS_UDP
#define ESE_GZ_RH_HCLASS_L4_CLASS_TCP

/* Enum RH_HCLASS_L4_CSUM */
#define ESE_GZ_RH_HCLASS_L4_CSUM_GOOD
#define ESE_GZ_RH_HCLASS_L4_CSUM_BAD_OR_UNKNOWN

/* Enum RH_HCLASS_TUNNEL_CLASS */
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_7
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_6
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_5
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_4
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_GENEVE
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NVGRE
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_VXLAN
#define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NONE

/* Enum SF_CTL_EVENT_SUBTYPE */
#define ESE_GZ_EF100_CTL_EV_EVQ_TIMEOUT
#define ESE_GZ_EF100_CTL_EV_FLUSH
#define ESE_GZ_EF100_CTL_EV_TIME_SYNC
#define ESE_GZ_EF100_CTL_EV_UNSOL_OVERFLOW

/* Enum SF_EVENT_TYPE */
#define ESE_GZ_EF100_EV_DRIVER
#define ESE_GZ_EF100_EV_MCDI
#define ESE_GZ_EF100_EV_CONTROL
#define ESE_GZ_EF100_EV_TX_TIMESTAMP
#define ESE_GZ_EF100_EV_TX_COMPLETION
#define ESE_GZ_EF100_EV_RX_PKTS

/* Enum SF_EW_EVENT_TYPE */
#define ESE_GZ_EF100_EWEV_VIRTQ_DESC
#define ESE_GZ_EF100_EWEV_TXQ_DESC
#define ESE_GZ_EF100_EWEV_64BIT

/* Enum TX_DESC_CSO_PARTIAL_EN */
#define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_TCP
#define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_UDP
#define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_OFF

/* Enum TX_DESC_CS_INNER_L3 */
#define ESE_GZ_TX_DESC_CS_INNER_L3_GENEVE
#define ESE_GZ_TX_DESC_CS_INNER_L3_NVGRE
#define ESE_GZ_TX_DESC_CS_INNER_L3_VXLAN
#define ESE_GZ_TX_DESC_CS_INNER_L3_OFF

/* Enum TX_DESC_IP4_ID */
#define ESE_GZ_TX_DESC_IP4_ID_INC_MOD16
#define ESE_GZ_TX_DESC_IP4_ID_INC_MOD15
#define ESE_GZ_TX_DESC_IP4_ID_NO_OP

/* Enum VIRTIO_NET_HDR_F */
#define ESE_GZ_NEEDS_CSUM

/* Enum VIRTIO_NET_HDR_GSO */
#define ESE_GZ_TCPV6
#define ESE_GZ_UDP
#define ESE_GZ_TCPV4
#define ESE_GZ_NONE
/**************************************************************************/

#define ESF_GZ_EV_DEBUG_EVENT_GEN_FLAGS_LBN
#define ESF_GZ_EV_DEBUG_EVENT_GEN_FLAGS_WIDTH
#define ESF_GZ_EV_DEBUG_SRC_QID_LBN
#define ESF_GZ_EV_DEBUG_SRC_QID_WIDTH
#define ESF_GZ_EV_DEBUG_SEQ_NUM_LBN
#define ESF_GZ_EV_DEBUG_SEQ_NUM_WIDTH

#endif /* EFX_EF100_REGS_H */