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-2008 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) \
32 	 (0x0000000000000100ull + (((offset) & 31) * 4))
33 #define CVMX_PCI_BIST_REG \
34 	 (0x00000000000001C0ull)
35 #define CVMX_PCI_CFG00 \
36 	 (0x0000000000000000ull)
37 #define CVMX_PCI_CFG01 \
38 	 (0x0000000000000004ull)
39 #define CVMX_PCI_CFG02 \
40 	 (0x0000000000000008ull)
41 #define CVMX_PCI_CFG03 \
42 	 (0x000000000000000Cull)
43 #define CVMX_PCI_CFG04 \
44 	 (0x0000000000000010ull)
45 #define CVMX_PCI_CFG05 \
46 	 (0x0000000000000014ull)
47 #define CVMX_PCI_CFG06 \
48 	 (0x0000000000000018ull)
49 #define CVMX_PCI_CFG07 \
50 	 (0x000000000000001Cull)
51 #define CVMX_PCI_CFG08 \
52 	 (0x0000000000000020ull)
53 #define CVMX_PCI_CFG09 \
54 	 (0x0000000000000024ull)
55 #define CVMX_PCI_CFG10 \
56 	 (0x0000000000000028ull)
57 #define CVMX_PCI_CFG11 \
58 	 (0x000000000000002Cull)
59 #define CVMX_PCI_CFG12 \
60 	 (0x0000000000000030ull)
61 #define CVMX_PCI_CFG13 \
62 	 (0x0000000000000034ull)
63 #define CVMX_PCI_CFG15 \
64 	 (0x000000000000003Cull)
65 #define CVMX_PCI_CFG16 \
66 	 (0x0000000000000040ull)
67 #define CVMX_PCI_CFG17 \
68 	 (0x0000000000000044ull)
69 #define CVMX_PCI_CFG18 \
70 	 (0x0000000000000048ull)
71 #define CVMX_PCI_CFG19 \
72 	 (0x000000000000004Cull)
73 #define CVMX_PCI_CFG20 \
74 	 (0x0000000000000050ull)
75 #define CVMX_PCI_CFG21 \
76 	 (0x0000000000000054ull)
77 #define CVMX_PCI_CFG22 \
78 	 (0x0000000000000058ull)
79 #define CVMX_PCI_CFG56 \
80 	 (0x00000000000000E0ull)
81 #define CVMX_PCI_CFG57 \
82 	 (0x00000000000000E4ull)
83 #define CVMX_PCI_CFG58 \
84 	 (0x00000000000000E8ull)
85 #define CVMX_PCI_CFG59 \
86 	 (0x00000000000000ECull)
87 #define CVMX_PCI_CFG60 \
88 	 (0x00000000000000F0ull)
89 #define CVMX_PCI_CFG61 \
90 	 (0x00000000000000F4ull)
91 #define CVMX_PCI_CFG62 \
92 	 (0x00000000000000F8ull)
93 #define CVMX_PCI_CFG63 \
94 	 (0x00000000000000FCull)
95 #define CVMX_PCI_CNT_REG \
96 	 (0x00000000000001B8ull)
97 #define CVMX_PCI_CTL_STATUS_2 \
98 	 (0x000000000000018Cull)
99 #define CVMX_PCI_DBELL_0 \
100 	 (0x0000000000000080ull)
101 #define CVMX_PCI_DBELL_1 \
102 	 (0x0000000000000088ull)
103 #define CVMX_PCI_DBELL_2 \
104 	 (0x0000000000000090ull)
105 #define CVMX_PCI_DBELL_3 \
106 	 (0x0000000000000098ull)
107 #define CVMX_PCI_DBELL_X(offset) \
108 	 (0x0000000000000080ull + (((offset) & 3) * 8))
109 #define CVMX_PCI_DMA_CNT0 \
110 	 (0x00000000000000A0ull)
111 #define CVMX_PCI_DMA_CNT1 \
112 	 (0x00000000000000A8ull)
113 #define CVMX_PCI_DMA_CNTX(offset) \
114 	 (0x00000000000000A0ull + (((offset) & 1) * 8))
115 #define CVMX_PCI_DMA_INT_LEV0 \
116 	 (0x00000000000000A4ull)
117 #define CVMX_PCI_DMA_INT_LEV1 \
118 	 (0x00000000000000ACull)
119 #define CVMX_PCI_DMA_INT_LEVX(offset) \
120 	 (0x00000000000000A4ull + (((offset) & 1) * 8))
121 #define CVMX_PCI_DMA_TIME0 \
122 	 (0x00000000000000B0ull)
123 #define CVMX_PCI_DMA_TIME1 \
124 	 (0x00000000000000B4ull)
125 #define CVMX_PCI_DMA_TIMEX(offset) \
126 	 (0x00000000000000B0ull + (((offset) & 1) * 4))
127 #define CVMX_PCI_INSTR_COUNT0 \
128 	 (0x0000000000000084ull)
129 #define CVMX_PCI_INSTR_COUNT1 \
130 	 (0x000000000000008Cull)
131 #define CVMX_PCI_INSTR_COUNT2 \
132 	 (0x0000000000000094ull)
133 #define CVMX_PCI_INSTR_COUNT3 \
134 	 (0x000000000000009Cull)
135 #define CVMX_PCI_INSTR_COUNTX(offset) \
136 	 (0x0000000000000084ull + (((offset) & 3) * 8))
137 #define CVMX_PCI_INT_ENB \
138 	 (0x0000000000000038ull)
139 #define CVMX_PCI_INT_ENB2 \
140 	 (0x00000000000001A0ull)
141 #define CVMX_PCI_INT_SUM \
142 	 (0x0000000000000030ull)
143 #define CVMX_PCI_INT_SUM2 \
144 	 (0x0000000000000198ull)
145 #define CVMX_PCI_MSI_RCV \
146 	 (0x00000000000000F0ull)
147 #define CVMX_PCI_PKTS_SENT0 \
148 	 (0x0000000000000040ull)
149 #define CVMX_PCI_PKTS_SENT1 \
150 	 (0x0000000000000050ull)
151 #define CVMX_PCI_PKTS_SENT2 \
152 	 (0x0000000000000060ull)
153 #define CVMX_PCI_PKTS_SENT3 \
154 	 (0x0000000000000070ull)
155 #define CVMX_PCI_PKTS_SENTX(offset) \
156 	 (0x0000000000000040ull + (((offset) & 3) * 16))
157 #define CVMX_PCI_PKTS_SENT_INT_LEV0 \
158 	 (0x0000000000000048ull)
159 #define CVMX_PCI_PKTS_SENT_INT_LEV1 \
160 	 (0x0000000000000058ull)
161 #define CVMX_PCI_PKTS_SENT_INT_LEV2 \
162 	 (0x0000000000000068ull)
163 #define CVMX_PCI_PKTS_SENT_INT_LEV3 \
164 	 (0x0000000000000078ull)
165 #define CVMX_PCI_PKTS_SENT_INT_LEVX(offset) \
166 	 (0x0000000000000048ull + (((offset) & 3) * 16))
167 #define CVMX_PCI_PKTS_SENT_TIME0 \
168 	 (0x000000000000004Cull)
169 #define CVMX_PCI_PKTS_SENT_TIME1 \
170 	 (0x000000000000005Cull)
171 #define CVMX_PCI_PKTS_SENT_TIME2 \
172 	 (0x000000000000006Cull)
173 #define CVMX_PCI_PKTS_SENT_TIME3 \
174 	 (0x000000000000007Cull)
175 #define CVMX_PCI_PKTS_SENT_TIMEX(offset) \
176 	 (0x000000000000004Cull + (((offset) & 3) * 16))
177 #define CVMX_PCI_PKT_CREDITS0 \
178 	 (0x0000000000000044ull)
179 #define CVMX_PCI_PKT_CREDITS1 \
180 	 (0x0000000000000054ull)
181 #define CVMX_PCI_PKT_CREDITS2 \
182 	 (0x0000000000000064ull)
183 #define CVMX_PCI_PKT_CREDITS3 \
184 	 (0x0000000000000074ull)
185 #define CVMX_PCI_PKT_CREDITSX(offset) \
186 	 (0x0000000000000044ull + (((offset) & 3) * 16))
187 #define CVMX_PCI_READ_CMD_6 \
188 	 (0x0000000000000180ull)
189 #define CVMX_PCI_READ_CMD_C \
190 	 (0x0000000000000184ull)
191 #define CVMX_PCI_READ_CMD_E \
192 	 (0x0000000000000188ull)
193 #define CVMX_PCI_READ_TIMEOUT \
194 	 CVMX_ADD_IO_SEG(0x00011F00000000B0ull)
195 #define CVMX_PCI_SCM_REG \
196 	 (0x00000000000001A8ull)
197 #define CVMX_PCI_TSR_REG \
198 	 (0x00000000000001B0ull)
199 #define CVMX_PCI_WIN_RD_ADDR \
200 	 (0x0000000000000008ull)
201 #define CVMX_PCI_WIN_RD_DATA \
202 	 (0x0000000000000020ull)
203 #define CVMX_PCI_WIN_WR_ADDR \
204 	 (0x0000000000000000ull)
205 #define CVMX_PCI_WIN_WR_DATA \
206 	 (0x0000000000000010ull)
207 #define CVMX_PCI_WIN_WR_MASK \
208 	 (0x0000000000000018ull)
209 
210 union cvmx_pci_bar1_indexx {
211 	uint32_t u32;
212 	struct cvmx_pci_bar1_indexx_s {
213 		uint32_t reserved_18_31:14;
214 		uint32_t addr_idx:14;
215 		uint32_t ca:1;
216 		uint32_t end_swp:2;
217 		uint32_t addr_v:1;
218 	} s;
219 	struct cvmx_pci_bar1_indexx_s cn30xx;
220 	struct cvmx_pci_bar1_indexx_s cn31xx;
221 	struct cvmx_pci_bar1_indexx_s cn38xx;
222 	struct cvmx_pci_bar1_indexx_s cn38xxp2;
223 	struct cvmx_pci_bar1_indexx_s cn50xx;
224 	struct cvmx_pci_bar1_indexx_s cn58xx;
225 	struct cvmx_pci_bar1_indexx_s cn58xxp1;
226 };
227 
228 union cvmx_pci_bist_reg {
229 	uint64_t u64;
230 	struct cvmx_pci_bist_reg_s {
231 		uint64_t reserved_10_63:54;
232 		uint64_t rsp_bs:1;
233 		uint64_t dma0_bs:1;
234 		uint64_t cmd0_bs:1;
235 		uint64_t cmd_bs:1;
236 		uint64_t csr2p_bs:1;
237 		uint64_t csrr_bs:1;
238 		uint64_t rsp2p_bs:1;
239 		uint64_t csr2n_bs:1;
240 		uint64_t dat2n_bs:1;
241 		uint64_t dbg2n_bs:1;
242 	} s;
243 	struct cvmx_pci_bist_reg_s cn50xx;
244 };
245 
246 union cvmx_pci_cfg00 {
247 	uint32_t u32;
248 	struct cvmx_pci_cfg00_s {
249 		uint32_t devid:16;
250 		uint32_t vendid:16;
251 	} s;
252 	struct cvmx_pci_cfg00_s cn30xx;
253 	struct cvmx_pci_cfg00_s cn31xx;
254 	struct cvmx_pci_cfg00_s cn38xx;
255 	struct cvmx_pci_cfg00_s cn38xxp2;
256 	struct cvmx_pci_cfg00_s cn50xx;
257 	struct cvmx_pci_cfg00_s cn58xx;
258 	struct cvmx_pci_cfg00_s cn58xxp1;
259 };
260 
261 union cvmx_pci_cfg01 {
262 	uint32_t u32;
263 	struct cvmx_pci_cfg01_s {
264 		uint32_t dpe:1;
265 		uint32_t sse:1;
266 		uint32_t rma:1;
267 		uint32_t rta:1;
268 		uint32_t sta:1;
269 		uint32_t devt:2;
270 		uint32_t mdpe:1;
271 		uint32_t fbb:1;
272 		uint32_t reserved_22_22:1;
273 		uint32_t m66:1;
274 		uint32_t cle:1;
275 		uint32_t i_stat:1;
276 		uint32_t reserved_11_18:8;
277 		uint32_t i_dis:1;
278 		uint32_t fbbe:1;
279 		uint32_t see:1;
280 		uint32_t ads:1;
281 		uint32_t pee:1;
282 		uint32_t vps:1;
283 		uint32_t mwice:1;
284 		uint32_t scse:1;
285 		uint32_t me:1;
286 		uint32_t msae:1;
287 		uint32_t isae:1;
288 	} s;
289 	struct cvmx_pci_cfg01_s cn30xx;
290 	struct cvmx_pci_cfg01_s cn31xx;
291 	struct cvmx_pci_cfg01_s cn38xx;
292 	struct cvmx_pci_cfg01_s cn38xxp2;
293 	struct cvmx_pci_cfg01_s cn50xx;
294 	struct cvmx_pci_cfg01_s cn58xx;
295 	struct cvmx_pci_cfg01_s cn58xxp1;
296 };
297 
298 union cvmx_pci_cfg02 {
299 	uint32_t u32;
300 	struct cvmx_pci_cfg02_s {
301 		uint32_t cc:24;
302 		uint32_t rid:8;
303 	} s;
304 	struct cvmx_pci_cfg02_s cn30xx;
305 	struct cvmx_pci_cfg02_s cn31xx;
306 	struct cvmx_pci_cfg02_s cn38xx;
307 	struct cvmx_pci_cfg02_s cn38xxp2;
308 	struct cvmx_pci_cfg02_s cn50xx;
309 	struct cvmx_pci_cfg02_s cn58xx;
310 	struct cvmx_pci_cfg02_s cn58xxp1;
311 };
312 
313 union cvmx_pci_cfg03 {
314 	uint32_t u32;
315 	struct cvmx_pci_cfg03_s {
316 		uint32_t bcap:1;
317 		uint32_t brb:1;
318 		uint32_t reserved_28_29:2;
319 		uint32_t bcod:4;
320 		uint32_t ht:8;
321 		uint32_t lt:8;
322 		uint32_t cls:8;
323 	} s;
324 	struct cvmx_pci_cfg03_s cn30xx;
325 	struct cvmx_pci_cfg03_s cn31xx;
326 	struct cvmx_pci_cfg03_s cn38xx;
327 	struct cvmx_pci_cfg03_s cn38xxp2;
328 	struct cvmx_pci_cfg03_s cn50xx;
329 	struct cvmx_pci_cfg03_s cn58xx;
330 	struct cvmx_pci_cfg03_s cn58xxp1;
331 };
332 
333 union cvmx_pci_cfg04 {
334 	uint32_t u32;
335 	struct cvmx_pci_cfg04_s {
336 		uint32_t lbase:20;
337 		uint32_t lbasez:8;
338 		uint32_t pf:1;
339 		uint32_t typ:2;
340 		uint32_t mspc:1;
341 	} s;
342 	struct cvmx_pci_cfg04_s cn30xx;
343 	struct cvmx_pci_cfg04_s cn31xx;
344 	struct cvmx_pci_cfg04_s cn38xx;
345 	struct cvmx_pci_cfg04_s cn38xxp2;
346 	struct cvmx_pci_cfg04_s cn50xx;
347 	struct cvmx_pci_cfg04_s cn58xx;
348 	struct cvmx_pci_cfg04_s cn58xxp1;
349 };
350 
351 union cvmx_pci_cfg05 {
352 	uint32_t u32;
353 	struct cvmx_pci_cfg05_s {
354 		uint32_t hbase:32;
355 	} s;
356 	struct cvmx_pci_cfg05_s cn30xx;
357 	struct cvmx_pci_cfg05_s cn31xx;
358 	struct cvmx_pci_cfg05_s cn38xx;
359 	struct cvmx_pci_cfg05_s cn38xxp2;
360 	struct cvmx_pci_cfg05_s cn50xx;
361 	struct cvmx_pci_cfg05_s cn58xx;
362 	struct cvmx_pci_cfg05_s cn58xxp1;
363 };
364 
365 union cvmx_pci_cfg06 {
366 	uint32_t u32;
367 	struct cvmx_pci_cfg06_s {
368 		uint32_t lbase:5;
369 		uint32_t lbasez:23;
370 		uint32_t pf:1;
371 		uint32_t typ:2;
372 		uint32_t mspc:1;
373 	} s;
374 	struct cvmx_pci_cfg06_s cn30xx;
375 	struct cvmx_pci_cfg06_s cn31xx;
376 	struct cvmx_pci_cfg06_s cn38xx;
377 	struct cvmx_pci_cfg06_s cn38xxp2;
378 	struct cvmx_pci_cfg06_s cn50xx;
379 	struct cvmx_pci_cfg06_s cn58xx;
380 	struct cvmx_pci_cfg06_s cn58xxp1;
381 };
382 
383 union cvmx_pci_cfg07 {
384 	uint32_t u32;
385 	struct cvmx_pci_cfg07_s {
386 		uint32_t hbase:32;
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 		uint32_t lbasez:28;
401 		uint32_t pf:1;
402 		uint32_t typ:2;
403 		uint32_t mspc:1;
404 	} s;
405 	struct cvmx_pci_cfg08_s cn30xx;
406 	struct cvmx_pci_cfg08_s cn31xx;
407 	struct cvmx_pci_cfg08_s cn38xx;
408 	struct cvmx_pci_cfg08_s cn38xxp2;
409 	struct cvmx_pci_cfg08_s cn50xx;
410 	struct cvmx_pci_cfg08_s cn58xx;
411 	struct cvmx_pci_cfg08_s cn58xxp1;
412 };
413 
414 union cvmx_pci_cfg09 {
415 	uint32_t u32;
416 	struct cvmx_pci_cfg09_s {
417 		uint32_t hbase:25;
418 		uint32_t hbasez:7;
419 	} s;
420 	struct cvmx_pci_cfg09_s cn30xx;
421 	struct cvmx_pci_cfg09_s cn31xx;
422 	struct cvmx_pci_cfg09_s cn38xx;
423 	struct cvmx_pci_cfg09_s cn38xxp2;
424 	struct cvmx_pci_cfg09_s cn50xx;
425 	struct cvmx_pci_cfg09_s cn58xx;
426 	struct cvmx_pci_cfg09_s cn58xxp1;
427 };
428 
429 union cvmx_pci_cfg10 {
430 	uint32_t u32;
431 	struct cvmx_pci_cfg10_s {
432 		uint32_t cisp:32;
433 	} s;
434 	struct cvmx_pci_cfg10_s cn30xx;
435 	struct cvmx_pci_cfg10_s cn31xx;
436 	struct cvmx_pci_cfg10_s cn38xx;
437 	struct cvmx_pci_cfg10_s cn38xxp2;
438 	struct cvmx_pci_cfg10_s cn50xx;
439 	struct cvmx_pci_cfg10_s cn58xx;
440 	struct cvmx_pci_cfg10_s cn58xxp1;
441 };
442 
443 union cvmx_pci_cfg11 {
444 	uint32_t u32;
445 	struct cvmx_pci_cfg11_s {
446 		uint32_t ssid:16;
447 		uint32_t ssvid:16;
448 	} s;
449 	struct cvmx_pci_cfg11_s cn30xx;
450 	struct cvmx_pci_cfg11_s cn31xx;
451 	struct cvmx_pci_cfg11_s cn38xx;
452 	struct cvmx_pci_cfg11_s cn38xxp2;
453 	struct cvmx_pci_cfg11_s cn50xx;
454 	struct cvmx_pci_cfg11_s cn58xx;
455 	struct cvmx_pci_cfg11_s cn58xxp1;
456 };
457 
458 union cvmx_pci_cfg12 {
459 	uint32_t u32;
460 	struct cvmx_pci_cfg12_s {
461 		uint32_t erbar:16;
462 		uint32_t erbarz:5;
463 		uint32_t reserved_1_10:10;
464 		uint32_t erbar_en:1;
465 	} s;
466 	struct cvmx_pci_cfg12_s cn30xx;
467 	struct cvmx_pci_cfg12_s cn31xx;
468 	struct cvmx_pci_cfg12_s cn38xx;
469 	struct cvmx_pci_cfg12_s cn38xxp2;
470 	struct cvmx_pci_cfg12_s cn50xx;
471 	struct cvmx_pci_cfg12_s cn58xx;
472 	struct cvmx_pci_cfg12_s cn58xxp1;
473 };
474 
475 union cvmx_pci_cfg13 {
476 	uint32_t u32;
477 	struct cvmx_pci_cfg13_s {
478 		uint32_t reserved_8_31:24;
479 		uint32_t cp:8;
480 	} s;
481 	struct cvmx_pci_cfg13_s cn30xx;
482 	struct cvmx_pci_cfg13_s cn31xx;
483 	struct cvmx_pci_cfg13_s cn38xx;
484 	struct cvmx_pci_cfg13_s cn38xxp2;
485 	struct cvmx_pci_cfg13_s cn50xx;
486 	struct cvmx_pci_cfg13_s cn58xx;
487 	struct cvmx_pci_cfg13_s cn58xxp1;
488 };
489 
490 union cvmx_pci_cfg15 {
491 	uint32_t u32;
492 	struct cvmx_pci_cfg15_s {
493 		uint32_t ml:8;
494 		uint32_t mg:8;
495 		uint32_t inta:8;
496 		uint32_t il:8;
497 	} s;
498 	struct cvmx_pci_cfg15_s cn30xx;
499 	struct cvmx_pci_cfg15_s cn31xx;
500 	struct cvmx_pci_cfg15_s cn38xx;
501 	struct cvmx_pci_cfg15_s cn38xxp2;
502 	struct cvmx_pci_cfg15_s cn50xx;
503 	struct cvmx_pci_cfg15_s cn58xx;
504 	struct cvmx_pci_cfg15_s cn58xxp1;
505 };
506 
507 union cvmx_pci_cfg16 {
508 	uint32_t u32;
509 	struct cvmx_pci_cfg16_s {
510 		uint32_t trdnpr:1;
511 		uint32_t trdard:1;
512 		uint32_t rdsati:1;
513 		uint32_t trdrs:1;
514 		uint32_t trtae:1;
515 		uint32_t twsei:1;
516 		uint32_t twsen:1;
517 		uint32_t twtae:1;
518 		uint32_t tmae:1;
519 		uint32_t tslte:3;
520 		uint32_t tilt:4;
521 		uint32_t pbe:12;
522 		uint32_t dppmr:1;
523 		uint32_t reserved_2_2:1;
524 		uint32_t tswc:1;
525 		uint32_t mltd:1;
526 	} s;
527 	struct cvmx_pci_cfg16_s cn30xx;
528 	struct cvmx_pci_cfg16_s cn31xx;
529 	struct cvmx_pci_cfg16_s cn38xx;
530 	struct cvmx_pci_cfg16_s cn38xxp2;
531 	struct cvmx_pci_cfg16_s cn50xx;
532 	struct cvmx_pci_cfg16_s cn58xx;
533 	struct cvmx_pci_cfg16_s cn58xxp1;
534 };
535 
536 union cvmx_pci_cfg17 {
537 	uint32_t u32;
538 	struct cvmx_pci_cfg17_s {
539 		uint32_t tscme:32;
540 	} s;
541 	struct cvmx_pci_cfg17_s cn30xx;
542 	struct cvmx_pci_cfg17_s cn31xx;
543 	struct cvmx_pci_cfg17_s cn38xx;
544 	struct cvmx_pci_cfg17_s cn38xxp2;
545 	struct cvmx_pci_cfg17_s cn50xx;
546 	struct cvmx_pci_cfg17_s cn58xx;
547 	struct cvmx_pci_cfg17_s cn58xxp1;
548 };
549 
550 union cvmx_pci_cfg18 {
551 	uint32_t u32;
552 	struct cvmx_pci_cfg18_s {
553 		uint32_t tdsrps:32;
554 	} s;
555 	struct cvmx_pci_cfg18_s cn30xx;
556 	struct cvmx_pci_cfg18_s cn31xx;
557 	struct cvmx_pci_cfg18_s cn38xx;
558 	struct cvmx_pci_cfg18_s cn38xxp2;
559 	struct cvmx_pci_cfg18_s cn50xx;
560 	struct cvmx_pci_cfg18_s cn58xx;
561 	struct cvmx_pci_cfg18_s cn58xxp1;
562 };
563 
564 union cvmx_pci_cfg19 {
565 	uint32_t u32;
566 	struct cvmx_pci_cfg19_s {
567 		uint32_t mrbcm:1;
568 		uint32_t mrbci:1;
569 		uint32_t mdwe:1;
570 		uint32_t mdre:1;
571 		uint32_t mdrimc:1;
572 		uint32_t mdrrmc:3;
573 		uint32_t tmes:8;
574 		uint32_t teci:1;
575 		uint32_t tmei:1;
576 		uint32_t tmse:1;
577 		uint32_t tmdpes:1;
578 		uint32_t tmapes:1;
579 		uint32_t reserved_9_10:2;
580 		uint32_t tibcd:1;
581 		uint32_t tibde:1;
582 		uint32_t reserved_6_6:1;
583 		uint32_t tidomc:1;
584 		uint32_t tdomc:5;
585 	} s;
586 	struct cvmx_pci_cfg19_s cn30xx;
587 	struct cvmx_pci_cfg19_s cn31xx;
588 	struct cvmx_pci_cfg19_s cn38xx;
589 	struct cvmx_pci_cfg19_s cn38xxp2;
590 	struct cvmx_pci_cfg19_s cn50xx;
591 	struct cvmx_pci_cfg19_s cn58xx;
592 	struct cvmx_pci_cfg19_s cn58xxp1;
593 };
594 
595 union cvmx_pci_cfg20 {
596 	uint32_t u32;
597 	struct cvmx_pci_cfg20_s {
598 		uint32_t mdsp:32;
599 	} s;
600 	struct cvmx_pci_cfg20_s cn30xx;
601 	struct cvmx_pci_cfg20_s cn31xx;
602 	struct cvmx_pci_cfg20_s cn38xx;
603 	struct cvmx_pci_cfg20_s cn38xxp2;
604 	struct cvmx_pci_cfg20_s cn50xx;
605 	struct cvmx_pci_cfg20_s cn58xx;
606 	struct cvmx_pci_cfg20_s cn58xxp1;
607 };
608 
609 union cvmx_pci_cfg21 {
610 	uint32_t u32;
611 	struct cvmx_pci_cfg21_s {
612 		uint32_t scmre:32;
613 	} s;
614 	struct cvmx_pci_cfg21_s cn30xx;
615 	struct cvmx_pci_cfg21_s cn31xx;
616 	struct cvmx_pci_cfg21_s cn38xx;
617 	struct cvmx_pci_cfg21_s cn38xxp2;
618 	struct cvmx_pci_cfg21_s cn50xx;
619 	struct cvmx_pci_cfg21_s cn58xx;
620 	struct cvmx_pci_cfg21_s cn58xxp1;
621 };
622 
623 union cvmx_pci_cfg22 {
624 	uint32_t u32;
625 	struct cvmx_pci_cfg22_s {
626 		uint32_t mac:7;
627 		uint32_t reserved_19_24:6;
628 		uint32_t flush:1;
629 		uint32_t mra:1;
630 		uint32_t mtta:1;
631 		uint32_t mrv:8;
632 		uint32_t mttv:8;
633 	} s;
634 	struct cvmx_pci_cfg22_s cn30xx;
635 	struct cvmx_pci_cfg22_s cn31xx;
636 	struct cvmx_pci_cfg22_s cn38xx;
637 	struct cvmx_pci_cfg22_s cn38xxp2;
638 	struct cvmx_pci_cfg22_s cn50xx;
639 	struct cvmx_pci_cfg22_s cn58xx;
640 	struct cvmx_pci_cfg22_s cn58xxp1;
641 };
642 
643 union cvmx_pci_cfg56 {
644 	uint32_t u32;
645 	struct cvmx_pci_cfg56_s {
646 		uint32_t reserved_23_31:9;
647 		uint32_t most:3;
648 		uint32_t mmbc:2;
649 		uint32_t roe:1;
650 		uint32_t dpere:1;
651 		uint32_t ncp:8;
652 		uint32_t pxcid:8;
653 	} s;
654 	struct cvmx_pci_cfg56_s cn30xx;
655 	struct cvmx_pci_cfg56_s cn31xx;
656 	struct cvmx_pci_cfg56_s cn38xx;
657 	struct cvmx_pci_cfg56_s cn38xxp2;
658 	struct cvmx_pci_cfg56_s cn50xx;
659 	struct cvmx_pci_cfg56_s cn58xx;
660 	struct cvmx_pci_cfg56_s cn58xxp1;
661 };
662 
663 union cvmx_pci_cfg57 {
664 	uint32_t u32;
665 	struct cvmx_pci_cfg57_s {
666 		uint32_t reserved_30_31:2;
667 		uint32_t scemr:1;
668 		uint32_t mcrsd:3;
669 		uint32_t mostd:3;
670 		uint32_t mmrbcd:2;
671 		uint32_t dc:1;
672 		uint32_t usc:1;
673 		uint32_t scd:1;
674 		uint32_t m133:1;
675 		uint32_t w64:1;
676 		uint32_t bn:8;
677 		uint32_t dn:5;
678 		uint32_t fn:3;
679 	} s;
680 	struct cvmx_pci_cfg57_s cn30xx;
681 	struct cvmx_pci_cfg57_s cn31xx;
682 	struct cvmx_pci_cfg57_s cn38xx;
683 	struct cvmx_pci_cfg57_s cn38xxp2;
684 	struct cvmx_pci_cfg57_s cn50xx;
685 	struct cvmx_pci_cfg57_s cn58xx;
686 	struct cvmx_pci_cfg57_s cn58xxp1;
687 };
688 
689 union cvmx_pci_cfg58 {
690 	uint32_t u32;
691 	struct cvmx_pci_cfg58_s {
692 		uint32_t pmes:5;
693 		uint32_t d2s:1;
694 		uint32_t d1s:1;
695 		uint32_t auxc:3;
696 		uint32_t dsi:1;
697 		uint32_t reserved_20_20:1;
698 		uint32_t pmec:1;
699 		uint32_t pcimiv:3;
700 		uint32_t ncp:8;
701 		uint32_t pmcid:8;
702 	} s;
703 	struct cvmx_pci_cfg58_s cn30xx;
704 	struct cvmx_pci_cfg58_s cn31xx;
705 	struct cvmx_pci_cfg58_s cn38xx;
706 	struct cvmx_pci_cfg58_s cn38xxp2;
707 	struct cvmx_pci_cfg58_s cn50xx;
708 	struct cvmx_pci_cfg58_s cn58xx;
709 	struct cvmx_pci_cfg58_s cn58xxp1;
710 };
711 
712 union cvmx_pci_cfg59 {
713 	uint32_t u32;
714 	struct cvmx_pci_cfg59_s {
715 		uint32_t pmdia:8;
716 		uint32_t bpccen:1;
717 		uint32_t bd3h:1;
718 		uint32_t reserved_16_21:6;
719 		uint32_t pmess:1;
720 		uint32_t pmedsia:2;
721 		uint32_t pmds:4;
722 		uint32_t pmeens:1;
723 		uint32_t reserved_2_7:6;
724 		uint32_t ps:2;
725 	} s;
726 	struct cvmx_pci_cfg59_s cn30xx;
727 	struct cvmx_pci_cfg59_s cn31xx;
728 	struct cvmx_pci_cfg59_s cn38xx;
729 	struct cvmx_pci_cfg59_s cn38xxp2;
730 	struct cvmx_pci_cfg59_s cn50xx;
731 	struct cvmx_pci_cfg59_s cn58xx;
732 	struct cvmx_pci_cfg59_s cn58xxp1;
733 };
734 
735 union cvmx_pci_cfg60 {
736 	uint32_t u32;
737 	struct cvmx_pci_cfg60_s {
738 		uint32_t reserved_24_31:8;
739 		uint32_t m64:1;
740 		uint32_t mme:3;
741 		uint32_t mmc:3;
742 		uint32_t msien:1;
743 		uint32_t ncp:8;
744 		uint32_t msicid:8;
745 	} s;
746 	struct cvmx_pci_cfg60_s cn30xx;
747 	struct cvmx_pci_cfg60_s cn31xx;
748 	struct cvmx_pci_cfg60_s cn38xx;
749 	struct cvmx_pci_cfg60_s cn38xxp2;
750 	struct cvmx_pci_cfg60_s cn50xx;
751 	struct cvmx_pci_cfg60_s cn58xx;
752 	struct cvmx_pci_cfg60_s cn58xxp1;
753 };
754 
755 union cvmx_pci_cfg61 {
756 	uint32_t u32;
757 	struct cvmx_pci_cfg61_s {
758 		uint32_t msi31t2:30;
759 		uint32_t reserved_0_1:2;
760 	} s;
761 	struct cvmx_pci_cfg61_s cn30xx;
762 	struct cvmx_pci_cfg61_s cn31xx;
763 	struct cvmx_pci_cfg61_s cn38xx;
764 	struct cvmx_pci_cfg61_s cn38xxp2;
765 	struct cvmx_pci_cfg61_s cn50xx;
766 	struct cvmx_pci_cfg61_s cn58xx;
767 	struct cvmx_pci_cfg61_s cn58xxp1;
768 };
769 
770 union cvmx_pci_cfg62 {
771 	uint32_t u32;
772 	struct cvmx_pci_cfg62_s {
773 		uint32_t msi:32;
774 	} s;
775 	struct cvmx_pci_cfg62_s cn30xx;
776 	struct cvmx_pci_cfg62_s cn31xx;
777 	struct cvmx_pci_cfg62_s cn38xx;
778 	struct cvmx_pci_cfg62_s cn38xxp2;
779 	struct cvmx_pci_cfg62_s cn50xx;
780 	struct cvmx_pci_cfg62_s cn58xx;
781 	struct cvmx_pci_cfg62_s cn58xxp1;
782 };
783 
784 union cvmx_pci_cfg63 {
785 	uint32_t u32;
786 	struct cvmx_pci_cfg63_s {
787 		uint32_t reserved_16_31:16;
788 		uint32_t msimd:16;
789 	} s;
790 	struct cvmx_pci_cfg63_s cn30xx;
791 	struct cvmx_pci_cfg63_s cn31xx;
792 	struct cvmx_pci_cfg63_s cn38xx;
793 	struct cvmx_pci_cfg63_s cn38xxp2;
794 	struct cvmx_pci_cfg63_s cn50xx;
795 	struct cvmx_pci_cfg63_s cn58xx;
796 	struct cvmx_pci_cfg63_s cn58xxp1;
797 };
798 
799 union cvmx_pci_cnt_reg {
800 	uint64_t u64;
801 	struct cvmx_pci_cnt_reg_s {
802 		uint64_t reserved_38_63:26;
803 		uint64_t hm_pcix:1;
804 		uint64_t hm_speed:2;
805 		uint64_t ap_pcix:1;
806 		uint64_t ap_speed:2;
807 		uint64_t pcicnt:32;
808 	} s;
809 	struct cvmx_pci_cnt_reg_s cn50xx;
810 	struct cvmx_pci_cnt_reg_s cn58xx;
811 	struct cvmx_pci_cnt_reg_s cn58xxp1;
812 };
813 
814 union cvmx_pci_ctl_status_2 {
815 	uint32_t u32;
816 	struct cvmx_pci_ctl_status_2_s {
817 		uint32_t reserved_29_31:3;
818 		uint32_t bb1_hole:3;
819 		uint32_t bb1_siz:1;
820 		uint32_t bb_ca:1;
821 		uint32_t bb_es:2;
822 		uint32_t bb1:1;
823 		uint32_t bb0:1;
824 		uint32_t erst_n:1;
825 		uint32_t bar2pres:1;
826 		uint32_t scmtyp:1;
827 		uint32_t scm:1;
828 		uint32_t en_wfilt:1;
829 		uint32_t reserved_14_14:1;
830 		uint32_t ap_pcix:1;
831 		uint32_t ap_64ad:1;
832 		uint32_t b12_bist:1;
833 		uint32_t pmo_amod:1;
834 		uint32_t pmo_fpc:3;
835 		uint32_t tsr_hwm:3;
836 		uint32_t bar2_enb:1;
837 		uint32_t bar2_esx:2;
838 		uint32_t bar2_cax:1;
839 	} s;
840 	struct cvmx_pci_ctl_status_2_s cn30xx;
841 	struct cvmx_pci_ctl_status_2_cn31xx {
842 		uint32_t reserved_20_31:12;
843 		uint32_t erst_n:1;
844 		uint32_t bar2pres:1;
845 		uint32_t scmtyp:1;
846 		uint32_t scm:1;
847 		uint32_t en_wfilt:1;
848 		uint32_t reserved_14_14:1;
849 		uint32_t ap_pcix:1;
850 		uint32_t ap_64ad:1;
851 		uint32_t b12_bist:1;
852 		uint32_t pmo_amod:1;
853 		uint32_t pmo_fpc:3;
854 		uint32_t tsr_hwm:3;
855 		uint32_t bar2_enb:1;
856 		uint32_t bar2_esx:2;
857 		uint32_t bar2_cax:1;
858 	} cn31xx;
859 	struct cvmx_pci_ctl_status_2_s cn38xx;
860 	struct cvmx_pci_ctl_status_2_cn31xx cn38xxp2;
861 	struct cvmx_pci_ctl_status_2_s cn50xx;
862 	struct cvmx_pci_ctl_status_2_s cn58xx;
863 	struct cvmx_pci_ctl_status_2_s cn58xxp1;
864 };
865 
866 union cvmx_pci_dbellx {
867 	uint32_t u32;
868 	struct cvmx_pci_dbellx_s {
869 		uint32_t reserved_16_31:16;
870 		uint32_t inc_val:16;
871 	} s;
872 	struct cvmx_pci_dbellx_s cn30xx;
873 	struct cvmx_pci_dbellx_s cn31xx;
874 	struct cvmx_pci_dbellx_s cn38xx;
875 	struct cvmx_pci_dbellx_s cn38xxp2;
876 	struct cvmx_pci_dbellx_s cn50xx;
877 	struct cvmx_pci_dbellx_s cn58xx;
878 	struct cvmx_pci_dbellx_s cn58xxp1;
879 };
880 
881 union cvmx_pci_dma_cntx {
882 	uint32_t u32;
883 	struct cvmx_pci_dma_cntx_s {
884 		uint32_t dma_cnt:32;
885 	} s;
886 	struct cvmx_pci_dma_cntx_s cn30xx;
887 	struct cvmx_pci_dma_cntx_s cn31xx;
888 	struct cvmx_pci_dma_cntx_s cn38xx;
889 	struct cvmx_pci_dma_cntx_s cn38xxp2;
890 	struct cvmx_pci_dma_cntx_s cn50xx;
891 	struct cvmx_pci_dma_cntx_s cn58xx;
892 	struct cvmx_pci_dma_cntx_s cn58xxp1;
893 };
894 
895 union cvmx_pci_dma_int_levx {
896 	uint32_t u32;
897 	struct cvmx_pci_dma_int_levx_s {
898 		uint32_t pkt_cnt:32;
899 	} s;
900 	struct cvmx_pci_dma_int_levx_s cn30xx;
901 	struct cvmx_pci_dma_int_levx_s cn31xx;
902 	struct cvmx_pci_dma_int_levx_s cn38xx;
903 	struct cvmx_pci_dma_int_levx_s cn38xxp2;
904 	struct cvmx_pci_dma_int_levx_s cn50xx;
905 	struct cvmx_pci_dma_int_levx_s cn58xx;
906 	struct cvmx_pci_dma_int_levx_s cn58xxp1;
907 };
908 
909 union cvmx_pci_dma_timex {
910 	uint32_t u32;
911 	struct cvmx_pci_dma_timex_s {
912 		uint32_t dma_time:32;
913 	} s;
914 	struct cvmx_pci_dma_timex_s cn30xx;
915 	struct cvmx_pci_dma_timex_s cn31xx;
916 	struct cvmx_pci_dma_timex_s cn38xx;
917 	struct cvmx_pci_dma_timex_s cn38xxp2;
918 	struct cvmx_pci_dma_timex_s cn50xx;
919 	struct cvmx_pci_dma_timex_s cn58xx;
920 	struct cvmx_pci_dma_timex_s cn58xxp1;
921 };
922 
923 union cvmx_pci_instr_countx {
924 	uint32_t u32;
925 	struct cvmx_pci_instr_countx_s {
926 		uint32_t icnt:32;
927 	} s;
928 	struct cvmx_pci_instr_countx_s cn30xx;
929 	struct cvmx_pci_instr_countx_s cn31xx;
930 	struct cvmx_pci_instr_countx_s cn38xx;
931 	struct cvmx_pci_instr_countx_s cn38xxp2;
932 	struct cvmx_pci_instr_countx_s cn50xx;
933 	struct cvmx_pci_instr_countx_s cn58xx;
934 	struct cvmx_pci_instr_countx_s cn58xxp1;
935 };
936 
937 union cvmx_pci_int_enb {
938 	uint64_t u64;
939 	struct cvmx_pci_int_enb_s {
940 		uint64_t reserved_34_63:30;
941 		uint64_t ill_rd:1;
942 		uint64_t ill_wr:1;
943 		uint64_t win_wr:1;
944 		uint64_t dma1_fi:1;
945 		uint64_t dma0_fi:1;
946 		uint64_t idtime1:1;
947 		uint64_t idtime0:1;
948 		uint64_t idcnt1:1;
949 		uint64_t idcnt0:1;
950 		uint64_t iptime3:1;
951 		uint64_t iptime2:1;
952 		uint64_t iptime1:1;
953 		uint64_t iptime0:1;
954 		uint64_t ipcnt3:1;
955 		uint64_t ipcnt2:1;
956 		uint64_t ipcnt1:1;
957 		uint64_t ipcnt0:1;
958 		uint64_t irsl_int:1;
959 		uint64_t ill_rrd:1;
960 		uint64_t ill_rwr:1;
961 		uint64_t idperr:1;
962 		uint64_t iaperr:1;
963 		uint64_t iserr:1;
964 		uint64_t itsr_abt:1;
965 		uint64_t imsc_msg:1;
966 		uint64_t imsi_mabt:1;
967 		uint64_t imsi_tabt:1;
968 		uint64_t imsi_per:1;
969 		uint64_t imr_tto:1;
970 		uint64_t imr_abt:1;
971 		uint64_t itr_abt:1;
972 		uint64_t imr_wtto:1;
973 		uint64_t imr_wabt:1;
974 		uint64_t itr_wabt:1;
975 	} s;
976 	struct cvmx_pci_int_enb_cn30xx {
977 		uint64_t reserved_34_63:30;
978 		uint64_t ill_rd:1;
979 		uint64_t ill_wr:1;
980 		uint64_t win_wr:1;
981 		uint64_t dma1_fi:1;
982 		uint64_t dma0_fi:1;
983 		uint64_t idtime1:1;
984 		uint64_t idtime0:1;
985 		uint64_t idcnt1:1;
986 		uint64_t idcnt0:1;
987 		uint64_t reserved_22_24:3;
988 		uint64_t iptime0:1;
989 		uint64_t reserved_18_20:3;
990 		uint64_t ipcnt0:1;
991 		uint64_t irsl_int:1;
992 		uint64_t ill_rrd:1;
993 		uint64_t ill_rwr:1;
994 		uint64_t idperr:1;
995 		uint64_t iaperr:1;
996 		uint64_t iserr:1;
997 		uint64_t itsr_abt:1;
998 		uint64_t imsc_msg:1;
999 		uint64_t imsi_mabt:1;
1000 		uint64_t imsi_tabt:1;
1001 		uint64_t imsi_per:1;
1002 		uint64_t imr_tto:1;
1003 		uint64_t imr_abt:1;
1004 		uint64_t itr_abt:1;
1005 		uint64_t imr_wtto:1;
1006 		uint64_t imr_wabt:1;
1007 		uint64_t itr_wabt:1;
1008 	} cn30xx;
1009 	struct cvmx_pci_int_enb_cn31xx {
1010 		uint64_t reserved_34_63:30;
1011 		uint64_t ill_rd:1;
1012 		uint64_t ill_wr:1;
1013 		uint64_t win_wr:1;
1014 		uint64_t dma1_fi:1;
1015 		uint64_t dma0_fi:1;
1016 		uint64_t idtime1:1;
1017 		uint64_t idtime0:1;
1018 		uint64_t idcnt1:1;
1019 		uint64_t idcnt0:1;
1020 		uint64_t reserved_23_24:2;
1021 		uint64_t iptime1:1;
1022 		uint64_t iptime0:1;
1023 		uint64_t reserved_19_20:2;
1024 		uint64_t ipcnt1:1;
1025 		uint64_t ipcnt0:1;
1026 		uint64_t irsl_int:1;
1027 		uint64_t ill_rrd:1;
1028 		uint64_t ill_rwr:1;
1029 		uint64_t idperr:1;
1030 		uint64_t iaperr:1;
1031 		uint64_t iserr:1;
1032 		uint64_t itsr_abt:1;
1033 		uint64_t imsc_msg:1;
1034 		uint64_t imsi_mabt:1;
1035 		uint64_t imsi_tabt:1;
1036 		uint64_t imsi_per:1;
1037 		uint64_t imr_tto:1;
1038 		uint64_t imr_abt:1;
1039 		uint64_t itr_abt:1;
1040 		uint64_t imr_wtto:1;
1041 		uint64_t imr_wabt:1;
1042 		uint64_t itr_wabt:1;
1043 	} cn31xx;
1044 	struct cvmx_pci_int_enb_s cn38xx;
1045 	struct cvmx_pci_int_enb_s cn38xxp2;
1046 	struct cvmx_pci_int_enb_cn31xx cn50xx;
1047 	struct cvmx_pci_int_enb_s cn58xx;
1048 	struct cvmx_pci_int_enb_s cn58xxp1;
1049 };
1050 
1051 union cvmx_pci_int_enb2 {
1052 	uint64_t u64;
1053 	struct cvmx_pci_int_enb2_s {
1054 		uint64_t reserved_34_63:30;
1055 		uint64_t ill_rd:1;
1056 		uint64_t ill_wr:1;
1057 		uint64_t win_wr:1;
1058 		uint64_t dma1_fi:1;
1059 		uint64_t dma0_fi:1;
1060 		uint64_t rdtime1:1;
1061 		uint64_t rdtime0:1;
1062 		uint64_t rdcnt1:1;
1063 		uint64_t rdcnt0:1;
1064 		uint64_t rptime3:1;
1065 		uint64_t rptime2:1;
1066 		uint64_t rptime1:1;
1067 		uint64_t rptime0:1;
1068 		uint64_t rpcnt3:1;
1069 		uint64_t rpcnt2:1;
1070 		uint64_t rpcnt1:1;
1071 		uint64_t rpcnt0:1;
1072 		uint64_t rrsl_int:1;
1073 		uint64_t ill_rrd:1;
1074 		uint64_t ill_rwr:1;
1075 		uint64_t rdperr:1;
1076 		uint64_t raperr:1;
1077 		uint64_t rserr:1;
1078 		uint64_t rtsr_abt:1;
1079 		uint64_t rmsc_msg:1;
1080 		uint64_t rmsi_mabt:1;
1081 		uint64_t rmsi_tabt:1;
1082 		uint64_t rmsi_per:1;
1083 		uint64_t rmr_tto:1;
1084 		uint64_t rmr_abt:1;
1085 		uint64_t rtr_abt:1;
1086 		uint64_t rmr_wtto:1;
1087 		uint64_t rmr_wabt:1;
1088 		uint64_t rtr_wabt:1;
1089 	} s;
1090 	struct cvmx_pci_int_enb2_cn30xx {
1091 		uint64_t reserved_34_63:30;
1092 		uint64_t ill_rd:1;
1093 		uint64_t ill_wr:1;
1094 		uint64_t win_wr:1;
1095 		uint64_t dma1_fi:1;
1096 		uint64_t dma0_fi:1;
1097 		uint64_t rdtime1:1;
1098 		uint64_t rdtime0:1;
1099 		uint64_t rdcnt1:1;
1100 		uint64_t rdcnt0:1;
1101 		uint64_t reserved_22_24:3;
1102 		uint64_t rptime0:1;
1103 		uint64_t reserved_18_20:3;
1104 		uint64_t rpcnt0:1;
1105 		uint64_t rrsl_int:1;
1106 		uint64_t ill_rrd:1;
1107 		uint64_t ill_rwr:1;
1108 		uint64_t rdperr:1;
1109 		uint64_t raperr:1;
1110 		uint64_t rserr:1;
1111 		uint64_t rtsr_abt:1;
1112 		uint64_t rmsc_msg:1;
1113 		uint64_t rmsi_mabt:1;
1114 		uint64_t rmsi_tabt:1;
1115 		uint64_t rmsi_per:1;
1116 		uint64_t rmr_tto:1;
1117 		uint64_t rmr_abt:1;
1118 		uint64_t rtr_abt:1;
1119 		uint64_t rmr_wtto:1;
1120 		uint64_t rmr_wabt:1;
1121 		uint64_t rtr_wabt:1;
1122 	} cn30xx;
1123 	struct cvmx_pci_int_enb2_cn31xx {
1124 		uint64_t reserved_34_63:30;
1125 		uint64_t ill_rd:1;
1126 		uint64_t ill_wr:1;
1127 		uint64_t win_wr:1;
1128 		uint64_t dma1_fi:1;
1129 		uint64_t dma0_fi:1;
1130 		uint64_t rdtime1:1;
1131 		uint64_t rdtime0:1;
1132 		uint64_t rdcnt1:1;
1133 		uint64_t rdcnt0:1;
1134 		uint64_t reserved_23_24:2;
1135 		uint64_t rptime1:1;
1136 		uint64_t rptime0:1;
1137 		uint64_t reserved_19_20:2;
1138 		uint64_t rpcnt1:1;
1139 		uint64_t rpcnt0:1;
1140 		uint64_t rrsl_int:1;
1141 		uint64_t ill_rrd:1;
1142 		uint64_t ill_rwr:1;
1143 		uint64_t rdperr:1;
1144 		uint64_t raperr:1;
1145 		uint64_t rserr:1;
1146 		uint64_t rtsr_abt:1;
1147 		uint64_t rmsc_msg:1;
1148 		uint64_t rmsi_mabt:1;
1149 		uint64_t rmsi_tabt:1;
1150 		uint64_t rmsi_per:1;
1151 		uint64_t rmr_tto:1;
1152 		uint64_t rmr_abt:1;
1153 		uint64_t rtr_abt:1;
1154 		uint64_t rmr_wtto:1;
1155 		uint64_t rmr_wabt:1;
1156 		uint64_t rtr_wabt:1;
1157 	} cn31xx;
1158 	struct cvmx_pci_int_enb2_s cn38xx;
1159 	struct cvmx_pci_int_enb2_s cn38xxp2;
1160 	struct cvmx_pci_int_enb2_cn31xx cn50xx;
1161 	struct cvmx_pci_int_enb2_s cn58xx;
1162 	struct cvmx_pci_int_enb2_s cn58xxp1;
1163 };
1164 
1165 union cvmx_pci_int_sum {
1166 	uint64_t u64;
1167 	struct cvmx_pci_int_sum_s {
1168 		uint64_t reserved_34_63:30;
1169 		uint64_t ill_rd:1;
1170 		uint64_t ill_wr:1;
1171 		uint64_t win_wr:1;
1172 		uint64_t dma1_fi:1;
1173 		uint64_t dma0_fi:1;
1174 		uint64_t dtime1:1;
1175 		uint64_t dtime0:1;
1176 		uint64_t dcnt1:1;
1177 		uint64_t dcnt0:1;
1178 		uint64_t ptime3:1;
1179 		uint64_t ptime2:1;
1180 		uint64_t ptime1:1;
1181 		uint64_t ptime0:1;
1182 		uint64_t pcnt3:1;
1183 		uint64_t pcnt2:1;
1184 		uint64_t pcnt1:1;
1185 		uint64_t pcnt0:1;
1186 		uint64_t rsl_int:1;
1187 		uint64_t ill_rrd:1;
1188 		uint64_t ill_rwr:1;
1189 		uint64_t dperr:1;
1190 		uint64_t aperr:1;
1191 		uint64_t serr:1;
1192 		uint64_t tsr_abt:1;
1193 		uint64_t msc_msg:1;
1194 		uint64_t msi_mabt:1;
1195 		uint64_t msi_tabt:1;
1196 		uint64_t msi_per:1;
1197 		uint64_t mr_tto:1;
1198 		uint64_t mr_abt:1;
1199 		uint64_t tr_abt:1;
1200 		uint64_t mr_wtto:1;
1201 		uint64_t mr_wabt:1;
1202 		uint64_t tr_wabt:1;
1203 	} s;
1204 	struct cvmx_pci_int_sum_cn30xx {
1205 		uint64_t reserved_34_63:30;
1206 		uint64_t ill_rd:1;
1207 		uint64_t ill_wr:1;
1208 		uint64_t win_wr:1;
1209 		uint64_t dma1_fi:1;
1210 		uint64_t dma0_fi:1;
1211 		uint64_t dtime1:1;
1212 		uint64_t dtime0:1;
1213 		uint64_t dcnt1:1;
1214 		uint64_t dcnt0:1;
1215 		uint64_t reserved_22_24:3;
1216 		uint64_t ptime0:1;
1217 		uint64_t reserved_18_20:3;
1218 		uint64_t pcnt0:1;
1219 		uint64_t rsl_int:1;
1220 		uint64_t ill_rrd:1;
1221 		uint64_t ill_rwr:1;
1222 		uint64_t dperr:1;
1223 		uint64_t aperr:1;
1224 		uint64_t serr:1;
1225 		uint64_t tsr_abt:1;
1226 		uint64_t msc_msg:1;
1227 		uint64_t msi_mabt:1;
1228 		uint64_t msi_tabt:1;
1229 		uint64_t msi_per:1;
1230 		uint64_t mr_tto:1;
1231 		uint64_t mr_abt:1;
1232 		uint64_t tr_abt:1;
1233 		uint64_t mr_wtto:1;
1234 		uint64_t mr_wabt:1;
1235 		uint64_t tr_wabt:1;
1236 	} cn30xx;
1237 	struct cvmx_pci_int_sum_cn31xx {
1238 		uint64_t reserved_34_63:30;
1239 		uint64_t ill_rd:1;
1240 		uint64_t ill_wr:1;
1241 		uint64_t win_wr:1;
1242 		uint64_t dma1_fi:1;
1243 		uint64_t dma0_fi:1;
1244 		uint64_t dtime1:1;
1245 		uint64_t dtime0:1;
1246 		uint64_t dcnt1:1;
1247 		uint64_t dcnt0:1;
1248 		uint64_t reserved_23_24:2;
1249 		uint64_t ptime1:1;
1250 		uint64_t ptime0:1;
1251 		uint64_t reserved_19_20:2;
1252 		uint64_t pcnt1:1;
1253 		uint64_t pcnt0:1;
1254 		uint64_t rsl_int:1;
1255 		uint64_t ill_rrd:1;
1256 		uint64_t ill_rwr:1;
1257 		uint64_t dperr:1;
1258 		uint64_t aperr:1;
1259 		uint64_t serr:1;
1260 		uint64_t tsr_abt:1;
1261 		uint64_t msc_msg:1;
1262 		uint64_t msi_mabt:1;
1263 		uint64_t msi_tabt:1;
1264 		uint64_t msi_per:1;
1265 		uint64_t mr_tto:1;
1266 		uint64_t mr_abt:1;
1267 		uint64_t tr_abt:1;
1268 		uint64_t mr_wtto:1;
1269 		uint64_t mr_wabt:1;
1270 		uint64_t tr_wabt:1;
1271 	} cn31xx;
1272 	struct cvmx_pci_int_sum_s cn38xx;
1273 	struct cvmx_pci_int_sum_s cn38xxp2;
1274 	struct cvmx_pci_int_sum_cn31xx cn50xx;
1275 	struct cvmx_pci_int_sum_s cn58xx;
1276 	struct cvmx_pci_int_sum_s cn58xxp1;
1277 };
1278 
1279 union cvmx_pci_int_sum2 {
1280 	uint64_t u64;
1281 	struct cvmx_pci_int_sum2_s {
1282 		uint64_t reserved_34_63:30;
1283 		uint64_t ill_rd:1;
1284 		uint64_t ill_wr:1;
1285 		uint64_t win_wr:1;
1286 		uint64_t dma1_fi:1;
1287 		uint64_t dma0_fi:1;
1288 		uint64_t dtime1:1;
1289 		uint64_t dtime0:1;
1290 		uint64_t dcnt1:1;
1291 		uint64_t dcnt0:1;
1292 		uint64_t ptime3:1;
1293 		uint64_t ptime2:1;
1294 		uint64_t ptime1:1;
1295 		uint64_t ptime0:1;
1296 		uint64_t pcnt3:1;
1297 		uint64_t pcnt2:1;
1298 		uint64_t pcnt1:1;
1299 		uint64_t pcnt0:1;
1300 		uint64_t rsl_int:1;
1301 		uint64_t ill_rrd:1;
1302 		uint64_t ill_rwr:1;
1303 		uint64_t dperr:1;
1304 		uint64_t aperr:1;
1305 		uint64_t serr:1;
1306 		uint64_t tsr_abt:1;
1307 		uint64_t msc_msg:1;
1308 		uint64_t msi_mabt:1;
1309 		uint64_t msi_tabt:1;
1310 		uint64_t msi_per:1;
1311 		uint64_t mr_tto:1;
1312 		uint64_t mr_abt:1;
1313 		uint64_t tr_abt:1;
1314 		uint64_t mr_wtto:1;
1315 		uint64_t mr_wabt:1;
1316 		uint64_t tr_wabt:1;
1317 	} s;
1318 	struct cvmx_pci_int_sum2_cn30xx {
1319 		uint64_t reserved_34_63:30;
1320 		uint64_t ill_rd:1;
1321 		uint64_t ill_wr:1;
1322 		uint64_t win_wr:1;
1323 		uint64_t dma1_fi:1;
1324 		uint64_t dma0_fi:1;
1325 		uint64_t dtime1:1;
1326 		uint64_t dtime0:1;
1327 		uint64_t dcnt1:1;
1328 		uint64_t dcnt0:1;
1329 		uint64_t reserved_22_24:3;
1330 		uint64_t ptime0:1;
1331 		uint64_t reserved_18_20:3;
1332 		uint64_t pcnt0:1;
1333 		uint64_t rsl_int:1;
1334 		uint64_t ill_rrd:1;
1335 		uint64_t ill_rwr:1;
1336 		uint64_t dperr:1;
1337 		uint64_t aperr:1;
1338 		uint64_t serr:1;
1339 		uint64_t tsr_abt:1;
1340 		uint64_t msc_msg:1;
1341 		uint64_t msi_mabt:1;
1342 		uint64_t msi_tabt:1;
1343 		uint64_t msi_per:1;
1344 		uint64_t mr_tto:1;
1345 		uint64_t mr_abt:1;
1346 		uint64_t tr_abt:1;
1347 		uint64_t mr_wtto:1;
1348 		uint64_t mr_wabt:1;
1349 		uint64_t tr_wabt:1;
1350 	} cn30xx;
1351 	struct cvmx_pci_int_sum2_cn31xx {
1352 		uint64_t reserved_34_63:30;
1353 		uint64_t ill_rd:1;
1354 		uint64_t ill_wr:1;
1355 		uint64_t win_wr:1;
1356 		uint64_t dma1_fi:1;
1357 		uint64_t dma0_fi:1;
1358 		uint64_t dtime1:1;
1359 		uint64_t dtime0:1;
1360 		uint64_t dcnt1:1;
1361 		uint64_t dcnt0:1;
1362 		uint64_t reserved_23_24:2;
1363 		uint64_t ptime1:1;
1364 		uint64_t ptime0:1;
1365 		uint64_t reserved_19_20:2;
1366 		uint64_t pcnt1:1;
1367 		uint64_t pcnt0:1;
1368 		uint64_t rsl_int:1;
1369 		uint64_t ill_rrd:1;
1370 		uint64_t ill_rwr:1;
1371 		uint64_t dperr:1;
1372 		uint64_t aperr:1;
1373 		uint64_t serr:1;
1374 		uint64_t tsr_abt:1;
1375 		uint64_t msc_msg:1;
1376 		uint64_t msi_mabt:1;
1377 		uint64_t msi_tabt:1;
1378 		uint64_t msi_per:1;
1379 		uint64_t mr_tto:1;
1380 		uint64_t mr_abt:1;
1381 		uint64_t tr_abt:1;
1382 		uint64_t mr_wtto:1;
1383 		uint64_t mr_wabt:1;
1384 		uint64_t tr_wabt:1;
1385 	} cn31xx;
1386 	struct cvmx_pci_int_sum2_s cn38xx;
1387 	struct cvmx_pci_int_sum2_s cn38xxp2;
1388 	struct cvmx_pci_int_sum2_cn31xx cn50xx;
1389 	struct cvmx_pci_int_sum2_s cn58xx;
1390 	struct cvmx_pci_int_sum2_s cn58xxp1;
1391 };
1392 
1393 union cvmx_pci_msi_rcv {
1394 	uint32_t u32;
1395 	struct cvmx_pci_msi_rcv_s {
1396 		uint32_t reserved_6_31:26;
1397 		uint32_t intr:6;
1398 	} s;
1399 	struct cvmx_pci_msi_rcv_s cn30xx;
1400 	struct cvmx_pci_msi_rcv_s cn31xx;
1401 	struct cvmx_pci_msi_rcv_s cn38xx;
1402 	struct cvmx_pci_msi_rcv_s cn38xxp2;
1403 	struct cvmx_pci_msi_rcv_s cn50xx;
1404 	struct cvmx_pci_msi_rcv_s cn58xx;
1405 	struct cvmx_pci_msi_rcv_s cn58xxp1;
1406 };
1407 
1408 union cvmx_pci_pkt_creditsx {
1409 	uint32_t u32;
1410 	struct cvmx_pci_pkt_creditsx_s {
1411 		uint32_t pkt_cnt:16;
1412 		uint32_t ptr_cnt:16;
1413 	} s;
1414 	struct cvmx_pci_pkt_creditsx_s cn30xx;
1415 	struct cvmx_pci_pkt_creditsx_s cn31xx;
1416 	struct cvmx_pci_pkt_creditsx_s cn38xx;
1417 	struct cvmx_pci_pkt_creditsx_s cn38xxp2;
1418 	struct cvmx_pci_pkt_creditsx_s cn50xx;
1419 	struct cvmx_pci_pkt_creditsx_s cn58xx;
1420 	struct cvmx_pci_pkt_creditsx_s cn58xxp1;
1421 };
1422 
1423 union cvmx_pci_pkts_sentx {
1424 	uint32_t u32;
1425 	struct cvmx_pci_pkts_sentx_s {
1426 		uint32_t pkt_cnt:32;
1427 	} s;
1428 	struct cvmx_pci_pkts_sentx_s cn30xx;
1429 	struct cvmx_pci_pkts_sentx_s cn31xx;
1430 	struct cvmx_pci_pkts_sentx_s cn38xx;
1431 	struct cvmx_pci_pkts_sentx_s cn38xxp2;
1432 	struct cvmx_pci_pkts_sentx_s cn50xx;
1433 	struct cvmx_pci_pkts_sentx_s cn58xx;
1434 	struct cvmx_pci_pkts_sentx_s cn58xxp1;
1435 };
1436 
1437 union cvmx_pci_pkts_sent_int_levx {
1438 	uint32_t u32;
1439 	struct cvmx_pci_pkts_sent_int_levx_s {
1440 		uint32_t pkt_cnt:32;
1441 	} s;
1442 	struct cvmx_pci_pkts_sent_int_levx_s cn30xx;
1443 	struct cvmx_pci_pkts_sent_int_levx_s cn31xx;
1444 	struct cvmx_pci_pkts_sent_int_levx_s cn38xx;
1445 	struct cvmx_pci_pkts_sent_int_levx_s cn38xxp2;
1446 	struct cvmx_pci_pkts_sent_int_levx_s cn50xx;
1447 	struct cvmx_pci_pkts_sent_int_levx_s cn58xx;
1448 	struct cvmx_pci_pkts_sent_int_levx_s cn58xxp1;
1449 };
1450 
1451 union cvmx_pci_pkts_sent_timex {
1452 	uint32_t u32;
1453 	struct cvmx_pci_pkts_sent_timex_s {
1454 		uint32_t pkt_time:32;
1455 	} s;
1456 	struct cvmx_pci_pkts_sent_timex_s cn30xx;
1457 	struct cvmx_pci_pkts_sent_timex_s cn31xx;
1458 	struct cvmx_pci_pkts_sent_timex_s cn38xx;
1459 	struct cvmx_pci_pkts_sent_timex_s cn38xxp2;
1460 	struct cvmx_pci_pkts_sent_timex_s cn50xx;
1461 	struct cvmx_pci_pkts_sent_timex_s cn58xx;
1462 	struct cvmx_pci_pkts_sent_timex_s cn58xxp1;
1463 };
1464 
1465 union cvmx_pci_read_cmd_6 {
1466 	uint32_t u32;
1467 	struct cvmx_pci_read_cmd_6_s {
1468 		uint32_t reserved_9_31:23;
1469 		uint32_t min_data:6;
1470 		uint32_t prefetch:3;
1471 	} s;
1472 	struct cvmx_pci_read_cmd_6_s cn30xx;
1473 	struct cvmx_pci_read_cmd_6_s cn31xx;
1474 	struct cvmx_pci_read_cmd_6_s cn38xx;
1475 	struct cvmx_pci_read_cmd_6_s cn38xxp2;
1476 	struct cvmx_pci_read_cmd_6_s cn50xx;
1477 	struct cvmx_pci_read_cmd_6_s cn58xx;
1478 	struct cvmx_pci_read_cmd_6_s cn58xxp1;
1479 };
1480 
1481 union cvmx_pci_read_cmd_c {
1482 	uint32_t u32;
1483 	struct cvmx_pci_read_cmd_c_s {
1484 		uint32_t reserved_9_31:23;
1485 		uint32_t min_data:6;
1486 		uint32_t prefetch:3;
1487 	} s;
1488 	struct cvmx_pci_read_cmd_c_s cn30xx;
1489 	struct cvmx_pci_read_cmd_c_s cn31xx;
1490 	struct cvmx_pci_read_cmd_c_s cn38xx;
1491 	struct cvmx_pci_read_cmd_c_s cn38xxp2;
1492 	struct cvmx_pci_read_cmd_c_s cn50xx;
1493 	struct cvmx_pci_read_cmd_c_s cn58xx;
1494 	struct cvmx_pci_read_cmd_c_s cn58xxp1;
1495 };
1496 
1497 union cvmx_pci_read_cmd_e {
1498 	uint32_t u32;
1499 	struct cvmx_pci_read_cmd_e_s {
1500 		uint32_t reserved_9_31:23;
1501 		uint32_t min_data:6;
1502 		uint32_t prefetch:3;
1503 	} s;
1504 	struct cvmx_pci_read_cmd_e_s cn30xx;
1505 	struct cvmx_pci_read_cmd_e_s cn31xx;
1506 	struct cvmx_pci_read_cmd_e_s cn38xx;
1507 	struct cvmx_pci_read_cmd_e_s cn38xxp2;
1508 	struct cvmx_pci_read_cmd_e_s cn50xx;
1509 	struct cvmx_pci_read_cmd_e_s cn58xx;
1510 	struct cvmx_pci_read_cmd_e_s cn58xxp1;
1511 };
1512 
1513 union cvmx_pci_read_timeout {
1514 	uint64_t u64;
1515 	struct cvmx_pci_read_timeout_s {
1516 		uint64_t reserved_32_63:32;
1517 		uint64_t enb:1;
1518 		uint64_t cnt:31;
1519 	} s;
1520 	struct cvmx_pci_read_timeout_s cn30xx;
1521 	struct cvmx_pci_read_timeout_s cn31xx;
1522 	struct cvmx_pci_read_timeout_s cn38xx;
1523 	struct cvmx_pci_read_timeout_s cn38xxp2;
1524 	struct cvmx_pci_read_timeout_s cn50xx;
1525 	struct cvmx_pci_read_timeout_s cn58xx;
1526 	struct cvmx_pci_read_timeout_s cn58xxp1;
1527 };
1528 
1529 union cvmx_pci_scm_reg {
1530 	uint64_t u64;
1531 	struct cvmx_pci_scm_reg_s {
1532 		uint64_t reserved_32_63:32;
1533 		uint64_t scm:32;
1534 	} s;
1535 	struct cvmx_pci_scm_reg_s cn30xx;
1536 	struct cvmx_pci_scm_reg_s cn31xx;
1537 	struct cvmx_pci_scm_reg_s cn38xx;
1538 	struct cvmx_pci_scm_reg_s cn38xxp2;
1539 	struct cvmx_pci_scm_reg_s cn50xx;
1540 	struct cvmx_pci_scm_reg_s cn58xx;
1541 	struct cvmx_pci_scm_reg_s cn58xxp1;
1542 };
1543 
1544 union cvmx_pci_tsr_reg {
1545 	uint64_t u64;
1546 	struct cvmx_pci_tsr_reg_s {
1547 		uint64_t reserved_36_63:28;
1548 		uint64_t tsr:36;
1549 	} s;
1550 	struct cvmx_pci_tsr_reg_s cn30xx;
1551 	struct cvmx_pci_tsr_reg_s cn31xx;
1552 	struct cvmx_pci_tsr_reg_s cn38xx;
1553 	struct cvmx_pci_tsr_reg_s cn38xxp2;
1554 	struct cvmx_pci_tsr_reg_s cn50xx;
1555 	struct cvmx_pci_tsr_reg_s cn58xx;
1556 	struct cvmx_pci_tsr_reg_s cn58xxp1;
1557 };
1558 
1559 union cvmx_pci_win_rd_addr {
1560 	uint64_t u64;
1561 	struct cvmx_pci_win_rd_addr_s {
1562 		uint64_t reserved_49_63:15;
1563 		uint64_t iobit:1;
1564 		uint64_t reserved_0_47:48;
1565 	} s;
1566 	struct cvmx_pci_win_rd_addr_cn30xx {
1567 		uint64_t reserved_49_63:15;
1568 		uint64_t iobit:1;
1569 		uint64_t rd_addr:46;
1570 		uint64_t reserved_0_1:2;
1571 	} cn30xx;
1572 	struct cvmx_pci_win_rd_addr_cn30xx cn31xx;
1573 	struct cvmx_pci_win_rd_addr_cn38xx {
1574 		uint64_t reserved_49_63:15;
1575 		uint64_t iobit:1;
1576 		uint64_t rd_addr:45;
1577 		uint64_t reserved_0_2:3;
1578 	} cn38xx;
1579 	struct cvmx_pci_win_rd_addr_cn38xx cn38xxp2;
1580 	struct cvmx_pci_win_rd_addr_cn30xx cn50xx;
1581 	struct cvmx_pci_win_rd_addr_cn38xx cn58xx;
1582 	struct cvmx_pci_win_rd_addr_cn38xx cn58xxp1;
1583 };
1584 
1585 union cvmx_pci_win_rd_data {
1586 	uint64_t u64;
1587 	struct cvmx_pci_win_rd_data_s {
1588 		uint64_t rd_data:64;
1589 	} s;
1590 	struct cvmx_pci_win_rd_data_s cn30xx;
1591 	struct cvmx_pci_win_rd_data_s cn31xx;
1592 	struct cvmx_pci_win_rd_data_s cn38xx;
1593 	struct cvmx_pci_win_rd_data_s cn38xxp2;
1594 	struct cvmx_pci_win_rd_data_s cn50xx;
1595 	struct cvmx_pci_win_rd_data_s cn58xx;
1596 	struct cvmx_pci_win_rd_data_s cn58xxp1;
1597 };
1598 
1599 union cvmx_pci_win_wr_addr {
1600 	uint64_t u64;
1601 	struct cvmx_pci_win_wr_addr_s {
1602 		uint64_t reserved_49_63:15;
1603 		uint64_t iobit:1;
1604 		uint64_t wr_addr:45;
1605 		uint64_t reserved_0_2:3;
1606 	} s;
1607 	struct cvmx_pci_win_wr_addr_s cn30xx;
1608 	struct cvmx_pci_win_wr_addr_s cn31xx;
1609 	struct cvmx_pci_win_wr_addr_s cn38xx;
1610 	struct cvmx_pci_win_wr_addr_s cn38xxp2;
1611 	struct cvmx_pci_win_wr_addr_s cn50xx;
1612 	struct cvmx_pci_win_wr_addr_s cn58xx;
1613 	struct cvmx_pci_win_wr_addr_s cn58xxp1;
1614 };
1615 
1616 union cvmx_pci_win_wr_data {
1617 	uint64_t u64;
1618 	struct cvmx_pci_win_wr_data_s {
1619 		uint64_t wr_data:64;
1620 	} s;
1621 	struct cvmx_pci_win_wr_data_s cn30xx;
1622 	struct cvmx_pci_win_wr_data_s cn31xx;
1623 	struct cvmx_pci_win_wr_data_s cn38xx;
1624 	struct cvmx_pci_win_wr_data_s cn38xxp2;
1625 	struct cvmx_pci_win_wr_data_s cn50xx;
1626 	struct cvmx_pci_win_wr_data_s cn58xx;
1627 	struct cvmx_pci_win_wr_data_s cn58xxp1;
1628 };
1629 
1630 union cvmx_pci_win_wr_mask {
1631 	uint64_t u64;
1632 	struct cvmx_pci_win_wr_mask_s {
1633 		uint64_t reserved_8_63:56;
1634 		uint64_t wr_mask:8;
1635 	} s;
1636 	struct cvmx_pci_win_wr_mask_s cn30xx;
1637 	struct cvmx_pci_win_wr_mask_s cn31xx;
1638 	struct cvmx_pci_win_wr_mask_s cn38xx;
1639 	struct cvmx_pci_win_wr_mask_s cn38xxp2;
1640 	struct cvmx_pci_win_wr_mask_s cn50xx;
1641 	struct cvmx_pci_win_wr_mask_s cn58xx;
1642 	struct cvmx_pci_win_wr_mask_s cn58xxp1;
1643 };
1644 
1645 #endif
1646