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  *
7c5aa59e8SDavid 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))
54c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull))
55c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull))
56c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull))
57c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull))
58c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull))
59c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull))
60c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull))
61c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull))
62c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull))
63c5aa59e8SDavid Daney #define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull))
64c5aa59e8SDavid 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 {
69c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
70c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
71c5aa59e8SDavid Daney 		uint64_t ibd:1;
72c5aa59e8SDavid Daney 		uint64_t icd:1;
73c5aa59e8SDavid Daney #else
74c5aa59e8SDavid Daney 		uint64_t icd:1;
75c5aa59e8SDavid Daney 		uint64_t ibd:1;
76c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
77c5aa59e8SDavid Daney #endif
78c5aa59e8SDavid Daney 	} s;
79c5aa59e8SDavid Daney 	struct cvmx_iob_bist_status_cn30xx {
80c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
81c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
82c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
83c5aa59e8SDavid Daney 		uint64_t icr0:1;
84c5aa59e8SDavid Daney 		uint64_t icr1:1;
85c5aa59e8SDavid Daney 		uint64_t icnr1:1;
86c5aa59e8SDavid Daney 		uint64_t icnr0:1;
87c5aa59e8SDavid Daney 		uint64_t ibdr0:1;
88c5aa59e8SDavid Daney 		uint64_t ibdr1:1;
89c5aa59e8SDavid Daney 		uint64_t ibr0:1;
90c5aa59e8SDavid Daney 		uint64_t ibr1:1;
91c5aa59e8SDavid Daney 		uint64_t icnrt:1;
92c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
93c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
94c5aa59e8SDavid Daney 		uint64_t icrn0:1;
95c5aa59e8SDavid Daney 		uint64_t icrn1:1;
96c5aa59e8SDavid Daney 		uint64_t icrp0:1;
97c5aa59e8SDavid Daney 		uint64_t icrp1:1;
98c5aa59e8SDavid Daney 		uint64_t ibd:1;
99c5aa59e8SDavid Daney 		uint64_t icd:1;
100c5aa59e8SDavid Daney #else
101c5aa59e8SDavid Daney 		uint64_t icd:1;
102c5aa59e8SDavid Daney 		uint64_t ibd:1;
103c5aa59e8SDavid Daney 		uint64_t icrp1:1;
104c5aa59e8SDavid Daney 		uint64_t icrp0:1;
105c5aa59e8SDavid Daney 		uint64_t icrn1:1;
106c5aa59e8SDavid Daney 		uint64_t icrn0:1;
107c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
108c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
109c5aa59e8SDavid Daney 		uint64_t icnrt:1;
110c5aa59e8SDavid Daney 		uint64_t ibr1:1;
111c5aa59e8SDavid Daney 		uint64_t ibr0:1;
112c5aa59e8SDavid Daney 		uint64_t ibdr1:1;
113c5aa59e8SDavid Daney 		uint64_t ibdr0:1;
114c5aa59e8SDavid Daney 		uint64_t icnr0:1;
115c5aa59e8SDavid Daney 		uint64_t icnr1:1;
116c5aa59e8SDavid Daney 		uint64_t icr1:1;
117c5aa59e8SDavid Daney 		uint64_t icr0:1;
118c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
119c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
120c5aa59e8SDavid Daney #endif
121c5aa59e8SDavid Daney 	} cn30xx;
122c5aa59e8SDavid Daney 	struct cvmx_iob_bist_status_cn61xx {
123c5aa59e8SDavid 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;
148c5aa59e8SDavid Daney #else
149c5aa59e8SDavid Daney 		uint64_t icd:1;
150c5aa59e8SDavid Daney 		uint64_t ibd:1;
151c5aa59e8SDavid Daney 		uint64_t icrp1:1;
152c5aa59e8SDavid Daney 		uint64_t icrp0:1;
153c5aa59e8SDavid Daney 		uint64_t icrn1:1;
154c5aa59e8SDavid Daney 		uint64_t icrn0:1;
155c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
156c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
157c5aa59e8SDavid Daney 		uint64_t icnrt:1;
158c5aa59e8SDavid Daney 		uint64_t ibr1:1;
159c5aa59e8SDavid Daney 		uint64_t ibr0:1;
160c5aa59e8SDavid Daney 		uint64_t ibdr1:1;
161c5aa59e8SDavid Daney 		uint64_t ibdr0:1;
162c5aa59e8SDavid Daney 		uint64_t icnr0:1;
163c5aa59e8SDavid Daney 		uint64_t icnr1:1;
164c5aa59e8SDavid Daney 		uint64_t icr1:1;
165c5aa59e8SDavid Daney 		uint64_t icr0:1;
166c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
167c5aa59e8SDavid Daney 		uint64_t iocfif:1;
168c5aa59e8SDavid Daney 		uint64_t rsdfif:1;
169c5aa59e8SDavid Daney 		uint64_t iorfif:1;
170c5aa59e8SDavid Daney 		uint64_t xmcfif:1;
171c5aa59e8SDavid Daney 		uint64_t xmdfif:1;
172c5aa59e8SDavid Daney 		uint64_t reserved_23_63:41;
173c5aa59e8SDavid Daney #endif
174c5aa59e8SDavid Daney 	} cn61xx;
175c5aa59e8SDavid Daney 	struct cvmx_iob_bist_status_cn68xx {
176c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
177aa32a955SDavid Daney 		uint64_t reserved_18_63:46;
178c5aa59e8SDavid Daney 		uint64_t xmdfif:1;
179c5aa59e8SDavid Daney 		uint64_t xmcfif:1;
180c5aa59e8SDavid Daney 		uint64_t iorfif:1;
181c5aa59e8SDavid Daney 		uint64_t rsdfif:1;
182c5aa59e8SDavid 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;
196c5aa59e8SDavid Daney #else
197c5aa59e8SDavid Daney 		uint64_t icd:1;
198c5aa59e8SDavid Daney 		uint64_t ibd:1;
199c5aa59e8SDavid Daney 		uint64_t icrn1:1;
200c5aa59e8SDavid Daney 		uint64_t icrn0:1;
201c5aa59e8SDavid Daney 		uint64_t ibrq1:1;
202c5aa59e8SDavid Daney 		uint64_t ibrq0:1;
203c5aa59e8SDavid Daney 		uint64_t icnrt:1;
204c5aa59e8SDavid Daney 		uint64_t ibr1:1;
205c5aa59e8SDavid Daney 		uint64_t ibr0:1;
206c5aa59e8SDavid Daney 		uint64_t icnr0:1;
207c5aa59e8SDavid Daney 		uint64_t icr1:1;
208c5aa59e8SDavid Daney 		uint64_t icr0:1;
209c5aa59e8SDavid Daney 		uint64_t icnrcb:1;
210c5aa59e8SDavid Daney 		uint64_t iocfif:1;
211c5aa59e8SDavid Daney 		uint64_t rsdfif:1;
212c5aa59e8SDavid Daney 		uint64_t iorfif:1;
213c5aa59e8SDavid Daney 		uint64_t xmcfif:1;
214c5aa59e8SDavid Daney 		uint64_t xmdfif:1;
215c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
216c5aa59e8SDavid Daney #endif
217c5aa59e8SDavid 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 {
223c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
224c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
225c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
226c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
227c5aa59e8SDavid Daney 		uint64_t reserved_5_5:1;
228c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
229c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
230c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
231c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
232c5aa59e8SDavid Daney 		uint64_t fau_end:1;
233c5aa59e8SDavid Daney #else
234c5aa59e8SDavid Daney 		uint64_t fau_end:1;
235c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
236c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
237c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
238c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
239c5aa59e8SDavid Daney 		uint64_t reserved_5_5:1;
240c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
241c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
242c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
243c5aa59e8SDavid Daney #endif
244c5aa59e8SDavid Daney 	} s;
245c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn30xx {
246c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
247c5aa59e8SDavid Daney 		uint64_t reserved_5_63:59;
248c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
249c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
250c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
251c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
252c5aa59e8SDavid Daney 		uint64_t fau_end:1;
253c5aa59e8SDavid Daney #else
254c5aa59e8SDavid Daney 		uint64_t fau_end:1;
255c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
256c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
257c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
258c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
259c5aa59e8SDavid Daney 		uint64_t reserved_5_63:59;
260c5aa59e8SDavid Daney #endif
261c5aa59e8SDavid Daney 	} cn30xx;
262c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn52xx {
263c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
264c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
265c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
266c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
267c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
268c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
269c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
270c5aa59e8SDavid Daney 		uint64_t fau_end:1;
271c5aa59e8SDavid Daney #else
272c5aa59e8SDavid Daney 		uint64_t fau_end:1;
273c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
274c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
275c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
276c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
277c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
278c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
279c5aa59e8SDavid Daney #endif
280c5aa59e8SDavid Daney 	} cn52xx;
281c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn61xx {
282c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
283c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
284c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
285c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
286c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
287c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
288c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
289c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
290c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
291c5aa59e8SDavid Daney 		uint64_t fau_end:1;
292c5aa59e8SDavid Daney #else
293c5aa59e8SDavid Daney 		uint64_t fau_end:1;
294c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
295c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
296c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
297c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
298c5aa59e8SDavid Daney 		uint64_t rr_mode:1;
299c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
300c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
301c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
302c5aa59e8SDavid Daney #endif
303c5aa59e8SDavid Daney 	} cn61xx;
304c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn63xx {
305c5aa59e8SDavid 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;
314c5aa59e8SDavid Daney #else
315aa32a955SDavid Daney 		uint64_t fau_end:1;
316c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
317c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
318c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
319c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
320aa32a955SDavid Daney 		uint64_t rr_mode:1;
321c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
322c5aa59e8SDavid Daney 		uint64_t reserved_10_63:54;
323c5aa59e8SDavid Daney #endif
324c5aa59e8SDavid Daney 	} cn63xx;
325c5aa59e8SDavid Daney 	struct cvmx_iob_ctl_status_cn68xx {
326c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
327c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
328c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
329c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
330c5aa59e8SDavid 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;
336c5aa59e8SDavid Daney #else
337c5aa59e8SDavid Daney 		uint64_t fau_end:1;
338c5aa59e8SDavid Daney 		uint64_t dwb_enb:1;
339c5aa59e8SDavid Daney 		uint64_t pko_enb:1;
340c5aa59e8SDavid Daney 		uint64_t inb_mat:1;
341c5aa59e8SDavid Daney 		uint64_t outb_mat:1;
342c5aa59e8SDavid Daney 		uint64_t rsvr5:1;
343c5aa59e8SDavid Daney 		uint64_t xmc_per:4;
344c5aa59e8SDavid Daney 		uint64_t fif_dly:1;
345c5aa59e8SDavid Daney 		uint64_t reserved_11_63:53;
346c5aa59e8SDavid Daney #endif
347c5aa59e8SDavid 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 {
353c5aa59e8SDavid 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;
357c5aa59e8SDavid Daney #else
358c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
359c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
360c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
361c5aa59e8SDavid 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 {
368c5aa59e8SDavid 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;
372c5aa59e8SDavid Daney #else
373c5aa59e8SDavid Daney 		uint64_t tout_val:12;
374c5aa59e8SDavid Daney 		uint64_t tout_enb:1;
375c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
376c5aa59e8SDavid 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 {
383c5aa59e8SDavid 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;
387c5aa59e8SDavid Daney #else
388c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
389c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
390c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
391c5aa59e8SDavid 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 {
398c5aa59e8SDavid 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;
404c5aa59e8SDavid Daney #else
405c5aa59e8SDavid Daney 		uint64_t src:8;
406c5aa59e8SDavid Daney 		uint64_t dst:9;
407c5aa59e8SDavid Daney 		uint64_t opc:4;
408c5aa59e8SDavid Daney 		uint64_t mask:8;
409c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
410c5aa59e8SDavid 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 {
417c5aa59e8SDavid 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;
423c5aa59e8SDavid Daney #else
424c5aa59e8SDavid Daney 		uint64_t src:8;
425c5aa59e8SDavid Daney 		uint64_t dst:9;
426c5aa59e8SDavid Daney 		uint64_t opc:4;
427c5aa59e8SDavid Daney 		uint64_t mask:8;
428c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
429c5aa59e8SDavid 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 {
436c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
43754293ec3SDavid Daney 		uint64_t data:64;
438c5aa59e8SDavid Daney #else
439c5aa59e8SDavid Daney 		uint64_t data:64;
440c5aa59e8SDavid 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 {
447c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
44854293ec3SDavid Daney 		uint64_t data:64;
449c5aa59e8SDavid Daney #else
450c5aa59e8SDavid Daney 		uint64_t data:64;
451c5aa59e8SDavid 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 {
458c5aa59e8SDavid 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;
466c5aa59e8SDavid Daney #else
467c5aa59e8SDavid Daney 		uint64_t np_sop:1;
468c5aa59e8SDavid Daney 		uint64_t np_eop:1;
469c5aa59e8SDavid Daney 		uint64_t p_sop:1;
470c5aa59e8SDavid Daney 		uint64_t p_eop:1;
471c5aa59e8SDavid Daney 		uint64_t np_dat:1;
472c5aa59e8SDavid Daney 		uint64_t p_dat:1;
473c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
474c5aa59e8SDavid Daney #endif
47554293ec3SDavid Daney 	} s;
47654293ec3SDavid Daney 	struct cvmx_iob_int_enb_cn30xx {
477c5aa59e8SDavid 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;
483c5aa59e8SDavid Daney #else
484c5aa59e8SDavid Daney 		uint64_t np_sop:1;
485c5aa59e8SDavid Daney 		uint64_t np_eop:1;
486c5aa59e8SDavid Daney 		uint64_t p_sop:1;
487c5aa59e8SDavid Daney 		uint64_t p_eop:1;
488c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
489c5aa59e8SDavid Daney #endif
49054293ec3SDavid Daney 	} cn30xx;
491c5aa59e8SDavid Daney 	struct cvmx_iob_int_enb_cn68xx {
492c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
493c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
494c5aa59e8SDavid Daney #else
495c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
496c5aa59e8SDavid Daney #endif
497c5aa59e8SDavid 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 {
503c5aa59e8SDavid 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;
511c5aa59e8SDavid Daney #else
512c5aa59e8SDavid Daney 		uint64_t np_sop:1;
513c5aa59e8SDavid Daney 		uint64_t np_eop:1;
514c5aa59e8SDavid Daney 		uint64_t p_sop:1;
515c5aa59e8SDavid Daney 		uint64_t p_eop:1;
516c5aa59e8SDavid Daney 		uint64_t np_dat:1;
517c5aa59e8SDavid Daney 		uint64_t p_dat:1;
518c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
519c5aa59e8SDavid Daney #endif
52054293ec3SDavid Daney 	} s;
52154293ec3SDavid Daney 	struct cvmx_iob_int_sum_cn30xx {
522c5aa59e8SDavid 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;
528c5aa59e8SDavid Daney #else
529c5aa59e8SDavid Daney 		uint64_t np_sop:1;
530c5aa59e8SDavid Daney 		uint64_t np_eop:1;
531c5aa59e8SDavid Daney 		uint64_t p_sop:1;
532c5aa59e8SDavid Daney 		uint64_t p_eop:1;
533c5aa59e8SDavid Daney 		uint64_t reserved_4_63:60;
534c5aa59e8SDavid Daney #endif
53554293ec3SDavid Daney 	} cn30xx;
536c5aa59e8SDavid Daney 	struct cvmx_iob_int_sum_cn68xx {
537c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
538c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
539c5aa59e8SDavid Daney #else
540c5aa59e8SDavid Daney 		uint64_t reserved_0_63:64;
541c5aa59e8SDavid Daney #endif
542c5aa59e8SDavid 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 {
548c5aa59e8SDavid 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;
552c5aa59e8SDavid Daney #else
553c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
554c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
555c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
556c5aa59e8SDavid 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 {
563c5aa59e8SDavid 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;
567c5aa59e8SDavid Daney #else
568c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
569c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
570c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
571c5aa59e8SDavid 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 {
578c5aa59e8SDavid 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;
582c5aa59e8SDavid Daney #else
583c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
584c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
585c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
586c5aa59e8SDavid 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 {
593c5aa59e8SDavid 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;
599c5aa59e8SDavid Daney #else
600c5aa59e8SDavid Daney 		uint64_t src:9;
601c5aa59e8SDavid Daney 		uint64_t dst:8;
602c5aa59e8SDavid Daney 		uint64_t eot:1;
603c5aa59e8SDavid Daney 		uint64_t mask:8;
604c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
605c5aa59e8SDavid 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 {
612c5aa59e8SDavid 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;
618c5aa59e8SDavid Daney #else
619c5aa59e8SDavid Daney 		uint64_t src:9;
620c5aa59e8SDavid Daney 		uint64_t dst:8;
621c5aa59e8SDavid Daney 		uint64_t eot:1;
622c5aa59e8SDavid Daney 		uint64_t mask:8;
623c5aa59e8SDavid Daney 		uint64_t reserved_26_63:38;
624c5aa59e8SDavid 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 {
631c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
63254293ec3SDavid Daney 		uint64_t data:64;
633c5aa59e8SDavid Daney #else
634c5aa59e8SDavid Daney 		uint64_t data:64;
635c5aa59e8SDavid 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 {
642c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
64354293ec3SDavid Daney 		uint64_t data:64;
644c5aa59e8SDavid Daney #else
645c5aa59e8SDavid Daney 		uint64_t data:64;
646c5aa59e8SDavid 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 {
653c5aa59e8SDavid 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;
657c5aa59e8SDavid Daney #else
658c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
659c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
660c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
661c5aa59e8SDavid 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 {
668c5aa59e8SDavid 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;
672c5aa59e8SDavid Daney #else
673c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
674c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
675c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
676c5aa59e8SDavid 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 {
683c5aa59e8SDavid 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;
687c5aa59e8SDavid Daney #else
688c5aa59e8SDavid Daney 		uint64_t cnt_val:15;
689c5aa59e8SDavid Daney 		uint64_t cnt_enb:1;
690c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
691c5aa59e8SDavid 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 {
698c5aa59e8SDavid 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;
702c5aa59e8SDavid Daney #else
703c5aa59e8SDavid Daney 		uint64_t port:6;
704c5aa59e8SDavid Daney 		uint64_t vport:6;
705c5aa59e8SDavid Daney 		uint64_t reserved_12_63:52;
706c5aa59e8SDavid Daney #endif
70754293ec3SDavid Daney 	} s;
708aa32a955SDavid Daney 	struct cvmx_iob_pkt_err_cn30xx {
709c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
710aa32a955SDavid Daney 		uint64_t reserved_6_63:58;
711aa32a955SDavid Daney 		uint64_t port:6;
712c5aa59e8SDavid Daney #else
713c5aa59e8SDavid Daney 		uint64_t port:6;
714c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
715c5aa59e8SDavid 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 {
722c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
723c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
724c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
725c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
726c5aa59e8SDavid Daney #else
727c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
728c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
729c5aa59e8SDavid Daney 		uint64_t reserved_6_63:58;
730c5aa59e8SDavid Daney #endif
731c5aa59e8SDavid Daney 	} s;
732c5aa59e8SDavid Daney 	struct cvmx_iob_to_cmb_credits_cn52xx {
733c5aa59e8SDavid 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;
738c5aa59e8SDavid Daney #else
739c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
740c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
741c5aa59e8SDavid Daney 		uint64_t pko_rd:3;
742c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
743c5aa59e8SDavid Daney #endif
744c5aa59e8SDavid Daney 	} cn52xx;
745c5aa59e8SDavid Daney 	struct cvmx_iob_to_cmb_credits_cn68xx {
746c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
747c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
748c5aa59e8SDavid Daney 		uint64_t dwb:3;
749c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
750c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
751c5aa59e8SDavid Daney #else
752c5aa59e8SDavid Daney 		uint64_t ncb_wr:3;
753c5aa59e8SDavid Daney 		uint64_t ncb_rd:3;
754c5aa59e8SDavid Daney 		uint64_t dwb:3;
755c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
756c5aa59e8SDavid Daney #endif
757c5aa59e8SDavid Daney 	} cn68xx;
758c5aa59e8SDavid Daney };
759c5aa59e8SDavid Daney 
760c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_00_credits {
761c5aa59e8SDavid Daney 	uint64_t u64;
762c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_00_credits_s {
763c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
764c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
765c5aa59e8SDavid Daney 		uint64_t crd:7;
766c5aa59e8SDavid Daney #else
767c5aa59e8SDavid Daney 		uint64_t crd:7;
768c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
769c5aa59e8SDavid Daney #endif
770aa32a955SDavid Daney 	} s;
771c5aa59e8SDavid Daney };
772c5aa59e8SDavid Daney 
773c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_111_credits {
774c5aa59e8SDavid Daney 	uint64_t u64;
775c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_111_credits_s {
776c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
777c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
778c5aa59e8SDavid Daney 		uint64_t crd:7;
779c5aa59e8SDavid Daney #else
780c5aa59e8SDavid Daney 		uint64_t crd:7;
781c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
782c5aa59e8SDavid Daney #endif
783c5aa59e8SDavid Daney 	} s;
784c5aa59e8SDavid Daney };
785c5aa59e8SDavid Daney 
786c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_223_credits {
787c5aa59e8SDavid Daney 	uint64_t u64;
788c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_223_credits_s {
789c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
790c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
791c5aa59e8SDavid Daney 		uint64_t crd:7;
792c5aa59e8SDavid Daney #else
793c5aa59e8SDavid Daney 		uint64_t crd:7;
794c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
795c5aa59e8SDavid Daney #endif
796c5aa59e8SDavid Daney 	} s;
797c5aa59e8SDavid Daney };
798c5aa59e8SDavid Daney 
799c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_24_credits {
800c5aa59e8SDavid Daney 	uint64_t u64;
801c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_24_credits_s {
802c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
803c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
804c5aa59e8SDavid Daney 		uint64_t crd:7;
805c5aa59e8SDavid Daney #else
806c5aa59e8SDavid Daney 		uint64_t crd:7;
807c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
808c5aa59e8SDavid Daney #endif
809c5aa59e8SDavid Daney 	} s;
810c5aa59e8SDavid Daney };
811c5aa59e8SDavid Daney 
812c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_32_credits {
813c5aa59e8SDavid Daney 	uint64_t u64;
814c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_32_credits_s {
815c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
816c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
817c5aa59e8SDavid Daney 		uint64_t crd:7;
818c5aa59e8SDavid Daney #else
819c5aa59e8SDavid Daney 		uint64_t crd:7;
820c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
821c5aa59e8SDavid Daney #endif
822c5aa59e8SDavid Daney 	} s;
823c5aa59e8SDavid Daney };
824c5aa59e8SDavid Daney 
825c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_40_credits {
826c5aa59e8SDavid Daney 	uint64_t u64;
827c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_40_credits_s {
828c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
829c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
830c5aa59e8SDavid Daney 		uint64_t crd:7;
831c5aa59e8SDavid Daney #else
832c5aa59e8SDavid Daney 		uint64_t crd:7;
833c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
834c5aa59e8SDavid Daney #endif
835c5aa59e8SDavid Daney 	} s;
836c5aa59e8SDavid Daney };
837c5aa59e8SDavid Daney 
838c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_55_credits {
839c5aa59e8SDavid Daney 	uint64_t u64;
840c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_55_credits_s {
841c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
842c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
843c5aa59e8SDavid Daney 		uint64_t crd:7;
844c5aa59e8SDavid Daney #else
845c5aa59e8SDavid Daney 		uint64_t crd:7;
846c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
847c5aa59e8SDavid Daney #endif
848c5aa59e8SDavid Daney 	} s;
849c5aa59e8SDavid Daney };
850c5aa59e8SDavid Daney 
851c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_64_credits {
852c5aa59e8SDavid Daney 	uint64_t u64;
853c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_64_credits_s {
854c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
855c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
856c5aa59e8SDavid Daney 		uint64_t crd:7;
857c5aa59e8SDavid Daney #else
858c5aa59e8SDavid Daney 		uint64_t crd:7;
859c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
860c5aa59e8SDavid Daney #endif
861c5aa59e8SDavid Daney 	} s;
862c5aa59e8SDavid Daney };
863c5aa59e8SDavid Daney 
864c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_79_credits {
865c5aa59e8SDavid Daney 	uint64_t u64;
866c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_79_credits_s {
867c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
868c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
869c5aa59e8SDavid Daney 		uint64_t crd:7;
870c5aa59e8SDavid Daney #else
871c5aa59e8SDavid Daney 		uint64_t crd:7;
872c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
873c5aa59e8SDavid Daney #endif
874c5aa59e8SDavid Daney 	} s;
875c5aa59e8SDavid Daney };
876c5aa59e8SDavid Daney 
877c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_96_credits {
878c5aa59e8SDavid Daney 	uint64_t u64;
879c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_96_credits_s {
880c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
881c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
882c5aa59e8SDavid Daney 		uint64_t crd:7;
883c5aa59e8SDavid Daney #else
884c5aa59e8SDavid Daney 		uint64_t crd:7;
885c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
886c5aa59e8SDavid Daney #endif
887c5aa59e8SDavid Daney 	} s;
888c5aa59e8SDavid Daney };
889c5aa59e8SDavid Daney 
890c5aa59e8SDavid Daney union cvmx_iob_to_ncb_did_98_credits {
891c5aa59e8SDavid Daney 	uint64_t u64;
892c5aa59e8SDavid Daney 	struct cvmx_iob_to_ncb_did_98_credits_s {
893c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
894c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
895c5aa59e8SDavid Daney 		uint64_t crd:7;
896c5aa59e8SDavid Daney #else
897c5aa59e8SDavid Daney 		uint64_t crd:7;
898c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
899c5aa59e8SDavid Daney #endif
900c5aa59e8SDavid Daney 	} s;
90154293ec3SDavid Daney };
90254293ec3SDavid Daney 
90354293ec3SDavid Daney #endif
904