xref: /openbmc/linux/arch/mips/include/asm/octeon/cvmx-pci-defs.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
18860fb82SDavid Daney /***********************license start***************
28860fb82SDavid Daney  * Author: Cavium Networks
38860fb82SDavid Daney  *
48860fb82SDavid Daney  * Contact: support@caviumnetworks.com
58860fb82SDavid Daney  * This file is part of the OCTEON SDK
68860fb82SDavid Daney  *
7*c5aa59e8SDavid Daney  * Copyright (c) 2003-2012 Cavium Networks
88860fb82SDavid Daney  *
98860fb82SDavid Daney  * This file is free software; you can redistribute it and/or modify
108860fb82SDavid Daney  * it under the terms of the GNU General Public License, Version 2, as
118860fb82SDavid Daney  * published by the Free Software Foundation.
128860fb82SDavid Daney  *
138860fb82SDavid Daney  * This file is distributed in the hope that it will be useful, but
148860fb82SDavid Daney  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
158860fb82SDavid Daney  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
168860fb82SDavid Daney  * NONINFRINGEMENT.  See the GNU General Public License for more
178860fb82SDavid Daney  * details.
188860fb82SDavid Daney  *
198860fb82SDavid Daney  * You should have received a copy of the GNU General Public License
208860fb82SDavid Daney  * along with this file; if not, write to the Free Software
218860fb82SDavid Daney  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
228860fb82SDavid Daney  * or visit http://www.gnu.org/licenses/.
238860fb82SDavid Daney  *
248860fb82SDavid Daney  * This file may also be available under a different license from Cavium.
258860fb82SDavid Daney  * Contact Cavium Networks for more information
268860fb82SDavid Daney  ***********************license end**************************************/
278860fb82SDavid Daney 
288860fb82SDavid Daney #ifndef __CVMX_PCI_DEFS_H__
298860fb82SDavid Daney #define __CVMX_PCI_DEFS_H__
308860fb82SDavid Daney 
31aa32a955SDavid Daney #define CVMX_PCI_BAR1_INDEXX(offset) (0x0000000000000100ull + ((offset) & 31) * 4)
32aa32a955SDavid Daney #define CVMX_PCI_BIST_REG (0x00000000000001C0ull)
33aa32a955SDavid Daney #define CVMX_PCI_CFG00 (0x0000000000000000ull)
34aa32a955SDavid Daney #define CVMX_PCI_CFG01 (0x0000000000000004ull)
35aa32a955SDavid Daney #define CVMX_PCI_CFG02 (0x0000000000000008ull)
36aa32a955SDavid Daney #define CVMX_PCI_CFG03 (0x000000000000000Cull)
37aa32a955SDavid Daney #define CVMX_PCI_CFG04 (0x0000000000000010ull)
38aa32a955SDavid Daney #define CVMX_PCI_CFG05 (0x0000000000000014ull)
39aa32a955SDavid Daney #define CVMX_PCI_CFG06 (0x0000000000000018ull)
40aa32a955SDavid Daney #define CVMX_PCI_CFG07 (0x000000000000001Cull)
41aa32a955SDavid Daney #define CVMX_PCI_CFG08 (0x0000000000000020ull)
42aa32a955SDavid Daney #define CVMX_PCI_CFG09 (0x0000000000000024ull)
43aa32a955SDavid Daney #define CVMX_PCI_CFG10 (0x0000000000000028ull)
44aa32a955SDavid Daney #define CVMX_PCI_CFG11 (0x000000000000002Cull)
45aa32a955SDavid Daney #define CVMX_PCI_CFG12 (0x0000000000000030ull)
46aa32a955SDavid Daney #define CVMX_PCI_CFG13 (0x0000000000000034ull)
47aa32a955SDavid Daney #define CVMX_PCI_CFG15 (0x000000000000003Cull)
48aa32a955SDavid Daney #define CVMX_PCI_CFG16 (0x0000000000000040ull)
49aa32a955SDavid Daney #define CVMX_PCI_CFG17 (0x0000000000000044ull)
50aa32a955SDavid Daney #define CVMX_PCI_CFG18 (0x0000000000000048ull)
51aa32a955SDavid Daney #define CVMX_PCI_CFG19 (0x000000000000004Cull)
52aa32a955SDavid Daney #define CVMX_PCI_CFG20 (0x0000000000000050ull)
53aa32a955SDavid Daney #define CVMX_PCI_CFG21 (0x0000000000000054ull)
54aa32a955SDavid Daney #define CVMX_PCI_CFG22 (0x0000000000000058ull)
55aa32a955SDavid Daney #define CVMX_PCI_CFG56 (0x00000000000000E0ull)
56aa32a955SDavid Daney #define CVMX_PCI_CFG57 (0x00000000000000E4ull)
57aa32a955SDavid Daney #define CVMX_PCI_CFG58 (0x00000000000000E8ull)
58aa32a955SDavid Daney #define CVMX_PCI_CFG59 (0x00000000000000ECull)
59aa32a955SDavid Daney #define CVMX_PCI_CFG60 (0x00000000000000F0ull)
60aa32a955SDavid Daney #define CVMX_PCI_CFG61 (0x00000000000000F4ull)
61aa32a955SDavid Daney #define CVMX_PCI_CFG62 (0x00000000000000F8ull)
62aa32a955SDavid Daney #define CVMX_PCI_CFG63 (0x00000000000000FCull)
63aa32a955SDavid Daney #define CVMX_PCI_CNT_REG (0x00000000000001B8ull)
64aa32a955SDavid Daney #define CVMX_PCI_CTL_STATUS_2 (0x000000000000018Cull)
65aa32a955SDavid Daney #define CVMX_PCI_DBELL_X(offset) (0x0000000000000080ull + ((offset) & 3) * 8)
66aa32a955SDavid Daney #define CVMX_PCI_DMA_CNT0 CVMX_PCI_DMA_CNTX(0)
67aa32a955SDavid Daney #define CVMX_PCI_DMA_CNT1 CVMX_PCI_DMA_CNTX(1)
68aa32a955SDavid Daney #define CVMX_PCI_DMA_CNTX(offset) (0x00000000000000A0ull + ((offset) & 1) * 8)
69aa32a955SDavid Daney #define CVMX_PCI_DMA_INT_LEV0 CVMX_PCI_DMA_INT_LEVX(0)
70aa32a955SDavid Daney #define CVMX_PCI_DMA_INT_LEV1 CVMX_PCI_DMA_INT_LEVX(1)
71aa32a955SDavid Daney #define CVMX_PCI_DMA_INT_LEVX(offset) (0x00000000000000A4ull + ((offset) & 1) * 8)
72aa32a955SDavid Daney #define CVMX_PCI_DMA_TIME0 CVMX_PCI_DMA_TIMEX(0)
73aa32a955SDavid Daney #define CVMX_PCI_DMA_TIME1 CVMX_PCI_DMA_TIMEX(1)
74aa32a955SDavid Daney #define CVMX_PCI_DMA_TIMEX(offset) (0x00000000000000B0ull + ((offset) & 1) * 4)
75aa32a955SDavid Daney #define CVMX_PCI_INSTR_COUNT0 CVMX_PCI_INSTR_COUNTX(0)
76aa32a955SDavid Daney #define CVMX_PCI_INSTR_COUNT1 CVMX_PCI_INSTR_COUNTX(1)
77aa32a955SDavid Daney #define CVMX_PCI_INSTR_COUNT2 CVMX_PCI_INSTR_COUNTX(2)
78aa32a955SDavid Daney #define CVMX_PCI_INSTR_COUNT3 CVMX_PCI_INSTR_COUNTX(3)
79aa32a955SDavid Daney #define CVMX_PCI_INSTR_COUNTX(offset) (0x0000000000000084ull + ((offset) & 3) * 8)
80aa32a955SDavid Daney #define CVMX_PCI_INT_ENB (0x0000000000000038ull)
81aa32a955SDavid Daney #define CVMX_PCI_INT_ENB2 (0x00000000000001A0ull)
82aa32a955SDavid Daney #define CVMX_PCI_INT_SUM (0x0000000000000030ull)
83aa32a955SDavid Daney #define CVMX_PCI_INT_SUM2 (0x0000000000000198ull)
84aa32a955SDavid Daney #define CVMX_PCI_MSI_RCV (0x00000000000000F0ull)
85aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT0 CVMX_PCI_PKTS_SENTX(0)
86aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT1 CVMX_PCI_PKTS_SENTX(1)
87aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT2 CVMX_PCI_PKTS_SENTX(2)
88aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT3 CVMX_PCI_PKTS_SENTX(3)
89aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENTX(offset) (0x0000000000000040ull + ((offset) & 3) * 16)
90aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_INT_LEV0 CVMX_PCI_PKTS_SENT_INT_LEVX(0)
91aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_INT_LEV1 CVMX_PCI_PKTS_SENT_INT_LEVX(1)
92aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_INT_LEV2 CVMX_PCI_PKTS_SENT_INT_LEVX(2)
93aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_INT_LEV3 CVMX_PCI_PKTS_SENT_INT_LEVX(3)
94aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_INT_LEVX(offset) (0x0000000000000048ull + ((offset) & 3) * 16)
95aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_TIME0 CVMX_PCI_PKTS_SENT_TIMEX(0)
96aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_TIME1 CVMX_PCI_PKTS_SENT_TIMEX(1)
97aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_TIME2 CVMX_PCI_PKTS_SENT_TIMEX(2)
98aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_TIME3 CVMX_PCI_PKTS_SENT_TIMEX(3)
99aa32a955SDavid Daney #define CVMX_PCI_PKTS_SENT_TIMEX(offset) (0x000000000000004Cull + ((offset) & 3) * 16)
100aa32a955SDavid Daney #define CVMX_PCI_PKT_CREDITS0 CVMX_PCI_PKT_CREDITSX(0)
101aa32a955SDavid Daney #define CVMX_PCI_PKT_CREDITS1 CVMX_PCI_PKT_CREDITSX(1)
102aa32a955SDavid Daney #define CVMX_PCI_PKT_CREDITS2 CVMX_PCI_PKT_CREDITSX(2)
103aa32a955SDavid Daney #define CVMX_PCI_PKT_CREDITS3 CVMX_PCI_PKT_CREDITSX(3)
104aa32a955SDavid Daney #define CVMX_PCI_PKT_CREDITSX(offset) (0x0000000000000044ull + ((offset) & 3) * 16)
105aa32a955SDavid Daney #define CVMX_PCI_READ_CMD_6 (0x0000000000000180ull)
106aa32a955SDavid Daney #define CVMX_PCI_READ_CMD_C (0x0000000000000184ull)
107aa32a955SDavid Daney #define CVMX_PCI_READ_CMD_E (0x0000000000000188ull)
108aa32a955SDavid Daney #define CVMX_PCI_READ_TIMEOUT (CVMX_ADD_IO_SEG(0x00011F00000000B0ull))
109aa32a955SDavid Daney #define CVMX_PCI_SCM_REG (0x00000000000001A8ull)
110aa32a955SDavid Daney #define CVMX_PCI_TSR_REG (0x00000000000001B0ull)
111aa32a955SDavid Daney #define CVMX_PCI_WIN_RD_ADDR (0x0000000000000008ull)
112aa32a955SDavid Daney #define CVMX_PCI_WIN_RD_DATA (0x0000000000000020ull)
113aa32a955SDavid Daney #define CVMX_PCI_WIN_WR_ADDR (0x0000000000000000ull)
114aa32a955SDavid Daney #define CVMX_PCI_WIN_WR_DATA (0x0000000000000010ull)
115aa32a955SDavid Daney #define CVMX_PCI_WIN_WR_MASK (0x0000000000000018ull)
1168860fb82SDavid Daney 
1178860fb82SDavid Daney union cvmx_pci_bar1_indexx {
1188860fb82SDavid Daney 	uint32_t u32;
1198860fb82SDavid Daney 	struct cvmx_pci_bar1_indexx_s {
120*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1218860fb82SDavid Daney 		uint32_t reserved_18_31:14;
1228860fb82SDavid Daney 		uint32_t addr_idx:14;
1238860fb82SDavid Daney 		uint32_t ca:1;
1248860fb82SDavid Daney 		uint32_t end_swp:2;
1258860fb82SDavid Daney 		uint32_t addr_v:1;
126*c5aa59e8SDavid Daney #else
127*c5aa59e8SDavid Daney 		uint32_t addr_v:1;
128*c5aa59e8SDavid Daney 		uint32_t end_swp:2;
129*c5aa59e8SDavid Daney 		uint32_t ca:1;
130*c5aa59e8SDavid Daney 		uint32_t addr_idx:14;
131*c5aa59e8SDavid Daney 		uint32_t reserved_18_31:14;
132*c5aa59e8SDavid Daney #endif
1338860fb82SDavid Daney 	} s;
1348860fb82SDavid Daney };
1358860fb82SDavid Daney 
1368860fb82SDavid Daney union cvmx_pci_bist_reg {
1378860fb82SDavid Daney 	uint64_t u64;
1388860fb82SDavid Daney 	struct cvmx_pci_bist_reg_s {
139*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1408860fb82SDavid Daney 		uint64_t reserved_10_63:54;
1418860fb82SDavid Daney 		uint64_t rsp_bs:1;
1428860fb82SDavid Daney 		uint64_t dma0_bs:1;
1438860fb82SDavid Daney 		uint64_t cmd0_bs:1;
1448860fb82SDavid Daney 		uint64_t cmd_bs:1;
1458860fb82SDavid Daney 		uint64_t csr2p_bs:1;
1468860fb82SDavid Daney 		uint64_t csrr_bs:1;
1478860fb82SDavid Daney 		uint64_t rsp2p_bs:1;
1488860fb82SDavid Daney 		uint64_t csr2n_bs:1;
1498860fb82SDavid Daney 		uint64_t dat2n_bs:1;
1508860fb82SDavid Daney 		uint64_t dbg2n_bs:1;
151*c5aa59e8SDavid Daney #else
152*c5aa59e8SDavid Daney 		uint64_t dbg2n_bs:1;
153*c5aa59e8SDavid Daney 		uint64_t dat2n_bs:1;
154*c5aa59e8SDavid Daney 		uint64_t csr2n_bs:1;
155*c5aa59e8SDavid Daney 		uint64_t rsp2p_bs:1;
156*c5aa59e8SDavid Daney 		uint64_t csrr_bs:1;
157*c5aa59e8SDavid Daney 		uint64_t csr2p_bs:1;
158*c5aa59e8SDavid Daney 		uint64_t cmd_bs:1;
159*c5aa59e8SDavid Daney 		uint64_t cmd0_bs:1;
160*c5aa59e8SDavid Daney 		uint64_t dma0_bs:1;
161*c5aa59e8SDavid Daney 		uint64_t rsp_bs:1;
162*c5aa59e8SDavid Daney 		uint64_t reserved_10_63:54;
163*c5aa59e8SDavid Daney #endif
1648860fb82SDavid Daney 	} s;
1658860fb82SDavid Daney };
1668860fb82SDavid Daney 
1678860fb82SDavid Daney union cvmx_pci_cfg00 {
1688860fb82SDavid Daney 	uint32_t u32;
1698860fb82SDavid Daney 	struct cvmx_pci_cfg00_s {
170*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1718860fb82SDavid Daney 		uint32_t devid:16;
1728860fb82SDavid Daney 		uint32_t vendid:16;
173*c5aa59e8SDavid Daney #else
174*c5aa59e8SDavid Daney 		uint32_t vendid:16;
175*c5aa59e8SDavid Daney 		uint32_t devid:16;
176*c5aa59e8SDavid Daney #endif
1778860fb82SDavid Daney 	} s;
1788860fb82SDavid Daney };
1798860fb82SDavid Daney 
1808860fb82SDavid Daney union cvmx_pci_cfg01 {
1818860fb82SDavid Daney 	uint32_t u32;
1828860fb82SDavid Daney 	struct cvmx_pci_cfg01_s {
183*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1848860fb82SDavid Daney 		uint32_t dpe:1;
1858860fb82SDavid Daney 		uint32_t sse:1;
1868860fb82SDavid Daney 		uint32_t rma:1;
1878860fb82SDavid Daney 		uint32_t rta:1;
1888860fb82SDavid Daney 		uint32_t sta:1;
1898860fb82SDavid Daney 		uint32_t devt:2;
1908860fb82SDavid Daney 		uint32_t mdpe:1;
1918860fb82SDavid Daney 		uint32_t fbb:1;
1928860fb82SDavid Daney 		uint32_t reserved_22_22:1;
1938860fb82SDavid Daney 		uint32_t m66:1;
1948860fb82SDavid Daney 		uint32_t cle:1;
1958860fb82SDavid Daney 		uint32_t i_stat:1;
1968860fb82SDavid Daney 		uint32_t reserved_11_18:8;
1978860fb82SDavid Daney 		uint32_t i_dis:1;
1988860fb82SDavid Daney 		uint32_t fbbe:1;
1998860fb82SDavid Daney 		uint32_t see:1;
2008860fb82SDavid Daney 		uint32_t ads:1;
2018860fb82SDavid Daney 		uint32_t pee:1;
2028860fb82SDavid Daney 		uint32_t vps:1;
2038860fb82SDavid Daney 		uint32_t mwice:1;
2048860fb82SDavid Daney 		uint32_t scse:1;
2058860fb82SDavid Daney 		uint32_t me:1;
2068860fb82SDavid Daney 		uint32_t msae:1;
2078860fb82SDavid Daney 		uint32_t isae:1;
208*c5aa59e8SDavid Daney #else
209*c5aa59e8SDavid Daney 		uint32_t isae:1;
210*c5aa59e8SDavid Daney 		uint32_t msae:1;
211*c5aa59e8SDavid Daney 		uint32_t me:1;
212*c5aa59e8SDavid Daney 		uint32_t scse:1;
213*c5aa59e8SDavid Daney 		uint32_t mwice:1;
214*c5aa59e8SDavid Daney 		uint32_t vps:1;
215*c5aa59e8SDavid Daney 		uint32_t pee:1;
216*c5aa59e8SDavid Daney 		uint32_t ads:1;
217*c5aa59e8SDavid Daney 		uint32_t see:1;
218*c5aa59e8SDavid Daney 		uint32_t fbbe:1;
219*c5aa59e8SDavid Daney 		uint32_t i_dis:1;
220*c5aa59e8SDavid Daney 		uint32_t reserved_11_18:8;
221*c5aa59e8SDavid Daney 		uint32_t i_stat:1;
222*c5aa59e8SDavid Daney 		uint32_t cle:1;
223*c5aa59e8SDavid Daney 		uint32_t m66:1;
224*c5aa59e8SDavid Daney 		uint32_t reserved_22_22:1;
225*c5aa59e8SDavid Daney 		uint32_t fbb:1;
226*c5aa59e8SDavid Daney 		uint32_t mdpe:1;
227*c5aa59e8SDavid Daney 		uint32_t devt:2;
228*c5aa59e8SDavid Daney 		uint32_t sta:1;
229*c5aa59e8SDavid Daney 		uint32_t rta:1;
230*c5aa59e8SDavid Daney 		uint32_t rma:1;
231*c5aa59e8SDavid Daney 		uint32_t sse:1;
232*c5aa59e8SDavid Daney 		uint32_t dpe:1;
233*c5aa59e8SDavid Daney #endif
2348860fb82SDavid Daney 	} s;
2358860fb82SDavid Daney };
2368860fb82SDavid Daney 
2378860fb82SDavid Daney union cvmx_pci_cfg02 {
2388860fb82SDavid Daney 	uint32_t u32;
2398860fb82SDavid Daney 	struct cvmx_pci_cfg02_s {
240*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2418860fb82SDavid Daney 		uint32_t cc:24;
2428860fb82SDavid Daney 		uint32_t rid:8;
243*c5aa59e8SDavid Daney #else
244*c5aa59e8SDavid Daney 		uint32_t rid:8;
245*c5aa59e8SDavid Daney 		uint32_t cc:24;
246*c5aa59e8SDavid Daney #endif
2478860fb82SDavid Daney 	} s;
2488860fb82SDavid Daney };
2498860fb82SDavid Daney 
2508860fb82SDavid Daney union cvmx_pci_cfg03 {
2518860fb82SDavid Daney 	uint32_t u32;
2528860fb82SDavid Daney 	struct cvmx_pci_cfg03_s {
253*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2548860fb82SDavid Daney 		uint32_t bcap:1;
2558860fb82SDavid Daney 		uint32_t brb:1;
2568860fb82SDavid Daney 		uint32_t reserved_28_29:2;
2578860fb82SDavid Daney 		uint32_t bcod:4;
2588860fb82SDavid Daney 		uint32_t ht:8;
2598860fb82SDavid Daney 		uint32_t lt:8;
2608860fb82SDavid Daney 		uint32_t cls:8;
261*c5aa59e8SDavid Daney #else
262*c5aa59e8SDavid Daney 		uint32_t cls:8;
263*c5aa59e8SDavid Daney 		uint32_t lt:8;
264*c5aa59e8SDavid Daney 		uint32_t ht:8;
265*c5aa59e8SDavid Daney 		uint32_t bcod:4;
266*c5aa59e8SDavid Daney 		uint32_t reserved_28_29:2;
267*c5aa59e8SDavid Daney 		uint32_t brb:1;
268*c5aa59e8SDavid Daney 		uint32_t bcap:1;
269*c5aa59e8SDavid Daney #endif
2708860fb82SDavid Daney 	} s;
2718860fb82SDavid Daney };
2728860fb82SDavid Daney 
2738860fb82SDavid Daney union cvmx_pci_cfg04 {
2748860fb82SDavid Daney 	uint32_t u32;
2758860fb82SDavid Daney 	struct cvmx_pci_cfg04_s {
276*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2778860fb82SDavid Daney 		uint32_t lbase:20;
2788860fb82SDavid Daney 		uint32_t lbasez:8;
2798860fb82SDavid Daney 		uint32_t pf:1;
2808860fb82SDavid Daney 		uint32_t typ:2;
2818860fb82SDavid Daney 		uint32_t mspc:1;
282*c5aa59e8SDavid Daney #else
283*c5aa59e8SDavid Daney 		uint32_t mspc:1;
284*c5aa59e8SDavid Daney 		uint32_t typ:2;
285*c5aa59e8SDavid Daney 		uint32_t pf:1;
286*c5aa59e8SDavid Daney 		uint32_t lbasez:8;
287*c5aa59e8SDavid Daney 		uint32_t lbase:20;
288*c5aa59e8SDavid Daney #endif
2898860fb82SDavid Daney 	} s;
2908860fb82SDavid Daney };
2918860fb82SDavid Daney 
2928860fb82SDavid Daney union cvmx_pci_cfg05 {
2938860fb82SDavid Daney 	uint32_t u32;
2948860fb82SDavid Daney 	struct cvmx_pci_cfg05_s {
295*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2968860fb82SDavid Daney 		uint32_t hbase:32;
297*c5aa59e8SDavid Daney #else
298*c5aa59e8SDavid Daney 		uint32_t hbase:32;
299*c5aa59e8SDavid Daney #endif
3008860fb82SDavid Daney 	} s;
3018860fb82SDavid Daney };
3028860fb82SDavid Daney 
3038860fb82SDavid Daney union cvmx_pci_cfg06 {
3048860fb82SDavid Daney 	uint32_t u32;
3058860fb82SDavid Daney 	struct cvmx_pci_cfg06_s {
306*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3078860fb82SDavid Daney 		uint32_t lbase:5;
3088860fb82SDavid Daney 		uint32_t lbasez:23;
3098860fb82SDavid Daney 		uint32_t pf:1;
3108860fb82SDavid Daney 		uint32_t typ:2;
3118860fb82SDavid Daney 		uint32_t mspc:1;
312*c5aa59e8SDavid Daney #else
313*c5aa59e8SDavid Daney 		uint32_t mspc:1;
314*c5aa59e8SDavid Daney 		uint32_t typ:2;
315*c5aa59e8SDavid Daney 		uint32_t pf:1;
316*c5aa59e8SDavid Daney 		uint32_t lbasez:23;
317*c5aa59e8SDavid Daney 		uint32_t lbase:5;
318*c5aa59e8SDavid Daney #endif
3198860fb82SDavid Daney 	} s;
3208860fb82SDavid Daney };
3218860fb82SDavid Daney 
3228860fb82SDavid Daney union cvmx_pci_cfg07 {
3238860fb82SDavid Daney 	uint32_t u32;
3248860fb82SDavid Daney 	struct cvmx_pci_cfg07_s {
325*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3268860fb82SDavid Daney 		uint32_t hbase:32;
327*c5aa59e8SDavid Daney #else
328*c5aa59e8SDavid Daney 		uint32_t hbase:32;
329*c5aa59e8SDavid Daney #endif
3308860fb82SDavid Daney 	} s;
3318860fb82SDavid Daney };
3328860fb82SDavid Daney 
3338860fb82SDavid Daney union cvmx_pci_cfg08 {
3348860fb82SDavid Daney 	uint32_t u32;
3358860fb82SDavid Daney 	struct cvmx_pci_cfg08_s {
336*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3378860fb82SDavid Daney 		uint32_t lbasez:28;
3388860fb82SDavid Daney 		uint32_t pf:1;
3398860fb82SDavid Daney 		uint32_t typ:2;
3408860fb82SDavid Daney 		uint32_t mspc:1;
341*c5aa59e8SDavid Daney #else
342*c5aa59e8SDavid Daney 		uint32_t mspc:1;
343*c5aa59e8SDavid Daney 		uint32_t typ:2;
344*c5aa59e8SDavid Daney 		uint32_t pf:1;
345*c5aa59e8SDavid Daney 		uint32_t lbasez:28;
346*c5aa59e8SDavid Daney #endif
3478860fb82SDavid Daney 	} s;
3488860fb82SDavid Daney };
3498860fb82SDavid Daney 
3508860fb82SDavid Daney union cvmx_pci_cfg09 {
3518860fb82SDavid Daney 	uint32_t u32;
3528860fb82SDavid Daney 	struct cvmx_pci_cfg09_s {
353*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3548860fb82SDavid Daney 		uint32_t hbase:25;
3558860fb82SDavid Daney 		uint32_t hbasez:7;
356*c5aa59e8SDavid Daney #else
357*c5aa59e8SDavid Daney 		uint32_t hbasez:7;
358*c5aa59e8SDavid Daney 		uint32_t hbase:25;
359*c5aa59e8SDavid Daney #endif
3608860fb82SDavid Daney 	} s;
3618860fb82SDavid Daney };
3628860fb82SDavid Daney 
3638860fb82SDavid Daney union cvmx_pci_cfg10 {
3648860fb82SDavid Daney 	uint32_t u32;
3658860fb82SDavid Daney 	struct cvmx_pci_cfg10_s {
366*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3678860fb82SDavid Daney 		uint32_t cisp:32;
368*c5aa59e8SDavid Daney #else
369*c5aa59e8SDavid Daney 		uint32_t cisp:32;
370*c5aa59e8SDavid Daney #endif
3718860fb82SDavid Daney 	} s;
3728860fb82SDavid Daney };
3738860fb82SDavid Daney 
3748860fb82SDavid Daney union cvmx_pci_cfg11 {
3758860fb82SDavid Daney 	uint32_t u32;
3768860fb82SDavid Daney 	struct cvmx_pci_cfg11_s {
377*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3788860fb82SDavid Daney 		uint32_t ssid:16;
3798860fb82SDavid Daney 		uint32_t ssvid:16;
380*c5aa59e8SDavid Daney #else
381*c5aa59e8SDavid Daney 		uint32_t ssvid:16;
382*c5aa59e8SDavid Daney 		uint32_t ssid:16;
383*c5aa59e8SDavid Daney #endif
3848860fb82SDavid Daney 	} s;
3858860fb82SDavid Daney };
3868860fb82SDavid Daney 
3878860fb82SDavid Daney union cvmx_pci_cfg12 {
3888860fb82SDavid Daney 	uint32_t u32;
3898860fb82SDavid Daney 	struct cvmx_pci_cfg12_s {
390*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3918860fb82SDavid Daney 		uint32_t erbar:16;
3928860fb82SDavid Daney 		uint32_t erbarz:5;
3938860fb82SDavid Daney 		uint32_t reserved_1_10:10;
3948860fb82SDavid Daney 		uint32_t erbar_en:1;
395*c5aa59e8SDavid Daney #else
396*c5aa59e8SDavid Daney 		uint32_t erbar_en:1;
397*c5aa59e8SDavid Daney 		uint32_t reserved_1_10:10;
398*c5aa59e8SDavid Daney 		uint32_t erbarz:5;
399*c5aa59e8SDavid Daney 		uint32_t erbar:16;
400*c5aa59e8SDavid Daney #endif
4018860fb82SDavid Daney 	} s;
4028860fb82SDavid Daney };
4038860fb82SDavid Daney 
4048860fb82SDavid Daney union cvmx_pci_cfg13 {
4058860fb82SDavid Daney 	uint32_t u32;
4068860fb82SDavid Daney 	struct cvmx_pci_cfg13_s {
407*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4088860fb82SDavid Daney 		uint32_t reserved_8_31:24;
4098860fb82SDavid Daney 		uint32_t cp:8;
410*c5aa59e8SDavid Daney #else
411*c5aa59e8SDavid Daney 		uint32_t cp:8;
412*c5aa59e8SDavid Daney 		uint32_t reserved_8_31:24;
413*c5aa59e8SDavid Daney #endif
4148860fb82SDavid Daney 	} s;
4158860fb82SDavid Daney };
4168860fb82SDavid Daney 
4178860fb82SDavid Daney union cvmx_pci_cfg15 {
4188860fb82SDavid Daney 	uint32_t u32;
4198860fb82SDavid Daney 	struct cvmx_pci_cfg15_s {
420*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4218860fb82SDavid Daney 		uint32_t ml:8;
4228860fb82SDavid Daney 		uint32_t mg:8;
4238860fb82SDavid Daney 		uint32_t inta:8;
4248860fb82SDavid Daney 		uint32_t il:8;
425*c5aa59e8SDavid Daney #else
426*c5aa59e8SDavid Daney 		uint32_t il:8;
427*c5aa59e8SDavid Daney 		uint32_t inta:8;
428*c5aa59e8SDavid Daney 		uint32_t mg:8;
429*c5aa59e8SDavid Daney 		uint32_t ml:8;
430*c5aa59e8SDavid Daney #endif
4318860fb82SDavid Daney 	} s;
4328860fb82SDavid Daney };
4338860fb82SDavid Daney 
4348860fb82SDavid Daney union cvmx_pci_cfg16 {
4358860fb82SDavid Daney 	uint32_t u32;
4368860fb82SDavid Daney 	struct cvmx_pci_cfg16_s {
437*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4388860fb82SDavid Daney 		uint32_t trdnpr:1;
4398860fb82SDavid Daney 		uint32_t trdard:1;
4408860fb82SDavid Daney 		uint32_t rdsati:1;
4418860fb82SDavid Daney 		uint32_t trdrs:1;
4428860fb82SDavid Daney 		uint32_t trtae:1;
4438860fb82SDavid Daney 		uint32_t twsei:1;
4448860fb82SDavid Daney 		uint32_t twsen:1;
4458860fb82SDavid Daney 		uint32_t twtae:1;
4468860fb82SDavid Daney 		uint32_t tmae:1;
4478860fb82SDavid Daney 		uint32_t tslte:3;
4488860fb82SDavid Daney 		uint32_t tilt:4;
4498860fb82SDavid Daney 		uint32_t pbe:12;
4508860fb82SDavid Daney 		uint32_t dppmr:1;
4518860fb82SDavid Daney 		uint32_t reserved_2_2:1;
4528860fb82SDavid Daney 		uint32_t tswc:1;
4538860fb82SDavid Daney 		uint32_t mltd:1;
454*c5aa59e8SDavid Daney #else
455*c5aa59e8SDavid Daney 		uint32_t mltd:1;
456*c5aa59e8SDavid Daney 		uint32_t tswc:1;
457*c5aa59e8SDavid Daney 		uint32_t reserved_2_2:1;
458*c5aa59e8SDavid Daney 		uint32_t dppmr:1;
459*c5aa59e8SDavid Daney 		uint32_t pbe:12;
460*c5aa59e8SDavid Daney 		uint32_t tilt:4;
461*c5aa59e8SDavid Daney 		uint32_t tslte:3;
462*c5aa59e8SDavid Daney 		uint32_t tmae:1;
463*c5aa59e8SDavid Daney 		uint32_t twtae:1;
464*c5aa59e8SDavid Daney 		uint32_t twsen:1;
465*c5aa59e8SDavid Daney 		uint32_t twsei:1;
466*c5aa59e8SDavid Daney 		uint32_t trtae:1;
467*c5aa59e8SDavid Daney 		uint32_t trdrs:1;
468*c5aa59e8SDavid Daney 		uint32_t rdsati:1;
469*c5aa59e8SDavid Daney 		uint32_t trdard:1;
470*c5aa59e8SDavid Daney 		uint32_t trdnpr:1;
471*c5aa59e8SDavid Daney #endif
4728860fb82SDavid Daney 	} s;
4738860fb82SDavid Daney };
4748860fb82SDavid Daney 
4758860fb82SDavid Daney union cvmx_pci_cfg17 {
4768860fb82SDavid Daney 	uint32_t u32;
4778860fb82SDavid Daney 	struct cvmx_pci_cfg17_s {
478*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4798860fb82SDavid Daney 		uint32_t tscme:32;
480*c5aa59e8SDavid Daney #else
481*c5aa59e8SDavid Daney 		uint32_t tscme:32;
482*c5aa59e8SDavid Daney #endif
4838860fb82SDavid Daney 	} s;
4848860fb82SDavid Daney };
4858860fb82SDavid Daney 
4868860fb82SDavid Daney union cvmx_pci_cfg18 {
4878860fb82SDavid Daney 	uint32_t u32;
4888860fb82SDavid Daney 	struct cvmx_pci_cfg18_s {
489*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4908860fb82SDavid Daney 		uint32_t tdsrps:32;
491*c5aa59e8SDavid Daney #else
492*c5aa59e8SDavid Daney 		uint32_t tdsrps:32;
493*c5aa59e8SDavid Daney #endif
4948860fb82SDavid Daney 	} s;
4958860fb82SDavid Daney };
4968860fb82SDavid Daney 
4978860fb82SDavid Daney union cvmx_pci_cfg19 {
4988860fb82SDavid Daney 	uint32_t u32;
4998860fb82SDavid Daney 	struct cvmx_pci_cfg19_s {
500*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
5018860fb82SDavid Daney 		uint32_t mrbcm:1;
5028860fb82SDavid Daney 		uint32_t mrbci:1;
5038860fb82SDavid Daney 		uint32_t mdwe:1;
5048860fb82SDavid Daney 		uint32_t mdre:1;
5058860fb82SDavid Daney 		uint32_t mdrimc:1;
5068860fb82SDavid Daney 		uint32_t mdrrmc:3;
5078860fb82SDavid Daney 		uint32_t tmes:8;
5088860fb82SDavid Daney 		uint32_t teci:1;
5098860fb82SDavid Daney 		uint32_t tmei:1;
5108860fb82SDavid Daney 		uint32_t tmse:1;
5118860fb82SDavid Daney 		uint32_t tmdpes:1;
5128860fb82SDavid Daney 		uint32_t tmapes:1;
5138860fb82SDavid Daney 		uint32_t reserved_9_10:2;
5148860fb82SDavid Daney 		uint32_t tibcd:1;
5158860fb82SDavid Daney 		uint32_t tibde:1;
5168860fb82SDavid Daney 		uint32_t reserved_6_6:1;
5178860fb82SDavid Daney 		uint32_t tidomc:1;
5188860fb82SDavid Daney 		uint32_t tdomc:5;
519*c5aa59e8SDavid Daney #else
520*c5aa59e8SDavid Daney 		uint32_t tdomc:5;
521*c5aa59e8SDavid Daney 		uint32_t tidomc:1;
522*c5aa59e8SDavid Daney 		uint32_t reserved_6_6:1;
523*c5aa59e8SDavid Daney 		uint32_t tibde:1;
524*c5aa59e8SDavid Daney 		uint32_t tibcd:1;
525*c5aa59e8SDavid Daney 		uint32_t reserved_9_10:2;
526*c5aa59e8SDavid Daney 		uint32_t tmapes:1;
527*c5aa59e8SDavid Daney 		uint32_t tmdpes:1;
528*c5aa59e8SDavid Daney 		uint32_t tmse:1;
529*c5aa59e8SDavid Daney 		uint32_t tmei:1;
530*c5aa59e8SDavid Daney 		uint32_t teci:1;
531*c5aa59e8SDavid Daney 		uint32_t tmes:8;
532*c5aa59e8SDavid Daney 		uint32_t mdrrmc:3;
533*c5aa59e8SDavid Daney 		uint32_t mdrimc:1;
534*c5aa59e8SDavid Daney 		uint32_t mdre:1;
535*c5aa59e8SDavid Daney 		uint32_t mdwe:1;
536*c5aa59e8SDavid Daney 		uint32_t mrbci:1;
537*c5aa59e8SDavid Daney 		uint32_t mrbcm:1;
538*c5aa59e8SDavid Daney #endif
5398860fb82SDavid Daney 	} s;
5408860fb82SDavid Daney };
5418860fb82SDavid Daney 
5428860fb82SDavid Daney union cvmx_pci_cfg20 {
5438860fb82SDavid Daney 	uint32_t u32;
5448860fb82SDavid Daney 	struct cvmx_pci_cfg20_s {
545*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
5468860fb82SDavid Daney 		uint32_t mdsp:32;
547*c5aa59e8SDavid Daney #else
548*c5aa59e8SDavid Daney 		uint32_t mdsp:32;
549*c5aa59e8SDavid Daney #endif
5508860fb82SDavid Daney 	} s;
5518860fb82SDavid Daney };
5528860fb82SDavid Daney 
5538860fb82SDavid Daney union cvmx_pci_cfg21 {
5548860fb82SDavid Daney 	uint32_t u32;
5558860fb82SDavid Daney 	struct cvmx_pci_cfg21_s {
556*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
5578860fb82SDavid Daney 		uint32_t scmre:32;
558*c5aa59e8SDavid Daney #else
559*c5aa59e8SDavid Daney 		uint32_t scmre:32;
560*c5aa59e8SDavid Daney #endif
5618860fb82SDavid Daney 	} s;
5628860fb82SDavid Daney };
5638860fb82SDavid Daney 
5648860fb82SDavid Daney union cvmx_pci_cfg22 {
5658860fb82SDavid Daney 	uint32_t u32;
5668860fb82SDavid Daney 	struct cvmx_pci_cfg22_s {
567*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
5688860fb82SDavid Daney 		uint32_t mac:7;
5698860fb82SDavid Daney 		uint32_t reserved_19_24:6;
5708860fb82SDavid Daney 		uint32_t flush:1;
5718860fb82SDavid Daney 		uint32_t mra:1;
5728860fb82SDavid Daney 		uint32_t mtta:1;
5738860fb82SDavid Daney 		uint32_t mrv:8;
5748860fb82SDavid Daney 		uint32_t mttv:8;
575*c5aa59e8SDavid Daney #else
576*c5aa59e8SDavid Daney 		uint32_t mttv:8;
577*c5aa59e8SDavid Daney 		uint32_t mrv:8;
578*c5aa59e8SDavid Daney 		uint32_t mtta:1;
579*c5aa59e8SDavid Daney 		uint32_t mra:1;
580*c5aa59e8SDavid Daney 		uint32_t flush:1;
581*c5aa59e8SDavid Daney 		uint32_t reserved_19_24:6;
582*c5aa59e8SDavid Daney 		uint32_t mac:7;
583*c5aa59e8SDavid Daney #endif
5848860fb82SDavid Daney 	} s;
5858860fb82SDavid Daney };
5868860fb82SDavid Daney 
5878860fb82SDavid Daney union cvmx_pci_cfg56 {
5888860fb82SDavid Daney 	uint32_t u32;
5898860fb82SDavid Daney 	struct cvmx_pci_cfg56_s {
590*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
5918860fb82SDavid Daney 		uint32_t reserved_23_31:9;
5928860fb82SDavid Daney 		uint32_t most:3;
5938860fb82SDavid Daney 		uint32_t mmbc:2;
5948860fb82SDavid Daney 		uint32_t roe:1;
5958860fb82SDavid Daney 		uint32_t dpere:1;
5968860fb82SDavid Daney 		uint32_t ncp:8;
5978860fb82SDavid Daney 		uint32_t pxcid:8;
598*c5aa59e8SDavid Daney #else
599*c5aa59e8SDavid Daney 		uint32_t pxcid:8;
600*c5aa59e8SDavid Daney 		uint32_t ncp:8;
601*c5aa59e8SDavid Daney 		uint32_t dpere:1;
602*c5aa59e8SDavid Daney 		uint32_t roe:1;
603*c5aa59e8SDavid Daney 		uint32_t mmbc:2;
604*c5aa59e8SDavid Daney 		uint32_t most:3;
605*c5aa59e8SDavid Daney 		uint32_t reserved_23_31:9;
606*c5aa59e8SDavid Daney #endif
6078860fb82SDavid Daney 	} s;
6088860fb82SDavid Daney };
6098860fb82SDavid Daney 
6108860fb82SDavid Daney union cvmx_pci_cfg57 {
6118860fb82SDavid Daney 	uint32_t u32;
6128860fb82SDavid Daney 	struct cvmx_pci_cfg57_s {
613*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
6148860fb82SDavid Daney 		uint32_t reserved_30_31:2;
6158860fb82SDavid Daney 		uint32_t scemr:1;
6168860fb82SDavid Daney 		uint32_t mcrsd:3;
6178860fb82SDavid Daney 		uint32_t mostd:3;
6188860fb82SDavid Daney 		uint32_t mmrbcd:2;
6198860fb82SDavid Daney 		uint32_t dc:1;
6208860fb82SDavid Daney 		uint32_t usc:1;
6218860fb82SDavid Daney 		uint32_t scd:1;
6228860fb82SDavid Daney 		uint32_t m133:1;
6238860fb82SDavid Daney 		uint32_t w64:1;
6248860fb82SDavid Daney 		uint32_t bn:8;
6258860fb82SDavid Daney 		uint32_t dn:5;
6268860fb82SDavid Daney 		uint32_t fn:3;
627*c5aa59e8SDavid Daney #else
628*c5aa59e8SDavid Daney 		uint32_t fn:3;
629*c5aa59e8SDavid Daney 		uint32_t dn:5;
630*c5aa59e8SDavid Daney 		uint32_t bn:8;
631*c5aa59e8SDavid Daney 		uint32_t w64:1;
632*c5aa59e8SDavid Daney 		uint32_t m133:1;
633*c5aa59e8SDavid Daney 		uint32_t scd:1;
634*c5aa59e8SDavid Daney 		uint32_t usc:1;
635*c5aa59e8SDavid Daney 		uint32_t dc:1;
636*c5aa59e8SDavid Daney 		uint32_t mmrbcd:2;
637*c5aa59e8SDavid Daney 		uint32_t mostd:3;
638*c5aa59e8SDavid Daney 		uint32_t mcrsd:3;
639*c5aa59e8SDavid Daney 		uint32_t scemr:1;
640*c5aa59e8SDavid Daney 		uint32_t reserved_30_31:2;
641*c5aa59e8SDavid Daney #endif
6428860fb82SDavid Daney 	} s;
6438860fb82SDavid Daney };
6448860fb82SDavid Daney 
6458860fb82SDavid Daney union cvmx_pci_cfg58 {
6468860fb82SDavid Daney 	uint32_t u32;
6478860fb82SDavid Daney 	struct cvmx_pci_cfg58_s {
648*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
6498860fb82SDavid Daney 		uint32_t pmes:5;
6508860fb82SDavid Daney 		uint32_t d2s:1;
6518860fb82SDavid Daney 		uint32_t d1s:1;
6528860fb82SDavid Daney 		uint32_t auxc:3;
6538860fb82SDavid Daney 		uint32_t dsi:1;
6548860fb82SDavid Daney 		uint32_t reserved_20_20:1;
6558860fb82SDavid Daney 		uint32_t pmec:1;
6568860fb82SDavid Daney 		uint32_t pcimiv:3;
6578860fb82SDavid Daney 		uint32_t ncp:8;
6588860fb82SDavid Daney 		uint32_t pmcid:8;
659*c5aa59e8SDavid Daney #else
660*c5aa59e8SDavid Daney 		uint32_t pmcid:8;
661*c5aa59e8SDavid Daney 		uint32_t ncp:8;
662*c5aa59e8SDavid Daney 		uint32_t pcimiv:3;
663*c5aa59e8SDavid Daney 		uint32_t pmec:1;
664*c5aa59e8SDavid Daney 		uint32_t reserved_20_20:1;
665*c5aa59e8SDavid Daney 		uint32_t dsi:1;
666*c5aa59e8SDavid Daney 		uint32_t auxc:3;
667*c5aa59e8SDavid Daney 		uint32_t d1s:1;
668*c5aa59e8SDavid Daney 		uint32_t d2s:1;
669*c5aa59e8SDavid Daney 		uint32_t pmes:5;
670*c5aa59e8SDavid Daney #endif
6718860fb82SDavid Daney 	} s;
6728860fb82SDavid Daney };
6738860fb82SDavid Daney 
6748860fb82SDavid Daney union cvmx_pci_cfg59 {
6758860fb82SDavid Daney 	uint32_t u32;
6768860fb82SDavid Daney 	struct cvmx_pci_cfg59_s {
677*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
6788860fb82SDavid Daney 		uint32_t pmdia:8;
6798860fb82SDavid Daney 		uint32_t bpccen:1;
6808860fb82SDavid Daney 		uint32_t bd3h:1;
6818860fb82SDavid Daney 		uint32_t reserved_16_21:6;
6828860fb82SDavid Daney 		uint32_t pmess:1;
6838860fb82SDavid Daney 		uint32_t pmedsia:2;
6848860fb82SDavid Daney 		uint32_t pmds:4;
6858860fb82SDavid Daney 		uint32_t pmeens:1;
6868860fb82SDavid Daney 		uint32_t reserved_2_7:6;
6878860fb82SDavid Daney 		uint32_t ps:2;
688*c5aa59e8SDavid Daney #else
689*c5aa59e8SDavid Daney 		uint32_t ps:2;
690*c5aa59e8SDavid Daney 		uint32_t reserved_2_7:6;
691*c5aa59e8SDavid Daney 		uint32_t pmeens:1;
692*c5aa59e8SDavid Daney 		uint32_t pmds:4;
693*c5aa59e8SDavid Daney 		uint32_t pmedsia:2;
694*c5aa59e8SDavid Daney 		uint32_t pmess:1;
695*c5aa59e8SDavid Daney 		uint32_t reserved_16_21:6;
696*c5aa59e8SDavid Daney 		uint32_t bd3h:1;
697*c5aa59e8SDavid Daney 		uint32_t bpccen:1;
698*c5aa59e8SDavid Daney 		uint32_t pmdia:8;
699*c5aa59e8SDavid Daney #endif
7008860fb82SDavid Daney 	} s;
7018860fb82SDavid Daney };
7028860fb82SDavid Daney 
7038860fb82SDavid Daney union cvmx_pci_cfg60 {
7048860fb82SDavid Daney 	uint32_t u32;
7058860fb82SDavid Daney 	struct cvmx_pci_cfg60_s {
706*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7078860fb82SDavid Daney 		uint32_t reserved_24_31:8;
7088860fb82SDavid Daney 		uint32_t m64:1;
7098860fb82SDavid Daney 		uint32_t mme:3;
7108860fb82SDavid Daney 		uint32_t mmc:3;
7118860fb82SDavid Daney 		uint32_t msien:1;
7128860fb82SDavid Daney 		uint32_t ncp:8;
7138860fb82SDavid Daney 		uint32_t msicid:8;
714*c5aa59e8SDavid Daney #else
715*c5aa59e8SDavid Daney 		uint32_t msicid:8;
716*c5aa59e8SDavid Daney 		uint32_t ncp:8;
717*c5aa59e8SDavid Daney 		uint32_t msien:1;
718*c5aa59e8SDavid Daney 		uint32_t mmc:3;
719*c5aa59e8SDavid Daney 		uint32_t mme:3;
720*c5aa59e8SDavid Daney 		uint32_t m64:1;
721*c5aa59e8SDavid Daney 		uint32_t reserved_24_31:8;
722*c5aa59e8SDavid Daney #endif
7238860fb82SDavid Daney 	} s;
7248860fb82SDavid Daney };
7258860fb82SDavid Daney 
7268860fb82SDavid Daney union cvmx_pci_cfg61 {
7278860fb82SDavid Daney 	uint32_t u32;
7288860fb82SDavid Daney 	struct cvmx_pci_cfg61_s {
729*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7308860fb82SDavid Daney 		uint32_t msi31t2:30;
7318860fb82SDavid Daney 		uint32_t reserved_0_1:2;
732*c5aa59e8SDavid Daney #else
733*c5aa59e8SDavid Daney 		uint32_t reserved_0_1:2;
734*c5aa59e8SDavid Daney 		uint32_t msi31t2:30;
735*c5aa59e8SDavid Daney #endif
7368860fb82SDavid Daney 	} s;
7378860fb82SDavid Daney };
7388860fb82SDavid Daney 
7398860fb82SDavid Daney union cvmx_pci_cfg62 {
7408860fb82SDavid Daney 	uint32_t u32;
7418860fb82SDavid Daney 	struct cvmx_pci_cfg62_s {
742*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7438860fb82SDavid Daney 		uint32_t msi:32;
744*c5aa59e8SDavid Daney #else
745*c5aa59e8SDavid Daney 		uint32_t msi:32;
746*c5aa59e8SDavid Daney #endif
7478860fb82SDavid Daney 	} s;
7488860fb82SDavid Daney };
7498860fb82SDavid Daney 
7508860fb82SDavid Daney union cvmx_pci_cfg63 {
7518860fb82SDavid Daney 	uint32_t u32;
7528860fb82SDavid Daney 	struct cvmx_pci_cfg63_s {
753*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7548860fb82SDavid Daney 		uint32_t reserved_16_31:16;
7558860fb82SDavid Daney 		uint32_t msimd:16;
756*c5aa59e8SDavid Daney #else
757*c5aa59e8SDavid Daney 		uint32_t msimd:16;
758*c5aa59e8SDavid Daney 		uint32_t reserved_16_31:16;
759*c5aa59e8SDavid Daney #endif
7608860fb82SDavid Daney 	} s;
7618860fb82SDavid Daney };
7628860fb82SDavid Daney 
7638860fb82SDavid Daney union cvmx_pci_cnt_reg {
7648860fb82SDavid Daney 	uint64_t u64;
7658860fb82SDavid Daney 	struct cvmx_pci_cnt_reg_s {
766*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7678860fb82SDavid Daney 		uint64_t reserved_38_63:26;
7688860fb82SDavid Daney 		uint64_t hm_pcix:1;
7698860fb82SDavid Daney 		uint64_t hm_speed:2;
7708860fb82SDavid Daney 		uint64_t ap_pcix:1;
7718860fb82SDavid Daney 		uint64_t ap_speed:2;
7728860fb82SDavid Daney 		uint64_t pcicnt:32;
773*c5aa59e8SDavid Daney #else
774*c5aa59e8SDavid Daney 		uint64_t pcicnt:32;
775*c5aa59e8SDavid Daney 		uint64_t ap_speed:2;
776*c5aa59e8SDavid Daney 		uint64_t ap_pcix:1;
777*c5aa59e8SDavid Daney 		uint64_t hm_speed:2;
778*c5aa59e8SDavid Daney 		uint64_t hm_pcix:1;
779*c5aa59e8SDavid Daney 		uint64_t reserved_38_63:26;
780*c5aa59e8SDavid Daney #endif
7818860fb82SDavid Daney 	} s;
7828860fb82SDavid Daney };
7838860fb82SDavid Daney 
7848860fb82SDavid Daney union cvmx_pci_ctl_status_2 {
7858860fb82SDavid Daney 	uint32_t u32;
7868860fb82SDavid Daney 	struct cvmx_pci_ctl_status_2_s {
787*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7888860fb82SDavid Daney 		uint32_t reserved_29_31:3;
7898860fb82SDavid Daney 		uint32_t bb1_hole:3;
7908860fb82SDavid Daney 		uint32_t bb1_siz:1;
7918860fb82SDavid Daney 		uint32_t bb_ca:1;
7928860fb82SDavid Daney 		uint32_t bb_es:2;
7938860fb82SDavid Daney 		uint32_t bb1:1;
7948860fb82SDavid Daney 		uint32_t bb0:1;
7958860fb82SDavid Daney 		uint32_t erst_n:1;
7968860fb82SDavid Daney 		uint32_t bar2pres:1;
7978860fb82SDavid Daney 		uint32_t scmtyp:1;
7988860fb82SDavid Daney 		uint32_t scm:1;
7998860fb82SDavid Daney 		uint32_t en_wfilt:1;
8008860fb82SDavid Daney 		uint32_t reserved_14_14:1;
8018860fb82SDavid Daney 		uint32_t ap_pcix:1;
8028860fb82SDavid Daney 		uint32_t ap_64ad:1;
8038860fb82SDavid Daney 		uint32_t b12_bist:1;
8048860fb82SDavid Daney 		uint32_t pmo_amod:1;
8058860fb82SDavid Daney 		uint32_t pmo_fpc:3;
8068860fb82SDavid Daney 		uint32_t tsr_hwm:3;
8078860fb82SDavid Daney 		uint32_t bar2_enb:1;
8088860fb82SDavid Daney 		uint32_t bar2_esx:2;
8098860fb82SDavid Daney 		uint32_t bar2_cax:1;
810*c5aa59e8SDavid Daney #else
811*c5aa59e8SDavid Daney 		uint32_t bar2_cax:1;
812*c5aa59e8SDavid Daney 		uint32_t bar2_esx:2;
813*c5aa59e8SDavid Daney 		uint32_t bar2_enb:1;
814*c5aa59e8SDavid Daney 		uint32_t tsr_hwm:3;
815*c5aa59e8SDavid Daney 		uint32_t pmo_fpc:3;
816*c5aa59e8SDavid Daney 		uint32_t pmo_amod:1;
817*c5aa59e8SDavid Daney 		uint32_t b12_bist:1;
818*c5aa59e8SDavid Daney 		uint32_t ap_64ad:1;
819*c5aa59e8SDavid Daney 		uint32_t ap_pcix:1;
820*c5aa59e8SDavid Daney 		uint32_t reserved_14_14:1;
821*c5aa59e8SDavid Daney 		uint32_t en_wfilt:1;
822*c5aa59e8SDavid Daney 		uint32_t scm:1;
823*c5aa59e8SDavid Daney 		uint32_t scmtyp:1;
824*c5aa59e8SDavid Daney 		uint32_t bar2pres:1;
825*c5aa59e8SDavid Daney 		uint32_t erst_n:1;
826*c5aa59e8SDavid Daney 		uint32_t bb0:1;
827*c5aa59e8SDavid Daney 		uint32_t bb1:1;
828*c5aa59e8SDavid Daney 		uint32_t bb_es:2;
829*c5aa59e8SDavid Daney 		uint32_t bb_ca:1;
830*c5aa59e8SDavid Daney 		uint32_t bb1_siz:1;
831*c5aa59e8SDavid Daney 		uint32_t bb1_hole:3;
832*c5aa59e8SDavid Daney 		uint32_t reserved_29_31:3;
833*c5aa59e8SDavid Daney #endif
8348860fb82SDavid Daney 	} s;
8358860fb82SDavid Daney 	struct cvmx_pci_ctl_status_2_cn31xx {
836*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
8378860fb82SDavid Daney 		uint32_t reserved_20_31:12;
8388860fb82SDavid Daney 		uint32_t erst_n:1;
8398860fb82SDavid Daney 		uint32_t bar2pres:1;
8408860fb82SDavid Daney 		uint32_t scmtyp:1;
8418860fb82SDavid Daney 		uint32_t scm:1;
8428860fb82SDavid Daney 		uint32_t en_wfilt:1;
8438860fb82SDavid Daney 		uint32_t reserved_14_14:1;
8448860fb82SDavid Daney 		uint32_t ap_pcix:1;
8458860fb82SDavid Daney 		uint32_t ap_64ad:1;
8468860fb82SDavid Daney 		uint32_t b12_bist:1;
8478860fb82SDavid Daney 		uint32_t pmo_amod:1;
8488860fb82SDavid Daney 		uint32_t pmo_fpc:3;
8498860fb82SDavid Daney 		uint32_t tsr_hwm:3;
8508860fb82SDavid Daney 		uint32_t bar2_enb:1;
8518860fb82SDavid Daney 		uint32_t bar2_esx:2;
8528860fb82SDavid Daney 		uint32_t bar2_cax:1;
853*c5aa59e8SDavid Daney #else
854*c5aa59e8SDavid Daney 		uint32_t bar2_cax:1;
855*c5aa59e8SDavid Daney 		uint32_t bar2_esx:2;
856*c5aa59e8SDavid Daney 		uint32_t bar2_enb:1;
857*c5aa59e8SDavid Daney 		uint32_t tsr_hwm:3;
858*c5aa59e8SDavid Daney 		uint32_t pmo_fpc:3;
859*c5aa59e8SDavid Daney 		uint32_t pmo_amod:1;
860*c5aa59e8SDavid Daney 		uint32_t b12_bist:1;
861*c5aa59e8SDavid Daney 		uint32_t ap_64ad:1;
862*c5aa59e8SDavid Daney 		uint32_t ap_pcix:1;
863*c5aa59e8SDavid Daney 		uint32_t reserved_14_14:1;
864*c5aa59e8SDavid Daney 		uint32_t en_wfilt:1;
865*c5aa59e8SDavid Daney 		uint32_t scm:1;
866*c5aa59e8SDavid Daney 		uint32_t scmtyp:1;
867*c5aa59e8SDavid Daney 		uint32_t bar2pres:1;
868*c5aa59e8SDavid Daney 		uint32_t erst_n:1;
869*c5aa59e8SDavid Daney 		uint32_t reserved_20_31:12;
870*c5aa59e8SDavid Daney #endif
8718860fb82SDavid Daney 	} cn31xx;
8728860fb82SDavid Daney };
8738860fb82SDavid Daney 
8748860fb82SDavid Daney union cvmx_pci_dbellx {
8758860fb82SDavid Daney 	uint32_t u32;
8768860fb82SDavid Daney 	struct cvmx_pci_dbellx_s {
877*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
8788860fb82SDavid Daney 		uint32_t reserved_16_31:16;
8798860fb82SDavid Daney 		uint32_t inc_val:16;
880*c5aa59e8SDavid Daney #else
881*c5aa59e8SDavid Daney 		uint32_t inc_val:16;
882*c5aa59e8SDavid Daney 		uint32_t reserved_16_31:16;
883*c5aa59e8SDavid Daney #endif
8848860fb82SDavid Daney 	} s;
8858860fb82SDavid Daney };
8868860fb82SDavid Daney 
8878860fb82SDavid Daney union cvmx_pci_dma_cntx {
8888860fb82SDavid Daney 	uint32_t u32;
8898860fb82SDavid Daney 	struct cvmx_pci_dma_cntx_s {
890*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
8918860fb82SDavid Daney 		uint32_t dma_cnt:32;
892*c5aa59e8SDavid Daney #else
893*c5aa59e8SDavid Daney 		uint32_t dma_cnt:32;
894*c5aa59e8SDavid Daney #endif
8958860fb82SDavid Daney 	} s;
8968860fb82SDavid Daney };
8978860fb82SDavid Daney 
8988860fb82SDavid Daney union cvmx_pci_dma_int_levx {
8998860fb82SDavid Daney 	uint32_t u32;
9008860fb82SDavid Daney 	struct cvmx_pci_dma_int_levx_s {
901*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
9028860fb82SDavid Daney 		uint32_t pkt_cnt:32;
903*c5aa59e8SDavid Daney #else
904*c5aa59e8SDavid Daney 		uint32_t pkt_cnt:32;
905*c5aa59e8SDavid Daney #endif
9068860fb82SDavid Daney 	} s;
9078860fb82SDavid Daney };
9088860fb82SDavid Daney 
9098860fb82SDavid Daney union cvmx_pci_dma_timex {
9108860fb82SDavid Daney 	uint32_t u32;
9118860fb82SDavid Daney 	struct cvmx_pci_dma_timex_s {
912*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
9138860fb82SDavid Daney 		uint32_t dma_time:32;
914*c5aa59e8SDavid Daney #else
915*c5aa59e8SDavid Daney 		uint32_t dma_time:32;
916*c5aa59e8SDavid Daney #endif
9178860fb82SDavid Daney 	} s;
9188860fb82SDavid Daney };
9198860fb82SDavid Daney 
9208860fb82SDavid Daney union cvmx_pci_instr_countx {
9218860fb82SDavid Daney 	uint32_t u32;
9228860fb82SDavid Daney 	struct cvmx_pci_instr_countx_s {
923*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
9248860fb82SDavid Daney 		uint32_t icnt:32;
925*c5aa59e8SDavid Daney #else
926*c5aa59e8SDavid Daney 		uint32_t icnt:32;
927*c5aa59e8SDavid Daney #endif
9288860fb82SDavid Daney 	} s;
9298860fb82SDavid Daney };
9308860fb82SDavid Daney 
9318860fb82SDavid Daney union cvmx_pci_int_enb {
9328860fb82SDavid Daney 	uint64_t u64;
9338860fb82SDavid Daney 	struct cvmx_pci_int_enb_s {
934*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
9358860fb82SDavid Daney 		uint64_t reserved_34_63:30;
9368860fb82SDavid Daney 		uint64_t ill_rd:1;
9378860fb82SDavid Daney 		uint64_t ill_wr:1;
9388860fb82SDavid Daney 		uint64_t win_wr:1;
9398860fb82SDavid Daney 		uint64_t dma1_fi:1;
9408860fb82SDavid Daney 		uint64_t dma0_fi:1;
9418860fb82SDavid Daney 		uint64_t idtime1:1;
9428860fb82SDavid Daney 		uint64_t idtime0:1;
9438860fb82SDavid Daney 		uint64_t idcnt1:1;
9448860fb82SDavid Daney 		uint64_t idcnt0:1;
9458860fb82SDavid Daney 		uint64_t iptime3:1;
9468860fb82SDavid Daney 		uint64_t iptime2:1;
9478860fb82SDavid Daney 		uint64_t iptime1:1;
9488860fb82SDavid Daney 		uint64_t iptime0:1;
9498860fb82SDavid Daney 		uint64_t ipcnt3:1;
9508860fb82SDavid Daney 		uint64_t ipcnt2:1;
9518860fb82SDavid Daney 		uint64_t ipcnt1:1;
9528860fb82SDavid Daney 		uint64_t ipcnt0:1;
9538860fb82SDavid Daney 		uint64_t irsl_int:1;
9548860fb82SDavid Daney 		uint64_t ill_rrd:1;
9558860fb82SDavid Daney 		uint64_t ill_rwr:1;
9568860fb82SDavid Daney 		uint64_t idperr:1;
9578860fb82SDavid Daney 		uint64_t iaperr:1;
9588860fb82SDavid Daney 		uint64_t iserr:1;
9598860fb82SDavid Daney 		uint64_t itsr_abt:1;
9608860fb82SDavid Daney 		uint64_t imsc_msg:1;
9618860fb82SDavid Daney 		uint64_t imsi_mabt:1;
9628860fb82SDavid Daney 		uint64_t imsi_tabt:1;
9638860fb82SDavid Daney 		uint64_t imsi_per:1;
9648860fb82SDavid Daney 		uint64_t imr_tto:1;
9658860fb82SDavid Daney 		uint64_t imr_abt:1;
9668860fb82SDavid Daney 		uint64_t itr_abt:1;
9678860fb82SDavid Daney 		uint64_t imr_wtto:1;
9688860fb82SDavid Daney 		uint64_t imr_wabt:1;
9698860fb82SDavid Daney 		uint64_t itr_wabt:1;
970*c5aa59e8SDavid Daney #else
971*c5aa59e8SDavid Daney 		uint64_t itr_wabt:1;
972*c5aa59e8SDavid Daney 		uint64_t imr_wabt:1;
973*c5aa59e8SDavid Daney 		uint64_t imr_wtto:1;
974*c5aa59e8SDavid Daney 		uint64_t itr_abt:1;
975*c5aa59e8SDavid Daney 		uint64_t imr_abt:1;
976*c5aa59e8SDavid Daney 		uint64_t imr_tto:1;
977*c5aa59e8SDavid Daney 		uint64_t imsi_per:1;
978*c5aa59e8SDavid Daney 		uint64_t imsi_tabt:1;
979*c5aa59e8SDavid Daney 		uint64_t imsi_mabt:1;
980*c5aa59e8SDavid Daney 		uint64_t imsc_msg:1;
981*c5aa59e8SDavid Daney 		uint64_t itsr_abt:1;
982*c5aa59e8SDavid Daney 		uint64_t iserr:1;
983*c5aa59e8SDavid Daney 		uint64_t iaperr:1;
984*c5aa59e8SDavid Daney 		uint64_t idperr:1;
985*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
986*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
987*c5aa59e8SDavid Daney 		uint64_t irsl_int:1;
988*c5aa59e8SDavid Daney 		uint64_t ipcnt0:1;
989*c5aa59e8SDavid Daney 		uint64_t ipcnt1:1;
990*c5aa59e8SDavid Daney 		uint64_t ipcnt2:1;
991*c5aa59e8SDavid Daney 		uint64_t ipcnt3:1;
992*c5aa59e8SDavid Daney 		uint64_t iptime0:1;
993*c5aa59e8SDavid Daney 		uint64_t iptime1:1;
994*c5aa59e8SDavid Daney 		uint64_t iptime2:1;
995*c5aa59e8SDavid Daney 		uint64_t iptime3:1;
996*c5aa59e8SDavid Daney 		uint64_t idcnt0:1;
997*c5aa59e8SDavid Daney 		uint64_t idcnt1:1;
998*c5aa59e8SDavid Daney 		uint64_t idtime0:1;
999*c5aa59e8SDavid Daney 		uint64_t idtime1:1;
1000*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1001*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1002*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1003*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1004*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1005*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1006*c5aa59e8SDavid Daney #endif
10078860fb82SDavid Daney 	} s;
10088860fb82SDavid Daney 	struct cvmx_pci_int_enb_cn30xx {
1009*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
10108860fb82SDavid Daney 		uint64_t reserved_34_63:30;
10118860fb82SDavid Daney 		uint64_t ill_rd:1;
10128860fb82SDavid Daney 		uint64_t ill_wr:1;
10138860fb82SDavid Daney 		uint64_t win_wr:1;
10148860fb82SDavid Daney 		uint64_t dma1_fi:1;
10158860fb82SDavid Daney 		uint64_t dma0_fi:1;
10168860fb82SDavid Daney 		uint64_t idtime1:1;
10178860fb82SDavid Daney 		uint64_t idtime0:1;
10188860fb82SDavid Daney 		uint64_t idcnt1:1;
10198860fb82SDavid Daney 		uint64_t idcnt0:1;
10208860fb82SDavid Daney 		uint64_t reserved_22_24:3;
10218860fb82SDavid Daney 		uint64_t iptime0:1;
10228860fb82SDavid Daney 		uint64_t reserved_18_20:3;
10238860fb82SDavid Daney 		uint64_t ipcnt0:1;
10248860fb82SDavid Daney 		uint64_t irsl_int:1;
10258860fb82SDavid Daney 		uint64_t ill_rrd:1;
10268860fb82SDavid Daney 		uint64_t ill_rwr:1;
10278860fb82SDavid Daney 		uint64_t idperr:1;
10288860fb82SDavid Daney 		uint64_t iaperr:1;
10298860fb82SDavid Daney 		uint64_t iserr:1;
10308860fb82SDavid Daney 		uint64_t itsr_abt:1;
10318860fb82SDavid Daney 		uint64_t imsc_msg:1;
10328860fb82SDavid Daney 		uint64_t imsi_mabt:1;
10338860fb82SDavid Daney 		uint64_t imsi_tabt:1;
10348860fb82SDavid Daney 		uint64_t imsi_per:1;
10358860fb82SDavid Daney 		uint64_t imr_tto:1;
10368860fb82SDavid Daney 		uint64_t imr_abt:1;
10378860fb82SDavid Daney 		uint64_t itr_abt:1;
10388860fb82SDavid Daney 		uint64_t imr_wtto:1;
10398860fb82SDavid Daney 		uint64_t imr_wabt:1;
10408860fb82SDavid Daney 		uint64_t itr_wabt:1;
1041*c5aa59e8SDavid Daney #else
1042*c5aa59e8SDavid Daney 		uint64_t itr_wabt:1;
1043*c5aa59e8SDavid Daney 		uint64_t imr_wabt:1;
1044*c5aa59e8SDavid Daney 		uint64_t imr_wtto:1;
1045*c5aa59e8SDavid Daney 		uint64_t itr_abt:1;
1046*c5aa59e8SDavid Daney 		uint64_t imr_abt:1;
1047*c5aa59e8SDavid Daney 		uint64_t imr_tto:1;
1048*c5aa59e8SDavid Daney 		uint64_t imsi_per:1;
1049*c5aa59e8SDavid Daney 		uint64_t imsi_tabt:1;
1050*c5aa59e8SDavid Daney 		uint64_t imsi_mabt:1;
1051*c5aa59e8SDavid Daney 		uint64_t imsc_msg:1;
1052*c5aa59e8SDavid Daney 		uint64_t itsr_abt:1;
1053*c5aa59e8SDavid Daney 		uint64_t iserr:1;
1054*c5aa59e8SDavid Daney 		uint64_t iaperr:1;
1055*c5aa59e8SDavid Daney 		uint64_t idperr:1;
1056*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1057*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1058*c5aa59e8SDavid Daney 		uint64_t irsl_int:1;
1059*c5aa59e8SDavid Daney 		uint64_t ipcnt0:1;
1060*c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1061*c5aa59e8SDavid Daney 		uint64_t iptime0:1;
1062*c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1063*c5aa59e8SDavid Daney 		uint64_t idcnt0:1;
1064*c5aa59e8SDavid Daney 		uint64_t idcnt1:1;
1065*c5aa59e8SDavid Daney 		uint64_t idtime0:1;
1066*c5aa59e8SDavid Daney 		uint64_t idtime1:1;
1067*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1068*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1069*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1070*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1071*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1072*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1073*c5aa59e8SDavid Daney #endif
10748860fb82SDavid Daney 	} cn30xx;
10758860fb82SDavid Daney 	struct cvmx_pci_int_enb_cn31xx {
1076*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
10778860fb82SDavid Daney 		uint64_t reserved_34_63:30;
10788860fb82SDavid Daney 		uint64_t ill_rd:1;
10798860fb82SDavid Daney 		uint64_t ill_wr:1;
10808860fb82SDavid Daney 		uint64_t win_wr:1;
10818860fb82SDavid Daney 		uint64_t dma1_fi:1;
10828860fb82SDavid Daney 		uint64_t dma0_fi:1;
10838860fb82SDavid Daney 		uint64_t idtime1:1;
10848860fb82SDavid Daney 		uint64_t idtime0:1;
10858860fb82SDavid Daney 		uint64_t idcnt1:1;
10868860fb82SDavid Daney 		uint64_t idcnt0:1;
10878860fb82SDavid Daney 		uint64_t reserved_23_24:2;
10888860fb82SDavid Daney 		uint64_t iptime1:1;
10898860fb82SDavid Daney 		uint64_t iptime0:1;
10908860fb82SDavid Daney 		uint64_t reserved_19_20:2;
10918860fb82SDavid Daney 		uint64_t ipcnt1:1;
10928860fb82SDavid Daney 		uint64_t ipcnt0:1;
10938860fb82SDavid Daney 		uint64_t irsl_int:1;
10948860fb82SDavid Daney 		uint64_t ill_rrd:1;
10958860fb82SDavid Daney 		uint64_t ill_rwr:1;
10968860fb82SDavid Daney 		uint64_t idperr:1;
10978860fb82SDavid Daney 		uint64_t iaperr:1;
10988860fb82SDavid Daney 		uint64_t iserr:1;
10998860fb82SDavid Daney 		uint64_t itsr_abt:1;
11008860fb82SDavid Daney 		uint64_t imsc_msg:1;
11018860fb82SDavid Daney 		uint64_t imsi_mabt:1;
11028860fb82SDavid Daney 		uint64_t imsi_tabt:1;
11038860fb82SDavid Daney 		uint64_t imsi_per:1;
11048860fb82SDavid Daney 		uint64_t imr_tto:1;
11058860fb82SDavid Daney 		uint64_t imr_abt:1;
11068860fb82SDavid Daney 		uint64_t itr_abt:1;
11078860fb82SDavid Daney 		uint64_t imr_wtto:1;
11088860fb82SDavid Daney 		uint64_t imr_wabt:1;
11098860fb82SDavid Daney 		uint64_t itr_wabt:1;
1110*c5aa59e8SDavid Daney #else
1111*c5aa59e8SDavid Daney 		uint64_t itr_wabt:1;
1112*c5aa59e8SDavid Daney 		uint64_t imr_wabt:1;
1113*c5aa59e8SDavid Daney 		uint64_t imr_wtto:1;
1114*c5aa59e8SDavid Daney 		uint64_t itr_abt:1;
1115*c5aa59e8SDavid Daney 		uint64_t imr_abt:1;
1116*c5aa59e8SDavid Daney 		uint64_t imr_tto:1;
1117*c5aa59e8SDavid Daney 		uint64_t imsi_per:1;
1118*c5aa59e8SDavid Daney 		uint64_t imsi_tabt:1;
1119*c5aa59e8SDavid Daney 		uint64_t imsi_mabt:1;
1120*c5aa59e8SDavid Daney 		uint64_t imsc_msg:1;
1121*c5aa59e8SDavid Daney 		uint64_t itsr_abt:1;
1122*c5aa59e8SDavid Daney 		uint64_t iserr:1;
1123*c5aa59e8SDavid Daney 		uint64_t iaperr:1;
1124*c5aa59e8SDavid Daney 		uint64_t idperr:1;
1125*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1126*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1127*c5aa59e8SDavid Daney 		uint64_t irsl_int:1;
1128*c5aa59e8SDavid Daney 		uint64_t ipcnt0:1;
1129*c5aa59e8SDavid Daney 		uint64_t ipcnt1:1;
1130*c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1131*c5aa59e8SDavid Daney 		uint64_t iptime0:1;
1132*c5aa59e8SDavid Daney 		uint64_t iptime1:1;
1133*c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1134*c5aa59e8SDavid Daney 		uint64_t idcnt0:1;
1135*c5aa59e8SDavid Daney 		uint64_t idcnt1:1;
1136*c5aa59e8SDavid Daney 		uint64_t idtime0:1;
1137*c5aa59e8SDavid Daney 		uint64_t idtime1:1;
1138*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1139*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1140*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1141*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1142*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1143*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1144*c5aa59e8SDavid Daney #endif
11458860fb82SDavid Daney 	} cn31xx;
11468860fb82SDavid Daney };
11478860fb82SDavid Daney 
11488860fb82SDavid Daney union cvmx_pci_int_enb2 {
11498860fb82SDavid Daney 	uint64_t u64;
11508860fb82SDavid Daney 	struct cvmx_pci_int_enb2_s {
1151*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
11528860fb82SDavid Daney 		uint64_t reserved_34_63:30;
11538860fb82SDavid Daney 		uint64_t ill_rd:1;
11548860fb82SDavid Daney 		uint64_t ill_wr:1;
11558860fb82SDavid Daney 		uint64_t win_wr:1;
11568860fb82SDavid Daney 		uint64_t dma1_fi:1;
11578860fb82SDavid Daney 		uint64_t dma0_fi:1;
11588860fb82SDavid Daney 		uint64_t rdtime1:1;
11598860fb82SDavid Daney 		uint64_t rdtime0:1;
11608860fb82SDavid Daney 		uint64_t rdcnt1:1;
11618860fb82SDavid Daney 		uint64_t rdcnt0:1;
11628860fb82SDavid Daney 		uint64_t rptime3:1;
11638860fb82SDavid Daney 		uint64_t rptime2:1;
11648860fb82SDavid Daney 		uint64_t rptime1:1;
11658860fb82SDavid Daney 		uint64_t rptime0:1;
11668860fb82SDavid Daney 		uint64_t rpcnt3:1;
11678860fb82SDavid Daney 		uint64_t rpcnt2:1;
11688860fb82SDavid Daney 		uint64_t rpcnt1:1;
11698860fb82SDavid Daney 		uint64_t rpcnt0:1;
11708860fb82SDavid Daney 		uint64_t rrsl_int:1;
11718860fb82SDavid Daney 		uint64_t ill_rrd:1;
11728860fb82SDavid Daney 		uint64_t ill_rwr:1;
11738860fb82SDavid Daney 		uint64_t rdperr:1;
11748860fb82SDavid Daney 		uint64_t raperr:1;
11758860fb82SDavid Daney 		uint64_t rserr:1;
11768860fb82SDavid Daney 		uint64_t rtsr_abt:1;
11778860fb82SDavid Daney 		uint64_t rmsc_msg:1;
11788860fb82SDavid Daney 		uint64_t rmsi_mabt:1;
11798860fb82SDavid Daney 		uint64_t rmsi_tabt:1;
11808860fb82SDavid Daney 		uint64_t rmsi_per:1;
11818860fb82SDavid Daney 		uint64_t rmr_tto:1;
11828860fb82SDavid Daney 		uint64_t rmr_abt:1;
11838860fb82SDavid Daney 		uint64_t rtr_abt:1;
11848860fb82SDavid Daney 		uint64_t rmr_wtto:1;
11858860fb82SDavid Daney 		uint64_t rmr_wabt:1;
11868860fb82SDavid Daney 		uint64_t rtr_wabt:1;
1187*c5aa59e8SDavid Daney #else
1188*c5aa59e8SDavid Daney 		uint64_t rtr_wabt:1;
1189*c5aa59e8SDavid Daney 		uint64_t rmr_wabt:1;
1190*c5aa59e8SDavid Daney 		uint64_t rmr_wtto:1;
1191*c5aa59e8SDavid Daney 		uint64_t rtr_abt:1;
1192*c5aa59e8SDavid Daney 		uint64_t rmr_abt:1;
1193*c5aa59e8SDavid Daney 		uint64_t rmr_tto:1;
1194*c5aa59e8SDavid Daney 		uint64_t rmsi_per:1;
1195*c5aa59e8SDavid Daney 		uint64_t rmsi_tabt:1;
1196*c5aa59e8SDavid Daney 		uint64_t rmsi_mabt:1;
1197*c5aa59e8SDavid Daney 		uint64_t rmsc_msg:1;
1198*c5aa59e8SDavid Daney 		uint64_t rtsr_abt:1;
1199*c5aa59e8SDavid Daney 		uint64_t rserr:1;
1200*c5aa59e8SDavid Daney 		uint64_t raperr:1;
1201*c5aa59e8SDavid Daney 		uint64_t rdperr:1;
1202*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1203*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1204*c5aa59e8SDavid Daney 		uint64_t rrsl_int:1;
1205*c5aa59e8SDavid Daney 		uint64_t rpcnt0:1;
1206*c5aa59e8SDavid Daney 		uint64_t rpcnt1:1;
1207*c5aa59e8SDavid Daney 		uint64_t rpcnt2:1;
1208*c5aa59e8SDavid Daney 		uint64_t rpcnt3:1;
1209*c5aa59e8SDavid Daney 		uint64_t rptime0:1;
1210*c5aa59e8SDavid Daney 		uint64_t rptime1:1;
1211*c5aa59e8SDavid Daney 		uint64_t rptime2:1;
1212*c5aa59e8SDavid Daney 		uint64_t rptime3:1;
1213*c5aa59e8SDavid Daney 		uint64_t rdcnt0:1;
1214*c5aa59e8SDavid Daney 		uint64_t rdcnt1:1;
1215*c5aa59e8SDavid Daney 		uint64_t rdtime0:1;
1216*c5aa59e8SDavid Daney 		uint64_t rdtime1:1;
1217*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1218*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1219*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1220*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1221*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1222*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1223*c5aa59e8SDavid Daney #endif
12248860fb82SDavid Daney 	} s;
12258860fb82SDavid Daney 	struct cvmx_pci_int_enb2_cn30xx {
1226*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
12278860fb82SDavid Daney 		uint64_t reserved_34_63:30;
12288860fb82SDavid Daney 		uint64_t ill_rd:1;
12298860fb82SDavid Daney 		uint64_t ill_wr:1;
12308860fb82SDavid Daney 		uint64_t win_wr:1;
12318860fb82SDavid Daney 		uint64_t dma1_fi:1;
12328860fb82SDavid Daney 		uint64_t dma0_fi:1;
12338860fb82SDavid Daney 		uint64_t rdtime1:1;
12348860fb82SDavid Daney 		uint64_t rdtime0:1;
12358860fb82SDavid Daney 		uint64_t rdcnt1:1;
12368860fb82SDavid Daney 		uint64_t rdcnt0:1;
12378860fb82SDavid Daney 		uint64_t reserved_22_24:3;
12388860fb82SDavid Daney 		uint64_t rptime0:1;
12398860fb82SDavid Daney 		uint64_t reserved_18_20:3;
12408860fb82SDavid Daney 		uint64_t rpcnt0:1;
12418860fb82SDavid Daney 		uint64_t rrsl_int:1;
12428860fb82SDavid Daney 		uint64_t ill_rrd:1;
12438860fb82SDavid Daney 		uint64_t ill_rwr:1;
12448860fb82SDavid Daney 		uint64_t rdperr:1;
12458860fb82SDavid Daney 		uint64_t raperr:1;
12468860fb82SDavid Daney 		uint64_t rserr:1;
12478860fb82SDavid Daney 		uint64_t rtsr_abt:1;
12488860fb82SDavid Daney 		uint64_t rmsc_msg:1;
12498860fb82SDavid Daney 		uint64_t rmsi_mabt:1;
12508860fb82SDavid Daney 		uint64_t rmsi_tabt:1;
12518860fb82SDavid Daney 		uint64_t rmsi_per:1;
12528860fb82SDavid Daney 		uint64_t rmr_tto:1;
12538860fb82SDavid Daney 		uint64_t rmr_abt:1;
12548860fb82SDavid Daney 		uint64_t rtr_abt:1;
12558860fb82SDavid Daney 		uint64_t rmr_wtto:1;
12568860fb82SDavid Daney 		uint64_t rmr_wabt:1;
12578860fb82SDavid Daney 		uint64_t rtr_wabt:1;
1258*c5aa59e8SDavid Daney #else
1259*c5aa59e8SDavid Daney 		uint64_t rtr_wabt:1;
1260*c5aa59e8SDavid Daney 		uint64_t rmr_wabt:1;
1261*c5aa59e8SDavid Daney 		uint64_t rmr_wtto:1;
1262*c5aa59e8SDavid Daney 		uint64_t rtr_abt:1;
1263*c5aa59e8SDavid Daney 		uint64_t rmr_abt:1;
1264*c5aa59e8SDavid Daney 		uint64_t rmr_tto:1;
1265*c5aa59e8SDavid Daney 		uint64_t rmsi_per:1;
1266*c5aa59e8SDavid Daney 		uint64_t rmsi_tabt:1;
1267*c5aa59e8SDavid Daney 		uint64_t rmsi_mabt:1;
1268*c5aa59e8SDavid Daney 		uint64_t rmsc_msg:1;
1269*c5aa59e8SDavid Daney 		uint64_t rtsr_abt:1;
1270*c5aa59e8SDavid Daney 		uint64_t rserr:1;
1271*c5aa59e8SDavid Daney 		uint64_t raperr:1;
1272*c5aa59e8SDavid Daney 		uint64_t rdperr:1;
1273*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1274*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1275*c5aa59e8SDavid Daney 		uint64_t rrsl_int:1;
1276*c5aa59e8SDavid Daney 		uint64_t rpcnt0:1;
1277*c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1278*c5aa59e8SDavid Daney 		uint64_t rptime0:1;
1279*c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1280*c5aa59e8SDavid Daney 		uint64_t rdcnt0:1;
1281*c5aa59e8SDavid Daney 		uint64_t rdcnt1:1;
1282*c5aa59e8SDavid Daney 		uint64_t rdtime0:1;
1283*c5aa59e8SDavid Daney 		uint64_t rdtime1:1;
1284*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1285*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1286*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1287*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1288*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1289*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1290*c5aa59e8SDavid Daney #endif
12918860fb82SDavid Daney 	} cn30xx;
12928860fb82SDavid Daney 	struct cvmx_pci_int_enb2_cn31xx {
1293*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
12948860fb82SDavid Daney 		uint64_t reserved_34_63:30;
12958860fb82SDavid Daney 		uint64_t ill_rd:1;
12968860fb82SDavid Daney 		uint64_t ill_wr:1;
12978860fb82SDavid Daney 		uint64_t win_wr:1;
12988860fb82SDavid Daney 		uint64_t dma1_fi:1;
12998860fb82SDavid Daney 		uint64_t dma0_fi:1;
13008860fb82SDavid Daney 		uint64_t rdtime1:1;
13018860fb82SDavid Daney 		uint64_t rdtime0:1;
13028860fb82SDavid Daney 		uint64_t rdcnt1:1;
13038860fb82SDavid Daney 		uint64_t rdcnt0:1;
13048860fb82SDavid Daney 		uint64_t reserved_23_24:2;
13058860fb82SDavid Daney 		uint64_t rptime1:1;
13068860fb82SDavid Daney 		uint64_t rptime0:1;
13078860fb82SDavid Daney 		uint64_t reserved_19_20:2;
13088860fb82SDavid Daney 		uint64_t rpcnt1:1;
13098860fb82SDavid Daney 		uint64_t rpcnt0:1;
13108860fb82SDavid Daney 		uint64_t rrsl_int:1;
13118860fb82SDavid Daney 		uint64_t ill_rrd:1;
13128860fb82SDavid Daney 		uint64_t ill_rwr:1;
13138860fb82SDavid Daney 		uint64_t rdperr:1;
13148860fb82SDavid Daney 		uint64_t raperr:1;
13158860fb82SDavid Daney 		uint64_t rserr:1;
13168860fb82SDavid Daney 		uint64_t rtsr_abt:1;
13178860fb82SDavid Daney 		uint64_t rmsc_msg:1;
13188860fb82SDavid Daney 		uint64_t rmsi_mabt:1;
13198860fb82SDavid Daney 		uint64_t rmsi_tabt:1;
13208860fb82SDavid Daney 		uint64_t rmsi_per:1;
13218860fb82SDavid Daney 		uint64_t rmr_tto:1;
13228860fb82SDavid Daney 		uint64_t rmr_abt:1;
13238860fb82SDavid Daney 		uint64_t rtr_abt:1;
13248860fb82SDavid Daney 		uint64_t rmr_wtto:1;
13258860fb82SDavid Daney 		uint64_t rmr_wabt:1;
13268860fb82SDavid Daney 		uint64_t rtr_wabt:1;
1327*c5aa59e8SDavid Daney #else
1328*c5aa59e8SDavid Daney 		uint64_t rtr_wabt:1;
1329*c5aa59e8SDavid Daney 		uint64_t rmr_wabt:1;
1330*c5aa59e8SDavid Daney 		uint64_t rmr_wtto:1;
1331*c5aa59e8SDavid Daney 		uint64_t rtr_abt:1;
1332*c5aa59e8SDavid Daney 		uint64_t rmr_abt:1;
1333*c5aa59e8SDavid Daney 		uint64_t rmr_tto:1;
1334*c5aa59e8SDavid Daney 		uint64_t rmsi_per:1;
1335*c5aa59e8SDavid Daney 		uint64_t rmsi_tabt:1;
1336*c5aa59e8SDavid Daney 		uint64_t rmsi_mabt:1;
1337*c5aa59e8SDavid Daney 		uint64_t rmsc_msg:1;
1338*c5aa59e8SDavid Daney 		uint64_t rtsr_abt:1;
1339*c5aa59e8SDavid Daney 		uint64_t rserr:1;
1340*c5aa59e8SDavid Daney 		uint64_t raperr:1;
1341*c5aa59e8SDavid Daney 		uint64_t rdperr:1;
1342*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1343*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1344*c5aa59e8SDavid Daney 		uint64_t rrsl_int:1;
1345*c5aa59e8SDavid Daney 		uint64_t rpcnt0:1;
1346*c5aa59e8SDavid Daney 		uint64_t rpcnt1:1;
1347*c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1348*c5aa59e8SDavid Daney 		uint64_t rptime0:1;
1349*c5aa59e8SDavid Daney 		uint64_t rptime1:1;
1350*c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1351*c5aa59e8SDavid Daney 		uint64_t rdcnt0:1;
1352*c5aa59e8SDavid Daney 		uint64_t rdcnt1:1;
1353*c5aa59e8SDavid Daney 		uint64_t rdtime0:1;
1354*c5aa59e8SDavid Daney 		uint64_t rdtime1:1;
1355*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1356*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1357*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1358*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1359*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1360*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1361*c5aa59e8SDavid Daney #endif
13628860fb82SDavid Daney 	} cn31xx;
13638860fb82SDavid Daney };
13648860fb82SDavid Daney 
13658860fb82SDavid Daney union cvmx_pci_int_sum {
13668860fb82SDavid Daney 	uint64_t u64;
13678860fb82SDavid Daney 	struct cvmx_pci_int_sum_s {
1368*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
13698860fb82SDavid Daney 		uint64_t reserved_34_63:30;
13708860fb82SDavid Daney 		uint64_t ill_rd:1;
13718860fb82SDavid Daney 		uint64_t ill_wr:1;
13728860fb82SDavid Daney 		uint64_t win_wr:1;
13738860fb82SDavid Daney 		uint64_t dma1_fi:1;
13748860fb82SDavid Daney 		uint64_t dma0_fi:1;
13758860fb82SDavid Daney 		uint64_t dtime1:1;
13768860fb82SDavid Daney 		uint64_t dtime0:1;
13778860fb82SDavid Daney 		uint64_t dcnt1:1;
13788860fb82SDavid Daney 		uint64_t dcnt0:1;
13798860fb82SDavid Daney 		uint64_t ptime3:1;
13808860fb82SDavid Daney 		uint64_t ptime2:1;
13818860fb82SDavid Daney 		uint64_t ptime1:1;
13828860fb82SDavid Daney 		uint64_t ptime0:1;
13838860fb82SDavid Daney 		uint64_t pcnt3:1;
13848860fb82SDavid Daney 		uint64_t pcnt2:1;
13858860fb82SDavid Daney 		uint64_t pcnt1:1;
13868860fb82SDavid Daney 		uint64_t pcnt0:1;
13878860fb82SDavid Daney 		uint64_t rsl_int:1;
13888860fb82SDavid Daney 		uint64_t ill_rrd:1;
13898860fb82SDavid Daney 		uint64_t ill_rwr:1;
13908860fb82SDavid Daney 		uint64_t dperr:1;
13918860fb82SDavid Daney 		uint64_t aperr:1;
13928860fb82SDavid Daney 		uint64_t serr:1;
13938860fb82SDavid Daney 		uint64_t tsr_abt:1;
13948860fb82SDavid Daney 		uint64_t msc_msg:1;
13958860fb82SDavid Daney 		uint64_t msi_mabt:1;
13968860fb82SDavid Daney 		uint64_t msi_tabt:1;
13978860fb82SDavid Daney 		uint64_t msi_per:1;
13988860fb82SDavid Daney 		uint64_t mr_tto:1;
13998860fb82SDavid Daney 		uint64_t mr_abt:1;
14008860fb82SDavid Daney 		uint64_t tr_abt:1;
14018860fb82SDavid Daney 		uint64_t mr_wtto:1;
14028860fb82SDavid Daney 		uint64_t mr_wabt:1;
14038860fb82SDavid Daney 		uint64_t tr_wabt:1;
1404*c5aa59e8SDavid Daney #else
1405*c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1406*c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1407*c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1408*c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1409*c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1410*c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1411*c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1412*c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1413*c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1414*c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1415*c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1416*c5aa59e8SDavid Daney 		uint64_t serr:1;
1417*c5aa59e8SDavid Daney 		uint64_t aperr:1;
1418*c5aa59e8SDavid Daney 		uint64_t dperr:1;
1419*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1420*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1421*c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1422*c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1423*c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1424*c5aa59e8SDavid Daney 		uint64_t pcnt2:1;
1425*c5aa59e8SDavid Daney 		uint64_t pcnt3:1;
1426*c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1427*c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1428*c5aa59e8SDavid Daney 		uint64_t ptime2:1;
1429*c5aa59e8SDavid Daney 		uint64_t ptime3:1;
1430*c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1431*c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1432*c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1433*c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1434*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1435*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1436*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1437*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1438*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1439*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1440*c5aa59e8SDavid Daney #endif
14418860fb82SDavid Daney 	} s;
14428860fb82SDavid Daney 	struct cvmx_pci_int_sum_cn30xx {
1443*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
14448860fb82SDavid Daney 		uint64_t reserved_34_63:30;
14458860fb82SDavid Daney 		uint64_t ill_rd:1;
14468860fb82SDavid Daney 		uint64_t ill_wr:1;
14478860fb82SDavid Daney 		uint64_t win_wr:1;
14488860fb82SDavid Daney 		uint64_t dma1_fi:1;
14498860fb82SDavid Daney 		uint64_t dma0_fi:1;
14508860fb82SDavid Daney 		uint64_t dtime1:1;
14518860fb82SDavid Daney 		uint64_t dtime0:1;
14528860fb82SDavid Daney 		uint64_t dcnt1:1;
14538860fb82SDavid Daney 		uint64_t dcnt0:1;
14548860fb82SDavid Daney 		uint64_t reserved_22_24:3;
14558860fb82SDavid Daney 		uint64_t ptime0:1;
14568860fb82SDavid Daney 		uint64_t reserved_18_20:3;
14578860fb82SDavid Daney 		uint64_t pcnt0:1;
14588860fb82SDavid Daney 		uint64_t rsl_int:1;
14598860fb82SDavid Daney 		uint64_t ill_rrd:1;
14608860fb82SDavid Daney 		uint64_t ill_rwr:1;
14618860fb82SDavid Daney 		uint64_t dperr:1;
14628860fb82SDavid Daney 		uint64_t aperr:1;
14638860fb82SDavid Daney 		uint64_t serr:1;
14648860fb82SDavid Daney 		uint64_t tsr_abt:1;
14658860fb82SDavid Daney 		uint64_t msc_msg:1;
14668860fb82SDavid Daney 		uint64_t msi_mabt:1;
14678860fb82SDavid Daney 		uint64_t msi_tabt:1;
14688860fb82SDavid Daney 		uint64_t msi_per:1;
14698860fb82SDavid Daney 		uint64_t mr_tto:1;
14708860fb82SDavid Daney 		uint64_t mr_abt:1;
14718860fb82SDavid Daney 		uint64_t tr_abt:1;
14728860fb82SDavid Daney 		uint64_t mr_wtto:1;
14738860fb82SDavid Daney 		uint64_t mr_wabt:1;
14748860fb82SDavid Daney 		uint64_t tr_wabt:1;
1475*c5aa59e8SDavid Daney #else
1476*c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1477*c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1478*c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1479*c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1480*c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1481*c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1482*c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1483*c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1484*c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1485*c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1486*c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1487*c5aa59e8SDavid Daney 		uint64_t serr:1;
1488*c5aa59e8SDavid Daney 		uint64_t aperr:1;
1489*c5aa59e8SDavid Daney 		uint64_t dperr:1;
1490*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1491*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1492*c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1493*c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1494*c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1495*c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1496*c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1497*c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1498*c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1499*c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1500*c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1501*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1502*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1503*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1504*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1505*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1506*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1507*c5aa59e8SDavid Daney #endif
15088860fb82SDavid Daney 	} cn30xx;
15098860fb82SDavid Daney 	struct cvmx_pci_int_sum_cn31xx {
1510*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
15118860fb82SDavid Daney 		uint64_t reserved_34_63:30;
15128860fb82SDavid Daney 		uint64_t ill_rd:1;
15138860fb82SDavid Daney 		uint64_t ill_wr:1;
15148860fb82SDavid Daney 		uint64_t win_wr:1;
15158860fb82SDavid Daney 		uint64_t dma1_fi:1;
15168860fb82SDavid Daney 		uint64_t dma0_fi:1;
15178860fb82SDavid Daney 		uint64_t dtime1:1;
15188860fb82SDavid Daney 		uint64_t dtime0:1;
15198860fb82SDavid Daney 		uint64_t dcnt1:1;
15208860fb82SDavid Daney 		uint64_t dcnt0:1;
15218860fb82SDavid Daney 		uint64_t reserved_23_24:2;
15228860fb82SDavid Daney 		uint64_t ptime1:1;
15238860fb82SDavid Daney 		uint64_t ptime0:1;
15248860fb82SDavid Daney 		uint64_t reserved_19_20:2;
15258860fb82SDavid Daney 		uint64_t pcnt1:1;
15268860fb82SDavid Daney 		uint64_t pcnt0:1;
15278860fb82SDavid Daney 		uint64_t rsl_int:1;
15288860fb82SDavid Daney 		uint64_t ill_rrd:1;
15298860fb82SDavid Daney 		uint64_t ill_rwr:1;
15308860fb82SDavid Daney 		uint64_t dperr:1;
15318860fb82SDavid Daney 		uint64_t aperr:1;
15328860fb82SDavid Daney 		uint64_t serr:1;
15338860fb82SDavid Daney 		uint64_t tsr_abt:1;
15348860fb82SDavid Daney 		uint64_t msc_msg:1;
15358860fb82SDavid Daney 		uint64_t msi_mabt:1;
15368860fb82SDavid Daney 		uint64_t msi_tabt:1;
15378860fb82SDavid Daney 		uint64_t msi_per:1;
15388860fb82SDavid Daney 		uint64_t mr_tto:1;
15398860fb82SDavid Daney 		uint64_t mr_abt:1;
15408860fb82SDavid Daney 		uint64_t tr_abt:1;
15418860fb82SDavid Daney 		uint64_t mr_wtto:1;
15428860fb82SDavid Daney 		uint64_t mr_wabt:1;
15438860fb82SDavid Daney 		uint64_t tr_wabt:1;
1544*c5aa59e8SDavid Daney #else
1545*c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1546*c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1547*c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1548*c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1549*c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1550*c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1551*c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1552*c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1553*c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1554*c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1555*c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1556*c5aa59e8SDavid Daney 		uint64_t serr:1;
1557*c5aa59e8SDavid Daney 		uint64_t aperr:1;
1558*c5aa59e8SDavid Daney 		uint64_t dperr:1;
1559*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1560*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1561*c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1562*c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1563*c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1564*c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1565*c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1566*c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1567*c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1568*c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1569*c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1570*c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1571*c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1572*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1573*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1574*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1575*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1576*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1577*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1578*c5aa59e8SDavid Daney #endif
15798860fb82SDavid Daney 	} cn31xx;
15808860fb82SDavid Daney };
15818860fb82SDavid Daney 
15828860fb82SDavid Daney union cvmx_pci_int_sum2 {
15838860fb82SDavid Daney 	uint64_t u64;
15848860fb82SDavid Daney 	struct cvmx_pci_int_sum2_s {
1585*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
15868860fb82SDavid Daney 		uint64_t reserved_34_63:30;
15878860fb82SDavid Daney 		uint64_t ill_rd:1;
15888860fb82SDavid Daney 		uint64_t ill_wr:1;
15898860fb82SDavid Daney 		uint64_t win_wr:1;
15908860fb82SDavid Daney 		uint64_t dma1_fi:1;
15918860fb82SDavid Daney 		uint64_t dma0_fi:1;
15928860fb82SDavid Daney 		uint64_t dtime1:1;
15938860fb82SDavid Daney 		uint64_t dtime0:1;
15948860fb82SDavid Daney 		uint64_t dcnt1:1;
15958860fb82SDavid Daney 		uint64_t dcnt0:1;
15968860fb82SDavid Daney 		uint64_t ptime3:1;
15978860fb82SDavid Daney 		uint64_t ptime2:1;
15988860fb82SDavid Daney 		uint64_t ptime1:1;
15998860fb82SDavid Daney 		uint64_t ptime0:1;
16008860fb82SDavid Daney 		uint64_t pcnt3:1;
16018860fb82SDavid Daney 		uint64_t pcnt2:1;
16028860fb82SDavid Daney 		uint64_t pcnt1:1;
16038860fb82SDavid Daney 		uint64_t pcnt0:1;
16048860fb82SDavid Daney 		uint64_t rsl_int:1;
16058860fb82SDavid Daney 		uint64_t ill_rrd:1;
16068860fb82SDavid Daney 		uint64_t ill_rwr:1;
16078860fb82SDavid Daney 		uint64_t dperr:1;
16088860fb82SDavid Daney 		uint64_t aperr:1;
16098860fb82SDavid Daney 		uint64_t serr:1;
16108860fb82SDavid Daney 		uint64_t tsr_abt:1;
16118860fb82SDavid Daney 		uint64_t msc_msg:1;
16128860fb82SDavid Daney 		uint64_t msi_mabt:1;
16138860fb82SDavid Daney 		uint64_t msi_tabt:1;
16148860fb82SDavid Daney 		uint64_t msi_per:1;
16158860fb82SDavid Daney 		uint64_t mr_tto:1;
16168860fb82SDavid Daney 		uint64_t mr_abt:1;
16178860fb82SDavid Daney 		uint64_t tr_abt:1;
16188860fb82SDavid Daney 		uint64_t mr_wtto:1;
16198860fb82SDavid Daney 		uint64_t mr_wabt:1;
16208860fb82SDavid Daney 		uint64_t tr_wabt:1;
1621*c5aa59e8SDavid Daney #else
1622*c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1623*c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1624*c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1625*c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1626*c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1627*c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1628*c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1629*c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1630*c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1631*c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1632*c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1633*c5aa59e8SDavid Daney 		uint64_t serr:1;
1634*c5aa59e8SDavid Daney 		uint64_t aperr:1;
1635*c5aa59e8SDavid Daney 		uint64_t dperr:1;
1636*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1637*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1638*c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1639*c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1640*c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1641*c5aa59e8SDavid Daney 		uint64_t pcnt2:1;
1642*c5aa59e8SDavid Daney 		uint64_t pcnt3:1;
1643*c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1644*c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1645*c5aa59e8SDavid Daney 		uint64_t ptime2:1;
1646*c5aa59e8SDavid Daney 		uint64_t ptime3:1;
1647*c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1648*c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1649*c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1650*c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1651*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1652*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1653*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1654*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1655*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1656*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1657*c5aa59e8SDavid Daney #endif
16588860fb82SDavid Daney 	} s;
16598860fb82SDavid Daney 	struct cvmx_pci_int_sum2_cn30xx {
1660*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
16618860fb82SDavid Daney 		uint64_t reserved_34_63:30;
16628860fb82SDavid Daney 		uint64_t ill_rd:1;
16638860fb82SDavid Daney 		uint64_t ill_wr:1;
16648860fb82SDavid Daney 		uint64_t win_wr:1;
16658860fb82SDavid Daney 		uint64_t dma1_fi:1;
16668860fb82SDavid Daney 		uint64_t dma0_fi:1;
16678860fb82SDavid Daney 		uint64_t dtime1:1;
16688860fb82SDavid Daney 		uint64_t dtime0:1;
16698860fb82SDavid Daney 		uint64_t dcnt1:1;
16708860fb82SDavid Daney 		uint64_t dcnt0:1;
16718860fb82SDavid Daney 		uint64_t reserved_22_24:3;
16728860fb82SDavid Daney 		uint64_t ptime0:1;
16738860fb82SDavid Daney 		uint64_t reserved_18_20:3;
16748860fb82SDavid Daney 		uint64_t pcnt0:1;
16758860fb82SDavid Daney 		uint64_t rsl_int:1;
16768860fb82SDavid Daney 		uint64_t ill_rrd:1;
16778860fb82SDavid Daney 		uint64_t ill_rwr:1;
16788860fb82SDavid Daney 		uint64_t dperr:1;
16798860fb82SDavid Daney 		uint64_t aperr:1;
16808860fb82SDavid Daney 		uint64_t serr:1;
16818860fb82SDavid Daney 		uint64_t tsr_abt:1;
16828860fb82SDavid Daney 		uint64_t msc_msg:1;
16838860fb82SDavid Daney 		uint64_t msi_mabt:1;
16848860fb82SDavid Daney 		uint64_t msi_tabt:1;
16858860fb82SDavid Daney 		uint64_t msi_per:1;
16868860fb82SDavid Daney 		uint64_t mr_tto:1;
16878860fb82SDavid Daney 		uint64_t mr_abt:1;
16888860fb82SDavid Daney 		uint64_t tr_abt:1;
16898860fb82SDavid Daney 		uint64_t mr_wtto:1;
16908860fb82SDavid Daney 		uint64_t mr_wabt:1;
16918860fb82SDavid Daney 		uint64_t tr_wabt:1;
1692*c5aa59e8SDavid Daney #else
1693*c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1694*c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1695*c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1696*c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1697*c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1698*c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1699*c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1700*c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1701*c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1702*c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1703*c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1704*c5aa59e8SDavid Daney 		uint64_t serr:1;
1705*c5aa59e8SDavid Daney 		uint64_t aperr:1;
1706*c5aa59e8SDavid Daney 		uint64_t dperr:1;
1707*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1708*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1709*c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1710*c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1711*c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1712*c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1713*c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1714*c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1715*c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1716*c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1717*c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1718*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1719*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1720*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1721*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1722*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1723*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1724*c5aa59e8SDavid Daney #endif
17258860fb82SDavid Daney 	} cn30xx;
17268860fb82SDavid Daney 	struct cvmx_pci_int_sum2_cn31xx {
1727*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
17288860fb82SDavid Daney 		uint64_t reserved_34_63:30;
17298860fb82SDavid Daney 		uint64_t ill_rd:1;
17308860fb82SDavid Daney 		uint64_t ill_wr:1;
17318860fb82SDavid Daney 		uint64_t win_wr:1;
17328860fb82SDavid Daney 		uint64_t dma1_fi:1;
17338860fb82SDavid Daney 		uint64_t dma0_fi:1;
17348860fb82SDavid Daney 		uint64_t dtime1:1;
17358860fb82SDavid Daney 		uint64_t dtime0:1;
17368860fb82SDavid Daney 		uint64_t dcnt1:1;
17378860fb82SDavid Daney 		uint64_t dcnt0:1;
17388860fb82SDavid Daney 		uint64_t reserved_23_24:2;
17398860fb82SDavid Daney 		uint64_t ptime1:1;
17408860fb82SDavid Daney 		uint64_t ptime0:1;
17418860fb82SDavid Daney 		uint64_t reserved_19_20:2;
17428860fb82SDavid Daney 		uint64_t pcnt1:1;
17438860fb82SDavid Daney 		uint64_t pcnt0:1;
17448860fb82SDavid Daney 		uint64_t rsl_int:1;
17458860fb82SDavid Daney 		uint64_t ill_rrd:1;
17468860fb82SDavid Daney 		uint64_t ill_rwr:1;
17478860fb82SDavid Daney 		uint64_t dperr:1;
17488860fb82SDavid Daney 		uint64_t aperr:1;
17498860fb82SDavid Daney 		uint64_t serr:1;
17508860fb82SDavid Daney 		uint64_t tsr_abt:1;
17518860fb82SDavid Daney 		uint64_t msc_msg:1;
17528860fb82SDavid Daney 		uint64_t msi_mabt:1;
17538860fb82SDavid Daney 		uint64_t msi_tabt:1;
17548860fb82SDavid Daney 		uint64_t msi_per:1;
17558860fb82SDavid Daney 		uint64_t mr_tto:1;
17568860fb82SDavid Daney 		uint64_t mr_abt:1;
17578860fb82SDavid Daney 		uint64_t tr_abt:1;
17588860fb82SDavid Daney 		uint64_t mr_wtto:1;
17598860fb82SDavid Daney 		uint64_t mr_wabt:1;
17608860fb82SDavid Daney 		uint64_t tr_wabt:1;
1761*c5aa59e8SDavid Daney #else
1762*c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1763*c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1764*c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1765*c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1766*c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1767*c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1768*c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1769*c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1770*c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1771*c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1772*c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1773*c5aa59e8SDavid Daney 		uint64_t serr:1;
1774*c5aa59e8SDavid Daney 		uint64_t aperr:1;
1775*c5aa59e8SDavid Daney 		uint64_t dperr:1;
1776*c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1777*c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1778*c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1779*c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1780*c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1781*c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1782*c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1783*c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1784*c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1785*c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1786*c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1787*c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1788*c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1789*c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1790*c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1791*c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1792*c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1793*c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1794*c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1795*c5aa59e8SDavid Daney #endif
17968860fb82SDavid Daney 	} cn31xx;
17978860fb82SDavid Daney };
17988860fb82SDavid Daney 
17998860fb82SDavid Daney union cvmx_pci_msi_rcv {
18008860fb82SDavid Daney 	uint32_t u32;
18018860fb82SDavid Daney 	struct cvmx_pci_msi_rcv_s {
1802*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18038860fb82SDavid Daney 		uint32_t reserved_6_31:26;
18048860fb82SDavid Daney 		uint32_t intr:6;
1805*c5aa59e8SDavid Daney #else
1806*c5aa59e8SDavid Daney 		uint32_t intr:6;
1807*c5aa59e8SDavid Daney 		uint32_t reserved_6_31:26;
1808*c5aa59e8SDavid Daney #endif
18098860fb82SDavid Daney 	} s;
18108860fb82SDavid Daney };
18118860fb82SDavid Daney 
18128860fb82SDavid Daney union cvmx_pci_pkt_creditsx {
18138860fb82SDavid Daney 	uint32_t u32;
18148860fb82SDavid Daney 	struct cvmx_pci_pkt_creditsx_s {
1815*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18168860fb82SDavid Daney 		uint32_t pkt_cnt:16;
18178860fb82SDavid Daney 		uint32_t ptr_cnt:16;
1818*c5aa59e8SDavid Daney #else
1819*c5aa59e8SDavid Daney 		uint32_t ptr_cnt:16;
1820*c5aa59e8SDavid Daney 		uint32_t pkt_cnt:16;
1821*c5aa59e8SDavid Daney #endif
18228860fb82SDavid Daney 	} s;
18238860fb82SDavid Daney };
18248860fb82SDavid Daney 
18258860fb82SDavid Daney union cvmx_pci_pkts_sentx {
18268860fb82SDavid Daney 	uint32_t u32;
18278860fb82SDavid Daney 	struct cvmx_pci_pkts_sentx_s {
1828*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18298860fb82SDavid Daney 		uint32_t pkt_cnt:32;
1830*c5aa59e8SDavid Daney #else
1831*c5aa59e8SDavid Daney 		uint32_t pkt_cnt:32;
1832*c5aa59e8SDavid Daney #endif
18338860fb82SDavid Daney 	} s;
18348860fb82SDavid Daney };
18358860fb82SDavid Daney 
18368860fb82SDavid Daney union cvmx_pci_pkts_sent_int_levx {
18378860fb82SDavid Daney 	uint32_t u32;
18388860fb82SDavid Daney 	struct cvmx_pci_pkts_sent_int_levx_s {
1839*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18408860fb82SDavid Daney 		uint32_t pkt_cnt:32;
1841*c5aa59e8SDavid Daney #else
1842*c5aa59e8SDavid Daney 		uint32_t pkt_cnt:32;
1843*c5aa59e8SDavid Daney #endif
18448860fb82SDavid Daney 	} s;
18458860fb82SDavid Daney };
18468860fb82SDavid Daney 
18478860fb82SDavid Daney union cvmx_pci_pkts_sent_timex {
18488860fb82SDavid Daney 	uint32_t u32;
18498860fb82SDavid Daney 	struct cvmx_pci_pkts_sent_timex_s {
1850*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18518860fb82SDavid Daney 		uint32_t pkt_time:32;
1852*c5aa59e8SDavid Daney #else
1853*c5aa59e8SDavid Daney 		uint32_t pkt_time:32;
1854*c5aa59e8SDavid Daney #endif
18558860fb82SDavid Daney 	} s;
18568860fb82SDavid Daney };
18578860fb82SDavid Daney 
18588860fb82SDavid Daney union cvmx_pci_read_cmd_6 {
18598860fb82SDavid Daney 	uint32_t u32;
18608860fb82SDavid Daney 	struct cvmx_pci_read_cmd_6_s {
1861*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18628860fb82SDavid Daney 		uint32_t reserved_9_31:23;
18638860fb82SDavid Daney 		uint32_t min_data:6;
18648860fb82SDavid Daney 		uint32_t prefetch:3;
1865*c5aa59e8SDavid Daney #else
1866*c5aa59e8SDavid Daney 		uint32_t prefetch:3;
1867*c5aa59e8SDavid Daney 		uint32_t min_data:6;
1868*c5aa59e8SDavid Daney 		uint32_t reserved_9_31:23;
1869*c5aa59e8SDavid Daney #endif
18708860fb82SDavid Daney 	} s;
18718860fb82SDavid Daney };
18728860fb82SDavid Daney 
18738860fb82SDavid Daney union cvmx_pci_read_cmd_c {
18748860fb82SDavid Daney 	uint32_t u32;
18758860fb82SDavid Daney 	struct cvmx_pci_read_cmd_c_s {
1876*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18778860fb82SDavid Daney 		uint32_t reserved_9_31:23;
18788860fb82SDavid Daney 		uint32_t min_data:6;
18798860fb82SDavid Daney 		uint32_t prefetch:3;
1880*c5aa59e8SDavid Daney #else
1881*c5aa59e8SDavid Daney 		uint32_t prefetch:3;
1882*c5aa59e8SDavid Daney 		uint32_t min_data:6;
1883*c5aa59e8SDavid Daney 		uint32_t reserved_9_31:23;
1884*c5aa59e8SDavid Daney #endif
18858860fb82SDavid Daney 	} s;
18868860fb82SDavid Daney };
18878860fb82SDavid Daney 
18888860fb82SDavid Daney union cvmx_pci_read_cmd_e {
18898860fb82SDavid Daney 	uint32_t u32;
18908860fb82SDavid Daney 	struct cvmx_pci_read_cmd_e_s {
1891*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18928860fb82SDavid Daney 		uint32_t reserved_9_31:23;
18938860fb82SDavid Daney 		uint32_t min_data:6;
18948860fb82SDavid Daney 		uint32_t prefetch:3;
1895*c5aa59e8SDavid Daney #else
1896*c5aa59e8SDavid Daney 		uint32_t prefetch:3;
1897*c5aa59e8SDavid Daney 		uint32_t min_data:6;
1898*c5aa59e8SDavid Daney 		uint32_t reserved_9_31:23;
1899*c5aa59e8SDavid Daney #endif
19008860fb82SDavid Daney 	} s;
19018860fb82SDavid Daney };
19028860fb82SDavid Daney 
19038860fb82SDavid Daney union cvmx_pci_read_timeout {
19048860fb82SDavid Daney 	uint64_t u64;
19058860fb82SDavid Daney 	struct cvmx_pci_read_timeout_s {
1906*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19078860fb82SDavid Daney 		uint64_t reserved_32_63:32;
19088860fb82SDavid Daney 		uint64_t enb:1;
19098860fb82SDavid Daney 		uint64_t cnt:31;
1910*c5aa59e8SDavid Daney #else
1911*c5aa59e8SDavid Daney 		uint64_t cnt:31;
1912*c5aa59e8SDavid Daney 		uint64_t enb:1;
1913*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1914*c5aa59e8SDavid Daney #endif
19158860fb82SDavid Daney 	} s;
19168860fb82SDavid Daney };
19178860fb82SDavid Daney 
19188860fb82SDavid Daney union cvmx_pci_scm_reg {
19198860fb82SDavid Daney 	uint64_t u64;
19208860fb82SDavid Daney 	struct cvmx_pci_scm_reg_s {
1921*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19228860fb82SDavid Daney 		uint64_t reserved_32_63:32;
19238860fb82SDavid Daney 		uint64_t scm:32;
1924*c5aa59e8SDavid Daney #else
1925*c5aa59e8SDavid Daney 		uint64_t scm:32;
1926*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1927*c5aa59e8SDavid Daney #endif
19288860fb82SDavid Daney 	} s;
19298860fb82SDavid Daney };
19308860fb82SDavid Daney 
19318860fb82SDavid Daney union cvmx_pci_tsr_reg {
19328860fb82SDavid Daney 	uint64_t u64;
19338860fb82SDavid Daney 	struct cvmx_pci_tsr_reg_s {
1934*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19358860fb82SDavid Daney 		uint64_t reserved_36_63:28;
19368860fb82SDavid Daney 		uint64_t tsr:36;
1937*c5aa59e8SDavid Daney #else
1938*c5aa59e8SDavid Daney 		uint64_t tsr:36;
1939*c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
1940*c5aa59e8SDavid Daney #endif
19418860fb82SDavid Daney 	} s;
19428860fb82SDavid Daney };
19438860fb82SDavid Daney 
19448860fb82SDavid Daney union cvmx_pci_win_rd_addr {
19458860fb82SDavid Daney 	uint64_t u64;
19468860fb82SDavid Daney 	struct cvmx_pci_win_rd_addr_s {
1947*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19488860fb82SDavid Daney 		uint64_t reserved_49_63:15;
19498860fb82SDavid Daney 		uint64_t iobit:1;
19508860fb82SDavid Daney 		uint64_t reserved_0_47:48;
1951*c5aa59e8SDavid Daney #else
1952*c5aa59e8SDavid Daney 		uint64_t reserved_0_47:48;
1953*c5aa59e8SDavid Daney 		uint64_t iobit:1;
1954*c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
1955*c5aa59e8SDavid Daney #endif
19568860fb82SDavid Daney 	} s;
19578860fb82SDavid Daney 	struct cvmx_pci_win_rd_addr_cn30xx {
1958*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19598860fb82SDavid Daney 		uint64_t reserved_49_63:15;
19608860fb82SDavid Daney 		uint64_t iobit:1;
19618860fb82SDavid Daney 		uint64_t rd_addr:46;
19628860fb82SDavid Daney 		uint64_t reserved_0_1:2;
1963*c5aa59e8SDavid Daney #else
1964*c5aa59e8SDavid Daney 		uint64_t reserved_0_1:2;
1965*c5aa59e8SDavid Daney 		uint64_t rd_addr:46;
1966*c5aa59e8SDavid Daney 		uint64_t iobit:1;
1967*c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
1968*c5aa59e8SDavid Daney #endif
19698860fb82SDavid Daney 	} cn30xx;
19708860fb82SDavid Daney 	struct cvmx_pci_win_rd_addr_cn38xx {
1971*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19728860fb82SDavid Daney 		uint64_t reserved_49_63:15;
19738860fb82SDavid Daney 		uint64_t iobit:1;
19748860fb82SDavid Daney 		uint64_t rd_addr:45;
19758860fb82SDavid Daney 		uint64_t reserved_0_2:3;
1976*c5aa59e8SDavid Daney #else
1977*c5aa59e8SDavid Daney 		uint64_t reserved_0_2:3;
1978*c5aa59e8SDavid Daney 		uint64_t rd_addr:45;
1979*c5aa59e8SDavid Daney 		uint64_t iobit:1;
1980*c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
1981*c5aa59e8SDavid Daney #endif
19828860fb82SDavid Daney 	} cn38xx;
19838860fb82SDavid Daney };
19848860fb82SDavid Daney 
19858860fb82SDavid Daney union cvmx_pci_win_rd_data {
19868860fb82SDavid Daney 	uint64_t u64;
19878860fb82SDavid Daney 	struct cvmx_pci_win_rd_data_s {
1988*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19898860fb82SDavid Daney 		uint64_t rd_data:64;
1990*c5aa59e8SDavid Daney #else
1991*c5aa59e8SDavid Daney 		uint64_t rd_data:64;
1992*c5aa59e8SDavid Daney #endif
19938860fb82SDavid Daney 	} s;
19948860fb82SDavid Daney };
19958860fb82SDavid Daney 
19968860fb82SDavid Daney union cvmx_pci_win_wr_addr {
19978860fb82SDavid Daney 	uint64_t u64;
19988860fb82SDavid Daney 	struct cvmx_pci_win_wr_addr_s {
1999*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
20008860fb82SDavid Daney 		uint64_t reserved_49_63:15;
20018860fb82SDavid Daney 		uint64_t iobit:1;
20028860fb82SDavid Daney 		uint64_t wr_addr:45;
20038860fb82SDavid Daney 		uint64_t reserved_0_2:3;
2004*c5aa59e8SDavid Daney #else
2005*c5aa59e8SDavid Daney 		uint64_t reserved_0_2:3;
2006*c5aa59e8SDavid Daney 		uint64_t wr_addr:45;
2007*c5aa59e8SDavid Daney 		uint64_t iobit:1;
2008*c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
2009*c5aa59e8SDavid Daney #endif
20108860fb82SDavid Daney 	} s;
20118860fb82SDavid Daney };
20128860fb82SDavid Daney 
20138860fb82SDavid Daney union cvmx_pci_win_wr_data {
20148860fb82SDavid Daney 	uint64_t u64;
20158860fb82SDavid Daney 	struct cvmx_pci_win_wr_data_s {
2016*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
20178860fb82SDavid Daney 		uint64_t wr_data:64;
2018*c5aa59e8SDavid Daney #else
2019*c5aa59e8SDavid Daney 		uint64_t wr_data:64;
2020*c5aa59e8SDavid Daney #endif
20218860fb82SDavid Daney 	} s;
20228860fb82SDavid Daney };
20238860fb82SDavid Daney 
20248860fb82SDavid Daney union cvmx_pci_win_wr_mask {
20258860fb82SDavid Daney 	uint64_t u64;
20268860fb82SDavid Daney 	struct cvmx_pci_win_wr_mask_s {
2027*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
20288860fb82SDavid Daney 		uint64_t reserved_8_63:56;
20298860fb82SDavid Daney 		uint64_t wr_mask:8;
2030*c5aa59e8SDavid Daney #else
2031*c5aa59e8SDavid Daney 		uint64_t wr_mask:8;
2032*c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
2033*c5aa59e8SDavid Daney #endif
20348860fb82SDavid Daney 	} s;
20358860fb82SDavid Daney };
20368860fb82SDavid Daney 
20378860fb82SDavid Daney #endif
2038