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