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