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