1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /**************************************************************************** 3*4882a593Smuzhiyun * Driver for Solarflare network controllers and boards 4*4882a593Smuzhiyun * Copyright 2018 Solarflare Communications Inc. 5*4882a593Smuzhiyun * Copyright 2019-2020 Xilinx Inc. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify it 8*4882a593Smuzhiyun * under the terms of the GNU General Public License version 2 as published 9*4882a593Smuzhiyun * by the Free Software Foundation, incorporated herein by reference. 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef EFX_EF100_REGS_H 13*4882a593Smuzhiyun #define EFX_EF100_REGS_H 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /* EF100 hardware architecture definitions have a name prefix following 16*4882a593Smuzhiyun * the format: 17*4882a593Smuzhiyun * 18*4882a593Smuzhiyun * E<type>_<min-rev><max-rev>_ 19*4882a593Smuzhiyun * 20*4882a593Smuzhiyun * The following <type> strings are used: 21*4882a593Smuzhiyun * 22*4882a593Smuzhiyun * MMIO register Host memory structure 23*4882a593Smuzhiyun * ------------------------------------------------------------- 24*4882a593Smuzhiyun * Address R 25*4882a593Smuzhiyun * Bitfield RF SF 26*4882a593Smuzhiyun * Enumerator FE SE 27*4882a593Smuzhiyun * 28*4882a593Smuzhiyun * <min-rev> is the first revision to which the definition applies: 29*4882a593Smuzhiyun * 30*4882a593Smuzhiyun * G: Riverhead 31*4882a593Smuzhiyun * 32*4882a593Smuzhiyun * If the definition has been changed or removed in later revisions 33*4882a593Smuzhiyun * then <max-rev> is the last revision to which the definition applies; 34*4882a593Smuzhiyun * otherwise it is "Z". 35*4882a593Smuzhiyun */ 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun /************************************************************************** 38*4882a593Smuzhiyun * 39*4882a593Smuzhiyun * EF100 registers and descriptors 40*4882a593Smuzhiyun * 41*4882a593Smuzhiyun ************************************************************************** 42*4882a593Smuzhiyun */ 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun /* HW_REV_ID_REG: Hardware revision info register */ 45*4882a593Smuzhiyun #define ER_GZ_HW_REV_ID 0x00000000 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun /* NIC_REV_ID: SoftNIC revision info register */ 48*4882a593Smuzhiyun #define ER_GZ_NIC_REV_ID 0x00000004 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun /* NIC_MAGIC: Signature register that should contain a well-known value */ 51*4882a593Smuzhiyun #define ER_GZ_NIC_MAGIC 0x00000008 52*4882a593Smuzhiyun #define ERF_GZ_NIC_MAGIC_LBN 0 53*4882a593Smuzhiyun #define ERF_GZ_NIC_MAGIC_WIDTH 32 54*4882a593Smuzhiyun #define EFE_GZ_NIC_MAGIC_EXPECTED 0xEF100FCB 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun /* MC_SFT_STATUS: MC soft status */ 57*4882a593Smuzhiyun #define ER_GZ_MC_SFT_STATUS 0x00000010 58*4882a593Smuzhiyun #define ER_GZ_MC_SFT_STATUS_STEP 4 59*4882a593Smuzhiyun #define ER_GZ_MC_SFT_STATUS_ROWS 2 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* MC_DB_LWRD_REG: MC doorbell register, low word */ 62*4882a593Smuzhiyun #define ER_GZ_MC_DB_LWRD 0x00000020 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun /* MC_DB_HWRD_REG: MC doorbell register, high word */ 65*4882a593Smuzhiyun #define ER_GZ_MC_DB_HWRD 0x00000024 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun /* EVQ_INT_PRIME: Prime EVQ */ 68*4882a593Smuzhiyun #define ER_GZ_EVQ_INT_PRIME 0x00000040 69*4882a593Smuzhiyun #define ERF_GZ_IDX_LBN 16 70*4882a593Smuzhiyun #define ERF_GZ_IDX_WIDTH 16 71*4882a593Smuzhiyun #define ERF_GZ_EVQ_ID_LBN 0 72*4882a593Smuzhiyun #define ERF_GZ_EVQ_ID_WIDTH 16 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun /* INT_AGG_RING_PRIME: Prime interrupt aggregation ring. */ 75*4882a593Smuzhiyun #define ER_GZ_INT_AGG_RING_PRIME 0x00000048 76*4882a593Smuzhiyun /* defined as ERF_GZ_IDX_LBN 16; access=WO reset=0x0 */ 77*4882a593Smuzhiyun /* defined as ERF_GZ_IDX_WIDTH 16 */ 78*4882a593Smuzhiyun #define ERF_GZ_RING_ID_LBN 0 79*4882a593Smuzhiyun #define ERF_GZ_RING_ID_WIDTH 16 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun /* EVQ_TMR: EVQ timer control */ 82*4882a593Smuzhiyun #define ER_GZ_EVQ_TMR 0x00000104 83*4882a593Smuzhiyun #define ER_GZ_EVQ_TMR_STEP 65536 84*4882a593Smuzhiyun #define ER_GZ_EVQ_TMR_ROWS 1024 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun /* EVQ_UNSOL_CREDIT_GRANT_SEQ: Grant credits for unsolicited events. */ 87*4882a593Smuzhiyun #define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ 0x00000108 88*4882a593Smuzhiyun #define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_STEP 65536 89*4882a593Smuzhiyun #define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_ROWS 1024 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun /* EVQ_DESC_CREDIT_GRANT_SEQ: Grant credits for descriptor proxy events. */ 92*4882a593Smuzhiyun #define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ 0x00000110 93*4882a593Smuzhiyun #define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_STEP 65536 94*4882a593Smuzhiyun #define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_ROWS 1024 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun /* RX_RING_DOORBELL: Ring Rx doorbell. */ 97*4882a593Smuzhiyun #define ER_GZ_RX_RING_DOORBELL 0x00000180 98*4882a593Smuzhiyun #define ER_GZ_RX_RING_DOORBELL_STEP 65536 99*4882a593Smuzhiyun #define ER_GZ_RX_RING_DOORBELL_ROWS 1024 100*4882a593Smuzhiyun #define ERF_GZ_RX_RING_PIDX_LBN 16 101*4882a593Smuzhiyun #define ERF_GZ_RX_RING_PIDX_WIDTH 16 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun /* TX_RING_DOORBELL: Ring Tx doorbell. */ 104*4882a593Smuzhiyun #define ER_GZ_TX_RING_DOORBELL 0x00000200 105*4882a593Smuzhiyun #define ER_GZ_TX_RING_DOORBELL_STEP 65536 106*4882a593Smuzhiyun #define ER_GZ_TX_RING_DOORBELL_ROWS 1024 107*4882a593Smuzhiyun #define ERF_GZ_TX_RING_PIDX_LBN 16 108*4882a593Smuzhiyun #define ERF_GZ_TX_RING_PIDX_WIDTH 16 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun /* TX_DESC_PUSH: Tx ring descriptor push. Reserved for future use. */ 111*4882a593Smuzhiyun #define ER_GZ_TX_DESC_PUSH 0x00000210 112*4882a593Smuzhiyun #define ER_GZ_TX_DESC_PUSH_STEP 65536 113*4882a593Smuzhiyun #define ER_GZ_TX_DESC_PUSH_ROWS 1024 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun /* THE_TIME: NIC hardware time */ 116*4882a593Smuzhiyun #define ER_GZ_THE_TIME 0x00000280 117*4882a593Smuzhiyun #define ER_GZ_THE_TIME_STEP 65536 118*4882a593Smuzhiyun #define ER_GZ_THE_TIME_ROWS 1024 119*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_SECS_LBN 32 120*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_SECS_WIDTH 32 121*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_NANOS_LBN 2 122*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_NANOS_WIDTH 30 123*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_CLOCK_IN_SYNC_LBN 1 124*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_CLOCK_IN_SYNC_WIDTH 1 125*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_CLOCK_IS_SET_LBN 0 126*4882a593Smuzhiyun #define ERF_GZ_THE_TIME_CLOCK_IS_SET_WIDTH 1 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun /* PARAMS_TLV_LEN: Size of design parameters area in bytes */ 129*4882a593Smuzhiyun #define ER_GZ_PARAMS_TLV_LEN 0x00000c00 130*4882a593Smuzhiyun #define ER_GZ_PARAMS_TLV_LEN_STEP 65536 131*4882a593Smuzhiyun #define ER_GZ_PARAMS_TLV_LEN_ROWS 1024 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun /* PARAMS_TLV: Design parameters */ 134*4882a593Smuzhiyun #define ER_GZ_PARAMS_TLV 0x00000c04 135*4882a593Smuzhiyun #define ER_GZ_PARAMS_TLV_STEP 65536 136*4882a593Smuzhiyun #define ER_GZ_PARAMS_TLV_ROWS 1024 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun /* EW_EMBEDDED_EVENT */ 139*4882a593Smuzhiyun #define ESF_GZ_EV_256_EVENT_LBN 0 140*4882a593Smuzhiyun #define ESF_GZ_EV_256_EVENT_WIDTH 64 141*4882a593Smuzhiyun #define ESE_GZ_EW_EMBEDDED_EVENT_STRUCT_SIZE 64 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun /* NMMU_PAGESZ_2M_ADDR */ 144*4882a593Smuzhiyun #define ESF_GZ_NMMU_2M_PAGE_SIZE_ID_LBN 59 145*4882a593Smuzhiyun #define ESF_GZ_NMMU_2M_PAGE_SIZE_ID_WIDTH 5 146*4882a593Smuzhiyun #define ESE_GZ_NMMU_PAGE_SIZE_2M 9 147*4882a593Smuzhiyun #define ESF_GZ_NMMU_2M_PAGE_ID_LBN 21 148*4882a593Smuzhiyun #define ESF_GZ_NMMU_2M_PAGE_ID_WIDTH 38 149*4882a593Smuzhiyun #define ESF_GZ_NMMU_2M_PAGE_OFFSET_LBN 0 150*4882a593Smuzhiyun #define ESF_GZ_NMMU_2M_PAGE_OFFSET_WIDTH 21 151*4882a593Smuzhiyun #define ESE_GZ_NMMU_PAGESZ_2M_ADDR_STRUCT_SIZE 64 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun /* PARAM_TLV */ 154*4882a593Smuzhiyun #define ESF_GZ_TLV_VALUE_LBN 16 155*4882a593Smuzhiyun #define ESF_GZ_TLV_VALUE_WIDTH 8 156*4882a593Smuzhiyun #define ESE_GZ_TLV_VALUE_LENMIN 8 157*4882a593Smuzhiyun #define ESE_GZ_TLV_VALUE_LENMAX 2040 158*4882a593Smuzhiyun #define ESF_GZ_TLV_LEN_LBN 8 159*4882a593Smuzhiyun #define ESF_GZ_TLV_LEN_WIDTH 8 160*4882a593Smuzhiyun #define ESF_GZ_TLV_TYPE_LBN 0 161*4882a593Smuzhiyun #define ESF_GZ_TLV_TYPE_WIDTH 8 162*4882a593Smuzhiyun #define ESE_GZ_DP_NMMU_GROUP_SIZE 5 163*4882a593Smuzhiyun #define ESE_GZ_DP_EVQ_UNSOL_CREDIT_SEQ_BITS 4 164*4882a593Smuzhiyun #define ESE_GZ_DP_TX_EV_NUM_DESCS_BITS 3 165*4882a593Smuzhiyun #define ESE_GZ_DP_RX_EV_NUM_PACKETS_BITS 2 166*4882a593Smuzhiyun #define ESE_GZ_DP_PARTIAL_TSTAMP_SUB_NANO_BITS 1 167*4882a593Smuzhiyun #define ESE_GZ_DP_PAD 0 168*4882a593Smuzhiyun #define ESE_GZ_PARAM_TLV_STRUCT_SIZE 24 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun /* PCI_EXPRESS_XCAP_HDR */ 171*4882a593Smuzhiyun #define ESF_GZ_PCI_EXPRESS_XCAP_NEXT_LBN 20 172*4882a593Smuzhiyun #define ESF_GZ_PCI_EXPRESS_XCAP_NEXT_WIDTH 12 173*4882a593Smuzhiyun #define ESF_GZ_PCI_EXPRESS_XCAP_VER_LBN 16 174*4882a593Smuzhiyun #define ESF_GZ_PCI_EXPRESS_XCAP_VER_WIDTH 4 175*4882a593Smuzhiyun #define ESE_GZ_PCI_EXPRESS_XCAP_VER_VSEC 1 176*4882a593Smuzhiyun #define ESF_GZ_PCI_EXPRESS_XCAP_ID_LBN 0 177*4882a593Smuzhiyun #define ESF_GZ_PCI_EXPRESS_XCAP_ID_WIDTH 16 178*4882a593Smuzhiyun #define ESE_GZ_PCI_EXPRESS_XCAP_ID_VNDR 0xb 179*4882a593Smuzhiyun #define ESE_GZ_PCI_EXPRESS_XCAP_HDR_STRUCT_SIZE 32 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun /* RHEAD_BASE_EVENT */ 182*4882a593Smuzhiyun #define ESF_GZ_E_TYPE_LBN 60 183*4882a593Smuzhiyun #define ESF_GZ_E_TYPE_WIDTH 4 184*4882a593Smuzhiyun #define ESE_GZ_EF100_EV_DRIVER 5 185*4882a593Smuzhiyun #define ESE_GZ_EF100_EV_MCDI 4 186*4882a593Smuzhiyun #define ESE_GZ_EF100_EV_CONTROL 3 187*4882a593Smuzhiyun #define ESE_GZ_EF100_EV_TX_TIMESTAMP 2 188*4882a593Smuzhiyun #define ESE_GZ_EF100_EV_TX_COMPLETION 1 189*4882a593Smuzhiyun #define ESE_GZ_EF100_EV_RX_PKTS 0 190*4882a593Smuzhiyun #define ESF_GZ_EV_EVQ_PHASE_LBN 59 191*4882a593Smuzhiyun #define ESF_GZ_EV_EVQ_PHASE_WIDTH 1 192*4882a593Smuzhiyun #define ESE_GZ_RHEAD_BASE_EVENT_STRUCT_SIZE 64 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun /* RHEAD_EW_EVENT */ 195*4882a593Smuzhiyun #define ESF_GZ_EV_256_EV32_PHASE_LBN 255 196*4882a593Smuzhiyun #define ESF_GZ_EV_256_EV32_PHASE_WIDTH 1 197*4882a593Smuzhiyun #define ESF_GZ_EV_256_EV32_TYPE_LBN 251 198*4882a593Smuzhiyun #define ESF_GZ_EV_256_EV32_TYPE_WIDTH 4 199*4882a593Smuzhiyun #define ESE_GZ_EF100_EVEW_VIRTQ_DESC 2 200*4882a593Smuzhiyun #define ESE_GZ_EF100_EVEW_TXQ_DESC 1 201*4882a593Smuzhiyun #define ESE_GZ_EF100_EVEW_64BIT 0 202*4882a593Smuzhiyun #define ESE_GZ_RHEAD_EW_EVENT_STRUCT_SIZE 256 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun /* RX_DESC */ 205*4882a593Smuzhiyun #define ESF_GZ_RX_BUF_ADDR_LBN 0 206*4882a593Smuzhiyun #define ESF_GZ_RX_BUF_ADDR_WIDTH 64 207*4882a593Smuzhiyun #define ESE_GZ_RX_DESC_STRUCT_SIZE 64 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun /* TXQ_DESC_PROXY_EVENT */ 210*4882a593Smuzhiyun #define ESF_GZ_EV_TXQ_DP_VI_ID_LBN 128 211*4882a593Smuzhiyun #define ESF_GZ_EV_TXQ_DP_VI_ID_WIDTH 16 212*4882a593Smuzhiyun #define ESF_GZ_EV_TXQ_DP_TXQ_DESC_LBN 0 213*4882a593Smuzhiyun #define ESF_GZ_EV_TXQ_DP_TXQ_DESC_WIDTH 128 214*4882a593Smuzhiyun #define ESE_GZ_TXQ_DESC_PROXY_EVENT_STRUCT_SIZE 144 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun /* TX_DESC_TYPE */ 217*4882a593Smuzhiyun #define ESF_GZ_TX_DESC_TYPE_LBN 124 218*4882a593Smuzhiyun #define ESF_GZ_TX_DESC_TYPE_WIDTH 4 219*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_TYPE_DESC2CMPT 7 220*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_TYPE_MEM2MEM 4 221*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_TYPE_SEG 3 222*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_TYPE_TSO 2 223*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_TYPE_PREFIX 1 224*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_TYPE_SEND 0 225*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_TYPE_STRUCT_SIZE 128 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun /* VIRTQ_DESC_PROXY_EVENT */ 228*4882a593Smuzhiyun #define ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_LBN 144 229*4882a593Smuzhiyun #define ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_WIDTH 16 230*4882a593Smuzhiyun #define ESF_GZ_EV_VQ_DP_VI_ID_LBN 128 231*4882a593Smuzhiyun #define ESF_GZ_EV_VQ_DP_VI_ID_WIDTH 16 232*4882a593Smuzhiyun #define ESF_GZ_EV_VQ_DP_VIRTQ_DESC_LBN 0 233*4882a593Smuzhiyun #define ESF_GZ_EV_VQ_DP_VIRTQ_DESC_WIDTH 128 234*4882a593Smuzhiyun #define ESE_GZ_VIRTQ_DESC_PROXY_EVENT_STRUCT_SIZE 160 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun /* XIL_CFGBAR_TBL_ENTRY */ 237*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_LBN 96 238*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_WIDTH 32 239*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_OFFSET_LBN 68 240*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_OFFSET_WIDTH 60 241*4882a593Smuzhiyun #define ESE_GZ_CONT_CAP_OFFSET_BYTES_SHIFT 4 242*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_LBN 67 243*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_WIDTH 29 244*4882a593Smuzhiyun #define ESE_GZ_EF100_FUNC_CTL_WIN_OFF_SHIFT 4 245*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_LBN 68 246*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_WIDTH 28 247*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_RSV_LBN 67 248*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_RSV_WIDTH 1 249*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_EF100_BAR_LBN 64 250*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_EF100_BAR_WIDTH 3 251*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_EF100_BAR_NUM_INVALID 7 252*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_EF100_BAR_NUM_EXPANSION_ROM 6 253*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_BAR_LBN 64 254*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_CONT_CAP_BAR_WIDTH 3 255*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_INVALID 7 256*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_EXPANSION_ROM 6 257*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_SIZE_LBN 32 258*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_SIZE_WIDTH 32 259*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_ENTRY_SIZE_EF100 12 260*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_ENTRY_HEADER_SIZE 8 261*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_LAST_LBN 28 262*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_LAST_WIDTH 1 263*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_REV_LBN 20 264*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_REV_WIDTH 8 265*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_ENTRY_REV_EF100 0 266*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_FORMAT_LBN 0 267*4882a593Smuzhiyun #define ESF_GZ_CFGBAR_ENTRY_FORMAT_WIDTH 20 268*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_ENTRY_LAST 0xfffff 269*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_ENTRY_CONT_CAP_ADDR 0xffffe 270*4882a593Smuzhiyun #define ESE_GZ_CFGBAR_ENTRY_EF100 0xef100 271*4882a593Smuzhiyun #define ESE_GZ_XIL_CFGBAR_TBL_ENTRY_STRUCT_SIZE 128 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun /* XIL_CFGBAR_VSEC */ 274*4882a593Smuzhiyun #define ESF_GZ_VSEC_TBL_OFF_HI_LBN 64 275*4882a593Smuzhiyun #define ESF_GZ_VSEC_TBL_OFF_HI_WIDTH 32 276*4882a593Smuzhiyun #define ESE_GZ_VSEC_TBL_OFF_HI_BYTES_SHIFT 32 277*4882a593Smuzhiyun #define ESF_GZ_VSEC_TBL_OFF_LO_LBN 36 278*4882a593Smuzhiyun #define ESF_GZ_VSEC_TBL_OFF_LO_WIDTH 28 279*4882a593Smuzhiyun #define ESE_GZ_VSEC_TBL_OFF_LO_BYTES_SHIFT 4 280*4882a593Smuzhiyun #define ESF_GZ_VSEC_TBL_BAR_LBN 32 281*4882a593Smuzhiyun #define ESF_GZ_VSEC_TBL_BAR_WIDTH 4 282*4882a593Smuzhiyun #define ESE_GZ_VSEC_BAR_NUM_INVALID 7 283*4882a593Smuzhiyun #define ESE_GZ_VSEC_BAR_NUM_EXPANSION_ROM 6 284*4882a593Smuzhiyun #define ESF_GZ_VSEC_LEN_LBN 20 285*4882a593Smuzhiyun #define ESF_GZ_VSEC_LEN_WIDTH 12 286*4882a593Smuzhiyun #define ESE_GZ_VSEC_LEN_HIGH_OFFT 16 287*4882a593Smuzhiyun #define ESE_GZ_VSEC_LEN_MIN 12 288*4882a593Smuzhiyun #define ESF_GZ_VSEC_VER_LBN 16 289*4882a593Smuzhiyun #define ESF_GZ_VSEC_VER_WIDTH 4 290*4882a593Smuzhiyun #define ESE_GZ_VSEC_VER_XIL_CFGBAR 0 291*4882a593Smuzhiyun #define ESF_GZ_VSEC_ID_LBN 0 292*4882a593Smuzhiyun #define ESF_GZ_VSEC_ID_WIDTH 16 293*4882a593Smuzhiyun #define ESE_GZ_XILINX_VSEC_ID 0x20 294*4882a593Smuzhiyun #define ESE_GZ_XIL_CFGBAR_VSEC_STRUCT_SIZE 96 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun /* rh_egres_hclass */ 297*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_LBN 15 298*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_WIDTH 1 299*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_LBN 13 300*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_WIDTH 2 301*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_LBN 12 302*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_WIDTH 1 303*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_LBN 10 304*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_WIDTH 2 305*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_LBN 8 306*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_WIDTH 2 307*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_LBN 5 308*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_WIDTH 3 309*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_LBN 3 310*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_WIDTH 2 311*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_LBN 2 312*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_WIDTH 1 313*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_LBN 0 314*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_WIDTH 2 315*4882a593Smuzhiyun #define ESE_GZ_RH_EGRES_HCLASS_STRUCT_SIZE 16 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun /* sf_driver */ 318*4882a593Smuzhiyun #define ESF_GZ_DRIVER_E_TYPE_LBN 60 319*4882a593Smuzhiyun #define ESF_GZ_DRIVER_E_TYPE_WIDTH 4 320*4882a593Smuzhiyun #define ESF_GZ_DRIVER_PHASE_LBN 59 321*4882a593Smuzhiyun #define ESF_GZ_DRIVER_PHASE_WIDTH 1 322*4882a593Smuzhiyun #define ESF_GZ_DRIVER_DATA_LBN 0 323*4882a593Smuzhiyun #define ESF_GZ_DRIVER_DATA_WIDTH 59 324*4882a593Smuzhiyun #define ESE_GZ_SF_DRIVER_STRUCT_SIZE 64 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun /* sf_ev_rsvd */ 327*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_TBD_NEXT_LBN 34 328*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_TBD_NEXT_WIDTH 3 329*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_LBN 30 330*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_WIDTH 4 331*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_SRC_QID_LBN 18 332*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_SRC_QID_WIDTH 12 333*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_SEQ_NUM_LBN 2 334*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_SEQ_NUM_WIDTH 16 335*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_TBD_LBN 0 336*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_TBD_WIDTH 2 337*4882a593Smuzhiyun #define ESE_GZ_SF_EV_RSVD_STRUCT_SIZE 37 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun /* sf_flush_evnt */ 340*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_E_TYPE_LBN 60 341*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_E_TYPE_WIDTH 4 342*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_PHASE_LBN 59 343*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_PHASE_WIDTH 1 344*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_SUB_TYPE_LBN 53 345*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_SUB_TYPE_WIDTH 6 346*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_RSVD_LBN 10 347*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_RSVD_WIDTH 43 348*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_LABEL_LBN 4 349*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_LABEL_WIDTH 6 350*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_FLUSH_TYPE_LBN 0 351*4882a593Smuzhiyun #define ESF_GZ_EV_FLSH_FLUSH_TYPE_WIDTH 4 352*4882a593Smuzhiyun #define ESE_GZ_SF_FLUSH_EVNT_STRUCT_SIZE 64 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun /* sf_rx_pkts */ 355*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_E_TYPE_LBN 60 356*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_E_TYPE_WIDTH 4 357*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_PHASE_LBN 59 358*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_PHASE_WIDTH 1 359*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_RSVD_LBN 22 360*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_RSVD_WIDTH 37 361*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_Q_LABEL_LBN 16 362*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_Q_LABEL_WIDTH 6 363*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_NUM_PKT_LBN 0 364*4882a593Smuzhiyun #define ESF_GZ_EV_RXPKTS_NUM_PKT_WIDTH 16 365*4882a593Smuzhiyun #define ESE_GZ_SF_RX_PKTS_STRUCT_SIZE 64 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun /* sf_rx_prefix */ 368*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_LBN 160 369*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_WIDTH 16 370*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_CSUM_FRAME_LBN 144 371*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_CSUM_FRAME_WIDTH 16 372*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_INGRESS_VPORT_LBN 128 373*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_INGRESS_VPORT_WIDTH 16 374*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_USER_MARK_LBN 96 375*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_USER_MARK_WIDTH 32 376*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_RSS_HASH_LBN 64 377*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_RSS_HASH_WIDTH 32 378*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_LBN 32 379*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_WIDTH 32 380*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_CLASS_LBN 16 381*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_CLASS_WIDTH 16 382*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_USER_FLAG_LBN 15 383*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_USER_FLAG_WIDTH 1 384*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_RSS_HASH_VALID_LBN 14 385*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_RSS_HASH_VALID_WIDTH 1 386*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_LENGTH_LBN 0 387*4882a593Smuzhiyun #define ESF_GZ_RX_PREFIX_LENGTH_WIDTH 14 388*4882a593Smuzhiyun #define ESE_GZ_SF_RX_PREFIX_STRUCT_SIZE 176 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun /* sf_rxtx_generic */ 391*4882a593Smuzhiyun #define ESF_GZ_EV_BARRIER_LBN 167 392*4882a593Smuzhiyun #define ESF_GZ_EV_BARRIER_WIDTH 1 393*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_LBN 130 394*4882a593Smuzhiyun #define ESF_GZ_EV_RSVD_WIDTH 37 395*4882a593Smuzhiyun #define ESF_GZ_EV_DPRXY_LBN 129 396*4882a593Smuzhiyun #define ESF_GZ_EV_DPRXY_WIDTH 1 397*4882a593Smuzhiyun #define ESF_GZ_EV_VIRTIO_LBN 128 398*4882a593Smuzhiyun #define ESF_GZ_EV_VIRTIO_WIDTH 1 399*4882a593Smuzhiyun #define ESF_GZ_EV_COUNT_LBN 0 400*4882a593Smuzhiyun #define ESF_GZ_EV_COUNT_WIDTH 128 401*4882a593Smuzhiyun #define ESE_GZ_SF_RXTX_GENERIC_STRUCT_SIZE 168 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun /* sf_ts_stamp */ 404*4882a593Smuzhiyun #define ESF_GZ_EV_TS_E_TYPE_LBN 60 405*4882a593Smuzhiyun #define ESF_GZ_EV_TS_E_TYPE_WIDTH 4 406*4882a593Smuzhiyun #define ESF_GZ_EV_TS_PHASE_LBN 59 407*4882a593Smuzhiyun #define ESF_GZ_EV_TS_PHASE_WIDTH 1 408*4882a593Smuzhiyun #define ESF_GZ_EV_TS_RSVD_LBN 56 409*4882a593Smuzhiyun #define ESF_GZ_EV_TS_RSVD_WIDTH 3 410*4882a593Smuzhiyun #define ESF_GZ_EV_TS_STATUS_LBN 54 411*4882a593Smuzhiyun #define ESF_GZ_EV_TS_STATUS_WIDTH 2 412*4882a593Smuzhiyun #define ESF_GZ_EV_TS_Q_LABEL_LBN 48 413*4882a593Smuzhiyun #define ESF_GZ_EV_TS_Q_LABEL_WIDTH 6 414*4882a593Smuzhiyun #define ESF_GZ_EV_TS_DESC_ID_LBN 32 415*4882a593Smuzhiyun #define ESF_GZ_EV_TS_DESC_ID_WIDTH 16 416*4882a593Smuzhiyun #define ESF_GZ_EV_TS_PARTIAL_STAMP_LBN 0 417*4882a593Smuzhiyun #define ESF_GZ_EV_TS_PARTIAL_STAMP_WIDTH 32 418*4882a593Smuzhiyun #define ESE_GZ_SF_TS_STAMP_STRUCT_SIZE 64 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun /* sf_tx_cmplt */ 421*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_E_TYPE_LBN 60 422*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_E_TYPE_WIDTH 4 423*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_PHASE_LBN 59 424*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_PHASE_WIDTH 1 425*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_RSVD_LBN 22 426*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_RSVD_WIDTH 37 427*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_Q_LABEL_LBN 16 428*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_Q_LABEL_WIDTH 6 429*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_NUM_DESC_LBN 0 430*4882a593Smuzhiyun #define ESF_GZ_EV_TXCMPL_NUM_DESC_WIDTH 16 431*4882a593Smuzhiyun #define ESE_GZ_SF_TX_CMPLT_STRUCT_SIZE 64 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun /* sf_tx_desc2cmpt_dsc_fmt */ 434*4882a593Smuzhiyun #define ESF_GZ_D2C_TGT_VI_ID_LBN 108 435*4882a593Smuzhiyun #define ESF_GZ_D2C_TGT_VI_ID_WIDTH 16 436*4882a593Smuzhiyun #define ESF_GZ_D2C_CMPT2_LBN 107 437*4882a593Smuzhiyun #define ESF_GZ_D2C_CMPT2_WIDTH 1 438*4882a593Smuzhiyun #define ESF_GZ_D2C_ABS_VI_ID_LBN 106 439*4882a593Smuzhiyun #define ESF_GZ_D2C_ABS_VI_ID_WIDTH 1 440*4882a593Smuzhiyun #define ESF_GZ_D2C_ORDERED_LBN 105 441*4882a593Smuzhiyun #define ESF_GZ_D2C_ORDERED_WIDTH 1 442*4882a593Smuzhiyun #define ESF_GZ_D2C_SKIP_N_LBN 97 443*4882a593Smuzhiyun #define ESF_GZ_D2C_SKIP_N_WIDTH 8 444*4882a593Smuzhiyun #define ESF_GZ_D2C_RSVD_LBN 64 445*4882a593Smuzhiyun #define ESF_GZ_D2C_RSVD_WIDTH 33 446*4882a593Smuzhiyun #define ESF_GZ_D2C_COMPLETION_LBN 0 447*4882a593Smuzhiyun #define ESF_GZ_D2C_COMPLETION_WIDTH 64 448*4882a593Smuzhiyun #define ESE_GZ_SF_TX_DESC2CMPT_DSC_FMT_STRUCT_SIZE 124 449*4882a593Smuzhiyun 450*4882a593Smuzhiyun /* sf_tx_mem2mem_dsc_fmt */ 451*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_EN_LBN 123 452*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_EN_WIDTH 1 453*4882a593Smuzhiyun #define ESF_GZ_M2M_TRANSLATE_ADDR_LBN 122 454*4882a593Smuzhiyun #define ESF_GZ_M2M_TRANSLATE_ADDR_WIDTH 1 455*4882a593Smuzhiyun #define ESF_GZ_M2M_RSVD_LBN 120 456*4882a593Smuzhiyun #define ESF_GZ_M2M_RSVD_WIDTH 2 457*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_LBN 108 458*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_WIDTH 12 459*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_PASID_LBN 86 460*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_PASID_WIDTH 22 461*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_MODE_LBN 84 462*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_SPC_MODE_WIDTH 2 463*4882a593Smuzhiyun #define ESF_GZ_M2M_LEN_MINUS_1_LBN 64 464*4882a593Smuzhiyun #define ESF_GZ_M2M_LEN_MINUS_1_WIDTH 20 465*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_LBN 0 466*4882a593Smuzhiyun #define ESF_GZ_M2M_ADDR_WIDTH 64 467*4882a593Smuzhiyun #define ESE_GZ_SF_TX_MEM2MEM_DSC_FMT_STRUCT_SIZE 124 468*4882a593Smuzhiyun 469*4882a593Smuzhiyun /* sf_tx_ovr_dsc_fmt */ 470*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_MARK_EN_LBN 123 471*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_MARK_EN_WIDTH 1 472*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_LBN 122 473*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_WIDTH 1 474*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_LBN 121 475*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_WIDTH 1 476*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_LBN 120 477*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_WIDTH 1 478*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_RSRVD_LBN 64 479*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_RSRVD_WIDTH 56 480*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_LBN 48 481*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_WIDTH 16 482*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_LBN 32 483*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_WIDTH 16 484*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_MARK_LBN 0 485*4882a593Smuzhiyun #define ESF_GZ_TX_PREFIX_MARK_WIDTH 32 486*4882a593Smuzhiyun #define ESE_GZ_SF_TX_OVR_DSC_FMT_STRUCT_SIZE 124 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun /* sf_tx_seg_dsc_fmt */ 489*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_EN_LBN 123 490*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_EN_WIDTH 1 491*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_TRANSLATE_ADDR_LBN 122 492*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_TRANSLATE_ADDR_WIDTH 1 493*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_RSVD2_LBN 120 494*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_RSVD2_WIDTH 2 495*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_LBN 108 496*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_WIDTH 12 497*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_PASID_LBN 86 498*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_PASID_WIDTH 22 499*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_MODE_LBN 84 500*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_SPC_MODE_WIDTH 2 501*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_RSVD_LBN 80 502*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_RSVD_WIDTH 4 503*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_LEN_LBN 64 504*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_LEN_WIDTH 16 505*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_LBN 0 506*4882a593Smuzhiyun #define ESF_GZ_TX_SEG_ADDR_WIDTH 64 507*4882a593Smuzhiyun #define ESE_GZ_SF_TX_SEG_DSC_FMT_STRUCT_SIZE 124 508*4882a593Smuzhiyun 509*4882a593Smuzhiyun /* sf_tx_std_dsc_fmt */ 510*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_VLAN_INSERT_TCI_LBN 108 511*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_VLAN_INSERT_TCI_WIDTH 16 512*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_VLAN_INSERT_EN_LBN 107 513*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_VLAN_INSERT_EN_WIDTH 1 514*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_TSTAMP_REQ_LBN 106 515*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_TSTAMP_REQ_WIDTH 1 516*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_OUTER_L4_LBN 105 517*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_OUTER_L4_WIDTH 1 518*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_OUTER_L3_LBN 104 519*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_OUTER_L3_WIDTH 1 520*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_INNER_L3_LBN 101 521*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_INNER_L3_WIDTH 3 522*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_RSVD_LBN 99 523*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_RSVD_WIDTH 2 524*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_PARTIAL_EN_LBN 97 525*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_PARTIAL_EN_WIDTH 2 526*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_LBN 92 527*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_WIDTH 5 528*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_LBN 83 529*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_WIDTH 9 530*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_NUM_SEGS_LBN 78 531*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_NUM_SEGS_WIDTH 5 532*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_LEN_LBN 64 533*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_LEN_WIDTH 14 534*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_ADDR_LBN 0 535*4882a593Smuzhiyun #define ESF_GZ_TX_SEND_ADDR_WIDTH 64 536*4882a593Smuzhiyun #define ESE_GZ_SF_TX_STD_DSC_FMT_STRUCT_SIZE 124 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun /* sf_tx_tso_dsc_fmt */ 539*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_VLAN_INSERT_TCI_LBN 108 540*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_VLAN_INSERT_TCI_WIDTH 16 541*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_VLAN_INSERT_EN_LBN 107 542*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_VLAN_INSERT_EN_WIDTH 1 543*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_TSTAMP_REQ_LBN 106 544*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_TSTAMP_REQ_WIDTH 1 545*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_OUTER_L4_LBN 105 546*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_OUTER_L4_WIDTH 1 547*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_OUTER_L3_LBN 104 548*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_OUTER_L3_WIDTH 1 549*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_INNER_L3_LBN 101 550*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_INNER_L3_WIDTH 3 551*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_RSVD_LBN 94 552*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_RSVD_WIDTH 7 553*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_INNER_L4_LBN 93 554*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_CSO_INNER_L4_WIDTH 1 555*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_INNER_L4_OFF_W_LBN 85 556*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_INNER_L4_OFF_W_WIDTH 8 557*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_INNER_L3_OFF_W_LBN 77 558*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_INNER_L3_OFF_W_WIDTH 8 559*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_OUTER_L4_OFF_W_LBN 69 560*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_OUTER_L4_OFF_W_WIDTH 8 561*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_OUTER_L3_OFF_W_LBN 64 562*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_OUTER_L3_OFF_W_WIDTH 5 563*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_PAYLOAD_LEN_LBN 42 564*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_PAYLOAD_LEN_WIDTH 22 565*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_HDR_LEN_W_LBN 34 566*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_HDR_LEN_W_WIDTH 8 567*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_LBN 33 568*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_WIDTH 1 569*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_INNER_IP_LEN_LBN 32 570*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_INNER_IP_LEN_WIDTH 1 571*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_LBN 31 572*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_WIDTH 1 573*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_INNER_IP4_ID_LBN 29 574*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_INNER_IP4_ID_WIDTH 2 575*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_LBN 27 576*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_WIDTH 2 577*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_LBN 17 578*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_WIDTH 10 579*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_HDR_NUM_SEGS_LBN 14 580*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_HDR_NUM_SEGS_WIDTH 3 581*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_MSS_LBN 0 582*4882a593Smuzhiyun #define ESF_GZ_TX_TSO_MSS_WIDTH 14 583*4882a593Smuzhiyun #define ESE_GZ_SF_TX_TSO_DSC_FMT_STRUCT_SIZE 124 584*4882a593Smuzhiyun 585*4882a593Smuzhiyun 586*4882a593Smuzhiyun /* Enum DESIGN_PARAMS */ 587*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_RX_MAX_RUNT 17 588*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_VI_STRIDES 16 589*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_NMMU_PAGE_SIZES 15 590*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS 14 591*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN 13 592*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_COMPAT 12 593*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES 11 594*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS 10 595*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN 9 596*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY 8 597*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY 7 598*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS 6 599*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN 5 600*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS 4 601*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_NMMU_GROUP_SIZE 3 602*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS 2 603*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS 1 604*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_PAD 0 605*4882a593Smuzhiyun 606*4882a593Smuzhiyun /* Enum DESIGN_PARAM_DEFAULTS */ 607*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN_DEFAULT 0x3fffff 608*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES_DEFAULT 8192 609*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN_DEFAULT 8192 610*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS_DEFAULT 0x1106 611*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS_DEFAULT 0x3ff 612*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_RX_MAX_RUNT_DEFAULT 640 613*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS_DEFAULT 512 614*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_NMMU_PAGE_SIZES_DEFAULT 512 615*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN_DEFAULT 192 616*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY_DEFAULT 64 617*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY_DEFAULT 64 618*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_NMMU_GROUP_SIZE_DEFAULT 32 619*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_VI_STRIDES_DEFAULT 16 620*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS_DEFAULT 7 621*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS_DEFAULT 4 622*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS_DEFAULT 2 623*4882a593Smuzhiyun #define ESE_EF100_DP_GZ_COMPAT_DEFAULT 0 624*4882a593Smuzhiyun 625*4882a593Smuzhiyun /* Enum HOST_IF_CONSTANTS */ 626*4882a593Smuzhiyun #define ESE_GZ_FCW_LEN 0x4C 627*4882a593Smuzhiyun #define ESE_GZ_RX_PKT_PREFIX_LEN 22 628*4882a593Smuzhiyun 629*4882a593Smuzhiyun /* Enum PCI_CONSTANTS */ 630*4882a593Smuzhiyun #define ESE_GZ_PCI_BASE_CONFIG_SPACE_SIZE 256 631*4882a593Smuzhiyun #define ESE_GZ_PCI_EXPRESS_XCAP_HDR_SIZE 4 632*4882a593Smuzhiyun 633*4882a593Smuzhiyun /* Enum RH_HCLASS_L2_CLASS */ 634*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L2_CLASS_E2_0123VLAN 1 635*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L2_CLASS_OTHER 0 636*4882a593Smuzhiyun 637*4882a593Smuzhiyun /* Enum RH_HCLASS_L2_STATUS */ 638*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L2_STATUS_RESERVED 3 639*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L2_STATUS_FCS_ERR 2 640*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L2_STATUS_LEN_ERR 1 641*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L2_STATUS_OK 0 642*4882a593Smuzhiyun 643*4882a593Smuzhiyun /* Enum RH_HCLASS_L3_CLASS */ 644*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L3_CLASS_OTHER 3 645*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L3_CLASS_IP6 2 646*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L3_CLASS_IP4BAD 1 647*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L3_CLASS_IP4GOOD 0 648*4882a593Smuzhiyun 649*4882a593Smuzhiyun /* Enum RH_HCLASS_L4_CLASS */ 650*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L4_CLASS_OTHER 3 651*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L4_CLASS_FRAG 2 652*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L4_CLASS_UDP 1 653*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L4_CLASS_TCP 0 654*4882a593Smuzhiyun 655*4882a593Smuzhiyun /* Enum RH_HCLASS_L4_CSUM */ 656*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L4_CSUM_GOOD 1 657*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_L4_CSUM_BAD_OR_UNKNOWN 0 658*4882a593Smuzhiyun 659*4882a593Smuzhiyun /* Enum RH_HCLASS_TUNNEL_CLASS */ 660*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_7 7 661*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_6 6 662*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_5 5 663*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_4 4 664*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_GENEVE 3 665*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NVGRE 2 666*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_VXLAN 1 667*4882a593Smuzhiyun #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NONE 0 668*4882a593Smuzhiyun 669*4882a593Smuzhiyun /* Enum TX_DESC_CSO_PARTIAL_EN */ 670*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_TCP 2 671*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_UDP 1 672*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_OFF 0 673*4882a593Smuzhiyun 674*4882a593Smuzhiyun /* Enum TX_DESC_CS_INNER_L3 */ 675*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_CS_INNER_L3_GENEVE 3 676*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_CS_INNER_L3_NVGRE 2 677*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_CS_INNER_L3_VXLAN 1 678*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_CS_INNER_L3_OFF 0 679*4882a593Smuzhiyun 680*4882a593Smuzhiyun /* Enum TX_DESC_IP4_ID */ 681*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_IP4_ID_INC_MOD16 2 682*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_IP4_ID_INC_MOD15 1 683*4882a593Smuzhiyun #define ESE_GZ_TX_DESC_IP4_ID_NO_OP 0 684*4882a593Smuzhiyun /**************************************************************************/ 685*4882a593Smuzhiyun 686*4882a593Smuzhiyun #define ESF_GZ_EV_DEBUG_EVENT_GEN_FLAGS_LBN 44 687*4882a593Smuzhiyun #define ESF_GZ_EV_DEBUG_EVENT_GEN_FLAGS_WIDTH 4 688*4882a593Smuzhiyun #define ESF_GZ_EV_DEBUG_SRC_QID_LBN 32 689*4882a593Smuzhiyun #define ESF_GZ_EV_DEBUG_SRC_QID_WIDTH 12 690*4882a593Smuzhiyun #define ESF_GZ_EV_DEBUG_SEQ_NUM_LBN 16 691*4882a593Smuzhiyun #define ESF_GZ_EV_DEBUG_SEQ_NUM_WIDTH 16 692*4882a593Smuzhiyun 693*4882a593Smuzhiyun #endif /* EFX_EF100_REGS_H */ 694