blob: d54f9ca792f5a2796da4a5effc1b303520e5ae24 [file] [log] [blame]
Aaron Williams956e2de2022-04-07 09:11:04 +02001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2018-2022 Marvell International Ltd.
4 *
5 * Configuration and status register (CSR) type definitions for
6 * Octeon ilk.
7 */
8
9#ifndef __CVMX_ILK_DEFS_H__
10#define __CVMX_ILK_DEFS_H__
11
12#define CVMX_ILK_BIST_SUM (0x0001180014000038ull)
13#define CVMX_ILK_GBL_CFG (0x0001180014000000ull)
14#define CVMX_ILK_GBL_ERR_CFG (0x0001180014000058ull)
15#define CVMX_ILK_GBL_INT (0x0001180014000008ull)
16#define CVMX_ILK_GBL_INT_EN (0x0001180014000010ull)
17#define CVMX_ILK_INT_SUM (0x0001180014000030ull)
18#define CVMX_ILK_LNEX_TRN_CTL(offset) \
19 (0x00011800140380F0ull + ((offset) & 15) * 1024)
20#define CVMX_ILK_LNEX_TRN_LD(offset) \
21 (0x00011800140380E0ull + ((offset) & 15) * 1024)
22#define CVMX_ILK_LNEX_TRN_LP(offset) \
23 (0x00011800140380E8ull + ((offset) & 15) * 1024)
24#define CVMX_ILK_LNE_DBG (0x0001180014030008ull)
25#define CVMX_ILK_LNE_STS_MSG (0x0001180014030000ull)
26#define CVMX_ILK_RID_CFG (0x0001180014000050ull)
27#define CVMX_ILK_RXF_IDX_PMAP (0x0001180014000020ull)
28#define CVMX_ILK_RXF_MEM_PMAP (0x0001180014000028ull)
29#define CVMX_ILK_RXX_BYTE_CNTX(offset, block_id) \
30 (0x0001180014023000ull + \
31 (((offset) & 255) + ((block_id) & 1) * 0x800ull) * 8)
32#define CVMX_ILK_RXX_CAL_ENTRYX(offset, block_id) \
33 (0x0001180014021000ull + \
34 (((offset) & 511) + ((block_id) & 1) * 0x800ull) * 8)
35#define CVMX_ILK_RXX_CFG0(offset) (0x0001180014020000ull + ((offset) & 1) * 16384)
36#define CVMX_ILK_RXX_CFG1(offset) (0x0001180014020008ull + ((offset) & 1) * 16384)
37#define CVMX_ILK_RXX_CHAX(offset, block_id) \
38 (0x0001180014002000ull + \
39 (((offset) & 255) + ((block_id) & 1) * 0x200ull) * 8)
40#define CVMX_ILK_RXX_CHA_XONX(offset, block_id) \
41 (0x0001180014020400ull + (((offset) & 3) + ((block_id) & 1) * 0x800ull) * 8)
42#define CVMX_ILK_RXX_ERR_CFG(offset) \
43 (0x00011800140200E0ull + ((offset) & 1) * 16384)
44#define CVMX_ILK_RXX_FLOW_CTL0(offset) \
45 (0x0001180014020090ull + ((offset) & 1) * 16384)
46#define CVMX_ILK_RXX_FLOW_CTL1(offset) \
47 (0x0001180014020098ull + ((offset) & 1) * 16384)
48#define CVMX_ILK_RXX_IDX_CAL(offset) \
49 (0x00011800140200A0ull + ((offset) & 1) * 16384)
50#define CVMX_ILK_RXX_IDX_STAT0(offset) \
51 (0x0001180014020070ull + ((offset) & 1) * 16384)
52#define CVMX_ILK_RXX_IDX_STAT1(offset) \
53 (0x0001180014020078ull + ((offset) & 1) * 16384)
54#define CVMX_ILK_RXX_INT(offset) (0x0001180014020010ull + ((offset) & 1) * 16384)
55#define CVMX_ILK_RXX_INT_EN(offset) \
56 (0x0001180014020018ull + ((offset) & 1) * 16384)
57#define CVMX_ILK_RXX_JABBER(offset) \
58 (0x00011800140200B8ull + ((offset) & 1) * 16384)
59#define CVMX_ILK_RXX_MEM_CAL0(offset) \
60 (0x00011800140200A8ull + ((offset) & 1) * 16384)
61#define CVMX_ILK_RXX_MEM_CAL1(offset) \
62 (0x00011800140200B0ull + ((offset) & 1) * 16384)
63#define CVMX_ILK_RXX_MEM_STAT0(offset) \
64 (0x0001180014020080ull + ((offset) & 1) * 16384)
65#define CVMX_ILK_RXX_MEM_STAT1(offset) \
66 (0x0001180014020088ull + ((offset) & 1) * 16384)
67#define CVMX_ILK_RXX_PKT_CNTX(offset, block_id) \
68 (0x0001180014022000ull + \
69 (((offset) & 255) + ((block_id) & 1) * 0x800ull) * 8)
70#define CVMX_ILK_RXX_RID(offset) (0x00011800140200C0ull + ((offset) & 1) * 16384)
71#define CVMX_ILK_RXX_STAT0(offset) \
72 (0x0001180014020020ull + ((offset) & 1) * 16384)
73#define CVMX_ILK_RXX_STAT1(offset) \
74 (0x0001180014020028ull + ((offset) & 1) * 16384)
75#define CVMX_ILK_RXX_STAT2(offset) \
76 (0x0001180014020030ull + ((offset) & 1) * 16384)
77#define CVMX_ILK_RXX_STAT3(offset) \
78 (0x0001180014020038ull + ((offset) & 1) * 16384)
79#define CVMX_ILK_RXX_STAT4(offset) \
80 (0x0001180014020040ull + ((offset) & 1) * 16384)
81#define CVMX_ILK_RXX_STAT5(offset) \
82 (0x0001180014020048ull + ((offset) & 1) * 16384)
83#define CVMX_ILK_RXX_STAT6(offset) \
84 (0x0001180014020050ull + ((offset) & 1) * 16384)
85#define CVMX_ILK_RXX_STAT7(offset) \
86 (0x0001180014020058ull + ((offset) & 1) * 16384)
87#define CVMX_ILK_RXX_STAT8(offset) \
88 (0x0001180014020060ull + ((offset) & 1) * 16384)
89#define CVMX_ILK_RXX_STAT9(offset) \
90 (0x0001180014020068ull + ((offset) & 1) * 16384)
91#define CVMX_ILK_RX_LNEX_CFG(offset) \
92 (0x0001180014038000ull + ((offset) & 15) * 1024)
93#define CVMX_ILK_RX_LNEX_INT(offset) \
94 (0x0001180014038008ull + ((offset) & 15) * 1024)
95#define CVMX_ILK_RX_LNEX_INT_EN(offset) \
96 (0x0001180014038010ull + ((offset) & 7) * 1024)
97#define CVMX_ILK_RX_LNEX_STAT0(offset) \
98 (0x0001180014038018ull + ((offset) & 15) * 1024)
99#define CVMX_ILK_RX_LNEX_STAT1(offset) \
100 (0x0001180014038020ull + ((offset) & 15) * 1024)
101#define CVMX_ILK_RX_LNEX_STAT10(offset) \
102 (0x0001180014038068ull + ((offset) & 15) * 1024)
103#define CVMX_ILK_RX_LNEX_STAT2(offset) \
104 (0x0001180014038028ull + ((offset) & 15) * 1024)
105#define CVMX_ILK_RX_LNEX_STAT3(offset) \
106 (0x0001180014038030ull + ((offset) & 15) * 1024)
107#define CVMX_ILK_RX_LNEX_STAT4(offset) \
108 (0x0001180014038038ull + ((offset) & 15) * 1024)
109#define CVMX_ILK_RX_LNEX_STAT5(offset) \
110 (0x0001180014038040ull + ((offset) & 15) * 1024)
111#define CVMX_ILK_RX_LNEX_STAT6(offset) \
112 (0x0001180014038048ull + ((offset) & 15) * 1024)
113#define CVMX_ILK_RX_LNEX_STAT7(offset) \
114 (0x0001180014038050ull + ((offset) & 15) * 1024)
115#define CVMX_ILK_RX_LNEX_STAT8(offset) \
116 (0x0001180014038058ull + ((offset) & 15) * 1024)
117#define CVMX_ILK_RX_LNEX_STAT9(offset) \
118 (0x0001180014038060ull + ((offset) & 15) * 1024)
119#define CVMX_ILK_SER_CFG (0x0001180014000018ull)
120#define CVMX_ILK_TXX_BYTE_CNTX(offset, block_id) \
121 (0x0001180014013000ull + \
122 (((offset) & 255) + ((block_id) & 1) * 0x800ull) * 8)
123#define CVMX_ILK_TXX_CAL_ENTRYX(offset, block_id) \
124 (0x0001180014011000ull + \
125 (((offset) & 511) + ((block_id) & 1) * 0x800ull) * 8)
126#define CVMX_ILK_TXX_CFG0(offset) (0x0001180014010000ull + ((offset) & 1) * 16384)
127#define CVMX_ILK_TXX_CFG1(offset) (0x0001180014010008ull + ((offset) & 1) * 16384)
128#define CVMX_ILK_TXX_CHA_XONX(offset, block_id) \
129 (0x0001180014010400ull + (((offset) & 3) + ((block_id) & 1) * 0x800ull) * 8)
130#define CVMX_ILK_TXX_DBG(offset) (0x0001180014010070ull + ((offset) & 1) * 16384)
131#define CVMX_ILK_TXX_ERR_CFG(offset) \
132 (0x00011800140100B0ull + ((offset) & 1) * 16384)
133#define CVMX_ILK_TXX_FLOW_CTL0(offset) \
134 (0x0001180014010048ull + ((offset) & 1) * 16384)
135#define CVMX_ILK_TXX_FLOW_CTL1(offset) \
136 (0x0001180014010050ull + ((offset) & 1) * 16384)
137#define CVMX_ILK_TXX_IDX_CAL(offset) \
138 (0x0001180014010058ull + ((offset) & 1) * 16384)
139#define CVMX_ILK_TXX_IDX_PMAP(offset) \
140 (0x0001180014010010ull + ((offset) & 1) * 16384)
141#define CVMX_ILK_TXX_IDX_STAT0(offset) \
142 (0x0001180014010020ull + ((offset) & 1) * 16384)
143#define CVMX_ILK_TXX_IDX_STAT1(offset) \
144 (0x0001180014010028ull + ((offset) & 1) * 16384)
145#define CVMX_ILK_TXX_INT(offset) (0x0001180014010078ull + ((offset) & 1) * 16384)
146#define CVMX_ILK_TXX_INT_EN(offset) \
147 (0x0001180014010080ull + ((offset) & 1) * 16384)
148#define CVMX_ILK_TXX_MEM_CAL0(offset) \
149 (0x0001180014010060ull + ((offset) & 1) * 16384)
150#define CVMX_ILK_TXX_MEM_CAL1(offset) \
151 (0x0001180014010068ull + ((offset) & 1) * 16384)
152#define CVMX_ILK_TXX_MEM_PMAP(offset) \
153 (0x0001180014010018ull + ((offset) & 1) * 16384)
154#define CVMX_ILK_TXX_MEM_STAT0(offset) \
155 (0x0001180014010030ull + ((offset) & 1) * 16384)
156#define CVMX_ILK_TXX_MEM_STAT1(offset) \
157 (0x0001180014010038ull + ((offset) & 1) * 16384)
158#define CVMX_ILK_TXX_PIPE(offset) (0x0001180014010088ull + ((offset) & 1) * 16384)
159#define CVMX_ILK_TXX_PKT_CNTX(offset, block_id) \
160 (0x0001180014012000ull + \
161 (((offset) & 255) + ((block_id) & 1) * 0x800ull) * 8)
162#define CVMX_ILK_TXX_RMATCH(offset) \
163 (0x0001180014010040ull + ((offset) & 1) * 16384)
164
165/**
166 * cvmx_ilk_bist_sum
167 */
168union cvmx_ilk_bist_sum {
169 u64 u64;
170 struct cvmx_ilk_bist_sum_s {
171 u64 rxf_x2p : 1;
172 u64 rxf_mem19 : 1;
173 u64 rxf_mem18 : 1;
174 u64 rxf_mem17 : 1;
175 u64 rxf_mem16 : 1;
176 u64 rxf_mem15 : 1;
177 u64 reserved_52_57 : 6;
178 u64 rxf_mem8 : 1;
179 u64 rxf_mem7 : 1;
180 u64 rxf_mem6 : 1;
181 u64 rxf_mem5 : 1;
182 u64 rxf_mem4 : 1;
183 u64 rxf_mem3 : 1;
184 u64 reserved_36_45 : 10;
185 u64 rle7_dsk1 : 1;
186 u64 rle7_dsk0 : 1;
187 u64 rle6_dsk1 : 1;
188 u64 rle6_dsk0 : 1;
189 u64 rle5_dsk1 : 1;
190 u64 rle5_dsk0 : 1;
191 u64 rle4_dsk1 : 1;
192 u64 rle4_dsk0 : 1;
193 u64 rle3_dsk1 : 1;
194 u64 rle3_dsk0 : 1;
195 u64 rle2_dsk1 : 1;
196 u64 rle2_dsk0 : 1;
197 u64 rle1_dsk1 : 1;
198 u64 rle1_dsk0 : 1;
199 u64 rle0_dsk1 : 1;
200 u64 rle0_dsk0 : 1;
201 u64 rlk1_pmap : 1;
202 u64 reserved_18_18 : 1;
203 u64 rlk1_fwc : 1;
204 u64 reserved_16_16 : 1;
205 u64 rlk0_pmap : 1;
206 u64 rlk0_stat1 : 1;
207 u64 rlk0_fwc : 1;
208 u64 rlk0_stat : 1;
209 u64 tlk1_stat1 : 1;
210 u64 tlk1_fwc : 1;
211 u64 reserved_9_9 : 1;
212 u64 tlk1_txf2 : 1;
213 u64 tlk1_txf1 : 1;
214 u64 tlk1_txf0 : 1;
215 u64 tlk0_stat1 : 1;
216 u64 tlk0_fwc : 1;
217 u64 reserved_3_3 : 1;
218 u64 tlk0_txf2 : 1;
219 u64 tlk0_txf1 : 1;
220 u64 tlk0_txf0 : 1;
221 } s;
222 struct cvmx_ilk_bist_sum_cn68xx {
223 u64 reserved_58_63 : 6;
224 u64 rxf_x2p1 : 1;
225 u64 rxf_x2p0 : 1;
226 u64 rxf_pmap : 1;
227 u64 rxf_mem2 : 1;
228 u64 rxf_mem1 : 1;
229 u64 rxf_mem0 : 1;
230 u64 reserved_36_51 : 16;
231 u64 rle7_dsk1 : 1;
232 u64 rle7_dsk0 : 1;
233 u64 rle6_dsk1 : 1;
234 u64 rle6_dsk0 : 1;
235 u64 rle5_dsk1 : 1;
236 u64 rle5_dsk0 : 1;
237 u64 rle4_dsk1 : 1;
238 u64 rle4_dsk0 : 1;
239 u64 rle3_dsk1 : 1;
240 u64 rle3_dsk0 : 1;
241 u64 rle2_dsk1 : 1;
242 u64 rle2_dsk0 : 1;
243 u64 rle1_dsk1 : 1;
244 u64 rle1_dsk0 : 1;
245 u64 rle0_dsk1 : 1;
246 u64 rle0_dsk0 : 1;
247 u64 reserved_19_19 : 1;
248 u64 rlk1_stat1 : 1;
249 u64 rlk1_fwc : 1;
250 u64 rlk1_stat : 1;
251 u64 reserved_15_15 : 1;
252 u64 rlk0_stat1 : 1;
253 u64 rlk0_fwc : 1;
254 u64 rlk0_stat : 1;
255 u64 tlk1_stat1 : 1;
256 u64 tlk1_fwc : 1;
257 u64 tlk1_stat0 : 1;
258 u64 tlk1_txf2 : 1;
259 u64 tlk1_txf1 : 1;
260 u64 tlk1_txf0 : 1;
261 u64 tlk0_stat1 : 1;
262 u64 tlk0_fwc : 1;
263 u64 tlk0_stat0 : 1;
264 u64 tlk0_txf2 : 1;
265 u64 tlk0_txf1 : 1;
266 u64 tlk0_txf0 : 1;
267 } cn68xx;
268 struct cvmx_ilk_bist_sum_cn68xxp1 {
269 u64 reserved_58_63 : 6;
270 u64 rxf_x2p1 : 1;
271 u64 rxf_x2p0 : 1;
272 u64 rxf_pmap : 1;
273 u64 rxf_mem2 : 1;
274 u64 rxf_mem1 : 1;
275 u64 rxf_mem0 : 1;
276 u64 reserved_36_51 : 16;
277 u64 rle7_dsk1 : 1;
278 u64 rle7_dsk0 : 1;
279 u64 rle6_dsk1 : 1;
280 u64 rle6_dsk0 : 1;
281 u64 rle5_dsk1 : 1;
282 u64 rle5_dsk0 : 1;
283 u64 rle4_dsk1 : 1;
284 u64 rle4_dsk0 : 1;
285 u64 rle3_dsk1 : 1;
286 u64 rle3_dsk0 : 1;
287 u64 rle2_dsk1 : 1;
288 u64 rle2_dsk0 : 1;
289 u64 rle1_dsk1 : 1;
290 u64 rle1_dsk0 : 1;
291 u64 rle0_dsk1 : 1;
292 u64 rle0_dsk0 : 1;
293 u64 reserved_18_19 : 2;
294 u64 rlk1_fwc : 1;
295 u64 rlk1_stat : 1;
296 u64 reserved_14_15 : 2;
297 u64 rlk0_fwc : 1;
298 u64 rlk0_stat : 1;
299 u64 reserved_11_11 : 1;
300 u64 tlk1_fwc : 1;
301 u64 tlk1_stat : 1;
302 u64 tlk1_txf2 : 1;
303 u64 tlk1_txf1 : 1;
304 u64 tlk1_txf0 : 1;
305 u64 reserved_5_5 : 1;
306 u64 tlk0_fwc : 1;
307 u64 tlk0_stat : 1;
308 u64 tlk0_txf2 : 1;
309 u64 tlk0_txf1 : 1;
310 u64 tlk0_txf0 : 1;
311 } cn68xxp1;
312 struct cvmx_ilk_bist_sum_cn78xx {
313 u64 rxf_x2p : 1;
314 u64 rxf_mem19 : 1;
315 u64 rxf_mem18 : 1;
316 u64 rxf_mem17 : 1;
317 u64 rxf_mem16 : 1;
318 u64 rxf_mem15 : 1;
319 u64 rxf_mem14 : 1;
320 u64 rxf_mem13 : 1;
321 u64 rxf_mem12 : 1;
322 u64 rxf_mem11 : 1;
323 u64 rxf_mem10 : 1;
324 u64 rxf_mem9 : 1;
325 u64 rxf_mem8 : 1;
326 u64 rxf_mem7 : 1;
327 u64 rxf_mem6 : 1;
328 u64 rxf_mem5 : 1;
329 u64 rxf_mem4 : 1;
330 u64 rxf_mem3 : 1;
331 u64 rxf_mem2 : 1;
332 u64 rxf_mem1 : 1;
333 u64 rxf_mem0 : 1;
334 u64 reserved_36_42 : 7;
335 u64 rle7_dsk1 : 1;
336 u64 rle7_dsk0 : 1;
337 u64 rle6_dsk1 : 1;
338 u64 rle6_dsk0 : 1;
339 u64 rle5_dsk1 : 1;
340 u64 rle5_dsk0 : 1;
341 u64 rle4_dsk1 : 1;
342 u64 rle4_dsk0 : 1;
343 u64 rle3_dsk1 : 1;
344 u64 rle3_dsk0 : 1;
345 u64 rle2_dsk1 : 1;
346 u64 rle2_dsk0 : 1;
347 u64 rle1_dsk1 : 1;
348 u64 rle1_dsk0 : 1;
349 u64 rle0_dsk1 : 1;
350 u64 rle0_dsk0 : 1;
351 u64 rlk1_pmap : 1;
352 u64 rlk1_stat : 1;
353 u64 rlk1_fwc : 1;
354 u64 rlk1_stat1 : 1;
355 u64 rlk0_pmap : 1;
356 u64 rlk0_stat1 : 1;
357 u64 rlk0_fwc : 1;
358 u64 rlk0_stat : 1;
359 u64 tlk1_stat1 : 1;
360 u64 tlk1_fwc : 1;
361 u64 tlk1_stat0 : 1;
362 u64 tlk1_txf2 : 1;
363 u64 tlk1_txf1 : 1;
364 u64 tlk1_txf0 : 1;
365 u64 tlk0_stat1 : 1;
366 u64 tlk0_fwc : 1;
367 u64 tlk0_stat0 : 1;
368 u64 tlk0_txf2 : 1;
369 u64 tlk0_txf1 : 1;
370 u64 tlk0_txf0 : 1;
371 } cn78xx;
372 struct cvmx_ilk_bist_sum_cn78xx cn78xxp1;
373};
374
375typedef union cvmx_ilk_bist_sum cvmx_ilk_bist_sum_t;
376
377/**
378 * cvmx_ilk_gbl_cfg
379 */
380union cvmx_ilk_gbl_cfg {
381 u64 u64;
382 struct cvmx_ilk_gbl_cfg_s {
383 u64 reserved_4_63 : 60;
384 u64 rid_rstdis : 1;
385 u64 reset : 1;
386 u64 cclk_dis : 1;
387 u64 rxf_xlink : 1;
388 } s;
389 struct cvmx_ilk_gbl_cfg_s cn68xx;
390 struct cvmx_ilk_gbl_cfg_cn68xxp1 {
391 u64 reserved_2_63 : 62;
392 u64 cclk_dis : 1;
393 u64 rxf_xlink : 1;
394 } cn68xxp1;
395 struct cvmx_ilk_gbl_cfg_s cn78xx;
396 struct cvmx_ilk_gbl_cfg_s cn78xxp1;
397};
398
399typedef union cvmx_ilk_gbl_cfg cvmx_ilk_gbl_cfg_t;
400
401/**
402 * cvmx_ilk_gbl_err_cfg
403 */
404union cvmx_ilk_gbl_err_cfg {
405 u64 u64;
406 struct cvmx_ilk_gbl_err_cfg_s {
407 u64 reserved_20_63 : 44;
408 u64 rxf_flip : 2;
409 u64 x2p_flip : 2;
410 u64 reserved_2_15 : 14;
411 u64 rxf_cor_dis : 1;
412 u64 x2p_cor_dis : 1;
413 } s;
414 struct cvmx_ilk_gbl_err_cfg_s cn78xx;
415 struct cvmx_ilk_gbl_err_cfg_s cn78xxp1;
416};
417
418typedef union cvmx_ilk_gbl_err_cfg cvmx_ilk_gbl_err_cfg_t;
419
420/**
421 * cvmx_ilk_gbl_int
422 */
423union cvmx_ilk_gbl_int {
424 u64 u64;
425 struct cvmx_ilk_gbl_int_s {
426 u64 reserved_9_63 : 55;
427 u64 x2p_dbe : 1;
428 u64 x2p_sbe : 1;
429 u64 rxf_dbe : 1;
430 u64 rxf_sbe : 1;
431 u64 rxf_push_full : 1;
432 u64 rxf_pop_empty : 1;
433 u64 rxf_ctl_perr : 1;
434 u64 rxf_lnk1_perr : 1;
435 u64 rxf_lnk0_perr : 1;
436 } s;
437 struct cvmx_ilk_gbl_int_cn68xx {
438 u64 reserved_5_63 : 59;
439 u64 rxf_push_full : 1;
440 u64 rxf_pop_empty : 1;
441 u64 rxf_ctl_perr : 1;
442 u64 rxf_lnk1_perr : 1;
443 u64 rxf_lnk0_perr : 1;
444 } cn68xx;
445 struct cvmx_ilk_gbl_int_cn68xx cn68xxp1;
446 struct cvmx_ilk_gbl_int_s cn78xx;
447 struct cvmx_ilk_gbl_int_s cn78xxp1;
448};
449
450typedef union cvmx_ilk_gbl_int cvmx_ilk_gbl_int_t;
451
452/**
453 * cvmx_ilk_gbl_int_en
454 */
455union cvmx_ilk_gbl_int_en {
456 u64 u64;
457 struct cvmx_ilk_gbl_int_en_s {
458 u64 reserved_5_63 : 59;
459 u64 rxf_push_full : 1;
460 u64 rxf_pop_empty : 1;
461 u64 rxf_ctl_perr : 1;
462 u64 rxf_lnk1_perr : 1;
463 u64 rxf_lnk0_perr : 1;
464 } s;
465 struct cvmx_ilk_gbl_int_en_s cn68xx;
466 struct cvmx_ilk_gbl_int_en_s cn68xxp1;
467};
468
469typedef union cvmx_ilk_gbl_int_en cvmx_ilk_gbl_int_en_t;
470
471/**
472 * cvmx_ilk_int_sum
473 */
474union cvmx_ilk_int_sum {
475 u64 u64;
476 struct cvmx_ilk_int_sum_s {
477 u64 reserved_13_63 : 51;
478 u64 rle7_int : 1;
479 u64 rle6_int : 1;
480 u64 rle5_int : 1;
481 u64 rle4_int : 1;
482 u64 rle3_int : 1;
483 u64 rle2_int : 1;
484 u64 rle1_int : 1;
485 u64 rle0_int : 1;
486 u64 rlk1_int : 1;
487 u64 rlk0_int : 1;
488 u64 tlk1_int : 1;
489 u64 tlk0_int : 1;
490 u64 gbl_int : 1;
491 } s;
492 struct cvmx_ilk_int_sum_s cn68xx;
493 struct cvmx_ilk_int_sum_s cn68xxp1;
494};
495
496typedef union cvmx_ilk_int_sum cvmx_ilk_int_sum_t;
497
498/**
499 * cvmx_ilk_lne#_trn_ctl
500 */
501union cvmx_ilk_lnex_trn_ctl {
502 u64 u64;
503 struct cvmx_ilk_lnex_trn_ctl_s {
504 u64 reserved_4_63 : 60;
505 u64 trn_lock : 1;
506 u64 trn_done : 1;
507 u64 trn_ena : 1;
508 u64 eie_det : 1;
509 } s;
510 struct cvmx_ilk_lnex_trn_ctl_s cn78xx;
511 struct cvmx_ilk_lnex_trn_ctl_s cn78xxp1;
512};
513
514typedef union cvmx_ilk_lnex_trn_ctl cvmx_ilk_lnex_trn_ctl_t;
515
516/**
517 * cvmx_ilk_lne#_trn_ld
518 */
519union cvmx_ilk_lnex_trn_ld {
520 u64 u64;
521 struct cvmx_ilk_lnex_trn_ld_s {
522 u64 lp_manual : 1;
523 u64 reserved_49_62 : 14;
524 u64 ld_cu_val : 1;
525 u64 ld_cu_dat : 16;
526 u64 reserved_17_31 : 15;
527 u64 ld_sr_val : 1;
528 u64 ld_sr_dat : 16;
529 } s;
530 struct cvmx_ilk_lnex_trn_ld_s cn78xx;
531 struct cvmx_ilk_lnex_trn_ld_s cn78xxp1;
532};
533
534typedef union cvmx_ilk_lnex_trn_ld cvmx_ilk_lnex_trn_ld_t;
535
536/**
537 * cvmx_ilk_lne#_trn_lp
538 */
539union cvmx_ilk_lnex_trn_lp {
540 u64 u64;
541 struct cvmx_ilk_lnex_trn_lp_s {
542 u64 reserved_49_63 : 15;
543 u64 lp_cu_val : 1;
544 u64 lp_cu_dat : 16;
545 u64 reserved_17_31 : 15;
546 u64 lp_sr_val : 1;
547 u64 lp_sr_dat : 16;
548 } s;
549 struct cvmx_ilk_lnex_trn_lp_s cn78xx;
550 struct cvmx_ilk_lnex_trn_lp_s cn78xxp1;
551};
552
553typedef union cvmx_ilk_lnex_trn_lp cvmx_ilk_lnex_trn_lp_t;
554
555/**
556 * cvmx_ilk_lne_dbg
557 */
558union cvmx_ilk_lne_dbg {
559 u64 u64;
560 struct cvmx_ilk_lne_dbg_s {
561 u64 reserved_60_63 : 4;
562 u64 tx_bad_crc32 : 1;
563 u64 tx_bad_6467_cnt : 5;
564 u64 tx_bad_sync_cnt : 3;
565 u64 tx_bad_scram_cnt : 3;
566 u64 tx_bad_lane_sel : 16;
567 u64 tx_dis_dispr : 16;
568 u64 tx_dis_scram : 16;
569 } s;
570 struct cvmx_ilk_lne_dbg_cn68xx {
571 u64 reserved_60_63 : 4;
572 u64 tx_bad_crc32 : 1;
573 u64 tx_bad_6467_cnt : 5;
574 u64 tx_bad_sync_cnt : 3;
575 u64 tx_bad_scram_cnt : 3;
576 u64 reserved_40_47 : 8;
577 u64 tx_bad_lane_sel : 8;
578 u64 reserved_24_31 : 8;
579 u64 tx_dis_dispr : 8;
580 u64 reserved_8_15 : 8;
581 u64 tx_dis_scram : 8;
582 } cn68xx;
583 struct cvmx_ilk_lne_dbg_cn68xx cn68xxp1;
584 struct cvmx_ilk_lne_dbg_s cn78xx;
585 struct cvmx_ilk_lne_dbg_s cn78xxp1;
586};
587
588typedef union cvmx_ilk_lne_dbg cvmx_ilk_lne_dbg_t;
589
590/**
591 * cvmx_ilk_lne_sts_msg
592 */
593union cvmx_ilk_lne_sts_msg {
594 u64 u64;
595 struct cvmx_ilk_lne_sts_msg_s {
596 u64 rx_lnk_stat : 16;
597 u64 rx_lne_stat : 16;
598 u64 tx_lnk_stat : 16;
599 u64 tx_lne_stat : 16;
600 } s;
601 struct cvmx_ilk_lne_sts_msg_cn68xx {
602 u64 reserved_56_63 : 8;
603 u64 rx_lnk_stat : 8;
604 u64 reserved_40_47 : 8;
605 u64 rx_lne_stat : 8;
606 u64 reserved_24_31 : 8;
607 u64 tx_lnk_stat : 8;
608 u64 reserved_8_15 : 8;
609 u64 tx_lne_stat : 8;
610 } cn68xx;
611 struct cvmx_ilk_lne_sts_msg_cn68xx cn68xxp1;
612 struct cvmx_ilk_lne_sts_msg_s cn78xx;
613 struct cvmx_ilk_lne_sts_msg_s cn78xxp1;
614};
615
616typedef union cvmx_ilk_lne_sts_msg cvmx_ilk_lne_sts_msg_t;
617
618/**
619 * cvmx_ilk_rid_cfg
620 */
621union cvmx_ilk_rid_cfg {
622 u64 u64;
623 struct cvmx_ilk_rid_cfg_s {
624 u64 reserved_39_63 : 25;
625 u64 max_cnt : 7;
626 u64 reserved_7_31 : 25;
627 u64 base : 7;
628 } s;
629 struct cvmx_ilk_rid_cfg_s cn78xx;
630 struct cvmx_ilk_rid_cfg_s cn78xxp1;
631};
632
633typedef union cvmx_ilk_rid_cfg cvmx_ilk_rid_cfg_t;
634
635/**
636 * cvmx_ilk_rx#_byte_cnt#
637 */
638union cvmx_ilk_rxx_byte_cntx {
639 u64 u64;
640 struct cvmx_ilk_rxx_byte_cntx_s {
641 u64 reserved_40_63 : 24;
642 u64 rx_bytes : 40;
643 } s;
644 struct cvmx_ilk_rxx_byte_cntx_s cn78xx;
645 struct cvmx_ilk_rxx_byte_cntx_s cn78xxp1;
646};
647
648typedef union cvmx_ilk_rxx_byte_cntx cvmx_ilk_rxx_byte_cntx_t;
649
650/**
651 * cvmx_ilk_rx#_cal_entry#
652 */
653union cvmx_ilk_rxx_cal_entryx {
654 u64 u64;
655 struct cvmx_ilk_rxx_cal_entryx_s {
656 u64 reserved_34_63 : 30;
657 u64 ctl : 2;
658 u64 reserved_8_31 : 24;
659 u64 channel : 8;
660 } s;
661 struct cvmx_ilk_rxx_cal_entryx_s cn78xx;
662 struct cvmx_ilk_rxx_cal_entryx_s cn78xxp1;
663};
664
665typedef union cvmx_ilk_rxx_cal_entryx cvmx_ilk_rxx_cal_entryx_t;
666
667/**
668 * cvmx_ilk_rx#_cfg0
669 */
670union cvmx_ilk_rxx_cfg0 {
671 u64 u64;
672 struct cvmx_ilk_rxx_cfg0_s {
673 u64 ext_lpbk_fc : 1;
674 u64 ext_lpbk : 1;
675 u64 reserved_60_61 : 2;
676 u64 lnk_stats_wrap : 1;
677 u64 bcw_push : 1;
678 u64 mproto_ign : 1;
679 u64 ptrn_mode : 1;
680 u64 lnk_stats_rdclr : 1;
681 u64 lnk_stats_ena : 1;
682 u64 mltuse_fc_ena : 1;
683 u64 cal_ena : 1;
684 u64 mfrm_len : 13;
685 u64 brst_shrt : 7;
686 u64 lane_rev : 1;
687 u64 brst_max : 5;
688 u64 reserved_25_25 : 1;
689 u64 cal_depth : 9;
690 u64 lane_ena : 16;
691 } s;
692 struct cvmx_ilk_rxx_cfg0_cn68xx {
693 u64 ext_lpbk_fc : 1;
694 u64 ext_lpbk : 1;
695 u64 reserved_60_61 : 2;
696 u64 lnk_stats_wrap : 1;
697 u64 bcw_push : 1;
698 u64 mproto_ign : 1;
699 u64 ptrn_mode : 1;
700 u64 lnk_stats_rdclr : 1;
701 u64 lnk_stats_ena : 1;
702 u64 mltuse_fc_ena : 1;
703 u64 cal_ena : 1;
704 u64 mfrm_len : 13;
705 u64 brst_shrt : 7;
706 u64 lane_rev : 1;
707 u64 brst_max : 5;
708 u64 reserved_25_25 : 1;
709 u64 cal_depth : 9;
710 u64 reserved_8_15 : 8;
711 u64 lane_ena : 8;
712 } cn68xx;
713 struct cvmx_ilk_rxx_cfg0_cn68xxp1 {
714 u64 ext_lpbk_fc : 1;
715 u64 ext_lpbk : 1;
716 u64 reserved_57_61 : 5;
717 u64 ptrn_mode : 1;
718 u64 lnk_stats_rdclr : 1;
719 u64 lnk_stats_ena : 1;
720 u64 mltuse_fc_ena : 1;
721 u64 cal_ena : 1;
722 u64 mfrm_len : 13;
723 u64 brst_shrt : 7;
724 u64 lane_rev : 1;
725 u64 brst_max : 5;
726 u64 reserved_25_25 : 1;
727 u64 cal_depth : 9;
728 u64 reserved_8_15 : 8;
729 u64 lane_ena : 8;
730 } cn68xxp1;
731 struct cvmx_ilk_rxx_cfg0_s cn78xx;
732 struct cvmx_ilk_rxx_cfg0_s cn78xxp1;
733};
734
735typedef union cvmx_ilk_rxx_cfg0 cvmx_ilk_rxx_cfg0_t;
736
737/**
738 * cvmx_ilk_rx#_cfg1
739 */
740union cvmx_ilk_rxx_cfg1 {
741 u64 u64;
742 struct cvmx_ilk_rxx_cfg1_s {
743 u64 reserved_62_63 : 2;
744 u64 rx_fifo_cnt : 12;
745 u64 reserved_49_49 : 1;
746 u64 rx_fifo_hwm : 13;
747 u64 reserved_35_35 : 1;
748 u64 rx_fifo_max : 13;
749 u64 pkt_flush : 1;
750 u64 pkt_ena : 1;
751 u64 la_mode : 1;
752 u64 tx_link_fc : 1;
753 u64 rx_link_fc : 1;
754 u64 rx_align_ena : 1;
755 u64 rx_bdry_lock_ena : 16;
756 } s;
757 struct cvmx_ilk_rxx_cfg1_cn68xx {
758 u64 reserved_62_63 : 2;
759 u64 rx_fifo_cnt : 12;
760 u64 reserved_48_49 : 2;
761 u64 rx_fifo_hwm : 12;
762 u64 reserved_34_35 : 2;
763 u64 rx_fifo_max : 12;
764 u64 pkt_flush : 1;
765 u64 pkt_ena : 1;
766 u64 la_mode : 1;
767 u64 tx_link_fc : 1;
768 u64 rx_link_fc : 1;
769 u64 rx_align_ena : 1;
770 u64 reserved_8_15 : 8;
771 u64 rx_bdry_lock_ena : 8;
772 } cn68xx;
773 struct cvmx_ilk_rxx_cfg1_cn68xx cn68xxp1;
774 struct cvmx_ilk_rxx_cfg1_s cn78xx;
775 struct cvmx_ilk_rxx_cfg1_s cn78xxp1;
776};
777
778typedef union cvmx_ilk_rxx_cfg1 cvmx_ilk_rxx_cfg1_t;
779
780/**
781 * cvmx_ilk_rx#_cha#
782 */
783union cvmx_ilk_rxx_chax {
784 u64 u64;
785 struct cvmx_ilk_rxx_chax_s {
786 u64 reserved_6_63 : 58;
787 u64 port_kind : 6;
788 } s;
789 struct cvmx_ilk_rxx_chax_s cn78xx;
790 struct cvmx_ilk_rxx_chax_s cn78xxp1;
791};
792
793typedef union cvmx_ilk_rxx_chax cvmx_ilk_rxx_chax_t;
794
795/**
796 * cvmx_ilk_rx#_cha_xon#
797 */
798union cvmx_ilk_rxx_cha_xonx {
799 u64 u64;
800 struct cvmx_ilk_rxx_cha_xonx_s {
801 u64 xon : 64;
802 } s;
803 struct cvmx_ilk_rxx_cha_xonx_s cn78xx;
804 struct cvmx_ilk_rxx_cha_xonx_s cn78xxp1;
805};
806
807typedef union cvmx_ilk_rxx_cha_xonx cvmx_ilk_rxx_cha_xonx_t;
808
809/**
810 * cvmx_ilk_rx#_err_cfg
811 */
812union cvmx_ilk_rxx_err_cfg {
813 u64 u64;
814 struct cvmx_ilk_rxx_err_cfg_s {
815 u64 reserved_20_63 : 44;
816 u64 fwc_flip : 2;
817 u64 pmap_flip : 2;
818 u64 reserved_2_15 : 14;
819 u64 fwc_cor_dis : 1;
820 u64 pmap_cor_dis : 1;
821 } s;
822 struct cvmx_ilk_rxx_err_cfg_s cn78xx;
823 struct cvmx_ilk_rxx_err_cfg_s cn78xxp1;
824};
825
826typedef union cvmx_ilk_rxx_err_cfg cvmx_ilk_rxx_err_cfg_t;
827
828/**
829 * cvmx_ilk_rx#_flow_ctl0
830 */
831union cvmx_ilk_rxx_flow_ctl0 {
832 u64 u64;
833 struct cvmx_ilk_rxx_flow_ctl0_s {
834 u64 status : 64;
835 } s;
836 struct cvmx_ilk_rxx_flow_ctl0_s cn68xx;
837 struct cvmx_ilk_rxx_flow_ctl0_s cn68xxp1;
838};
839
840typedef union cvmx_ilk_rxx_flow_ctl0 cvmx_ilk_rxx_flow_ctl0_t;
841
842/**
843 * cvmx_ilk_rx#_flow_ctl1
844 */
845union cvmx_ilk_rxx_flow_ctl1 {
846 u64 u64;
847 struct cvmx_ilk_rxx_flow_ctl1_s {
848 u64 status : 64;
849 } s;
850 struct cvmx_ilk_rxx_flow_ctl1_s cn68xx;
851 struct cvmx_ilk_rxx_flow_ctl1_s cn68xxp1;
852};
853
854typedef union cvmx_ilk_rxx_flow_ctl1 cvmx_ilk_rxx_flow_ctl1_t;
855
856/**
857 * cvmx_ilk_rx#_idx_cal
858 */
859union cvmx_ilk_rxx_idx_cal {
860 u64 u64;
861 struct cvmx_ilk_rxx_idx_cal_s {
862 u64 reserved_14_63 : 50;
863 u64 inc : 6;
864 u64 reserved_6_7 : 2;
865 u64 index : 6;
866 } s;
867 struct cvmx_ilk_rxx_idx_cal_s cn68xx;
868 struct cvmx_ilk_rxx_idx_cal_s cn68xxp1;
869};
870
871typedef union cvmx_ilk_rxx_idx_cal cvmx_ilk_rxx_idx_cal_t;
872
873/**
874 * cvmx_ilk_rx#_idx_stat0
875 */
876union cvmx_ilk_rxx_idx_stat0 {
877 u64 u64;
878 struct cvmx_ilk_rxx_idx_stat0_s {
879 u64 reserved_32_63 : 32;
880 u64 clr : 1;
881 u64 reserved_24_30 : 7;
882 u64 inc : 8;
883 u64 reserved_8_15 : 8;
884 u64 index : 8;
885 } s;
886 struct cvmx_ilk_rxx_idx_stat0_s cn68xx;
887 struct cvmx_ilk_rxx_idx_stat0_s cn68xxp1;
888};
889
890typedef union cvmx_ilk_rxx_idx_stat0 cvmx_ilk_rxx_idx_stat0_t;
891
892/**
893 * cvmx_ilk_rx#_idx_stat1
894 */
895union cvmx_ilk_rxx_idx_stat1 {
896 u64 u64;
897 struct cvmx_ilk_rxx_idx_stat1_s {
898 u64 reserved_32_63 : 32;
899 u64 clr : 1;
900 u64 reserved_24_30 : 7;
901 u64 inc : 8;
902 u64 reserved_8_15 : 8;
903 u64 index : 8;
904 } s;
905 struct cvmx_ilk_rxx_idx_stat1_s cn68xx;
906 struct cvmx_ilk_rxx_idx_stat1_s cn68xxp1;
907};
908
909typedef union cvmx_ilk_rxx_idx_stat1 cvmx_ilk_rxx_idx_stat1_t;
910
911/**
912 * cvmx_ilk_rx#_int
913 */
914union cvmx_ilk_rxx_int {
915 u64 u64;
916 struct cvmx_ilk_rxx_int_s {
917 u64 reserved_13_63 : 51;
918 u64 pmap_dbe : 1;
919 u64 pmap_sbe : 1;
920 u64 fwc_dbe : 1;
921 u64 fwc_sbe : 1;
922 u64 pkt_drop_sop : 1;
923 u64 pkt_drop_rid : 1;
924 u64 pkt_drop_rxf : 1;
925 u64 lane_bad_word : 1;
926 u64 stat_cnt_ovfl : 1;
927 u64 lane_align_done : 1;
928 u64 word_sync_done : 1;
929 u64 crc24_err : 1;
930 u64 lane_align_fail : 1;
931 } s;
932 struct cvmx_ilk_rxx_int_cn68xx {
933 u64 reserved_9_63 : 55;
934 u64 pkt_drop_sop : 1;
935 u64 pkt_drop_rid : 1;
936 u64 pkt_drop_rxf : 1;
937 u64 lane_bad_word : 1;
938 u64 stat_cnt_ovfl : 1;
939 u64 lane_align_done : 1;
940 u64 word_sync_done : 1;
941 u64 crc24_err : 1;
942 u64 lane_align_fail : 1;
943 } cn68xx;
944 struct cvmx_ilk_rxx_int_cn68xxp1 {
945 u64 reserved_8_63 : 56;
946 u64 pkt_drop_rid : 1;
947 u64 pkt_drop_rxf : 1;
948 u64 lane_bad_word : 1;
949 u64 stat_cnt_ovfl : 1;
950 u64 lane_align_done : 1;
951 u64 word_sync_done : 1;
952 u64 crc24_err : 1;
953 u64 lane_align_fail : 1;
954 } cn68xxp1;
955 struct cvmx_ilk_rxx_int_s cn78xx;
956 struct cvmx_ilk_rxx_int_s cn78xxp1;
957};
958
959typedef union cvmx_ilk_rxx_int cvmx_ilk_rxx_int_t;
960
961/**
962 * cvmx_ilk_rx#_int_en
963 */
964union cvmx_ilk_rxx_int_en {
965 u64 u64;
966 struct cvmx_ilk_rxx_int_en_s {
967 u64 reserved_9_63 : 55;
968 u64 pkt_drop_sop : 1;
969 u64 pkt_drop_rid : 1;
970 u64 pkt_drop_rxf : 1;
971 u64 lane_bad_word : 1;
972 u64 stat_cnt_ovfl : 1;
973 u64 lane_align_done : 1;
974 u64 word_sync_done : 1;
975 u64 crc24_err : 1;
976 u64 lane_align_fail : 1;
977 } s;
978 struct cvmx_ilk_rxx_int_en_s cn68xx;
979 struct cvmx_ilk_rxx_int_en_cn68xxp1 {
980 u64 reserved_8_63 : 56;
981 u64 pkt_drop_rid : 1;
982 u64 pkt_drop_rxf : 1;
983 u64 lane_bad_word : 1;
984 u64 stat_cnt_ovfl : 1;
985 u64 lane_align_done : 1;
986 u64 word_sync_done : 1;
987 u64 crc24_err : 1;
988 u64 lane_align_fail : 1;
989 } cn68xxp1;
990};
991
992typedef union cvmx_ilk_rxx_int_en cvmx_ilk_rxx_int_en_t;
993
994/**
995 * cvmx_ilk_rx#_jabber
996 */
997union cvmx_ilk_rxx_jabber {
998 u64 u64;
999 struct cvmx_ilk_rxx_jabber_s {
1000 u64 reserved_16_63 : 48;
1001 u64 cnt : 16;
1002 } s;
1003 struct cvmx_ilk_rxx_jabber_s cn68xx;
1004 struct cvmx_ilk_rxx_jabber_s cn68xxp1;
1005 struct cvmx_ilk_rxx_jabber_s cn78xx;
1006 struct cvmx_ilk_rxx_jabber_s cn78xxp1;
1007};
1008
1009typedef union cvmx_ilk_rxx_jabber cvmx_ilk_rxx_jabber_t;
1010
1011/**
1012 * cvmx_ilk_rx#_mem_cal0
1013 *
1014 * Notes:
1015 * Software must program the calendar table prior to enabling the
1016 * link.
1017 *
1018 * Software must always write ILK_RXx_MEM_CAL0 then ILK_RXx_MEM_CAL1.
1019 * Software must never write them in reverse order or write one without
1020 * writing the other.
1021 *
1022 * A given calendar table entry has no effect on PKO pipe
1023 * backpressure when either:
1024 * - ENTRY_CTLx=Link (1), or
1025 * - ENTRY_CTLx=XON (3) and PORT_PIPEx is outside the range of ILK_TXx_PIPE[BASE/NUMP].
1026 *
1027 * Within the 8 calendar table entries of one IDX value, if more
1028 * than one affects the same PKO pipe, XOFF always wins over XON,
1029 * regardless of the calendar table order.
1030 *
1031 * Software must always read ILK_RXx_MEM_CAL0 then ILK_RXx_MEM_CAL1. Software
1032 * must never read them in reverse order or read one without reading the
1033 * other.
1034 */
1035union cvmx_ilk_rxx_mem_cal0 {
1036 u64 u64;
1037 struct cvmx_ilk_rxx_mem_cal0_s {
1038 u64 reserved_36_63 : 28;
1039 u64 entry_ctl3 : 2;
1040 u64 port_pipe3 : 7;
1041 u64 entry_ctl2 : 2;
1042 u64 port_pipe2 : 7;
1043 u64 entry_ctl1 : 2;
1044 u64 port_pipe1 : 7;
1045 u64 entry_ctl0 : 2;
1046 u64 port_pipe0 : 7;
1047 } s;
1048 struct cvmx_ilk_rxx_mem_cal0_s cn68xx;
1049 struct cvmx_ilk_rxx_mem_cal0_s cn68xxp1;
1050};
1051
1052typedef union cvmx_ilk_rxx_mem_cal0 cvmx_ilk_rxx_mem_cal0_t;
1053
1054/**
1055 * cvmx_ilk_rx#_mem_cal1
1056 *
1057 * Notes:
1058 * Software must program the calendar table prior to enabling the
1059 * link.
1060 *
1061 * Software must always write ILK_RXx_MEM_CAL0 then ILK_RXx_MEM_CAL1.
1062 * Software must never write them in reverse order or write one without
1063 * writing the other.
1064 *
1065 * A given calendar table entry has no effect on PKO pipe
1066 * backpressure when either:
1067 * - ENTRY_CTLx=Link (1), or
1068 * - ENTRY_CTLx=XON (3) and PORT_PIPEx is outside the range of ILK_TXx_PIPE[BASE/NUMP].
1069 *
1070 * Within the 8 calendar table entries of one IDX value, if more
1071 * than one affects the same PKO pipe, XOFF always wins over XON,
1072 * regardless of the calendar table order.
1073 *
1074 * Software must always read ILK_RXx_MEM_CAL0 then ILK_Rx_MEM_CAL1. Software
1075 * must never read them in reverse order or read one without reading the
1076 * other.
1077 */
1078union cvmx_ilk_rxx_mem_cal1 {
1079 u64 u64;
1080 struct cvmx_ilk_rxx_mem_cal1_s {
1081 u64 reserved_36_63 : 28;
1082 u64 entry_ctl7 : 2;
1083 u64 port_pipe7 : 7;
1084 u64 entry_ctl6 : 2;
1085 u64 port_pipe6 : 7;
1086 u64 entry_ctl5 : 2;
1087 u64 port_pipe5 : 7;
1088 u64 entry_ctl4 : 2;
1089 u64 port_pipe4 : 7;
1090 } s;
1091 struct cvmx_ilk_rxx_mem_cal1_s cn68xx;
1092 struct cvmx_ilk_rxx_mem_cal1_s cn68xxp1;
1093};
1094
1095typedef union cvmx_ilk_rxx_mem_cal1 cvmx_ilk_rxx_mem_cal1_t;
1096
1097/**
1098 * cvmx_ilk_rx#_mem_stat0
1099 */
1100union cvmx_ilk_rxx_mem_stat0 {
1101 u64 u64;
1102 struct cvmx_ilk_rxx_mem_stat0_s {
1103 u64 reserved_28_63 : 36;
1104 u64 rx_pkt : 28;
1105 } s;
1106 struct cvmx_ilk_rxx_mem_stat0_s cn68xx;
1107 struct cvmx_ilk_rxx_mem_stat0_s cn68xxp1;
1108};
1109
1110typedef union cvmx_ilk_rxx_mem_stat0 cvmx_ilk_rxx_mem_stat0_t;
1111
1112/**
1113 * cvmx_ilk_rx#_mem_stat1
1114 */
1115union cvmx_ilk_rxx_mem_stat1 {
1116 u64 u64;
1117 struct cvmx_ilk_rxx_mem_stat1_s {
1118 u64 reserved_36_63 : 28;
1119 u64 rx_bytes : 36;
1120 } s;
1121 struct cvmx_ilk_rxx_mem_stat1_s cn68xx;
1122 struct cvmx_ilk_rxx_mem_stat1_s cn68xxp1;
1123};
1124
1125typedef union cvmx_ilk_rxx_mem_stat1 cvmx_ilk_rxx_mem_stat1_t;
1126
1127/**
1128 * cvmx_ilk_rx#_pkt_cnt#
1129 */
1130union cvmx_ilk_rxx_pkt_cntx {
1131 u64 u64;
1132 struct cvmx_ilk_rxx_pkt_cntx_s {
1133 u64 reserved_34_63 : 30;
1134 u64 rx_pkt : 34;
1135 } s;
1136 struct cvmx_ilk_rxx_pkt_cntx_s cn78xx;
1137 struct cvmx_ilk_rxx_pkt_cntx_s cn78xxp1;
1138};
1139
1140typedef union cvmx_ilk_rxx_pkt_cntx cvmx_ilk_rxx_pkt_cntx_t;
1141
1142/**
1143 * cvmx_ilk_rx#_rid
1144 */
1145union cvmx_ilk_rxx_rid {
1146 u64 u64;
1147 struct cvmx_ilk_rxx_rid_s {
1148 u64 reserved_7_63 : 57;
1149 u64 max_cnt : 7;
1150 } s;
1151 struct cvmx_ilk_rxx_rid_cn68xx {
1152 u64 reserved_6_63 : 58;
1153 u64 max_cnt : 6;
1154 } cn68xx;
1155 struct cvmx_ilk_rxx_rid_s cn78xx;
1156 struct cvmx_ilk_rxx_rid_s cn78xxp1;
1157};
1158
1159typedef union cvmx_ilk_rxx_rid cvmx_ilk_rxx_rid_t;
1160
1161/**
1162 * cvmx_ilk_rx#_stat0
1163 */
1164union cvmx_ilk_rxx_stat0 {
1165 u64 u64;
1166 struct cvmx_ilk_rxx_stat0_s {
1167 u64 reserved_35_63 : 29;
1168 u64 crc24_match_cnt : 35;
1169 } s;
1170 struct cvmx_ilk_rxx_stat0_cn68xx {
1171 u64 reserved_33_63 : 31;
1172 u64 crc24_match_cnt : 33;
1173 } cn68xx;
1174 struct cvmx_ilk_rxx_stat0_cn68xxp1 {
1175 u64 reserved_27_63 : 37;
1176 u64 crc24_match_cnt : 27;
1177 } cn68xxp1;
1178 struct cvmx_ilk_rxx_stat0_s cn78xx;
1179 struct cvmx_ilk_rxx_stat0_s cn78xxp1;
1180};
1181
1182typedef union cvmx_ilk_rxx_stat0 cvmx_ilk_rxx_stat0_t;
1183
1184/**
1185 * cvmx_ilk_rx#_stat1
1186 */
1187union cvmx_ilk_rxx_stat1 {
1188 u64 u64;
1189 struct cvmx_ilk_rxx_stat1_s {
1190 u64 reserved_20_63 : 44;
1191 u64 crc24_err_cnt : 20;
1192 } s;
1193 struct cvmx_ilk_rxx_stat1_cn68xx {
1194 u64 reserved_18_63 : 46;
1195 u64 crc24_err_cnt : 18;
1196 } cn68xx;
1197 struct cvmx_ilk_rxx_stat1_cn68xx cn68xxp1;
1198 struct cvmx_ilk_rxx_stat1_s cn78xx;
1199 struct cvmx_ilk_rxx_stat1_s cn78xxp1;
1200};
1201
1202typedef union cvmx_ilk_rxx_stat1 cvmx_ilk_rxx_stat1_t;
1203
1204/**
1205 * cvmx_ilk_rx#_stat2
1206 */
1207union cvmx_ilk_rxx_stat2 {
1208 u64 u64;
1209 struct cvmx_ilk_rxx_stat2_s {
1210 u64 reserved_50_63 : 14;
1211 u64 brst_not_full_cnt : 18;
1212 u64 reserved_30_31 : 2;
1213 u64 brst_cnt : 30;
1214 } s;
1215 struct cvmx_ilk_rxx_stat2_cn68xx {
1216 u64 reserved_48_63 : 16;
1217 u64 brst_not_full_cnt : 16;
1218 u64 reserved_28_31 : 4;
1219 u64 brst_cnt : 28;
1220 } cn68xx;
1221 struct cvmx_ilk_rxx_stat2_cn68xxp1 {
1222 u64 reserved_48_63 : 16;
1223 u64 brst_not_full_cnt : 16;
1224 u64 reserved_16_31 : 16;
1225 u64 brst_cnt : 16;
1226 } cn68xxp1;
1227 struct cvmx_ilk_rxx_stat2_s cn78xx;
1228 struct cvmx_ilk_rxx_stat2_s cn78xxp1;
1229};
1230
1231typedef union cvmx_ilk_rxx_stat2 cvmx_ilk_rxx_stat2_t;
1232
1233/**
1234 * cvmx_ilk_rx#_stat3
1235 */
1236union cvmx_ilk_rxx_stat3 {
1237 u64 u64;
1238 struct cvmx_ilk_rxx_stat3_s {
1239 u64 reserved_18_63 : 46;
1240 u64 brst_max_err_cnt : 18;
1241 } s;
1242 struct cvmx_ilk_rxx_stat3_cn68xx {
1243 u64 reserved_16_63 : 48;
1244 u64 brst_max_err_cnt : 16;
1245 } cn68xx;
1246 struct cvmx_ilk_rxx_stat3_cn68xx cn68xxp1;
1247 struct cvmx_ilk_rxx_stat3_s cn78xx;
1248 struct cvmx_ilk_rxx_stat3_s cn78xxp1;
1249};
1250
1251typedef union cvmx_ilk_rxx_stat3 cvmx_ilk_rxx_stat3_t;
1252
1253/**
1254 * cvmx_ilk_rx#_stat4
1255 */
1256union cvmx_ilk_rxx_stat4 {
1257 u64 u64;
1258 struct cvmx_ilk_rxx_stat4_s {
1259 u64 reserved_18_63 : 46;
1260 u64 brst_shrt_err_cnt : 18;
1261 } s;
1262 struct cvmx_ilk_rxx_stat4_cn68xx {
1263 u64 reserved_16_63 : 48;
1264 u64 brst_shrt_err_cnt : 16;
1265 } cn68xx;
1266 struct cvmx_ilk_rxx_stat4_cn68xx cn68xxp1;
1267 struct cvmx_ilk_rxx_stat4_s cn78xx;
1268 struct cvmx_ilk_rxx_stat4_s cn78xxp1;
1269};
1270
1271typedef union cvmx_ilk_rxx_stat4 cvmx_ilk_rxx_stat4_t;
1272
1273/**
1274 * cvmx_ilk_rx#_stat5
1275 */
1276union cvmx_ilk_rxx_stat5 {
1277 u64 u64;
1278 struct cvmx_ilk_rxx_stat5_s {
1279 u64 reserved_25_63 : 39;
1280 u64 align_cnt : 25;
1281 } s;
1282 struct cvmx_ilk_rxx_stat5_cn68xx {
1283 u64 reserved_23_63 : 41;
1284 u64 align_cnt : 23;
1285 } cn68xx;
1286 struct cvmx_ilk_rxx_stat5_cn68xxp1 {
1287 u64 reserved_16_63 : 48;
1288 u64 align_cnt : 16;
1289 } cn68xxp1;
1290 struct cvmx_ilk_rxx_stat5_s cn78xx;
1291 struct cvmx_ilk_rxx_stat5_s cn78xxp1;
1292};
1293
1294typedef union cvmx_ilk_rxx_stat5 cvmx_ilk_rxx_stat5_t;
1295
1296/**
1297 * cvmx_ilk_rx#_stat6
1298 */
1299union cvmx_ilk_rxx_stat6 {
1300 u64 u64;
1301 struct cvmx_ilk_rxx_stat6_s {
1302 u64 reserved_18_63 : 46;
1303 u64 align_err_cnt : 18;
1304 } s;
1305 struct cvmx_ilk_rxx_stat6_cn68xx {
1306 u64 reserved_16_63 : 48;
1307 u64 align_err_cnt : 16;
1308 } cn68xx;
1309 struct cvmx_ilk_rxx_stat6_cn68xx cn68xxp1;
1310 struct cvmx_ilk_rxx_stat6_s cn78xx;
1311 struct cvmx_ilk_rxx_stat6_s cn78xxp1;
1312};
1313
1314typedef union cvmx_ilk_rxx_stat6 cvmx_ilk_rxx_stat6_t;
1315
1316/**
1317 * cvmx_ilk_rx#_stat7
1318 */
1319union cvmx_ilk_rxx_stat7 {
1320 u64 u64;
1321 struct cvmx_ilk_rxx_stat7_s {
1322 u64 reserved_18_63 : 46;
1323 u64 bad_64b67b_cnt : 18;
1324 } s;
1325 struct cvmx_ilk_rxx_stat7_cn68xx {
1326 u64 reserved_16_63 : 48;
1327 u64 bad_64b67b_cnt : 16;
1328 } cn68xx;
1329 struct cvmx_ilk_rxx_stat7_cn68xx cn68xxp1;
1330 struct cvmx_ilk_rxx_stat7_s cn78xx;
1331 struct cvmx_ilk_rxx_stat7_s cn78xxp1;
1332};
1333
1334typedef union cvmx_ilk_rxx_stat7 cvmx_ilk_rxx_stat7_t;
1335
1336/**
1337 * cvmx_ilk_rx#_stat8
1338 */
1339union cvmx_ilk_rxx_stat8 {
1340 u64 u64;
1341 struct cvmx_ilk_rxx_stat8_s {
1342 u64 reserved_32_63 : 32;
1343 u64 pkt_drop_rid_cnt : 16;
1344 u64 pkt_drop_rxf_cnt : 16;
1345 } s;
1346 struct cvmx_ilk_rxx_stat8_s cn68xx;
1347 struct cvmx_ilk_rxx_stat8_s cn68xxp1;
1348 struct cvmx_ilk_rxx_stat8_s cn78xx;
1349 struct cvmx_ilk_rxx_stat8_s cn78xxp1;
1350};
1351
1352typedef union cvmx_ilk_rxx_stat8 cvmx_ilk_rxx_stat8_t;
1353
1354/**
1355 * cvmx_ilk_rx#_stat9
1356 *
1357 * This register is reserved.
1358 *
1359 */
1360union cvmx_ilk_rxx_stat9 {
1361 u64 u64;
1362 struct cvmx_ilk_rxx_stat9_s {
1363 u64 reserved_0_63 : 64;
1364 } s;
1365 struct cvmx_ilk_rxx_stat9_s cn68xx;
1366 struct cvmx_ilk_rxx_stat9_s cn68xxp1;
1367 struct cvmx_ilk_rxx_stat9_s cn78xx;
1368 struct cvmx_ilk_rxx_stat9_s cn78xxp1;
1369};
1370
1371typedef union cvmx_ilk_rxx_stat9 cvmx_ilk_rxx_stat9_t;
1372
1373/**
1374 * cvmx_ilk_rx_lne#_cfg
1375 */
1376union cvmx_ilk_rx_lnex_cfg {
1377 u64 u64;
1378 struct cvmx_ilk_rx_lnex_cfg_s {
1379 u64 reserved_9_63 : 55;
1380 u64 rx_dis_psh_skip : 1;
1381 u64 reserved_7_7 : 1;
1382 u64 rx_dis_disp_chk : 1;
1383 u64 rx_scrm_sync : 1;
1384 u64 rx_bdry_sync : 1;
1385 u64 rx_dis_ukwn : 1;
1386 u64 rx_dis_scram : 1;
1387 u64 stat_rdclr : 1;
1388 u64 stat_ena : 1;
1389 } s;
1390 struct cvmx_ilk_rx_lnex_cfg_cn68xx {
1391 u64 reserved_9_63 : 55;
1392 u64 rx_dis_psh_skip : 1;
1393 u64 reserved_6_7 : 2;
1394 u64 rx_scrm_sync : 1;
1395 u64 rx_bdry_sync : 1;
1396 u64 rx_dis_ukwn : 1;
1397 u64 rx_dis_scram : 1;
1398 u64 stat_rdclr : 1;
1399 u64 stat_ena : 1;
1400 } cn68xx;
1401 struct cvmx_ilk_rx_lnex_cfg_cn68xxp1 {
1402 u64 reserved_5_63 : 59;
1403 u64 rx_bdry_sync : 1;
1404 u64 rx_dis_ukwn : 1;
1405 u64 rx_dis_scram : 1;
1406 u64 stat_rdclr : 1;
1407 u64 stat_ena : 1;
1408 } cn68xxp1;
1409 struct cvmx_ilk_rx_lnex_cfg_s cn78xx;
1410 struct cvmx_ilk_rx_lnex_cfg_s cn78xxp1;
1411};
1412
1413typedef union cvmx_ilk_rx_lnex_cfg cvmx_ilk_rx_lnex_cfg_t;
1414
1415/**
1416 * cvmx_ilk_rx_lne#_int
1417 */
1418union cvmx_ilk_rx_lnex_int {
1419 u64 u64;
1420 struct cvmx_ilk_rx_lnex_int_s {
1421 u64 reserved_10_63 : 54;
1422 u64 disp_err : 1;
1423 u64 bad_64b67b : 1;
1424 u64 stat_cnt_ovfl : 1;
1425 u64 stat_msg : 1;
1426 u64 dskew_fifo_ovfl : 1;
1427 u64 scrm_sync_loss : 1;
1428 u64 ukwn_cntl_word : 1;
1429 u64 crc32_err : 1;
1430 u64 bdry_sync_loss : 1;
1431 u64 serdes_lock_loss : 1;
1432 } s;
1433 struct cvmx_ilk_rx_lnex_int_cn68xx {
1434 u64 reserved_9_63 : 55;
1435 u64 bad_64b67b : 1;
1436 u64 stat_cnt_ovfl : 1;
1437 u64 stat_msg : 1;
1438 u64 dskew_fifo_ovfl : 1;
1439 u64 scrm_sync_loss : 1;
1440 u64 ukwn_cntl_word : 1;
1441 u64 crc32_err : 1;
1442 u64 bdry_sync_loss : 1;
1443 u64 serdes_lock_loss : 1;
1444 } cn68xx;
1445 struct cvmx_ilk_rx_lnex_int_cn68xx cn68xxp1;
1446 struct cvmx_ilk_rx_lnex_int_s cn78xx;
1447 struct cvmx_ilk_rx_lnex_int_s cn78xxp1;
1448};
1449
1450typedef union cvmx_ilk_rx_lnex_int cvmx_ilk_rx_lnex_int_t;
1451
1452/**
1453 * cvmx_ilk_rx_lne#_int_en
1454 */
1455union cvmx_ilk_rx_lnex_int_en {
1456 u64 u64;
1457 struct cvmx_ilk_rx_lnex_int_en_s {
1458 u64 reserved_9_63 : 55;
1459 u64 bad_64b67b : 1;
1460 u64 stat_cnt_ovfl : 1;
1461 u64 stat_msg : 1;
1462 u64 dskew_fifo_ovfl : 1;
1463 u64 scrm_sync_loss : 1;
1464 u64 ukwn_cntl_word : 1;
1465 u64 crc32_err : 1;
1466 u64 bdry_sync_loss : 1;
1467 u64 serdes_lock_loss : 1;
1468 } s;
1469 struct cvmx_ilk_rx_lnex_int_en_s cn68xx;
1470 struct cvmx_ilk_rx_lnex_int_en_s cn68xxp1;
1471};
1472
1473typedef union cvmx_ilk_rx_lnex_int_en cvmx_ilk_rx_lnex_int_en_t;
1474
1475/**
1476 * cvmx_ilk_rx_lne#_stat0
1477 */
1478union cvmx_ilk_rx_lnex_stat0 {
1479 u64 u64;
1480 struct cvmx_ilk_rx_lnex_stat0_s {
1481 u64 reserved_18_63 : 46;
1482 u64 ser_lock_loss_cnt : 18;
1483 } s;
1484 struct cvmx_ilk_rx_lnex_stat0_s cn68xx;
1485 struct cvmx_ilk_rx_lnex_stat0_s cn68xxp1;
1486 struct cvmx_ilk_rx_lnex_stat0_s cn78xx;
1487 struct cvmx_ilk_rx_lnex_stat0_s cn78xxp1;
1488};
1489
1490typedef union cvmx_ilk_rx_lnex_stat0 cvmx_ilk_rx_lnex_stat0_t;
1491
1492/**
1493 * cvmx_ilk_rx_lne#_stat1
1494 */
1495union cvmx_ilk_rx_lnex_stat1 {
1496 u64 u64;
1497 struct cvmx_ilk_rx_lnex_stat1_s {
1498 u64 reserved_18_63 : 46;
1499 u64 bdry_sync_loss_cnt : 18;
1500 } s;
1501 struct cvmx_ilk_rx_lnex_stat1_s cn68xx;
1502 struct cvmx_ilk_rx_lnex_stat1_s cn68xxp1;
1503 struct cvmx_ilk_rx_lnex_stat1_s cn78xx;
1504 struct cvmx_ilk_rx_lnex_stat1_s cn78xxp1;
1505};
1506
1507typedef union cvmx_ilk_rx_lnex_stat1 cvmx_ilk_rx_lnex_stat1_t;
1508
1509/**
1510 * cvmx_ilk_rx_lne#_stat10
1511 */
1512union cvmx_ilk_rx_lnex_stat10 {
1513 u64 u64;
1514 struct cvmx_ilk_rx_lnex_stat10_s {
1515 u64 reserved_43_63 : 21;
1516 u64 prbs_bad : 11;
1517 u64 reserved_11_31 : 21;
1518 u64 prbs_good : 11;
1519 } s;
1520 struct cvmx_ilk_rx_lnex_stat10_s cn78xx;
1521 struct cvmx_ilk_rx_lnex_stat10_s cn78xxp1;
1522};
1523
1524typedef union cvmx_ilk_rx_lnex_stat10 cvmx_ilk_rx_lnex_stat10_t;
1525
1526/**
1527 * cvmx_ilk_rx_lne#_stat2
1528 */
1529union cvmx_ilk_rx_lnex_stat2 {
1530 u64 u64;
1531 struct cvmx_ilk_rx_lnex_stat2_s {
1532 u64 reserved_50_63 : 14;
1533 u64 syncw_good_cnt : 18;
1534 u64 reserved_18_31 : 14;
1535 u64 syncw_bad_cnt : 18;
1536 } s;
1537 struct cvmx_ilk_rx_lnex_stat2_s cn68xx;
1538 struct cvmx_ilk_rx_lnex_stat2_s cn68xxp1;
1539 struct cvmx_ilk_rx_lnex_stat2_s cn78xx;
1540 struct cvmx_ilk_rx_lnex_stat2_s cn78xxp1;
1541};
1542
1543typedef union cvmx_ilk_rx_lnex_stat2 cvmx_ilk_rx_lnex_stat2_t;
1544
1545/**
1546 * cvmx_ilk_rx_lne#_stat3
1547 */
1548union cvmx_ilk_rx_lnex_stat3 {
1549 u64 u64;
1550 struct cvmx_ilk_rx_lnex_stat3_s {
1551 u64 reserved_18_63 : 46;
1552 u64 bad_64b67b_cnt : 18;
1553 } s;
1554 struct cvmx_ilk_rx_lnex_stat3_s cn68xx;
1555 struct cvmx_ilk_rx_lnex_stat3_s cn68xxp1;
1556 struct cvmx_ilk_rx_lnex_stat3_s cn78xx;
1557 struct cvmx_ilk_rx_lnex_stat3_s cn78xxp1;
1558};
1559
1560typedef union cvmx_ilk_rx_lnex_stat3 cvmx_ilk_rx_lnex_stat3_t;
1561
1562/**
1563 * cvmx_ilk_rx_lne#_stat4
1564 */
1565union cvmx_ilk_rx_lnex_stat4 {
1566 u64 u64;
1567 struct cvmx_ilk_rx_lnex_stat4_s {
1568 u64 reserved_59_63 : 5;
1569 u64 cntl_word_cnt : 27;
1570 u64 reserved_27_31 : 5;
1571 u64 data_word_cnt : 27;
1572 } s;
1573 struct cvmx_ilk_rx_lnex_stat4_s cn68xx;
1574 struct cvmx_ilk_rx_lnex_stat4_s cn68xxp1;
1575 struct cvmx_ilk_rx_lnex_stat4_s cn78xx;
1576 struct cvmx_ilk_rx_lnex_stat4_s cn78xxp1;
1577};
1578
1579typedef union cvmx_ilk_rx_lnex_stat4 cvmx_ilk_rx_lnex_stat4_t;
1580
1581/**
1582 * cvmx_ilk_rx_lne#_stat5
1583 */
1584union cvmx_ilk_rx_lnex_stat5 {
1585 u64 u64;
1586 struct cvmx_ilk_rx_lnex_stat5_s {
1587 u64 reserved_18_63 : 46;
1588 u64 unkwn_word_cnt : 18;
1589 } s;
1590 struct cvmx_ilk_rx_lnex_stat5_s cn68xx;
1591 struct cvmx_ilk_rx_lnex_stat5_s cn68xxp1;
1592 struct cvmx_ilk_rx_lnex_stat5_s cn78xx;
1593 struct cvmx_ilk_rx_lnex_stat5_s cn78xxp1;
1594};
1595
1596typedef union cvmx_ilk_rx_lnex_stat5 cvmx_ilk_rx_lnex_stat5_t;
1597
1598/**
1599 * cvmx_ilk_rx_lne#_stat6
1600 */
1601union cvmx_ilk_rx_lnex_stat6 {
1602 u64 u64;
1603 struct cvmx_ilk_rx_lnex_stat6_s {
1604 u64 reserved_18_63 : 46;
1605 u64 scrm_sync_loss_cnt : 18;
1606 } s;
1607 struct cvmx_ilk_rx_lnex_stat6_s cn68xx;
1608 struct cvmx_ilk_rx_lnex_stat6_s cn68xxp1;
1609 struct cvmx_ilk_rx_lnex_stat6_s cn78xx;
1610 struct cvmx_ilk_rx_lnex_stat6_s cn78xxp1;
1611};
1612
1613typedef union cvmx_ilk_rx_lnex_stat6 cvmx_ilk_rx_lnex_stat6_t;
1614
1615/**
1616 * cvmx_ilk_rx_lne#_stat7
1617 */
1618union cvmx_ilk_rx_lnex_stat7 {
1619 u64 u64;
1620 struct cvmx_ilk_rx_lnex_stat7_s {
1621 u64 reserved_18_63 : 46;
1622 u64 scrm_match_cnt : 18;
1623 } s;
1624 struct cvmx_ilk_rx_lnex_stat7_s cn68xx;
1625 struct cvmx_ilk_rx_lnex_stat7_s cn68xxp1;
1626 struct cvmx_ilk_rx_lnex_stat7_s cn78xx;
1627 struct cvmx_ilk_rx_lnex_stat7_s cn78xxp1;
1628};
1629
1630typedef union cvmx_ilk_rx_lnex_stat7 cvmx_ilk_rx_lnex_stat7_t;
1631
1632/**
1633 * cvmx_ilk_rx_lne#_stat8
1634 */
1635union cvmx_ilk_rx_lnex_stat8 {
1636 u64 u64;
1637 struct cvmx_ilk_rx_lnex_stat8_s {
1638 u64 reserved_18_63 : 46;
1639 u64 skipw_good_cnt : 18;
1640 } s;
1641 struct cvmx_ilk_rx_lnex_stat8_s cn68xx;
1642 struct cvmx_ilk_rx_lnex_stat8_s cn68xxp1;
1643 struct cvmx_ilk_rx_lnex_stat8_s cn78xx;
1644 struct cvmx_ilk_rx_lnex_stat8_s cn78xxp1;
1645};
1646
1647typedef union cvmx_ilk_rx_lnex_stat8 cvmx_ilk_rx_lnex_stat8_t;
1648
1649/**
1650 * cvmx_ilk_rx_lne#_stat9
1651 */
1652union cvmx_ilk_rx_lnex_stat9 {
1653 u64 u64;
1654 struct cvmx_ilk_rx_lnex_stat9_s {
1655 u64 reserved_50_63 : 14;
1656 u64 crc32_err_cnt : 18;
1657 u64 reserved_27_31 : 5;
1658 u64 crc32_match_cnt : 27;
1659 } s;
1660 struct cvmx_ilk_rx_lnex_stat9_s cn68xx;
1661 struct cvmx_ilk_rx_lnex_stat9_s cn68xxp1;
1662 struct cvmx_ilk_rx_lnex_stat9_s cn78xx;
1663 struct cvmx_ilk_rx_lnex_stat9_s cn78xxp1;
1664};
1665
1666typedef union cvmx_ilk_rx_lnex_stat9 cvmx_ilk_rx_lnex_stat9_t;
1667
1668/**
1669 * cvmx_ilk_rxf_idx_pmap
1670 */
1671union cvmx_ilk_rxf_idx_pmap {
1672 u64 u64;
1673 struct cvmx_ilk_rxf_idx_pmap_s {
1674 u64 reserved_25_63 : 39;
1675 u64 inc : 9;
1676 u64 reserved_9_15 : 7;
1677 u64 index : 9;
1678 } s;
1679 struct cvmx_ilk_rxf_idx_pmap_s cn68xx;
1680 struct cvmx_ilk_rxf_idx_pmap_s cn68xxp1;
1681};
1682
1683typedef union cvmx_ilk_rxf_idx_pmap cvmx_ilk_rxf_idx_pmap_t;
1684
1685/**
1686 * cvmx_ilk_rxf_mem_pmap
1687 */
1688union cvmx_ilk_rxf_mem_pmap {
1689 u64 u64;
1690 struct cvmx_ilk_rxf_mem_pmap_s {
1691 u64 reserved_6_63 : 58;
1692 u64 port_kind : 6;
1693 } s;
1694 struct cvmx_ilk_rxf_mem_pmap_s cn68xx;
1695 struct cvmx_ilk_rxf_mem_pmap_s cn68xxp1;
1696};
1697
1698typedef union cvmx_ilk_rxf_mem_pmap cvmx_ilk_rxf_mem_pmap_t;
1699
1700/**
1701 * cvmx_ilk_ser_cfg
1702 */
1703union cvmx_ilk_ser_cfg {
1704 u64 u64;
1705 struct cvmx_ilk_ser_cfg_s {
1706 u64 reserved_57_63 : 7;
1707 u64 ser_rxpol_auto : 1;
1708 u64 ser_rxpol : 16;
1709 u64 ser_txpol : 16;
1710 u64 ser_reset_n : 16;
1711 u64 ser_pwrup : 4;
1712 u64 ser_haul : 4;
1713 } s;
1714 struct cvmx_ilk_ser_cfg_cn68xx {
1715 u64 reserved_57_63 : 7;
1716 u64 ser_rxpol_auto : 1;
1717 u64 reserved_48_55 : 8;
1718 u64 ser_rxpol : 8;
1719 u64 reserved_32_39 : 8;
1720 u64 ser_txpol : 8;
1721 u64 reserved_16_23 : 8;
1722 u64 ser_reset_n : 8;
1723 u64 reserved_6_7 : 2;
1724 u64 ser_pwrup : 2;
1725 u64 reserved_2_3 : 2;
1726 u64 ser_haul : 2;
1727 } cn68xx;
1728 struct cvmx_ilk_ser_cfg_cn68xx cn68xxp1;
1729 struct cvmx_ilk_ser_cfg_s cn78xx;
1730 struct cvmx_ilk_ser_cfg_s cn78xxp1;
1731};
1732
1733typedef union cvmx_ilk_ser_cfg cvmx_ilk_ser_cfg_t;
1734
1735/**
1736 * cvmx_ilk_tx#_byte_cnt#
1737 */
1738union cvmx_ilk_txx_byte_cntx {
1739 u64 u64;
1740 struct cvmx_ilk_txx_byte_cntx_s {
1741 u64 reserved_40_63 : 24;
1742 u64 tx_bytes : 40;
1743 } s;
1744 struct cvmx_ilk_txx_byte_cntx_s cn78xx;
1745 struct cvmx_ilk_txx_byte_cntx_s cn78xxp1;
1746};
1747
1748typedef union cvmx_ilk_txx_byte_cntx cvmx_ilk_txx_byte_cntx_t;
1749
1750/**
1751 * cvmx_ilk_tx#_cal_entry#
1752 */
1753union cvmx_ilk_txx_cal_entryx {
1754 u64 u64;
1755 struct cvmx_ilk_txx_cal_entryx_s {
1756 u64 reserved_34_63 : 30;
1757 u64 ctl : 2;
1758 u64 reserved_8_31 : 24;
1759 u64 channel : 8;
1760 } s;
1761 struct cvmx_ilk_txx_cal_entryx_s cn78xx;
1762 struct cvmx_ilk_txx_cal_entryx_s cn78xxp1;
1763};
1764
1765typedef union cvmx_ilk_txx_cal_entryx cvmx_ilk_txx_cal_entryx_t;
1766
1767/**
1768 * cvmx_ilk_tx#_cfg0
1769 */
1770union cvmx_ilk_txx_cfg0 {
1771 u64 u64;
1772 struct cvmx_ilk_txx_cfg0_s {
1773 u64 ext_lpbk_fc : 1;
1774 u64 ext_lpbk : 1;
1775 u64 int_lpbk : 1;
1776 u64 txf_byp_dis : 1;
1777 u64 reserved_57_59 : 3;
1778 u64 ptrn_mode : 1;
1779 u64 lnk_stats_rdclr : 1;
1780 u64 lnk_stats_ena : 1;
1781 u64 mltuse_fc_ena : 1;
1782 u64 cal_ena : 1;
1783 u64 mfrm_len : 13;
1784 u64 brst_shrt : 7;
1785 u64 lane_rev : 1;
1786 u64 brst_max : 5;
1787 u64 reserved_25_25 : 1;
1788 u64 cal_depth : 9;
1789 u64 lane_ena : 16;
1790 } s;
1791 struct cvmx_ilk_txx_cfg0_cn68xx {
1792 u64 ext_lpbk_fc : 1;
1793 u64 ext_lpbk : 1;
1794 u64 int_lpbk : 1;
1795 u64 reserved_57_60 : 4;
1796 u64 ptrn_mode : 1;
1797 u64 reserved_55_55 : 1;
1798 u64 lnk_stats_ena : 1;
1799 u64 mltuse_fc_ena : 1;
1800 u64 cal_ena : 1;
1801 u64 mfrm_len : 13;
1802 u64 brst_shrt : 7;
1803 u64 lane_rev : 1;
1804 u64 brst_max : 5;
1805 u64 reserved_25_25 : 1;
1806 u64 cal_depth : 9;
1807 u64 reserved_8_15 : 8;
1808 u64 lane_ena : 8;
1809 } cn68xx;
1810 struct cvmx_ilk_txx_cfg0_cn68xx cn68xxp1;
1811 struct cvmx_ilk_txx_cfg0_s cn78xx;
1812 struct cvmx_ilk_txx_cfg0_s cn78xxp1;
1813};
1814
1815typedef union cvmx_ilk_txx_cfg0 cvmx_ilk_txx_cfg0_t;
1816
1817/**
1818 * cvmx_ilk_tx#_cfg1
1819 */
1820union cvmx_ilk_txx_cfg1 {
1821 u64 u64;
1822 struct cvmx_ilk_txx_cfg1_s {
1823 u64 ser_low : 4;
1824 u64 reserved_53_59 : 7;
1825 u64 brst_min : 5;
1826 u64 reserved_43_47 : 5;
1827 u64 ser_limit : 10;
1828 u64 pkt_busy : 1;
1829 u64 pipe_crd_dis : 1;
1830 u64 ptp_delay : 5;
1831 u64 skip_cnt : 4;
1832 u64 pkt_flush : 1;
1833 u64 pkt_ena : 1;
1834 u64 la_mode : 1;
1835 u64 tx_link_fc : 1;
1836 u64 rx_link_fc : 1;
1837 u64 reserved_12_16 : 5;
1838 u64 tx_link_fc_jam : 1;
1839 u64 rx_link_fc_pkt : 1;
1840 u64 rx_link_fc_ign : 1;
1841 u64 rmatch : 1;
1842 u64 tx_mltuse : 8;
1843 } s;
1844 struct cvmx_ilk_txx_cfg1_cn68xx {
1845 u64 reserved_33_63 : 31;
1846 u64 pkt_busy : 1;
1847 u64 pipe_crd_dis : 1;
1848 u64 ptp_delay : 5;
1849 u64 skip_cnt : 4;
1850 u64 pkt_flush : 1;
1851 u64 pkt_ena : 1;
1852 u64 la_mode : 1;
1853 u64 tx_link_fc : 1;
1854 u64 rx_link_fc : 1;
1855 u64 reserved_12_16 : 5;
1856 u64 tx_link_fc_jam : 1;
1857 u64 rx_link_fc_pkt : 1;
1858 u64 rx_link_fc_ign : 1;
1859 u64 rmatch : 1;
1860 u64 tx_mltuse : 8;
1861 } cn68xx;
1862 struct cvmx_ilk_txx_cfg1_cn68xxp1 {
1863 u64 reserved_32_63 : 32;
1864 u64 pipe_crd_dis : 1;
1865 u64 ptp_delay : 5;
1866 u64 skip_cnt : 4;
1867 u64 pkt_flush : 1;
1868 u64 pkt_ena : 1;
1869 u64 la_mode : 1;
1870 u64 tx_link_fc : 1;
1871 u64 rx_link_fc : 1;
1872 u64 reserved_12_16 : 5;
1873 u64 tx_link_fc_jam : 1;
1874 u64 rx_link_fc_pkt : 1;
1875 u64 rx_link_fc_ign : 1;
1876 u64 rmatch : 1;
1877 u64 tx_mltuse : 8;
1878 } cn68xxp1;
1879 struct cvmx_ilk_txx_cfg1_s cn78xx;
1880 struct cvmx_ilk_txx_cfg1_s cn78xxp1;
1881};
1882
1883typedef union cvmx_ilk_txx_cfg1 cvmx_ilk_txx_cfg1_t;
1884
1885/**
1886 * cvmx_ilk_tx#_cha_xon#
1887 */
1888union cvmx_ilk_txx_cha_xonx {
1889 u64 u64;
1890 struct cvmx_ilk_txx_cha_xonx_s {
1891 u64 status : 64;
1892 } s;
1893 struct cvmx_ilk_txx_cha_xonx_s cn78xx;
1894 struct cvmx_ilk_txx_cha_xonx_s cn78xxp1;
1895};
1896
1897typedef union cvmx_ilk_txx_cha_xonx cvmx_ilk_txx_cha_xonx_t;
1898
1899/**
1900 * cvmx_ilk_tx#_dbg
1901 */
1902union cvmx_ilk_txx_dbg {
1903 u64 u64;
1904 struct cvmx_ilk_txx_dbg_s {
1905 u64 reserved_29_63 : 35;
1906 u64 data_rate : 13;
1907 u64 low_delay : 6;
1908 u64 reserved_3_9 : 7;
1909 u64 tx_bad_crc24 : 1;
1910 u64 tx_bad_ctlw2 : 1;
1911 u64 tx_bad_ctlw1 : 1;
1912 } s;
1913 struct cvmx_ilk_txx_dbg_cn68xx {
1914 u64 reserved_3_63 : 61;
1915 u64 tx_bad_crc24 : 1;
1916 u64 tx_bad_ctlw2 : 1;
1917 u64 tx_bad_ctlw1 : 1;
1918 } cn68xx;
1919 struct cvmx_ilk_txx_dbg_cn68xx cn68xxp1;
1920 struct cvmx_ilk_txx_dbg_s cn78xx;
1921 struct cvmx_ilk_txx_dbg_s cn78xxp1;
1922};
1923
1924typedef union cvmx_ilk_txx_dbg cvmx_ilk_txx_dbg_t;
1925
1926/**
1927 * cvmx_ilk_tx#_err_cfg
1928 */
1929union cvmx_ilk_txx_err_cfg {
1930 u64 u64;
1931 struct cvmx_ilk_txx_err_cfg_s {
1932 u64 reserved_20_63 : 44;
1933 u64 fwc_flip : 2;
1934 u64 txf_flip : 2;
1935 u64 reserved_2_15 : 14;
1936 u64 fwc_cor_dis : 1;
1937 u64 txf_cor_dis : 1;
1938 } s;
1939 struct cvmx_ilk_txx_err_cfg_s cn78xx;
1940 struct cvmx_ilk_txx_err_cfg_s cn78xxp1;
1941};
1942
1943typedef union cvmx_ilk_txx_err_cfg cvmx_ilk_txx_err_cfg_t;
1944
1945/**
1946 * cvmx_ilk_tx#_flow_ctl0
1947 */
1948union cvmx_ilk_txx_flow_ctl0 {
1949 u64 u64;
1950 struct cvmx_ilk_txx_flow_ctl0_s {
1951 u64 status : 64;
1952 } s;
1953 struct cvmx_ilk_txx_flow_ctl0_s cn68xx;
1954 struct cvmx_ilk_txx_flow_ctl0_s cn68xxp1;
1955};
1956
1957typedef union cvmx_ilk_txx_flow_ctl0 cvmx_ilk_txx_flow_ctl0_t;
1958
1959/**
1960 * cvmx_ilk_tx#_flow_ctl1
1961 *
1962 * Notes:
1963 * Do not publish.
1964 *
1965 */
1966union cvmx_ilk_txx_flow_ctl1 {
1967 u64 u64;
1968 struct cvmx_ilk_txx_flow_ctl1_s {
1969 u64 reserved_0_63 : 64;
1970 } s;
1971 struct cvmx_ilk_txx_flow_ctl1_s cn68xx;
1972 struct cvmx_ilk_txx_flow_ctl1_s cn68xxp1;
1973};
1974
1975typedef union cvmx_ilk_txx_flow_ctl1 cvmx_ilk_txx_flow_ctl1_t;
1976
1977/**
1978 * cvmx_ilk_tx#_idx_cal
1979 */
1980union cvmx_ilk_txx_idx_cal {
1981 u64 u64;
1982 struct cvmx_ilk_txx_idx_cal_s {
1983 u64 reserved_14_63 : 50;
1984 u64 inc : 6;
1985 u64 reserved_6_7 : 2;
1986 u64 index : 6;
1987 } s;
1988 struct cvmx_ilk_txx_idx_cal_s cn68xx;
1989 struct cvmx_ilk_txx_idx_cal_s cn68xxp1;
1990};
1991
1992typedef union cvmx_ilk_txx_idx_cal cvmx_ilk_txx_idx_cal_t;
1993
1994/**
1995 * cvmx_ilk_tx#_idx_pmap
1996 */
1997union cvmx_ilk_txx_idx_pmap {
1998 u64 u64;
1999 struct cvmx_ilk_txx_idx_pmap_s {
2000 u64 reserved_23_63 : 41;
2001 u64 inc : 7;
2002 u64 reserved_7_15 : 9;
2003 u64 index : 7;
2004 } s;
2005 struct cvmx_ilk_txx_idx_pmap_s cn68xx;
2006 struct cvmx_ilk_txx_idx_pmap_s cn68xxp1;
2007};
2008
2009typedef union cvmx_ilk_txx_idx_pmap cvmx_ilk_txx_idx_pmap_t;
2010
2011/**
2012 * cvmx_ilk_tx#_idx_stat0
2013 */
2014union cvmx_ilk_txx_idx_stat0 {
2015 u64 u64;
2016 struct cvmx_ilk_txx_idx_stat0_s {
2017 u64 reserved_32_63 : 32;
2018 u64 clr : 1;
2019 u64 reserved_24_30 : 7;
2020 u64 inc : 8;
2021 u64 reserved_8_15 : 8;
2022 u64 index : 8;
2023 } s;
2024 struct cvmx_ilk_txx_idx_stat0_s cn68xx;
2025 struct cvmx_ilk_txx_idx_stat0_s cn68xxp1;
2026};
2027
2028typedef union cvmx_ilk_txx_idx_stat0 cvmx_ilk_txx_idx_stat0_t;
2029
2030/**
2031 * cvmx_ilk_tx#_idx_stat1
2032 */
2033union cvmx_ilk_txx_idx_stat1 {
2034 u64 u64;
2035 struct cvmx_ilk_txx_idx_stat1_s {
2036 u64 reserved_32_63 : 32;
2037 u64 clr : 1;
2038 u64 reserved_24_30 : 7;
2039 u64 inc : 8;
2040 u64 reserved_8_15 : 8;
2041 u64 index : 8;
2042 } s;
2043 struct cvmx_ilk_txx_idx_stat1_s cn68xx;
2044 struct cvmx_ilk_txx_idx_stat1_s cn68xxp1;
2045};
2046
2047typedef union cvmx_ilk_txx_idx_stat1 cvmx_ilk_txx_idx_stat1_t;
2048
2049/**
2050 * cvmx_ilk_tx#_int
2051 */
2052union cvmx_ilk_txx_int {
2053 u64 u64;
2054 struct cvmx_ilk_txx_int_s {
2055 u64 reserved_8_63 : 56;
2056 u64 fwc_dbe : 1;
2057 u64 fwc_sbe : 1;
2058 u64 txf_dbe : 1;
2059 u64 txf_sbe : 1;
2060 u64 stat_cnt_ovfl : 1;
2061 u64 bad_pipe : 1;
2062 u64 bad_seq : 1;
2063 u64 txf_err : 1;
2064 } s;
2065 struct cvmx_ilk_txx_int_cn68xx {
2066 u64 reserved_4_63 : 60;
2067 u64 stat_cnt_ovfl : 1;
2068 u64 bad_pipe : 1;
2069 u64 bad_seq : 1;
2070 u64 txf_err : 1;
2071 } cn68xx;
2072 struct cvmx_ilk_txx_int_cn68xx cn68xxp1;
2073 struct cvmx_ilk_txx_int_s cn78xx;
2074 struct cvmx_ilk_txx_int_s cn78xxp1;
2075};
2076
2077typedef union cvmx_ilk_txx_int cvmx_ilk_txx_int_t;
2078
2079/**
2080 * cvmx_ilk_tx#_int_en
2081 */
2082union cvmx_ilk_txx_int_en {
2083 u64 u64;
2084 struct cvmx_ilk_txx_int_en_s {
2085 u64 reserved_4_63 : 60;
2086 u64 stat_cnt_ovfl : 1;
2087 u64 bad_pipe : 1;
2088 u64 bad_seq : 1;
2089 u64 txf_err : 1;
2090 } s;
2091 struct cvmx_ilk_txx_int_en_s cn68xx;
2092 struct cvmx_ilk_txx_int_en_s cn68xxp1;
2093};
2094
2095typedef union cvmx_ilk_txx_int_en cvmx_ilk_txx_int_en_t;
2096
2097/**
2098 * cvmx_ilk_tx#_mem_cal0
2099 *
2100 * Notes:
2101 * Software must always read ILK_TXx_MEM_CAL0 then ILK_TXx_MEM_CAL1. Software
2102 * must never read them in reverse order or read one without reading the
2103 * other.
2104 *
2105 * Software must always write ILK_TXx_MEM_CAL0 then ILK_TXx_MEM_CAL1.
2106 * Software must never write them in reverse order or write one without
2107 * writing the other.
2108 */
2109union cvmx_ilk_txx_mem_cal0 {
2110 u64 u64;
2111 struct cvmx_ilk_txx_mem_cal0_s {
2112 u64 reserved_36_63 : 28;
2113 u64 entry_ctl3 : 2;
2114 u64 reserved_33_33 : 1;
2115 u64 bpid3 : 6;
2116 u64 entry_ctl2 : 2;
2117 u64 reserved_24_24 : 1;
2118 u64 bpid2 : 6;
2119 u64 entry_ctl1 : 2;
2120 u64 reserved_15_15 : 1;
2121 u64 bpid1 : 6;
2122 u64 entry_ctl0 : 2;
2123 u64 reserved_6_6 : 1;
2124 u64 bpid0 : 6;
2125 } s;
2126 struct cvmx_ilk_txx_mem_cal0_s cn68xx;
2127 struct cvmx_ilk_txx_mem_cal0_s cn68xxp1;
2128};
2129
2130typedef union cvmx_ilk_txx_mem_cal0 cvmx_ilk_txx_mem_cal0_t;
2131
2132/**
2133 * cvmx_ilk_tx#_mem_cal1
2134 *
2135 * Notes:
2136 * Software must always read ILK_TXx_MEM_CAL0 then ILK_TXx_MEM_CAL1. Software
2137 * must never read them in reverse order or read one without reading the
2138 * other.
2139 *
2140 * Software must always write ILK_TXx_MEM_CAL0 then ILK_TXx_MEM_CAL1.
2141 * Software must never write them in reverse order or write one without
2142 * writing the other.
2143 */
2144union cvmx_ilk_txx_mem_cal1 {
2145 u64 u64;
2146 struct cvmx_ilk_txx_mem_cal1_s {
2147 u64 reserved_36_63 : 28;
2148 u64 entry_ctl7 : 2;
2149 u64 reserved_33_33 : 1;
2150 u64 bpid7 : 6;
2151 u64 entry_ctl6 : 2;
2152 u64 reserved_24_24 : 1;
2153 u64 bpid6 : 6;
2154 u64 entry_ctl5 : 2;
2155 u64 reserved_15_15 : 1;
2156 u64 bpid5 : 6;
2157 u64 entry_ctl4 : 2;
2158 u64 reserved_6_6 : 1;
2159 u64 bpid4 : 6;
2160 } s;
2161 struct cvmx_ilk_txx_mem_cal1_s cn68xx;
2162 struct cvmx_ilk_txx_mem_cal1_s cn68xxp1;
2163};
2164
2165typedef union cvmx_ilk_txx_mem_cal1 cvmx_ilk_txx_mem_cal1_t;
2166
2167/**
2168 * cvmx_ilk_tx#_mem_pmap
2169 */
2170union cvmx_ilk_txx_mem_pmap {
2171 u64 u64;
2172 struct cvmx_ilk_txx_mem_pmap_s {
2173 u64 reserved_17_63 : 47;
2174 u64 remap : 1;
2175 u64 reserved_8_15 : 8;
2176 u64 channel : 8;
2177 } s;
2178 struct cvmx_ilk_txx_mem_pmap_s cn68xx;
2179 struct cvmx_ilk_txx_mem_pmap_cn68xxp1 {
2180 u64 reserved_8_63 : 56;
2181 u64 channel : 8;
2182 } cn68xxp1;
2183};
2184
2185typedef union cvmx_ilk_txx_mem_pmap cvmx_ilk_txx_mem_pmap_t;
2186
2187/**
2188 * cvmx_ilk_tx#_mem_stat0
2189 */
2190union cvmx_ilk_txx_mem_stat0 {
2191 u64 u64;
2192 struct cvmx_ilk_txx_mem_stat0_s {
2193 u64 reserved_28_63 : 36;
2194 u64 tx_pkt : 28;
2195 } s;
2196 struct cvmx_ilk_txx_mem_stat0_s cn68xx;
2197 struct cvmx_ilk_txx_mem_stat0_s cn68xxp1;
2198};
2199
2200typedef union cvmx_ilk_txx_mem_stat0 cvmx_ilk_txx_mem_stat0_t;
2201
2202/**
2203 * cvmx_ilk_tx#_mem_stat1
2204 */
2205union cvmx_ilk_txx_mem_stat1 {
2206 u64 u64;
2207 struct cvmx_ilk_txx_mem_stat1_s {
2208 u64 reserved_36_63 : 28;
2209 u64 tx_bytes : 36;
2210 } s;
2211 struct cvmx_ilk_txx_mem_stat1_s cn68xx;
2212 struct cvmx_ilk_txx_mem_stat1_s cn68xxp1;
2213};
2214
2215typedef union cvmx_ilk_txx_mem_stat1 cvmx_ilk_txx_mem_stat1_t;
2216
2217/**
2218 * cvmx_ilk_tx#_pipe
2219 */
2220union cvmx_ilk_txx_pipe {
2221 u64 u64;
2222 struct cvmx_ilk_txx_pipe_s {
2223 u64 reserved_24_63 : 40;
2224 u64 nump : 8;
2225 u64 reserved_7_15 : 9;
2226 u64 base : 7;
2227 } s;
2228 struct cvmx_ilk_txx_pipe_s cn68xx;
2229 struct cvmx_ilk_txx_pipe_s cn68xxp1;
2230};
2231
2232typedef union cvmx_ilk_txx_pipe cvmx_ilk_txx_pipe_t;
2233
2234/**
2235 * cvmx_ilk_tx#_pkt_cnt#
2236 */
2237union cvmx_ilk_txx_pkt_cntx {
2238 u64 u64;
2239 struct cvmx_ilk_txx_pkt_cntx_s {
2240 u64 reserved_34_63 : 30;
2241 u64 tx_pkt : 34;
2242 } s;
2243 struct cvmx_ilk_txx_pkt_cntx_s cn78xx;
2244 struct cvmx_ilk_txx_pkt_cntx_s cn78xxp1;
2245};
2246
2247typedef union cvmx_ilk_txx_pkt_cntx cvmx_ilk_txx_pkt_cntx_t;
2248
2249/**
2250 * cvmx_ilk_tx#_rmatch
2251 */
2252union cvmx_ilk_txx_rmatch {
2253 u64 u64;
2254 struct cvmx_ilk_txx_rmatch_s {
2255 u64 reserved_50_63 : 14;
2256 u64 grnlrty : 2;
2257 u64 brst_limit : 16;
2258 u64 time_limit : 16;
2259 u64 rate_limit : 16;
2260 } s;
2261 struct cvmx_ilk_txx_rmatch_s cn68xx;
2262 struct cvmx_ilk_txx_rmatch_s cn68xxp1;
2263 struct cvmx_ilk_txx_rmatch_s cn78xx;
2264 struct cvmx_ilk_txx_rmatch_s cn78xxp1;
2265};
2266
2267typedef union cvmx_ilk_txx_rmatch cvmx_ilk_txx_rmatch_t;
2268
2269#endif