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