Linux-libre 5.7.5-gnu
[librecmc/linux-libre.git] / arch / mips / include / asm / octeon / cvmx-pci-defs.h
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