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_PCI_DEFS_H__
29 #define __CVMX_PCI_DEFS_H__
30 
31 #define CVMX_PCI_BAR1_INDEXX(offset) (0x0000000000000100ull + ((offset) & 31) * 4)
32 #define CVMX_PCI_BIST_REG (0x00000000000001C0ull)
33 #define CVMX_PCI_CFG00 (0x0000000000000000ull)
34 #define CVMX_PCI_CFG01 (0x0000000000000004ull)
35 #define CVMX_PCI_CFG02 (0x0000000000000008ull)
36 #define CVMX_PCI_CFG03 (0x000000000000000Cull)
37 #define CVMX_PCI_CFG04 (0x0000000000000010ull)
38 #define CVMX_PCI_CFG05 (0x0000000000000014ull)
39 #define CVMX_PCI_CFG06 (0x0000000000000018ull)
40 #define CVMX_PCI_CFG07 (0x000000000000001Cull)
41 #define CVMX_PCI_CFG08 (0x0000000000000020ull)
42 #define CVMX_PCI_CFG09 (0x0000000000000024ull)
43 #define CVMX_PCI_CFG10 (0x0000000000000028ull)
44 #define CVMX_PCI_CFG11 (0x000000000000002Cull)
45 #define CVMX_PCI_CFG12 (0x0000000000000030ull)
46 #define CVMX_PCI_CFG13 (0x0000000000000034ull)
47 #define CVMX_PCI_CFG15 (0x000000000000003Cull)
48 #define CVMX_PCI_CFG16 (0x0000000000000040ull)
49 #define CVMX_PCI_CFG17 (0x0000000000000044ull)
50 #define CVMX_PCI_CFG18 (0x0000000000000048ull)
51 #define CVMX_PCI_CFG19 (0x000000000000004Cull)
52 #define CVMX_PCI_CFG20 (0x0000000000000050ull)
53 #define CVMX_PCI_CFG21 (0x0000000000000054ull)
54 #define CVMX_PCI_CFG22 (0x0000000000000058ull)
55 #define CVMX_PCI_CFG56 (0x00000000000000E0ull)
56 #define CVMX_PCI_CFG57 (0x00000000000000E4ull)
57 #define CVMX_PCI_CFG58 (0x00000000000000E8ull)
58 #define CVMX_PCI_CFG59 (0x00000000000000ECull)
59 #define CVMX_PCI_CFG60 (0x00000000000000F0ull)
60 #define CVMX_PCI_CFG61 (0x00000000000000F4ull)
61 #define CVMX_PCI_CFG62 (0x00000000000000F8ull)
62 #define CVMX_PCI_CFG63 (0x00000000000000FCull)
63 #define CVMX_PCI_CNT_REG (0x00000000000001B8ull)
64 #define CVMX_PCI_CTL_STATUS_2 (0x000000000000018Cull)
65 #define CVMX_PCI_DBELL_X(offset) (0x0000000000000080ull + ((offset) & 3) * 8)
66 #define CVMX_PCI_DMA_CNT0 CVMX_PCI_DMA_CNTX(0)
67 #define CVMX_PCI_DMA_CNT1 CVMX_PCI_DMA_CNTX(1)
68 #define CVMX_PCI_DMA_CNTX(offset) (0x00000000000000A0ull + ((offset) & 1) * 8)
69 #define CVMX_PCI_DMA_INT_LEV0 CVMX_PCI_DMA_INT_LEVX(0)
70 #define CVMX_PCI_DMA_INT_LEV1 CVMX_PCI_DMA_INT_LEVX(1)
71 #define CVMX_PCI_DMA_INT_LEVX(offset) (0x00000000000000A4ull + ((offset) & 1) * 8)
72 #define CVMX_PCI_DMA_TIME0 CVMX_PCI_DMA_TIMEX(0)
73 #define CVMX_PCI_DMA_TIME1 CVMX_PCI_DMA_TIMEX(1)
74 #define CVMX_PCI_DMA_TIMEX(offset) (0x00000000000000B0ull + ((offset) & 1) * 4)
75 #define CVMX_PCI_INSTR_COUNT0 CVMX_PCI_INSTR_COUNTX(0)
76 #define CVMX_PCI_INSTR_COUNT1 CVMX_PCI_INSTR_COUNTX(1)
77 #define CVMX_PCI_INSTR_COUNT2 CVMX_PCI_INSTR_COUNTX(2)
78 #define CVMX_PCI_INSTR_COUNT3 CVMX_PCI_INSTR_COUNTX(3)
79 #define CVMX_PCI_INSTR_COUNTX(offset) (0x0000000000000084ull + ((offset) & 3) * 8)
80 #define CVMX_PCI_INT_ENB (0x0000000000000038ull)
81 #define CVMX_PCI_INT_ENB2 (0x00000000000001A0ull)
82 #define CVMX_PCI_INT_SUM (0x0000000000000030ull)
83 #define CVMX_PCI_INT_SUM2 (0x0000000000000198ull)
84 #define CVMX_PCI_MSI_RCV (0x00000000000000F0ull)
85 #define CVMX_PCI_PKTS_SENT0 CVMX_PCI_PKTS_SENTX(0)
86 #define CVMX_PCI_PKTS_SENT1 CVMX_PCI_PKTS_SENTX(1)
87 #define CVMX_PCI_PKTS_SENT2 CVMX_PCI_PKTS_SENTX(2)
88 #define CVMX_PCI_PKTS_SENT3 CVMX_PCI_PKTS_SENTX(3)
89 #define CVMX_PCI_PKTS_SENTX(offset) (0x0000000000000040ull + ((offset) & 3) * 16)
90 #define CVMX_PCI_PKTS_SENT_INT_LEV0 CVMX_PCI_PKTS_SENT_INT_LEVX(0)
91 #define CVMX_PCI_PKTS_SENT_INT_LEV1 CVMX_PCI_PKTS_SENT_INT_LEVX(1)
92 #define CVMX_PCI_PKTS_SENT_INT_LEV2 CVMX_PCI_PKTS_SENT_INT_LEVX(2)
93 #define CVMX_PCI_PKTS_SENT_INT_LEV3 CVMX_PCI_PKTS_SENT_INT_LEVX(3)
94 #define CVMX_PCI_PKTS_SENT_INT_LEVX(offset) (0x0000000000000048ull + ((offset) & 3) * 16)
95 #define CVMX_PCI_PKTS_SENT_TIME0 CVMX_PCI_PKTS_SENT_TIMEX(0)
96 #define CVMX_PCI_PKTS_SENT_TIME1 CVMX_PCI_PKTS_SENT_TIMEX(1)
97 #define CVMX_PCI_PKTS_SENT_TIME2 CVMX_PCI_PKTS_SENT_TIMEX(2)
98 #define CVMX_PCI_PKTS_SENT_TIME3 CVMX_PCI_PKTS_SENT_TIMEX(3)
99 #define CVMX_PCI_PKTS_SENT_TIMEX(offset) (0x000000000000004Cull + ((offset) & 3) * 16)
100 #define CVMX_PCI_PKT_CREDITS0 CVMX_PCI_PKT_CREDITSX(0)
101 #define CVMX_PCI_PKT_CREDITS1 CVMX_PCI_PKT_CREDITSX(1)
102 #define CVMX_PCI_PKT_CREDITS2 CVMX_PCI_PKT_CREDITSX(2)
103 #define CVMX_PCI_PKT_CREDITS3 CVMX_PCI_PKT_CREDITSX(3)
104 #define CVMX_PCI_PKT_CREDITSX(offset) (0x0000000000000044ull + ((offset) & 3) * 16)
105 #define CVMX_PCI_READ_CMD_6 (0x0000000000000180ull)
106 #define CVMX_PCI_READ_CMD_C (0x0000000000000184ull)
107 #define CVMX_PCI_READ_CMD_E (0x0000000000000188ull)
108 #define CVMX_PCI_READ_TIMEOUT (CVMX_ADD_IO_SEG(0x00011F00000000B0ull))
109 #define CVMX_PCI_SCM_REG (0x00000000000001A8ull)
110 #define CVMX_PCI_TSR_REG (0x00000000000001B0ull)
111 #define CVMX_PCI_WIN_RD_ADDR (0x0000000000000008ull)
112 #define CVMX_PCI_WIN_RD_DATA (0x0000000000000020ull)
113 #define CVMX_PCI_WIN_WR_ADDR (0x0000000000000000ull)
114 #define CVMX_PCI_WIN_WR_DATA (0x0000000000000010ull)
115 #define CVMX_PCI_WIN_WR_MASK (0x0000000000000018ull)
116 
117 union cvmx_pci_bar1_indexx {
118 	uint32_t u32;
119 	struct cvmx_pci_bar1_indexx_s {
120 #ifdef __BIG_ENDIAN_BITFIELD
121 		uint32_t reserved_18_31:14;
122 		uint32_t addr_idx:14;
123 		uint32_t ca:1;
124 		uint32_t end_swp:2;
125 		uint32_t addr_v:1;
126 #else
127 		uint32_t addr_v:1;
128 		uint32_t end_swp:2;
129 		uint32_t ca:1;
130 		uint32_t addr_idx:14;
131 		uint32_t reserved_18_31:14;
132 #endif
133 	} s;
134 };
135 
136 union cvmx_pci_bist_reg {
137 	uint64_t u64;
138 	struct cvmx_pci_bist_reg_s {
139 #ifdef __BIG_ENDIAN_BITFIELD
140 		uint64_t reserved_10_63:54;
141 		uint64_t rsp_bs:1;
142 		uint64_t dma0_bs:1;
143 		uint64_t cmd0_bs:1;
144 		uint64_t cmd_bs:1;
145 		uint64_t csr2p_bs:1;
146 		uint64_t csrr_bs:1;
147 		uint64_t rsp2p_bs:1;
148 		uint64_t csr2n_bs:1;
149 		uint64_t dat2n_bs:1;
150 		uint64_t dbg2n_bs:1;
151 #else
152 		uint64_t dbg2n_bs:1;
153 		uint64_t dat2n_bs:1;
154 		uint64_t csr2n_bs:1;
155 		uint64_t rsp2p_bs:1;
156 		uint64_t csrr_bs:1;
157 		uint64_t csr2p_bs:1;
158 		uint64_t cmd_bs:1;
159 		uint64_t cmd0_bs:1;
160 		uint64_t dma0_bs:1;
161 		uint64_t rsp_bs:1;
162 		uint64_t reserved_10_63:54;
163 #endif
164 	} s;
165 };
166 
167 union cvmx_pci_cfg00 {
168 	uint32_t u32;
169 	struct cvmx_pci_cfg00_s {
170 #ifdef __BIG_ENDIAN_BITFIELD
171 		uint32_t devid:16;
172 		uint32_t vendid:16;
173 #else
174 		uint32_t vendid:16;
175 		uint32_t devid:16;
176 #endif
177 	} s;
178 };
179 
180 union cvmx_pci_cfg01 {
181 	uint32_t u32;
182 	struct cvmx_pci_cfg01_s {
183 #ifdef __BIG_ENDIAN_BITFIELD
184 		uint32_t dpe:1;
185 		uint32_t sse:1;
186 		uint32_t rma:1;
187 		uint32_t rta:1;
188 		uint32_t sta:1;
189 		uint32_t devt:2;
190 		uint32_t mdpe:1;
191 		uint32_t fbb:1;
192 		uint32_t reserved_22_22:1;
193 		uint32_t m66:1;
194 		uint32_t cle:1;
195 		uint32_t i_stat:1;
196 		uint32_t reserved_11_18:8;
197 		uint32_t i_dis:1;
198 		uint32_t fbbe:1;
199 		uint32_t see:1;
200 		uint32_t ads:1;
201 		uint32_t pee:1;
202 		uint32_t vps:1;
203 		uint32_t mwice:1;
204 		uint32_t scse:1;
205 		uint32_t me:1;
206 		uint32_t msae:1;
207 		uint32_t isae:1;
208 #else
209 		uint32_t isae:1;
210 		uint32_t msae:1;
211 		uint32_t me:1;
212 		uint32_t scse:1;
213 		uint32_t mwice:1;
214 		uint32_t vps:1;
215 		uint32_t pee:1;
216 		uint32_t ads:1;
217 		uint32_t see:1;
218 		uint32_t fbbe:1;
219 		uint32_t i_dis:1;
220 		uint32_t reserved_11_18:8;
221 		uint32_t i_stat:1;
222 		uint32_t cle:1;
223 		uint32_t m66:1;
224 		uint32_t reserved_22_22:1;
225 		uint32_t fbb:1;
226 		uint32_t mdpe:1;
227 		uint32_t devt:2;
228 		uint32_t sta:1;
229 		uint32_t rta:1;
230 		uint32_t rma:1;
231 		uint32_t sse:1;
232 		uint32_t dpe:1;
233 #endif
234 	} s;
235 };
236 
237 union cvmx_pci_cfg02 {
238 	uint32_t u32;
239 	struct cvmx_pci_cfg02_s {
240 #ifdef __BIG_ENDIAN_BITFIELD
241 		uint32_t cc:24;
242 		uint32_t rid:8;
243 #else
244 		uint32_t rid:8;
245 		uint32_t cc:24;
246 #endif
247 	} s;
248 };
249 
250 union cvmx_pci_cfg03 {
251 	uint32_t u32;
252 	struct cvmx_pci_cfg03_s {
253 #ifdef __BIG_ENDIAN_BITFIELD
254 		uint32_t bcap:1;
255 		uint32_t brb:1;
256 		uint32_t reserved_28_29:2;
257 		uint32_t bcod:4;
258 		uint32_t ht:8;
259 		uint32_t lt:8;
260 		uint32_t cls:8;
261 #else
262 		uint32_t cls:8;
263 		uint32_t lt:8;
264 		uint32_t ht:8;
265 		uint32_t bcod:4;
266 		uint32_t reserved_28_29:2;
267 		uint32_t brb:1;
268 		uint32_t bcap:1;
269 #endif
270 	} s;
271 };
272 
273 union cvmx_pci_cfg04 {
274 	uint32_t u32;
275 	struct cvmx_pci_cfg04_s {
276 #ifdef __BIG_ENDIAN_BITFIELD
277 		uint32_t lbase:20;
278 		uint32_t lbasez:8;
279 		uint32_t pf:1;
280 		uint32_t typ:2;
281 		uint32_t mspc:1;
282 #else
283 		uint32_t mspc:1;
284 		uint32_t typ:2;
285 		uint32_t pf:1;
286 		uint32_t lbasez:8;
287 		uint32_t lbase:20;
288 #endif
289 	} s;
290 };
291 
292 union cvmx_pci_cfg05 {
293 	uint32_t u32;
294 	struct cvmx_pci_cfg05_s {
295 #ifdef __BIG_ENDIAN_BITFIELD
296 		uint32_t hbase:32;
297 #else
298 		uint32_t hbase:32;
299 #endif
300 	} s;
301 };
302 
303 union cvmx_pci_cfg06 {
304 	uint32_t u32;
305 	struct cvmx_pci_cfg06_s {
306 #ifdef __BIG_ENDIAN_BITFIELD
307 		uint32_t lbase:5;
308 		uint32_t lbasez:23;
309 		uint32_t pf:1;
310 		uint32_t typ:2;
311 		uint32_t mspc:1;
312 #else
313 		uint32_t mspc:1;
314 		uint32_t typ:2;
315 		uint32_t pf:1;
316 		uint32_t lbasez:23;
317 		uint32_t lbase:5;
318 #endif
319 	} s;
320 };
321 
322 union cvmx_pci_cfg07 {
323 	uint32_t u32;
324 	struct cvmx_pci_cfg07_s {
325 #ifdef __BIG_ENDIAN_BITFIELD
326 		uint32_t hbase:32;
327 #else
328 		uint32_t hbase:32;
329 #endif
330 	} s;
331 };
332 
333 union cvmx_pci_cfg08 {
334 	uint32_t u32;
335 	struct cvmx_pci_cfg08_s {
336 #ifdef __BIG_ENDIAN_BITFIELD
337 		uint32_t lbasez:28;
338 		uint32_t pf:1;
339 		uint32_t typ:2;
340 		uint32_t mspc:1;
341 #else
342 		uint32_t mspc:1;
343 		uint32_t typ:2;
344 		uint32_t pf:1;
345 		uint32_t lbasez:28;
346 #endif
347 	} s;
348 };
349 
350 union cvmx_pci_cfg09 {
351 	uint32_t u32;
352 	struct cvmx_pci_cfg09_s {
353 #ifdef __BIG_ENDIAN_BITFIELD
354 		uint32_t hbase:25;
355 		uint32_t hbasez:7;
356 #else
357 		uint32_t hbasez:7;
358 		uint32_t hbase:25;
359 #endif
360 	} s;
361 };
362 
363 union cvmx_pci_cfg10 {
364 	uint32_t u32;
365 	struct cvmx_pci_cfg10_s {
366 #ifdef __BIG_ENDIAN_BITFIELD
367 		uint32_t cisp:32;
368 #else
369 		uint32_t cisp:32;
370 #endif
371 	} s;
372 };
373 
374 union cvmx_pci_cfg11 {
375 	uint32_t u32;
376 	struct cvmx_pci_cfg11_s {
377 #ifdef __BIG_ENDIAN_BITFIELD
378 		uint32_t ssid:16;
379 		uint32_t ssvid:16;
380 #else
381 		uint32_t ssvid:16;
382 		uint32_t ssid:16;
383 #endif
384 	} s;
385 };
386 
387 union cvmx_pci_cfg12 {
388 	uint32_t u32;
389 	struct cvmx_pci_cfg12_s {
390 #ifdef __BIG_ENDIAN_BITFIELD
391 		uint32_t erbar:16;
392 		uint32_t erbarz:5;
393 		uint32_t reserved_1_10:10;
394 		uint32_t erbar_en:1;
395 #else
396 		uint32_t erbar_en:1;
397 		uint32_t reserved_1_10:10;
398 		uint32_t erbarz:5;
399 		uint32_t erbar:16;
400 #endif
401 	} s;
402 };
403 
404 union cvmx_pci_cfg13 {
405 	uint32_t u32;
406 	struct cvmx_pci_cfg13_s {
407 #ifdef __BIG_ENDIAN_BITFIELD
408 		uint32_t reserved_8_31:24;
409 		uint32_t cp:8;
410 #else
411 		uint32_t cp:8;
412 		uint32_t reserved_8_31:24;
413 #endif
414 	} s;
415 };
416 
417 union cvmx_pci_cfg15 {
418 	uint32_t u32;
419 	struct cvmx_pci_cfg15_s {
420 #ifdef __BIG_ENDIAN_BITFIELD
421 		uint32_t ml:8;
422 		uint32_t mg:8;
423 		uint32_t inta:8;
424 		uint32_t il:8;
425 #else
426 		uint32_t il:8;
427 		uint32_t inta:8;
428 		uint32_t mg:8;
429 		uint32_t ml:8;
430 #endif
431 	} s;
432 };
433 
434 union cvmx_pci_cfg16 {
435 	uint32_t u32;
436 	struct cvmx_pci_cfg16_s {
437 #ifdef __BIG_ENDIAN_BITFIELD
438 		uint32_t trdnpr:1;
439 		uint32_t trdard:1;
440 		uint32_t rdsati:1;
441 		uint32_t trdrs:1;
442 		uint32_t trtae:1;
443 		uint32_t twsei:1;
444 		uint32_t twsen:1;
445 		uint32_t twtae:1;
446 		uint32_t tmae:1;
447 		uint32_t tslte:3;
448 		uint32_t tilt:4;
449 		uint32_t pbe:12;
450 		uint32_t dppmr:1;
451 		uint32_t reserved_2_2:1;
452 		uint32_t tswc:1;
453 		uint32_t mltd:1;
454 #else
455 		uint32_t mltd:1;
456 		uint32_t tswc:1;
457 		uint32_t reserved_2_2:1;
458 		uint32_t dppmr:1;
459 		uint32_t pbe:12;
460 		uint32_t tilt:4;
461 		uint32_t tslte:3;
462 		uint32_t tmae:1;
463 		uint32_t twtae:1;
464 		uint32_t twsen:1;
465 		uint32_t twsei:1;
466 		uint32_t trtae:1;
467 		uint32_t trdrs:1;
468 		uint32_t rdsati:1;
469 		uint32_t trdard:1;
470 		uint32_t trdnpr:1;
471 #endif
472 	} s;
473 };
474 
475 union cvmx_pci_cfg17 {
476 	uint32_t u32;
477 	struct cvmx_pci_cfg17_s {
478 #ifdef __BIG_ENDIAN_BITFIELD
479 		uint32_t tscme:32;
480 #else
481 		uint32_t tscme:32;
482 #endif
483 	} s;
484 };
485 
486 union cvmx_pci_cfg18 {
487 	uint32_t u32;
488 	struct cvmx_pci_cfg18_s {
489 #ifdef __BIG_ENDIAN_BITFIELD
490 		uint32_t tdsrps:32;
491 #else
492 		uint32_t tdsrps:32;
493 #endif
494 	} s;
495 };
496 
497 union cvmx_pci_cfg19 {
498 	uint32_t u32;
499 	struct cvmx_pci_cfg19_s {
500 #ifdef __BIG_ENDIAN_BITFIELD
501 		uint32_t mrbcm:1;
502 		uint32_t mrbci:1;
503 		uint32_t mdwe:1;
504 		uint32_t mdre:1;
505 		uint32_t mdrimc:1;
506 		uint32_t mdrrmc:3;
507 		uint32_t tmes:8;
508 		uint32_t teci:1;
509 		uint32_t tmei:1;
510 		uint32_t tmse:1;
511 		uint32_t tmdpes:1;
512 		uint32_t tmapes:1;
513 		uint32_t reserved_9_10:2;
514 		uint32_t tibcd:1;
515 		uint32_t tibde:1;
516 		uint32_t reserved_6_6:1;
517 		uint32_t tidomc:1;
518 		uint32_t tdomc:5;
519 #else
520 		uint32_t tdomc:5;
521 		uint32_t tidomc:1;
522 		uint32_t reserved_6_6:1;
523 		uint32_t tibde:1;
524 		uint32_t tibcd:1;
525 		uint32_t reserved_9_10:2;
526 		uint32_t tmapes:1;
527 		uint32_t tmdpes:1;
528 		uint32_t tmse:1;
529 		uint32_t tmei:1;
530 		uint32_t teci:1;
531 		uint32_t tmes:8;
532 		uint32_t mdrrmc:3;
533 		uint32_t mdrimc:1;
534 		uint32_t mdre:1;
535 		uint32_t mdwe:1;
536 		uint32_t mrbci:1;
537 		uint32_t mrbcm:1;
538 #endif
539 	} s;
540 };
541 
542 union cvmx_pci_cfg20 {
543 	uint32_t u32;
544 	struct cvmx_pci_cfg20_s {
545 #ifdef __BIG_ENDIAN_BITFIELD
546 		uint32_t mdsp:32;
547 #else
548 		uint32_t mdsp:32;
549 #endif
550 	} s;
551 };
552 
553 union cvmx_pci_cfg21 {
554 	uint32_t u32;
555 	struct cvmx_pci_cfg21_s {
556 #ifdef __BIG_ENDIAN_BITFIELD
557 		uint32_t scmre:32;
558 #else
559 		uint32_t scmre:32;
560 #endif
561 	} s;
562 };
563 
564 union cvmx_pci_cfg22 {
565 	uint32_t u32;
566 	struct cvmx_pci_cfg22_s {
567 #ifdef __BIG_ENDIAN_BITFIELD
568 		uint32_t mac:7;
569 		uint32_t reserved_19_24:6;
570 		uint32_t flush:1;
571 		uint32_t mra:1;
572 		uint32_t mtta:1;
573 		uint32_t mrv:8;
574 		uint32_t mttv:8;
575 #else
576 		uint32_t mttv:8;
577 		uint32_t mrv:8;
578 		uint32_t mtta:1;
579 		uint32_t mra:1;
580 		uint32_t flush:1;
581 		uint32_t reserved_19_24:6;
582 		uint32_t mac:7;
583 #endif
584 	} s;
585 };
586 
587 union cvmx_pci_cfg56 {
588 	uint32_t u32;
589 	struct cvmx_pci_cfg56_s {
590 #ifdef __BIG_ENDIAN_BITFIELD
591 		uint32_t reserved_23_31:9;
592 		uint32_t most:3;
593 		uint32_t mmbc:2;
594 		uint32_t roe:1;
595 		uint32_t dpere:1;
596 		uint32_t ncp:8;
597 		uint32_t pxcid:8;
598 #else
599 		uint32_t pxcid:8;
600 		uint32_t ncp:8;
601 		uint32_t dpere:1;
602 		uint32_t roe:1;
603 		uint32_t mmbc:2;
604 		uint32_t most:3;
605 		uint32_t reserved_23_31:9;
606 #endif
607 	} s;
608 };
609 
610 union cvmx_pci_cfg57 {
611 	uint32_t u32;
612 	struct cvmx_pci_cfg57_s {
613 #ifdef __BIG_ENDIAN_BITFIELD
614 		uint32_t reserved_30_31:2;
615 		uint32_t scemr:1;
616 		uint32_t mcrsd:3;
617 		uint32_t mostd:3;
618 		uint32_t mmrbcd:2;
619 		uint32_t dc:1;
620 		uint32_t usc:1;
621 		uint32_t scd:1;
622 		uint32_t m133:1;
623 		uint32_t w64:1;
624 		uint32_t bn:8;
625 		uint32_t dn:5;
626 		uint32_t fn:3;
627 #else
628 		uint32_t fn:3;
629 		uint32_t dn:5;
630 		uint32_t bn:8;
631 		uint32_t w64:1;
632 		uint32_t m133:1;
633 		uint32_t scd:1;
634 		uint32_t usc:1;
635 		uint32_t dc:1;
636 		uint32_t mmrbcd:2;
637 		uint32_t mostd:3;
638 		uint32_t mcrsd:3;
639 		uint32_t scemr:1;
640 		uint32_t reserved_30_31:2;
641 #endif
642 	} s;
643 };
644 
645 union cvmx_pci_cfg58 {
646 	uint32_t u32;
647 	struct cvmx_pci_cfg58_s {
648 #ifdef __BIG_ENDIAN_BITFIELD
649 		uint32_t pmes:5;
650 		uint32_t d2s:1;
651 		uint32_t d1s:1;
652 		uint32_t auxc:3;
653 		uint32_t dsi:1;
654 		uint32_t reserved_20_20:1;
655 		uint32_t pmec:1;
656 		uint32_t pcimiv:3;
657 		uint32_t ncp:8;
658 		uint32_t pmcid:8;
659 #else
660 		uint32_t pmcid:8;
661 		uint32_t ncp:8;
662 		uint32_t pcimiv:3;
663 		uint32_t pmec:1;
664 		uint32_t reserved_20_20:1;
665 		uint32_t dsi:1;
666 		uint32_t auxc:3;
667 		uint32_t d1s:1;
668 		uint32_t d2s:1;
669 		uint32_t pmes:5;
670 #endif
671 	} s;
672 };
673 
674 union cvmx_pci_cfg59 {
675 	uint32_t u32;
676 	struct cvmx_pci_cfg59_s {
677 #ifdef __BIG_ENDIAN_BITFIELD
678 		uint32_t pmdia:8;
679 		uint32_t bpccen:1;
680 		uint32_t bd3h:1;
681 		uint32_t reserved_16_21:6;
682 		uint32_t pmess:1;
683 		uint32_t pmedsia:2;
684 		uint32_t pmds:4;
685 		uint32_t pmeens:1;
686 		uint32_t reserved_2_7:6;
687 		uint32_t ps:2;
688 #else
689 		uint32_t ps:2;
690 		uint32_t reserved_2_7:6;
691 		uint32_t pmeens:1;
692 		uint32_t pmds:4;
693 		uint32_t pmedsia:2;
694 		uint32_t pmess:1;
695 		uint32_t reserved_16_21:6;
696 		uint32_t bd3h:1;
697 		uint32_t bpccen:1;
698 		uint32_t pmdia:8;
699 #endif
700 	} s;
701 };
702 
703 union cvmx_pci_cfg60 {
704 	uint32_t u32;
705 	struct cvmx_pci_cfg60_s {
706 #ifdef __BIG_ENDIAN_BITFIELD
707 		uint32_t reserved_24_31:8;
708 		uint32_t m64:1;
709 		uint32_t mme:3;
710 		uint32_t mmc:3;
711 		uint32_t msien:1;
712 		uint32_t ncp:8;
713 		uint32_t msicid:8;
714 #else
715 		uint32_t msicid:8;
716 		uint32_t ncp:8;
717 		uint32_t msien:1;
718 		uint32_t mmc:3;
719 		uint32_t mme:3;
720 		uint32_t m64:1;
721 		uint32_t reserved_24_31:8;
722 #endif
723 	} s;
724 };
725 
726 union cvmx_pci_cfg61 {
727 	uint32_t u32;
728 	struct cvmx_pci_cfg61_s {
729 #ifdef __BIG_ENDIAN_BITFIELD
730 		uint32_t msi31t2:30;
731 		uint32_t reserved_0_1:2;
732 #else
733 		uint32_t reserved_0_1:2;
734 		uint32_t msi31t2:30;
735 #endif
736 	} s;
737 };
738 
739 union cvmx_pci_cfg62 {
740 	uint32_t u32;
741 	struct cvmx_pci_cfg62_s {
742 #ifdef __BIG_ENDIAN_BITFIELD
743 		uint32_t msi:32;
744 #else
745 		uint32_t msi:32;
746 #endif
747 	} s;
748 };
749 
750 union cvmx_pci_cfg63 {
751 	uint32_t u32;
752 	struct cvmx_pci_cfg63_s {
753 #ifdef __BIG_ENDIAN_BITFIELD
754 		uint32_t reserved_16_31:16;
755 		uint32_t msimd:16;
756 #else
757 		uint32_t msimd:16;
758 		uint32_t reserved_16_31:16;
759 #endif
760 	} s;
761 };
762 
763 union cvmx_pci_cnt_reg {
764 	uint64_t u64;
765 	struct cvmx_pci_cnt_reg_s {
766 #ifdef __BIG_ENDIAN_BITFIELD
767 		uint64_t reserved_38_63:26;
768 		uint64_t hm_pcix:1;
769 		uint64_t hm_speed:2;
770 		uint64_t ap_pcix:1;
771 		uint64_t ap_speed:2;
772 		uint64_t pcicnt:32;
773 #else
774 		uint64_t pcicnt:32;
775 		uint64_t ap_speed:2;
776 		uint64_t ap_pcix:1;
777 		uint64_t hm_speed:2;
778 		uint64_t hm_pcix:1;
779 		uint64_t reserved_38_63:26;
780 #endif
781 	} s;
782 };
783 
784 union cvmx_pci_ctl_status_2 {
785 	uint32_t u32;
786 	struct cvmx_pci_ctl_status_2_s {
787 #ifdef __BIG_ENDIAN_BITFIELD
788 		uint32_t reserved_29_31:3;
789 		uint32_t bb1_hole:3;
790 		uint32_t bb1_siz:1;
791 		uint32_t bb_ca:1;
792 		uint32_t bb_es:2;
793 		uint32_t bb1:1;
794 		uint32_t bb0:1;
795 		uint32_t erst_n:1;
796 		uint32_t bar2pres:1;
797 		uint32_t scmtyp:1;
798 		uint32_t scm:1;
799 		uint32_t en_wfilt:1;
800 		uint32_t reserved_14_14:1;
801 		uint32_t ap_pcix:1;
802 		uint32_t ap_64ad:1;
803 		uint32_t b12_bist:1;
804 		uint32_t pmo_amod:1;
805 		uint32_t pmo_fpc:3;
806 		uint32_t tsr_hwm:3;
807 		uint32_t bar2_enb:1;
808 		uint32_t bar2_esx:2;
809 		uint32_t bar2_cax:1;
810 #else
811 		uint32_t bar2_cax:1;
812 		uint32_t bar2_esx:2;
813 		uint32_t bar2_enb:1;
814 		uint32_t tsr_hwm:3;
815 		uint32_t pmo_fpc:3;
816 		uint32_t pmo_amod:1;
817 		uint32_t b12_bist:1;
818 		uint32_t ap_64ad:1;
819 		uint32_t ap_pcix:1;
820 		uint32_t reserved_14_14:1;
821 		uint32_t en_wfilt:1;
822 		uint32_t scm:1;
823 		uint32_t scmtyp:1;
824 		uint32_t bar2pres:1;
825 		uint32_t erst_n:1;
826 		uint32_t bb0:1;
827 		uint32_t bb1:1;
828 		uint32_t bb_es:2;
829 		uint32_t bb_ca:1;
830 		uint32_t bb1_siz:1;
831 		uint32_t bb1_hole:3;
832 		uint32_t reserved_29_31:3;
833 #endif
834 	} s;
835 	struct cvmx_pci_ctl_status_2_cn31xx {
836 #ifdef __BIG_ENDIAN_BITFIELD
837 		uint32_t reserved_20_31:12;
838 		uint32_t erst_n:1;
839 		uint32_t bar2pres:1;
840 		uint32_t scmtyp:1;
841 		uint32_t scm:1;
842 		uint32_t en_wfilt:1;
843 		uint32_t reserved_14_14:1;
844 		uint32_t ap_pcix:1;
845 		uint32_t ap_64ad:1;
846 		uint32_t b12_bist:1;
847 		uint32_t pmo_amod:1;
848 		uint32_t pmo_fpc:3;
849 		uint32_t tsr_hwm:3;
850 		uint32_t bar2_enb:1;
851 		uint32_t bar2_esx:2;
852 		uint32_t bar2_cax:1;
853 #else
854 		uint32_t bar2_cax:1;
855 		uint32_t bar2_esx:2;
856 		uint32_t bar2_enb:1;
857 		uint32_t tsr_hwm:3;
858 		uint32_t pmo_fpc:3;
859 		uint32_t pmo_amod:1;
860 		uint32_t b12_bist:1;
861 		uint32_t ap_64ad:1;
862 		uint32_t ap_pcix:1;
863 		uint32_t reserved_14_14:1;
864 		uint32_t en_wfilt:1;
865 		uint32_t scm:1;
866 		uint32_t scmtyp:1;
867 		uint32_t bar2pres:1;
868 		uint32_t erst_n:1;
869 		uint32_t reserved_20_31:12;
870 #endif
871 	} cn31xx;
872 };
873 
874 union cvmx_pci_dbellx {
875 	uint32_t u32;
876 	struct cvmx_pci_dbellx_s {
877 #ifdef __BIG_ENDIAN_BITFIELD
878 		uint32_t reserved_16_31:16;
879 		uint32_t inc_val:16;
880 #else
881 		uint32_t inc_val:16;
882 		uint32_t reserved_16_31:16;
883 #endif
884 	} s;
885 };
886 
887 union cvmx_pci_dma_cntx {
888 	uint32_t u32;
889 	struct cvmx_pci_dma_cntx_s {
890 #ifdef __BIG_ENDIAN_BITFIELD
891 		uint32_t dma_cnt:32;
892 #else
893 		uint32_t dma_cnt:32;
894 #endif
895 	} s;
896 };
897 
898 union cvmx_pci_dma_int_levx {
899 	uint32_t u32;
900 	struct cvmx_pci_dma_int_levx_s {
901 #ifdef __BIG_ENDIAN_BITFIELD
902 		uint32_t pkt_cnt:32;
903 #else
904 		uint32_t pkt_cnt:32;
905 #endif
906 	} s;
907 };
908 
909 union cvmx_pci_dma_timex {
910 	uint32_t u32;
911 	struct cvmx_pci_dma_timex_s {
912 #ifdef __BIG_ENDIAN_BITFIELD
913 		uint32_t dma_time:32;
914 #else
915 		uint32_t dma_time:32;
916 #endif
917 	} s;
918 };
919 
920 union cvmx_pci_instr_countx {
921 	uint32_t u32;
922 	struct cvmx_pci_instr_countx_s {
923 #ifdef __BIG_ENDIAN_BITFIELD
924 		uint32_t icnt:32;
925 #else
926 		uint32_t icnt:32;
927 #endif
928 	} s;
929 };
930 
931 union cvmx_pci_int_enb {
932 	uint64_t u64;
933 	struct cvmx_pci_int_enb_s {
934 #ifdef __BIG_ENDIAN_BITFIELD
935 		uint64_t reserved_34_63:30;
936 		uint64_t ill_rd:1;
937 		uint64_t ill_wr:1;
938 		uint64_t win_wr:1;
939 		uint64_t dma1_fi:1;
940 		uint64_t dma0_fi:1;
941 		uint64_t idtime1:1;
942 		uint64_t idtime0:1;
943 		uint64_t idcnt1:1;
944 		uint64_t idcnt0:1;
945 		uint64_t iptime3:1;
946 		uint64_t iptime2:1;
947 		uint64_t iptime1:1;
948 		uint64_t iptime0:1;
949 		uint64_t ipcnt3:1;
950 		uint64_t ipcnt2:1;
951 		uint64_t ipcnt1:1;
952 		uint64_t ipcnt0:1;
953 		uint64_t irsl_int:1;
954 		uint64_t ill_rrd:1;
955 		uint64_t ill_rwr:1;
956 		uint64_t idperr:1;
957 		uint64_t iaperr:1;
958 		uint64_t iserr:1;
959 		uint64_t itsr_abt:1;
960 		uint64_t imsc_msg:1;
961 		uint64_t imsi_mabt:1;
962 		uint64_t imsi_tabt:1;
963 		uint64_t imsi_per:1;
964 		uint64_t imr_tto:1;
965 		uint64_t imr_abt:1;
966 		uint64_t itr_abt:1;
967 		uint64_t imr_wtto:1;
968 		uint64_t imr_wabt:1;
969 		uint64_t itr_wabt:1;
970 #else
971 		uint64_t itr_wabt:1;
972 		uint64_t imr_wabt:1;
973 		uint64_t imr_wtto:1;
974 		uint64_t itr_abt:1;
975 		uint64_t imr_abt:1;
976 		uint64_t imr_tto:1;
977 		uint64_t imsi_per:1;
978 		uint64_t imsi_tabt:1;
979 		uint64_t imsi_mabt:1;
980 		uint64_t imsc_msg:1;
981 		uint64_t itsr_abt:1;
982 		uint64_t iserr:1;
983 		uint64_t iaperr:1;
984 		uint64_t idperr:1;
985 		uint64_t ill_rwr:1;
986 		uint64_t ill_rrd:1;
987 		uint64_t irsl_int:1;
988 		uint64_t ipcnt0:1;
989 		uint64_t ipcnt1:1;
990 		uint64_t ipcnt2:1;
991 		uint64_t ipcnt3:1;
992 		uint64_t iptime0:1;
993 		uint64_t iptime1:1;
994 		uint64_t iptime2:1;
995 		uint64_t iptime3:1;
996 		uint64_t idcnt0:1;
997 		uint64_t idcnt1:1;
998 		uint64_t idtime0:1;
999 		uint64_t idtime1:1;
1000 		uint64_t dma0_fi:1;
1001 		uint64_t dma1_fi:1;
1002 		uint64_t win_wr:1;
1003 		uint64_t ill_wr:1;
1004 		uint64_t ill_rd:1;
1005 		uint64_t reserved_34_63:30;
1006 #endif
1007 	} s;
1008 	struct cvmx_pci_int_enb_cn30xx {
1009 #ifdef __BIG_ENDIAN_BITFIELD
1010 		uint64_t reserved_34_63:30;
1011 		uint64_t ill_rd:1;
1012 		uint64_t ill_wr:1;
1013 		uint64_t win_wr:1;
1014 		uint64_t dma1_fi:1;
1015 		uint64_t dma0_fi:1;
1016 		uint64_t idtime1:1;
1017 		uint64_t idtime0:1;
1018 		uint64_t idcnt1:1;
1019 		uint64_t idcnt0:1;
1020 		uint64_t reserved_22_24:3;
1021 		uint64_t iptime0:1;
1022 		uint64_t reserved_18_20:3;
1023 		uint64_t ipcnt0:1;
1024 		uint64_t irsl_int:1;
1025 		uint64_t ill_rrd:1;
1026 		uint64_t ill_rwr:1;
1027 		uint64_t idperr:1;
1028 		uint64_t iaperr:1;
1029 		uint64_t iserr:1;
1030 		uint64_t itsr_abt:1;
1031 		uint64_t imsc_msg:1;
1032 		uint64_t imsi_mabt:1;
1033 		uint64_t imsi_tabt:1;
1034 		uint64_t imsi_per:1;
1035 		uint64_t imr_tto:1;
1036 		uint64_t imr_abt:1;
1037 		uint64_t itr_abt:1;
1038 		uint64_t imr_wtto:1;
1039 		uint64_t imr_wabt:1;
1040 		uint64_t itr_wabt:1;
1041 #else
1042 		uint64_t itr_wabt:1;
1043 		uint64_t imr_wabt:1;
1044 		uint64_t imr_wtto:1;
1045 		uint64_t itr_abt:1;
1046 		uint64_t imr_abt:1;
1047 		uint64_t imr_tto:1;
1048 		uint64_t imsi_per:1;
1049 		uint64_t imsi_tabt:1;
1050 		uint64_t imsi_mabt:1;
1051 		uint64_t imsc_msg:1;
1052 		uint64_t itsr_abt:1;
1053 		uint64_t iserr:1;
1054 		uint64_t iaperr:1;
1055 		uint64_t idperr:1;
1056 		uint64_t ill_rwr:1;
1057 		uint64_t ill_rrd:1;
1058 		uint64_t irsl_int:1;
1059 		uint64_t ipcnt0:1;
1060 		uint64_t reserved_18_20:3;
1061 		uint64_t iptime0:1;
1062 		uint64_t reserved_22_24:3;
1063 		uint64_t idcnt0:1;
1064 		uint64_t idcnt1:1;
1065 		uint64_t idtime0:1;
1066 		uint64_t idtime1:1;
1067 		uint64_t dma0_fi:1;
1068 		uint64_t dma1_fi:1;
1069 		uint64_t win_wr:1;
1070 		uint64_t ill_wr:1;
1071 		uint64_t ill_rd:1;
1072 		uint64_t reserved_34_63:30;
1073 #endif
1074 	} cn30xx;
1075 	struct cvmx_pci_int_enb_cn31xx {
1076 #ifdef __BIG_ENDIAN_BITFIELD
1077 		uint64_t reserved_34_63:30;
1078 		uint64_t ill_rd:1;
1079 		uint64_t ill_wr:1;
1080 		uint64_t win_wr:1;
1081 		uint64_t dma1_fi:1;
1082 		uint64_t dma0_fi:1;
1083 		uint64_t idtime1:1;
1084 		uint64_t idtime0:1;
1085 		uint64_t idcnt1:1;
1086 		uint64_t idcnt0:1;
1087 		uint64_t reserved_23_24:2;
1088 		uint64_t iptime1:1;
1089 		uint64_t iptime0:1;
1090 		uint64_t reserved_19_20:2;
1091 		uint64_t ipcnt1:1;
1092 		uint64_t ipcnt0:1;
1093 		uint64_t irsl_int:1;
1094 		uint64_t ill_rrd:1;
1095 		uint64_t ill_rwr:1;
1096 		uint64_t idperr:1;
1097 		uint64_t iaperr:1;
1098 		uint64_t iserr:1;
1099 		uint64_t itsr_abt:1;
1100 		uint64_t imsc_msg:1;
1101 		uint64_t imsi_mabt:1;
1102 		uint64_t imsi_tabt:1;
1103 		uint64_t imsi_per:1;
1104 		uint64_t imr_tto:1;
1105 		uint64_t imr_abt:1;
1106 		uint64_t itr_abt:1;
1107 		uint64_t imr_wtto:1;
1108 		uint64_t imr_wabt:1;
1109 		uint64_t itr_wabt:1;
1110 #else
1111 		uint64_t itr_wabt:1;
1112 		uint64_t imr_wabt:1;
1113 		uint64_t imr_wtto:1;
1114 		uint64_t itr_abt:1;
1115 		uint64_t imr_abt:1;
1116 		uint64_t imr_tto:1;
1117 		uint64_t imsi_per:1;
1118 		uint64_t imsi_tabt:1;
1119 		uint64_t imsi_mabt:1;
1120 		uint64_t imsc_msg:1;
1121 		uint64_t itsr_abt:1;
1122 		uint64_t iserr:1;
1123 		uint64_t iaperr:1;
1124 		uint64_t idperr:1;
1125 		uint64_t ill_rwr:1;
1126 		uint64_t ill_rrd:1;
1127 		uint64_t irsl_int:1;
1128 		uint64_t ipcnt0:1;
1129 		uint64_t ipcnt1:1;
1130 		uint64_t reserved_19_20:2;
1131 		uint64_t iptime0:1;
1132 		uint64_t iptime1:1;
1133 		uint64_t reserved_23_24:2;
1134 		uint64_t idcnt0:1;
1135 		uint64_t idcnt1:1;
1136 		uint64_t idtime0:1;
1137 		uint64_t idtime1:1;
1138 		uint64_t dma0_fi:1;
1139 		uint64_t dma1_fi:1;
1140 		uint64_t win_wr:1;
1141 		uint64_t ill_wr:1;
1142 		uint64_t ill_rd:1;
1143 		uint64_t reserved_34_63:30;
1144 #endif
1145 	} cn31xx;
1146 };
1147 
1148 union cvmx_pci_int_enb2 {
1149 	uint64_t u64;
1150 	struct cvmx_pci_int_enb2_s {
1151 #ifdef __BIG_ENDIAN_BITFIELD
1152 		uint64_t reserved_34_63:30;
1153 		uint64_t ill_rd:1;
1154 		uint64_t ill_wr:1;
1155 		uint64_t win_wr:1;
1156 		uint64_t dma1_fi:1;
1157 		uint64_t dma0_fi:1;
1158 		uint64_t rdtime1:1;
1159 		uint64_t rdtime0:1;
1160 		uint64_t rdcnt1:1;
1161 		uint64_t rdcnt0:1;
1162 		uint64_t rptime3:1;
1163 		uint64_t rptime2:1;
1164 		uint64_t rptime1:1;
1165 		uint64_t rptime0:1;
1166 		uint64_t rpcnt3:1;
1167 		uint64_t rpcnt2:1;
1168 		uint64_t rpcnt1:1;
1169 		uint64_t rpcnt0:1;
1170 		uint64_t rrsl_int:1;
1171 		uint64_t ill_rrd:1;
1172 		uint64_t ill_rwr:1;
1173 		uint64_t rdperr:1;
1174 		uint64_t raperr:1;
1175 		uint64_t rserr:1;
1176 		uint64_t rtsr_abt:1;
1177 		uint64_t rmsc_msg:1;
1178 		uint64_t rmsi_mabt:1;
1179 		uint64_t rmsi_tabt:1;
1180 		uint64_t rmsi_per:1;
1181 		uint64_t rmr_tto:1;
1182 		uint64_t rmr_abt:1;
1183 		uint64_t rtr_abt:1;
1184 		uint64_t rmr_wtto:1;
1185 		uint64_t rmr_wabt:1;
1186 		uint64_t rtr_wabt:1;
1187 #else
1188 		uint64_t rtr_wabt:1;
1189 		uint64_t rmr_wabt:1;
1190 		uint64_t rmr_wtto:1;
1191 		uint64_t rtr_abt:1;
1192 		uint64_t rmr_abt:1;
1193 		uint64_t rmr_tto:1;
1194 		uint64_t rmsi_per:1;
1195 		uint64_t rmsi_tabt:1;
1196 		uint64_t rmsi_mabt:1;
1197 		uint64_t rmsc_msg:1;
1198 		uint64_t rtsr_abt:1;
1199 		uint64_t rserr:1;
1200 		uint64_t raperr:1;
1201 		uint64_t rdperr:1;
1202 		uint64_t ill_rwr:1;
1203 		uint64_t ill_rrd:1;
1204 		uint64_t rrsl_int:1;
1205 		uint64_t rpcnt0:1;
1206 		uint64_t rpcnt1:1;
1207 		uint64_t rpcnt2:1;
1208 		uint64_t rpcnt3:1;
1209 		uint64_t rptime0:1;
1210 		uint64_t rptime1:1;
1211 		uint64_t rptime2:1;
1212 		uint64_t rptime3:1;
1213 		uint64_t rdcnt0:1;
1214 		uint64_t rdcnt1:1;
1215 		uint64_t rdtime0:1;
1216 		uint64_t rdtime1:1;
1217 		uint64_t dma0_fi:1;
1218 		uint64_t dma1_fi:1;
1219 		uint64_t win_wr:1;
1220 		uint64_t ill_wr:1;
1221 		uint64_t ill_rd:1;
1222 		uint64_t reserved_34_63:30;
1223 #endif
1224 	} s;
1225 	struct cvmx_pci_int_enb2_cn30xx {
1226 #ifdef __BIG_ENDIAN_BITFIELD
1227 		uint64_t reserved_34_63:30;
1228 		uint64_t ill_rd:1;
1229 		uint64_t ill_wr:1;
1230 		uint64_t win_wr:1;
1231 		uint64_t dma1_fi:1;
1232 		uint64_t dma0_fi:1;
1233 		uint64_t rdtime1:1;
1234 		uint64_t rdtime0:1;
1235 		uint64_t rdcnt1:1;
1236 		uint64_t rdcnt0:1;
1237 		uint64_t reserved_22_24:3;
1238 		uint64_t rptime0:1;
1239 		uint64_t reserved_18_20:3;
1240 		uint64_t rpcnt0:1;
1241 		uint64_t rrsl_int:1;
1242 		uint64_t ill_rrd:1;
1243 		uint64_t ill_rwr:1;
1244 		uint64_t rdperr:1;
1245 		uint64_t raperr:1;
1246 		uint64_t rserr:1;
1247 		uint64_t rtsr_abt:1;
1248 		uint64_t rmsc_msg:1;
1249 		uint64_t rmsi_mabt:1;
1250 		uint64_t rmsi_tabt:1;
1251 		uint64_t rmsi_per:1;
1252 		uint64_t rmr_tto:1;
1253 		uint64_t rmr_abt:1;
1254 		uint64_t rtr_abt:1;
1255 		uint64_t rmr_wtto:1;
1256 		uint64_t rmr_wabt:1;
1257 		uint64_t rtr_wabt:1;
1258 #else
1259 		uint64_t rtr_wabt:1;
1260 		uint64_t rmr_wabt:1;
1261 		uint64_t rmr_wtto:1;
1262 		uint64_t rtr_abt:1;
1263 		uint64_t rmr_abt:1;
1264 		uint64_t rmr_tto:1;
1265 		uint64_t rmsi_per:1;
1266 		uint64_t rmsi_tabt:1;
1267 		uint64_t rmsi_mabt:1;
1268 		uint64_t rmsc_msg:1;
1269 		uint64_t rtsr_abt:1;
1270 		uint64_t rserr:1;
1271 		uint64_t raperr:1;
1272 		uint64_t rdperr:1;
1273 		uint64_t ill_rwr:1;
1274 		uint64_t ill_rrd:1;
1275 		uint64_t rrsl_int:1;
1276 		uint64_t rpcnt0:1;
1277 		uint64_t reserved_18_20:3;
1278 		uint64_t rptime0:1;
1279 		uint64_t reserved_22_24:3;
1280 		uint64_t rdcnt0:1;
1281 		uint64_t rdcnt1:1;
1282 		uint64_t rdtime0:1;
1283 		uint64_t rdtime1:1;
1284 		uint64_t dma0_fi:1;
1285 		uint64_t dma1_fi:1;
1286 		uint64_t win_wr:1;
1287 		uint64_t ill_wr:1;
1288 		uint64_t ill_rd:1;
1289 		uint64_t reserved_34_63:30;
1290 #endif
1291 	} cn30xx;
1292 	struct cvmx_pci_int_enb2_cn31xx {
1293 #ifdef __BIG_ENDIAN_BITFIELD
1294 		uint64_t reserved_34_63:30;
1295 		uint64_t ill_rd:1;
1296 		uint64_t ill_wr:1;
1297 		uint64_t win_wr:1;
1298 		uint64_t dma1_fi:1;
1299 		uint64_t dma0_fi:1;
1300 		uint64_t rdtime1:1;
1301 		uint64_t rdtime0:1;
1302 		uint64_t rdcnt1:1;
1303 		uint64_t rdcnt0:1;
1304 		uint64_t reserved_23_24:2;
1305 		uint64_t rptime1:1;
1306 		uint64_t rptime0:1;
1307 		uint64_t reserved_19_20:2;
1308 		uint64_t rpcnt1:1;
1309 		uint64_t rpcnt0:1;
1310 		uint64_t rrsl_int:1;
1311 		uint64_t ill_rrd:1;
1312 		uint64_t ill_rwr:1;
1313 		uint64_t rdperr:1;
1314 		uint64_t raperr:1;
1315 		uint64_t rserr:1;
1316 		uint64_t rtsr_abt:1;
1317 		uint64_t rmsc_msg:1;
1318 		uint64_t rmsi_mabt:1;
1319 		uint64_t rmsi_tabt:1;
1320 		uint64_t rmsi_per:1;
1321 		uint64_t rmr_tto:1;
1322 		uint64_t rmr_abt:1;
1323 		uint64_t rtr_abt:1;
1324 		uint64_t rmr_wtto:1;
1325 		uint64_t rmr_wabt:1;
1326 		uint64_t rtr_wabt:1;
1327 #else
1328 		uint64_t rtr_wabt:1;
1329 		uint64_t rmr_wabt:1;
1330 		uint64_t rmr_wtto:1;
1331 		uint64_t rtr_abt:1;
1332 		uint64_t rmr_abt:1;
1333 		uint64_t rmr_tto:1;
1334 		uint64_t rmsi_per:1;
1335 		uint64_t rmsi_tabt:1;
1336 		uint64_t rmsi_mabt:1;
1337 		uint64_t rmsc_msg:1;
1338 		uint64_t rtsr_abt:1;
1339 		uint64_t rserr:1;
1340 		uint64_t raperr:1;
1341 		uint64_t rdperr:1;
1342 		uint64_t ill_rwr:1;
1343 		uint64_t ill_rrd:1;
1344 		uint64_t rrsl_int:1;
1345 		uint64_t rpcnt0:1;
1346 		uint64_t rpcnt1:1;
1347 		uint64_t reserved_19_20:2;
1348 		uint64_t rptime0:1;
1349 		uint64_t rptime1:1;
1350 		uint64_t reserved_23_24:2;
1351 		uint64_t rdcnt0:1;
1352 		uint64_t rdcnt1:1;
1353 		uint64_t rdtime0:1;
1354 		uint64_t rdtime1:1;
1355 		uint64_t dma0_fi:1;
1356 		uint64_t dma1_fi:1;
1357 		uint64_t win_wr:1;
1358 		uint64_t ill_wr:1;
1359 		uint64_t ill_rd:1;
1360 		uint64_t reserved_34_63:30;
1361 #endif
1362 	} cn31xx;
1363 };
1364 
1365 union cvmx_pci_int_sum {
1366 	uint64_t u64;
1367 	struct cvmx_pci_int_sum_s {
1368 #ifdef __BIG_ENDIAN_BITFIELD
1369 		uint64_t reserved_34_63:30;
1370 		uint64_t ill_rd:1;
1371 		uint64_t ill_wr:1;
1372 		uint64_t win_wr:1;
1373 		uint64_t dma1_fi:1;
1374 		uint64_t dma0_fi:1;
1375 		uint64_t dtime1:1;
1376 		uint64_t dtime0:1;
1377 		uint64_t dcnt1:1;
1378 		uint64_t dcnt0:1;
1379 		uint64_t ptime3:1;
1380 		uint64_t ptime2:1;
1381 		uint64_t ptime1:1;
1382 		uint64_t ptime0:1;
1383 		uint64_t pcnt3:1;
1384 		uint64_t pcnt2:1;
1385 		uint64_t pcnt1:1;
1386 		uint64_t pcnt0:1;
1387 		uint64_t rsl_int:1;
1388 		uint64_t ill_rrd:1;
1389 		uint64_t ill_rwr:1;
1390 		uint64_t dperr:1;
1391 		uint64_t aperr:1;
1392 		uint64_t serr:1;
1393 		uint64_t tsr_abt:1;
1394 		uint64_t msc_msg:1;
1395 		uint64_t msi_mabt:1;
1396 		uint64_t msi_tabt:1;
1397 		uint64_t msi_per:1;
1398 		uint64_t mr_tto:1;
1399 		uint64_t mr_abt:1;
1400 		uint64_t tr_abt:1;
1401 		uint64_t mr_wtto:1;
1402 		uint64_t mr_wabt:1;
1403 		uint64_t tr_wabt:1;
1404 #else
1405 		uint64_t tr_wabt:1;
1406 		uint64_t mr_wabt:1;
1407 		uint64_t mr_wtto:1;
1408 		uint64_t tr_abt:1;
1409 		uint64_t mr_abt:1;
1410 		uint64_t mr_tto:1;
1411 		uint64_t msi_per:1;
1412 		uint64_t msi_tabt:1;
1413 		uint64_t msi_mabt:1;
1414 		uint64_t msc_msg:1;
1415 		uint64_t tsr_abt:1;
1416 		uint64_t serr:1;
1417 		uint64_t aperr:1;
1418 		uint64_t dperr:1;
1419 		uint64_t ill_rwr:1;
1420 		uint64_t ill_rrd:1;
1421 		uint64_t rsl_int:1;
1422 		uint64_t pcnt0:1;
1423 		uint64_t pcnt1:1;
1424 		uint64_t pcnt2:1;
1425 		uint64_t pcnt3:1;
1426 		uint64_t ptime0:1;
1427 		uint64_t ptime1:1;
1428 		uint64_t ptime2:1;
1429 		uint64_t ptime3:1;
1430 		uint64_t dcnt0:1;
1431 		uint64_t dcnt1:1;
1432 		uint64_t dtime0:1;
1433 		uint64_t dtime1:1;
1434 		uint64_t dma0_fi:1;
1435 		uint64_t dma1_fi:1;
1436 		uint64_t win_wr:1;
1437 		uint64_t ill_wr:1;
1438 		uint64_t ill_rd:1;
1439 		uint64_t reserved_34_63:30;
1440 #endif
1441 	} s;
1442 	struct cvmx_pci_int_sum_cn30xx {
1443 #ifdef __BIG_ENDIAN_BITFIELD
1444 		uint64_t reserved_34_63:30;
1445 		uint64_t ill_rd:1;
1446 		uint64_t ill_wr:1;
1447 		uint64_t win_wr:1;
1448 		uint64_t dma1_fi:1;
1449 		uint64_t dma0_fi:1;
1450 		uint64_t dtime1:1;
1451 		uint64_t dtime0:1;
1452 		uint64_t dcnt1:1;
1453 		uint64_t dcnt0:1;
1454 		uint64_t reserved_22_24:3;
1455 		uint64_t ptime0:1;
1456 		uint64_t reserved_18_20:3;
1457 		uint64_t pcnt0:1;
1458 		uint64_t rsl_int:1;
1459 		uint64_t ill_rrd:1;
1460 		uint64_t ill_rwr:1;
1461 		uint64_t dperr:1;
1462 		uint64_t aperr:1;
1463 		uint64_t serr:1;
1464 		uint64_t tsr_abt:1;
1465 		uint64_t msc_msg:1;
1466 		uint64_t msi_mabt:1;
1467 		uint64_t msi_tabt:1;
1468 		uint64_t msi_per:1;
1469 		uint64_t mr_tto:1;
1470 		uint64_t mr_abt:1;
1471 		uint64_t tr_abt:1;
1472 		uint64_t mr_wtto:1;
1473 		uint64_t mr_wabt:1;
1474 		uint64_t tr_wabt:1;
1475 #else
1476 		uint64_t tr_wabt:1;
1477 		uint64_t mr_wabt:1;
1478 		uint64_t mr_wtto:1;
1479 		uint64_t tr_abt:1;
1480 		uint64_t mr_abt:1;
1481 		uint64_t mr_tto:1;
1482 		uint64_t msi_per:1;
1483 		uint64_t msi_tabt:1;
1484 		uint64_t msi_mabt:1;
1485 		uint64_t msc_msg:1;
1486 		uint64_t tsr_abt:1;
1487 		uint64_t serr:1;
1488 		uint64_t aperr:1;
1489 		uint64_t dperr:1;
1490 		uint64_t ill_rwr:1;
1491 		uint64_t ill_rrd:1;
1492 		uint64_t rsl_int:1;
1493 		uint64_t pcnt0:1;
1494 		uint64_t reserved_18_20:3;
1495 		uint64_t ptime0:1;
1496 		uint64_t reserved_22_24:3;
1497 		uint64_t dcnt0:1;
1498 		uint64_t dcnt1:1;
1499 		uint64_t dtime0:1;
1500 		uint64_t dtime1:1;
1501 		uint64_t dma0_fi:1;
1502 		uint64_t dma1_fi:1;
1503 		uint64_t win_wr:1;
1504 		uint64_t ill_wr:1;
1505 		uint64_t ill_rd:1;
1506 		uint64_t reserved_34_63:30;
1507 #endif
1508 	} cn30xx;
1509 	struct cvmx_pci_int_sum_cn31xx {
1510 #ifdef __BIG_ENDIAN_BITFIELD
1511 		uint64_t reserved_34_63:30;
1512 		uint64_t ill_rd:1;
1513 		uint64_t ill_wr:1;
1514 		uint64_t win_wr:1;
1515 		uint64_t dma1_fi:1;
1516 		uint64_t dma0_fi:1;
1517 		uint64_t dtime1:1;
1518 		uint64_t dtime0:1;
1519 		uint64_t dcnt1:1;
1520 		uint64_t dcnt0:1;
1521 		uint64_t reserved_23_24:2;
1522 		uint64_t ptime1:1;
1523 		uint64_t ptime0:1;
1524 		uint64_t reserved_19_20:2;
1525 		uint64_t pcnt1:1;
1526 		uint64_t pcnt0:1;
1527 		uint64_t rsl_int:1;
1528 		uint64_t ill_rrd:1;
1529 		uint64_t ill_rwr:1;
1530 		uint64_t dperr:1;
1531 		uint64_t aperr:1;
1532 		uint64_t serr:1;
1533 		uint64_t tsr_abt:1;
1534 		uint64_t msc_msg:1;
1535 		uint64_t msi_mabt:1;
1536 		uint64_t msi_tabt:1;
1537 		uint64_t msi_per:1;
1538 		uint64_t mr_tto:1;
1539 		uint64_t mr_abt:1;
1540 		uint64_t tr_abt:1;
1541 		uint64_t mr_wtto:1;
1542 		uint64_t mr_wabt:1;
1543 		uint64_t tr_wabt:1;
1544 #else
1545 		uint64_t tr_wabt:1;
1546 		uint64_t mr_wabt:1;
1547 		uint64_t mr_wtto:1;
1548 		uint64_t tr_abt:1;
1549 		uint64_t mr_abt:1;
1550 		uint64_t mr_tto:1;
1551 		uint64_t msi_per:1;
1552 		uint64_t msi_tabt:1;
1553 		uint64_t msi_mabt:1;
1554 		uint64_t msc_msg:1;
1555 		uint64_t tsr_abt:1;
1556 		uint64_t serr:1;
1557 		uint64_t aperr:1;
1558 		uint64_t dperr:1;
1559 		uint64_t ill_rwr:1;
1560 		uint64_t ill_rrd:1;
1561 		uint64_t rsl_int:1;
1562 		uint64_t pcnt0:1;
1563 		uint64_t pcnt1:1;
1564 		uint64_t reserved_19_20:2;
1565 		uint64_t ptime0:1;
1566 		uint64_t ptime1:1;
1567 		uint64_t reserved_23_24:2;
1568 		uint64_t dcnt0:1;
1569 		uint64_t dcnt1:1;
1570 		uint64_t dtime0:1;
1571 		uint64_t dtime1:1;
1572 		uint64_t dma0_fi:1;
1573 		uint64_t dma1_fi:1;
1574 		uint64_t win_wr:1;
1575 		uint64_t ill_wr:1;
1576 		uint64_t ill_rd:1;
1577 		uint64_t reserved_34_63:30;
1578 #endif
1579 	} cn31xx;
1580 };
1581 
1582 union cvmx_pci_int_sum2 {
1583 	uint64_t u64;
1584 	struct cvmx_pci_int_sum2_s {
1585 #ifdef __BIG_ENDIAN_BITFIELD
1586 		uint64_t reserved_34_63:30;
1587 		uint64_t ill_rd:1;
1588 		uint64_t ill_wr:1;
1589 		uint64_t win_wr:1;
1590 		uint64_t dma1_fi:1;
1591 		uint64_t dma0_fi:1;
1592 		uint64_t dtime1:1;
1593 		uint64_t dtime0:1;
1594 		uint64_t dcnt1:1;
1595 		uint64_t dcnt0:1;
1596 		uint64_t ptime3:1;
1597 		uint64_t ptime2:1;
1598 		uint64_t ptime1:1;
1599 		uint64_t ptime0:1;
1600 		uint64_t pcnt3:1;
1601 		uint64_t pcnt2:1;
1602 		uint64_t pcnt1:1;
1603 		uint64_t pcnt0:1;
1604 		uint64_t rsl_int:1;
1605 		uint64_t ill_rrd:1;
1606 		uint64_t ill_rwr:1;
1607 		uint64_t dperr:1;
1608 		uint64_t aperr:1;
1609 		uint64_t serr:1;
1610 		uint64_t tsr_abt:1;
1611 		uint64_t msc_msg:1;
1612 		uint64_t msi_mabt:1;
1613 		uint64_t msi_tabt:1;
1614 		uint64_t msi_per:1;
1615 		uint64_t mr_tto:1;
1616 		uint64_t mr_abt:1;
1617 		uint64_t tr_abt:1;
1618 		uint64_t mr_wtto:1;
1619 		uint64_t mr_wabt:1;
1620 		uint64_t tr_wabt:1;
1621 #else
1622 		uint64_t tr_wabt:1;
1623 		uint64_t mr_wabt:1;
1624 		uint64_t mr_wtto:1;
1625 		uint64_t tr_abt:1;
1626 		uint64_t mr_abt:1;
1627 		uint64_t mr_tto:1;
1628 		uint64_t msi_per:1;
1629 		uint64_t msi_tabt:1;
1630 		uint64_t msi_mabt:1;
1631 		uint64_t msc_msg:1;
1632 		uint64_t tsr_abt:1;
1633 		uint64_t serr:1;
1634 		uint64_t aperr:1;
1635 		uint64_t dperr:1;
1636 		uint64_t ill_rwr:1;
1637 		uint64_t ill_rrd:1;
1638 		uint64_t rsl_int:1;
1639 		uint64_t pcnt0:1;
1640 		uint64_t pcnt1:1;
1641 		uint64_t pcnt2:1;
1642 		uint64_t pcnt3:1;
1643 		uint64_t ptime0:1;
1644 		uint64_t ptime1:1;
1645 		uint64_t ptime2:1;
1646 		uint64_t ptime3:1;
1647 		uint64_t dcnt0:1;
1648 		uint64_t dcnt1:1;
1649 		uint64_t dtime0:1;
1650 		uint64_t dtime1:1;
1651 		uint64_t dma0_fi:1;
1652 		uint64_t dma1_fi:1;
1653 		uint64_t win_wr:1;
1654 		uint64_t ill_wr:1;
1655 		uint64_t ill_rd:1;
1656 		uint64_t reserved_34_63:30;
1657 #endif
1658 	} s;
1659 	struct cvmx_pci_int_sum2_cn30xx {
1660 #ifdef __BIG_ENDIAN_BITFIELD
1661 		uint64_t reserved_34_63:30;
1662 		uint64_t ill_rd:1;
1663 		uint64_t ill_wr:1;
1664 		uint64_t win_wr:1;
1665 		uint64_t dma1_fi:1;
1666 		uint64_t dma0_fi:1;
1667 		uint64_t dtime1:1;
1668 		uint64_t dtime0:1;
1669 		uint64_t dcnt1:1;
1670 		uint64_t dcnt0:1;
1671 		uint64_t reserved_22_24:3;
1672 		uint64_t ptime0:1;
1673 		uint64_t reserved_18_20:3;
1674 		uint64_t pcnt0:1;
1675 		uint64_t rsl_int:1;
1676 		uint64_t ill_rrd:1;
1677 		uint64_t ill_rwr:1;
1678 		uint64_t dperr:1;
1679 		uint64_t aperr:1;
1680 		uint64_t serr:1;
1681 		uint64_t tsr_abt:1;
1682 		uint64_t msc_msg:1;
1683 		uint64_t msi_mabt:1;
1684 		uint64_t msi_tabt:1;
1685 		uint64_t msi_per:1;
1686 		uint64_t mr_tto:1;
1687 		uint64_t mr_abt:1;
1688 		uint64_t tr_abt:1;
1689 		uint64_t mr_wtto:1;
1690 		uint64_t mr_wabt:1;
1691 		uint64_t tr_wabt:1;
1692 #else
1693 		uint64_t tr_wabt:1;
1694 		uint64_t mr_wabt:1;
1695 		uint64_t mr_wtto:1;
1696 		uint64_t tr_abt:1;
1697 		uint64_t mr_abt:1;
1698 		uint64_t mr_tto:1;
1699 		uint64_t msi_per:1;
1700 		uint64_t msi_tabt:1;
1701 		uint64_t msi_mabt:1;
1702 		uint64_t msc_msg:1;
1703 		uint64_t tsr_abt:1;
1704 		uint64_t serr:1;
1705 		uint64_t aperr:1;
1706 		uint64_t dperr:1;
1707 		uint64_t ill_rwr:1;
1708 		uint64_t ill_rrd:1;
1709 		uint64_t rsl_int:1;
1710 		uint64_t pcnt0:1;
1711 		uint64_t reserved_18_20:3;
1712 		uint64_t ptime0:1;
1713 		uint64_t reserved_22_24:3;
1714 		uint64_t dcnt0:1;
1715 		uint64_t dcnt1:1;
1716 		uint64_t dtime0:1;
1717 		uint64_t dtime1:1;
1718 		uint64_t dma0_fi:1;
1719 		uint64_t dma1_fi:1;
1720 		uint64_t win_wr:1;
1721 		uint64_t ill_wr:1;
1722 		uint64_t ill_rd:1;
1723 		uint64_t reserved_34_63:30;
1724 #endif
1725 	} cn30xx;
1726 	struct cvmx_pci_int_sum2_cn31xx {
1727 #ifdef __BIG_ENDIAN_BITFIELD
1728 		uint64_t reserved_34_63:30;
1729 		uint64_t ill_rd:1;
1730 		uint64_t ill_wr:1;
1731 		uint64_t win_wr:1;
1732 		uint64_t dma1_fi:1;
1733 		uint64_t dma0_fi:1;
1734 		uint64_t dtime1:1;
1735 		uint64_t dtime0:1;
1736 		uint64_t dcnt1:1;
1737 		uint64_t dcnt0:1;
1738 		uint64_t reserved_23_24:2;
1739 		uint64_t ptime1:1;
1740 		uint64_t ptime0:1;
1741 		uint64_t reserved_19_20:2;
1742 		uint64_t pcnt1:1;
1743 		uint64_t pcnt0:1;
1744 		uint64_t rsl_int:1;
1745 		uint64_t ill_rrd:1;
1746 		uint64_t ill_rwr:1;
1747 		uint64_t dperr:1;
1748 		uint64_t aperr:1;
1749 		uint64_t serr:1;
1750 		uint64_t tsr_abt:1;
1751 		uint64_t msc_msg:1;
1752 		uint64_t msi_mabt:1;
1753 		uint64_t msi_tabt:1;
1754 		uint64_t msi_per:1;
1755 		uint64_t mr_tto:1;
1756 		uint64_t mr_abt:1;
1757 		uint64_t tr_abt:1;
1758 		uint64_t mr_wtto:1;
1759 		uint64_t mr_wabt:1;
1760 		uint64_t tr_wabt:1;
1761 #else
1762 		uint64_t tr_wabt:1;
1763 		uint64_t mr_wabt:1;
1764 		uint64_t mr_wtto:1;
1765 		uint64_t tr_abt:1;
1766 		uint64_t mr_abt:1;
1767 		uint64_t mr_tto:1;
1768 		uint64_t msi_per:1;
1769 		uint64_t msi_tabt:1;
1770 		uint64_t msi_mabt:1;
1771 		uint64_t msc_msg:1;
1772 		uint64_t tsr_abt:1;
1773 		uint64_t serr:1;
1774 		uint64_t aperr:1;
1775 		uint64_t dperr:1;
1776 		uint64_t ill_rwr:1;
1777 		uint64_t ill_rrd:1;
1778 		uint64_t rsl_int:1;
1779 		uint64_t pcnt0:1;
1780 		uint64_t pcnt1:1;
1781 		uint64_t reserved_19_20:2;
1782 		uint64_t ptime0:1;
1783 		uint64_t ptime1:1;
1784 		uint64_t reserved_23_24:2;
1785 		uint64_t dcnt0:1;
1786 		uint64_t dcnt1:1;
1787 		uint64_t dtime0:1;
1788 		uint64_t dtime1:1;
1789 		uint64_t dma0_fi:1;
1790 		uint64_t dma1_fi:1;
1791 		uint64_t win_wr:1;
1792 		uint64_t ill_wr:1;
1793 		uint64_t ill_rd:1;
1794 		uint64_t reserved_34_63:30;
1795 #endif
1796 	} cn31xx;
1797 };
1798 
1799 union cvmx_pci_msi_rcv {
1800 	uint32_t u32;
1801 	struct cvmx_pci_msi_rcv_s {
1802 #ifdef __BIG_ENDIAN_BITFIELD
1803 		uint32_t reserved_6_31:26;
1804 		uint32_t intr:6;
1805 #else
1806 		uint32_t intr:6;
1807 		uint32_t reserved_6_31:26;
1808 #endif
1809 	} s;
1810 };
1811 
1812 union cvmx_pci_pkt_creditsx {
1813 	uint32_t u32;
1814 	struct cvmx_pci_pkt_creditsx_s {
1815 #ifdef __BIG_ENDIAN_BITFIELD
1816 		uint32_t pkt_cnt:16;
1817 		uint32_t ptr_cnt:16;
1818 #else
1819 		uint32_t ptr_cnt:16;
1820 		uint32_t pkt_cnt:16;
1821 #endif
1822 	} s;
1823 };
1824 
1825 union cvmx_pci_pkts_sentx {
1826 	uint32_t u32;
1827 	struct cvmx_pci_pkts_sentx_s {
1828 #ifdef __BIG_ENDIAN_BITFIELD
1829 		uint32_t pkt_cnt:32;
1830 #else
1831 		uint32_t pkt_cnt:32;
1832 #endif
1833 	} s;
1834 };
1835 
1836 union cvmx_pci_pkts_sent_int_levx {
1837 	uint32_t u32;
1838 	struct cvmx_pci_pkts_sent_int_levx_s {
1839 #ifdef __BIG_ENDIAN_BITFIELD
1840 		uint32_t pkt_cnt:32;
1841 #else
1842 		uint32_t pkt_cnt:32;
1843 #endif
1844 	} s;
1845 };
1846 
1847 union cvmx_pci_pkts_sent_timex {
1848 	uint32_t u32;
1849 	struct cvmx_pci_pkts_sent_timex_s {
1850 #ifdef __BIG_ENDIAN_BITFIELD
1851 		uint32_t pkt_time:32;
1852 #else
1853 		uint32_t pkt_time:32;
1854 #endif
1855 	} s;
1856 };
1857 
1858 union cvmx_pci_read_cmd_6 {
1859 	uint32_t u32;
1860 	struct cvmx_pci_read_cmd_6_s {
1861 #ifdef __BIG_ENDIAN_BITFIELD
1862 		uint32_t reserved_9_31:23;
1863 		uint32_t min_data:6;
1864 		uint32_t prefetch:3;
1865 #else
1866 		uint32_t prefetch:3;
1867 		uint32_t min_data:6;
1868 		uint32_t reserved_9_31:23;
1869 #endif
1870 	} s;
1871 };
1872 
1873 union cvmx_pci_read_cmd_c {
1874 	uint32_t u32;
1875 	struct cvmx_pci_read_cmd_c_s {
1876 #ifdef __BIG_ENDIAN_BITFIELD
1877 		uint32_t reserved_9_31:23;
1878 		uint32_t min_data:6;
1879 		uint32_t prefetch:3;
1880 #else
1881 		uint32_t prefetch:3;
1882 		uint32_t min_data:6;
1883 		uint32_t reserved_9_31:23;
1884 #endif
1885 	} s;
1886 };
1887 
1888 union cvmx_pci_read_cmd_e {
1889 	uint32_t u32;
1890 	struct cvmx_pci_read_cmd_e_s {
1891 #ifdef __BIG_ENDIAN_BITFIELD
1892 		uint32_t reserved_9_31:23;
1893 		uint32_t min_data:6;
1894 		uint32_t prefetch:3;
1895 #else
1896 		uint32_t prefetch:3;
1897 		uint32_t min_data:6;
1898 		uint32_t reserved_9_31:23;
1899 #endif
1900 	} s;
1901 };
1902 
1903 union cvmx_pci_read_timeout {
1904 	uint64_t u64;
1905 	struct cvmx_pci_read_timeout_s {
1906 #ifdef __BIG_ENDIAN_BITFIELD
1907 		uint64_t reserved_32_63:32;
1908 		uint64_t enb:1;
1909 		uint64_t cnt:31;
1910 #else
1911 		uint64_t cnt:31;
1912 		uint64_t enb:1;
1913 		uint64_t reserved_32_63:32;
1914 #endif
1915 	} s;
1916 };
1917 
1918 union cvmx_pci_scm_reg {
1919 	uint64_t u64;
1920 	struct cvmx_pci_scm_reg_s {
1921 #ifdef __BIG_ENDIAN_BITFIELD
1922 		uint64_t reserved_32_63:32;
1923 		uint64_t scm:32;
1924 #else
1925 		uint64_t scm:32;
1926 		uint64_t reserved_32_63:32;
1927 #endif
1928 	} s;
1929 };
1930 
1931 union cvmx_pci_tsr_reg {
1932 	uint64_t u64;
1933 	struct cvmx_pci_tsr_reg_s {
1934 #ifdef __BIG_ENDIAN_BITFIELD
1935 		uint64_t reserved_36_63:28;
1936 		uint64_t tsr:36;
1937 #else
1938 		uint64_t tsr:36;
1939 		uint64_t reserved_36_63:28;
1940 #endif
1941 	} s;
1942 };
1943 
1944 union cvmx_pci_win_rd_addr {
1945 	uint64_t u64;
1946 	struct cvmx_pci_win_rd_addr_s {
1947 #ifdef __BIG_ENDIAN_BITFIELD
1948 		uint64_t reserved_49_63:15;
1949 		uint64_t iobit:1;
1950 		uint64_t reserved_0_47:48;
1951 #else
1952 		uint64_t reserved_0_47:48;
1953 		uint64_t iobit:1;
1954 		uint64_t reserved_49_63:15;
1955 #endif
1956 	} s;
1957 	struct cvmx_pci_win_rd_addr_cn30xx {
1958 #ifdef __BIG_ENDIAN_BITFIELD
1959 		uint64_t reserved_49_63:15;
1960 		uint64_t iobit:1;
1961 		uint64_t rd_addr:46;
1962 		uint64_t reserved_0_1:2;
1963 #else
1964 		uint64_t reserved_0_1:2;
1965 		uint64_t rd_addr:46;
1966 		uint64_t iobit:1;
1967 		uint64_t reserved_49_63:15;
1968 #endif
1969 	} cn30xx;
1970 	struct cvmx_pci_win_rd_addr_cn38xx {
1971 #ifdef __BIG_ENDIAN_BITFIELD
1972 		uint64_t reserved_49_63:15;
1973 		uint64_t iobit:1;
1974 		uint64_t rd_addr:45;
1975 		uint64_t reserved_0_2:3;
1976 #else
1977 		uint64_t reserved_0_2:3;
1978 		uint64_t rd_addr:45;
1979 		uint64_t iobit:1;
1980 		uint64_t reserved_49_63:15;
1981 #endif
1982 	} cn38xx;
1983 };
1984 
1985 union cvmx_pci_win_rd_data {
1986 	uint64_t u64;
1987 	struct cvmx_pci_win_rd_data_s {
1988 #ifdef __BIG_ENDIAN_BITFIELD
1989 		uint64_t rd_data:64;
1990 #else
1991 		uint64_t rd_data:64;
1992 #endif
1993 	} s;
1994 };
1995 
1996 union cvmx_pci_win_wr_addr {
1997 	uint64_t u64;
1998 	struct cvmx_pci_win_wr_addr_s {
1999 #ifdef __BIG_ENDIAN_BITFIELD
2000 		uint64_t reserved_49_63:15;
2001 		uint64_t iobit:1;
2002 		uint64_t wr_addr:45;
2003 		uint64_t reserved_0_2:3;
2004 #else
2005 		uint64_t reserved_0_2:3;
2006 		uint64_t wr_addr:45;
2007 		uint64_t iobit:1;
2008 		uint64_t reserved_49_63:15;
2009 #endif
2010 	} s;
2011 };
2012 
2013 union cvmx_pci_win_wr_data {
2014 	uint64_t u64;
2015 	struct cvmx_pci_win_wr_data_s {
2016 #ifdef __BIG_ENDIAN_BITFIELD
2017 		uint64_t wr_data:64;
2018 #else
2019 		uint64_t wr_data:64;
2020 #endif
2021 	} s;
2022 };
2023 
2024 union cvmx_pci_win_wr_mask {
2025 	uint64_t u64;
2026 	struct cvmx_pci_win_wr_mask_s {
2027 #ifdef __BIG_ENDIAN_BITFIELD
2028 		uint64_t reserved_8_63:56;
2029 		uint64_t wr_mask:8;
2030 #else
2031 		uint64_t wr_mask:8;
2032 		uint64_t reserved_8_63:56;
2033 #endif
2034 	} s;
2035 };
2036 
2037 #endif
2038