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  *
7c5aa59e8SDavid 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 {
120c5aa59e8SDavid 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;
126c5aa59e8SDavid Daney #else
127c5aa59e8SDavid Daney 		uint32_t addr_v:1;
128c5aa59e8SDavid Daney 		uint32_t end_swp:2;
129c5aa59e8SDavid Daney 		uint32_t ca:1;
130c5aa59e8SDavid Daney 		uint32_t addr_idx:14;
131c5aa59e8SDavid Daney 		uint32_t reserved_18_31:14;
132c5aa59e8SDavid 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 {
139c5aa59e8SDavid 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;
151c5aa59e8SDavid Daney #else
152c5aa59e8SDavid Daney 		uint64_t dbg2n_bs:1;
153c5aa59e8SDavid Daney 		uint64_t dat2n_bs:1;
154c5aa59e8SDavid Daney 		uint64_t csr2n_bs:1;
155c5aa59e8SDavid Daney 		uint64_t rsp2p_bs:1;
156c5aa59e8SDavid Daney 		uint64_t csrr_bs:1;
157c5aa59e8SDavid Daney 		uint64_t csr2p_bs:1;
158c5aa59e8SDavid Daney 		uint64_t cmd_bs:1;
159c5aa59e8SDavid Daney 		uint64_t cmd0_bs:1;
160c5aa59e8SDavid Daney 		uint64_t dma0_bs:1;
161c5aa59e8SDavid Daney 		uint64_t rsp_bs:1;
162c5aa59e8SDavid Daney 		uint64_t reserved_10_63:54;
163c5aa59e8SDavid 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 {
170c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1718860fb82SDavid Daney 		uint32_t devid:16;
1728860fb82SDavid Daney 		uint32_t vendid:16;
173c5aa59e8SDavid Daney #else
174c5aa59e8SDavid Daney 		uint32_t vendid:16;
175c5aa59e8SDavid Daney 		uint32_t devid:16;
176c5aa59e8SDavid 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 {
183c5aa59e8SDavid 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;
208c5aa59e8SDavid Daney #else
209c5aa59e8SDavid Daney 		uint32_t isae:1;
210c5aa59e8SDavid Daney 		uint32_t msae:1;
211c5aa59e8SDavid Daney 		uint32_t me:1;
212c5aa59e8SDavid Daney 		uint32_t scse:1;
213c5aa59e8SDavid Daney 		uint32_t mwice:1;
214c5aa59e8SDavid Daney 		uint32_t vps:1;
215c5aa59e8SDavid Daney 		uint32_t pee:1;
216c5aa59e8SDavid Daney 		uint32_t ads:1;
217c5aa59e8SDavid Daney 		uint32_t see:1;
218c5aa59e8SDavid Daney 		uint32_t fbbe:1;
219c5aa59e8SDavid Daney 		uint32_t i_dis:1;
220c5aa59e8SDavid Daney 		uint32_t reserved_11_18:8;
221c5aa59e8SDavid Daney 		uint32_t i_stat:1;
222c5aa59e8SDavid Daney 		uint32_t cle:1;
223c5aa59e8SDavid Daney 		uint32_t m66:1;
224c5aa59e8SDavid Daney 		uint32_t reserved_22_22:1;
225c5aa59e8SDavid Daney 		uint32_t fbb:1;
226c5aa59e8SDavid Daney 		uint32_t mdpe:1;
227c5aa59e8SDavid Daney 		uint32_t devt:2;
228c5aa59e8SDavid Daney 		uint32_t sta:1;
229c5aa59e8SDavid Daney 		uint32_t rta:1;
230c5aa59e8SDavid Daney 		uint32_t rma:1;
231c5aa59e8SDavid Daney 		uint32_t sse:1;
232c5aa59e8SDavid Daney 		uint32_t dpe:1;
233c5aa59e8SDavid 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 {
240c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2418860fb82SDavid Daney 		uint32_t cc:24;
2428860fb82SDavid Daney 		uint32_t rid:8;
243c5aa59e8SDavid Daney #else
244c5aa59e8SDavid Daney 		uint32_t rid:8;
245c5aa59e8SDavid Daney 		uint32_t cc:24;
246c5aa59e8SDavid 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 {
253c5aa59e8SDavid 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;
261c5aa59e8SDavid Daney #else
262c5aa59e8SDavid Daney 		uint32_t cls:8;
263c5aa59e8SDavid Daney 		uint32_t lt:8;
264c5aa59e8SDavid Daney 		uint32_t ht:8;
265c5aa59e8SDavid Daney 		uint32_t bcod:4;
266c5aa59e8SDavid Daney 		uint32_t reserved_28_29:2;
267c5aa59e8SDavid Daney 		uint32_t brb:1;
268c5aa59e8SDavid Daney 		uint32_t bcap:1;
269c5aa59e8SDavid 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 {
276c5aa59e8SDavid 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;
282c5aa59e8SDavid Daney #else
283c5aa59e8SDavid Daney 		uint32_t mspc:1;
284c5aa59e8SDavid Daney 		uint32_t typ:2;
285c5aa59e8SDavid Daney 		uint32_t pf:1;
286c5aa59e8SDavid Daney 		uint32_t lbasez:8;
287c5aa59e8SDavid Daney 		uint32_t lbase:20;
288c5aa59e8SDavid 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 {
295c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2968860fb82SDavid Daney 		uint32_t hbase:32;
297c5aa59e8SDavid Daney #else
298c5aa59e8SDavid Daney 		uint32_t hbase:32;
299c5aa59e8SDavid 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 {
306c5aa59e8SDavid 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;
312c5aa59e8SDavid Daney #else
313c5aa59e8SDavid Daney 		uint32_t mspc:1;
314c5aa59e8SDavid Daney 		uint32_t typ:2;
315c5aa59e8SDavid Daney 		uint32_t pf:1;
316c5aa59e8SDavid Daney 		uint32_t lbasez:23;
317c5aa59e8SDavid Daney 		uint32_t lbase:5;
318c5aa59e8SDavid 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 {
325c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3268860fb82SDavid Daney 		uint32_t hbase:32;
327c5aa59e8SDavid Daney #else
328c5aa59e8SDavid Daney 		uint32_t hbase:32;
329c5aa59e8SDavid 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 {
336c5aa59e8SDavid 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;
341c5aa59e8SDavid Daney #else
342c5aa59e8SDavid Daney 		uint32_t mspc:1;
343c5aa59e8SDavid Daney 		uint32_t typ:2;
344c5aa59e8SDavid Daney 		uint32_t pf:1;
345c5aa59e8SDavid Daney 		uint32_t lbasez:28;
346c5aa59e8SDavid 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 {
353c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3548860fb82SDavid Daney 		uint32_t hbase:25;
3558860fb82SDavid Daney 		uint32_t hbasez:7;
356c5aa59e8SDavid Daney #else
357c5aa59e8SDavid Daney 		uint32_t hbasez:7;
358c5aa59e8SDavid Daney 		uint32_t hbase:25;
359c5aa59e8SDavid 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 {
366c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3678860fb82SDavid Daney 		uint32_t cisp:32;
368c5aa59e8SDavid Daney #else
369c5aa59e8SDavid Daney 		uint32_t cisp:32;
370c5aa59e8SDavid 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 {
377c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
3788860fb82SDavid Daney 		uint32_t ssid:16;
3798860fb82SDavid Daney 		uint32_t ssvid:16;
380c5aa59e8SDavid Daney #else
381c5aa59e8SDavid Daney 		uint32_t ssvid:16;
382c5aa59e8SDavid Daney 		uint32_t ssid:16;
383c5aa59e8SDavid 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 {
390c5aa59e8SDavid 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;
395c5aa59e8SDavid Daney #else
396c5aa59e8SDavid Daney 		uint32_t erbar_en:1;
397c5aa59e8SDavid Daney 		uint32_t reserved_1_10:10;
398c5aa59e8SDavid Daney 		uint32_t erbarz:5;
399c5aa59e8SDavid Daney 		uint32_t erbar:16;
400c5aa59e8SDavid 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 {
407c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4088860fb82SDavid Daney 		uint32_t reserved_8_31:24;
4098860fb82SDavid Daney 		uint32_t cp:8;
410c5aa59e8SDavid Daney #else
411c5aa59e8SDavid Daney 		uint32_t cp:8;
412c5aa59e8SDavid Daney 		uint32_t reserved_8_31:24;
413c5aa59e8SDavid 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 {
420c5aa59e8SDavid 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;
425c5aa59e8SDavid Daney #else
426c5aa59e8SDavid Daney 		uint32_t il:8;
427c5aa59e8SDavid Daney 		uint32_t inta:8;
428c5aa59e8SDavid Daney 		uint32_t mg:8;
429c5aa59e8SDavid Daney 		uint32_t ml:8;
430c5aa59e8SDavid 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 {
437c5aa59e8SDavid 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;
454c5aa59e8SDavid Daney #else
455c5aa59e8SDavid Daney 		uint32_t mltd:1;
456c5aa59e8SDavid Daney 		uint32_t tswc:1;
457c5aa59e8SDavid Daney 		uint32_t reserved_2_2:1;
458c5aa59e8SDavid Daney 		uint32_t dppmr:1;
459c5aa59e8SDavid Daney 		uint32_t pbe:12;
460c5aa59e8SDavid Daney 		uint32_t tilt:4;
461c5aa59e8SDavid Daney 		uint32_t tslte:3;
462c5aa59e8SDavid Daney 		uint32_t tmae:1;
463c5aa59e8SDavid Daney 		uint32_t twtae:1;
464c5aa59e8SDavid Daney 		uint32_t twsen:1;
465c5aa59e8SDavid Daney 		uint32_t twsei:1;
466c5aa59e8SDavid Daney 		uint32_t trtae:1;
467c5aa59e8SDavid Daney 		uint32_t trdrs:1;
468c5aa59e8SDavid Daney 		uint32_t rdsati:1;
469c5aa59e8SDavid Daney 		uint32_t trdard:1;
470c5aa59e8SDavid Daney 		uint32_t trdnpr:1;
471c5aa59e8SDavid 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 {
478c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4798860fb82SDavid Daney 		uint32_t tscme:32;
480c5aa59e8SDavid Daney #else
481c5aa59e8SDavid Daney 		uint32_t tscme:32;
482c5aa59e8SDavid 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 {
489c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
4908860fb82SDavid Daney 		uint32_t tdsrps:32;
491c5aa59e8SDavid Daney #else
492c5aa59e8SDavid Daney 		uint32_t tdsrps:32;
493c5aa59e8SDavid 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 {
500c5aa59e8SDavid 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;
519c5aa59e8SDavid Daney #else
520c5aa59e8SDavid Daney 		uint32_t tdomc:5;
521c5aa59e8SDavid Daney 		uint32_t tidomc:1;
522c5aa59e8SDavid Daney 		uint32_t reserved_6_6:1;
523c5aa59e8SDavid Daney 		uint32_t tibde:1;
524c5aa59e8SDavid Daney 		uint32_t tibcd:1;
525c5aa59e8SDavid Daney 		uint32_t reserved_9_10:2;
526c5aa59e8SDavid Daney 		uint32_t tmapes:1;
527c5aa59e8SDavid Daney 		uint32_t tmdpes:1;
528c5aa59e8SDavid Daney 		uint32_t tmse:1;
529c5aa59e8SDavid Daney 		uint32_t tmei:1;
530c5aa59e8SDavid Daney 		uint32_t teci:1;
531c5aa59e8SDavid Daney 		uint32_t tmes:8;
532c5aa59e8SDavid Daney 		uint32_t mdrrmc:3;
533c5aa59e8SDavid Daney 		uint32_t mdrimc:1;
534c5aa59e8SDavid Daney 		uint32_t mdre:1;
535c5aa59e8SDavid Daney 		uint32_t mdwe:1;
536c5aa59e8SDavid Daney 		uint32_t mrbci:1;
537c5aa59e8SDavid Daney 		uint32_t mrbcm:1;
538c5aa59e8SDavid 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 {
545c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
5468860fb82SDavid Daney 		uint32_t mdsp:32;
547c5aa59e8SDavid Daney #else
548c5aa59e8SDavid Daney 		uint32_t mdsp:32;
549c5aa59e8SDavid 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 {
556c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
5578860fb82SDavid Daney 		uint32_t scmre:32;
558c5aa59e8SDavid Daney #else
559c5aa59e8SDavid Daney 		uint32_t scmre:32;
560c5aa59e8SDavid 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 {
567c5aa59e8SDavid 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;
575c5aa59e8SDavid Daney #else
576c5aa59e8SDavid Daney 		uint32_t mttv:8;
577c5aa59e8SDavid Daney 		uint32_t mrv:8;
578c5aa59e8SDavid Daney 		uint32_t mtta:1;
579c5aa59e8SDavid Daney 		uint32_t mra:1;
580c5aa59e8SDavid Daney 		uint32_t flush:1;
581c5aa59e8SDavid Daney 		uint32_t reserved_19_24:6;
582c5aa59e8SDavid Daney 		uint32_t mac:7;
583c5aa59e8SDavid 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 {
590c5aa59e8SDavid 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;
598c5aa59e8SDavid Daney #else
599c5aa59e8SDavid Daney 		uint32_t pxcid:8;
600c5aa59e8SDavid Daney 		uint32_t ncp:8;
601c5aa59e8SDavid Daney 		uint32_t dpere:1;
602c5aa59e8SDavid Daney 		uint32_t roe:1;
603c5aa59e8SDavid Daney 		uint32_t mmbc:2;
604c5aa59e8SDavid Daney 		uint32_t most:3;
605c5aa59e8SDavid Daney 		uint32_t reserved_23_31:9;
606c5aa59e8SDavid 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 {
613c5aa59e8SDavid 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;
627c5aa59e8SDavid Daney #else
628c5aa59e8SDavid Daney 		uint32_t fn:3;
629c5aa59e8SDavid Daney 		uint32_t dn:5;
630c5aa59e8SDavid Daney 		uint32_t bn:8;
631c5aa59e8SDavid Daney 		uint32_t w64:1;
632c5aa59e8SDavid Daney 		uint32_t m133:1;
633c5aa59e8SDavid Daney 		uint32_t scd:1;
634c5aa59e8SDavid Daney 		uint32_t usc:1;
635c5aa59e8SDavid Daney 		uint32_t dc:1;
636c5aa59e8SDavid Daney 		uint32_t mmrbcd:2;
637c5aa59e8SDavid Daney 		uint32_t mostd:3;
638c5aa59e8SDavid Daney 		uint32_t mcrsd:3;
639c5aa59e8SDavid Daney 		uint32_t scemr:1;
640c5aa59e8SDavid Daney 		uint32_t reserved_30_31:2;
641c5aa59e8SDavid 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 {
648c5aa59e8SDavid 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;
659c5aa59e8SDavid Daney #else
660c5aa59e8SDavid Daney 		uint32_t pmcid:8;
661c5aa59e8SDavid Daney 		uint32_t ncp:8;
662c5aa59e8SDavid Daney 		uint32_t pcimiv:3;
663c5aa59e8SDavid Daney 		uint32_t pmec:1;
664c5aa59e8SDavid Daney 		uint32_t reserved_20_20:1;
665c5aa59e8SDavid Daney 		uint32_t dsi:1;
666c5aa59e8SDavid Daney 		uint32_t auxc:3;
667c5aa59e8SDavid Daney 		uint32_t d1s:1;
668c5aa59e8SDavid Daney 		uint32_t d2s:1;
669c5aa59e8SDavid Daney 		uint32_t pmes:5;
670c5aa59e8SDavid 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 {
677c5aa59e8SDavid 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;
688c5aa59e8SDavid Daney #else
689c5aa59e8SDavid Daney 		uint32_t ps:2;
690c5aa59e8SDavid Daney 		uint32_t reserved_2_7:6;
691c5aa59e8SDavid Daney 		uint32_t pmeens:1;
692c5aa59e8SDavid Daney 		uint32_t pmds:4;
693c5aa59e8SDavid Daney 		uint32_t pmedsia:2;
694c5aa59e8SDavid Daney 		uint32_t pmess:1;
695c5aa59e8SDavid Daney 		uint32_t reserved_16_21:6;
696c5aa59e8SDavid Daney 		uint32_t bd3h:1;
697c5aa59e8SDavid Daney 		uint32_t bpccen:1;
698c5aa59e8SDavid Daney 		uint32_t pmdia:8;
699c5aa59e8SDavid 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 {
706c5aa59e8SDavid 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;
714c5aa59e8SDavid Daney #else
715c5aa59e8SDavid Daney 		uint32_t msicid:8;
716c5aa59e8SDavid Daney 		uint32_t ncp:8;
717c5aa59e8SDavid Daney 		uint32_t msien:1;
718c5aa59e8SDavid Daney 		uint32_t mmc:3;
719c5aa59e8SDavid Daney 		uint32_t mme:3;
720c5aa59e8SDavid Daney 		uint32_t m64:1;
721c5aa59e8SDavid Daney 		uint32_t reserved_24_31:8;
722c5aa59e8SDavid 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 {
729c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7308860fb82SDavid Daney 		uint32_t msi31t2:30;
7318860fb82SDavid Daney 		uint32_t reserved_0_1:2;
732c5aa59e8SDavid Daney #else
733c5aa59e8SDavid Daney 		uint32_t reserved_0_1:2;
734c5aa59e8SDavid Daney 		uint32_t msi31t2:30;
735c5aa59e8SDavid 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 {
742c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7438860fb82SDavid Daney 		uint32_t msi:32;
744c5aa59e8SDavid Daney #else
745c5aa59e8SDavid Daney 		uint32_t msi:32;
746c5aa59e8SDavid 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 {
753c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
7548860fb82SDavid Daney 		uint32_t reserved_16_31:16;
7558860fb82SDavid Daney 		uint32_t msimd:16;
756c5aa59e8SDavid Daney #else
757c5aa59e8SDavid Daney 		uint32_t msimd:16;
758c5aa59e8SDavid Daney 		uint32_t reserved_16_31:16;
759c5aa59e8SDavid 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 {
766c5aa59e8SDavid 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;
773c5aa59e8SDavid Daney #else
774c5aa59e8SDavid Daney 		uint64_t pcicnt:32;
775c5aa59e8SDavid Daney 		uint64_t ap_speed:2;
776c5aa59e8SDavid Daney 		uint64_t ap_pcix:1;
777c5aa59e8SDavid Daney 		uint64_t hm_speed:2;
778c5aa59e8SDavid Daney 		uint64_t hm_pcix:1;
779c5aa59e8SDavid Daney 		uint64_t reserved_38_63:26;
780c5aa59e8SDavid 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 {
787c5aa59e8SDavid 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;
810c5aa59e8SDavid Daney #else
811c5aa59e8SDavid Daney 		uint32_t bar2_cax:1;
812c5aa59e8SDavid Daney 		uint32_t bar2_esx:2;
813c5aa59e8SDavid Daney 		uint32_t bar2_enb:1;
814c5aa59e8SDavid Daney 		uint32_t tsr_hwm:3;
815c5aa59e8SDavid Daney 		uint32_t pmo_fpc:3;
816c5aa59e8SDavid Daney 		uint32_t pmo_amod:1;
817c5aa59e8SDavid Daney 		uint32_t b12_bist:1;
818c5aa59e8SDavid Daney 		uint32_t ap_64ad:1;
819c5aa59e8SDavid Daney 		uint32_t ap_pcix:1;
820c5aa59e8SDavid Daney 		uint32_t reserved_14_14:1;
821c5aa59e8SDavid Daney 		uint32_t en_wfilt:1;
822c5aa59e8SDavid Daney 		uint32_t scm:1;
823c5aa59e8SDavid Daney 		uint32_t scmtyp:1;
824c5aa59e8SDavid Daney 		uint32_t bar2pres:1;
825c5aa59e8SDavid Daney 		uint32_t erst_n:1;
826c5aa59e8SDavid Daney 		uint32_t bb0:1;
827c5aa59e8SDavid Daney 		uint32_t bb1:1;
828c5aa59e8SDavid Daney 		uint32_t bb_es:2;
829c5aa59e8SDavid Daney 		uint32_t bb_ca:1;
830c5aa59e8SDavid Daney 		uint32_t bb1_siz:1;
831c5aa59e8SDavid Daney 		uint32_t bb1_hole:3;
832c5aa59e8SDavid Daney 		uint32_t reserved_29_31:3;
833c5aa59e8SDavid Daney #endif
8348860fb82SDavid Daney 	} s;
8358860fb82SDavid Daney 	struct cvmx_pci_ctl_status_2_cn31xx {
836c5aa59e8SDavid 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;
853c5aa59e8SDavid Daney #else
854c5aa59e8SDavid Daney 		uint32_t bar2_cax:1;
855c5aa59e8SDavid Daney 		uint32_t bar2_esx:2;
856c5aa59e8SDavid Daney 		uint32_t bar2_enb:1;
857c5aa59e8SDavid Daney 		uint32_t tsr_hwm:3;
858c5aa59e8SDavid Daney 		uint32_t pmo_fpc:3;
859c5aa59e8SDavid Daney 		uint32_t pmo_amod:1;
860c5aa59e8SDavid Daney 		uint32_t b12_bist:1;
861c5aa59e8SDavid Daney 		uint32_t ap_64ad:1;
862c5aa59e8SDavid Daney 		uint32_t ap_pcix:1;
863c5aa59e8SDavid Daney 		uint32_t reserved_14_14:1;
864c5aa59e8SDavid Daney 		uint32_t en_wfilt:1;
865c5aa59e8SDavid Daney 		uint32_t scm:1;
866c5aa59e8SDavid Daney 		uint32_t scmtyp:1;
867c5aa59e8SDavid Daney 		uint32_t bar2pres:1;
868c5aa59e8SDavid Daney 		uint32_t erst_n:1;
869c5aa59e8SDavid Daney 		uint32_t reserved_20_31:12;
870c5aa59e8SDavid 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 {
877c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
8788860fb82SDavid Daney 		uint32_t reserved_16_31:16;
8798860fb82SDavid Daney 		uint32_t inc_val:16;
880c5aa59e8SDavid Daney #else
881c5aa59e8SDavid Daney 		uint32_t inc_val:16;
882c5aa59e8SDavid Daney 		uint32_t reserved_16_31:16;
883c5aa59e8SDavid 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 {
890c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
8918860fb82SDavid Daney 		uint32_t dma_cnt:32;
892c5aa59e8SDavid Daney #else
893c5aa59e8SDavid Daney 		uint32_t dma_cnt:32;
894c5aa59e8SDavid 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 {
901c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
9028860fb82SDavid Daney 		uint32_t pkt_cnt:32;
903c5aa59e8SDavid Daney #else
904c5aa59e8SDavid Daney 		uint32_t pkt_cnt:32;
905c5aa59e8SDavid 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 {
912c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
9138860fb82SDavid Daney 		uint32_t dma_time:32;
914c5aa59e8SDavid Daney #else
915c5aa59e8SDavid Daney 		uint32_t dma_time:32;
916c5aa59e8SDavid 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 {
923c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
9248860fb82SDavid Daney 		uint32_t icnt:32;
925c5aa59e8SDavid Daney #else
926c5aa59e8SDavid Daney 		uint32_t icnt:32;
927c5aa59e8SDavid 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 {
934c5aa59e8SDavid 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;
970c5aa59e8SDavid Daney #else
971c5aa59e8SDavid Daney 		uint64_t itr_wabt:1;
972c5aa59e8SDavid Daney 		uint64_t imr_wabt:1;
973c5aa59e8SDavid Daney 		uint64_t imr_wtto:1;
974c5aa59e8SDavid Daney 		uint64_t itr_abt:1;
975c5aa59e8SDavid Daney 		uint64_t imr_abt:1;
976c5aa59e8SDavid Daney 		uint64_t imr_tto:1;
977c5aa59e8SDavid Daney 		uint64_t imsi_per:1;
978c5aa59e8SDavid Daney 		uint64_t imsi_tabt:1;
979c5aa59e8SDavid Daney 		uint64_t imsi_mabt:1;
980c5aa59e8SDavid Daney 		uint64_t imsc_msg:1;
981c5aa59e8SDavid Daney 		uint64_t itsr_abt:1;
982c5aa59e8SDavid Daney 		uint64_t iserr:1;
983c5aa59e8SDavid Daney 		uint64_t iaperr:1;
984c5aa59e8SDavid Daney 		uint64_t idperr:1;
985c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
986c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
987c5aa59e8SDavid Daney 		uint64_t irsl_int:1;
988c5aa59e8SDavid Daney 		uint64_t ipcnt0:1;
989c5aa59e8SDavid Daney 		uint64_t ipcnt1:1;
990c5aa59e8SDavid Daney 		uint64_t ipcnt2:1;
991c5aa59e8SDavid Daney 		uint64_t ipcnt3:1;
992c5aa59e8SDavid Daney 		uint64_t iptime0:1;
993c5aa59e8SDavid Daney 		uint64_t iptime1:1;
994c5aa59e8SDavid Daney 		uint64_t iptime2:1;
995c5aa59e8SDavid Daney 		uint64_t iptime3:1;
996c5aa59e8SDavid Daney 		uint64_t idcnt0:1;
997c5aa59e8SDavid Daney 		uint64_t idcnt1:1;
998c5aa59e8SDavid Daney 		uint64_t idtime0:1;
999c5aa59e8SDavid Daney 		uint64_t idtime1:1;
1000c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1001c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1002c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1003c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1004c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1005c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1006c5aa59e8SDavid Daney #endif
10078860fb82SDavid Daney 	} s;
10088860fb82SDavid Daney 	struct cvmx_pci_int_enb_cn30xx {
1009c5aa59e8SDavid 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;
1041c5aa59e8SDavid Daney #else
1042c5aa59e8SDavid Daney 		uint64_t itr_wabt:1;
1043c5aa59e8SDavid Daney 		uint64_t imr_wabt:1;
1044c5aa59e8SDavid Daney 		uint64_t imr_wtto:1;
1045c5aa59e8SDavid Daney 		uint64_t itr_abt:1;
1046c5aa59e8SDavid Daney 		uint64_t imr_abt:1;
1047c5aa59e8SDavid Daney 		uint64_t imr_tto:1;
1048c5aa59e8SDavid Daney 		uint64_t imsi_per:1;
1049c5aa59e8SDavid Daney 		uint64_t imsi_tabt:1;
1050c5aa59e8SDavid Daney 		uint64_t imsi_mabt:1;
1051c5aa59e8SDavid Daney 		uint64_t imsc_msg:1;
1052c5aa59e8SDavid Daney 		uint64_t itsr_abt:1;
1053c5aa59e8SDavid Daney 		uint64_t iserr:1;
1054c5aa59e8SDavid Daney 		uint64_t iaperr:1;
1055c5aa59e8SDavid Daney 		uint64_t idperr:1;
1056c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1057c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1058c5aa59e8SDavid Daney 		uint64_t irsl_int:1;
1059c5aa59e8SDavid Daney 		uint64_t ipcnt0:1;
1060c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1061c5aa59e8SDavid Daney 		uint64_t iptime0:1;
1062c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1063c5aa59e8SDavid Daney 		uint64_t idcnt0:1;
1064c5aa59e8SDavid Daney 		uint64_t idcnt1:1;
1065c5aa59e8SDavid Daney 		uint64_t idtime0:1;
1066c5aa59e8SDavid Daney 		uint64_t idtime1:1;
1067c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1068c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1069c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1070c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1071c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1072c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1073c5aa59e8SDavid Daney #endif
10748860fb82SDavid Daney 	} cn30xx;
10758860fb82SDavid Daney 	struct cvmx_pci_int_enb_cn31xx {
1076c5aa59e8SDavid 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;
1110c5aa59e8SDavid Daney #else
1111c5aa59e8SDavid Daney 		uint64_t itr_wabt:1;
1112c5aa59e8SDavid Daney 		uint64_t imr_wabt:1;
1113c5aa59e8SDavid Daney 		uint64_t imr_wtto:1;
1114c5aa59e8SDavid Daney 		uint64_t itr_abt:1;
1115c5aa59e8SDavid Daney 		uint64_t imr_abt:1;
1116c5aa59e8SDavid Daney 		uint64_t imr_tto:1;
1117c5aa59e8SDavid Daney 		uint64_t imsi_per:1;
1118c5aa59e8SDavid Daney 		uint64_t imsi_tabt:1;
1119c5aa59e8SDavid Daney 		uint64_t imsi_mabt:1;
1120c5aa59e8SDavid Daney 		uint64_t imsc_msg:1;
1121c5aa59e8SDavid Daney 		uint64_t itsr_abt:1;
1122c5aa59e8SDavid Daney 		uint64_t iserr:1;
1123c5aa59e8SDavid Daney 		uint64_t iaperr:1;
1124c5aa59e8SDavid Daney 		uint64_t idperr:1;
1125c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1126c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1127c5aa59e8SDavid Daney 		uint64_t irsl_int:1;
1128c5aa59e8SDavid Daney 		uint64_t ipcnt0:1;
1129c5aa59e8SDavid Daney 		uint64_t ipcnt1:1;
1130c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1131c5aa59e8SDavid Daney 		uint64_t iptime0:1;
1132c5aa59e8SDavid Daney 		uint64_t iptime1:1;
1133c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1134c5aa59e8SDavid Daney 		uint64_t idcnt0:1;
1135c5aa59e8SDavid Daney 		uint64_t idcnt1:1;
1136c5aa59e8SDavid Daney 		uint64_t idtime0:1;
1137c5aa59e8SDavid Daney 		uint64_t idtime1:1;
1138c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1139c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1140c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1141c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1142c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1143c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1144c5aa59e8SDavid 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 {
1151c5aa59e8SDavid 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;
1187c5aa59e8SDavid Daney #else
1188c5aa59e8SDavid Daney 		uint64_t rtr_wabt:1;
1189c5aa59e8SDavid Daney 		uint64_t rmr_wabt:1;
1190c5aa59e8SDavid Daney 		uint64_t rmr_wtto:1;
1191c5aa59e8SDavid Daney 		uint64_t rtr_abt:1;
1192c5aa59e8SDavid Daney 		uint64_t rmr_abt:1;
1193c5aa59e8SDavid Daney 		uint64_t rmr_tto:1;
1194c5aa59e8SDavid Daney 		uint64_t rmsi_per:1;
1195c5aa59e8SDavid Daney 		uint64_t rmsi_tabt:1;
1196c5aa59e8SDavid Daney 		uint64_t rmsi_mabt:1;
1197c5aa59e8SDavid Daney 		uint64_t rmsc_msg:1;
1198c5aa59e8SDavid Daney 		uint64_t rtsr_abt:1;
1199c5aa59e8SDavid Daney 		uint64_t rserr:1;
1200c5aa59e8SDavid Daney 		uint64_t raperr:1;
1201c5aa59e8SDavid Daney 		uint64_t rdperr:1;
1202c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1203c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1204c5aa59e8SDavid Daney 		uint64_t rrsl_int:1;
1205c5aa59e8SDavid Daney 		uint64_t rpcnt0:1;
1206c5aa59e8SDavid Daney 		uint64_t rpcnt1:1;
1207c5aa59e8SDavid Daney 		uint64_t rpcnt2:1;
1208c5aa59e8SDavid Daney 		uint64_t rpcnt3:1;
1209c5aa59e8SDavid Daney 		uint64_t rptime0:1;
1210c5aa59e8SDavid Daney 		uint64_t rptime1:1;
1211c5aa59e8SDavid Daney 		uint64_t rptime2:1;
1212c5aa59e8SDavid Daney 		uint64_t rptime3:1;
1213c5aa59e8SDavid Daney 		uint64_t rdcnt0:1;
1214c5aa59e8SDavid Daney 		uint64_t rdcnt1:1;
1215c5aa59e8SDavid Daney 		uint64_t rdtime0:1;
1216c5aa59e8SDavid Daney 		uint64_t rdtime1:1;
1217c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1218c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1219c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1220c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1221c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1222c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1223c5aa59e8SDavid Daney #endif
12248860fb82SDavid Daney 	} s;
12258860fb82SDavid Daney 	struct cvmx_pci_int_enb2_cn30xx {
1226c5aa59e8SDavid 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;
1258c5aa59e8SDavid Daney #else
1259c5aa59e8SDavid Daney 		uint64_t rtr_wabt:1;
1260c5aa59e8SDavid Daney 		uint64_t rmr_wabt:1;
1261c5aa59e8SDavid Daney 		uint64_t rmr_wtto:1;
1262c5aa59e8SDavid Daney 		uint64_t rtr_abt:1;
1263c5aa59e8SDavid Daney 		uint64_t rmr_abt:1;
1264c5aa59e8SDavid Daney 		uint64_t rmr_tto:1;
1265c5aa59e8SDavid Daney 		uint64_t rmsi_per:1;
1266c5aa59e8SDavid Daney 		uint64_t rmsi_tabt:1;
1267c5aa59e8SDavid Daney 		uint64_t rmsi_mabt:1;
1268c5aa59e8SDavid Daney 		uint64_t rmsc_msg:1;
1269c5aa59e8SDavid Daney 		uint64_t rtsr_abt:1;
1270c5aa59e8SDavid Daney 		uint64_t rserr:1;
1271c5aa59e8SDavid Daney 		uint64_t raperr:1;
1272c5aa59e8SDavid Daney 		uint64_t rdperr:1;
1273c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1274c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1275c5aa59e8SDavid Daney 		uint64_t rrsl_int:1;
1276c5aa59e8SDavid Daney 		uint64_t rpcnt0:1;
1277c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1278c5aa59e8SDavid Daney 		uint64_t rptime0:1;
1279c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1280c5aa59e8SDavid Daney 		uint64_t rdcnt0:1;
1281c5aa59e8SDavid Daney 		uint64_t rdcnt1:1;
1282c5aa59e8SDavid Daney 		uint64_t rdtime0:1;
1283c5aa59e8SDavid Daney 		uint64_t rdtime1:1;
1284c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1285c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1286c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1287c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1288c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1289c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1290c5aa59e8SDavid Daney #endif
12918860fb82SDavid Daney 	} cn30xx;
12928860fb82SDavid Daney 	struct cvmx_pci_int_enb2_cn31xx {
1293c5aa59e8SDavid 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;
1327c5aa59e8SDavid Daney #else
1328c5aa59e8SDavid Daney 		uint64_t rtr_wabt:1;
1329c5aa59e8SDavid Daney 		uint64_t rmr_wabt:1;
1330c5aa59e8SDavid Daney 		uint64_t rmr_wtto:1;
1331c5aa59e8SDavid Daney 		uint64_t rtr_abt:1;
1332c5aa59e8SDavid Daney 		uint64_t rmr_abt:1;
1333c5aa59e8SDavid Daney 		uint64_t rmr_tto:1;
1334c5aa59e8SDavid Daney 		uint64_t rmsi_per:1;
1335c5aa59e8SDavid Daney 		uint64_t rmsi_tabt:1;
1336c5aa59e8SDavid Daney 		uint64_t rmsi_mabt:1;
1337c5aa59e8SDavid Daney 		uint64_t rmsc_msg:1;
1338c5aa59e8SDavid Daney 		uint64_t rtsr_abt:1;
1339c5aa59e8SDavid Daney 		uint64_t rserr:1;
1340c5aa59e8SDavid Daney 		uint64_t raperr:1;
1341c5aa59e8SDavid Daney 		uint64_t rdperr:1;
1342c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1343c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1344c5aa59e8SDavid Daney 		uint64_t rrsl_int:1;
1345c5aa59e8SDavid Daney 		uint64_t rpcnt0:1;
1346c5aa59e8SDavid Daney 		uint64_t rpcnt1:1;
1347c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1348c5aa59e8SDavid Daney 		uint64_t rptime0:1;
1349c5aa59e8SDavid Daney 		uint64_t rptime1:1;
1350c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1351c5aa59e8SDavid Daney 		uint64_t rdcnt0:1;
1352c5aa59e8SDavid Daney 		uint64_t rdcnt1:1;
1353c5aa59e8SDavid Daney 		uint64_t rdtime0:1;
1354c5aa59e8SDavid Daney 		uint64_t rdtime1:1;
1355c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1356c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1357c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1358c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1359c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1360c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1361c5aa59e8SDavid 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 {
1368c5aa59e8SDavid 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;
1404c5aa59e8SDavid Daney #else
1405c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1406c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1407c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1408c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1409c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1410c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1411c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1412c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1413c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1414c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1415c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1416c5aa59e8SDavid Daney 		uint64_t serr:1;
1417c5aa59e8SDavid Daney 		uint64_t aperr:1;
1418c5aa59e8SDavid Daney 		uint64_t dperr:1;
1419c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1420c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1421c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1422c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1423c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1424c5aa59e8SDavid Daney 		uint64_t pcnt2:1;
1425c5aa59e8SDavid Daney 		uint64_t pcnt3:1;
1426c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1427c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1428c5aa59e8SDavid Daney 		uint64_t ptime2:1;
1429c5aa59e8SDavid Daney 		uint64_t ptime3:1;
1430c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1431c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1432c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1433c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1434c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1435c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1436c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1437c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1438c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1439c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1440c5aa59e8SDavid Daney #endif
14418860fb82SDavid Daney 	} s;
14428860fb82SDavid Daney 	struct cvmx_pci_int_sum_cn30xx {
1443c5aa59e8SDavid 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;
1475c5aa59e8SDavid Daney #else
1476c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1477c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1478c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1479c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1480c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1481c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1482c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1483c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1484c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1485c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1486c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1487c5aa59e8SDavid Daney 		uint64_t serr:1;
1488c5aa59e8SDavid Daney 		uint64_t aperr:1;
1489c5aa59e8SDavid Daney 		uint64_t dperr:1;
1490c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1491c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1492c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1493c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1494c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1495c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1496c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1497c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1498c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1499c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1500c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1501c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1502c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1503c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1504c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1505c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1506c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1507c5aa59e8SDavid Daney #endif
15088860fb82SDavid Daney 	} cn30xx;
15098860fb82SDavid Daney 	struct cvmx_pci_int_sum_cn31xx {
1510c5aa59e8SDavid 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;
1544c5aa59e8SDavid Daney #else
1545c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1546c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1547c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1548c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1549c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1550c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1551c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1552c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1553c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1554c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1555c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1556c5aa59e8SDavid Daney 		uint64_t serr:1;
1557c5aa59e8SDavid Daney 		uint64_t aperr:1;
1558c5aa59e8SDavid Daney 		uint64_t dperr:1;
1559c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1560c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1561c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1562c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1563c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1564c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1565c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1566c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1567c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1568c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1569c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1570c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1571c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1572c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1573c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1574c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1575c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1576c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1577c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1578c5aa59e8SDavid 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 {
1585c5aa59e8SDavid 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;
1621c5aa59e8SDavid Daney #else
1622c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1623c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1624c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1625c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1626c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1627c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1628c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1629c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1630c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1631c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1632c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1633c5aa59e8SDavid Daney 		uint64_t serr:1;
1634c5aa59e8SDavid Daney 		uint64_t aperr:1;
1635c5aa59e8SDavid Daney 		uint64_t dperr:1;
1636c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1637c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1638c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1639c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1640c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1641c5aa59e8SDavid Daney 		uint64_t pcnt2:1;
1642c5aa59e8SDavid Daney 		uint64_t pcnt3:1;
1643c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1644c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1645c5aa59e8SDavid Daney 		uint64_t ptime2:1;
1646c5aa59e8SDavid Daney 		uint64_t ptime3:1;
1647c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1648c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1649c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1650c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1651c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1652c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1653c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1654c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1655c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1656c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1657c5aa59e8SDavid Daney #endif
16588860fb82SDavid Daney 	} s;
16598860fb82SDavid Daney 	struct cvmx_pci_int_sum2_cn30xx {
1660c5aa59e8SDavid 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;
1692c5aa59e8SDavid Daney #else
1693c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1694c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1695c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1696c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1697c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1698c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1699c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1700c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1701c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1702c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1703c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1704c5aa59e8SDavid Daney 		uint64_t serr:1;
1705c5aa59e8SDavid Daney 		uint64_t aperr:1;
1706c5aa59e8SDavid Daney 		uint64_t dperr:1;
1707c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1708c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1709c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1710c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1711c5aa59e8SDavid Daney 		uint64_t reserved_18_20:3;
1712c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1713c5aa59e8SDavid Daney 		uint64_t reserved_22_24:3;
1714c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1715c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1716c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1717c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1718c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1719c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1720c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1721c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1722c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1723c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1724c5aa59e8SDavid Daney #endif
17258860fb82SDavid Daney 	} cn30xx;
17268860fb82SDavid Daney 	struct cvmx_pci_int_sum2_cn31xx {
1727c5aa59e8SDavid 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;
1761c5aa59e8SDavid Daney #else
1762c5aa59e8SDavid Daney 		uint64_t tr_wabt:1;
1763c5aa59e8SDavid Daney 		uint64_t mr_wabt:1;
1764c5aa59e8SDavid Daney 		uint64_t mr_wtto:1;
1765c5aa59e8SDavid Daney 		uint64_t tr_abt:1;
1766c5aa59e8SDavid Daney 		uint64_t mr_abt:1;
1767c5aa59e8SDavid Daney 		uint64_t mr_tto:1;
1768c5aa59e8SDavid Daney 		uint64_t msi_per:1;
1769c5aa59e8SDavid Daney 		uint64_t msi_tabt:1;
1770c5aa59e8SDavid Daney 		uint64_t msi_mabt:1;
1771c5aa59e8SDavid Daney 		uint64_t msc_msg:1;
1772c5aa59e8SDavid Daney 		uint64_t tsr_abt:1;
1773c5aa59e8SDavid Daney 		uint64_t serr:1;
1774c5aa59e8SDavid Daney 		uint64_t aperr:1;
1775c5aa59e8SDavid Daney 		uint64_t dperr:1;
1776c5aa59e8SDavid Daney 		uint64_t ill_rwr:1;
1777c5aa59e8SDavid Daney 		uint64_t ill_rrd:1;
1778c5aa59e8SDavid Daney 		uint64_t rsl_int:1;
1779c5aa59e8SDavid Daney 		uint64_t pcnt0:1;
1780c5aa59e8SDavid Daney 		uint64_t pcnt1:1;
1781c5aa59e8SDavid Daney 		uint64_t reserved_19_20:2;
1782c5aa59e8SDavid Daney 		uint64_t ptime0:1;
1783c5aa59e8SDavid Daney 		uint64_t ptime1:1;
1784c5aa59e8SDavid Daney 		uint64_t reserved_23_24:2;
1785c5aa59e8SDavid Daney 		uint64_t dcnt0:1;
1786c5aa59e8SDavid Daney 		uint64_t dcnt1:1;
1787c5aa59e8SDavid Daney 		uint64_t dtime0:1;
1788c5aa59e8SDavid Daney 		uint64_t dtime1:1;
1789c5aa59e8SDavid Daney 		uint64_t dma0_fi:1;
1790c5aa59e8SDavid Daney 		uint64_t dma1_fi:1;
1791c5aa59e8SDavid Daney 		uint64_t win_wr:1;
1792c5aa59e8SDavid Daney 		uint64_t ill_wr:1;
1793c5aa59e8SDavid Daney 		uint64_t ill_rd:1;
1794c5aa59e8SDavid Daney 		uint64_t reserved_34_63:30;
1795c5aa59e8SDavid 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 {
1802c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18038860fb82SDavid Daney 		uint32_t reserved_6_31:26;
18048860fb82SDavid Daney 		uint32_t intr:6;
1805c5aa59e8SDavid Daney #else
1806c5aa59e8SDavid Daney 		uint32_t intr:6;
1807c5aa59e8SDavid Daney 		uint32_t reserved_6_31:26;
1808c5aa59e8SDavid 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 {
1815c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18168860fb82SDavid Daney 		uint32_t pkt_cnt:16;
18178860fb82SDavid Daney 		uint32_t ptr_cnt:16;
1818c5aa59e8SDavid Daney #else
1819c5aa59e8SDavid Daney 		uint32_t ptr_cnt:16;
1820c5aa59e8SDavid Daney 		uint32_t pkt_cnt:16;
1821c5aa59e8SDavid 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 {
1828c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18298860fb82SDavid Daney 		uint32_t pkt_cnt:32;
1830c5aa59e8SDavid Daney #else
1831c5aa59e8SDavid Daney 		uint32_t pkt_cnt:32;
1832c5aa59e8SDavid 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 {
1839c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18408860fb82SDavid Daney 		uint32_t pkt_cnt:32;
1841c5aa59e8SDavid Daney #else
1842c5aa59e8SDavid Daney 		uint32_t pkt_cnt:32;
1843c5aa59e8SDavid 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 {
1850c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
18518860fb82SDavid Daney 		uint32_t pkt_time:32;
1852c5aa59e8SDavid Daney #else
1853c5aa59e8SDavid Daney 		uint32_t pkt_time:32;
1854c5aa59e8SDavid 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 {
1861c5aa59e8SDavid 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;
1865c5aa59e8SDavid Daney #else
1866c5aa59e8SDavid Daney 		uint32_t prefetch:3;
1867c5aa59e8SDavid Daney 		uint32_t min_data:6;
1868c5aa59e8SDavid Daney 		uint32_t reserved_9_31:23;
1869c5aa59e8SDavid 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 {
1876c5aa59e8SDavid 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;
1880c5aa59e8SDavid Daney #else
1881c5aa59e8SDavid Daney 		uint32_t prefetch:3;
1882c5aa59e8SDavid Daney 		uint32_t min_data:6;
1883c5aa59e8SDavid Daney 		uint32_t reserved_9_31:23;
1884c5aa59e8SDavid 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 {
1891c5aa59e8SDavid 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;
1895c5aa59e8SDavid Daney #else
1896c5aa59e8SDavid Daney 		uint32_t prefetch:3;
1897c5aa59e8SDavid Daney 		uint32_t min_data:6;
1898c5aa59e8SDavid Daney 		uint32_t reserved_9_31:23;
1899c5aa59e8SDavid 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 {
1906c5aa59e8SDavid 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;
1910c5aa59e8SDavid Daney #else
1911c5aa59e8SDavid Daney 		uint64_t cnt:31;
1912c5aa59e8SDavid Daney 		uint64_t enb:1;
1913c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1914c5aa59e8SDavid 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 {
1921c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19228860fb82SDavid Daney 		uint64_t reserved_32_63:32;
19238860fb82SDavid Daney 		uint64_t scm:32;
1924c5aa59e8SDavid Daney #else
1925c5aa59e8SDavid Daney 		uint64_t scm:32;
1926c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
1927c5aa59e8SDavid 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 {
1934c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19358860fb82SDavid Daney 		uint64_t reserved_36_63:28;
19368860fb82SDavid Daney 		uint64_t tsr:36;
1937c5aa59e8SDavid Daney #else
1938c5aa59e8SDavid Daney 		uint64_t tsr:36;
1939c5aa59e8SDavid Daney 		uint64_t reserved_36_63:28;
1940c5aa59e8SDavid 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 {
1947c5aa59e8SDavid 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;
1951c5aa59e8SDavid Daney #else
1952c5aa59e8SDavid Daney 		uint64_t reserved_0_47:48;
1953c5aa59e8SDavid Daney 		uint64_t iobit:1;
1954c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
1955c5aa59e8SDavid Daney #endif
19568860fb82SDavid Daney 	} s;
19578860fb82SDavid Daney 	struct cvmx_pci_win_rd_addr_cn30xx {
1958c5aa59e8SDavid 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;
1963c5aa59e8SDavid Daney #else
1964c5aa59e8SDavid Daney 		uint64_t reserved_0_1:2;
1965c5aa59e8SDavid Daney 		uint64_t rd_addr:46;
1966c5aa59e8SDavid Daney 		uint64_t iobit:1;
1967c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
1968c5aa59e8SDavid Daney #endif
19698860fb82SDavid Daney 	} cn30xx;
19708860fb82SDavid Daney 	struct cvmx_pci_win_rd_addr_cn38xx {
1971c5aa59e8SDavid 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;
1976c5aa59e8SDavid Daney #else
1977c5aa59e8SDavid Daney 		uint64_t reserved_0_2:3;
1978c5aa59e8SDavid Daney 		uint64_t rd_addr:45;
1979c5aa59e8SDavid Daney 		uint64_t iobit:1;
1980c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
1981c5aa59e8SDavid 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 {
1988c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
19898860fb82SDavid Daney 		uint64_t rd_data:64;
1990c5aa59e8SDavid Daney #else
1991c5aa59e8SDavid Daney 		uint64_t rd_data:64;
1992c5aa59e8SDavid 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 {
1999c5aa59e8SDavid 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;
2004c5aa59e8SDavid Daney #else
2005c5aa59e8SDavid Daney 		uint64_t reserved_0_2:3;
2006c5aa59e8SDavid Daney 		uint64_t wr_addr:45;
2007c5aa59e8SDavid Daney 		uint64_t iobit:1;
2008c5aa59e8SDavid Daney 		uint64_t reserved_49_63:15;
2009c5aa59e8SDavid 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 {
2016c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
20178860fb82SDavid Daney 		uint64_t wr_data:64;
2018c5aa59e8SDavid Daney #else
2019c5aa59e8SDavid Daney 		uint64_t wr_data:64;
2020c5aa59e8SDavid 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 {
2027c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
20288860fb82SDavid Daney 		uint64_t reserved_8_63:56;
20298860fb82SDavid Daney 		uint64_t wr_mask:8;
2030c5aa59e8SDavid Daney #else
2031c5aa59e8SDavid Daney 		uint64_t wr_mask:8;
2032c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
2033c5aa59e8SDavid Daney #endif
20348860fb82SDavid Daney 	} s;
20358860fb82SDavid Daney };
20368860fb82SDavid Daney 
20378860fb82SDavid Daney #endif
2038