xref: /openbmc/linux/arch/mips/include/asm/octeon/cvmx-iob-defs.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
154293ec3SDavid Daney /***********************license start***************
254293ec3SDavid Daney  * Author: Cavium Networks
354293ec3SDavid Daney  *
454293ec3SDavid Daney  * Contact: support@caviumnetworks.com
554293ec3SDavid Daney  * This file is part of the OCTEON SDK
654293ec3SDavid Daney  *
7*c5aa59e8SDavid Daney  * Copyright (c) 2003-2012 Cavium Networks
854293ec3SDavid Daney  *
954293ec3SDavid Daney  * This file is free software; you can redistribute it and/or modify
1054293ec3SDavid Daney  * it under the terms of the GNU General Public License, Version 2, as
1154293ec3SDavid Daney  * published by the Free Software Foundation.
1254293ec3SDavid Daney  *
1354293ec3SDavid Daney  * This file is distributed in the hope that it will be useful, but
1454293ec3SDavid Daney  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
1554293ec3SDavid Daney  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
1654293ec3SDavid Daney  * NONINFRINGEMENT.  See the GNU General Public License for more
1754293ec3SDavid Daney  * details.
1854293ec3SDavid Daney  *
1954293ec3SDavid Daney  * You should have received a copy of the GNU General Public License
2054293ec3SDavid Daney  * along with this file; if not, write to the Free Software
2154293ec3SDavid Daney  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2254293ec3SDavid Daney  * or visit http://www.gnu.org/licenses/.
2354293ec3SDavid Daney  *
2454293ec3SDavid Daney  * This file may also be available under a different license from Cavium.
2554293ec3SDavid Daney  * Contact Cavium Networks for more information
2654293ec3SDavid Daney  ***********************license end**************************************/
2754293ec3SDavid Daney 
2854293ec3SDavid Daney #ifndef __CVMX_IOB_DEFS_H__
2954293ec3SDavid Daney #define __CVMX_IOB_DEFS_H__
3054293ec3SDavid Daney 
31aa32a955SDavid Daney #define CVMX_IOB_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800F00007F8ull))
32aa32a955SDavid Daney #define CVMX_IOB_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011800F0000050ull))
33aa32a955SDavid Daney #define CVMX_IOB_DWB_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000028ull))
34aa32a955SDavid Daney #define CVMX_IOB_FAU_TIMEOUT (CVMX_ADD_IO_SEG(0x00011800F0000000ull))
35aa32a955SDavid Daney #define CVMX_IOB_I2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000010ull))
36aa32a955SDavid Daney #define CVMX_IOB_INB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000078ull))
37aa32a955SDavid Daney #define CVMX_IOB_INB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000088ull))
38aa32a955SDavid Daney #define CVMX_IOB_INB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000070ull))
39aa32a955SDavid Daney #define CVMX_IOB_INB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000080ull))
40aa32a955SDavid Daney #define CVMX_IOB_INT_ENB (CVMX_ADD_IO_SEG(0x00011800F0000060ull))
41aa32a955SDavid Daney #define CVMX_IOB_INT_SUM (CVMX_ADD_IO_SEG(0x00011800F0000058ull))
42aa32a955SDavid Daney #define CVMX_IOB_N2C_L2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000020ull))
43aa32a955SDavid Daney #define CVMX_IOB_N2C_RSP_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000008ull))
44aa32a955SDavid Daney #define CVMX_IOB_OUTB_COM_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000040ull))
45aa32a955SDavid Daney #define CVMX_IOB_OUTB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000098ull))
46aa32a955SDavid Daney #define CVMX_IOB_OUTB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A8ull))
47aa32a955SDavid Daney #define CVMX_IOB_OUTB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000090ull))
48aa32a955SDavid Daney #define CVMX_IOB_OUTB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A0ull))
49aa32a955SDavid Daney #define CVMX_IOB_OUTB_FPA_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000048ull))
50aa32a955SDavid Daney #define CVMX_IOB_OUTB_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000038ull))
51aa32a955SDavid Daney #define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull))
52aa32a955SDavid Daney #define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull))
53aa32a955SDavid Daney #define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull))
54*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull))
55*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull))
56*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull))
57*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull))
58*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull))
59*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull))
60*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull))
61*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull))
62*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull))
63*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull))
64*c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_98_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B10ull))
6554293ec3SDavid Daney 
6654293ec3SDavid Daney union cvmx_iob_bist_status {
6754293ec3SDavid Daney 	uint64_t u64;
6854293ec3SDavid Daney 	struct cvmx_iob_bist_status_s {
69*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
70*c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
71*c5aa59e8SDavid Daney 		uint64_t ibd:1;
72*c5aa59e8SDavid Daney 		uint64_t icd:1;
73*c5aa59e8SDavid Daney #else
74*c5aa59e8SDavid Daney 		uint64_t icd:1;
75*c5aa59e8SDavid Daney 		uint64_t ibd:1;
76*c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
77*c5aa59e8SDavid Daney #endif
78*c5aa59e8SDavid Daney 	} s;
79*c5aa59e8SDavid Daney 	struct cvmx_iob_bist_status_cn30xx {
80*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
81*c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
82*c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
83*c5aa59e8SDavid Daney 		uint64_t icr0:1;
84*c5aa59e8SDavid Daney 		uint64_t icr1:1;
85*c5aa59e8SDavid Daney 		uint64_t icnr1:1;
86*c5aa59e8SDavid Daney 		uint64_t icnr0:1;
87*c5aa59e8SDavid Daney 		uint64_t ibdr0:1;
88*c5aa59e8SDavid Daney 		uint64_t ibdr1:1;
89*c5aa59e8SDavid Daney 		uint64_t ibr0:1;
90*c5aa59e8SDavid Daney 		uint64_t ibr1:1;
91*c5aa59e8SDavid Daney 		uint64_t icnrt:1;
92*c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
93*c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
94*c5aa59e8SDavid Daney 		uint64_t icrn0:1;
95*c5aa59e8SDavid Daney 		uint64_t icrn1:1;
96*c5aa59e8SDavid Daney 		uint64_t icrp0:1;
97*c5aa59e8SDavid Daney 		uint64_t icrp1:1;
98*c5aa59e8SDavid Daney 		uint64_t ibd:1;
99*c5aa59e8SDavid Daney 		uint64_t icd:1;
100*c5aa59e8SDavid Daney #else
101*c5aa59e8SDavid Daney 		uint64_t icd:1;
102*c5aa59e8SDavid Daney 		uint64_t ibd:1;
103*c5aa59e8SDavid Daney 		uint64_t icrp1:1;
104*c5aa59e8SDavid Daney 		uint64_t icrp0:1;
105*c5aa59e8SDavid Daney 		uint64_t icrn1:1;
106*c5aa59e8SDavid Daney 		uint64_t icrn0:1;
107*c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
108*c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
109*c5aa59e8SDavid Daney 		uint64_t icnrt:1;
110*c5aa59e8SDavid Daney 		uint64_t ibr1:1;
111*c5aa59e8SDavid Daney 		uint64_t ibr0:1;
112*c5aa59e8SDavid Daney 		uint64_t ibdr1:1;
113*c5aa59e8SDavid Daney 		uint64_t ibdr0:1;
114*c5aa59e8SDavid Daney 		uint64_t icnr0:1;
115*c5aa59e8SDavid Daney 		uint64_t icnr1:1;
116*c5aa59e8SDavid Daney 		uint64_t icr1:1;
117*c5aa59e8SDavid Daney 		uint64_t icr0:1;
118*c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
119*c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
120*c5aa59e8SDavid Daney #endif
121*c5aa59e8SDavid Daney 	} cn30xx;
122*c5aa59e8SDavid Daney 	struct cvmx_iob_bist_status_cn61xx {
123*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
124aa32a955SDavid Daney 		uint64_t reserved_23_63:41;
125aa32a955SDavid Daney 		uint64_t xmdfif:1;
126aa32a955SDavid Daney 		uint64_t xmcfif:1;
127aa32a955SDavid Daney 		uint64_t iorfif:1;
128aa32a955SDavid Daney 		uint64_t rsdfif:1;
129aa32a955SDavid Daney 		uint64_t iocfif:1;
13054293ec3SDavid Daney 		uint64_t icnrcb:1;
13154293ec3SDavid Daney 		uint64_t icr0:1;
13254293ec3SDavid Daney 		uint64_t icr1:1;
13354293ec3SDavid Daney 		uint64_t icnr1:1;
13454293ec3SDavid Daney 		uint64_t icnr0:1;
13554293ec3SDavid Daney 		uint64_t ibdr0:1;
13654293ec3SDavid Daney 		uint64_t ibdr1:1;
13754293ec3SDavid Daney 		uint64_t ibr0:1;
13854293ec3SDavid Daney 		uint64_t ibr1:1;
13954293ec3SDavid Daney 		uint64_t icnrt:1;
14054293ec3SDavid Daney 		uint64_t ibrq0:1;
14154293ec3SDavid Daney 		uint64_t ibrq1:1;
14254293ec3SDavid Daney 		uint64_t icrn0:1;
14354293ec3SDavid Daney 		uint64_t icrn1:1;
14454293ec3SDavid Daney 		uint64_t icrp0:1;
14554293ec3SDavid Daney 		uint64_t icrp1:1;
14654293ec3SDavid Daney 		uint64_t ibd:1;
14754293ec3SDavid Daney 		uint64_t icd:1;
148*c5aa59e8SDavid Daney #else
149*c5aa59e8SDavid Daney 		uint64_t icd:1;
150*c5aa59e8SDavid Daney 		uint64_t ibd:1;
151*c5aa59e8SDavid Daney 		uint64_t icrp1:1;
152*c5aa59e8SDavid Daney 		uint64_t icrp0:1;
153*c5aa59e8SDavid Daney 		uint64_t icrn1:1;
154*c5aa59e8SDavid Daney 		uint64_t icrn0:1;
155*c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
156*c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
157*c5aa59e8SDavid Daney 		uint64_t icnrt:1;
158*c5aa59e8SDavid Daney 		uint64_t ibr1:1;
159*c5aa59e8SDavid Daney 		uint64_t ibr0:1;
160*c5aa59e8SDavid Daney 		uint64_t ibdr1:1;
161*c5aa59e8SDavid Daney 		uint64_t ibdr0:1;
162*c5aa59e8SDavid Daney 		uint64_t icnr0:1;
163*c5aa59e8SDavid Daney 		uint64_t icnr1:1;
164*c5aa59e8SDavid Daney 		uint64_t icr1:1;
165*c5aa59e8SDavid Daney 		uint64_t icr0:1;
166*c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
167*c5aa59e8SDavid Daney 		uint64_t iocfif:1;
168*c5aa59e8SDavid Daney 		uint64_t rsdfif:1;
169*c5aa59e8SDavid Daney 		uint64_t iorfif:1;
170*c5aa59e8SDavid Daney 		uint64_t xmcfif:1;
171*c5aa59e8SDavid Daney 		uint64_t xmdfif:1;
172*c5aa59e8SDavid Daney 		uint64_t reserved_23_63:41;
173*c5aa59e8SDavid Daney #endif
174*c5aa59e8SDavid Daney 	} cn61xx;
175*c5aa59e8SDavid Daney 	struct cvmx_iob_bist_status_cn68xx {
176*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
177aa32a955SDavid Daney 		uint64_t reserved_18_63:46;
178*c5aa59e8SDavid Daney 		uint64_t xmdfif:1;
179*c5aa59e8SDavid Daney 		uint64_t xmcfif:1;
180*c5aa59e8SDavid Daney 		uint64_t iorfif:1;
181*c5aa59e8SDavid Daney 		uint64_t rsdfif:1;
182*c5aa59e8SDavid Daney 		uint64_t iocfif:1;
183aa32a955SDavid Daney 		uint64_t icnrcb:1;
184aa32a955SDavid Daney 		uint64_t icr0:1;
185aa32a955SDavid Daney 		uint64_t icr1:1;
186aa32a955SDavid Daney 		uint64_t icnr0:1;
187aa32a955SDavid Daney 		uint64_t ibr0:1;
188aa32a955SDavid Daney 		uint64_t ibr1:1;
189aa32a955SDavid Daney 		uint64_t icnrt:1;
190aa32a955SDavid Daney 		uint64_t ibrq0:1;
191aa32a955SDavid Daney 		uint64_t ibrq1:1;
192aa32a955SDavid Daney 		uint64_t icrn0:1;
193aa32a955SDavid Daney 		uint64_t icrn1:1;
194aa32a955SDavid Daney 		uint64_t ibd:1;
195aa32a955SDavid Daney 		uint64_t icd:1;
196*c5aa59e8SDavid Daney #else
197*c5aa59e8SDavid Daney 		uint64_t icd:1;
198*c5aa59e8SDavid Daney 		uint64_t ibd:1;
199*c5aa59e8SDavid Daney 		uint64_t icrn1:1;
200*c5aa59e8SDavid Daney 		uint64_t icrn0:1;
201*c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
202*c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
203*c5aa59e8SDavid Daney 		uint64_t icnrt:1;
204*c5aa59e8SDavid Daney 		uint64_t ibr1:1;
205*c5aa59e8SDavid Daney 		uint64_t ibr0:1;
206*c5aa59e8SDavid Daney 		uint64_t icnr0:1;
207*c5aa59e8SDavid Daney 		uint64_t icr1:1;
208*c5aa59e8SDavid Daney 		uint64_t icr0:1;
209*c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
210*c5aa59e8SDavid Daney 		uint64_t iocfif:1;
211*c5aa59e8SDavid Daney 		uint64_t rsdfif:1;
212*c5aa59e8SDavid Daney 		uint64_t iorfif:1;
213*c5aa59e8SDavid Daney 		uint64_t xmcfif:1;
214*c5aa59e8SDavid Daney 		uint64_t xmdfif:1;
215*c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
216*c5aa59e8SDavid Daney #endif
217*c5aa59e8SDavid Daney 	} cn68xx;
21854293ec3SDavid Daney };
21954293ec3SDavid Daney 
22054293ec3SDavid Daney union cvmx_iob_ctl_status {
22154293ec3SDavid Daney 	uint64_t u64;
22254293ec3SDavid Daney 	struct cvmx_iob_ctl_status_s {
223*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
224*c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
225*c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
226*c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
227*c5aa59e8SDavid Daney 		uint64_t reserved_5_5:1;
228*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
229*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
230*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
231*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
232*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
233*c5aa59e8SDavid Daney #else
234*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
235*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
236*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
237*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
238*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
239*c5aa59e8SDavid Daney 		uint64_t reserved_5_5:1;
240*c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
241*c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
242*c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
243*c5aa59e8SDavid Daney #endif
244*c5aa59e8SDavid Daney 	} s;
245*c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn30xx {
246*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
247*c5aa59e8SDavid Daney 		uint64_t reserved_5_63:59;
248*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
249*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
250*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
251*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
252*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
253*c5aa59e8SDavid Daney #else
254*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
255*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
256*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
257*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
258*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
259*c5aa59e8SDavid Daney 		uint64_t reserved_5_63:59;
260*c5aa59e8SDavid Daney #endif
261*c5aa59e8SDavid Daney 	} cn30xx;
262*c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn52xx {
263*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
264*c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
265*c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
266*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
267*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
268*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
269*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
270*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
271*c5aa59e8SDavid Daney #else
272*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
273*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
274*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
275*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
276*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
277*c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
278*c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
279*c5aa59e8SDavid Daney #endif
280*c5aa59e8SDavid Daney 	} cn52xx;
281*c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn61xx {
282*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
283*c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
284*c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
285*c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
286*c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
287*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
288*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
289*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
290*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
291*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
292*c5aa59e8SDavid Daney #else
293*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
294*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
295*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
296*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
297*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
298*c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
299*c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
300*c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
301*c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
302*c5aa59e8SDavid Daney #endif
303*c5aa59e8SDavid Daney 	} cn61xx;
304*c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn63xx {
305*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
306aa32a955SDavid Daney 		uint64_t reserved_10_63:54;
307aa32a955SDavid Daney 		uint64_t xmc_per:4;
308aa32a955SDavid Daney 		uint64_t rr_mode:1;
30954293ec3SDavid Daney 		uint64_t outb_mat:1;
31054293ec3SDavid Daney 		uint64_t inb_mat:1;
31154293ec3SDavid Daney 		uint64_t pko_enb:1;
31254293ec3SDavid Daney 		uint64_t dwb_enb:1;
31354293ec3SDavid Daney 		uint64_t fau_end:1;
314*c5aa59e8SDavid Daney #else
315aa32a955SDavid Daney 		uint64_t fau_end:1;
316*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
317*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
318*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
319*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
320aa32a955SDavid Daney 		uint64_t rr_mode:1;
321*c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
322*c5aa59e8SDavid Daney 		uint64_t reserved_10_63:54;
323*c5aa59e8SDavid Daney #endif
324*c5aa59e8SDavid Daney 	} cn63xx;
325*c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn68xx {
326*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
327*c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
328*c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
329*c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
330*c5aa59e8SDavid Daney 		uint64_t rsvr5:1;
331aa32a955SDavid Daney 		uint64_t outb_mat:1;
332aa32a955SDavid Daney 		uint64_t inb_mat:1;
333aa32a955SDavid Daney 		uint64_t pko_enb:1;
334aa32a955SDavid Daney 		uint64_t dwb_enb:1;
335aa32a955SDavid Daney 		uint64_t fau_end:1;
336*c5aa59e8SDavid Daney #else
337*c5aa59e8SDavid Daney 		uint64_t fau_end:1;
338*c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
339*c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
340*c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
341*c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
342*c5aa59e8SDavid Daney 		uint64_t rsvr5:1;
343*c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
344*c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
345*c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
346*c5aa59e8SDavid Daney #endif
347*c5aa59e8SDavid Daney 	} cn68xx;
34854293ec3SDavid Daney };
34954293ec3SDavid Daney 
35054293ec3SDavid Daney union cvmx_iob_dwb_pri_cnt {
35154293ec3SDavid Daney 	uint64_t u64;
35254293ec3SDavid Daney 	struct cvmx_iob_dwb_pri_cnt_s {
353*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
35454293ec3SDavid Daney 		uint64_t reserved_16_63:48;
35554293ec3SDavid Daney 		uint64_t cnt_enb:1;
35654293ec3SDavid Daney 		uint64_t cnt_val:15;
357*c5aa59e8SDavid Daney #else
358*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
359*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
360*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
361*c5aa59e8SDavid Daney #endif
36254293ec3SDavid Daney 	} s;
36354293ec3SDavid Daney };
36454293ec3SDavid Daney 
36554293ec3SDavid Daney union cvmx_iob_fau_timeout {
36654293ec3SDavid Daney 	uint64_t u64;
36754293ec3SDavid Daney 	struct cvmx_iob_fau_timeout_s {
368*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
36954293ec3SDavid Daney 		uint64_t reserved_13_63:51;
37054293ec3SDavid Daney 		uint64_t tout_enb:1;
37154293ec3SDavid Daney 		uint64_t tout_val:12;
372*c5aa59e8SDavid Daney #else
373*c5aa59e8SDavid Daney 		uint64_t tout_val:12;
374*c5aa59e8SDavid Daney 		uint64_t tout_enb:1;
375*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
376*c5aa59e8SDavid Daney #endif
37754293ec3SDavid Daney 	} s;
37854293ec3SDavid Daney };
37954293ec3SDavid Daney 
38054293ec3SDavid Daney union cvmx_iob_i2c_pri_cnt {
38154293ec3SDavid Daney 	uint64_t u64;
38254293ec3SDavid Daney 	struct cvmx_iob_i2c_pri_cnt_s {
383*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
38454293ec3SDavid Daney 		uint64_t reserved_16_63:48;
38554293ec3SDavid Daney 		uint64_t cnt_enb:1;
38654293ec3SDavid Daney 		uint64_t cnt_val:15;
387*c5aa59e8SDavid Daney #else
388*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
389*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
390*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
391*c5aa59e8SDavid Daney #endif
39254293ec3SDavid Daney 	} s;
39354293ec3SDavid Daney };
39454293ec3SDavid Daney 
39554293ec3SDavid Daney union cvmx_iob_inb_control_match {
39654293ec3SDavid Daney 	uint64_t u64;
39754293ec3SDavid Daney 	struct cvmx_iob_inb_control_match_s {
398*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
39954293ec3SDavid Daney 		uint64_t reserved_29_63:35;
40054293ec3SDavid Daney 		uint64_t mask:8;
40154293ec3SDavid Daney 		uint64_t opc:4;
40254293ec3SDavid Daney 		uint64_t dst:9;
40354293ec3SDavid Daney 		uint64_t src:8;
404*c5aa59e8SDavid Daney #else
405*c5aa59e8SDavid Daney 		uint64_t src:8;
406*c5aa59e8SDavid Daney 		uint64_t dst:9;
407*c5aa59e8SDavid Daney 		uint64_t opc:4;
408*c5aa59e8SDavid Daney 		uint64_t mask:8;
409*c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
410*c5aa59e8SDavid Daney #endif
41154293ec3SDavid Daney 	} s;
41254293ec3SDavid Daney };
41354293ec3SDavid Daney 
41454293ec3SDavid Daney union cvmx_iob_inb_control_match_enb {
41554293ec3SDavid Daney 	uint64_t u64;
41654293ec3SDavid Daney 	struct cvmx_iob_inb_control_match_enb_s {
417*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
41854293ec3SDavid Daney 		uint64_t reserved_29_63:35;
41954293ec3SDavid Daney 		uint64_t mask:8;
42054293ec3SDavid Daney 		uint64_t opc:4;
42154293ec3SDavid Daney 		uint64_t dst:9;
42254293ec3SDavid Daney 		uint64_t src:8;
423*c5aa59e8SDavid Daney #else
424*c5aa59e8SDavid Daney 		uint64_t src:8;
425*c5aa59e8SDavid Daney 		uint64_t dst:9;
426*c5aa59e8SDavid Daney 		uint64_t opc:4;
427*c5aa59e8SDavid Daney 		uint64_t mask:8;
428*c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
429*c5aa59e8SDavid Daney #endif
43054293ec3SDavid Daney 	} s;
43154293ec3SDavid Daney };
43254293ec3SDavid Daney 
43354293ec3SDavid Daney union cvmx_iob_inb_data_match {
43454293ec3SDavid Daney 	uint64_t u64;
43554293ec3SDavid Daney 	struct cvmx_iob_inb_data_match_s {
436*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
43754293ec3SDavid Daney 		uint64_t data:64;
438*c5aa59e8SDavid Daney #else
439*c5aa59e8SDavid Daney 		uint64_t data:64;
440*c5aa59e8SDavid Daney #endif
44154293ec3SDavid Daney 	} s;
44254293ec3SDavid Daney };
44354293ec3SDavid Daney 
44454293ec3SDavid Daney union cvmx_iob_inb_data_match_enb {
44554293ec3SDavid Daney 	uint64_t u64;
44654293ec3SDavid Daney 	struct cvmx_iob_inb_data_match_enb_s {
447*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
44854293ec3SDavid Daney 		uint64_t data:64;
449*c5aa59e8SDavid Daney #else
450*c5aa59e8SDavid Daney 		uint64_t data:64;
451*c5aa59e8SDavid Daney #endif
45254293ec3SDavid Daney 	} s;
45354293ec3SDavid Daney };
45454293ec3SDavid Daney 
45554293ec3SDavid Daney union cvmx_iob_int_enb {
45654293ec3SDavid Daney 	uint64_t u64;
45754293ec3SDavid Daney 	struct cvmx_iob_int_enb_s {
458*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
45954293ec3SDavid Daney 		uint64_t reserved_6_63:58;
46054293ec3SDavid Daney 		uint64_t p_dat:1;
46154293ec3SDavid Daney 		uint64_t np_dat:1;
46254293ec3SDavid Daney 		uint64_t p_eop:1;
46354293ec3SDavid Daney 		uint64_t p_sop:1;
46454293ec3SDavid Daney 		uint64_t np_eop:1;
46554293ec3SDavid Daney 		uint64_t np_sop:1;
466*c5aa59e8SDavid Daney #else
467*c5aa59e8SDavid Daney 		uint64_t np_sop:1;
468*c5aa59e8SDavid Daney 		uint64_t np_eop:1;
469*c5aa59e8SDavid Daney 		uint64_t p_sop:1;
470*c5aa59e8SDavid Daney 		uint64_t p_eop:1;
471*c5aa59e8SDavid Daney 		uint64_t np_dat:1;
472*c5aa59e8SDavid Daney 		uint64_t p_dat:1;
473*c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
474*c5aa59e8SDavid Daney #endif
47554293ec3SDavid Daney 	} s;
47654293ec3SDavid Daney 	struct cvmx_iob_int_enb_cn30xx {
477*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
47854293ec3SDavid Daney 		uint64_t reserved_4_63:60;
47954293ec3SDavid Daney 		uint64_t p_eop:1;
48054293ec3SDavid Daney 		uint64_t p_sop:1;
48154293ec3SDavid Daney 		uint64_t np_eop:1;
48254293ec3SDavid Daney 		uint64_t np_sop:1;
483*c5aa59e8SDavid Daney #else
484*c5aa59e8SDavid Daney 		uint64_t np_sop:1;
485*c5aa59e8SDavid Daney 		uint64_t np_eop:1;
486*c5aa59e8SDavid Daney 		uint64_t p_sop:1;
487*c5aa59e8SDavid Daney 		uint64_t p_eop:1;
488*c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
489*c5aa59e8SDavid Daney #endif
49054293ec3SDavid Daney 	} cn30xx;
491*c5aa59e8SDavid Daney 	struct cvmx_iob_int_enb_cn68xx {
492*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
493*c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
494*c5aa59e8SDavid Daney #else
495*c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
496*c5aa59e8SDavid Daney #endif
497*c5aa59e8SDavid Daney 	} cn68xx;
49854293ec3SDavid Daney };
49954293ec3SDavid Daney 
50054293ec3SDavid Daney union cvmx_iob_int_sum {
50154293ec3SDavid Daney 	uint64_t u64;
50254293ec3SDavid Daney 	struct cvmx_iob_int_sum_s {
503*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
50454293ec3SDavid Daney 		uint64_t reserved_6_63:58;
50554293ec3SDavid Daney 		uint64_t p_dat:1;
50654293ec3SDavid Daney 		uint64_t np_dat:1;
50754293ec3SDavid Daney 		uint64_t p_eop:1;
50854293ec3SDavid Daney 		uint64_t p_sop:1;
50954293ec3SDavid Daney 		uint64_t np_eop:1;
51054293ec3SDavid Daney 		uint64_t np_sop:1;
511*c5aa59e8SDavid Daney #else
512*c5aa59e8SDavid Daney 		uint64_t np_sop:1;
513*c5aa59e8SDavid Daney 		uint64_t np_eop:1;
514*c5aa59e8SDavid Daney 		uint64_t p_sop:1;
515*c5aa59e8SDavid Daney 		uint64_t p_eop:1;
516*c5aa59e8SDavid Daney 		uint64_t np_dat:1;
517*c5aa59e8SDavid Daney 		uint64_t p_dat:1;
518*c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
519*c5aa59e8SDavid Daney #endif
52054293ec3SDavid Daney 	} s;
52154293ec3SDavid Daney 	struct cvmx_iob_int_sum_cn30xx {
522*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
52354293ec3SDavid Daney 		uint64_t reserved_4_63:60;
52454293ec3SDavid Daney 		uint64_t p_eop:1;
52554293ec3SDavid Daney 		uint64_t p_sop:1;
52654293ec3SDavid Daney 		uint64_t np_eop:1;
52754293ec3SDavid Daney 		uint64_t np_sop:1;
528*c5aa59e8SDavid Daney #else
529*c5aa59e8SDavid Daney 		uint64_t np_sop:1;
530*c5aa59e8SDavid Daney 		uint64_t np_eop:1;
531*c5aa59e8SDavid Daney 		uint64_t p_sop:1;
532*c5aa59e8SDavid Daney 		uint64_t p_eop:1;
533*c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
534*c5aa59e8SDavid Daney #endif
53554293ec3SDavid Daney 	} cn30xx;
536*c5aa59e8SDavid Daney 	struct cvmx_iob_int_sum_cn68xx {
537*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
538*c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
539*c5aa59e8SDavid Daney #else
540*c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
541*c5aa59e8SDavid Daney #endif
542*c5aa59e8SDavid Daney 	} cn68xx;
54354293ec3SDavid Daney };
54454293ec3SDavid Daney 
54554293ec3SDavid Daney union cvmx_iob_n2c_l2c_pri_cnt {
54654293ec3SDavid Daney 	uint64_t u64;
54754293ec3SDavid Daney 	struct cvmx_iob_n2c_l2c_pri_cnt_s {
548*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
54954293ec3SDavid Daney 		uint64_t reserved_16_63:48;
55054293ec3SDavid Daney 		uint64_t cnt_enb:1;
55154293ec3SDavid Daney 		uint64_t cnt_val:15;
552*c5aa59e8SDavid Daney #else
553*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
554*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
555*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
556*c5aa59e8SDavid Daney #endif
55754293ec3SDavid Daney 	} s;
55854293ec3SDavid Daney };
55954293ec3SDavid Daney 
56054293ec3SDavid Daney union cvmx_iob_n2c_rsp_pri_cnt {
56154293ec3SDavid Daney 	uint64_t u64;
56254293ec3SDavid Daney 	struct cvmx_iob_n2c_rsp_pri_cnt_s {
563*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
56454293ec3SDavid Daney 		uint64_t reserved_16_63:48;
56554293ec3SDavid Daney 		uint64_t cnt_enb:1;
56654293ec3SDavid Daney 		uint64_t cnt_val:15;
567*c5aa59e8SDavid Daney #else
568*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
569*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
570*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
571*c5aa59e8SDavid Daney #endif
57254293ec3SDavid Daney 	} s;
57354293ec3SDavid Daney };
57454293ec3SDavid Daney 
57554293ec3SDavid Daney union cvmx_iob_outb_com_pri_cnt {
57654293ec3SDavid Daney 	uint64_t u64;
57754293ec3SDavid Daney 	struct cvmx_iob_outb_com_pri_cnt_s {
578*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
57954293ec3SDavid Daney 		uint64_t reserved_16_63:48;
58054293ec3SDavid Daney 		uint64_t cnt_enb:1;
58154293ec3SDavid Daney 		uint64_t cnt_val:15;
582*c5aa59e8SDavid Daney #else
583*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
584*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
585*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
586*c5aa59e8SDavid Daney #endif
58754293ec3SDavid Daney 	} s;
58854293ec3SDavid Daney };
58954293ec3SDavid Daney 
59054293ec3SDavid Daney union cvmx_iob_outb_control_match {
59154293ec3SDavid Daney 	uint64_t u64;
59254293ec3SDavid Daney 	struct cvmx_iob_outb_control_match_s {
593*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
59454293ec3SDavid Daney 		uint64_t reserved_26_63:38;
59554293ec3SDavid Daney 		uint64_t mask:8;
59654293ec3SDavid Daney 		uint64_t eot:1;
59754293ec3SDavid Daney 		uint64_t dst:8;
59854293ec3SDavid Daney 		uint64_t src:9;
599*c5aa59e8SDavid Daney #else
600*c5aa59e8SDavid Daney 		uint64_t src:9;
601*c5aa59e8SDavid Daney 		uint64_t dst:8;
602*c5aa59e8SDavid Daney 		uint64_t eot:1;
603*c5aa59e8SDavid Daney 		uint64_t mask:8;
604*c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
605*c5aa59e8SDavid Daney #endif
60654293ec3SDavid Daney 	} s;
60754293ec3SDavid Daney };
60854293ec3SDavid Daney 
60954293ec3SDavid Daney union cvmx_iob_outb_control_match_enb {
61054293ec3SDavid Daney 	uint64_t u64;
61154293ec3SDavid Daney 	struct cvmx_iob_outb_control_match_enb_s {
612*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
61354293ec3SDavid Daney 		uint64_t reserved_26_63:38;
61454293ec3SDavid Daney 		uint64_t mask:8;
61554293ec3SDavid Daney 		uint64_t eot:1;
61654293ec3SDavid Daney 		uint64_t dst:8;
61754293ec3SDavid Daney 		uint64_t src:9;
618*c5aa59e8SDavid Daney #else
619*c5aa59e8SDavid Daney 		uint64_t src:9;
620*c5aa59e8SDavid Daney 		uint64_t dst:8;
621*c5aa59e8SDavid Daney 		uint64_t eot:1;
622*c5aa59e8SDavid Daney 		uint64_t mask:8;
623*c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
624*c5aa59e8SDavid Daney #endif
62554293ec3SDavid Daney 	} s;
62654293ec3SDavid Daney };
62754293ec3SDavid Daney 
62854293ec3SDavid Daney union cvmx_iob_outb_data_match {
62954293ec3SDavid Daney 	uint64_t u64;
63054293ec3SDavid Daney 	struct cvmx_iob_outb_data_match_s {
631*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
63254293ec3SDavid Daney 		uint64_t data:64;
633*c5aa59e8SDavid Daney #else
634*c5aa59e8SDavid Daney 		uint64_t data:64;
635*c5aa59e8SDavid Daney #endif
63654293ec3SDavid Daney 	} s;
63754293ec3SDavid Daney };
63854293ec3SDavid Daney 
63954293ec3SDavid Daney union cvmx_iob_outb_data_match_enb {
64054293ec3SDavid Daney 	uint64_t u64;
64154293ec3SDavid Daney 	struct cvmx_iob_outb_data_match_enb_s {
642*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
64354293ec3SDavid Daney 		uint64_t data:64;
644*c5aa59e8SDavid Daney #else
645*c5aa59e8SDavid Daney 		uint64_t data:64;
646*c5aa59e8SDavid Daney #endif
64754293ec3SDavid Daney 	} s;
64854293ec3SDavid Daney };
64954293ec3SDavid Daney 
65054293ec3SDavid Daney union cvmx_iob_outb_fpa_pri_cnt {
65154293ec3SDavid Daney 	uint64_t u64;
65254293ec3SDavid Daney 	struct cvmx_iob_outb_fpa_pri_cnt_s {
653*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
65454293ec3SDavid Daney 		uint64_t reserved_16_63:48;
65554293ec3SDavid Daney 		uint64_t cnt_enb:1;
65654293ec3SDavid Daney 		uint64_t cnt_val:15;
657*c5aa59e8SDavid Daney #else
658*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
659*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
660*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
661*c5aa59e8SDavid Daney #endif
66254293ec3SDavid Daney 	} s;
66354293ec3SDavid Daney };
66454293ec3SDavid Daney 
66554293ec3SDavid Daney union cvmx_iob_outb_req_pri_cnt {
66654293ec3SDavid Daney 	uint64_t u64;
66754293ec3SDavid Daney 	struct cvmx_iob_outb_req_pri_cnt_s {
668*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
66954293ec3SDavid Daney 		uint64_t reserved_16_63:48;
67054293ec3SDavid Daney 		uint64_t cnt_enb:1;
67154293ec3SDavid Daney 		uint64_t cnt_val:15;
672*c5aa59e8SDavid Daney #else
673*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
674*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
675*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
676*c5aa59e8SDavid Daney #endif
67754293ec3SDavid Daney 	} s;
67854293ec3SDavid Daney };
67954293ec3SDavid Daney 
68054293ec3SDavid Daney union cvmx_iob_p2c_req_pri_cnt {
68154293ec3SDavid Daney 	uint64_t u64;
68254293ec3SDavid Daney 	struct cvmx_iob_p2c_req_pri_cnt_s {
683*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
68454293ec3SDavid Daney 		uint64_t reserved_16_63:48;
68554293ec3SDavid Daney 		uint64_t cnt_enb:1;
68654293ec3SDavid Daney 		uint64_t cnt_val:15;
687*c5aa59e8SDavid Daney #else
688*c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
689*c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
690*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
691*c5aa59e8SDavid Daney #endif
69254293ec3SDavid Daney 	} s;
69354293ec3SDavid Daney };
69454293ec3SDavid Daney 
69554293ec3SDavid Daney union cvmx_iob_pkt_err {
69654293ec3SDavid Daney 	uint64_t u64;
69754293ec3SDavid Daney 	struct cvmx_iob_pkt_err_s {
698*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
699aa32a955SDavid Daney 		uint64_t reserved_12_63:52;
700aa32a955SDavid Daney 		uint64_t vport:6;
70154293ec3SDavid Daney 		uint64_t port:6;
702*c5aa59e8SDavid Daney #else
703*c5aa59e8SDavid Daney 		uint64_t port:6;
704*c5aa59e8SDavid Daney 		uint64_t vport:6;
705*c5aa59e8SDavid Daney 		uint64_t reserved_12_63:52;
706*c5aa59e8SDavid Daney #endif
70754293ec3SDavid Daney 	} s;
708aa32a955SDavid Daney 	struct cvmx_iob_pkt_err_cn30xx {
709*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
710aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
711aa32a955SDavid Daney 		uint64_t port:6;
712*c5aa59e8SDavid Daney #else
713*c5aa59e8SDavid Daney 		uint64_t port:6;
714*c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
715*c5aa59e8SDavid Daney #endif
716aa32a955SDavid Daney 	} cn30xx;
717aa32a955SDavid Daney };
718aa32a955SDavid Daney 
719aa32a955SDavid Daney union cvmx_iob_to_cmb_credits {
720aa32a955SDavid Daney 	uint64_t u64;
721aa32a955SDavid Daney 	struct cvmx_iob_to_cmb_credits_s {
722*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
723*c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
724*c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
725*c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
726*c5aa59e8SDavid Daney #else
727*c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
728*c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
729*c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
730*c5aa59e8SDavid Daney #endif
731*c5aa59e8SDavid Daney 	} s;
732*c5aa59e8SDavid Daney 	struct cvmx_iob_to_cmb_credits_cn52xx {
733*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
734aa32a955SDavid Daney 		uint64_t reserved_9_63:55;
735aa32a955SDavid Daney 		uint64_t pko_rd:3;
736aa32a955SDavid Daney 		uint64_t ncb_rd:3;
737aa32a955SDavid Daney 		uint64_t ncb_wr:3;
738*c5aa59e8SDavid Daney #else
739*c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
740*c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
741*c5aa59e8SDavid Daney 		uint64_t pko_rd:3;
742*c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
743*c5aa59e8SDavid Daney #endif
744*c5aa59e8SDavid Daney 	} cn52xx;
745*c5aa59e8SDavid Daney 	struct cvmx_iob_to_cmb_credits_cn68xx {
746*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
747*c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
748*c5aa59e8SDavid Daney 		uint64_t dwb:3;
749*c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
750*c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
751*c5aa59e8SDavid Daney #else
752*c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
753*c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
754*c5aa59e8SDavid Daney 		uint64_t dwb:3;
755*c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
756*c5aa59e8SDavid Daney #endif
757*c5aa59e8SDavid Daney 	} cn68xx;
758*c5aa59e8SDavid Daney };
759*c5aa59e8SDavid Daney 
760*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_00_credits {
761*c5aa59e8SDavid Daney 	uint64_t u64;
762*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_00_credits_s {
763*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
764*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
765*c5aa59e8SDavid Daney 		uint64_t crd:7;
766*c5aa59e8SDavid Daney #else
767*c5aa59e8SDavid Daney 		uint64_t crd:7;
768*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
769*c5aa59e8SDavid Daney #endif
770aa32a955SDavid Daney 	} s;
771*c5aa59e8SDavid Daney };
772*c5aa59e8SDavid Daney 
773*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_111_credits {
774*c5aa59e8SDavid Daney 	uint64_t u64;
775*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_111_credits_s {
776*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
777*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
778*c5aa59e8SDavid Daney 		uint64_t crd:7;
779*c5aa59e8SDavid Daney #else
780*c5aa59e8SDavid Daney 		uint64_t crd:7;
781*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
782*c5aa59e8SDavid Daney #endif
783*c5aa59e8SDavid Daney 	} s;
784*c5aa59e8SDavid Daney };
785*c5aa59e8SDavid Daney 
786*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_223_credits {
787*c5aa59e8SDavid Daney 	uint64_t u64;
788*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_223_credits_s {
789*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
790*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
791*c5aa59e8SDavid Daney 		uint64_t crd:7;
792*c5aa59e8SDavid Daney #else
793*c5aa59e8SDavid Daney 		uint64_t crd:7;
794*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
795*c5aa59e8SDavid Daney #endif
796*c5aa59e8SDavid Daney 	} s;
797*c5aa59e8SDavid Daney };
798*c5aa59e8SDavid Daney 
799*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_24_credits {
800*c5aa59e8SDavid Daney 	uint64_t u64;
801*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_24_credits_s {
802*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
803*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
804*c5aa59e8SDavid Daney 		uint64_t crd:7;
805*c5aa59e8SDavid Daney #else
806*c5aa59e8SDavid Daney 		uint64_t crd:7;
807*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
808*c5aa59e8SDavid Daney #endif
809*c5aa59e8SDavid Daney 	} s;
810*c5aa59e8SDavid Daney };
811*c5aa59e8SDavid Daney 
812*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_32_credits {
813*c5aa59e8SDavid Daney 	uint64_t u64;
814*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_32_credits_s {
815*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
816*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
817*c5aa59e8SDavid Daney 		uint64_t crd:7;
818*c5aa59e8SDavid Daney #else
819*c5aa59e8SDavid Daney 		uint64_t crd:7;
820*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
821*c5aa59e8SDavid Daney #endif
822*c5aa59e8SDavid Daney 	} s;
823*c5aa59e8SDavid Daney };
824*c5aa59e8SDavid Daney 
825*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_40_credits {
826*c5aa59e8SDavid Daney 	uint64_t u64;
827*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_40_credits_s {
828*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
829*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
830*c5aa59e8SDavid Daney 		uint64_t crd:7;
831*c5aa59e8SDavid Daney #else
832*c5aa59e8SDavid Daney 		uint64_t crd:7;
833*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
834*c5aa59e8SDavid Daney #endif
835*c5aa59e8SDavid Daney 	} s;
836*c5aa59e8SDavid Daney };
837*c5aa59e8SDavid Daney 
838*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_55_credits {
839*c5aa59e8SDavid Daney 	uint64_t u64;
840*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_55_credits_s {
841*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
842*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
843*c5aa59e8SDavid Daney 		uint64_t crd:7;
844*c5aa59e8SDavid Daney #else
845*c5aa59e8SDavid Daney 		uint64_t crd:7;
846*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
847*c5aa59e8SDavid Daney #endif
848*c5aa59e8SDavid Daney 	} s;
849*c5aa59e8SDavid Daney };
850*c5aa59e8SDavid Daney 
851*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_64_credits {
852*c5aa59e8SDavid Daney 	uint64_t u64;
853*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_64_credits_s {
854*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
855*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
856*c5aa59e8SDavid Daney 		uint64_t crd:7;
857*c5aa59e8SDavid Daney #else
858*c5aa59e8SDavid Daney 		uint64_t crd:7;
859*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
860*c5aa59e8SDavid Daney #endif
861*c5aa59e8SDavid Daney 	} s;
862*c5aa59e8SDavid Daney };
863*c5aa59e8SDavid Daney 
864*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_79_credits {
865*c5aa59e8SDavid Daney 	uint64_t u64;
866*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_79_credits_s {
867*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
868*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
869*c5aa59e8SDavid Daney 		uint64_t crd:7;
870*c5aa59e8SDavid Daney #else
871*c5aa59e8SDavid Daney 		uint64_t crd:7;
872*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
873*c5aa59e8SDavid Daney #endif
874*c5aa59e8SDavid Daney 	} s;
875*c5aa59e8SDavid Daney };
876*c5aa59e8SDavid Daney 
877*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_96_credits {
878*c5aa59e8SDavid Daney 	uint64_t u64;
879*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_96_credits_s {
880*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
881*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
882*c5aa59e8SDavid Daney 		uint64_t crd:7;
883*c5aa59e8SDavid Daney #else
884*c5aa59e8SDavid Daney 		uint64_t crd:7;
885*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
886*c5aa59e8SDavid Daney #endif
887*c5aa59e8SDavid Daney 	} s;
888*c5aa59e8SDavid Daney };
889*c5aa59e8SDavid Daney 
890*c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_98_credits {
891*c5aa59e8SDavid Daney 	uint64_t u64;
892*c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_98_credits_s {
893*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
894*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
895*c5aa59e8SDavid Daney 		uint64_t crd:7;
896*c5aa59e8SDavid Daney #else
897*c5aa59e8SDavid Daney 		uint64_t crd:7;
898*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
899*c5aa59e8SDavid Daney #endif
900*c5aa59e8SDavid Daney 	} s;
90154293ec3SDavid Daney };
90254293ec3SDavid Daney 
90354293ec3SDavid Daney #endif
904