Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / mips / include / asm / octeon / cvmx-pci-defs.h
1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: support@caviumnetworks.com
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-2012 Cavium Networks
8  *
9  * This file is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License, Version 2, as
11  * published by the Free Software Foundation.
12  *
13  * This file is distributed in the hope that it will be useful, but
14  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16  * NONINFRINGEMENT.  See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this file; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22  * or visit http://www.gnu.org/licenses/.
23  *
24  * This file may also be available under a different license from Cavium.
25  * Contact Cavium Networks for more information
26  ***********************license end**************************************/
27
28 #ifndef __CVMX_PCI_DEFS_H__
29 #define __CVMX_PCI_DEFS_H__
30
31 #define CVMX_PCI_BAR1_INDEXX(offset) (0x0000000000000100ull + ((offset) & 31) * 4)
32 #define CVMX_PCI_BIST_REG (0x00000000000001C0ull)
33 #define CVMX_PCI_CFG00 (0x0000000000000000ull)
34 #define CVMX_PCI_CFG01 (0x0000000000000004ull)
35 #define CVMX_PCI_CFG02 (0x0000000000000008ull)
36 #define CVMX_PCI_CFG03 (0x000000000000000Cull)
37 #define CVMX_PCI_CFG04 (0x0000000000000010ull)
38 #define CVMX_PCI_CFG05 (0x0000000000000014ull)
39 #define CVMX_PCI_CFG06 (0x0000000000000018ull)
40 #define CVMX_PCI_CFG07 (0x000000000000001Cull)
41 #define CVMX_PCI_CFG08 (0x0000000000000020ull)
42 #define CVMX_PCI_CFG09 (0x0000000000000024ull)
43 #define CVMX_PCI_CFG10 (0x0000000000000028ull)
44 #define CVMX_PCI_CFG11 (0x000000000000002Cull)
45 #define CVMX_PCI_CFG12 (0x0000000000000030ull)
46 #define CVMX_PCI_CFG13 (0x0000000000000034ull)
47 #define CVMX_PCI_CFG15 (0x000000000000003Cull)
48 #define CVMX_PCI_CFG16 (0x0000000000000040ull)
49 #define CVMX_PCI_CFG17 (0x0000000000000044ull)
50 #define CVMX_PCI_CFG18 (0x0000000000000048ull)
51 #define CVMX_PCI_CFG19 (0x000000000000004Cull)
52 #define CVMX_PCI_CFG20 (0x0000000000000050ull)
53 #define CVMX_PCI_CFG21 (0x0000000000000054ull)
54 #define CVMX_PCI_CFG22 (0x0000000000000058ull)
55 #define CVMX_PCI_CFG56 (0x00000000000000E0ull)
56 #define CVMX_PCI_CFG57 (0x00000000000000E4ull)
57 #define CVMX_PCI_CFG58 (0x00000000000000E8ull)
58 #define CVMX_PCI_CFG59 (0x00000000000000ECull)
59 #define CVMX_PCI_CFG60 (0x00000000000000F0ull)
60 #define CVMX_PCI_CFG61 (0x00000000000000F4ull)
61 #define CVMX_PCI_CFG62 (0x00000000000000F8ull)
62 #define CVMX_PCI_CFG63 (0x00000000000000FCull)
63 #define CVMX_PCI_CNT_REG (0x00000000000001B8ull)
64 #define CVMX_PCI_CTL_STATUS_2 (0x000000000000018Cull)
65 #define CVMX_PCI_DBELL_X(offset) (0x0000000000000080ull + ((offset) & 3) * 8)
66 #define CVMX_PCI_DMA_CNT0 CVMX_PCI_DMA_CNTX(0)
67 #define CVMX_PCI_DMA_CNT1 CVMX_PCI_DMA_CNTX(1)
68 #define CVMX_PCI_DMA_CNTX(offset) (0x00000000000000A0ull + ((offset) & 1) * 8)
69 #define CVMX_PCI_DMA_INT_LEV0 CVMX_PCI_DMA_INT_LEVX(0)
70 #define CVMX_PCI_DMA_INT_LEV1 CVMX_PCI_DMA_INT_LEVX(1)
71 #define CVMX_PCI_DMA_INT_LEVX(offset) (0x00000000000000A4ull + ((offset) & 1) * 8)
72 #define CVMX_PCI_DMA_TIME0 CVMX_PCI_DMA_TIMEX(0)
73 #define CVMX_PCI_DMA_TIME1 CVMX_PCI_DMA_TIMEX(1)
74 #define CVMX_PCI_DMA_TIMEX(offset) (0x00000000000000B0ull + ((offset) & 1) * 4)
75 #define CVMX_PCI_INSTR_COUNT0 CVMX_PCI_INSTR_COUNTX(0)
76 #define CVMX_PCI_INSTR_COUNT1 CVMX_PCI_INSTR_COUNTX(1)
77 #define CVMX_PCI_INSTR_COUNT2 CVMX_PCI_INSTR_COUNTX(2)
78 #define CVMX_PCI_INSTR_COUNT3 CVMX_PCI_INSTR_COUNTX(3)
79 #define CVMX_PCI_INSTR_COUNTX(offset) (0x0000000000000084ull + ((offset) & 3) * 8)
80 #define CVMX_PCI_INT_ENB (0x0000000000000038ull)
81 #define CVMX_PCI_INT_ENB2 (0x00000000000001A0ull)
82 #define CVMX_PCI_INT_SUM (0x0000000000000030ull)
83 #define CVMX_PCI_INT_SUM2 (0x0000000000000198ull)
84 #define CVMX_PCI_MSI_RCV (0x00000000000000F0ull)
85 #define CVMX_PCI_PKTS_SENT0 CVMX_PCI_PKTS_SENTX(0)
86 #define CVMX_PCI_PKTS_SENT1 CVMX_PCI_PKTS_SENTX(1)
87 #define CVMX_PCI_PKTS_SENT2 CVMX_PCI_PKTS_SENTX(2)
88 #define CVMX_PCI_PKTS_SENT3 CVMX_PCI_PKTS_SENTX(3)
89 #define CVMX_PCI_PKTS_SENTX(offset) (0x0000000000000040ull + ((offset) & 3) * 16)
90 #define CVMX_PCI_PKTS_SENT_INT_LEV0 CVMX_PCI_PKTS_SENT_INT_LEVX(0)
91 #define CVMX_PCI_PKTS_SENT_INT_LEV1 CVMX_PCI_PKTS_SENT_INT_LEVX(1)
92 #define CVMX_PCI_PKTS_SENT_INT_LEV2 CVMX_PCI_PKTS_SENT_INT_LEVX(2)
93 #define CVMX_PCI_PKTS_SENT_INT_LEV3 CVMX_PCI_PKTS_SENT_INT_LEVX(3)
94 #define CVMX_PCI_PKTS_SENT_INT_LEVX(offset) (0x0000000000000048ull + ((offset) & 3) * 16)
95 #define CVMX_PCI_PKTS_SENT_TIME0 CVMX_PCI_PKTS_SENT_TIMEX(0)
96 #define CVMX_PCI_PKTS_SENT_TIME1 CVMX_PCI_PKTS_SENT_TIMEX(1)
97 #define CVMX_PCI_PKTS_SENT_TIME2 CVMX_PCI_PKTS_SENT_TIMEX(2)
98 #define CVMX_PCI_PKTS_SENT_TIME3 CVMX_PCI_PKTS_SENT_TIMEX(3)
99 #define CVMX_PCI_PKTS_SENT_TIMEX(offset) (0x000000000000004Cull + ((offset) & 3) * 16)
100 #define CVMX_PCI_PKT_CREDITS0 CVMX_PCI_PKT_CREDITSX(0)
101 #define CVMX_PCI_PKT_CREDITS1 CVMX_PCI_PKT_CREDITSX(1)
102 #define CVMX_PCI_PKT_CREDITS2 CVMX_PCI_PKT_CREDITSX(2)
103 #define CVMX_PCI_PKT_CREDITS3 CVMX_PCI_PKT_CREDITSX(3)
104 #define CVMX_PCI_PKT_CREDITSX(offset) (0x0000000000000044ull + ((offset) & 3) * 16)
105 #define CVMX_PCI_READ_CMD_6 (0x0000000000000180ull)
106 #define CVMX_PCI_READ_CMD_C (0x0000000000000184ull)
107 #define CVMX_PCI_READ_CMD_E (0x0000000000000188ull)
108 #define CVMX_PCI_READ_TIMEOUT (CVMX_ADD_IO_SEG(0x00011F00000000B0ull))
109 #define CVMX_PCI_SCM_REG (0x00000000000001A8ull)
110 #define CVMX_PCI_TSR_REG (0x00000000000001B0ull)
111 #define CVMX_PCI_WIN_RD_ADDR (0x0000000000000008ull)
112 #define CVMX_PCI_WIN_RD_DATA (0x0000000000000020ull)
113 #define CVMX_PCI_WIN_WR_ADDR (0x0000000000000000ull)
114 #define CVMX_PCI_WIN_WR_DATA (0x0000000000000010ull)
115 #define CVMX_PCI_WIN_WR_MASK (0x0000000000000018ull)
116
117 union cvmx_pci_bar1_indexx {
118         uint32_t u32;
119         struct cvmx_pci_bar1_indexx_s {
120 #ifdef __BIG_ENDIAN_BITFIELD
121                 uint32_t reserved_18_31:14;
122                 uint32_t addr_idx:14;
123                 uint32_t ca:1;
124                 uint32_t end_swp:2;
125                 uint32_t addr_v:1;
126 #else
127                 uint32_t addr_v:1;
128                 uint32_t end_swp:2;
129                 uint32_t ca:1;
130                 uint32_t addr_idx:14;
131                 uint32_t reserved_18_31:14;
132 #endif
133         } s;
134         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
143 union 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
175 union 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
195 union 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
259 union 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
279 union 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
309 union 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
335 union 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
353 union 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
379 union 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
397 union 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
421 union 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
441 union 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
459 union 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
479 union 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
503 union 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
523 union 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
547 union 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
595 union 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
613 union 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
631 union 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
683 union 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
701 union 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
719 union 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
749 union 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
779 union 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
821 union 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
857 union 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
893 union 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
923 union 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
943 union 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
961 union 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
981 union 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
1005 union 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
1101 union 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
1121 union 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
1139 union 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
1157 union 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
1175 union 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
1193 union 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
1415 union 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
1637 union 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
1859 union 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
2081 union 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
2101 union 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
2121 union 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
2139 union 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
2157 union 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
2175 union 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
2197 union 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
2219 union 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
2241 union 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
2263 union 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
2283 union 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
2303 union 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
2349 union 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
2367 union 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
2391 union 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
2409 union 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