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