1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2012 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT.  See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_IOB_DEFS_H__
29#define __CVMX_IOB_DEFS_H__
30
31#define CVMX_IOB_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800F00007F8ull))
32#define CVMX_IOB_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011800F0000050ull))
33#define CVMX_IOB_DWB_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000028ull))
34#define CVMX_IOB_FAU_TIMEOUT (CVMX_ADD_IO_SEG(0x00011800F0000000ull))
35#define CVMX_IOB_I2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000010ull))
36#define CVMX_IOB_INB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000078ull))
37#define CVMX_IOB_INB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000088ull))
38#define CVMX_IOB_INB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000070ull))
39#define CVMX_IOB_INB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000080ull))
40#define CVMX_IOB_INT_ENB (CVMX_ADD_IO_SEG(0x00011800F0000060ull))
41#define CVMX_IOB_INT_SUM (CVMX_ADD_IO_SEG(0x00011800F0000058ull))
42#define CVMX_IOB_N2C_L2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000020ull))
43#define CVMX_IOB_N2C_RSP_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000008ull))
44#define CVMX_IOB_OUTB_COM_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000040ull))
45#define CVMX_IOB_OUTB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000098ull))
46#define CVMX_IOB_OUTB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A8ull))
47#define CVMX_IOB_OUTB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000090ull))
48#define CVMX_IOB_OUTB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A0ull))
49#define CVMX_IOB_OUTB_FPA_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000048ull))
50#define CVMX_IOB_OUTB_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000038ull))
51#define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull))
52#define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull))
53#define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull))
54#define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull))
55#define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull))
56#define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull))
57#define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull))
58#define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull))
59#define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull))
60#define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull))
61#define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull))
62#define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull))
63#define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull))
64#define CVMX_IOB_TO_NCB_DID_98_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B10ull))
65
66union cvmx_iob_bist_status {
67	uint64_t u64;
68	struct cvmx_iob_bist_status_s {
69#ifdef __BIG_ENDIAN_BITFIELD
70		uint64_t reserved_2_63:62;
71		uint64_t ibd:1;
72		uint64_t icd:1;
73#else
74		uint64_t icd:1;
75		uint64_t ibd:1;
76		uint64_t reserved_2_63:62;
77#endif
78	} s;
79	struct cvmx_iob_bist_status_cn30xx {
80#ifdef __BIG_ENDIAN_BITFIELD
81		uint64_t reserved_18_63:46;
82		uint64_t icnrcb:1;
83		uint64_t icr0:1;
84		uint64_t icr1:1;
85		uint64_t icnr1:1;
86		uint64_t icnr0:1;
87		uint64_t ibdr0:1;
88		uint64_t ibdr1:1;
89		uint64_t ibr0:1;
90		uint64_t ibr1:1;
91		uint64_t icnrt:1;
92		uint64_t ibrq0:1;
93		uint64_t ibrq1:1;
94		uint64_t icrn0:1;
95		uint64_t icrn1:1;
96		uint64_t icrp0:1;
97		uint64_t icrp1:1;
98		uint64_t ibd:1;
99		uint64_t icd:1;
100#else
101		uint64_t icd:1;
102		uint64_t ibd:1;
103		uint64_t icrp1:1;
104		uint64_t icrp0:1;
105		uint64_t icrn1:1;
106		uint64_t icrn0:1;
107		uint64_t ibrq1:1;
108		uint64_t ibrq0:1;
109		uint64_t icnrt:1;
110		uint64_t ibr1:1;
111		uint64_t ibr0:1;
112		uint64_t ibdr1:1;
113		uint64_t ibdr0:1;
114		uint64_t icnr0:1;
115		uint64_t icnr1:1;
116		uint64_t icr1:1;
117		uint64_t icr0:1;
118		uint64_t icnrcb:1;
119		uint64_t reserved_18_63:46;
120#endif
121	} cn30xx;
122	struct cvmx_iob_bist_status_cn30xx cn31xx;
123	struct cvmx_iob_bist_status_cn30xx cn38xx;
124	struct cvmx_iob_bist_status_cn30xx cn38xxp2;
125	struct cvmx_iob_bist_status_cn30xx cn50xx;
126	struct cvmx_iob_bist_status_cn30xx cn52xx;
127	struct cvmx_iob_bist_status_cn30xx cn52xxp1;
128	struct cvmx_iob_bist_status_cn30xx cn56xx;
129	struct cvmx_iob_bist_status_cn30xx cn56xxp1;
130	struct cvmx_iob_bist_status_cn30xx cn58xx;
131	struct cvmx_iob_bist_status_cn30xx cn58xxp1;
132	struct cvmx_iob_bist_status_cn61xx {
133#ifdef __BIG_ENDIAN_BITFIELD
134		uint64_t reserved_23_63:41;
135		uint64_t xmdfif:1;
136		uint64_t xmcfif:1;
137		uint64_t iorfif:1;
138		uint64_t rsdfif:1;
139		uint64_t iocfif:1;
140		uint64_t icnrcb:1;
141		uint64_t icr0:1;
142		uint64_t icr1:1;
143		uint64_t icnr1:1;
144		uint64_t icnr0:1;
145		uint64_t ibdr0:1;
146		uint64_t ibdr1:1;
147		uint64_t ibr0:1;
148		uint64_t ibr1:1;
149		uint64_t icnrt:1;
150		uint64_t ibrq0:1;
151		uint64_t ibrq1:1;
152		uint64_t icrn0:1;
153		uint64_t icrn1:1;
154		uint64_t icrp0:1;
155		uint64_t icrp1:1;
156		uint64_t ibd:1;
157		uint64_t icd:1;
158#else
159		uint64_t icd:1;
160		uint64_t ibd:1;
161		uint64_t icrp1:1;
162		uint64_t icrp0:1;
163		uint64_t icrn1:1;
164		uint64_t icrn0:1;
165		uint64_t ibrq1:1;
166		uint64_t ibrq0:1;
167		uint64_t icnrt:1;
168		uint64_t ibr1:1;
169		uint64_t ibr0:1;
170		uint64_t ibdr1:1;
171		uint64_t ibdr0:1;
172		uint64_t icnr0:1;
173		uint64_t icnr1:1;
174		uint64_t icr1:1;
175		uint64_t icr0:1;
176		uint64_t icnrcb:1;
177		uint64_t iocfif:1;
178		uint64_t rsdfif:1;
179		uint64_t iorfif:1;
180		uint64_t xmcfif:1;
181		uint64_t xmdfif:1;
182		uint64_t reserved_23_63:41;
183#endif
184	} cn61xx;
185	struct cvmx_iob_bist_status_cn61xx cn63xx;
186	struct cvmx_iob_bist_status_cn61xx cn63xxp1;
187	struct cvmx_iob_bist_status_cn61xx cn66xx;
188	struct cvmx_iob_bist_status_cn68xx {
189#ifdef __BIG_ENDIAN_BITFIELD
190		uint64_t reserved_18_63:46;
191		uint64_t xmdfif:1;
192		uint64_t xmcfif:1;
193		uint64_t iorfif:1;
194		uint64_t rsdfif:1;
195		uint64_t iocfif:1;
196		uint64_t icnrcb:1;
197		uint64_t icr0:1;
198		uint64_t icr1:1;
199		uint64_t icnr0:1;
200		uint64_t ibr0:1;
201		uint64_t ibr1:1;
202		uint64_t icnrt:1;
203		uint64_t ibrq0:1;
204		uint64_t ibrq1:1;
205		uint64_t icrn0:1;
206		uint64_t icrn1:1;
207		uint64_t ibd:1;
208		uint64_t icd:1;
209#else
210		uint64_t icd:1;
211		uint64_t ibd:1;
212		uint64_t icrn1:1;
213		uint64_t icrn0:1;
214		uint64_t ibrq1:1;
215		uint64_t ibrq0:1;
216		uint64_t icnrt:1;
217		uint64_t ibr1:1;
218		uint64_t ibr0:1;
219		uint64_t icnr0:1;
220		uint64_t icr1:1;
221		uint64_t icr0:1;
222		uint64_t icnrcb:1;
223		uint64_t iocfif:1;
224		uint64_t rsdfif:1;
225		uint64_t iorfif:1;
226		uint64_t xmcfif:1;
227		uint64_t xmdfif:1;
228		uint64_t reserved_18_63:46;
229#endif
230	} cn68xx;
231	struct cvmx_iob_bist_status_cn68xx cn68xxp1;
232	struct cvmx_iob_bist_status_cn61xx cnf71xx;
233};
234
235union cvmx_iob_ctl_status {
236	uint64_t u64;
237	struct cvmx_iob_ctl_status_s {
238#ifdef __BIG_ENDIAN_BITFIELD
239		uint64_t reserved_11_63:53;
240		uint64_t fif_dly:1;
241		uint64_t xmc_per:4;
242		uint64_t reserved_5_5:1;
243		uint64_t outb_mat:1;
244		uint64_t inb_mat:1;
245		uint64_t pko_enb:1;
246		uint64_t dwb_enb:1;
247		uint64_t fau_end:1;
248#else
249		uint64_t fau_end:1;
250		uint64_t dwb_enb:1;
251		uint64_t pko_enb:1;
252		uint64_t inb_mat:1;
253		uint64_t outb_mat:1;
254		uint64_t reserved_5_5:1;
255		uint64_t xmc_per:4;
256		uint64_t fif_dly:1;
257		uint64_t reserved_11_63:53;
258#endif
259	} s;
260	struct cvmx_iob_ctl_status_cn30xx {
261#ifdef __BIG_ENDIAN_BITFIELD
262		uint64_t reserved_5_63:59;
263		uint64_t outb_mat:1;
264		uint64_t inb_mat:1;
265		uint64_t pko_enb:1;
266		uint64_t dwb_enb:1;
267		uint64_t fau_end:1;
268#else
269		uint64_t fau_end:1;
270		uint64_t dwb_enb:1;
271		uint64_t pko_enb:1;
272		uint64_t inb_mat:1;
273		uint64_t outb_mat:1;
274		uint64_t reserved_5_63:59;
275#endif
276	} cn30xx;
277	struct cvmx_iob_ctl_status_cn30xx cn31xx;
278	struct cvmx_iob_ctl_status_cn30xx cn38xx;
279	struct cvmx_iob_ctl_status_cn30xx cn38xxp2;
280	struct cvmx_iob_ctl_status_cn30xx cn50xx;
281	struct cvmx_iob_ctl_status_cn52xx {
282#ifdef __BIG_ENDIAN_BITFIELD
283		uint64_t reserved_6_63:58;
284		uint64_t rr_mode:1;
285		uint64_t outb_mat:1;
286		uint64_t inb_mat:1;
287		uint64_t pko_enb:1;
288		uint64_t dwb_enb:1;
289		uint64_t fau_end:1;
290#else
291		uint64_t fau_end:1;
292		uint64_t dwb_enb:1;
293		uint64_t pko_enb:1;
294		uint64_t inb_mat:1;
295		uint64_t outb_mat:1;
296		uint64_t rr_mode:1;
297		uint64_t reserved_6_63:58;
298#endif
299	} cn52xx;
300	struct cvmx_iob_ctl_status_cn30xx cn52xxp1;
301	struct cvmx_iob_ctl_status_cn30xx cn56xx;
302	struct cvmx_iob_ctl_status_cn30xx cn56xxp1;
303	struct cvmx_iob_ctl_status_cn30xx cn58xx;
304	struct cvmx_iob_ctl_status_cn30xx cn58xxp1;
305	struct cvmx_iob_ctl_status_cn61xx {
306#ifdef __BIG_ENDIAN_BITFIELD
307		uint64_t reserved_11_63:53;
308		uint64_t fif_dly:1;
309		uint64_t xmc_per:4;
310		uint64_t rr_mode:1;
311		uint64_t outb_mat:1;
312		uint64_t inb_mat:1;
313		uint64_t pko_enb:1;
314		uint64_t dwb_enb:1;
315		uint64_t fau_end:1;
316#else
317		uint64_t fau_end:1;
318		uint64_t dwb_enb:1;
319		uint64_t pko_enb:1;
320		uint64_t inb_mat:1;
321		uint64_t outb_mat:1;
322		uint64_t rr_mode:1;
323		uint64_t xmc_per:4;
324		uint64_t fif_dly:1;
325		uint64_t reserved_11_63:53;
326#endif
327	} cn61xx;
328	struct cvmx_iob_ctl_status_cn63xx {
329#ifdef __BIG_ENDIAN_BITFIELD
330		uint64_t reserved_10_63:54;
331		uint64_t xmc_per:4;
332		uint64_t rr_mode:1;
333		uint64_t outb_mat:1;
334		uint64_t inb_mat:1;
335		uint64_t pko_enb:1;
336		uint64_t dwb_enb:1;
337		uint64_t fau_end:1;
338#else
339		uint64_t fau_end:1;
340		uint64_t dwb_enb:1;
341		uint64_t pko_enb:1;
342		uint64_t inb_mat:1;
343		uint64_t outb_mat:1;
344		uint64_t rr_mode:1;
345		uint64_t xmc_per:4;
346		uint64_t reserved_10_63:54;
347#endif
348	} cn63xx;
349	struct cvmx_iob_ctl_status_cn63xx cn63xxp1;
350	struct cvmx_iob_ctl_status_cn61xx cn66xx;
351	struct cvmx_iob_ctl_status_cn68xx {
352#ifdef __BIG_ENDIAN_BITFIELD
353		uint64_t reserved_11_63:53;
354		uint64_t fif_dly:1;
355		uint64_t xmc_per:4;
356		uint64_t rsvr5:1;
357		uint64_t outb_mat:1;
358		uint64_t inb_mat:1;
359		uint64_t pko_enb:1;
360		uint64_t dwb_enb:1;
361		uint64_t fau_end:1;
362#else
363		uint64_t fau_end:1;
364		uint64_t dwb_enb:1;
365		uint64_t pko_enb:1;
366		uint64_t inb_mat:1;
367		uint64_t outb_mat:1;
368		uint64_t rsvr5:1;
369		uint64_t xmc_per:4;
370		uint64_t fif_dly:1;
371		uint64_t reserved_11_63:53;
372#endif
373	} cn68xx;
374	struct cvmx_iob_ctl_status_cn68xx cn68xxp1;
375	struct cvmx_iob_ctl_status_cn61xx cnf71xx;
376};
377
378union cvmx_iob_dwb_pri_cnt {
379	uint64_t u64;
380	struct cvmx_iob_dwb_pri_cnt_s {
381#ifdef __BIG_ENDIAN_BITFIELD
382		uint64_t reserved_16_63:48;
383		uint64_t cnt_enb:1;
384		uint64_t cnt_val:15;
385#else
386		uint64_t cnt_val:15;
387		uint64_t cnt_enb:1;
388		uint64_t reserved_16_63:48;
389#endif
390	} s;
391	struct cvmx_iob_dwb_pri_cnt_s cn38xx;
392	struct cvmx_iob_dwb_pri_cnt_s cn38xxp2;
393	struct cvmx_iob_dwb_pri_cnt_s cn52xx;
394	struct cvmx_iob_dwb_pri_cnt_s cn52xxp1;
395	struct cvmx_iob_dwb_pri_cnt_s cn56xx;
396	struct cvmx_iob_dwb_pri_cnt_s cn56xxp1;
397	struct cvmx_iob_dwb_pri_cnt_s cn58xx;
398	struct cvmx_iob_dwb_pri_cnt_s cn58xxp1;
399	struct cvmx_iob_dwb_pri_cnt_s cn61xx;
400	struct cvmx_iob_dwb_pri_cnt_s cn63xx;
401	struct cvmx_iob_dwb_pri_cnt_s cn63xxp1;
402	struct cvmx_iob_dwb_pri_cnt_s cn66xx;
403	struct cvmx_iob_dwb_pri_cnt_s cnf71xx;
404};
405
406union cvmx_iob_fau_timeout {
407	uint64_t u64;
408	struct cvmx_iob_fau_timeout_s {
409#ifdef __BIG_ENDIAN_BITFIELD
410		uint64_t reserved_13_63:51;
411		uint64_t tout_enb:1;
412		uint64_t tout_val:12;
413#else
414		uint64_t tout_val:12;
415		uint64_t tout_enb:1;
416		uint64_t reserved_13_63:51;
417#endif
418	} s;
419	struct cvmx_iob_fau_timeout_s cn30xx;
420	struct cvmx_iob_fau_timeout_s cn31xx;
421	struct cvmx_iob_fau_timeout_s cn38xx;
422	struct cvmx_iob_fau_timeout_s cn38xxp2;
423	struct cvmx_iob_fau_timeout_s cn50xx;
424	struct cvmx_iob_fau_timeout_s cn52xx;
425	struct cvmx_iob_fau_timeout_s cn52xxp1;
426	struct cvmx_iob_fau_timeout_s cn56xx;
427	struct cvmx_iob_fau_timeout_s cn56xxp1;
428	struct cvmx_iob_fau_timeout_s cn58xx;
429	struct cvmx_iob_fau_timeout_s cn58xxp1;
430	struct cvmx_iob_fau_timeout_s cn61xx;
431	struct cvmx_iob_fau_timeout_s cn63xx;
432	struct cvmx_iob_fau_timeout_s cn63xxp1;
433	struct cvmx_iob_fau_timeout_s cn66xx;
434	struct cvmx_iob_fau_timeout_s cn68xx;
435	struct cvmx_iob_fau_timeout_s cn68xxp1;
436	struct cvmx_iob_fau_timeout_s cnf71xx;
437};
438
439union cvmx_iob_i2c_pri_cnt {
440	uint64_t u64;
441	struct cvmx_iob_i2c_pri_cnt_s {
442#ifdef __BIG_ENDIAN_BITFIELD
443		uint64_t reserved_16_63:48;
444		uint64_t cnt_enb:1;
445		uint64_t cnt_val:15;
446#else
447		uint64_t cnt_val:15;
448		uint64_t cnt_enb:1;
449		uint64_t reserved_16_63:48;
450#endif
451	} s;
452	struct cvmx_iob_i2c_pri_cnt_s cn38xx;
453	struct cvmx_iob_i2c_pri_cnt_s cn38xxp2;
454	struct cvmx_iob_i2c_pri_cnt_s cn52xx;
455	struct cvmx_iob_i2c_pri_cnt_s cn52xxp1;
456	struct cvmx_iob_i2c_pri_cnt_s cn56xx;
457	struct cvmx_iob_i2c_pri_cnt_s cn56xxp1;
458	struct cvmx_iob_i2c_pri_cnt_s cn58xx;
459	struct cvmx_iob_i2c_pri_cnt_s cn58xxp1;
460	struct cvmx_iob_i2c_pri_cnt_s cn61xx;
461	struct cvmx_iob_i2c_pri_cnt_s cn63xx;
462	struct cvmx_iob_i2c_pri_cnt_s cn63xxp1;
463	struct cvmx_iob_i2c_pri_cnt_s cn66xx;
464	struct cvmx_iob_i2c_pri_cnt_s cnf71xx;
465};
466
467union cvmx_iob_inb_control_match {
468	uint64_t u64;
469	struct cvmx_iob_inb_control_match_s {
470#ifdef __BIG_ENDIAN_BITFIELD
471		uint64_t reserved_29_63:35;
472		uint64_t mask:8;
473		uint64_t opc:4;
474		uint64_t dst:9;
475		uint64_t src:8;
476#else
477		uint64_t src:8;
478		uint64_t dst:9;
479		uint64_t opc:4;
480		uint64_t mask:8;
481		uint64_t reserved_29_63:35;
482#endif
483	} s;
484	struct cvmx_iob_inb_control_match_s cn30xx;
485	struct cvmx_iob_inb_control_match_s cn31xx;
486	struct cvmx_iob_inb_control_match_s cn38xx;
487	struct cvmx_iob_inb_control_match_s cn38xxp2;
488	struct cvmx_iob_inb_control_match_s cn50xx;
489	struct cvmx_iob_inb_control_match_s cn52xx;
490	struct cvmx_iob_inb_control_match_s cn52xxp1;
491	struct cvmx_iob_inb_control_match_s cn56xx;
492	struct cvmx_iob_inb_control_match_s cn56xxp1;
493	struct cvmx_iob_inb_control_match_s cn58xx;
494	struct cvmx_iob_inb_control_match_s cn58xxp1;
495	struct cvmx_iob_inb_control_match_s cn61xx;
496	struct cvmx_iob_inb_control_match_s cn63xx;
497	struct cvmx_iob_inb_control_match_s cn63xxp1;
498	struct cvmx_iob_inb_control_match_s cn66xx;
499	struct cvmx_iob_inb_control_match_s cn68xx;
500	struct cvmx_iob_inb_control_match_s cn68xxp1;
501	struct cvmx_iob_inb_control_match_s cnf71xx;
502};
503
504union cvmx_iob_inb_control_match_enb {
505	uint64_t u64;
506	struct cvmx_iob_inb_control_match_enb_s {
507#ifdef __BIG_ENDIAN_BITFIELD
508		uint64_t reserved_29_63:35;
509		uint64_t mask:8;
510		uint64_t opc:4;
511		uint64_t dst:9;
512		uint64_t src:8;
513#else
514		uint64_t src:8;
515		uint64_t dst:9;
516		uint64_t opc:4;
517		uint64_t mask:8;
518		uint64_t reserved_29_63:35;
519#endif
520	} s;
521	struct cvmx_iob_inb_control_match_enb_s cn30xx;
522	struct cvmx_iob_inb_control_match_enb_s cn31xx;
523	struct cvmx_iob_inb_control_match_enb_s cn38xx;
524	struct cvmx_iob_inb_control_match_enb_s cn38xxp2;
525	struct cvmx_iob_inb_control_match_enb_s cn50xx;
526	struct cvmx_iob_inb_control_match_enb_s cn52xx;
527	struct cvmx_iob_inb_control_match_enb_s cn52xxp1;
528	struct cvmx_iob_inb_control_match_enb_s cn56xx;
529	struct cvmx_iob_inb_control_match_enb_s cn56xxp1;
530	struct cvmx_iob_inb_control_match_enb_s cn58xx;
531	struct cvmx_iob_inb_control_match_enb_s cn58xxp1;
532	struct cvmx_iob_inb_control_match_enb_s cn61xx;
533	struct cvmx_iob_inb_control_match_enb_s cn63xx;
534	struct cvmx_iob_inb_control_match_enb_s cn63xxp1;
535	struct cvmx_iob_inb_control_match_enb_s cn66xx;
536	struct cvmx_iob_inb_control_match_enb_s cn68xx;
537	struct cvmx_iob_inb_control_match_enb_s cn68xxp1;
538	struct cvmx_iob_inb_control_match_enb_s cnf71xx;
539};
540
541union cvmx_iob_inb_data_match {
542	uint64_t u64;
543	struct cvmx_iob_inb_data_match_s {
544#ifdef __BIG_ENDIAN_BITFIELD
545		uint64_t data:64;
546#else
547		uint64_t data:64;
548#endif
549	} s;
550	struct cvmx_iob_inb_data_match_s cn30xx;
551	struct cvmx_iob_inb_data_match_s cn31xx;
552	struct cvmx_iob_inb_data_match_s cn38xx;
553	struct cvmx_iob_inb_data_match_s cn38xxp2;
554	struct cvmx_iob_inb_data_match_s cn50xx;
555	struct cvmx_iob_inb_data_match_s cn52xx;
556	struct cvmx_iob_inb_data_match_s cn52xxp1;
557	struct cvmx_iob_inb_data_match_s cn56xx;
558	struct cvmx_iob_inb_data_match_s cn56xxp1;
559	struct cvmx_iob_inb_data_match_s cn58xx;
560	struct cvmx_iob_inb_data_match_s cn58xxp1;
561	struct cvmx_iob_inb_data_match_s cn61xx;
562	struct cvmx_iob_inb_data_match_s cn63xx;
563	struct cvmx_iob_inb_data_match_s cn63xxp1;
564	struct cvmx_iob_inb_data_match_s cn66xx;
565	struct cvmx_iob_inb_data_match_s cn68xx;
566	struct cvmx_iob_inb_data_match_s cn68xxp1;
567	struct cvmx_iob_inb_data_match_s cnf71xx;
568};
569
570union cvmx_iob_inb_data_match_enb {
571	uint64_t u64;
572	struct cvmx_iob_inb_data_match_enb_s {
573#ifdef __BIG_ENDIAN_BITFIELD
574		uint64_t data:64;
575#else
576		uint64_t data:64;
577#endif
578	} s;
579	struct cvmx_iob_inb_data_match_enb_s cn30xx;
580	struct cvmx_iob_inb_data_match_enb_s cn31xx;
581	struct cvmx_iob_inb_data_match_enb_s cn38xx;
582	struct cvmx_iob_inb_data_match_enb_s cn38xxp2;
583	struct cvmx_iob_inb_data_match_enb_s cn50xx;
584	struct cvmx_iob_inb_data_match_enb_s cn52xx;
585	struct cvmx_iob_inb_data_match_enb_s cn52xxp1;
586	struct cvmx_iob_inb_data_match_enb_s cn56xx;
587	struct cvmx_iob_inb_data_match_enb_s cn56xxp1;
588	struct cvmx_iob_inb_data_match_enb_s cn58xx;
589	struct cvmx_iob_inb_data_match_enb_s cn58xxp1;
590	struct cvmx_iob_inb_data_match_enb_s cn61xx;
591	struct cvmx_iob_inb_data_match_enb_s cn63xx;
592	struct cvmx_iob_inb_data_match_enb_s cn63xxp1;
593	struct cvmx_iob_inb_data_match_enb_s cn66xx;
594	struct cvmx_iob_inb_data_match_enb_s cn68xx;
595	struct cvmx_iob_inb_data_match_enb_s cn68xxp1;
596	struct cvmx_iob_inb_data_match_enb_s cnf71xx;
597};
598
599union cvmx_iob_int_enb {
600	uint64_t u64;
601	struct cvmx_iob_int_enb_s {
602#ifdef __BIG_ENDIAN_BITFIELD
603		uint64_t reserved_6_63:58;
604		uint64_t p_dat:1;
605		uint64_t np_dat:1;
606		uint64_t p_eop:1;
607		uint64_t p_sop:1;
608		uint64_t np_eop:1;
609		uint64_t np_sop:1;
610#else
611		uint64_t np_sop:1;
612		uint64_t np_eop:1;
613		uint64_t p_sop:1;
614		uint64_t p_eop:1;
615		uint64_t np_dat:1;
616		uint64_t p_dat:1;
617		uint64_t reserved_6_63:58;
618#endif
619	} s;
620	struct cvmx_iob_int_enb_cn30xx {
621#ifdef __BIG_ENDIAN_BITFIELD
622		uint64_t reserved_4_63:60;
623		uint64_t p_eop:1;
624		uint64_t p_sop:1;
625		uint64_t np_eop:1;
626		uint64_t np_sop:1;
627#else
628		uint64_t np_sop:1;
629		uint64_t np_eop:1;
630		uint64_t p_sop:1;
631		uint64_t p_eop:1;
632		uint64_t reserved_4_63:60;
633#endif
634	} cn30xx;
635	struct cvmx_iob_int_enb_cn30xx cn31xx;
636	struct cvmx_iob_int_enb_cn30xx cn38xx;
637	struct cvmx_iob_int_enb_cn30xx cn38xxp2;
638	struct cvmx_iob_int_enb_s cn50xx;
639	struct cvmx_iob_int_enb_s cn52xx;
640	struct cvmx_iob_int_enb_s cn52xxp1;
641	struct cvmx_iob_int_enb_s cn56xx;
642	struct cvmx_iob_int_enb_s cn56xxp1;
643	struct cvmx_iob_int_enb_s cn58xx;
644	struct cvmx_iob_int_enb_s cn58xxp1;
645	struct cvmx_iob_int_enb_s cn61xx;
646	struct cvmx_iob_int_enb_s cn63xx;
647	struct cvmx_iob_int_enb_s cn63xxp1;
648	struct cvmx_iob_int_enb_s cn66xx;
649	struct cvmx_iob_int_enb_cn68xx {
650#ifdef __BIG_ENDIAN_BITFIELD
651		uint64_t reserved_0_63:64;
652#else
653		uint64_t reserved_0_63:64;
654#endif
655	} cn68xx;
656	struct cvmx_iob_int_enb_cn68xx cn68xxp1;
657	struct cvmx_iob_int_enb_s cnf71xx;
658};
659
660union cvmx_iob_int_sum {
661	uint64_t u64;
662	struct cvmx_iob_int_sum_s {
663#ifdef __BIG_ENDIAN_BITFIELD
664		uint64_t reserved_6_63:58;
665		uint64_t p_dat:1;
666		uint64_t np_dat:1;
667		uint64_t p_eop:1;
668		uint64_t p_sop:1;
669		uint64_t np_eop:1;
670		uint64_t np_sop:1;
671#else
672		uint64_t np_sop:1;
673		uint64_t np_eop:1;
674		uint64_t p_sop:1;
675		uint64_t p_eop:1;
676		uint64_t np_dat:1;
677		uint64_t p_dat:1;
678		uint64_t reserved_6_63:58;
679#endif
680	} s;
681	struct cvmx_iob_int_sum_cn30xx {
682#ifdef __BIG_ENDIAN_BITFIELD
683		uint64_t reserved_4_63:60;
684		uint64_t p_eop:1;
685		uint64_t p_sop:1;
686		uint64_t np_eop:1;
687		uint64_t np_sop:1;
688#else
689		uint64_t np_sop:1;
690		uint64_t np_eop:1;
691		uint64_t p_sop:1;
692		uint64_t p_eop:1;
693		uint64_t reserved_4_63:60;
694#endif
695	} cn30xx;
696	struct cvmx_iob_int_sum_cn30xx cn31xx;
697	struct cvmx_iob_int_sum_cn30xx cn38xx;
698	struct cvmx_iob_int_sum_cn30xx cn38xxp2;
699	struct cvmx_iob_int_sum_s cn50xx;
700	struct cvmx_iob_int_sum_s cn52xx;
701	struct cvmx_iob_int_sum_s cn52xxp1;
702	struct cvmx_iob_int_sum_s cn56xx;
703	struct cvmx_iob_int_sum_s cn56xxp1;
704	struct cvmx_iob_int_sum_s cn58xx;
705	struct cvmx_iob_int_sum_s cn58xxp1;
706	struct cvmx_iob_int_sum_s cn61xx;
707	struct cvmx_iob_int_sum_s cn63xx;
708	struct cvmx_iob_int_sum_s cn63xxp1;
709	struct cvmx_iob_int_sum_s cn66xx;
710	struct cvmx_iob_int_sum_cn68xx {
711#ifdef __BIG_ENDIAN_BITFIELD
712		uint64_t reserved_0_63:64;
713#else
714		uint64_t reserved_0_63:64;
715#endif
716	} cn68xx;
717	struct cvmx_iob_int_sum_cn68xx cn68xxp1;
718	struct cvmx_iob_int_sum_s cnf71xx;
719};
720
721union cvmx_iob_n2c_l2c_pri_cnt {
722	uint64_t u64;
723	struct cvmx_iob_n2c_l2c_pri_cnt_s {
724#ifdef __BIG_ENDIAN_BITFIELD
725		uint64_t reserved_16_63:48;
726		uint64_t cnt_enb:1;
727		uint64_t cnt_val:15;
728#else
729		uint64_t cnt_val:15;
730		uint64_t cnt_enb:1;
731		uint64_t reserved_16_63:48;
732#endif
733	} s;
734	struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx;
735	struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2;
736	struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xx;
737	struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xxp1;
738	struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xx;
739	struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1;
740	struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx;
741	struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1;
742	struct cvmx_iob_n2c_l2c_pri_cnt_s cn61xx;
743	struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx;
744	struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xxp1;
745	struct cvmx_iob_n2c_l2c_pri_cnt_s cn66xx;
746	struct cvmx_iob_n2c_l2c_pri_cnt_s cnf71xx;
747};
748
749union cvmx_iob_n2c_rsp_pri_cnt {
750	uint64_t u64;
751	struct cvmx_iob_n2c_rsp_pri_cnt_s {
752#ifdef __BIG_ENDIAN_BITFIELD
753		uint64_t reserved_16_63:48;
754		uint64_t cnt_enb:1;
755		uint64_t cnt_val:15;
756#else
757		uint64_t cnt_val:15;
758		uint64_t cnt_enb:1;
759		uint64_t reserved_16_63:48;
760#endif
761	} s;
762	struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx;
763	struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2;
764	struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xx;
765	struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xxp1;
766	struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xx;
767	struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1;
768	struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx;
769	struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1;
770	struct cvmx_iob_n2c_rsp_pri_cnt_s cn61xx;
771	struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx;
772	struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xxp1;
773	struct cvmx_iob_n2c_rsp_pri_cnt_s cn66xx;
774	struct cvmx_iob_n2c_rsp_pri_cnt_s cnf71xx;
775};
776
777union cvmx_iob_outb_com_pri_cnt {
778	uint64_t u64;
779	struct cvmx_iob_outb_com_pri_cnt_s {
780#ifdef __BIG_ENDIAN_BITFIELD
781		uint64_t reserved_16_63:48;
782		uint64_t cnt_enb:1;
783		uint64_t cnt_val:15;
784#else
785		uint64_t cnt_val:15;
786		uint64_t cnt_enb:1;
787		uint64_t reserved_16_63:48;
788#endif
789	} s;
790	struct cvmx_iob_outb_com_pri_cnt_s cn38xx;
791	struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2;
792	struct cvmx_iob_outb_com_pri_cnt_s cn52xx;
793	struct cvmx_iob_outb_com_pri_cnt_s cn52xxp1;
794	struct cvmx_iob_outb_com_pri_cnt_s cn56xx;
795	struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1;
796	struct cvmx_iob_outb_com_pri_cnt_s cn58xx;
797	struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1;
798	struct cvmx_iob_outb_com_pri_cnt_s cn61xx;
799	struct cvmx_iob_outb_com_pri_cnt_s cn63xx;
800	struct cvmx_iob_outb_com_pri_cnt_s cn63xxp1;
801	struct cvmx_iob_outb_com_pri_cnt_s cn66xx;
802	struct cvmx_iob_outb_com_pri_cnt_s cn68xx;
803	struct cvmx_iob_outb_com_pri_cnt_s cn68xxp1;
804	struct cvmx_iob_outb_com_pri_cnt_s cnf71xx;
805};
806
807union cvmx_iob_outb_control_match {
808	uint64_t u64;
809	struct cvmx_iob_outb_control_match_s {
810#ifdef __BIG_ENDIAN_BITFIELD
811		uint64_t reserved_26_63:38;
812		uint64_t mask:8;
813		uint64_t eot:1;
814		uint64_t dst:8;
815		uint64_t src:9;
816#else
817		uint64_t src:9;
818		uint64_t dst:8;
819		uint64_t eot:1;
820		uint64_t mask:8;
821		uint64_t reserved_26_63:38;
822#endif
823	} s;
824	struct cvmx_iob_outb_control_match_s cn30xx;
825	struct cvmx_iob_outb_control_match_s cn31xx;
826	struct cvmx_iob_outb_control_match_s cn38xx;
827	struct cvmx_iob_outb_control_match_s cn38xxp2;
828	struct cvmx_iob_outb_control_match_s cn50xx;
829	struct cvmx_iob_outb_control_match_s cn52xx;
830	struct cvmx_iob_outb_control_match_s cn52xxp1;
831	struct cvmx_iob_outb_control_match_s cn56xx;
832	struct cvmx_iob_outb_control_match_s cn56xxp1;
833	struct cvmx_iob_outb_control_match_s cn58xx;
834	struct cvmx_iob_outb_control_match_s cn58xxp1;
835	struct cvmx_iob_outb_control_match_s cn61xx;
836	struct cvmx_iob_outb_control_match_s cn63xx;
837	struct cvmx_iob_outb_control_match_s cn63xxp1;
838	struct cvmx_iob_outb_control_match_s cn66xx;
839	struct cvmx_iob_outb_control_match_s cn68xx;
840	struct cvmx_iob_outb_control_match_s cn68xxp1;
841	struct cvmx_iob_outb_control_match_s cnf71xx;
842};
843
844union cvmx_iob_outb_control_match_enb {
845	uint64_t u64;
846	struct cvmx_iob_outb_control_match_enb_s {
847#ifdef __BIG_ENDIAN_BITFIELD
848		uint64_t reserved_26_63:38;
849		uint64_t mask:8;
850		uint64_t eot:1;
851		uint64_t dst:8;
852		uint64_t src:9;
853#else
854		uint64_t src:9;
855		uint64_t dst:8;
856		uint64_t eot:1;
857		uint64_t mask:8;
858		uint64_t reserved_26_63:38;
859#endif
860	} s;
861	struct cvmx_iob_outb_control_match_enb_s cn30xx;
862	struct cvmx_iob_outb_control_match_enb_s cn31xx;
863	struct cvmx_iob_outb_control_match_enb_s cn38xx;
864	struct cvmx_iob_outb_control_match_enb_s cn38xxp2;
865	struct cvmx_iob_outb_control_match_enb_s cn50xx;
866	struct cvmx_iob_outb_control_match_enb_s cn52xx;
867	struct cvmx_iob_outb_control_match_enb_s cn52xxp1;
868	struct cvmx_iob_outb_control_match_enb_s cn56xx;
869	struct cvmx_iob_outb_control_match_enb_s cn56xxp1;
870	struct cvmx_iob_outb_control_match_enb_s cn58xx;
871	struct cvmx_iob_outb_control_match_enb_s cn58xxp1;
872	struct cvmx_iob_outb_control_match_enb_s cn61xx;
873	struct cvmx_iob_outb_control_match_enb_s cn63xx;
874	struct cvmx_iob_outb_control_match_enb_s cn63xxp1;
875	struct cvmx_iob_outb_control_match_enb_s cn66xx;
876	struct cvmx_iob_outb_control_match_enb_s cn68xx;
877	struct cvmx_iob_outb_control_match_enb_s cn68xxp1;
878	struct cvmx_iob_outb_control_match_enb_s cnf71xx;
879};
880
881union cvmx_iob_outb_data_match {
882	uint64_t u64;
883	struct cvmx_iob_outb_data_match_s {
884#ifdef __BIG_ENDIAN_BITFIELD
885		uint64_t data:64;
886#else
887		uint64_t data:64;
888#endif
889	} s;
890	struct cvmx_iob_outb_data_match_s cn30xx;
891	struct cvmx_iob_outb_data_match_s cn31xx;
892	struct cvmx_iob_outb_data_match_s cn38xx;
893	struct cvmx_iob_outb_data_match_s cn38xxp2;
894	struct cvmx_iob_outb_data_match_s cn50xx;
895	struct cvmx_iob_outb_data_match_s cn52xx;
896	struct cvmx_iob_outb_data_match_s cn52xxp1;
897	struct cvmx_iob_outb_data_match_s cn56xx;
898	struct cvmx_iob_outb_data_match_s cn56xxp1;
899	struct cvmx_iob_outb_data_match_s cn58xx;
900	struct cvmx_iob_outb_data_match_s cn58xxp1;
901	struct cvmx_iob_outb_data_match_s cn61xx;
902	struct cvmx_iob_outb_data_match_s cn63xx;
903	struct cvmx_iob_outb_data_match_s cn63xxp1;
904	struct cvmx_iob_outb_data_match_s cn66xx;
905	struct cvmx_iob_outb_data_match_s cn68xx;
906	struct cvmx_iob_outb_data_match_s cn68xxp1;
907	struct cvmx_iob_outb_data_match_s cnf71xx;
908};
909
910union cvmx_iob_outb_data_match_enb {
911	uint64_t u64;
912	struct cvmx_iob_outb_data_match_enb_s {
913#ifdef __BIG_ENDIAN_BITFIELD
914		uint64_t data:64;
915#else
916		uint64_t data:64;
917#endif
918	} s;
919	struct cvmx_iob_outb_data_match_enb_s cn30xx;
920	struct cvmx_iob_outb_data_match_enb_s cn31xx;
921	struct cvmx_iob_outb_data_match_enb_s cn38xx;
922	struct cvmx_iob_outb_data_match_enb_s cn38xxp2;
923	struct cvmx_iob_outb_data_match_enb_s cn50xx;
924	struct cvmx_iob_outb_data_match_enb_s cn52xx;
925	struct cvmx_iob_outb_data_match_enb_s cn52xxp1;
926	struct cvmx_iob_outb_data_match_enb_s cn56xx;
927	struct cvmx_iob_outb_data_match_enb_s cn56xxp1;
928	struct cvmx_iob_outb_data_match_enb_s cn58xx;
929	struct cvmx_iob_outb_data_match_enb_s cn58xxp1;
930	struct cvmx_iob_outb_data_match_enb_s cn61xx;
931	struct cvmx_iob_outb_data_match_enb_s cn63xx;
932	struct cvmx_iob_outb_data_match_enb_s cn63xxp1;
933	struct cvmx_iob_outb_data_match_enb_s cn66xx;
934	struct cvmx_iob_outb_data_match_enb_s cn68xx;
935	struct cvmx_iob_outb_data_match_enb_s cn68xxp1;
936	struct cvmx_iob_outb_data_match_enb_s cnf71xx;
937};
938
939union cvmx_iob_outb_fpa_pri_cnt {
940	uint64_t u64;
941	struct cvmx_iob_outb_fpa_pri_cnt_s {
942#ifdef __BIG_ENDIAN_BITFIELD
943		uint64_t reserved_16_63:48;
944		uint64_t cnt_enb:1;
945		uint64_t cnt_val:15;
946#else
947		uint64_t cnt_val:15;
948		uint64_t cnt_enb:1;
949		uint64_t reserved_16_63:48;
950#endif
951	} s;
952	struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx;
953	struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2;
954	struct cvmx_iob_outb_fpa_pri_cnt_s cn52xx;
955	struct cvmx_iob_outb_fpa_pri_cnt_s cn52xxp1;
956	struct cvmx_iob_outb_fpa_pri_cnt_s cn56xx;
957	struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1;
958	struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx;
959	struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1;
960	struct cvmx_iob_outb_fpa_pri_cnt_s cn61xx;
961	struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx;
962	struct cvmx_iob_outb_fpa_pri_cnt_s cn63xxp1;
963	struct cvmx_iob_outb_fpa_pri_cnt_s cn66xx;
964	struct cvmx_iob_outb_fpa_pri_cnt_s cn68xx;
965	struct cvmx_iob_outb_fpa_pri_cnt_s cn68xxp1;
966	struct cvmx_iob_outb_fpa_pri_cnt_s cnf71xx;
967};
968
969union cvmx_iob_outb_req_pri_cnt {
970	uint64_t u64;
971	struct cvmx_iob_outb_req_pri_cnt_s {
972#ifdef __BIG_ENDIAN_BITFIELD
973		uint64_t reserved_16_63:48;
974		uint64_t cnt_enb:1;
975		uint64_t cnt_val:15;
976#else
977		uint64_t cnt_val:15;
978		uint64_t cnt_enb:1;
979		uint64_t reserved_16_63:48;
980#endif
981	} s;
982	struct cvmx_iob_outb_req_pri_cnt_s cn38xx;
983	struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2;
984	struct cvmx_iob_outb_req_pri_cnt_s cn52xx;
985	struct cvmx_iob_outb_req_pri_cnt_s cn52xxp1;
986	struct cvmx_iob_outb_req_pri_cnt_s cn56xx;
987	struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1;
988	struct cvmx_iob_outb_req_pri_cnt_s cn58xx;
989	struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1;
990	struct cvmx_iob_outb_req_pri_cnt_s cn61xx;
991	struct cvmx_iob_outb_req_pri_cnt_s cn63xx;
992	struct cvmx_iob_outb_req_pri_cnt_s cn63xxp1;
993	struct cvmx_iob_outb_req_pri_cnt_s cn66xx;
994	struct cvmx_iob_outb_req_pri_cnt_s cn68xx;
995	struct cvmx_iob_outb_req_pri_cnt_s cn68xxp1;
996	struct cvmx_iob_outb_req_pri_cnt_s cnf71xx;
997};
998
999union cvmx_iob_p2c_req_pri_cnt {
1000	uint64_t u64;
1001	struct cvmx_iob_p2c_req_pri_cnt_s {
1002#ifdef __BIG_ENDIAN_BITFIELD
1003		uint64_t reserved_16_63:48;
1004		uint64_t cnt_enb:1;
1005		uint64_t cnt_val:15;
1006#else
1007		uint64_t cnt_val:15;
1008		uint64_t cnt_enb:1;
1009		uint64_t reserved_16_63:48;
1010#endif
1011	} s;
1012	struct cvmx_iob_p2c_req_pri_cnt_s cn38xx;
1013	struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2;
1014	struct cvmx_iob_p2c_req_pri_cnt_s cn52xx;
1015	struct cvmx_iob_p2c_req_pri_cnt_s cn52xxp1;
1016	struct cvmx_iob_p2c_req_pri_cnt_s cn56xx;
1017	struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1;
1018	struct cvmx_iob_p2c_req_pri_cnt_s cn58xx;
1019	struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1;
1020	struct cvmx_iob_p2c_req_pri_cnt_s cn61xx;
1021	struct cvmx_iob_p2c_req_pri_cnt_s cn63xx;
1022	struct cvmx_iob_p2c_req_pri_cnt_s cn63xxp1;
1023	struct cvmx_iob_p2c_req_pri_cnt_s cn66xx;
1024	struct cvmx_iob_p2c_req_pri_cnt_s cnf71xx;
1025};
1026
1027union cvmx_iob_pkt_err {
1028	uint64_t u64;
1029	struct cvmx_iob_pkt_err_s {
1030#ifdef __BIG_ENDIAN_BITFIELD
1031		uint64_t reserved_12_63:52;
1032		uint64_t vport:6;
1033		uint64_t port:6;
1034#else
1035		uint64_t port:6;
1036		uint64_t vport:6;
1037		uint64_t reserved_12_63:52;
1038#endif
1039	} s;
1040	struct cvmx_iob_pkt_err_cn30xx {
1041#ifdef __BIG_ENDIAN_BITFIELD
1042		uint64_t reserved_6_63:58;
1043		uint64_t port:6;
1044#else
1045		uint64_t port:6;
1046		uint64_t reserved_6_63:58;
1047#endif
1048	} cn30xx;
1049	struct cvmx_iob_pkt_err_cn30xx cn31xx;
1050	struct cvmx_iob_pkt_err_cn30xx cn38xx;
1051	struct cvmx_iob_pkt_err_cn30xx cn38xxp2;
1052	struct cvmx_iob_pkt_err_cn30xx cn50xx;
1053	struct cvmx_iob_pkt_err_cn30xx cn52xx;
1054	struct cvmx_iob_pkt_err_cn30xx cn52xxp1;
1055	struct cvmx_iob_pkt_err_cn30xx cn56xx;
1056	struct cvmx_iob_pkt_err_cn30xx cn56xxp1;
1057	struct cvmx_iob_pkt_err_cn30xx cn58xx;
1058	struct cvmx_iob_pkt_err_cn30xx cn58xxp1;
1059	struct cvmx_iob_pkt_err_s cn61xx;
1060	struct cvmx_iob_pkt_err_s cn63xx;
1061	struct cvmx_iob_pkt_err_s cn63xxp1;
1062	struct cvmx_iob_pkt_err_s cn66xx;
1063	struct cvmx_iob_pkt_err_s cnf71xx;
1064};
1065
1066union cvmx_iob_to_cmb_credits {
1067	uint64_t u64;
1068	struct cvmx_iob_to_cmb_credits_s {
1069#ifdef __BIG_ENDIAN_BITFIELD
1070		uint64_t reserved_6_63:58;
1071		uint64_t ncb_rd:3;
1072		uint64_t ncb_wr:3;
1073#else
1074		uint64_t ncb_wr:3;
1075		uint64_t ncb_rd:3;
1076		uint64_t reserved_6_63:58;
1077#endif
1078	} s;
1079	struct cvmx_iob_to_cmb_credits_cn52xx {
1080#ifdef __BIG_ENDIAN_BITFIELD
1081		uint64_t reserved_9_63:55;
1082		uint64_t pko_rd:3;
1083		uint64_t ncb_rd:3;
1084		uint64_t ncb_wr:3;
1085#else
1086		uint64_t ncb_wr:3;
1087		uint64_t ncb_rd:3;
1088		uint64_t pko_rd:3;
1089		uint64_t reserved_9_63:55;
1090#endif
1091	} cn52xx;
1092	struct cvmx_iob_to_cmb_credits_cn52xx cn61xx;
1093	struct cvmx_iob_to_cmb_credits_cn52xx cn63xx;
1094	struct cvmx_iob_to_cmb_credits_cn52xx cn63xxp1;
1095	struct cvmx_iob_to_cmb_credits_cn52xx cn66xx;
1096	struct cvmx_iob_to_cmb_credits_cn68xx {
1097#ifdef __BIG_ENDIAN_BITFIELD
1098		uint64_t reserved_9_63:55;
1099		uint64_t dwb:3;
1100		uint64_t ncb_rd:3;
1101		uint64_t ncb_wr:3;
1102#else
1103		uint64_t ncb_wr:3;
1104		uint64_t ncb_rd:3;
1105		uint64_t dwb:3;
1106		uint64_t reserved_9_63:55;
1107#endif
1108	} cn68xx;
1109	struct cvmx_iob_to_cmb_credits_cn68xx cn68xxp1;
1110	struct cvmx_iob_to_cmb_credits_cn52xx cnf71xx;
1111};
1112
1113union cvmx_iob_to_ncb_did_00_credits {
1114	uint64_t u64;
1115	struct cvmx_iob_to_ncb_did_00_credits_s {
1116#ifdef __BIG_ENDIAN_BITFIELD
1117		uint64_t reserved_7_63:57;
1118		uint64_t crd:7;
1119#else
1120		uint64_t crd:7;
1121		uint64_t reserved_7_63:57;
1122#endif
1123	} s;
1124	struct cvmx_iob_to_ncb_did_00_credits_s cn68xx;
1125	struct cvmx_iob_to_ncb_did_00_credits_s cn68xxp1;
1126};
1127
1128union cvmx_iob_to_ncb_did_111_credits {
1129	uint64_t u64;
1130	struct cvmx_iob_to_ncb_did_111_credits_s {
1131#ifdef __BIG_ENDIAN_BITFIELD
1132		uint64_t reserved_7_63:57;
1133		uint64_t crd:7;
1134#else
1135		uint64_t crd:7;
1136		uint64_t reserved_7_63:57;
1137#endif
1138	} s;
1139	struct cvmx_iob_to_ncb_did_111_credits_s cn68xx;
1140	struct cvmx_iob_to_ncb_did_111_credits_s cn68xxp1;
1141};
1142
1143union cvmx_iob_to_ncb_did_223_credits {
1144	uint64_t u64;
1145	struct cvmx_iob_to_ncb_did_223_credits_s {
1146#ifdef __BIG_ENDIAN_BITFIELD
1147		uint64_t reserved_7_63:57;
1148		uint64_t crd:7;
1149#else
1150		uint64_t crd:7;
1151		uint64_t reserved_7_63:57;
1152#endif
1153	} s;
1154	struct cvmx_iob_to_ncb_did_223_credits_s cn68xx;
1155	struct cvmx_iob_to_ncb_did_223_credits_s cn68xxp1;
1156};
1157
1158union cvmx_iob_to_ncb_did_24_credits {
1159	uint64_t u64;
1160	struct cvmx_iob_to_ncb_did_24_credits_s {
1161#ifdef __BIG_ENDIAN_BITFIELD
1162		uint64_t reserved_7_63:57;
1163		uint64_t crd:7;
1164#else
1165		uint64_t crd:7;
1166		uint64_t reserved_7_63:57;
1167#endif
1168	} s;
1169	struct cvmx_iob_to_ncb_did_24_credits_s cn68xx;
1170	struct cvmx_iob_to_ncb_did_24_credits_s cn68xxp1;
1171};
1172
1173union cvmx_iob_to_ncb_did_32_credits {
1174	uint64_t u64;
1175	struct cvmx_iob_to_ncb_did_32_credits_s {
1176#ifdef __BIG_ENDIAN_BITFIELD
1177		uint64_t reserved_7_63:57;
1178		uint64_t crd:7;
1179#else
1180		uint64_t crd:7;
1181		uint64_t reserved_7_63:57;
1182#endif
1183	} s;
1184	struct cvmx_iob_to_ncb_did_32_credits_s cn68xx;
1185	struct cvmx_iob_to_ncb_did_32_credits_s cn68xxp1;
1186};
1187
1188union cvmx_iob_to_ncb_did_40_credits {
1189	uint64_t u64;
1190	struct cvmx_iob_to_ncb_did_40_credits_s {
1191#ifdef __BIG_ENDIAN_BITFIELD
1192		uint64_t reserved_7_63:57;
1193		uint64_t crd:7;
1194#else
1195		uint64_t crd:7;
1196		uint64_t reserved_7_63:57;
1197#endif
1198	} s;
1199	struct cvmx_iob_to_ncb_did_40_credits_s cn68xx;
1200	struct cvmx_iob_to_ncb_did_40_credits_s cn68xxp1;
1201};
1202
1203union cvmx_iob_to_ncb_did_55_credits {
1204	uint64_t u64;
1205	struct cvmx_iob_to_ncb_did_55_credits_s {
1206#ifdef __BIG_ENDIAN_BITFIELD
1207		uint64_t reserved_7_63:57;
1208		uint64_t crd:7;
1209#else
1210		uint64_t crd:7;
1211		uint64_t reserved_7_63:57;
1212#endif
1213	} s;
1214	struct cvmx_iob_to_ncb_did_55_credits_s cn68xx;
1215	struct cvmx_iob_to_ncb_did_55_credits_s cn68xxp1;
1216};
1217
1218union cvmx_iob_to_ncb_did_64_credits {
1219	uint64_t u64;
1220	struct cvmx_iob_to_ncb_did_64_credits_s {
1221#ifdef __BIG_ENDIAN_BITFIELD
1222		uint64_t reserved_7_63:57;
1223		uint64_t crd:7;
1224#else
1225		uint64_t crd:7;
1226		uint64_t reserved_7_63:57;
1227#endif
1228	} s;
1229	struct cvmx_iob_to_ncb_did_64_credits_s cn68xx;
1230	struct cvmx_iob_to_ncb_did_64_credits_s cn68xxp1;
1231};
1232
1233union cvmx_iob_to_ncb_did_79_credits {
1234	uint64_t u64;
1235	struct cvmx_iob_to_ncb_did_79_credits_s {
1236#ifdef __BIG_ENDIAN_BITFIELD
1237		uint64_t reserved_7_63:57;
1238		uint64_t crd:7;
1239#else
1240		uint64_t crd:7;
1241		uint64_t reserved_7_63:57;
1242#endif
1243	} s;
1244	struct cvmx_iob_to_ncb_did_79_credits_s cn68xx;
1245	struct cvmx_iob_to_ncb_did_79_credits_s cn68xxp1;
1246};
1247
1248union cvmx_iob_to_ncb_did_96_credits {
1249	uint64_t u64;
1250	struct cvmx_iob_to_ncb_did_96_credits_s {
1251#ifdef __BIG_ENDIAN_BITFIELD
1252		uint64_t reserved_7_63:57;
1253		uint64_t crd:7;
1254#else
1255		uint64_t crd:7;
1256		uint64_t reserved_7_63:57;
1257#endif
1258	} s;
1259	struct cvmx_iob_to_ncb_did_96_credits_s cn68xx;
1260	struct cvmx_iob_to_ncb_did_96_credits_s cn68xxp1;
1261};
1262
1263union cvmx_iob_to_ncb_did_98_credits {
1264	uint64_t u64;
1265	struct cvmx_iob_to_ncb_did_98_credits_s {
1266#ifdef __BIG_ENDIAN_BITFIELD
1267		uint64_t reserved_7_63:57;
1268		uint64_t crd:7;
1269#else
1270		uint64_t crd:7;
1271		uint64_t reserved_7_63:57;
1272#endif
1273	} s;
1274	struct cvmx_iob_to_ncb_did_98_credits_s cn68xx;
1275	struct cvmx_iob_to_ncb_did_98_credits_s cn68xxp1;
1276};
1277
1278#endif
1279