xref: /linux/arch/mips/include/asm/octeon/cvmx-iob-defs.h (revision 93df8a1ed6231727c5db94a80b1a6bd5ee67cec3)
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 
66 union 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 
235 union 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 
378 union 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 
406 union 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 
439 union 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 
467 union 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 
504 union 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 
541 union 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 
570 union 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 
599 union 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 
660 union 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 
721 union 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 
749 union 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 
777 union 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 
807 union 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 
844 union 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 
881 union 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 
910 union 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 
939 union 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 
969 union 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 
999 union 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 
1027 union 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 
1066 union 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 
1113 union 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 
1128 union 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 
1143 union 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 
1158 union 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 
1173 union 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 
1188 union 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 
1203 union 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 
1218 union 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 
1233 union 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 
1248 union 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 
1263 union 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