1 /***********************license start***************
2 * Author: Cavium Networks
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
7 * Copyright (c) 2003-2010 Cavium Networks
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.
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
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/.
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
28 #ifndef __CVMX_PCI_DEFS_H__
29 #define __CVMX_PCI_DEFS_H__
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)
117 union cvmx_pci_bar1_indexx
{
119 struct cvmx_pci_bar1_indexx_s
{
120 uint32_t reserved_18_31
:14;
121 uint32_t addr_idx
:14;
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
;
135 union cvmx_pci_bist_reg
{
137 struct cvmx_pci_bist_reg_s
{
138 uint64_t reserved_10_63
:54;
150 struct cvmx_pci_bist_reg_s cn50xx
;
153 union cvmx_pci_cfg00
{
155 struct cvmx_pci_cfg00_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
;
168 union cvmx_pci_cfg01
{
170 struct cvmx_pci_cfg01_s
{
179 uint32_t reserved_22_22
:1;
183 uint32_t reserved_11_18
:8;
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
;
205 union cvmx_pci_cfg02
{
207 struct cvmx_pci_cfg02_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
;
220 union cvmx_pci_cfg03
{
222 struct cvmx_pci_cfg03_s
{
225 uint32_t reserved_28_29
:2;
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
;
240 union cvmx_pci_cfg04
{
242 struct cvmx_pci_cfg04_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
;
258 union cvmx_pci_cfg05
{
260 struct cvmx_pci_cfg05_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
;
272 union cvmx_pci_cfg06
{
274 struct cvmx_pci_cfg06_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
;
290 union cvmx_pci_cfg07
{
292 struct cvmx_pci_cfg07_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
;
304 union cvmx_pci_cfg08
{
306 struct cvmx_pci_cfg08_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
;
321 union cvmx_pci_cfg09
{
323 struct cvmx_pci_cfg09_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
;
336 union cvmx_pci_cfg10
{
338 struct cvmx_pci_cfg10_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
;
350 union cvmx_pci_cfg11
{
352 struct cvmx_pci_cfg11_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
;
365 union cvmx_pci_cfg12
{
367 struct cvmx_pci_cfg12_s
{
370 uint32_t reserved_1_10
:10;
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
;
382 union cvmx_pci_cfg13
{
384 struct cvmx_pci_cfg13_s
{
385 uint32_t reserved_8_31
:24;
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
;
397 union cvmx_pci_cfg15
{
399 struct cvmx_pci_cfg15_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
;
414 union cvmx_pci_cfg16
{
416 struct cvmx_pci_cfg16_s
{
430 uint32_t reserved_2_2
:1;
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
;
443 union cvmx_pci_cfg17
{
445 struct cvmx_pci_cfg17_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
;
457 union cvmx_pci_cfg18
{
459 struct cvmx_pci_cfg18_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
;
471 union cvmx_pci_cfg19
{
473 struct cvmx_pci_cfg19_s
{
486 uint32_t reserved_9_10
:2;
489 uint32_t reserved_6_6
:1;
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
;
502 union cvmx_pci_cfg20
{
504 struct cvmx_pci_cfg20_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
;
516 union cvmx_pci_cfg21
{
518 struct cvmx_pci_cfg21_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
;
530 union cvmx_pci_cfg22
{
532 struct cvmx_pci_cfg22_s
{
534 uint32_t reserved_19_24
:6;
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
;
550 union cvmx_pci_cfg56
{
552 struct cvmx_pci_cfg56_s
{
553 uint32_t reserved_23_31
:9;
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
;
570 union cvmx_pci_cfg57
{
572 struct cvmx_pci_cfg57_s
{
573 uint32_t reserved_30_31
:2;
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
;
596 union cvmx_pci_cfg58
{
598 struct cvmx_pci_cfg58_s
{
604 uint32_t reserved_20_20
:1;
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
;
619 union cvmx_pci_cfg59
{
621 struct cvmx_pci_cfg59_s
{
625 uint32_t reserved_16_21
:6;
630 uint32_t reserved_2_7
:6;
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
;
642 union cvmx_pci_cfg60
{
644 struct cvmx_pci_cfg60_s
{
645 uint32_t reserved_24_31
:8;
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
;
662 union cvmx_pci_cfg61
{
664 struct cvmx_pci_cfg61_s
{
666 uint32_t reserved_0_1
:2;
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
;
677 union cvmx_pci_cfg62
{
679 struct cvmx_pci_cfg62_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
;
691 union cvmx_pci_cfg63
{
693 struct cvmx_pci_cfg63_s
{
694 uint32_t reserved_16_31
:16;
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
;
706 union cvmx_pci_cnt_reg
{
708 struct cvmx_pci_cnt_reg_s
{
709 uint64_t reserved_38_63
:26;
716 struct cvmx_pci_cnt_reg_s cn50xx
;
717 struct cvmx_pci_cnt_reg_s cn58xx
;
718 struct cvmx_pci_cnt_reg_s cn58xxp1
;
721 union cvmx_pci_ctl_status_2
{
723 struct cvmx_pci_ctl_status_2_s
{
724 uint32_t reserved_29_31
:3;
736 uint32_t reserved_14_14
:1;
747 struct cvmx_pci_ctl_status_2_s cn30xx
;
748 struct cvmx_pci_ctl_status_2_cn31xx
{
749 uint32_t reserved_20_31
:12;
755 uint32_t reserved_14_14
:1;
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
;
773 union cvmx_pci_dbellx
{
775 struct cvmx_pci_dbellx_s
{
776 uint32_t reserved_16_31
:16;
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
;
788 union cvmx_pci_dma_cntx
{
790 struct cvmx_pci_dma_cntx_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
;
802 union cvmx_pci_dma_int_levx
{
804 struct cvmx_pci_dma_int_levx_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
;
816 union cvmx_pci_dma_timex
{
818 struct cvmx_pci_dma_timex_s
{
819 uint32_t dma_time
:32;
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
;
830 union cvmx_pci_instr_countx
{
832 struct cvmx_pci_instr_countx_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
;
844 union cvmx_pci_int_enb
{
846 struct cvmx_pci_int_enb_s
{
847 uint64_t reserved_34_63
:30;
873 uint64_t imsi_mabt
:1;
874 uint64_t imsi_tabt
:1;
883 struct cvmx_pci_int_enb_cn30xx
{
884 uint64_t reserved_34_63
:30;
894 uint64_t reserved_22_24
:3;
896 uint64_t reserved_18_20
:3;
906 uint64_t imsi_mabt
:1;
907 uint64_t imsi_tabt
:1;
916 struct cvmx_pci_int_enb_cn31xx
{
917 uint64_t reserved_34_63
:30;
927 uint64_t reserved_23_24
:2;
930 uint64_t reserved_19_20
:2;
941 uint64_t imsi_mabt
:1;
942 uint64_t imsi_tabt
:1;
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
;
958 union cvmx_pci_int_enb2
{
960 struct cvmx_pci_int_enb2_s
{
961 uint64_t reserved_34_63
:30;
987 uint64_t rmsi_mabt
:1;
988 uint64_t rmsi_tabt
:1;
997 struct cvmx_pci_int_enb2_cn30xx
{
998 uint64_t reserved_34_63
:30;
1008 uint64_t reserved_22_24
:3;
1010 uint64_t reserved_18_20
:3;
1012 uint64_t rrsl_int
: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;
1026 uint64_t rmr_wtto
:1;
1027 uint64_t rmr_wabt
:1;
1028 uint64_t rtr_wabt
:1;
1030 struct cvmx_pci_int_enb2_cn31xx
{
1031 uint64_t reserved_34_63
:30;
1041 uint64_t reserved_23_24
:2;
1044 uint64_t reserved_19_20
:2;
1047 uint64_t rrsl_int
: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;
1061 uint64_t rmr_wtto
:1;
1062 uint64_t rmr_wabt
:1;
1063 uint64_t rtr_wabt
:1;
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
;
1072 union cvmx_pci_int_sum
{
1074 struct cvmx_pci_int_sum_s
{
1075 uint64_t reserved_34_63
:30;
1101 uint64_t msi_mabt
:1;
1102 uint64_t msi_tabt
:1;
1111 struct cvmx_pci_int_sum_cn30xx
{
1112 uint64_t reserved_34_63
:30;
1122 uint64_t reserved_22_24
:3;
1124 uint64_t reserved_18_20
:3;
1134 uint64_t msi_mabt
:1;
1135 uint64_t msi_tabt
:1;
1144 struct cvmx_pci_int_sum_cn31xx
{
1145 uint64_t reserved_34_63
:30;
1155 uint64_t reserved_23_24
:2;
1158 uint64_t reserved_19_20
:2;
1169 uint64_t msi_mabt
:1;
1170 uint64_t msi_tabt
:1;
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
;
1186 union cvmx_pci_int_sum2
{
1188 struct cvmx_pci_int_sum2_s
{
1189 uint64_t reserved_34_63
:30;
1215 uint64_t msi_mabt
:1;
1216 uint64_t msi_tabt
:1;
1225 struct cvmx_pci_int_sum2_cn30xx
{
1226 uint64_t reserved_34_63
:30;
1236 uint64_t reserved_22_24
:3;
1238 uint64_t reserved_18_20
:3;
1248 uint64_t msi_mabt
:1;
1249 uint64_t msi_tabt
:1;
1258 struct cvmx_pci_int_sum2_cn31xx
{
1259 uint64_t reserved_34_63
:30;
1269 uint64_t reserved_23_24
:2;
1272 uint64_t reserved_19_20
:2;
1283 uint64_t msi_mabt
:1;
1284 uint64_t msi_tabt
:1;
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
;
1300 union cvmx_pci_msi_rcv
{
1302 struct cvmx_pci_msi_rcv_s
{
1303 uint32_t reserved_6_31
:26;
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
;
1315 union cvmx_pci_pkt_creditsx
{
1317 struct cvmx_pci_pkt_creditsx_s
{
1318 uint32_t pkt_cnt
:16;
1319 uint32_t ptr_cnt
:16;
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
;
1330 union cvmx_pci_pkts_sentx
{
1332 struct cvmx_pci_pkts_sentx_s
{
1333 uint32_t pkt_cnt
:32;
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
;
1344 union cvmx_pci_pkts_sent_int_levx
{
1346 struct cvmx_pci_pkts_sent_int_levx_s
{
1347 uint32_t pkt_cnt
:32;
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
;
1358 union cvmx_pci_pkts_sent_timex
{
1360 struct cvmx_pci_pkts_sent_timex_s
{
1361 uint32_t pkt_time
:32;
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
;
1372 union cvmx_pci_read_cmd_6
{
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;
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
;
1388 union cvmx_pci_read_cmd_c
{
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;
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
;
1404 union cvmx_pci_read_cmd_e
{
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;
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
;
1420 union cvmx_pci_read_timeout
{
1422 struct cvmx_pci_read_timeout_s
{
1423 uint64_t reserved_32_63
:32;
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
;
1436 union cvmx_pci_scm_reg
{
1438 struct cvmx_pci_scm_reg_s
{
1439 uint64_t reserved_32_63
:32;
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
;
1451 union cvmx_pci_tsr_reg
{
1453 struct cvmx_pci_tsr_reg_s
{
1454 uint64_t reserved_36_63
:28;
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
;
1466 union cvmx_pci_win_rd_addr
{
1468 struct cvmx_pci_win_rd_addr_s
{
1469 uint64_t reserved_49_63
:15;
1471 uint64_t reserved_0_47
:48;
1473 struct cvmx_pci_win_rd_addr_cn30xx
{
1474 uint64_t reserved_49_63
:15;
1476 uint64_t rd_addr
:46;
1477 uint64_t reserved_0_1
:2;
1479 struct cvmx_pci_win_rd_addr_cn30xx cn31xx
;
1480 struct cvmx_pci_win_rd_addr_cn38xx
{
1481 uint64_t reserved_49_63
:15;
1483 uint64_t rd_addr
:45;
1484 uint64_t reserved_0_2
:3;
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
;
1492 union cvmx_pci_win_rd_data
{
1494 struct cvmx_pci_win_rd_data_s
{
1495 uint64_t rd_data
:64;
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
;
1506 union cvmx_pci_win_wr_addr
{
1508 struct cvmx_pci_win_wr_addr_s
{
1509 uint64_t reserved_49_63
:15;
1511 uint64_t wr_addr
:45;
1512 uint64_t reserved_0_2
:3;
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
;
1523 union cvmx_pci_win_wr_data
{
1525 struct cvmx_pci_win_wr_data_s
{
1526 uint64_t wr_data
:64;
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
;
1537 union cvmx_pci_win_wr_mask
{
1539 struct cvmx_pci_win_wr_mask_s
{
1540 uint64_t reserved_8_63
:56;
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
;