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;