Root/target/linux/octeon/patches-2.6.30/002-register_defs_pci.patch

1Here we add the register definitions for the processor blocks used by
2the following PCI support patch.
3
4Signed-off-by: David Daney <ddaney@caviumnetworks.com>
5---
6 arch/mips/include/asm/octeon/cvmx-npei-defs.h | 2560 ++++++++++++++++++++++
7 arch/mips/include/asm/octeon/cvmx-npi-defs.h | 1735 +++++++++++++++
8 arch/mips/include/asm/octeon/cvmx-pci-defs.h | 1645 ++++++++++++++
9 arch/mips/include/asm/octeon/cvmx-pcieep-defs.h | 1365 ++++++++++++
10 arch/mips/include/asm/octeon/cvmx-pciercx-defs.h | 1397 ++++++++++++
11 arch/mips/include/asm/octeon/cvmx-pescx-defs.h | 410 ++++
12 arch/mips/include/asm/octeon/cvmx-pexp-defs.h | 229 ++
13 7 files changed, 9341 insertions(+), 0 deletions(-)
14 create mode 100644 arch/mips/include/asm/octeon/cvmx-npei-defs.h
15 create mode 100644 arch/mips/include/asm/octeon/cvmx-npi-defs.h
16 create mode 100644 arch/mips/include/asm/octeon/cvmx-pci-defs.h
17 create mode 100644 arch/mips/include/asm/octeon/cvmx-pcieep-defs.h
18 create mode 100644 arch/mips/include/asm/octeon/cvmx-pciercx-defs.h
19 create mode 100644 arch/mips/include/asm/octeon/cvmx-pescx-defs.h
20 create mode 100644 arch/mips/include/asm/octeon/cvmx-pexp-defs.h
21
22--- /dev/null
23+++ b/arch/mips/include/asm/octeon/cvmx-npei-defs.h
24@@ -0,0 +1,2560 @@
25+/***********************license start***************
26+ * Author: Cavium Networks
27+ *
28+ * Contact: support@caviumnetworks.com
29+ * This file is part of the OCTEON SDK
30+ *
31+ * Copyright (c) 2003-2008 Cavium Networks
32+ *
33+ * This file is free software; you can redistribute it and/or modify
34+ * it under the terms of the GNU General Public License, Version 2, as
35+ * published by the Free Software Foundation.
36+ *
37+ * This file is distributed in the hope that it will be useful, but
38+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
39+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
40+ * NONINFRINGEMENT. See the GNU General Public License for more
41+ * details.
42+ *
43+ * You should have received a copy of the GNU General Public License
44+ * along with this file; if not, write to the Free Software
45+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
46+ * or visit http://www.gnu.org/licenses/.
47+ *
48+ * This file may also be available under a different license from Cavium.
49+ * Contact Cavium Networks for more information
50+ ***********************license end**************************************/
51+
52+#ifndef __CVMX_NPEI_DEFS_H__
53+#define __CVMX_NPEI_DEFS_H__
54+
55+#define CVMX_NPEI_BAR1_INDEXX(offset) \
56+ (0x0000000000000000ull + (((offset) & 31) * 16))
57+#define CVMX_NPEI_BIST_STATUS \
58+ (0x0000000000000580ull)
59+#define CVMX_NPEI_BIST_STATUS2 \
60+ (0x0000000000000680ull)
61+#define CVMX_NPEI_CTL_PORT0 \
62+ (0x0000000000000250ull)
63+#define CVMX_NPEI_CTL_PORT1 \
64+ (0x0000000000000260ull)
65+#define CVMX_NPEI_CTL_STATUS \
66+ (0x0000000000000570ull)
67+#define CVMX_NPEI_CTL_STATUS2 \
68+ (0x0000000000003C00ull)
69+#define CVMX_NPEI_DATA_OUT_CNT \
70+ (0x00000000000005F0ull)
71+#define CVMX_NPEI_DBG_DATA \
72+ (0x0000000000000510ull)
73+#define CVMX_NPEI_DBG_SELECT \
74+ (0x0000000000000500ull)
75+#define CVMX_NPEI_DMA0_INT_LEVEL \
76+ (0x00000000000005C0ull)
77+#define CVMX_NPEI_DMA1_INT_LEVEL \
78+ (0x00000000000005D0ull)
79+#define CVMX_NPEI_DMAX_COUNTS(offset) \
80+ (0x0000000000000450ull + (((offset) & 7) * 16))
81+#define CVMX_NPEI_DMAX_DBELL(offset) \
82+ (0x00000000000003B0ull + (((offset) & 7) * 16))
83+#define CVMX_NPEI_DMAX_IBUFF_SADDR(offset) \
84+ (0x0000000000000400ull + (((offset) & 7) * 16))
85+#define CVMX_NPEI_DMAX_NADDR(offset) \
86+ (0x00000000000004A0ull + (((offset) & 7) * 16))
87+#define CVMX_NPEI_DMA_CNTS \
88+ (0x00000000000005E0ull)
89+#define CVMX_NPEI_DMA_CONTROL \
90+ (0x00000000000003A0ull)
91+#define CVMX_NPEI_INT_A_ENB \
92+ (0x0000000000000560ull)
93+#define CVMX_NPEI_INT_A_ENB2 \
94+ (0x0000000000003CE0ull)
95+#define CVMX_NPEI_INT_A_SUM \
96+ (0x0000000000000550ull)
97+#define CVMX_NPEI_INT_ENB \
98+ (0x0000000000000540ull)
99+#define CVMX_NPEI_INT_ENB2 \
100+ (0x0000000000003CD0ull)
101+#define CVMX_NPEI_INT_INFO \
102+ (0x0000000000000590ull)
103+#define CVMX_NPEI_INT_SUM \
104+ (0x0000000000000530ull)
105+#define CVMX_NPEI_INT_SUM2 \
106+ (0x0000000000003CC0ull)
107+#define CVMX_NPEI_LAST_WIN_RDATA0 \
108+ (0x0000000000000600ull)
109+#define CVMX_NPEI_LAST_WIN_RDATA1 \
110+ (0x0000000000000610ull)
111+#define CVMX_NPEI_MEM_ACCESS_CTL \
112+ (0x00000000000004F0ull)
113+#define CVMX_NPEI_MEM_ACCESS_SUBIDX(offset) \
114+ (0x0000000000000340ull + (((offset) & 31) * 16) - 16 * 12)
115+#define CVMX_NPEI_MSI_ENB0 \
116+ (0x0000000000003C50ull)
117+#define CVMX_NPEI_MSI_ENB1 \
118+ (0x0000000000003C60ull)
119+#define CVMX_NPEI_MSI_ENB2 \
120+ (0x0000000000003C70ull)
121+#define CVMX_NPEI_MSI_ENB3 \
122+ (0x0000000000003C80ull)
123+#define CVMX_NPEI_MSI_RCV0 \
124+ (0x0000000000003C10ull)
125+#define CVMX_NPEI_MSI_RCV1 \
126+ (0x0000000000003C20ull)
127+#define CVMX_NPEI_MSI_RCV2 \
128+ (0x0000000000003C30ull)
129+#define CVMX_NPEI_MSI_RCV3 \
130+ (0x0000000000003C40ull)
131+#define CVMX_NPEI_MSI_RD_MAP \
132+ (0x0000000000003CA0ull)
133+#define CVMX_NPEI_MSI_W1C_ENB0 \
134+ (0x0000000000003CF0ull)
135+#define CVMX_NPEI_MSI_W1C_ENB1 \
136+ (0x0000000000003D00ull)
137+#define CVMX_NPEI_MSI_W1C_ENB2 \
138+ (0x0000000000003D10ull)
139+#define CVMX_NPEI_MSI_W1C_ENB3 \
140+ (0x0000000000003D20ull)
141+#define CVMX_NPEI_MSI_W1S_ENB0 \
142+ (0x0000000000003D30ull)
143+#define CVMX_NPEI_MSI_W1S_ENB1 \
144+ (0x0000000000003D40ull)
145+#define CVMX_NPEI_MSI_W1S_ENB2 \
146+ (0x0000000000003D50ull)
147+#define CVMX_NPEI_MSI_W1S_ENB3 \
148+ (0x0000000000003D60ull)
149+#define CVMX_NPEI_MSI_WR_MAP \
150+ (0x0000000000003C90ull)
151+#define CVMX_NPEI_PCIE_CREDIT_CNT \
152+ (0x0000000000003D70ull)
153+#define CVMX_NPEI_PCIE_MSI_RCV \
154+ (0x0000000000003CB0ull)
155+#define CVMX_NPEI_PCIE_MSI_RCV_B1 \
156+ (0x0000000000000650ull)
157+#define CVMX_NPEI_PCIE_MSI_RCV_B2 \
158+ (0x0000000000000660ull)
159+#define CVMX_NPEI_PCIE_MSI_RCV_B3 \
160+ (0x0000000000000670ull)
161+#define CVMX_NPEI_PKTX_CNTS(offset) \
162+ (0x0000000000002400ull + (((offset) & 31) * 16))
163+#define CVMX_NPEI_PKTX_INSTR_BADDR(offset) \
164+ (0x0000000000002800ull + (((offset) & 31) * 16))
165+#define CVMX_NPEI_PKTX_INSTR_BAOFF_DBELL(offset) \
166+ (0x0000000000002C00ull + (((offset) & 31) * 16))
167+#define CVMX_NPEI_PKTX_INSTR_FIFO_RSIZE(offset) \
168+ (0x0000000000003000ull + (((offset) & 31) * 16))
169+#define CVMX_NPEI_PKTX_INSTR_HEADER(offset) \
170+ (0x0000000000003400ull + (((offset) & 31) * 16))
171+#define CVMX_NPEI_PKTX_IN_BP(offset) \
172+ (0x0000000000003800ull + (((offset) & 31) * 16))
173+#define CVMX_NPEI_PKTX_SLIST_BADDR(offset) \
174+ (0x0000000000001400ull + (((offset) & 31) * 16))
175+#define CVMX_NPEI_PKTX_SLIST_BAOFF_DBELL(offset) \
176+ (0x0000000000001800ull + (((offset) & 31) * 16))
177+#define CVMX_NPEI_PKTX_SLIST_FIFO_RSIZE(offset) \
178+ (0x0000000000001C00ull + (((offset) & 31) * 16))
179+#define CVMX_NPEI_PKT_CNT_INT \
180+ (0x0000000000001110ull)
181+#define CVMX_NPEI_PKT_CNT_INT_ENB \
182+ (0x0000000000001130ull)
183+#define CVMX_NPEI_PKT_DATA_OUT_ES \
184+ (0x00000000000010B0ull)
185+#define CVMX_NPEI_PKT_DATA_OUT_NS \
186+ (0x00000000000010A0ull)
187+#define CVMX_NPEI_PKT_DATA_OUT_ROR \
188+ (0x0000000000001090ull)
189+#define CVMX_NPEI_PKT_DPADDR \
190+ (0x0000000000001080ull)
191+#define CVMX_NPEI_PKT_INPUT_CONTROL \
192+ (0x0000000000001150ull)
193+#define CVMX_NPEI_PKT_INSTR_ENB \
194+ (0x0000000000001000ull)
195+#define CVMX_NPEI_PKT_INSTR_RD_SIZE \
196+ (0x0000000000001190ull)
197+#define CVMX_NPEI_PKT_INSTR_SIZE \
198+ (0x0000000000001020ull)
199+#define CVMX_NPEI_PKT_INT_LEVELS \
200+ (0x0000000000001100ull)
201+#define CVMX_NPEI_PKT_IN_BP \
202+ (0x00000000000006B0ull)
203+#define CVMX_NPEI_PKT_IN_DONEX_CNTS(offset) \
204+ (0x0000000000002000ull + (((offset) & 31) * 16))
205+#define CVMX_NPEI_PKT_IN_INSTR_COUNTS \
206+ (0x00000000000006A0ull)
207+#define CVMX_NPEI_PKT_IN_PCIE_PORT \
208+ (0x00000000000011A0ull)
209+#define CVMX_NPEI_PKT_IPTR \
210+ (0x0000000000001070ull)
211+#define CVMX_NPEI_PKT_OUTPUT_WMARK \
212+ (0x0000000000001160ull)
213+#define CVMX_NPEI_PKT_OUT_BMODE \
214+ (0x00000000000010D0ull)
215+#define CVMX_NPEI_PKT_OUT_ENB \
216+ (0x0000000000001010ull)
217+#define CVMX_NPEI_PKT_PCIE_PORT \
218+ (0x00000000000010E0ull)
219+#define CVMX_NPEI_PKT_PORT_IN_RST \
220+ (0x0000000000000690ull)
221+#define CVMX_NPEI_PKT_SLIST_ES \
222+ (0x0000000000001050ull)
223+#define CVMX_NPEI_PKT_SLIST_ID_SIZE \
224+ (0x0000000000001180ull)
225+#define CVMX_NPEI_PKT_SLIST_NS \
226+ (0x0000000000001040ull)
227+#define CVMX_NPEI_PKT_SLIST_ROR \
228+ (0x0000000000001030ull)
229+#define CVMX_NPEI_PKT_TIME_INT \
230+ (0x0000000000001120ull)
231+#define CVMX_NPEI_PKT_TIME_INT_ENB \
232+ (0x0000000000001140ull)
233+#define CVMX_NPEI_RSL_INT_BLOCKS \
234+ (0x0000000000000520ull)
235+#define CVMX_NPEI_SCRATCH_1 \
236+ (0x0000000000000270ull)
237+#define CVMX_NPEI_STATE1 \
238+ (0x0000000000000620ull)
239+#define CVMX_NPEI_STATE2 \
240+ (0x0000000000000630ull)
241+#define CVMX_NPEI_STATE3 \
242+ (0x0000000000000640ull)
243+#define CVMX_NPEI_WINDOW_CTL \
244+ (0x0000000000000380ull)
245+#define CVMX_NPEI_WIN_RD_ADDR \
246+ (0x0000000000000210ull)
247+#define CVMX_NPEI_WIN_RD_DATA \
248+ (0x0000000000000240ull)
249+#define CVMX_NPEI_WIN_WR_ADDR \
250+ (0x0000000000000200ull)
251+#define CVMX_NPEI_WIN_WR_DATA \
252+ (0x0000000000000220ull)
253+#define CVMX_NPEI_WIN_WR_MASK \
254+ (0x0000000000000230ull)
255+
256+union cvmx_npei_bar1_indexx {
257+ uint32_t u32;
258+ struct cvmx_npei_bar1_indexx_s {
259+ uint32_t reserved_18_31:14;
260+ uint32_t addr_idx:14;
261+ uint32_t ca:1;
262+ uint32_t end_swp:2;
263+ uint32_t addr_v:1;
264+ } s;
265+ struct cvmx_npei_bar1_indexx_s cn52xx;
266+ struct cvmx_npei_bar1_indexx_s cn52xxp1;
267+ struct cvmx_npei_bar1_indexx_s cn56xx;
268+ struct cvmx_npei_bar1_indexx_s cn56xxp1;
269+};
270+
271+union cvmx_npei_bist_status {
272+ uint64_t u64;
273+ struct cvmx_npei_bist_status_s {
274+ uint64_t pkt_rdf:1;
275+ uint64_t pkt_pmem:1;
276+ uint64_t pkt_p1:1;
277+ uint64_t reserved_60_60:1;
278+ uint64_t pcr_gim:1;
279+ uint64_t pkt_pif:1;
280+ uint64_t pcsr_int:1;
281+ uint64_t pcsr_im:1;
282+ uint64_t pcsr_cnt:1;
283+ uint64_t pcsr_id:1;
284+ uint64_t pcsr_sl:1;
285+ uint64_t reserved_50_52:3;
286+ uint64_t pkt_ind:1;
287+ uint64_t pkt_slm:1;
288+ uint64_t reserved_36_47:12;
289+ uint64_t d0_pst:1;
290+ uint64_t d1_pst:1;
291+ uint64_t d2_pst:1;
292+ uint64_t d3_pst:1;
293+ uint64_t reserved_31_31:1;
294+ uint64_t n2p0_c:1;
295+ uint64_t n2p0_o:1;
296+ uint64_t n2p1_c:1;
297+ uint64_t n2p1_o:1;
298+ uint64_t cpl_p0:1;
299+ uint64_t cpl_p1:1;
300+ uint64_t p2n1_po:1;
301+ uint64_t p2n1_no:1;
302+ uint64_t p2n1_co:1;
303+ uint64_t p2n0_po:1;
304+ uint64_t p2n0_no:1;
305+ uint64_t p2n0_co:1;
306+ uint64_t p2n0_c0:1;
307+ uint64_t p2n0_c1:1;
308+ uint64_t p2n0_n:1;
309+ uint64_t p2n0_p0:1;
310+ uint64_t p2n0_p1:1;
311+ uint64_t p2n1_c0:1;
312+ uint64_t p2n1_c1:1;
313+ uint64_t p2n1_n:1;
314+ uint64_t p2n1_p0:1;
315+ uint64_t p2n1_p1:1;
316+ uint64_t csm0:1;
317+ uint64_t csm1:1;
318+ uint64_t dif0:1;
319+ uint64_t dif1:1;
320+ uint64_t dif2:1;
321+ uint64_t dif3:1;
322+ uint64_t reserved_2_2:1;
323+ uint64_t msi:1;
324+ uint64_t ncb_cmd:1;
325+ } s;
326+ struct cvmx_npei_bist_status_cn52xx {
327+ uint64_t pkt_rdf:1;
328+ uint64_t pkt_pmem:1;
329+ uint64_t pkt_p1:1;
330+ uint64_t reserved_60_60:1;
331+ uint64_t pcr_gim:1;
332+ uint64_t pkt_pif:1;
333+ uint64_t pcsr_int:1;
334+ uint64_t pcsr_im:1;
335+ uint64_t pcsr_cnt:1;
336+ uint64_t pcsr_id:1;
337+ uint64_t pcsr_sl:1;
338+ uint64_t pkt_imem:1;
339+ uint64_t pkt_pfm:1;
340+ uint64_t pkt_pof:1;
341+ uint64_t reserved_48_49:2;
342+ uint64_t pkt_pop0:1;
343+ uint64_t pkt_pop1:1;
344+ uint64_t d0_mem:1;
345+ uint64_t d1_mem:1;
346+ uint64_t d2_mem:1;
347+ uint64_t d3_mem:1;
348+ uint64_t d4_mem:1;
349+ uint64_t ds_mem:1;
350+ uint64_t reserved_36_39:4;
351+ uint64_t d0_pst:1;
352+ uint64_t d1_pst:1;
353+ uint64_t d2_pst:1;
354+ uint64_t d3_pst:1;
355+ uint64_t d4_pst:1;
356+ uint64_t n2p0_c:1;
357+ uint64_t n2p0_o:1;
358+ uint64_t n2p1_c:1;
359+ uint64_t n2p1_o:1;
360+ uint64_t cpl_p0:1;
361+ uint64_t cpl_p1:1;
362+ uint64_t p2n1_po:1;
363+ uint64_t p2n1_no:1;
364+ uint64_t p2n1_co:1;
365+ uint64_t p2n0_po:1;
366+ uint64_t p2n0_no:1;
367+ uint64_t p2n0_co:1;
368+ uint64_t p2n0_c0:1;
369+ uint64_t p2n0_c1:1;
370+ uint64_t p2n0_n:1;
371+ uint64_t p2n0_p0:1;
372+ uint64_t p2n0_p1:1;
373+ uint64_t p2n1_c0:1;
374+ uint64_t p2n1_c1:1;
375+ uint64_t p2n1_n:1;
376+ uint64_t p2n1_p0:1;
377+ uint64_t p2n1_p1:1;
378+ uint64_t csm0:1;
379+ uint64_t csm1:1;
380+ uint64_t dif0:1;
381+ uint64_t dif1:1;
382+ uint64_t dif2:1;
383+ uint64_t dif3:1;
384+ uint64_t dif4:1;
385+ uint64_t msi:1;
386+ uint64_t ncb_cmd:1;
387+ } cn52xx;
388+ struct cvmx_npei_bist_status_cn52xxp1 {
389+ uint64_t reserved_46_63:18;
390+ uint64_t d0_mem0:1;
391+ uint64_t d1_mem1:1;
392+ uint64_t d2_mem2:1;
393+ uint64_t d3_mem3:1;
394+ uint64_t dr0_mem:1;
395+ uint64_t d0_mem:1;
396+ uint64_t d1_mem:1;
397+ uint64_t d2_mem:1;
398+ uint64_t d3_mem:1;
399+ uint64_t dr1_mem:1;
400+ uint64_t d0_pst:1;
401+ uint64_t d1_pst:1;
402+ uint64_t d2_pst:1;
403+ uint64_t d3_pst:1;
404+ uint64_t dr2_mem:1;
405+ uint64_t n2p0_c:1;
406+ uint64_t n2p0_o:1;
407+ uint64_t n2p1_c:1;
408+ uint64_t n2p1_o:1;
409+ uint64_t cpl_p0:1;
410+ uint64_t cpl_p1:1;
411+ uint64_t p2n1_po:1;
412+ uint64_t p2n1_no:1;
413+ uint64_t p2n1_co:1;
414+ uint64_t p2n0_po:1;
415+ uint64_t p2n0_no:1;
416+ uint64_t p2n0_co:1;
417+ uint64_t p2n0_c0:1;
418+ uint64_t p2n0_c1:1;
419+ uint64_t p2n0_n:1;
420+ uint64_t p2n0_p0:1;
421+ uint64_t p2n0_p1:1;
422+ uint64_t p2n1_c0:1;
423+ uint64_t p2n1_c1:1;
424+ uint64_t p2n1_n:1;
425+ uint64_t p2n1_p0:1;
426+ uint64_t p2n1_p1:1;
427+ uint64_t csm0:1;
428+ uint64_t csm1:1;
429+ uint64_t dif0:1;
430+ uint64_t dif1:1;
431+ uint64_t dif2:1;
432+ uint64_t dif3:1;
433+ uint64_t dr3_mem:1;
434+ uint64_t msi:1;
435+ uint64_t ncb_cmd:1;
436+ } cn52xxp1;
437+ struct cvmx_npei_bist_status_cn56xx {
438+ uint64_t pkt_rdf:1;
439+ uint64_t reserved_60_62:3;
440+ uint64_t pcr_gim:1;
441+ uint64_t pkt_pif:1;
442+ uint64_t pcsr_int:1;
443+ uint64_t pcsr_im:1;
444+ uint64_t pcsr_cnt:1;
445+ uint64_t pcsr_id:1;
446+ uint64_t pcsr_sl:1;
447+ uint64_t pkt_imem:1;
448+ uint64_t pkt_pfm:1;
449+ uint64_t pkt_pof:1;
450+ uint64_t reserved_48_49:2;
451+ uint64_t pkt_pop0:1;
452+ uint64_t pkt_pop1:1;
453+ uint64_t d0_mem:1;
454+ uint64_t d1_mem:1;
455+ uint64_t d2_mem:1;
456+ uint64_t d3_mem:1;
457+ uint64_t d4_mem:1;
458+ uint64_t ds_mem:1;
459+ uint64_t reserved_36_39:4;
460+ uint64_t d0_pst:1;
461+ uint64_t d1_pst:1;
462+ uint64_t d2_pst:1;
463+ uint64_t d3_pst:1;
464+ uint64_t d4_pst:1;
465+ uint64_t n2p0_c:1;
466+ uint64_t n2p0_o:1;
467+ uint64_t n2p1_c:1;
468+ uint64_t n2p1_o:1;
469+ uint64_t cpl_p0:1;
470+ uint64_t cpl_p1:1;
471+ uint64_t p2n1_po:1;
472+ uint64_t p2n1_no:1;
473+ uint64_t p2n1_co:1;
474+ uint64_t p2n0_po:1;
475+ uint64_t p2n0_no:1;
476+ uint64_t p2n0_co:1;
477+ uint64_t p2n0_c0:1;
478+ uint64_t p2n0_c1:1;
479+ uint64_t p2n0_n:1;
480+ uint64_t p2n0_p0:1;
481+ uint64_t p2n0_p1:1;
482+ uint64_t p2n1_c0:1;
483+ uint64_t p2n1_c1:1;
484+ uint64_t p2n1_n:1;
485+ uint64_t p2n1_p0:1;
486+ uint64_t p2n1_p1:1;
487+ uint64_t csm0:1;
488+ uint64_t csm1:1;
489+ uint64_t dif0:1;
490+ uint64_t dif1:1;
491+ uint64_t dif2:1;
492+ uint64_t dif3:1;
493+ uint64_t dif4:1;
494+ uint64_t msi:1;
495+ uint64_t ncb_cmd:1;
496+ } cn56xx;
497+ struct cvmx_npei_bist_status_cn56xxp1 {
498+ uint64_t reserved_58_63:6;
499+ uint64_t pcsr_int:1;
500+ uint64_t pcsr_im:1;
501+ uint64_t pcsr_cnt:1;
502+ uint64_t pcsr_id:1;
503+ uint64_t pcsr_sl:1;
504+ uint64_t pkt_pout:1;
505+ uint64_t pkt_imem:1;
506+ uint64_t pkt_cntm:1;
507+ uint64_t pkt_ind:1;
508+ uint64_t pkt_slm:1;
509+ uint64_t pkt_odf:1;
510+ uint64_t pkt_oif:1;
511+ uint64_t pkt_out:1;
512+ uint64_t pkt_i0:1;
513+ uint64_t pkt_i1:1;
514+ uint64_t pkt_s0:1;
515+ uint64_t pkt_s1:1;
516+ uint64_t d0_mem:1;
517+ uint64_t d1_mem:1;
518+ uint64_t d2_mem:1;
519+ uint64_t d3_mem:1;
520+ uint64_t d4_mem:1;
521+ uint64_t d0_pst:1;
522+ uint64_t d1_pst:1;
523+ uint64_t d2_pst:1;
524+ uint64_t d3_pst:1;
525+ uint64_t d4_pst:1;
526+ uint64_t n2p0_c:1;
527+ uint64_t n2p0_o:1;
528+ uint64_t n2p1_c:1;
529+ uint64_t n2p1_o:1;
530+ uint64_t cpl_p0:1;
531+ uint64_t cpl_p1:1;
532+ uint64_t p2n1_po:1;
533+ uint64_t p2n1_no:1;
534+ uint64_t p2n1_co:1;
535+ uint64_t p2n0_po:1;
536+ uint64_t p2n0_no:1;
537+ uint64_t p2n0_co:1;
538+ uint64_t p2n0_c0:1;
539+ uint64_t p2n0_c1:1;
540+ uint64_t p2n0_n:1;
541+ uint64_t p2n0_p0:1;
542+ uint64_t p2n0_p1:1;
543+ uint64_t p2n1_c0:1;
544+ uint64_t p2n1_c1:1;
545+ uint64_t p2n1_n:1;
546+ uint64_t p2n1_p0:1;
547+ uint64_t p2n1_p1:1;
548+ uint64_t csm0:1;
549+ uint64_t csm1:1;
550+ uint64_t dif0:1;
551+ uint64_t dif1:1;
552+ uint64_t dif2:1;
553+ uint64_t dif3:1;
554+ uint64_t dif4:1;
555+ uint64_t msi:1;
556+ uint64_t ncb_cmd:1;
557+ } cn56xxp1;
558+};
559+
560+union cvmx_npei_bist_status2 {
561+ uint64_t u64;
562+ struct cvmx_npei_bist_status2_s {
563+ uint64_t reserved_5_63:59;
564+ uint64_t psc_p0:1;
565+ uint64_t psc_p1:1;
566+ uint64_t pkt_gd:1;
567+ uint64_t pkt_gl:1;
568+ uint64_t pkt_blk:1;
569+ } s;
570+ struct cvmx_npei_bist_status2_s cn52xx;
571+ struct cvmx_npei_bist_status2_s cn56xx;
572+};
573+
574+union cvmx_npei_ctl_port0 {
575+ uint64_t u64;
576+ struct cvmx_npei_ctl_port0_s {
577+ uint64_t reserved_21_63:43;
578+ uint64_t waitl_com:1;
579+ uint64_t intd:1;
580+ uint64_t intc:1;
581+ uint64_t intb:1;
582+ uint64_t inta:1;
583+ uint64_t intd_map:2;
584+ uint64_t intc_map:2;
585+ uint64_t intb_map:2;
586+ uint64_t inta_map:2;
587+ uint64_t ctlp_ro:1;
588+ uint64_t reserved_6_6:1;
589+ uint64_t ptlp_ro:1;
590+ uint64_t bar2_enb:1;
591+ uint64_t bar2_esx:2;
592+ uint64_t bar2_cax:1;
593+ uint64_t wait_com:1;
594+ } s;
595+ struct cvmx_npei_ctl_port0_s cn52xx;
596+ struct cvmx_npei_ctl_port0_s cn52xxp1;
597+ struct cvmx_npei_ctl_port0_s cn56xx;
598+ struct cvmx_npei_ctl_port0_s cn56xxp1;
599+};
600+
601+union cvmx_npei_ctl_port1 {
602+ uint64_t u64;
603+ struct cvmx_npei_ctl_port1_s {
604+ uint64_t reserved_21_63:43;
605+ uint64_t waitl_com:1;
606+ uint64_t intd:1;
607+ uint64_t intc:1;
608+ uint64_t intb:1;
609+ uint64_t inta:1;
610+ uint64_t intd_map:2;
611+ uint64_t intc_map:2;
612+ uint64_t intb_map:2;
613+ uint64_t inta_map:2;
614+ uint64_t ctlp_ro:1;
615+ uint64_t reserved_6_6:1;
616+ uint64_t ptlp_ro:1;
617+ uint64_t bar2_enb:1;
618+ uint64_t bar2_esx:2;
619+ uint64_t bar2_cax:1;
620+ uint64_t wait_com:1;
621+ } s;
622+ struct cvmx_npei_ctl_port1_s cn52xx;
623+ struct cvmx_npei_ctl_port1_s cn52xxp1;
624+ struct cvmx_npei_ctl_port1_s cn56xx;
625+ struct cvmx_npei_ctl_port1_s cn56xxp1;
626+};
627+
628+union cvmx_npei_ctl_status {
629+ uint64_t u64;
630+ struct cvmx_npei_ctl_status_s {
631+ uint64_t reserved_44_63:20;
632+ uint64_t p1_ntags:6;
633+ uint64_t p0_ntags:6;
634+ uint64_t cfg_rtry:16;
635+ uint64_t ring_en:1;
636+ uint64_t lnk_rst:1;
637+ uint64_t arb:1;
638+ uint64_t pkt_bp:4;
639+ uint64_t host_mode:1;
640+ uint64_t chip_rev:8;
641+ } s;
642+ struct cvmx_npei_ctl_status_s cn52xx;
643+ struct cvmx_npei_ctl_status_cn52xxp1 {
644+ uint64_t reserved_44_63:20;
645+ uint64_t p1_ntags:6;
646+ uint64_t p0_ntags:6;
647+ uint64_t cfg_rtry:16;
648+ uint64_t reserved_15_15:1;
649+ uint64_t lnk_rst:1;
650+ uint64_t arb:1;
651+ uint64_t reserved_9_12:4;
652+ uint64_t host_mode:1;
653+ uint64_t chip_rev:8;
654+ } cn52xxp1;
655+ struct cvmx_npei_ctl_status_s cn56xx;
656+ struct cvmx_npei_ctl_status_cn56xxp1 {
657+ uint64_t reserved_16_63:48;
658+ uint64_t ring_en:1;
659+ uint64_t lnk_rst:1;
660+ uint64_t arb:1;
661+ uint64_t pkt_bp:4;
662+ uint64_t host_mode:1;
663+ uint64_t chip_rev:8;
664+ } cn56xxp1;
665+};
666+
667+union cvmx_npei_ctl_status2 {
668+ uint64_t u64;
669+ struct cvmx_npei_ctl_status2_s {
670+ uint64_t reserved_16_63:48;
671+ uint64_t mps:1;
672+ uint64_t mrrs:3;
673+ uint64_t c1_w_flt:1;
674+ uint64_t c0_w_flt:1;
675+ uint64_t c1_b1_s:3;
676+ uint64_t c0_b1_s:3;
677+ uint64_t c1_wi_d:1;
678+ uint64_t c1_b0_d:1;
679+ uint64_t c0_wi_d:1;
680+ uint64_t c0_b0_d:1;
681+ } s;
682+ struct cvmx_npei_ctl_status2_s cn52xx;
683+ struct cvmx_npei_ctl_status2_s cn52xxp1;
684+ struct cvmx_npei_ctl_status2_s cn56xx;
685+ struct cvmx_npei_ctl_status2_s cn56xxp1;
686+};
687+
688+union cvmx_npei_data_out_cnt {
689+ uint64_t u64;
690+ struct cvmx_npei_data_out_cnt_s {
691+ uint64_t reserved_44_63:20;
692+ uint64_t p1_ucnt:16;
693+ uint64_t p1_fcnt:6;
694+ uint64_t p0_ucnt:16;
695+ uint64_t p0_fcnt:6;
696+ } s;
697+ struct cvmx_npei_data_out_cnt_s cn52xx;
698+ struct cvmx_npei_data_out_cnt_s cn52xxp1;
699+ struct cvmx_npei_data_out_cnt_s cn56xx;
700+ struct cvmx_npei_data_out_cnt_s cn56xxp1;
701+};
702+
703+union cvmx_npei_dbg_data {
704+ uint64_t u64;
705+ struct cvmx_npei_dbg_data_s {
706+ uint64_t reserved_28_63:36;
707+ uint64_t qlm0_rev_lanes:1;
708+ uint64_t reserved_25_26:2;
709+ uint64_t qlm1_spd:2;
710+ uint64_t c_mul:5;
711+ uint64_t dsel_ext:1;
712+ uint64_t data:17;
713+ } s;
714+ struct cvmx_npei_dbg_data_cn52xx {
715+ uint64_t reserved_29_63:35;
716+ uint64_t qlm0_link_width:1;
717+ uint64_t qlm0_rev_lanes:1;
718+ uint64_t qlm1_mode:2;
719+ uint64_t qlm1_spd:2;
720+ uint64_t c_mul:5;
721+ uint64_t dsel_ext:1;
722+ uint64_t data:17;
723+ } cn52xx;
724+ struct cvmx_npei_dbg_data_cn52xx cn52xxp1;
725+ struct cvmx_npei_dbg_data_cn56xx {
726+ uint64_t reserved_29_63:35;
727+ uint64_t qlm2_rev_lanes:1;
728+ uint64_t qlm0_rev_lanes:1;
729+ uint64_t qlm3_spd:2;
730+ uint64_t qlm1_spd:2;
731+ uint64_t c_mul:5;
732+ uint64_t dsel_ext:1;
733+ uint64_t data:17;
734+ } cn56xx;
735+ struct cvmx_npei_dbg_data_cn56xx cn56xxp1;
736+};
737+
738+union cvmx_npei_dbg_select {
739+ uint64_t u64;
740+ struct cvmx_npei_dbg_select_s {
741+ uint64_t reserved_16_63:48;
742+ uint64_t dbg_sel:16;
743+ } s;
744+ struct cvmx_npei_dbg_select_s cn52xx;
745+ struct cvmx_npei_dbg_select_s cn52xxp1;
746+ struct cvmx_npei_dbg_select_s cn56xx;
747+ struct cvmx_npei_dbg_select_s cn56xxp1;
748+};
749+
750+union cvmx_npei_dmax_counts {
751+ uint64_t u64;
752+ struct cvmx_npei_dmax_counts_s {
753+ uint64_t reserved_39_63:25;
754+ uint64_t fcnt:7;
755+ uint64_t dbell:32;
756+ } s;
757+ struct cvmx_npei_dmax_counts_s cn52xx;
758+ struct cvmx_npei_dmax_counts_s cn52xxp1;
759+ struct cvmx_npei_dmax_counts_s cn56xx;
760+ struct cvmx_npei_dmax_counts_s cn56xxp1;
761+};
762+
763+union cvmx_npei_dmax_dbell {
764+ uint32_t u32;
765+ struct cvmx_npei_dmax_dbell_s {
766+ uint32_t reserved_16_31:16;
767+ uint32_t dbell:16;
768+ } s;
769+ struct cvmx_npei_dmax_dbell_s cn52xx;
770+ struct cvmx_npei_dmax_dbell_s cn52xxp1;
771+ struct cvmx_npei_dmax_dbell_s cn56xx;
772+ struct cvmx_npei_dmax_dbell_s cn56xxp1;
773+};
774+
775+union cvmx_npei_dmax_ibuff_saddr {
776+ uint64_t u64;
777+ struct cvmx_npei_dmax_ibuff_saddr_s {
778+ uint64_t reserved_37_63:27;
779+ uint64_t idle:1;
780+ uint64_t saddr:29;
781+ uint64_t reserved_0_6:7;
782+ } s;
783+ struct cvmx_npei_dmax_ibuff_saddr_cn52xx {
784+ uint64_t reserved_36_63:28;
785+ uint64_t saddr:29;
786+ uint64_t reserved_0_6:7;
787+ } cn52xx;
788+ struct cvmx_npei_dmax_ibuff_saddr_cn52xx cn52xxp1;
789+ struct cvmx_npei_dmax_ibuff_saddr_s cn56xx;
790+ struct cvmx_npei_dmax_ibuff_saddr_cn52xx cn56xxp1;
791+};
792+
793+union cvmx_npei_dmax_naddr {
794+ uint64_t u64;
795+ struct cvmx_npei_dmax_naddr_s {
796+ uint64_t reserved_36_63:28;
797+ uint64_t addr:36;
798+ } s;
799+ struct cvmx_npei_dmax_naddr_s cn52xx;
800+ struct cvmx_npei_dmax_naddr_s cn52xxp1;
801+ struct cvmx_npei_dmax_naddr_s cn56xx;
802+ struct cvmx_npei_dmax_naddr_s cn56xxp1;
803+};
804+
805+union cvmx_npei_dma0_int_level {
806+ uint64_t u64;
807+ struct cvmx_npei_dma0_int_level_s {
808+ uint64_t time:32;
809+ uint64_t cnt:32;
810+ } s;
811+ struct cvmx_npei_dma0_int_level_s cn52xx;
812+ struct cvmx_npei_dma0_int_level_s cn52xxp1;
813+ struct cvmx_npei_dma0_int_level_s cn56xx;
814+ struct cvmx_npei_dma0_int_level_s cn56xxp1;
815+};
816+
817+union cvmx_npei_dma1_int_level {
818+ uint64_t u64;
819+ struct cvmx_npei_dma1_int_level_s {
820+ uint64_t time:32;
821+ uint64_t cnt:32;
822+ } s;
823+ struct cvmx_npei_dma1_int_level_s cn52xx;
824+ struct cvmx_npei_dma1_int_level_s cn52xxp1;
825+ struct cvmx_npei_dma1_int_level_s cn56xx;
826+ struct cvmx_npei_dma1_int_level_s cn56xxp1;
827+};
828+
829+union cvmx_npei_dma_cnts {
830+ uint64_t u64;
831+ struct cvmx_npei_dma_cnts_s {
832+ uint64_t dma1:32;
833+ uint64_t dma0:32;
834+ } s;
835+ struct cvmx_npei_dma_cnts_s cn52xx;
836+ struct cvmx_npei_dma_cnts_s cn52xxp1;
837+ struct cvmx_npei_dma_cnts_s cn56xx;
838+ struct cvmx_npei_dma_cnts_s cn56xxp1;
839+};
840+
841+union cvmx_npei_dma_control {
842+ uint64_t u64;
843+ struct cvmx_npei_dma_control_s {
844+ uint64_t reserved_39_63:25;
845+ uint64_t dma4_enb:1;
846+ uint64_t dma3_enb:1;
847+ uint64_t dma2_enb:1;
848+ uint64_t dma1_enb:1;
849+ uint64_t dma0_enb:1;
850+ uint64_t b0_lend:1;
851+ uint64_t dwb_denb:1;
852+ uint64_t dwb_ichk:9;
853+ uint64_t fpa_que:3;
854+ uint64_t o_add1:1;
855+ uint64_t o_ro:1;
856+ uint64_t o_ns:1;
857+ uint64_t o_es:2;
858+ uint64_t o_mode:1;
859+ uint64_t csize:14;
860+ } s;
861+ struct cvmx_npei_dma_control_s cn52xx;
862+ struct cvmx_npei_dma_control_cn52xxp1 {
863+ uint64_t reserved_38_63:26;
864+ uint64_t dma3_enb:1;
865+ uint64_t dma2_enb:1;
866+ uint64_t dma1_enb:1;
867+ uint64_t dma0_enb:1;
868+ uint64_t b0_lend:1;
869+ uint64_t dwb_denb:1;
870+ uint64_t dwb_ichk:9;
871+ uint64_t fpa_que:3;
872+ uint64_t o_add1:1;
873+ uint64_t o_ro:1;
874+ uint64_t o_ns:1;
875+ uint64_t o_es:2;
876+ uint64_t o_mode:1;
877+ uint64_t csize:14;
878+ } cn52xxp1;
879+ struct cvmx_npei_dma_control_s cn56xx;
880+ struct cvmx_npei_dma_control_s cn56xxp1;
881+};
882+
883+union cvmx_npei_int_a_enb {
884+ uint64_t u64;
885+ struct cvmx_npei_int_a_enb_s {
886+ uint64_t reserved_10_63:54;
887+ uint64_t pout_err:1;
888+ uint64_t pin_bp:1;
889+ uint64_t p1_rdlk:1;
890+ uint64_t p0_rdlk:1;
891+ uint64_t pgl_err:1;
892+ uint64_t pdi_err:1;
893+ uint64_t pop_err:1;
894+ uint64_t pins_err:1;
895+ uint64_t dma1_cpl:1;
896+ uint64_t dma0_cpl:1;
897+ } s;
898+ struct cvmx_npei_int_a_enb_cn52xx {
899+ uint64_t reserved_8_63:56;
900+ uint64_t p1_rdlk:1;
901+ uint64_t p0_rdlk:1;
902+ uint64_t pgl_err:1;
903+ uint64_t pdi_err:1;
904+ uint64_t pop_err:1;
905+ uint64_t pins_err:1;
906+ uint64_t dma1_cpl:1;
907+ uint64_t dma0_cpl:1;
908+ } cn52xx;
909+ struct cvmx_npei_int_a_enb_cn52xxp1 {
910+ uint64_t reserved_2_63:62;
911+ uint64_t dma1_cpl:1;
912+ uint64_t dma0_cpl:1;
913+ } cn52xxp1;
914+ struct cvmx_npei_int_a_enb_s cn56xx;
915+};
916+
917+union cvmx_npei_int_a_enb2 {
918+ uint64_t u64;
919+ struct cvmx_npei_int_a_enb2_s {
920+ uint64_t reserved_10_63:54;
921+ uint64_t pout_err:1;
922+ uint64_t pin_bp:1;
923+ uint64_t p1_rdlk:1;
924+ uint64_t p0_rdlk:1;
925+ uint64_t pgl_err:1;
926+ uint64_t pdi_err:1;
927+ uint64_t pop_err:1;
928+ uint64_t pins_err:1;
929+ uint64_t dma1_cpl:1;
930+ uint64_t dma0_cpl:1;
931+ } s;
932+ struct cvmx_npei_int_a_enb2_cn52xx {
933+ uint64_t reserved_8_63:56;
934+ uint64_t p1_rdlk:1;
935+ uint64_t p0_rdlk:1;
936+ uint64_t pgl_err:1;
937+ uint64_t pdi_err:1;
938+ uint64_t pop_err:1;
939+ uint64_t pins_err:1;
940+ uint64_t reserved_0_1:2;
941+ } cn52xx;
942+ struct cvmx_npei_int_a_enb2_cn52xxp1 {
943+ uint64_t reserved_2_63:62;
944+ uint64_t dma1_cpl:1;
945+ uint64_t dma0_cpl:1;
946+ } cn52xxp1;
947+ struct cvmx_npei_int_a_enb2_s cn56xx;
948+};
949+
950+union cvmx_npei_int_a_sum {
951+ uint64_t u64;
952+ struct cvmx_npei_int_a_sum_s {
953+ uint64_t reserved_10_63:54;
954+ uint64_t pout_err:1;
955+ uint64_t pin_bp:1;
956+ uint64_t p1_rdlk:1;
957+ uint64_t p0_rdlk:1;
958+ uint64_t pgl_err:1;
959+ uint64_t pdi_err:1;
960+ uint64_t pop_err:1;
961+ uint64_t pins_err:1;
962+ uint64_t dma1_cpl:1;
963+ uint64_t dma0_cpl:1;
964+ } s;
965+ struct cvmx_npei_int_a_sum_cn52xx {
966+ uint64_t reserved_8_63:56;
967+ uint64_t p1_rdlk:1;
968+ uint64_t p0_rdlk:1;
969+ uint64_t pgl_err:1;
970+ uint64_t pdi_err:1;
971+ uint64_t pop_err:1;
972+ uint64_t pins_err:1;
973+ uint64_t dma1_cpl:1;
974+ uint64_t dma0_cpl:1;
975+ } cn52xx;
976+ struct cvmx_npei_int_a_sum_cn52xxp1 {
977+ uint64_t reserved_2_63:62;
978+ uint64_t dma1_cpl:1;
979+ uint64_t dma0_cpl:1;
980+ } cn52xxp1;
981+ struct cvmx_npei_int_a_sum_s cn56xx;
982+};
983+
984+union cvmx_npei_int_enb {
985+ uint64_t u64;
986+ struct cvmx_npei_int_enb_s {
987+ uint64_t mio_inta:1;
988+ uint64_t reserved_62_62:1;
989+ uint64_t int_a:1;
990+ uint64_t c1_ldwn:1;
991+ uint64_t c0_ldwn:1;
992+ uint64_t c1_exc:1;
993+ uint64_t c0_exc:1;
994+ uint64_t c1_up_wf:1;
995+ uint64_t c0_up_wf:1;
996+ uint64_t c1_un_wf:1;
997+ uint64_t c0_un_wf:1;
998+ uint64_t c1_un_bx:1;
999+ uint64_t c1_un_wi:1;
1000+ uint64_t c1_un_b2:1;
1001+ uint64_t c1_un_b1:1;
1002+ uint64_t c1_un_b0:1;
1003+ uint64_t c1_up_bx:1;
1004+ uint64_t c1_up_wi:1;
1005+ uint64_t c1_up_b2:1;
1006+ uint64_t c1_up_b1:1;
1007+ uint64_t c1_up_b0:1;
1008+ uint64_t c0_un_bx:1;
1009+ uint64_t c0_un_wi:1;
1010+ uint64_t c0_un_b2:1;
1011+ uint64_t c0_un_b1:1;
1012+ uint64_t c0_un_b0:1;
1013+ uint64_t c0_up_bx:1;
1014+ uint64_t c0_up_wi:1;
1015+ uint64_t c0_up_b2:1;
1016+ uint64_t c0_up_b1:1;
1017+ uint64_t c0_up_b0:1;
1018+ uint64_t c1_hpint:1;
1019+ uint64_t c1_pmei:1;
1020+ uint64_t c1_wake:1;
1021+ uint64_t crs1_dr:1;
1022+ uint64_t c1_se:1;
1023+ uint64_t crs1_er:1;
1024+ uint64_t c1_aeri:1;
1025+ uint64_t c0_hpint:1;
1026+ uint64_t c0_pmei:1;
1027+ uint64_t c0_wake:1;
1028+ uint64_t crs0_dr:1;
1029+ uint64_t c0_se:1;
1030+ uint64_t crs0_er:1;
1031+ uint64_t c0_aeri:1;
1032+ uint64_t ptime:1;
1033+ uint64_t pcnt:1;
1034+ uint64_t pidbof:1;
1035+ uint64_t psldbof:1;
1036+ uint64_t dtime1:1;
1037+ uint64_t dtime0:1;
1038+ uint64_t dcnt1:1;
1039+ uint64_t dcnt0:1;
1040+ uint64_t dma1fi:1;
1041+ uint64_t dma0fi:1;
1042+ uint64_t dma4dbo:1;
1043+ uint64_t dma3dbo:1;
1044+ uint64_t dma2dbo:1;
1045+ uint64_t dma1dbo:1;
1046+ uint64_t dma0dbo:1;
1047+ uint64_t iob2big:1;
1048+ uint64_t bar0_to:1;
1049+ uint64_t rml_wto:1;
1050+ uint64_t rml_rto:1;
1051+ } s;
1052+ struct cvmx_npei_int_enb_s cn52xx;
1053+ struct cvmx_npei_int_enb_cn52xxp1 {
1054+ uint64_t mio_inta:1;
1055+ uint64_t reserved_62_62:1;
1056+ uint64_t int_a:1;
1057+ uint64_t c1_ldwn:1;
1058+ uint64_t c0_ldwn:1;
1059+ uint64_t c1_exc:1;
1060+ uint64_t c0_exc:1;
1061+ uint64_t c1_up_wf:1;
1062+ uint64_t c0_up_wf:1;
1063+ uint64_t c1_un_wf:1;
1064+ uint64_t c0_un_wf:1;
1065+ uint64_t c1_un_bx:1;
1066+ uint64_t c1_un_wi:1;
1067+ uint64_t c1_un_b2:1;
1068+ uint64_t c1_un_b1:1;
1069+ uint64_t c1_un_b0:1;
1070+ uint64_t c1_up_bx:1;
1071+ uint64_t c1_up_wi:1;
1072+ uint64_t c1_up_b2:1;
1073+ uint64_t c1_up_b1:1;
1074+ uint64_t c1_up_b0:1;
1075+ uint64_t c0_un_bx:1;
1076+ uint64_t c0_un_wi:1;
1077+ uint64_t c0_un_b2:1;
1078+ uint64_t c0_un_b1:1;
1079+ uint64_t c0_un_b0:1;
1080+ uint64_t c0_up_bx:1;
1081+ uint64_t c0_up_wi:1;
1082+ uint64_t c0_up_b2:1;
1083+ uint64_t c0_up_b1:1;
1084+ uint64_t c0_up_b0:1;
1085+ uint64_t c1_hpint:1;
1086+ uint64_t c1_pmei:1;
1087+ uint64_t c1_wake:1;
1088+ uint64_t crs1_dr:1;
1089+ uint64_t c1_se:1;
1090+ uint64_t crs1_er:1;
1091+ uint64_t c1_aeri:1;
1092+ uint64_t c0_hpint:1;
1093+ uint64_t c0_pmei:1;
1094+ uint64_t c0_wake:1;
1095+ uint64_t crs0_dr:1;
1096+ uint64_t c0_se:1;
1097+ uint64_t crs0_er:1;
1098+ uint64_t c0_aeri:1;
1099+ uint64_t ptime:1;
1100+ uint64_t pcnt:1;
1101+ uint64_t pidbof:1;
1102+ uint64_t psldbof:1;
1103+ uint64_t dtime1:1;
1104+ uint64_t dtime0:1;
1105+ uint64_t dcnt1:1;
1106+ uint64_t dcnt0:1;
1107+ uint64_t dma1fi:1;
1108+ uint64_t dma0fi:1;
1109+ uint64_t reserved_8_8:1;
1110+ uint64_t dma3dbo:1;
1111+ uint64_t dma2dbo:1;
1112+ uint64_t dma1dbo:1;
1113+ uint64_t dma0dbo:1;
1114+ uint64_t iob2big:1;
1115+ uint64_t bar0_to:1;
1116+ uint64_t rml_wto:1;
1117+ uint64_t rml_rto:1;
1118+ } cn52xxp1;
1119+ struct cvmx_npei_int_enb_s cn56xx;
1120+ struct cvmx_npei_int_enb_cn56xxp1 {
1121+ uint64_t mio_inta:1;
1122+ uint64_t reserved_61_62:2;
1123+ uint64_t c1_ldwn:1;
1124+ uint64_t c0_ldwn:1;
1125+ uint64_t c1_exc:1;
1126+ uint64_t c0_exc:1;
1127+ uint64_t c1_up_wf:1;
1128+ uint64_t c0_up_wf:1;
1129+ uint64_t c1_un_wf:1;
1130+ uint64_t c0_un_wf:1;
1131+ uint64_t c1_un_bx:1;
1132+ uint64_t c1_un_wi:1;
1133+ uint64_t c1_un_b2:1;
1134+ uint64_t c1_un_b1:1;
1135+ uint64_t c1_un_b0:1;
1136+ uint64_t c1_up_bx:1;
1137+ uint64_t c1_up_wi:1;
1138+ uint64_t c1_up_b2:1;
1139+ uint64_t c1_up_b1:1;
1140+ uint64_t c1_up_b0:1;
1141+ uint64_t c0_un_bx:1;
1142+ uint64_t c0_un_wi:1;
1143+ uint64_t c0_un_b2:1;
1144+ uint64_t c0_un_b1:1;
1145+ uint64_t c0_un_b0:1;
1146+ uint64_t c0_up_bx:1;
1147+ uint64_t c0_up_wi:1;
1148+ uint64_t c0_up_b2:1;
1149+ uint64_t c0_up_b1:1;
1150+ uint64_t c0_up_b0:1;
1151+ uint64_t c1_hpint:1;
1152+ uint64_t c1_pmei:1;
1153+ uint64_t c1_wake:1;
1154+ uint64_t reserved_29_29:1;
1155+ uint64_t c1_se:1;
1156+ uint64_t reserved_27_27:1;
1157+ uint64_t c1_aeri:1;
1158+ uint64_t c0_hpint:1;
1159+ uint64_t c0_pmei:1;
1160+ uint64_t c0_wake:1;
1161+ uint64_t reserved_22_22:1;
1162+ uint64_t c0_se:1;
1163+ uint64_t reserved_20_20:1;
1164+ uint64_t c0_aeri:1;
1165+ uint64_t ptime:1;
1166+ uint64_t pcnt:1;
1167+ uint64_t pidbof:1;
1168+ uint64_t psldbof:1;
1169+ uint64_t dtime1:1;
1170+ uint64_t dtime0:1;
1171+ uint64_t dcnt1:1;
1172+ uint64_t dcnt0:1;
1173+ uint64_t dma1fi:1;
1174+ uint64_t dma0fi:1;
1175+ uint64_t dma4dbo:1;
1176+ uint64_t dma3dbo:1;
1177+ uint64_t dma2dbo:1;
1178+ uint64_t dma1dbo:1;
1179+ uint64_t dma0dbo:1;
1180+ uint64_t iob2big:1;
1181+ uint64_t bar0_to:1;
1182+ uint64_t rml_wto:1;
1183+ uint64_t rml_rto:1;
1184+ } cn56xxp1;
1185+};
1186+
1187+union cvmx_npei_int_enb2 {
1188+ uint64_t u64;
1189+ struct cvmx_npei_int_enb2_s {
1190+ uint64_t reserved_62_63:2;
1191+ uint64_t int_a:1;
1192+ uint64_t c1_ldwn:1;
1193+ uint64_t c0_ldwn:1;
1194+ uint64_t c1_exc:1;
1195+ uint64_t c0_exc:1;
1196+ uint64_t c1_up_wf:1;
1197+ uint64_t c0_up_wf:1;
1198+ uint64_t c1_un_wf:1;
1199+ uint64_t c0_un_wf:1;
1200+ uint64_t c1_un_bx:1;
1201+ uint64_t c1_un_wi:1;
1202+ uint64_t c1_un_b2:1;
1203+ uint64_t c1_un_b1:1;
1204+ uint64_t c1_un_b0:1;
1205+ uint64_t c1_up_bx:1;
1206+ uint64_t c1_up_wi:1;
1207+ uint64_t c1_up_b2:1;
1208+ uint64_t c1_up_b1:1;
1209+ uint64_t c1_up_b0:1;
1210+ uint64_t c0_un_bx:1;
1211+ uint64_t c0_un_wi:1;
1212+ uint64_t c0_un_b2:1;
1213+ uint64_t c0_un_b1:1;
1214+ uint64_t c0_un_b0:1;
1215+ uint64_t c0_up_bx:1;
1216+ uint64_t c0_up_wi:1;
1217+ uint64_t c0_up_b2:1;
1218+ uint64_t c0_up_b1:1;
1219+ uint64_t c0_up_b0:1;
1220+ uint64_t c1_hpint:1;
1221+ uint64_t c1_pmei:1;
1222+ uint64_t c1_wake:1;
1223+ uint64_t crs1_dr:1;
1224+ uint64_t c1_se:1;
1225+ uint64_t crs1_er:1;
1226+ uint64_t c1_aeri:1;
1227+ uint64_t c0_hpint:1;
1228+ uint64_t c0_pmei:1;
1229+ uint64_t c0_wake:1;
1230+ uint64_t crs0_dr:1;
1231+ uint64_t c0_se:1;
1232+ uint64_t crs0_er:1;
1233+ uint64_t c0_aeri:1;
1234+ uint64_t ptime:1;
1235+ uint64_t pcnt:1;
1236+ uint64_t pidbof:1;
1237+ uint64_t psldbof:1;
1238+ uint64_t dtime1:1;
1239+ uint64_t dtime0:1;
1240+ uint64_t dcnt1:1;
1241+ uint64_t dcnt0:1;
1242+ uint64_t dma1fi:1;
1243+ uint64_t dma0fi:1;
1244+ uint64_t dma4dbo:1;
1245+ uint64_t dma3dbo:1;
1246+ uint64_t dma2dbo:1;
1247+ uint64_t dma1dbo:1;
1248+ uint64_t dma0dbo:1;
1249+ uint64_t iob2big:1;
1250+ uint64_t bar0_to:1;
1251+ uint64_t rml_wto:1;
1252+ uint64_t rml_rto:1;
1253+ } s;
1254+ struct cvmx_npei_int_enb2_s cn52xx;
1255+ struct cvmx_npei_int_enb2_cn52xxp1 {
1256+ uint64_t reserved_62_63:2;
1257+ uint64_t int_a:1;
1258+ uint64_t c1_ldwn:1;
1259+ uint64_t c0_ldwn:1;
1260+ uint64_t c1_exc:1;
1261+ uint64_t c0_exc:1;
1262+ uint64_t c1_up_wf:1;
1263+ uint64_t c0_up_wf:1;
1264+ uint64_t c1_un_wf:1;
1265+ uint64_t c0_un_wf:1;
1266+ uint64_t c1_un_bx:1;
1267+ uint64_t c1_un_wi:1;
1268+ uint64_t c1_un_b2:1;
1269+ uint64_t c1_un_b1:1;
1270+ uint64_t c1_un_b0:1;
1271+ uint64_t c1_up_bx:1;
1272+ uint64_t c1_up_wi:1;
1273+ uint64_t c1_up_b2:1;
1274+ uint64_t c1_up_b1:1;
1275+ uint64_t c1_up_b0:1;
1276+ uint64_t c0_un_bx:1;
1277+ uint64_t c0_un_wi:1;
1278+ uint64_t c0_un_b2:1;
1279+ uint64_t c0_un_b1:1;
1280+ uint64_t c0_un_b0:1;
1281+ uint64_t c0_up_bx:1;
1282+ uint64_t c0_up_wi:1;
1283+ uint64_t c0_up_b2:1;
1284+ uint64_t c0_up_b1:1;
1285+ uint64_t c0_up_b0:1;
1286+ uint64_t c1_hpint:1;
1287+ uint64_t c1_pmei:1;
1288+ uint64_t c1_wake:1;
1289+ uint64_t crs1_dr:1;
1290+ uint64_t c1_se:1;
1291+ uint64_t crs1_er:1;
1292+ uint64_t c1_aeri:1;
1293+ uint64_t c0_hpint:1;
1294+ uint64_t c0_pmei:1;
1295+ uint64_t c0_wake:1;
1296+ uint64_t crs0_dr:1;
1297+ uint64_t c0_se:1;
1298+ uint64_t crs0_er:1;
1299+ uint64_t c0_aeri:1;
1300+ uint64_t ptime:1;
1301+ uint64_t pcnt:1;
1302+ uint64_t pidbof:1;
1303+ uint64_t psldbof:1;
1304+ uint64_t dtime1:1;
1305+ uint64_t dtime0:1;
1306+ uint64_t dcnt1:1;
1307+ uint64_t dcnt0:1;
1308+ uint64_t dma1fi:1;
1309+ uint64_t dma0fi:1;
1310+ uint64_t reserved_8_8:1;
1311+ uint64_t dma3dbo:1;
1312+ uint64_t dma2dbo:1;
1313+ uint64_t dma1dbo:1;
1314+ uint64_t dma0dbo:1;
1315+ uint64_t iob2big:1;
1316+ uint64_t bar0_to:1;
1317+ uint64_t rml_wto:1;
1318+ uint64_t rml_rto:1;
1319+ } cn52xxp1;
1320+ struct cvmx_npei_int_enb2_s cn56xx;
1321+ struct cvmx_npei_int_enb2_cn56xxp1 {
1322+ uint64_t reserved_61_63:3;
1323+ uint64_t c1_ldwn:1;
1324+ uint64_t c0_ldwn:1;
1325+ uint64_t c1_exc:1;
1326+ uint64_t c0_exc:1;
1327+ uint64_t c1_up_wf:1;
1328+ uint64_t c0_up_wf:1;
1329+ uint64_t c1_un_wf:1;
1330+ uint64_t c0_un_wf:1;
1331+ uint64_t c1_un_bx:1;
1332+ uint64_t c1_un_wi:1;
1333+ uint64_t c1_un_b2:1;
1334+ uint64_t c1_un_b1:1;
1335+ uint64_t c1_un_b0:1;
1336+ uint64_t c1_up_bx:1;
1337+ uint64_t c1_up_wi:1;
1338+ uint64_t c1_up_b2:1;
1339+ uint64_t c1_up_b1:1;
1340+ uint64_t c1_up_b0:1;
1341+ uint64_t c0_un_bx:1;
1342+ uint64_t c0_un_wi:1;
1343+ uint64_t c0_un_b2:1;
1344+ uint64_t c0_un_b1:1;
1345+ uint64_t c0_un_b0:1;
1346+ uint64_t c0_up_bx:1;
1347+ uint64_t c0_up_wi:1;
1348+ uint64_t c0_up_b2:1;
1349+ uint64_t c0_up_b1:1;
1350+ uint64_t c0_up_b0:1;
1351+ uint64_t c1_hpint:1;
1352+ uint64_t c1_pmei:1;
1353+ uint64_t c1_wake:1;
1354+ uint64_t reserved_29_29:1;
1355+ uint64_t c1_se:1;
1356+ uint64_t reserved_27_27:1;
1357+ uint64_t c1_aeri:1;
1358+ uint64_t c0_hpint:1;
1359+ uint64_t c0_pmei:1;
1360+ uint64_t c0_wake:1;
1361+ uint64_t reserved_22_22:1;
1362+ uint64_t c0_se:1;
1363+ uint64_t reserved_20_20:1;
1364+ uint64_t c0_aeri:1;
1365+ uint64_t ptime:1;
1366+ uint64_t pcnt:1;
1367+ uint64_t pidbof:1;
1368+ uint64_t psldbof:1;
1369+ uint64_t dtime1:1;
1370+ uint64_t dtime0:1;
1371+ uint64_t dcnt1:1;
1372+ uint64_t dcnt0:1;
1373+ uint64_t dma1fi:1;
1374+ uint64_t dma0fi:1;
1375+ uint64_t dma4dbo:1;
1376+ uint64_t dma3dbo:1;
1377+ uint64_t dma2dbo:1;
1378+ uint64_t dma1dbo:1;
1379+ uint64_t dma0dbo:1;
1380+ uint64_t iob2big:1;
1381+ uint64_t bar0_to:1;
1382+ uint64_t rml_wto:1;
1383+ uint64_t rml_rto:1;
1384+ } cn56xxp1;
1385+};
1386+
1387+union cvmx_npei_int_info {
1388+ uint64_t u64;
1389+ struct cvmx_npei_int_info_s {
1390+ uint64_t reserved_12_63:52;
1391+ uint64_t pidbof:6;
1392+ uint64_t psldbof:6;
1393+ } s;
1394+ struct cvmx_npei_int_info_s cn52xx;
1395+ struct cvmx_npei_int_info_s cn56xx;
1396+ struct cvmx_npei_int_info_s cn56xxp1;
1397+};
1398+
1399+union cvmx_npei_int_sum {
1400+ uint64_t u64;
1401+ struct cvmx_npei_int_sum_s {
1402+ uint64_t mio_inta:1;
1403+ uint64_t reserved_62_62:1;
1404+ uint64_t int_a:1;
1405+ uint64_t c1_ldwn:1;
1406+ uint64_t c0_ldwn:1;
1407+ uint64_t c1_exc:1;
1408+ uint64_t c0_exc:1;
1409+ uint64_t c1_up_wf:1;
1410+ uint64_t c0_up_wf:1;
1411+ uint64_t c1_un_wf:1;
1412+ uint64_t c0_un_wf:1;
1413+ uint64_t c1_un_bx:1;
1414+ uint64_t c1_un_wi:1;
1415+ uint64_t c1_un_b2:1;
1416+ uint64_t c1_un_b1:1;
1417+ uint64_t c1_un_b0:1;
1418+ uint64_t c1_up_bx:1;
1419+ uint64_t c1_up_wi:1;
1420+ uint64_t c1_up_b2:1;
1421+ uint64_t c1_up_b1:1;
1422+ uint64_t c1_up_b0:1;
1423+ uint64_t c0_un_bx:1;
1424+ uint64_t c0_un_wi:1;
1425+ uint64_t c0_un_b2:1;
1426+ uint64_t c0_un_b1:1;
1427+ uint64_t c0_un_b0:1;
1428+ uint64_t c0_up_bx:1;
1429+ uint64_t c0_up_wi:1;
1430+ uint64_t c0_up_b2:1;
1431+ uint64_t c0_up_b1:1;
1432+ uint64_t c0_up_b0:1;
1433+ uint64_t c1_hpint:1;
1434+ uint64_t c1_pmei:1;
1435+ uint64_t c1_wake:1;
1436+ uint64_t crs1_dr:1;
1437+ uint64_t c1_se:1;
1438+ uint64_t crs1_er:1;
1439+ uint64_t c1_aeri:1;
1440+ uint64_t c0_hpint:1;
1441+ uint64_t c0_pmei:1;
1442+ uint64_t c0_wake:1;
1443+ uint64_t crs0_dr:1;
1444+ uint64_t c0_se:1;
1445+ uint64_t crs0_er:1;
1446+ uint64_t c0_aeri:1;
1447+ uint64_t ptime:1;
1448+ uint64_t pcnt:1;
1449+ uint64_t pidbof:1;
1450+ uint64_t psldbof:1;
1451+ uint64_t dtime1:1;
1452+ uint64_t dtime0:1;
1453+ uint64_t dcnt1:1;
1454+ uint64_t dcnt0:1;
1455+ uint64_t dma1fi:1;
1456+ uint64_t dma0fi:1;
1457+ uint64_t dma4dbo:1;
1458+ uint64_t dma3dbo:1;
1459+ uint64_t dma2dbo:1;
1460+ uint64_t dma1dbo:1;
1461+ uint64_t dma0dbo:1;
1462+ uint64_t iob2big:1;
1463+ uint64_t bar0_to:1;
1464+ uint64_t rml_wto:1;
1465+ uint64_t rml_rto:1;
1466+ } s;
1467+ struct cvmx_npei_int_sum_s cn52xx;
1468+ struct cvmx_npei_int_sum_cn52xxp1 {
1469+ uint64_t mio_inta:1;
1470+ uint64_t reserved_62_62:1;
1471+ uint64_t int_a:1;
1472+ uint64_t c1_ldwn:1;
1473+ uint64_t c0_ldwn:1;
1474+ uint64_t c1_exc:1;
1475+ uint64_t c0_exc:1;
1476+ uint64_t c1_up_wf:1;
1477+ uint64_t c0_up_wf:1;
1478+ uint64_t c1_un_wf:1;
1479+ uint64_t c0_un_wf:1;
1480+ uint64_t c1_un_bx:1;
1481+ uint64_t c1_un_wi:1;
1482+ uint64_t c1_un_b2:1;
1483+ uint64_t c1_un_b1:1;
1484+ uint64_t c1_un_b0:1;
1485+ uint64_t c1_up_bx:1;
1486+ uint64_t c1_up_wi:1;
1487+ uint64_t c1_up_b2:1;
1488+ uint64_t c1_up_b1:1;
1489+ uint64_t c1_up_b0:1;
1490+ uint64_t c0_un_bx:1;
1491+ uint64_t c0_un_wi:1;
1492+ uint64_t c0_un_b2:1;
1493+ uint64_t c0_un_b1:1;
1494+ uint64_t c0_un_b0:1;
1495+ uint64_t c0_up_bx:1;
1496+ uint64_t c0_up_wi:1;
1497+ uint64_t c0_up_b2:1;
1498+ uint64_t c0_up_b1:1;
1499+ uint64_t c0_up_b0:1;
1500+ uint64_t c1_hpint:1;
1501+ uint64_t c1_pmei:1;
1502+ uint64_t c1_wake:1;
1503+ uint64_t crs1_dr:1;
1504+ uint64_t c1_se:1;
1505+ uint64_t crs1_er:1;
1506+ uint64_t c1_aeri:1;
1507+ uint64_t c0_hpint:1;
1508+ uint64_t c0_pmei:1;
1509+ uint64_t c0_wake:1;
1510+ uint64_t crs0_dr:1;
1511+ uint64_t c0_se:1;
1512+ uint64_t crs0_er:1;
1513+ uint64_t c0_aeri:1;
1514+ uint64_t reserved_15_18:4;
1515+ uint64_t dtime1:1;
1516+ uint64_t dtime0:1;
1517+ uint64_t dcnt1:1;
1518+ uint64_t dcnt0:1;
1519+ uint64_t dma1fi:1;
1520+ uint64_t dma0fi:1;
1521+ uint64_t reserved_8_8:1;
1522+ uint64_t dma3dbo:1;
1523+ uint64_t dma2dbo:1;
1524+ uint64_t dma1dbo:1;
1525+ uint64_t dma0dbo:1;
1526+ uint64_t iob2big:1;
1527+ uint64_t bar0_to:1;
1528+ uint64_t rml_wto:1;
1529+ uint64_t rml_rto:1;
1530+ } cn52xxp1;
1531+ struct cvmx_npei_int_sum_s cn56xx;
1532+ struct cvmx_npei_int_sum_cn56xxp1 {
1533+ uint64_t mio_inta:1;
1534+ uint64_t reserved_61_62:2;
1535+ uint64_t c1_ldwn:1;
1536+ uint64_t c0_ldwn:1;
1537+ uint64_t c1_exc:1;
1538+ uint64_t c0_exc:1;
1539+ uint64_t c1_up_wf:1;
1540+ uint64_t c0_up_wf:1;
1541+ uint64_t c1_un_wf:1;
1542+ uint64_t c0_un_wf:1;
1543+ uint64_t c1_un_bx:1;
1544+ uint64_t c1_un_wi:1;
1545+ uint64_t c1_un_b2:1;
1546+ uint64_t c1_un_b1:1;
1547+ uint64_t c1_un_b0:1;
1548+ uint64_t c1_up_bx:1;
1549+ uint64_t c1_up_wi:1;
1550+ uint64_t c1_up_b2:1;
1551+ uint64_t c1_up_b1:1;
1552+ uint64_t c1_up_b0:1;
1553+ uint64_t c0_un_bx:1;
1554+ uint64_t c0_un_wi:1;
1555+ uint64_t c0_un_b2:1;
1556+ uint64_t c0_un_b1:1;
1557+ uint64_t c0_un_b0:1;
1558+ uint64_t c0_up_bx:1;
1559+ uint64_t c0_up_wi:1;
1560+ uint64_t c0_up_b2:1;
1561+ uint64_t c0_up_b1:1;
1562+ uint64_t c0_up_b0:1;
1563+ uint64_t c1_hpint:1;
1564+ uint64_t c1_pmei:1;
1565+ uint64_t c1_wake:1;
1566+ uint64_t reserved_29_29:1;
1567+ uint64_t c1_se:1;
1568+ uint64_t reserved_27_27:1;
1569+ uint64_t c1_aeri:1;
1570+ uint64_t c0_hpint:1;
1571+ uint64_t c0_pmei:1;
1572+ uint64_t c0_wake:1;
1573+ uint64_t reserved_22_22:1;
1574+ uint64_t c0_se:1;
1575+ uint64_t reserved_20_20:1;
1576+ uint64_t c0_aeri:1;
1577+ uint64_t ptime:1;
1578+ uint64_t pcnt:1;
1579+ uint64_t pidbof:1;
1580+ uint64_t psldbof:1;
1581+ uint64_t dtime1:1;
1582+ uint64_t dtime0:1;
1583+ uint64_t dcnt1:1;
1584+ uint64_t dcnt0:1;
1585+ uint64_t dma1fi:1;
1586+ uint64_t dma0fi:1;
1587+ uint64_t dma4dbo:1;
1588+ uint64_t dma3dbo:1;
1589+ uint64_t dma2dbo:1;
1590+ uint64_t dma1dbo:1;
1591+ uint64_t dma0dbo:1;
1592+ uint64_t iob2big:1;
1593+ uint64_t bar0_to:1;
1594+ uint64_t rml_wto:1;
1595+ uint64_t rml_rto:1;
1596+ } cn56xxp1;
1597+};
1598+
1599+union cvmx_npei_int_sum2 {
1600+ uint64_t u64;
1601+ struct cvmx_npei_int_sum2_s {
1602+ uint64_t mio_inta:1;
1603+ uint64_t reserved_62_62:1;
1604+ uint64_t int_a:1;
1605+ uint64_t c1_ldwn:1;
1606+ uint64_t c0_ldwn:1;
1607+ uint64_t c1_exc:1;
1608+ uint64_t c0_exc:1;
1609+ uint64_t c1_up_wf:1;
1610+ uint64_t c0_up_wf:1;
1611+ uint64_t c1_un_wf:1;
1612+ uint64_t c0_un_wf:1;
1613+ uint64_t c1_un_bx:1;
1614+ uint64_t c1_un_wi:1;
1615+ uint64_t c1_un_b2:1;
1616+ uint64_t c1_un_b1:1;
1617+ uint64_t c1_un_b0:1;
1618+ uint64_t c1_up_bx:1;
1619+ uint64_t c1_up_wi:1;
1620+ uint64_t c1_up_b2:1;
1621+ uint64_t c1_up_b1:1;
1622+ uint64_t c1_up_b0:1;
1623+ uint64_t c0_un_bx:1;
1624+ uint64_t c0_un_wi:1;
1625+ uint64_t c0_un_b2:1;
1626+ uint64_t c0_un_b1:1;
1627+ uint64_t c0_un_b0:1;
1628+ uint64_t c0_up_bx:1;
1629+ uint64_t c0_up_wi:1;
1630+ uint64_t c0_up_b2:1;
1631+ uint64_t c0_up_b1:1;
1632+ uint64_t c0_up_b0:1;
1633+ uint64_t c1_hpint:1;
1634+ uint64_t c1_pmei:1;
1635+ uint64_t c1_wake:1;
1636+ uint64_t crs1_dr:1;
1637+ uint64_t c1_se:1;
1638+ uint64_t crs1_er:1;
1639+ uint64_t c1_aeri:1;
1640+ uint64_t c0_hpint:1;
1641+ uint64_t c0_pmei:1;
1642+ uint64_t c0_wake:1;
1643+ uint64_t crs0_dr:1;
1644+ uint64_t c0_se:1;
1645+ uint64_t crs0_er:1;
1646+ uint64_t c0_aeri:1;
1647+ uint64_t reserved_15_18:4;
1648+ uint64_t dtime1:1;
1649+ uint64_t dtime0:1;
1650+ uint64_t dcnt1:1;
1651+ uint64_t dcnt0:1;
1652+ uint64_t dma1fi:1;
1653+ uint64_t dma0fi:1;
1654+ uint64_t reserved_8_8:1;
1655+ uint64_t dma3dbo:1;
1656+ uint64_t dma2dbo:1;
1657+ uint64_t dma1dbo:1;
1658+ uint64_t dma0dbo:1;
1659+ uint64_t iob2big:1;
1660+ uint64_t bar0_to:1;
1661+ uint64_t rml_wto:1;
1662+ uint64_t rml_rto:1;
1663+ } s;
1664+ struct cvmx_npei_int_sum2_s cn52xx;
1665+ struct cvmx_npei_int_sum2_s cn52xxp1;
1666+ struct cvmx_npei_int_sum2_s cn56xx;
1667+};
1668+
1669+union cvmx_npei_last_win_rdata0 {
1670+ uint64_t u64;
1671+ struct cvmx_npei_last_win_rdata0_s {
1672+ uint64_t data:64;
1673+ } s;
1674+ struct cvmx_npei_last_win_rdata0_s cn52xx;
1675+ struct cvmx_npei_last_win_rdata0_s cn52xxp1;
1676+ struct cvmx_npei_last_win_rdata0_s cn56xx;
1677+ struct cvmx_npei_last_win_rdata0_s cn56xxp1;
1678+};
1679+
1680+union cvmx_npei_last_win_rdata1 {
1681+ uint64_t u64;
1682+ struct cvmx_npei_last_win_rdata1_s {
1683+ uint64_t data:64;
1684+ } s;
1685+ struct cvmx_npei_last_win_rdata1_s cn52xx;
1686+ struct cvmx_npei_last_win_rdata1_s cn52xxp1;
1687+ struct cvmx_npei_last_win_rdata1_s cn56xx;
1688+ struct cvmx_npei_last_win_rdata1_s cn56xxp1;
1689+};
1690+
1691+union cvmx_npei_mem_access_ctl {
1692+ uint64_t u64;
1693+ struct cvmx_npei_mem_access_ctl_s {
1694+ uint64_t reserved_14_63:50;
1695+ uint64_t max_word:4;
1696+ uint64_t timer:10;
1697+ } s;
1698+ struct cvmx_npei_mem_access_ctl_s cn52xx;
1699+ struct cvmx_npei_mem_access_ctl_s cn52xxp1;
1700+ struct cvmx_npei_mem_access_ctl_s cn56xx;
1701+ struct cvmx_npei_mem_access_ctl_s cn56xxp1;
1702+};
1703+
1704+union cvmx_npei_mem_access_subidx {
1705+ uint64_t u64;
1706+ struct cvmx_npei_mem_access_subidx_s {
1707+ uint64_t reserved_42_63:22;
1708+ uint64_t zero:1;
1709+ uint64_t port:2;
1710+ uint64_t nmerge:1;
1711+ uint64_t esr:2;
1712+ uint64_t esw:2;
1713+ uint64_t nsr:1;
1714+ uint64_t nsw:1;
1715+ uint64_t ror:1;
1716+ uint64_t row:1;
1717+ uint64_t ba:30;
1718+ } s;
1719+ struct cvmx_npei_mem_access_subidx_s cn52xx;
1720+ struct cvmx_npei_mem_access_subidx_s cn52xxp1;
1721+ struct cvmx_npei_mem_access_subidx_s cn56xx;
1722+ struct cvmx_npei_mem_access_subidx_s cn56xxp1;
1723+};
1724+
1725+union cvmx_npei_msi_enb0 {
1726+ uint64_t u64;
1727+ struct cvmx_npei_msi_enb0_s {
1728+ uint64_t enb:64;
1729+ } s;
1730+ struct cvmx_npei_msi_enb0_s cn52xx;
1731+ struct cvmx_npei_msi_enb0_s cn52xxp1;
1732+ struct cvmx_npei_msi_enb0_s cn56xx;
1733+ struct cvmx_npei_msi_enb0_s cn56xxp1;
1734+};
1735+
1736+union cvmx_npei_msi_enb1 {
1737+ uint64_t u64;
1738+ struct cvmx_npei_msi_enb1_s {
1739+ uint64_t enb:64;
1740+ } s;
1741+ struct cvmx_npei_msi_enb1_s cn52xx;
1742+ struct cvmx_npei_msi_enb1_s cn52xxp1;
1743+ struct cvmx_npei_msi_enb1_s cn56xx;
1744+ struct cvmx_npei_msi_enb1_s cn56xxp1;
1745+};
1746+
1747+union cvmx_npei_msi_enb2 {
1748+ uint64_t u64;
1749+ struct cvmx_npei_msi_enb2_s {
1750+ uint64_t enb:64;
1751+ } s;
1752+ struct cvmx_npei_msi_enb2_s cn52xx;
1753+ struct cvmx_npei_msi_enb2_s cn52xxp1;
1754+ struct cvmx_npei_msi_enb2_s cn56xx;
1755+ struct cvmx_npei_msi_enb2_s cn56xxp1;
1756+};
1757+
1758+union cvmx_npei_msi_enb3 {
1759+ uint64_t u64;
1760+ struct cvmx_npei_msi_enb3_s {
1761+ uint64_t enb:64;
1762+ } s;
1763+ struct cvmx_npei_msi_enb3_s cn52xx;
1764+ struct cvmx_npei_msi_enb3_s cn52xxp1;
1765+ struct cvmx_npei_msi_enb3_s cn56xx;
1766+ struct cvmx_npei_msi_enb3_s cn56xxp1;
1767+};
1768+
1769+union cvmx_npei_msi_rcv0 {
1770+ uint64_t u64;
1771+ struct cvmx_npei_msi_rcv0_s {
1772+ uint64_t intr:64;
1773+ } s;
1774+ struct cvmx_npei_msi_rcv0_s cn52xx;
1775+ struct cvmx_npei_msi_rcv0_s cn52xxp1;
1776+ struct cvmx_npei_msi_rcv0_s cn56xx;
1777+ struct cvmx_npei_msi_rcv0_s cn56xxp1;
1778+};
1779+
1780+union cvmx_npei_msi_rcv1 {
1781+ uint64_t u64;
1782+ struct cvmx_npei_msi_rcv1_s {
1783+ uint64_t intr:64;
1784+ } s;
1785+ struct cvmx_npei_msi_rcv1_s cn52xx;
1786+ struct cvmx_npei_msi_rcv1_s cn52xxp1;
1787+ struct cvmx_npei_msi_rcv1_s cn56xx;
1788+ struct cvmx_npei_msi_rcv1_s cn56xxp1;
1789+};
1790+
1791+union cvmx_npei_msi_rcv2 {
1792+ uint64_t u64;
1793+ struct cvmx_npei_msi_rcv2_s {
1794+ uint64_t intr:64;
1795+ } s;
1796+ struct cvmx_npei_msi_rcv2_s cn52xx;
1797+ struct cvmx_npei_msi_rcv2_s cn52xxp1;
1798+ struct cvmx_npei_msi_rcv2_s cn56xx;
1799+ struct cvmx_npei_msi_rcv2_s cn56xxp1;
1800+};
1801+
1802+union cvmx_npei_msi_rcv3 {
1803+ uint64_t u64;
1804+ struct cvmx_npei_msi_rcv3_s {
1805+ uint64_t intr:64;
1806+ } s;
1807+ struct cvmx_npei_msi_rcv3_s cn52xx;
1808+ struct cvmx_npei_msi_rcv3_s cn52xxp1;
1809+ struct cvmx_npei_msi_rcv3_s cn56xx;
1810+ struct cvmx_npei_msi_rcv3_s cn56xxp1;
1811+};
1812+
1813+union cvmx_npei_msi_rd_map {
1814+ uint64_t u64;
1815+ struct cvmx_npei_msi_rd_map_s {
1816+ uint64_t reserved_16_63:48;
1817+ uint64_t rd_int:8;
1818+ uint64_t msi_int:8;
1819+ } s;
1820+ struct cvmx_npei_msi_rd_map_s cn52xx;
1821+ struct cvmx_npei_msi_rd_map_s cn52xxp1;
1822+ struct cvmx_npei_msi_rd_map_s cn56xx;
1823+ struct cvmx_npei_msi_rd_map_s cn56xxp1;
1824+};
1825+
1826+union cvmx_npei_msi_w1c_enb0 {
1827+ uint64_t u64;
1828+ struct cvmx_npei_msi_w1c_enb0_s {
1829+ uint64_t clr:64;
1830+ } s;
1831+ struct cvmx_npei_msi_w1c_enb0_s cn52xx;
1832+ struct cvmx_npei_msi_w1c_enb0_s cn56xx;
1833+};
1834+
1835+union cvmx_npei_msi_w1c_enb1 {
1836+ uint64_t u64;
1837+ struct cvmx_npei_msi_w1c_enb1_s {
1838+ uint64_t clr:64;
1839+ } s;
1840+ struct cvmx_npei_msi_w1c_enb1_s cn52xx;
1841+ struct cvmx_npei_msi_w1c_enb1_s cn56xx;
1842+};
1843+
1844+union cvmx_npei_msi_w1c_enb2 {
1845+ uint64_t u64;
1846+ struct cvmx_npei_msi_w1c_enb2_s {
1847+ uint64_t clr:64;
1848+ } s;
1849+ struct cvmx_npei_msi_w1c_enb2_s cn52xx;
1850+ struct cvmx_npei_msi_w1c_enb2_s cn56xx;
1851+};
1852+
1853+union cvmx_npei_msi_w1c_enb3 {
1854+ uint64_t u64;
1855+ struct cvmx_npei_msi_w1c_enb3_s {
1856+ uint64_t clr:64;
1857+ } s;
1858+ struct cvmx_npei_msi_w1c_enb3_s cn52xx;
1859+ struct cvmx_npei_msi_w1c_enb3_s cn56xx;
1860+};
1861+
1862+union cvmx_npei_msi_w1s_enb0 {
1863+ uint64_t u64;
1864+ struct cvmx_npei_msi_w1s_enb0_s {
1865+ uint64_t set:64;
1866+ } s;
1867+ struct cvmx_npei_msi_w1s_enb0_s cn52xx;
1868+ struct cvmx_npei_msi_w1s_enb0_s cn56xx;
1869+};
1870+
1871+union cvmx_npei_msi_w1s_enb1 {
1872+ uint64_t u64;
1873+ struct cvmx_npei_msi_w1s_enb1_s {
1874+ uint64_t set:64;
1875+ } s;
1876+ struct cvmx_npei_msi_w1s_enb1_s cn52xx;
1877+ struct cvmx_npei_msi_w1s_enb1_s cn56xx;
1878+};
1879+
1880+union cvmx_npei_msi_w1s_enb2 {
1881+ uint64_t u64;
1882+ struct cvmx_npei_msi_w1s_enb2_s {
1883+ uint64_t set:64;
1884+ } s;
1885+ struct cvmx_npei_msi_w1s_enb2_s cn52xx;
1886+ struct cvmx_npei_msi_w1s_enb2_s cn56xx;
1887+};
1888+
1889+union cvmx_npei_msi_w1s_enb3 {
1890+ uint64_t u64;
1891+ struct cvmx_npei_msi_w1s_enb3_s {
1892+ uint64_t set:64;
1893+ } s;
1894+ struct cvmx_npei_msi_w1s_enb3_s cn52xx;
1895+ struct cvmx_npei_msi_w1s_enb3_s cn56xx;
1896+};
1897+
1898+union cvmx_npei_msi_wr_map {
1899+ uint64_t u64;
1900+ struct cvmx_npei_msi_wr_map_s {
1901+ uint64_t reserved_16_63:48;
1902+ uint64_t ciu_int:8;
1903+ uint64_t msi_int:8;
1904+ } s;
1905+ struct cvmx_npei_msi_wr_map_s cn52xx;
1906+ struct cvmx_npei_msi_wr_map_s cn52xxp1;
1907+ struct cvmx_npei_msi_wr_map_s cn56xx;
1908+ struct cvmx_npei_msi_wr_map_s cn56xxp1;
1909+};
1910+
1911+union cvmx_npei_pcie_credit_cnt {
1912+ uint64_t u64;
1913+ struct cvmx_npei_pcie_credit_cnt_s {
1914+ uint64_t reserved_48_63:16;
1915+ uint64_t p1_ccnt:8;
1916+ uint64_t p1_ncnt:8;
1917+ uint64_t p1_pcnt:8;
1918+ uint64_t p0_ccnt:8;
1919+ uint64_t p0_ncnt:8;
1920+ uint64_t p0_pcnt:8;
1921+ } s;
1922+ struct cvmx_npei_pcie_credit_cnt_s cn52xx;
1923+ struct cvmx_npei_pcie_credit_cnt_s cn56xx;
1924+};
1925+
1926+union cvmx_npei_pcie_msi_rcv {
1927+ uint64_t u64;
1928+ struct cvmx_npei_pcie_msi_rcv_s {
1929+ uint64_t reserved_8_63:56;
1930+ uint64_t intr:8;
1931+ } s;
1932+ struct cvmx_npei_pcie_msi_rcv_s cn52xx;
1933+ struct cvmx_npei_pcie_msi_rcv_s cn52xxp1;
1934+ struct cvmx_npei_pcie_msi_rcv_s cn56xx;
1935+ struct cvmx_npei_pcie_msi_rcv_s cn56xxp1;
1936+};
1937+
1938+union cvmx_npei_pcie_msi_rcv_b1 {
1939+ uint64_t u64;
1940+ struct cvmx_npei_pcie_msi_rcv_b1_s {
1941+ uint64_t reserved_16_63:48;
1942+ uint64_t intr:8;
1943+ uint64_t reserved_0_7:8;
1944+ } s;
1945+ struct cvmx_npei_pcie_msi_rcv_b1_s cn52xx;
1946+ struct cvmx_npei_pcie_msi_rcv_b1_s cn52xxp1;
1947+ struct cvmx_npei_pcie_msi_rcv_b1_s cn56xx;
1948+ struct cvmx_npei_pcie_msi_rcv_b1_s cn56xxp1;
1949+};
1950+
1951+union cvmx_npei_pcie_msi_rcv_b2 {
1952+ uint64_t u64;
1953+ struct cvmx_npei_pcie_msi_rcv_b2_s {
1954+ uint64_t reserved_24_63:40;
1955+ uint64_t intr:8;
1956+ uint64_t reserved_0_15:16;
1957+ } s;
1958+ struct cvmx_npei_pcie_msi_rcv_b2_s cn52xx;
1959+ struct cvmx_npei_pcie_msi_rcv_b2_s cn52xxp1;
1960+ struct cvmx_npei_pcie_msi_rcv_b2_s cn56xx;
1961+ struct cvmx_npei_pcie_msi_rcv_b2_s cn56xxp1;
1962+};
1963+
1964+union cvmx_npei_pcie_msi_rcv_b3 {
1965+ uint64_t u64;
1966+ struct cvmx_npei_pcie_msi_rcv_b3_s {
1967+ uint64_t reserved_32_63:32;
1968+ uint64_t intr:8;
1969+ uint64_t reserved_0_23:24;
1970+ } s;
1971+ struct cvmx_npei_pcie_msi_rcv_b3_s cn52xx;
1972+ struct cvmx_npei_pcie_msi_rcv_b3_s cn52xxp1;
1973+ struct cvmx_npei_pcie_msi_rcv_b3_s cn56xx;
1974+ struct cvmx_npei_pcie_msi_rcv_b3_s cn56xxp1;
1975+};
1976+
1977+union cvmx_npei_pktx_cnts {
1978+ uint64_t u64;
1979+ struct cvmx_npei_pktx_cnts_s {
1980+ uint64_t reserved_54_63:10;
1981+ uint64_t timer:22;
1982+ uint64_t cnt:32;
1983+ } s;
1984+ struct cvmx_npei_pktx_cnts_s cn52xx;
1985+ struct cvmx_npei_pktx_cnts_s cn56xx;
1986+ struct cvmx_npei_pktx_cnts_s cn56xxp1;
1987+};
1988+
1989+union cvmx_npei_pktx_in_bp {
1990+ uint64_t u64;
1991+ struct cvmx_npei_pktx_in_bp_s {
1992+ uint64_t wmark:32;
1993+ uint64_t cnt:32;
1994+ } s;
1995+ struct cvmx_npei_pktx_in_bp_s cn52xx;
1996+ struct cvmx_npei_pktx_in_bp_s cn56xx;
1997+ struct cvmx_npei_pktx_in_bp_s cn56xxp1;
1998+};
1999+
2000+union cvmx_npei_pktx_instr_baddr {
2001+ uint64_t u64;
2002+ struct cvmx_npei_pktx_instr_baddr_s {
2003+ uint64_t addr:61;
2004+ uint64_t reserved_0_2:3;
2005+ } s;
2006+ struct cvmx_npei_pktx_instr_baddr_s cn52xx;
2007+ struct cvmx_npei_pktx_instr_baddr_s cn56xx;
2008+ struct cvmx_npei_pktx_instr_baddr_s cn56xxp1;
2009+};
2010+
2011+union cvmx_npei_pktx_instr_baoff_dbell {
2012+ uint64_t u64;
2013+ struct cvmx_npei_pktx_instr_baoff_dbell_s {
2014+ uint64_t aoff:32;
2015+ uint64_t dbell:32;
2016+ } s;
2017+ struct cvmx_npei_pktx_instr_baoff_dbell_s cn52xx;
2018+ struct cvmx_npei_pktx_instr_baoff_dbell_s cn56xx;
2019+ struct cvmx_npei_pktx_instr_baoff_dbell_s cn56xxp1;
2020+};
2021+
2022+union cvmx_npei_pktx_instr_fifo_rsize {
2023+ uint64_t u64;
2024+ struct cvmx_npei_pktx_instr_fifo_rsize_s {
2025+ uint64_t max:9;
2026+ uint64_t rrp:9;
2027+ uint64_t wrp:9;
2028+ uint64_t fcnt:5;
2029+ uint64_t rsize:32;
2030+ } s;
2031+ struct cvmx_npei_pktx_instr_fifo_rsize_s cn52xx;
2032+ struct cvmx_npei_pktx_instr_fifo_rsize_s cn56xx;
2033+ struct cvmx_npei_pktx_instr_fifo_rsize_s cn56xxp1;
2034+};
2035+
2036+union cvmx_npei_pktx_instr_header {
2037+ uint64_t u64;
2038+ struct cvmx_npei_pktx_instr_header_s {
2039+ uint64_t reserved_44_63:20;
2040+ uint64_t pbp:1;
2041+ uint64_t rsv_f:5;
2042+ uint64_t rparmode:2;
2043+ uint64_t rsv_e:1;
2044+ uint64_t rskp_len:7;
2045+ uint64_t rsv_d:6;
2046+ uint64_t use_ihdr:1;
2047+ uint64_t rsv_c:5;
2048+ uint64_t par_mode:2;
2049+ uint64_t rsv_b:1;
2050+ uint64_t skp_len:7;
2051+ uint64_t rsv_a:6;
2052+ } s;
2053+ struct cvmx_npei_pktx_instr_header_s cn52xx;
2054+ struct cvmx_npei_pktx_instr_header_s cn56xx;
2055+ struct cvmx_npei_pktx_instr_header_s cn56xxp1;
2056+};
2057+
2058+union cvmx_npei_pktx_slist_baddr {
2059+ uint64_t u64;
2060+ struct cvmx_npei_pktx_slist_baddr_s {
2061+ uint64_t addr:60;
2062+ uint64_t reserved_0_3:4;
2063+ } s;
2064+ struct cvmx_npei_pktx_slist_baddr_s cn52xx;
2065+ struct cvmx_npei_pktx_slist_baddr_s cn56xx;
2066+ struct cvmx_npei_pktx_slist_baddr_s cn56xxp1;
2067+};
2068+
2069+union cvmx_npei_pktx_slist_baoff_dbell {
2070+ uint64_t u64;
2071+ struct cvmx_npei_pktx_slist_baoff_dbell_s {
2072+ uint64_t aoff:32;
2073+ uint64_t dbell:32;
2074+ } s;
2075+ struct cvmx_npei_pktx_slist_baoff_dbell_s cn52xx;
2076+ struct cvmx_npei_pktx_slist_baoff_dbell_s cn56xx;
2077+ struct cvmx_npei_pktx_slist_baoff_dbell_s cn56xxp1;
2078+};
2079+
2080+union cvmx_npei_pktx_slist_fifo_rsize {
2081+ uint64_t u64;
2082+ struct cvmx_npei_pktx_slist_fifo_rsize_s {
2083+ uint64_t reserved_32_63:32;
2084+ uint64_t rsize:32;
2085+ } s;
2086+ struct cvmx_npei_pktx_slist_fifo_rsize_s cn52xx;
2087+ struct cvmx_npei_pktx_slist_fifo_rsize_s cn56xx;
2088+ struct cvmx_npei_pktx_slist_fifo_rsize_s cn56xxp1;
2089+};
2090+
2091+union cvmx_npei_pkt_cnt_int {
2092+ uint64_t u64;
2093+ struct cvmx_npei_pkt_cnt_int_s {
2094+ uint64_t reserved_32_63:32;
2095+ uint64_t port:32;
2096+ } s;
2097+ struct cvmx_npei_pkt_cnt_int_s cn52xx;
2098+ struct cvmx_npei_pkt_cnt_int_s cn56xx;
2099+ struct cvmx_npei_pkt_cnt_int_s cn56xxp1;
2100+};
2101+
2102+union cvmx_npei_pkt_cnt_int_enb {
2103+ uint64_t u64;
2104+ struct cvmx_npei_pkt_cnt_int_enb_s {
2105+ uint64_t reserved_32_63:32;
2106+ uint64_t port:32;
2107+ } s;
2108+ struct cvmx_npei_pkt_cnt_int_enb_s cn52xx;
2109+ struct cvmx_npei_pkt_cnt_int_enb_s cn56xx;
2110+ struct cvmx_npei_pkt_cnt_int_enb_s cn56xxp1;
2111+};
2112+
2113+union cvmx_npei_pkt_data_out_es {
2114+ uint64_t u64;
2115+ struct cvmx_npei_pkt_data_out_es_s {
2116+ uint64_t es:64;
2117+ } s;
2118+ struct cvmx_npei_pkt_data_out_es_s cn52xx;
2119+ struct cvmx_npei_pkt_data_out_es_s cn56xx;
2120+ struct cvmx_npei_pkt_data_out_es_s cn56xxp1;
2121+};
2122+
2123+union cvmx_npei_pkt_data_out_ns {
2124+ uint64_t u64;
2125+ struct cvmx_npei_pkt_data_out_ns_s {
2126+ uint64_t reserved_32_63:32;
2127+ uint64_t nsr:32;
2128+ } s;
2129+ struct cvmx_npei_pkt_data_out_ns_s cn52xx;
2130+ struct cvmx_npei_pkt_data_out_ns_s cn56xx;
2131+ struct cvmx_npei_pkt_data_out_ns_s cn56xxp1;
2132+};
2133+
2134+union cvmx_npei_pkt_data_out_ror {
2135+ uint64_t u64;
2136+ struct cvmx_npei_pkt_data_out_ror_s {
2137+ uint64_t reserved_32_63:32;
2138+ uint64_t ror:32;
2139+ } s;
2140+ struct cvmx_npei_pkt_data_out_ror_s cn52xx;
2141+ struct cvmx_npei_pkt_data_out_ror_s cn56xx;
2142+ struct cvmx_npei_pkt_data_out_ror_s cn56xxp1;
2143+};
2144+
2145+union cvmx_npei_pkt_dpaddr {
2146+ uint64_t u64;
2147+ struct cvmx_npei_pkt_dpaddr_s {
2148+ uint64_t reserved_32_63:32;
2149+ uint64_t dptr:32;
2150+ } s;
2151+ struct cvmx_npei_pkt_dpaddr_s cn52xx;
2152+ struct cvmx_npei_pkt_dpaddr_s cn56xx;
2153+ struct cvmx_npei_pkt_dpaddr_s cn56xxp1;
2154+};
2155+
2156+union cvmx_npei_pkt_in_bp {
2157+ uint64_t u64;
2158+ struct cvmx_npei_pkt_in_bp_s {
2159+ uint64_t reserved_32_63:32;
2160+ uint64_t bp:32;
2161+ } s;
2162+ struct cvmx_npei_pkt_in_bp_s cn56xx;
2163+};
2164+
2165+union cvmx_npei_pkt_in_donex_cnts {
2166+ uint64_t u64;
2167+ struct cvmx_npei_pkt_in_donex_cnts_s {
2168+ uint64_t reserved_32_63:32;
2169+ uint64_t cnt:32;
2170+ } s;
2171+ struct cvmx_npei_pkt_in_donex_cnts_s cn52xx;
2172+ struct cvmx_npei_pkt_in_donex_cnts_s cn56xx;
2173+ struct cvmx_npei_pkt_in_donex_cnts_s cn56xxp1;
2174+};
2175+
2176+union cvmx_npei_pkt_in_instr_counts {
2177+ uint64_t u64;
2178+ struct cvmx_npei_pkt_in_instr_counts_s {
2179+ uint64_t wr_cnt:32;
2180+ uint64_t rd_cnt:32;
2181+ } s;
2182+ struct cvmx_npei_pkt_in_instr_counts_s cn52xx;
2183+ struct cvmx_npei_pkt_in_instr_counts_s cn56xx;
2184+};
2185+
2186+union cvmx_npei_pkt_in_pcie_port {
2187+ uint64_t u64;
2188+ struct cvmx_npei_pkt_in_pcie_port_s {
2189+ uint64_t pp:64;
2190+ } s;
2191+ struct cvmx_npei_pkt_in_pcie_port_s cn52xx;
2192+ struct cvmx_npei_pkt_in_pcie_port_s cn56xx;
2193+};
2194+
2195+union cvmx_npei_pkt_input_control {
2196+ uint64_t u64;
2197+ struct cvmx_npei_pkt_input_control_s {
2198+ uint64_t reserved_23_63:41;
2199+ uint64_t pkt_rr:1;
2200+ uint64_t pbp_dhi:13;
2201+ uint64_t d_nsr:1;
2202+ uint64_t d_esr:2;
2203+ uint64_t d_ror:1;
2204+ uint64_t use_csr:1;
2205+ uint64_t nsr:1;
2206+ uint64_t esr:2;
2207+ uint64_t ror:1;
2208+ } s;
2209+ struct cvmx_npei_pkt_input_control_s cn52xx;
2210+ struct cvmx_npei_pkt_input_control_s cn56xx;
2211+ struct cvmx_npei_pkt_input_control_s cn56xxp1;
2212+};
2213+
2214+union cvmx_npei_pkt_instr_enb {
2215+ uint64_t u64;
2216+ struct cvmx_npei_pkt_instr_enb_s {
2217+ uint64_t reserved_32_63:32;
2218+ uint64_t enb:32;
2219+ } s;
2220+ struct cvmx_npei_pkt_instr_enb_s cn52xx;
2221+ struct cvmx_npei_pkt_instr_enb_s cn56xx;
2222+ struct cvmx_npei_pkt_instr_enb_s cn56xxp1;
2223+};
2224+
2225+union cvmx_npei_pkt_instr_rd_size {
2226+ uint64_t u64;
2227+ struct cvmx_npei_pkt_instr_rd_size_s {
2228+ uint64_t rdsize:64;
2229+ } s;
2230+ struct cvmx_npei_pkt_instr_rd_size_s cn52xx;
2231+ struct cvmx_npei_pkt_instr_rd_size_s cn56xx;
2232+};
2233+
2234+union cvmx_npei_pkt_instr_size {
2235+ uint64_t u64;
2236+ struct cvmx_npei_pkt_instr_size_s {
2237+ uint64_t reserved_32_63:32;
2238+ uint64_t is_64b:32;
2239+ } s;
2240+ struct cvmx_npei_pkt_instr_size_s cn52xx;
2241+ struct cvmx_npei_pkt_instr_size_s cn56xx;
2242+ struct cvmx_npei_pkt_instr_size_s cn56xxp1;
2243+};
2244+
2245+union cvmx_npei_pkt_int_levels {
2246+ uint64_t u64;
2247+ struct cvmx_npei_pkt_int_levels_s {
2248+ uint64_t reserved_54_63:10;
2249+ uint64_t time:22;
2250+ uint64_t cnt:32;
2251+ } s;
2252+ struct cvmx_npei_pkt_int_levels_s cn52xx;
2253+ struct cvmx_npei_pkt_int_levels_s cn56xx;
2254+ struct cvmx_npei_pkt_int_levels_s cn56xxp1;
2255+};
2256+
2257+union cvmx_npei_pkt_iptr {
2258+ uint64_t u64;
2259+ struct cvmx_npei_pkt_iptr_s {
2260+ uint64_t reserved_32_63:32;
2261+ uint64_t iptr:32;
2262+ } s;
2263+ struct cvmx_npei_pkt_iptr_s cn52xx;
2264+ struct cvmx_npei_pkt_iptr_s cn56xx;
2265+ struct cvmx_npei_pkt_iptr_s cn56xxp1;
2266+};
2267+
2268+union cvmx_npei_pkt_out_bmode {
2269+ uint64_t u64;
2270+ struct cvmx_npei_pkt_out_bmode_s {
2271+ uint64_t reserved_32_63:32;
2272+ uint64_t bmode:32;
2273+ } s;
2274+ struct cvmx_npei_pkt_out_bmode_s cn52xx;
2275+ struct cvmx_npei_pkt_out_bmode_s cn56xx;
2276+ struct cvmx_npei_pkt_out_bmode_s cn56xxp1;
2277+};
2278+
2279+union cvmx_npei_pkt_out_enb {
2280+ uint64_t u64;
2281+ struct cvmx_npei_pkt_out_enb_s {
2282+ uint64_t reserved_32_63:32;
2283+ uint64_t enb:32;
2284+ } s;
2285+ struct cvmx_npei_pkt_out_enb_s cn52xx;
2286+ struct cvmx_npei_pkt_out_enb_s cn56xx;
2287+ struct cvmx_npei_pkt_out_enb_s cn56xxp1;
2288+};
2289+
2290+union cvmx_npei_pkt_output_wmark {
2291+ uint64_t u64;
2292+ struct cvmx_npei_pkt_output_wmark_s {
2293+ uint64_t reserved_32_63:32;
2294+ uint64_t wmark:32;
2295+ } s;
2296+ struct cvmx_npei_pkt_output_wmark_s cn52xx;
2297+ struct cvmx_npei_pkt_output_wmark_s cn56xx;
2298+};
2299+
2300+union cvmx_npei_pkt_pcie_port {
2301+ uint64_t u64;
2302+ struct cvmx_npei_pkt_pcie_port_s {
2303+ uint64_t pp:64;
2304+ } s;
2305+ struct cvmx_npei_pkt_pcie_port_s cn52xx;
2306+ struct cvmx_npei_pkt_pcie_port_s cn56xx;
2307+ struct cvmx_npei_pkt_pcie_port_s cn56xxp1;
2308+};
2309+
2310+union cvmx_npei_pkt_port_in_rst {
2311+ uint64_t u64;
2312+ struct cvmx_npei_pkt_port_in_rst_s {
2313+ uint64_t in_rst:32;
2314+ uint64_t out_rst:32;
2315+ } s;
2316+ struct cvmx_npei_pkt_port_in_rst_s cn52xx;
2317+ struct cvmx_npei_pkt_port_in_rst_s cn56xx;
2318+};
2319+
2320+union cvmx_npei_pkt_slist_es {
2321+ uint64_t u64;
2322+ struct cvmx_npei_pkt_slist_es_s {
2323+ uint64_t es:64;
2324+ } s;
2325+ struct cvmx_npei_pkt_slist_es_s cn52xx;
2326+ struct cvmx_npei_pkt_slist_es_s cn56xx;
2327+ struct cvmx_npei_pkt_slist_es_s cn56xxp1;
2328+};
2329+
2330+union cvmx_npei_pkt_slist_id_size {
2331+ uint64_t u64;
2332+ struct cvmx_npei_pkt_slist_id_size_s {
2333+ uint64_t reserved_23_63:41;
2334+ uint64_t isize:7;
2335+ uint64_t bsize:16;
2336+ } s;
2337+ struct cvmx_npei_pkt_slist_id_size_s cn52xx;
2338+ struct cvmx_npei_pkt_slist_id_size_s cn56xx;
2339+ struct cvmx_npei_pkt_slist_id_size_s cn56xxp1;
2340+};
2341+
2342+union cvmx_npei_pkt_slist_ns {
2343+ uint64_t u64;
2344+ struct cvmx_npei_pkt_slist_ns_s {
2345+ uint64_t reserved_32_63:32;
2346+ uint64_t nsr:32;
2347+ } s;
2348+ struct cvmx_npei_pkt_slist_ns_s cn52xx;
2349+ struct cvmx_npei_pkt_slist_ns_s cn56xx;
2350+ struct cvmx_npei_pkt_slist_ns_s cn56xxp1;
2351+};
2352+
2353+union cvmx_npei_pkt_slist_ror {
2354+ uint64_t u64;
2355+ struct cvmx_npei_pkt_slist_ror_s {
2356+ uint64_t reserved_32_63:32;
2357+ uint64_t ror:32;
2358+ } s;
2359+ struct cvmx_npei_pkt_slist_ror_s cn52xx;
2360+ struct cvmx_npei_pkt_slist_ror_s cn56xx;
2361+ struct cvmx_npei_pkt_slist_ror_s cn56xxp1;
2362+};
2363+
2364+union cvmx_npei_pkt_time_int {
2365+ uint64_t u64;
2366+ struct cvmx_npei_pkt_time_int_s {
2367+ uint64_t reserved_32_63:32;
2368+ uint64_t port:32;
2369+ } s;
2370+ struct cvmx_npei_pkt_time_int_s cn52xx;
2371+ struct cvmx_npei_pkt_time_int_s cn56xx;
2372+ struct cvmx_npei_pkt_time_int_s cn56xxp1;
2373+};
2374+
2375+union cvmx_npei_pkt_time_int_enb {
2376+ uint64_t u64;
2377+ struct cvmx_npei_pkt_time_int_enb_s {
2378+ uint64_t reserved_32_63:32;
2379+ uint64_t port:32;
2380+ } s;
2381+ struct cvmx_npei_pkt_time_int_enb_s cn52xx;
2382+ struct cvmx_npei_pkt_time_int_enb_s cn56xx;
2383+ struct cvmx_npei_pkt_time_int_enb_s cn56xxp1;
2384+};
2385+
2386+union cvmx_npei_rsl_int_blocks {
2387+ uint64_t u64;
2388+ struct cvmx_npei_rsl_int_blocks_s {
2389+ uint64_t reserved_31_63:33;
2390+ uint64_t iob:1;
2391+ uint64_t lmc1:1;
2392+ uint64_t agl:1;
2393+ uint64_t reserved_24_27:4;
2394+ uint64_t asxpcs1:1;
2395+ uint64_t asxpcs0:1;
2396+ uint64_t reserved_21_21:1;
2397+ uint64_t pip:1;
2398+ uint64_t reserved_18_19:2;
2399+ uint64_t lmc0:1;
2400+ uint64_t l2c:1;
2401+ uint64_t usb1:1;
2402+ uint64_t rad:1;
2403+ uint64_t usb:1;
2404+ uint64_t pow:1;
2405+ uint64_t tim:1;
2406+ uint64_t pko:1;
2407+ uint64_t ipd:1;
2408+ uint64_t reserved_8_8:1;
2409+ uint64_t zip:1;
2410+ uint64_t reserved_6_6:1;
2411+ uint64_t fpa:1;
2412+ uint64_t key:1;
2413+ uint64_t npei:1;
2414+ uint64_t gmx1:1;
2415+ uint64_t gmx0:1;
2416+ uint64_t mio:1;
2417+ } s;
2418+ struct cvmx_npei_rsl_int_blocks_s cn52xx;
2419+ struct cvmx_npei_rsl_int_blocks_s cn52xxp1;
2420+ struct cvmx_npei_rsl_int_blocks_cn56xx {
2421+ uint64_t reserved_31_63:33;
2422+ uint64_t iob:1;
2423+ uint64_t lmc1:1;
2424+ uint64_t agl:1;
2425+ uint64_t reserved_24_27:4;
2426+ uint64_t asxpcs1:1;
2427+ uint64_t asxpcs0:1;
2428+ uint64_t reserved_21_21:1;
2429+ uint64_t pip:1;
2430+ uint64_t reserved_18_19:2;
2431+ uint64_t lmc0:1;
2432+ uint64_t l2c:1;
2433+ uint64_t reserved_15_15:1;
2434+ uint64_t rad:1;
2435+ uint64_t usb:1;
2436+ uint64_t pow:1;
2437+ uint64_t tim:1;
2438+ uint64_t pko:1;
2439+ uint64_t ipd:1;
2440+ uint64_t reserved_8_8:1;
2441+ uint64_t zip:1;
2442+ uint64_t reserved_6_6:1;
2443+ uint64_t fpa:1;
2444+ uint64_t key:1;
2445+ uint64_t npei:1;
2446+ uint64_t gmx1:1;
2447+ uint64_t gmx0:1;
2448+ uint64_t mio:1;
2449+ } cn56xx;
2450+ struct cvmx_npei_rsl_int_blocks_cn56xx cn56xxp1;
2451+};
2452+
2453+union cvmx_npei_scratch_1 {
2454+ uint64_t u64;
2455+ struct cvmx_npei_scratch_1_s {
2456+ uint64_t data:64;
2457+ } s;
2458+ struct cvmx_npei_scratch_1_s cn52xx;
2459+ struct cvmx_npei_scratch_1_s cn52xxp1;
2460+ struct cvmx_npei_scratch_1_s cn56xx;
2461+ struct cvmx_npei_scratch_1_s cn56xxp1;
2462+};
2463+
2464+union cvmx_npei_state1 {
2465+ uint64_t u64;
2466+ struct cvmx_npei_state1_s {
2467+ uint64_t cpl1:12;
2468+ uint64_t cpl0:12;
2469+ uint64_t arb:1;
2470+ uint64_t csr:39;
2471+ } s;
2472+ struct cvmx_npei_state1_s cn52xx;
2473+ struct cvmx_npei_state1_s cn52xxp1;
2474+ struct cvmx_npei_state1_s cn56xx;
2475+ struct cvmx_npei_state1_s cn56xxp1;
2476+};
2477+
2478+union cvmx_npei_state2 {
2479+ uint64_t u64;
2480+ struct cvmx_npei_state2_s {
2481+ uint64_t reserved_48_63:16;
2482+ uint64_t npei:1;
2483+ uint64_t rac:1;
2484+ uint64_t csm1:15;
2485+ uint64_t csm0:15;
2486+ uint64_t nnp0:8;
2487+ uint64_t nnd:8;
2488+ } s;
2489+ struct cvmx_npei_state2_s cn52xx;
2490+ struct cvmx_npei_state2_s cn52xxp1;
2491+ struct cvmx_npei_state2_s cn56xx;
2492+ struct cvmx_npei_state2_s cn56xxp1;
2493+};
2494+
2495+union cvmx_npei_state3 {
2496+ uint64_t u64;
2497+ struct cvmx_npei_state3_s {
2498+ uint64_t reserved_56_63:8;
2499+ uint64_t psm1:15;
2500+ uint64_t psm0:15;
2501+ uint64_t nsm1:13;
2502+ uint64_t nsm0:13;
2503+ } s;
2504+ struct cvmx_npei_state3_s cn52xx;
2505+ struct cvmx_npei_state3_s cn52xxp1;
2506+ struct cvmx_npei_state3_s cn56xx;
2507+ struct cvmx_npei_state3_s cn56xxp1;
2508+};
2509+
2510+union cvmx_npei_win_rd_addr {
2511+ uint64_t u64;
2512+ struct cvmx_npei_win_rd_addr_s {
2513+ uint64_t reserved_51_63:13;
2514+ uint64_t ld_cmd:2;
2515+ uint64_t iobit:1;
2516+ uint64_t rd_addr:48;
2517+ } s;
2518+ struct cvmx_npei_win_rd_addr_s cn52xx;
2519+ struct cvmx_npei_win_rd_addr_s cn52xxp1;
2520+ struct cvmx_npei_win_rd_addr_s cn56xx;
2521+ struct cvmx_npei_win_rd_addr_s cn56xxp1;
2522+};
2523+
2524+union cvmx_npei_win_rd_data {
2525+ uint64_t u64;
2526+ struct cvmx_npei_win_rd_data_s {
2527+ uint64_t rd_data:64;
2528+ } s;
2529+ struct cvmx_npei_win_rd_data_s cn52xx;
2530+ struct cvmx_npei_win_rd_data_s cn52xxp1;
2531+ struct cvmx_npei_win_rd_data_s cn56xx;
2532+ struct cvmx_npei_win_rd_data_s cn56xxp1;
2533+};
2534+
2535+union cvmx_npei_win_wr_addr {
2536+ uint64_t u64;
2537+ struct cvmx_npei_win_wr_addr_s {
2538+ uint64_t reserved_49_63:15;
2539+ uint64_t iobit:1;
2540+ uint64_t wr_addr:46;
2541+ uint64_t reserved_0_1:2;
2542+ } s;
2543+ struct cvmx_npei_win_wr_addr_s cn52xx;
2544+ struct cvmx_npei_win_wr_addr_s cn52xxp1;
2545+ struct cvmx_npei_win_wr_addr_s cn56xx;
2546+ struct cvmx_npei_win_wr_addr_s cn56xxp1;
2547+};
2548+
2549+union cvmx_npei_win_wr_data {
2550+ uint64_t u64;
2551+ struct cvmx_npei_win_wr_data_s {
2552+ uint64_t wr_data:64;
2553+ } s;
2554+ struct cvmx_npei_win_wr_data_s cn52xx;
2555+ struct cvmx_npei_win_wr_data_s cn52xxp1;
2556+ struct cvmx_npei_win_wr_data_s cn56xx;
2557+ struct cvmx_npei_win_wr_data_s cn56xxp1;
2558+};
2559+
2560+union cvmx_npei_win_wr_mask {
2561+ uint64_t u64;
2562+ struct cvmx_npei_win_wr_mask_s {
2563+ uint64_t reserved_8_63:56;
2564+ uint64_t wr_mask:8;
2565+ } s;
2566+ struct cvmx_npei_win_wr_mask_s cn52xx;
2567+ struct cvmx_npei_win_wr_mask_s cn52xxp1;
2568+ struct cvmx_npei_win_wr_mask_s cn56xx;
2569+ struct cvmx_npei_win_wr_mask_s cn56xxp1;
2570+};
2571+
2572+union cvmx_npei_window_ctl {
2573+ uint64_t u64;
2574+ struct cvmx_npei_window_ctl_s {
2575+ uint64_t reserved_32_63:32;
2576+ uint64_t time:32;
2577+ } s;
2578+ struct cvmx_npei_window_ctl_s cn52xx;
2579+ struct cvmx_npei_window_ctl_s cn52xxp1;
2580+ struct cvmx_npei_window_ctl_s cn56xx;
2581+ struct cvmx_npei_window_ctl_s cn56xxp1;
2582+};
2583+
2584+#endif
2585--- /dev/null
2586+++ b/arch/mips/include/asm/octeon/cvmx-npi-defs.h
2587@@ -0,0 +1,1735 @@
2588+/***********************license start***************
2589+ * Author: Cavium Networks
2590+ *
2591+ * Contact: support@caviumnetworks.com
2592+ * This file is part of the OCTEON SDK
2593+ *
2594+ * Copyright (c) 2003-2008 Cavium Networks
2595+ *
2596+ * This file is free software; you can redistribute it and/or modify
2597+ * it under the terms of the GNU General Public License, Version 2, as
2598+ * published by the Free Software Foundation.
2599+ *
2600+ * This file is distributed in the hope that it will be useful, but
2601+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
2602+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
2603+ * NONINFRINGEMENT. See the GNU General Public License for more
2604+ * details.
2605+ *
2606+ * You should have received a copy of the GNU General Public License
2607+ * along with this file; if not, write to the Free Software
2608+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2609+ * or visit http://www.gnu.org/licenses/.
2610+ *
2611+ * This file may also be available under a different license from Cavium.
2612+ * Contact Cavium Networks for more information
2613+ ***********************license end**************************************/
2614+
2615+#ifndef __CVMX_NPI_DEFS_H__
2616+#define __CVMX_NPI_DEFS_H__
2617+
2618+#define CVMX_NPI_BASE_ADDR_INPUT0 \
2619+ CVMX_ADD_IO_SEG(0x00011F0000000070ull)
2620+#define CVMX_NPI_BASE_ADDR_INPUT1 \
2621+ CVMX_ADD_IO_SEG(0x00011F0000000080ull)
2622+#define CVMX_NPI_BASE_ADDR_INPUT2 \
2623+ CVMX_ADD_IO_SEG(0x00011F0000000090ull)
2624+#define CVMX_NPI_BASE_ADDR_INPUT3 \
2625+ CVMX_ADD_IO_SEG(0x00011F00000000A0ull)
2626+#define CVMX_NPI_BASE_ADDR_INPUTX(offset) \
2627+ CVMX_ADD_IO_SEG(0x00011F0000000070ull + (((offset) & 3) * 16))
2628+#define CVMX_NPI_BASE_ADDR_OUTPUT0 \
2629+ CVMX_ADD_IO_SEG(0x00011F00000000B8ull)
2630+#define CVMX_NPI_BASE_ADDR_OUTPUT1 \
2631+ CVMX_ADD_IO_SEG(0x00011F00000000C0ull)
2632+#define CVMX_NPI_BASE_ADDR_OUTPUT2 \
2633+ CVMX_ADD_IO_SEG(0x00011F00000000C8ull)
2634+#define CVMX_NPI_BASE_ADDR_OUTPUT3 \
2635+ CVMX_ADD_IO_SEG(0x00011F00000000D0ull)
2636+#define CVMX_NPI_BASE_ADDR_OUTPUTX(offset) \
2637+ CVMX_ADD_IO_SEG(0x00011F00000000B8ull + (((offset) & 3) * 8))
2638+#define CVMX_NPI_BIST_STATUS \
2639+ CVMX_ADD_IO_SEG(0x00011F00000003F8ull)
2640+#define CVMX_NPI_BUFF_SIZE_OUTPUT0 \
2641+ CVMX_ADD_IO_SEG(0x00011F00000000E0ull)
2642+#define CVMX_NPI_BUFF_SIZE_OUTPUT1 \
2643+ CVMX_ADD_IO_SEG(0x00011F00000000E8ull)
2644+#define CVMX_NPI_BUFF_SIZE_OUTPUT2 \
2645+ CVMX_ADD_IO_SEG(0x00011F00000000F0ull)
2646+#define CVMX_NPI_BUFF_SIZE_OUTPUT3 \
2647+ CVMX_ADD_IO_SEG(0x00011F00000000F8ull)
2648+#define CVMX_NPI_BUFF_SIZE_OUTPUTX(offset) \
2649+ CVMX_ADD_IO_SEG(0x00011F00000000E0ull + (((offset) & 3) * 8))
2650+#define CVMX_NPI_COMP_CTL \
2651+ CVMX_ADD_IO_SEG(0x00011F0000000218ull)
2652+#define CVMX_NPI_CTL_STATUS \
2653+ CVMX_ADD_IO_SEG(0x00011F0000000010ull)
2654+#define CVMX_NPI_DBG_SELECT \
2655+ CVMX_ADD_IO_SEG(0x00011F0000000008ull)
2656+#define CVMX_NPI_DMA_CONTROL \
2657+ CVMX_ADD_IO_SEG(0x00011F0000000128ull)
2658+#define CVMX_NPI_DMA_HIGHP_COUNTS \
2659+ CVMX_ADD_IO_SEG(0x00011F0000000148ull)
2660+#define CVMX_NPI_DMA_HIGHP_NADDR \
2661+ CVMX_ADD_IO_SEG(0x00011F0000000158ull)
2662+#define CVMX_NPI_DMA_LOWP_COUNTS \
2663+ CVMX_ADD_IO_SEG(0x00011F0000000140ull)
2664+#define CVMX_NPI_DMA_LOWP_NADDR \
2665+ CVMX_ADD_IO_SEG(0x00011F0000000150ull)
2666+#define CVMX_NPI_HIGHP_DBELL \
2667+ CVMX_ADD_IO_SEG(0x00011F0000000120ull)
2668+#define CVMX_NPI_HIGHP_IBUFF_SADDR \
2669+ CVMX_ADD_IO_SEG(0x00011F0000000110ull)
2670+#define CVMX_NPI_INPUT_CONTROL \
2671+ CVMX_ADD_IO_SEG(0x00011F0000000138ull)
2672+#define CVMX_NPI_INT_ENB \
2673+ CVMX_ADD_IO_SEG(0x00011F0000000020ull)
2674+#define CVMX_NPI_INT_SUM \
2675+ CVMX_ADD_IO_SEG(0x00011F0000000018ull)
2676+#define CVMX_NPI_LOWP_DBELL \
2677+ CVMX_ADD_IO_SEG(0x00011F0000000118ull)
2678+#define CVMX_NPI_LOWP_IBUFF_SADDR \
2679+ CVMX_ADD_IO_SEG(0x00011F0000000108ull)
2680+#define CVMX_NPI_MEM_ACCESS_SUBID3 \
2681+ CVMX_ADD_IO_SEG(0x00011F0000000028ull)
2682+#define CVMX_NPI_MEM_ACCESS_SUBID4 \
2683+ CVMX_ADD_IO_SEG(0x00011F0000000030ull)
2684+#define CVMX_NPI_MEM_ACCESS_SUBID5 \
2685+ CVMX_ADD_IO_SEG(0x00011F0000000038ull)
2686+#define CVMX_NPI_MEM_ACCESS_SUBID6 \
2687+ CVMX_ADD_IO_SEG(0x00011F0000000040ull)
2688+#define CVMX_NPI_MEM_ACCESS_SUBIDX(offset) \
2689+ CVMX_ADD_IO_SEG(0x00011F0000000028ull + (((offset) & 7) * 8) - 8 * 3)
2690+#define CVMX_NPI_MSI_RCV \
2691+ (0x0000000000000190ull)
2692+#define CVMX_NPI_NPI_MSI_RCV \
2693+ CVMX_ADD_IO_SEG(0x00011F0000001190ull)
2694+#define CVMX_NPI_NUM_DESC_OUTPUT0 \
2695+ CVMX_ADD_IO_SEG(0x00011F0000000050ull)
2696+#define CVMX_NPI_NUM_DESC_OUTPUT1 \
2697+ CVMX_ADD_IO_SEG(0x00011F0000000058ull)
2698+#define CVMX_NPI_NUM_DESC_OUTPUT2 \
2699+ CVMX_ADD_IO_SEG(0x00011F0000000060ull)
2700+#define CVMX_NPI_NUM_DESC_OUTPUT3 \
2701+ CVMX_ADD_IO_SEG(0x00011F0000000068ull)
2702+#define CVMX_NPI_NUM_DESC_OUTPUTX(offset) \
2703+ CVMX_ADD_IO_SEG(0x00011F0000000050ull + (((offset) & 3) * 8))
2704+#define CVMX_NPI_OUTPUT_CONTROL \
2705+ CVMX_ADD_IO_SEG(0x00011F0000000100ull)
2706+#define CVMX_NPI_P0_DBPAIR_ADDR \
2707+ CVMX_ADD_IO_SEG(0x00011F0000000180ull)
2708+#define CVMX_NPI_P0_INSTR_ADDR \
2709+ CVMX_ADD_IO_SEG(0x00011F00000001C0ull)
2710+#define CVMX_NPI_P0_INSTR_CNTS \
2711+ CVMX_ADD_IO_SEG(0x00011F00000001A0ull)
2712+#define CVMX_NPI_P0_PAIR_CNTS \
2713+ CVMX_ADD_IO_SEG(0x00011F0000000160ull)
2714+#define CVMX_NPI_P1_DBPAIR_ADDR \
2715+ CVMX_ADD_IO_SEG(0x00011F0000000188ull)
2716+#define CVMX_NPI_P1_INSTR_ADDR \
2717+ CVMX_ADD_IO_SEG(0x00011F00000001C8ull)
2718+#define CVMX_NPI_P1_INSTR_CNTS \
2719+ CVMX_ADD_IO_SEG(0x00011F00000001A8ull)
2720+#define CVMX_NPI_P1_PAIR_CNTS \
2721+ CVMX_ADD_IO_SEG(0x00011F0000000168ull)
2722+#define CVMX_NPI_P2_DBPAIR_ADDR \
2723+ CVMX_ADD_IO_SEG(0x00011F0000000190ull)
2724+#define CVMX_NPI_P2_INSTR_ADDR \
2725+ CVMX_ADD_IO_SEG(0x00011F00000001D0ull)
2726+#define CVMX_NPI_P2_INSTR_CNTS \
2727+ CVMX_ADD_IO_SEG(0x00011F00000001B0ull)
2728+#define CVMX_NPI_P2_PAIR_CNTS \
2729+ CVMX_ADD_IO_SEG(0x00011F0000000170ull)
2730+#define CVMX_NPI_P3_DBPAIR_ADDR \
2731+ CVMX_ADD_IO_SEG(0x00011F0000000198ull)
2732+#define CVMX_NPI_P3_INSTR_ADDR \
2733+ CVMX_ADD_IO_SEG(0x00011F00000001D8ull)
2734+#define CVMX_NPI_P3_INSTR_CNTS \
2735+ CVMX_ADD_IO_SEG(0x00011F00000001B8ull)
2736+#define CVMX_NPI_P3_PAIR_CNTS \
2737+ CVMX_ADD_IO_SEG(0x00011F0000000178ull)
2738+#define CVMX_NPI_PCI_BAR1_INDEXX(offset) \
2739+ CVMX_ADD_IO_SEG(0x00011F0000001100ull + (((offset) & 31) * 4))
2740+#define CVMX_NPI_PCI_BIST_REG \
2741+ CVMX_ADD_IO_SEG(0x00011F00000011C0ull)
2742+#define CVMX_NPI_PCI_BURST_SIZE \
2743+ CVMX_ADD_IO_SEG(0x00011F00000000D8ull)
2744+#define CVMX_NPI_PCI_CFG00 \
2745+ CVMX_ADD_IO_SEG(0x00011F0000001800ull)
2746+#define CVMX_NPI_PCI_CFG01 \
2747+ CVMX_ADD_IO_SEG(0x00011F0000001804ull)
2748+#define CVMX_NPI_PCI_CFG02 \
2749+ CVMX_ADD_IO_SEG(0x00011F0000001808ull)
2750+#define CVMX_NPI_PCI_CFG03 \
2751+ CVMX_ADD_IO_SEG(0x00011F000000180Cull)
2752+#define CVMX_NPI_PCI_CFG04 \
2753+ CVMX_ADD_IO_SEG(0x00011F0000001810ull)
2754+#define CVMX_NPI_PCI_CFG05 \
2755+ CVMX_ADD_IO_SEG(0x00011F0000001814ull)
2756+#define CVMX_NPI_PCI_CFG06 \
2757+ CVMX_ADD_IO_SEG(0x00011F0000001818ull)
2758+#define CVMX_NPI_PCI_CFG07 \
2759+ CVMX_ADD_IO_SEG(0x00011F000000181Cull)
2760+#define CVMX_NPI_PCI_CFG08 \
2761+ CVMX_ADD_IO_SEG(0x00011F0000001820ull)
2762+#define CVMX_NPI_PCI_CFG09 \
2763+ CVMX_ADD_IO_SEG(0x00011F0000001824ull)
2764+#define CVMX_NPI_PCI_CFG10 \
2765+ CVMX_ADD_IO_SEG(0x00011F0000001828ull)
2766+#define CVMX_NPI_PCI_CFG11 \
2767+ CVMX_ADD_IO_SEG(0x00011F000000182Cull)
2768+#define CVMX_NPI_PCI_CFG12 \
2769+ CVMX_ADD_IO_SEG(0x00011F0000001830ull)
2770+#define CVMX_NPI_PCI_CFG13 \
2771+ CVMX_ADD_IO_SEG(0x00011F0000001834ull)
2772+#define CVMX_NPI_PCI_CFG15 \
2773+ CVMX_ADD_IO_SEG(0x00011F000000183Cull)
2774+#define CVMX_NPI_PCI_CFG16 \
2775+ CVMX_ADD_IO_SEG(0x00011F0000001840ull)
2776+#define CVMX_NPI_PCI_CFG17 \
2777+ CVMX_ADD_IO_SEG(0x00011F0000001844ull)
2778+#define CVMX_NPI_PCI_CFG18 \
2779+ CVMX_ADD_IO_SEG(0x00011F0000001848ull)
2780+#define CVMX_NPI_PCI_CFG19 \
2781+ CVMX_ADD_IO_SEG(0x00011F000000184Cull)
2782+#define CVMX_NPI_PCI_CFG20 \
2783+ CVMX_ADD_IO_SEG(0x00011F0000001850ull)
2784+#define CVMX_NPI_PCI_CFG21 \
2785+ CVMX_ADD_IO_SEG(0x00011F0000001854ull)
2786+#define CVMX_NPI_PCI_CFG22 \
2787+ CVMX_ADD_IO_SEG(0x00011F0000001858ull)
2788+#define CVMX_NPI_PCI_CFG56 \
2789+ CVMX_ADD_IO_SEG(0x00011F00000018E0ull)
2790+#define CVMX_NPI_PCI_CFG57 \
2791+ CVMX_ADD_IO_SEG(0x00011F00000018E4ull)
2792+#define CVMX_NPI_PCI_CFG58 \
2793+ CVMX_ADD_IO_SEG(0x00011F00000018E8ull)
2794+#define CVMX_NPI_PCI_CFG59 \
2795+ CVMX_ADD_IO_SEG(0x00011F00000018ECull)
2796+#define CVMX_NPI_PCI_CFG60 \
2797+ CVMX_ADD_IO_SEG(0x00011F00000018F0ull)
2798+#define CVMX_NPI_PCI_CFG61 \
2799+ CVMX_ADD_IO_SEG(0x00011F00000018F4ull)
2800+#define CVMX_NPI_PCI_CFG62 \
2801+ CVMX_ADD_IO_SEG(0x00011F00000018F8ull)
2802+#define CVMX_NPI_PCI_CFG63 \
2803+ CVMX_ADD_IO_SEG(0x00011F00000018FCull)
2804+#define CVMX_NPI_PCI_CNT_REG \
2805+ CVMX_ADD_IO_SEG(0x00011F00000011B8ull)
2806+#define CVMX_NPI_PCI_CTL_STATUS_2 \
2807+ CVMX_ADD_IO_SEG(0x00011F000000118Cull)
2808+#define CVMX_NPI_PCI_INT_ARB_CFG \
2809+ CVMX_ADD_IO_SEG(0x00011F0000000130ull)
2810+#define CVMX_NPI_PCI_INT_ENB2 \
2811+ CVMX_ADD_IO_SEG(0x00011F00000011A0ull)
2812+#define CVMX_NPI_PCI_INT_SUM2 \
2813+ CVMX_ADD_IO_SEG(0x00011F0000001198ull)
2814+#define CVMX_NPI_PCI_READ_CMD \
2815+ CVMX_ADD_IO_SEG(0x00011F0000000048ull)
2816+#define CVMX_NPI_PCI_READ_CMD_6 \
2817+ CVMX_ADD_IO_SEG(0x00011F0000001180ull)
2818+#define CVMX_NPI_PCI_READ_CMD_C \
2819+ CVMX_ADD_IO_SEG(0x00011F0000001184ull)
2820+#define CVMX_NPI_PCI_READ_CMD_E \
2821+ CVMX_ADD_IO_SEG(0x00011F0000001188ull)
2822+#define CVMX_NPI_PCI_SCM_REG \
2823+ CVMX_ADD_IO_SEG(0x00011F00000011A8ull)
2824+#define CVMX_NPI_PCI_TSR_REG \
2825+ CVMX_ADD_IO_SEG(0x00011F00000011B0ull)
2826+#define CVMX_NPI_PORT32_INSTR_HDR \
2827+ CVMX_ADD_IO_SEG(0x00011F00000001F8ull)
2828+#define CVMX_NPI_PORT33_INSTR_HDR \
2829+ CVMX_ADD_IO_SEG(0x00011F0000000200ull)
2830+#define CVMX_NPI_PORT34_INSTR_HDR \
2831+ CVMX_ADD_IO_SEG(0x00011F0000000208ull)
2832+#define CVMX_NPI_PORT35_INSTR_HDR \
2833+ CVMX_ADD_IO_SEG(0x00011F0000000210ull)
2834+#define CVMX_NPI_PORT_BP_CONTROL \
2835+ CVMX_ADD_IO_SEG(0x00011F00000001F0ull)
2836+#define CVMX_NPI_PX_DBPAIR_ADDR(offset) \
2837+ CVMX_ADD_IO_SEG(0x00011F0000000180ull + (((offset) & 3) * 8))
2838+#define CVMX_NPI_PX_INSTR_ADDR(offset) \
2839+ CVMX_ADD_IO_SEG(0x00011F00000001C0ull + (((offset) & 3) * 8))
2840+#define CVMX_NPI_PX_INSTR_CNTS(offset) \
2841+ CVMX_ADD_IO_SEG(0x00011F00000001A0ull + (((offset) & 3) * 8))
2842+#define CVMX_NPI_PX_PAIR_CNTS(offset) \
2843+ CVMX_ADD_IO_SEG(0x00011F0000000160ull + (((offset) & 3) * 8))
2844+#define CVMX_NPI_RSL_INT_BLOCKS \
2845+ CVMX_ADD_IO_SEG(0x00011F0000000000ull)
2846+#define CVMX_NPI_SIZE_INPUT0 \
2847+ CVMX_ADD_IO_SEG(0x00011F0000000078ull)
2848+#define CVMX_NPI_SIZE_INPUT1 \
2849+ CVMX_ADD_IO_SEG(0x00011F0000000088ull)
2850+#define CVMX_NPI_SIZE_INPUT2 \
2851+ CVMX_ADD_IO_SEG(0x00011F0000000098ull)
2852+#define CVMX_NPI_SIZE_INPUT3 \
2853+ CVMX_ADD_IO_SEG(0x00011F00000000A8ull)
2854+#define CVMX_NPI_SIZE_INPUTX(offset) \
2855+ CVMX_ADD_IO_SEG(0x00011F0000000078ull + (((offset) & 3) * 16))
2856+#define CVMX_NPI_WIN_READ_TO \
2857+ CVMX_ADD_IO_SEG(0x00011F00000001E0ull)
2858+
2859+union cvmx_npi_base_addr_inputx {
2860+ uint64_t u64;
2861+ struct cvmx_npi_base_addr_inputx_s {
2862+ uint64_t baddr:61;
2863+ uint64_t reserved_0_2:3;
2864+ } s;
2865+ struct cvmx_npi_base_addr_inputx_s cn30xx;
2866+ struct cvmx_npi_base_addr_inputx_s cn31xx;
2867+ struct cvmx_npi_base_addr_inputx_s cn38xx;
2868+ struct cvmx_npi_base_addr_inputx_s cn38xxp2;
2869+ struct cvmx_npi_base_addr_inputx_s cn50xx;
2870+ struct cvmx_npi_base_addr_inputx_s cn58xx;
2871+ struct cvmx_npi_base_addr_inputx_s cn58xxp1;
2872+};
2873+
2874+union cvmx_npi_base_addr_outputx {
2875+ uint64_t u64;
2876+ struct cvmx_npi_base_addr_outputx_s {
2877+ uint64_t baddr:61;
2878+ uint64_t reserved_0_2:3;
2879+ } s;
2880+ struct cvmx_npi_base_addr_outputx_s cn30xx;
2881+ struct cvmx_npi_base_addr_outputx_s cn31xx;
2882+ struct cvmx_npi_base_addr_outputx_s cn38xx;
2883+ struct cvmx_npi_base_addr_outputx_s cn38xxp2;
2884+ struct cvmx_npi_base_addr_outputx_s cn50xx;
2885+ struct cvmx_npi_base_addr_outputx_s cn58xx;
2886+ struct cvmx_npi_base_addr_outputx_s cn58xxp1;
2887+};
2888+
2889+union cvmx_npi_bist_status {
2890+ uint64_t u64;
2891+ struct cvmx_npi_bist_status_s {
2892+ uint64_t reserved_20_63:44;
2893+ uint64_t csr_bs:1;
2894+ uint64_t dif_bs:1;
2895+ uint64_t rdp_bs:1;
2896+ uint64_t pcnc_bs:1;
2897+ uint64_t pcn_bs:1;
2898+ uint64_t rdn_bs:1;
2899+ uint64_t pcac_bs:1;
2900+ uint64_t pcad_bs:1;
2901+ uint64_t rdnl_bs:1;
2902+ uint64_t pgf_bs:1;
2903+ uint64_t pig_bs:1;
2904+ uint64_t pof0_bs:1;
2905+ uint64_t pof1_bs:1;
2906+ uint64_t pof2_bs:1;
2907+ uint64_t pof3_bs:1;
2908+ uint64_t pos_bs:1;
2909+ uint64_t nus_bs:1;
2910+ uint64_t dob_bs:1;
2911+ uint64_t pdf_bs:1;
2912+ uint64_t dpi_bs:1;
2913+ } s;
2914+ struct cvmx_npi_bist_status_cn30xx {
2915+ uint64_t reserved_20_63:44;
2916+ uint64_t csr_bs:1;
2917+ uint64_t dif_bs:1;
2918+ uint64_t rdp_bs:1;
2919+ uint64_t pcnc_bs:1;
2920+ uint64_t pcn_bs:1;
2921+ uint64_t rdn_bs:1;
2922+ uint64_t pcac_bs:1;
2923+ uint64_t pcad_bs:1;
2924+ uint64_t rdnl_bs:1;
2925+ uint64_t pgf_bs:1;
2926+ uint64_t pig_bs:1;
2927+ uint64_t pof0_bs:1;
2928+ uint64_t reserved_5_7:3;
2929+ uint64_t pos_bs:1;
2930+ uint64_t nus_bs:1;
2931+ uint64_t dob_bs:1;
2932+ uint64_t pdf_bs:1;
2933+ uint64_t dpi_bs:1;
2934+ } cn30xx;
2935+ struct cvmx_npi_bist_status_s cn31xx;
2936+ struct cvmx_npi_bist_status_s cn38xx;
2937+ struct cvmx_npi_bist_status_s cn38xxp2;
2938+ struct cvmx_npi_bist_status_cn50xx {
2939+ uint64_t reserved_20_63:44;
2940+ uint64_t csr_bs:1;
2941+ uint64_t dif_bs:1;
2942+ uint64_t rdp_bs:1;
2943+ uint64_t pcnc_bs:1;
2944+ uint64_t pcn_bs:1;
2945+ uint64_t rdn_bs:1;
2946+ uint64_t pcac_bs:1;
2947+ uint64_t pcad_bs:1;
2948+ uint64_t rdnl_bs:1;
2949+ uint64_t pgf_bs:1;
2950+ uint64_t pig_bs:1;
2951+ uint64_t pof0_bs:1;
2952+ uint64_t pof1_bs:1;
2953+ uint64_t reserved_5_6:2;
2954+ uint64_t pos_bs:1;
2955+ uint64_t nus_bs:1;
2956+ uint64_t dob_bs:1;
2957+ uint64_t pdf_bs:1;
2958+ uint64_t dpi_bs:1;
2959+ } cn50xx;
2960+ struct cvmx_npi_bist_status_s cn58xx;
2961+ struct cvmx_npi_bist_status_s cn58xxp1;
2962+};
2963+
2964+union cvmx_npi_buff_size_outputx {
2965+ uint64_t u64;
2966+ struct cvmx_npi_buff_size_outputx_s {
2967+ uint64_t reserved_23_63:41;
2968+ uint64_t isize:7;
2969+ uint64_t bsize:16;
2970+ } s;
2971+ struct cvmx_npi_buff_size_outputx_s cn30xx;
2972+ struct cvmx_npi_buff_size_outputx_s cn31xx;
2973+ struct cvmx_npi_buff_size_outputx_s cn38xx;
2974+ struct cvmx_npi_buff_size_outputx_s cn38xxp2;
2975+ struct cvmx_npi_buff_size_outputx_s cn50xx;
2976+ struct cvmx_npi_buff_size_outputx_s cn58xx;
2977+ struct cvmx_npi_buff_size_outputx_s cn58xxp1;
2978+};
2979+
2980+union cvmx_npi_comp_ctl {
2981+ uint64_t u64;
2982+ struct cvmx_npi_comp_ctl_s {
2983+ uint64_t reserved_10_63:54;
2984+ uint64_t pctl:5;
2985+ uint64_t nctl:5;
2986+ } s;
2987+ struct cvmx_npi_comp_ctl_s cn50xx;
2988+ struct cvmx_npi_comp_ctl_s cn58xx;
2989+ struct cvmx_npi_comp_ctl_s cn58xxp1;
2990+};
2991+
2992+union cvmx_npi_ctl_status {
2993+ uint64_t u64;
2994+ struct cvmx_npi_ctl_status_s {
2995+ uint64_t reserved_63_63:1;
2996+ uint64_t chip_rev:8;
2997+ uint64_t dis_pniw:1;
2998+ uint64_t out3_enb:1;
2999+ uint64_t out2_enb:1;
3000+ uint64_t out1_enb:1;
3001+ uint64_t out0_enb:1;
3002+ uint64_t ins3_enb:1;
3003+ uint64_t ins2_enb:1;
3004+ uint64_t ins1_enb:1;
3005+ uint64_t ins0_enb:1;
3006+ uint64_t ins3_64b:1;
3007+ uint64_t ins2_64b:1;
3008+ uint64_t ins1_64b:1;
3009+ uint64_t ins0_64b:1;
3010+ uint64_t pci_wdis:1;
3011+ uint64_t wait_com:1;
3012+ uint64_t reserved_37_39:3;
3013+ uint64_t max_word:5;
3014+ uint64_t reserved_10_31:22;
3015+ uint64_t timer:10;
3016+ } s;
3017+ struct cvmx_npi_ctl_status_cn30xx {
3018+ uint64_t reserved_63_63:1;
3019+ uint64_t chip_rev:8;
3020+ uint64_t dis_pniw:1;
3021+ uint64_t reserved_51_53:3;
3022+ uint64_t out0_enb:1;
3023+ uint64_t reserved_47_49:3;
3024+ uint64_t ins0_enb:1;
3025+ uint64_t reserved_43_45:3;
3026+ uint64_t ins0_64b:1;
3027+ uint64_t pci_wdis:1;
3028+ uint64_t wait_com:1;
3029+ uint64_t reserved_37_39:3;
3030+ uint64_t max_word:5;
3031+ uint64_t reserved_10_31:22;
3032+ uint64_t timer:10;
3033+ } cn30xx;
3034+ struct cvmx_npi_ctl_status_cn31xx {
3035+ uint64_t reserved_63_63:1;
3036+ uint64_t chip_rev:8;
3037+ uint64_t dis_pniw:1;
3038+ uint64_t reserved_52_53:2;
3039+ uint64_t out1_enb:1;
3040+ uint64_t out0_enb:1;
3041+ uint64_t reserved_48_49:2;
3042+ uint64_t ins1_enb:1;
3043+ uint64_t ins0_enb:1;
3044+ uint64_t reserved_44_45:2;
3045+ uint64_t ins1_64b:1;
3046+ uint64_t ins0_64b:1;
3047+ uint64_t pci_wdis:1;
3048+ uint64_t wait_com:1;
3049+ uint64_t reserved_37_39:3;
3050+ uint64_t max_word:5;
3051+ uint64_t reserved_10_31:22;
3052+ uint64_t timer:10;
3053+ } cn31xx;
3054+ struct cvmx_npi_ctl_status_s cn38xx;
3055+ struct cvmx_npi_ctl_status_s cn38xxp2;
3056+ struct cvmx_npi_ctl_status_cn31xx cn50xx;
3057+ struct cvmx_npi_ctl_status_s cn58xx;
3058+ struct cvmx_npi_ctl_status_s cn58xxp1;
3059+};
3060+
3061+union cvmx_npi_dbg_select {
3062+ uint64_t u64;
3063+ struct cvmx_npi_dbg_select_s {
3064+ uint64_t reserved_16_63:48;
3065+ uint64_t dbg_sel:16;
3066+ } s;
3067+ struct cvmx_npi_dbg_select_s cn30xx;
3068+ struct cvmx_npi_dbg_select_s cn31xx;
3069+ struct cvmx_npi_dbg_select_s cn38xx;
3070+ struct cvmx_npi_dbg_select_s cn38xxp2;
3071+ struct cvmx_npi_dbg_select_s cn50xx;
3072+ struct cvmx_npi_dbg_select_s cn58xx;
3073+ struct cvmx_npi_dbg_select_s cn58xxp1;
3074+};
3075+
3076+union cvmx_npi_dma_control {
3077+ uint64_t u64;
3078+ struct cvmx_npi_dma_control_s {
3079+ uint64_t reserved_36_63:28;
3080+ uint64_t b0_lend:1;
3081+ uint64_t dwb_denb:1;
3082+ uint64_t dwb_ichk:9;
3083+ uint64_t fpa_que:3;
3084+ uint64_t o_add1:1;
3085+ uint64_t o_ro:1;
3086+ uint64_t o_ns:1;
3087+ uint64_t o_es:2;
3088+ uint64_t o_mode:1;
3089+ uint64_t hp_enb:1;
3090+ uint64_t lp_enb:1;
3091+ uint64_t csize:14;
3092+ } s;
3093+ struct cvmx_npi_dma_control_s cn30xx;
3094+ struct cvmx_npi_dma_control_s cn31xx;
3095+ struct cvmx_npi_dma_control_s cn38xx;
3096+ struct cvmx_npi_dma_control_s cn38xxp2;
3097+ struct cvmx_npi_dma_control_s cn50xx;
3098+ struct cvmx_npi_dma_control_s cn58xx;
3099+ struct cvmx_npi_dma_control_s cn58xxp1;
3100+};
3101+
3102+union cvmx_npi_dma_highp_counts {
3103+ uint64_t u64;
3104+ struct cvmx_npi_dma_highp_counts_s {
3105+ uint64_t reserved_39_63:25;
3106+ uint64_t fcnt:7;
3107+ uint64_t dbell:32;
3108+ } s;
3109+ struct cvmx_npi_dma_highp_counts_s cn30xx;
3110+ struct cvmx_npi_dma_highp_counts_s cn31xx;
3111+ struct cvmx_npi_dma_highp_counts_s cn38xx;
3112+ struct cvmx_npi_dma_highp_counts_s cn38xxp2;
3113+ struct cvmx_npi_dma_highp_counts_s cn50xx;
3114+ struct cvmx_npi_dma_highp_counts_s cn58xx;
3115+ struct cvmx_npi_dma_highp_counts_s cn58xxp1;
3116+};
3117+
3118+union cvmx_npi_dma_highp_naddr {
3119+ uint64_t u64;
3120+ struct cvmx_npi_dma_highp_naddr_s {
3121+ uint64_t reserved_40_63:24;
3122+ uint64_t state:4;
3123+ uint64_t addr:36;
3124+ } s;
3125+ struct cvmx_npi_dma_highp_naddr_s cn30xx;
3126+ struct cvmx_npi_dma_highp_naddr_s cn31xx;
3127+ struct cvmx_npi_dma_highp_naddr_s cn38xx;
3128+ struct cvmx_npi_dma_highp_naddr_s cn38xxp2;
3129+ struct cvmx_npi_dma_highp_naddr_s cn50xx;
3130+ struct cvmx_npi_dma_highp_naddr_s cn58xx;
3131+ struct cvmx_npi_dma_highp_naddr_s cn58xxp1;
3132+};
3133+
3134+union cvmx_npi_dma_lowp_counts {
3135+ uint64_t u64;
3136+ struct cvmx_npi_dma_lowp_counts_s {
3137+ uint64_t reserved_39_63:25;
3138+ uint64_t fcnt:7;
3139+ uint64_t dbell:32;
3140+ } s;
3141+ struct cvmx_npi_dma_lowp_counts_s cn30xx;
3142+ struct cvmx_npi_dma_lowp_counts_s cn31xx;
3143+ struct cvmx_npi_dma_lowp_counts_s cn38xx;
3144+ struct cvmx_npi_dma_lowp_counts_s cn38xxp2;
3145+ struct cvmx_npi_dma_lowp_counts_s cn50xx;
3146+ struct cvmx_npi_dma_lowp_counts_s cn58xx;
3147+ struct cvmx_npi_dma_lowp_counts_s cn58xxp1;
3148+};
3149+
3150+union cvmx_npi_dma_lowp_naddr {
3151+ uint64_t u64;
3152+ struct cvmx_npi_dma_lowp_naddr_s {
3153+ uint64_t reserved_40_63:24;
3154+ uint64_t state:4;
3155+ uint64_t addr:36;
3156+ } s;
3157+ struct cvmx_npi_dma_lowp_naddr_s cn30xx;
3158+ struct cvmx_npi_dma_lowp_naddr_s cn31xx;
3159+ struct cvmx_npi_dma_lowp_naddr_s cn38xx;
3160+ struct cvmx_npi_dma_lowp_naddr_s cn38xxp2;
3161+ struct cvmx_npi_dma_lowp_naddr_s cn50xx;
3162+ struct cvmx_npi_dma_lowp_naddr_s cn58xx;
3163+ struct cvmx_npi_dma_lowp_naddr_s cn58xxp1;
3164+};
3165+
3166+union cvmx_npi_highp_dbell {
3167+ uint64_t u64;
3168+ struct cvmx_npi_highp_dbell_s {
3169+ uint64_t reserved_16_63:48;
3170+ uint64_t dbell:16;
3171+ } s;
3172+ struct cvmx_npi_highp_dbell_s cn30xx;
3173+ struct cvmx_npi_highp_dbell_s cn31xx;
3174+ struct cvmx_npi_highp_dbell_s cn38xx;
3175+ struct cvmx_npi_highp_dbell_s cn38xxp2;
3176+ struct cvmx_npi_highp_dbell_s cn50xx;
3177+ struct cvmx_npi_highp_dbell_s cn58xx;
3178+ struct cvmx_npi_highp_dbell_s cn58xxp1;
3179+};
3180+
3181+union cvmx_npi_highp_ibuff_saddr {
3182+ uint64_t u64;
3183+ struct cvmx_npi_highp_ibuff_saddr_s {
3184+ uint64_t reserved_36_63:28;
3185+ uint64_t saddr:36;
3186+ } s;
3187+ struct cvmx_npi_highp_ibuff_saddr_s cn30xx;
3188+ struct cvmx_npi_highp_ibuff_saddr_s cn31xx;
3189+ struct cvmx_npi_highp_ibuff_saddr_s cn38xx;
3190+ struct cvmx_npi_highp_ibuff_saddr_s cn38xxp2;
3191+ struct cvmx_npi_highp_ibuff_saddr_s cn50xx;
3192+ struct cvmx_npi_highp_ibuff_saddr_s cn58xx;
3193+ struct cvmx_npi_highp_ibuff_saddr_s cn58xxp1;
3194+};
3195+
3196+union cvmx_npi_input_control {
3197+ uint64_t u64;
3198+ struct cvmx_npi_input_control_s {
3199+ uint64_t reserved_23_63:41;
3200+ uint64_t pkt_rr:1;
3201+ uint64_t pbp_dhi:13;
3202+ uint64_t d_nsr:1;
3203+ uint64_t d_esr:2;
3204+ uint64_t d_ror:1;
3205+ uint64_t use_csr:1;
3206+ uint64_t nsr:1;
3207+ uint64_t esr:2;
3208+ uint64_t ror:1;
3209+ } s;
3210+ struct cvmx_npi_input_control_cn30xx {
3211+ uint64_t reserved_22_63:42;
3212+ uint64_t pbp_dhi:13;
3213+ uint64_t d_nsr:1;
3214+ uint64_t d_esr:2;
3215+ uint64_t d_ror:1;
3216+ uint64_t use_csr:1;
3217+ uint64_t nsr:1;
3218+ uint64_t esr:2;
3219+ uint64_t ror:1;
3220+ } cn30xx;
3221+ struct cvmx_npi_input_control_cn30xx cn31xx;
3222+ struct cvmx_npi_input_control_s cn38xx;
3223+ struct cvmx_npi_input_control_cn30xx cn38xxp2;
3224+ struct cvmx_npi_input_control_s cn50xx;
3225+ struct cvmx_npi_input_control_s cn58xx;
3226+ struct cvmx_npi_input_control_s cn58xxp1;
3227+};
3228+
3229+union cvmx_npi_int_enb {
3230+ uint64_t u64;
3231+ struct cvmx_npi_int_enb_s {
3232+ uint64_t reserved_62_63:2;
3233+ uint64_t q1_a_f:1;
3234+ uint64_t q1_s_e:1;
3235+ uint64_t pdf_p_f:1;
3236+ uint64_t pdf_p_e:1;
3237+ uint64_t pcf_p_f:1;
3238+ uint64_t pcf_p_e:1;
3239+ uint64_t rdx_s_e:1;
3240+ uint64_t rwx_s_e:1;
3241+ uint64_t pnc_a_f:1;
3242+ uint64_t pnc_s_e:1;
3243+ uint64_t com_a_f:1;
3244+ uint64_t com_s_e:1;
3245+ uint64_t q3_a_f:1;
3246+ uint64_t q3_s_e:1;
3247+ uint64_t q2_a_f:1;
3248+ uint64_t q2_s_e:1;
3249+ uint64_t pcr_a_f:1;
3250+ uint64_t pcr_s_e:1;
3251+ uint64_t fcr_a_f:1;
3252+ uint64_t fcr_s_e:1;
3253+ uint64_t iobdma:1;
3254+ uint64_t p_dperr:1;
3255+ uint64_t win_rto:1;
3256+ uint64_t i3_pperr:1;
3257+ uint64_t i2_pperr:1;
3258+ uint64_t i1_pperr:1;
3259+ uint64_t i0_pperr:1;
3260+ uint64_t p3_ptout:1;
3261+ uint64_t p2_ptout:1;
3262+ uint64_t p1_ptout:1;
3263+ uint64_t p0_ptout:1;
3264+ uint64_t p3_pperr:1;
3265+ uint64_t p2_pperr:1;
3266+ uint64_t p1_pperr:1;
3267+ uint64_t p0_pperr:1;
3268+ uint64_t g3_rtout:1;
3269+ uint64_t g2_rtout:1;
3270+ uint64_t g1_rtout:1;
3271+ uint64_t g0_rtout:1;
3272+ uint64_t p3_perr:1;
3273+ uint64_t p2_perr:1;
3274+ uint64_t p1_perr:1;
3275+ uint64_t p0_perr:1;
3276+ uint64_t p3_rtout:1;
3277+ uint64_t p2_rtout:1;
3278+ uint64_t p1_rtout:1;
3279+ uint64_t p0_rtout:1;
3280+ uint64_t i3_overf:1;
3281+ uint64_t i2_overf:1;
3282+ uint64_t i1_overf:1;
3283+ uint64_t i0_overf:1;
3284+ uint64_t i3_rtout:1;
3285+ uint64_t i2_rtout:1;
3286+ uint64_t i1_rtout:1;
3287+ uint64_t i0_rtout:1;
3288+ uint64_t po3_2sml:1;
3289+ uint64_t po2_2sml:1;
3290+ uint64_t po1_2sml:1;
3291+ uint64_t po0_2sml:1;
3292+ uint64_t pci_rsl:1;
3293+ uint64_t rml_wto:1;
3294+ uint64_t rml_rto:1;
3295+ } s;
3296+ struct cvmx_npi_int_enb_cn30xx {
3297+ uint64_t reserved_62_63:2;
3298+ uint64_t q1_a_f:1;
3299+ uint64_t q1_s_e:1;
3300+ uint64_t pdf_p_f:1;
3301+ uint64_t pdf_p_e:1;
3302+ uint64_t pcf_p_f:1;
3303+ uint64_t pcf_p_e:1;
3304+ uint64_t rdx_s_e:1;
3305+ uint64_t rwx_s_e:1;
3306+ uint64_t pnc_a_f:1;
3307+ uint64_t pnc_s_e:1;
3308+ uint64_t com_a_f:1;
3309+ uint64_t com_s_e:1;
3310+ uint64_t q3_a_f:1;
3311+ uint64_t q3_s_e:1;
3312+ uint64_t q2_a_f:1;
3313+ uint64_t q2_s_e:1;
3314+ uint64_t pcr_a_f:1;
3315+ uint64_t pcr_s_e:1;
3316+ uint64_t fcr_a_f:1;
3317+ uint64_t fcr_s_e:1;
3318+ uint64_t iobdma:1;
3319+ uint64_t p_dperr:1;
3320+ uint64_t win_rto:1;
3321+ uint64_t reserved_36_38:3;
3322+ uint64_t i0_pperr:1;
3323+ uint64_t reserved_32_34:3;
3324+ uint64_t p0_ptout:1;
3325+ uint64_t reserved_28_30:3;
3326+ uint64_t p0_pperr:1;
3327+ uint64_t reserved_24_26:3;
3328+ uint64_t g0_rtout:1;
3329+ uint64_t reserved_20_22:3;
3330+ uint64_t p0_perr:1;
3331+ uint64_t reserved_16_18:3;
3332+ uint64_t p0_rtout:1;
3333+ uint64_t reserved_12_14:3;
3334+ uint64_t i0_overf:1;
3335+ uint64_t reserved_8_10:3;
3336+ uint64_t i0_rtout:1;
3337+ uint64_t reserved_4_6:3;
3338+ uint64_t po0_2sml:1;
3339+ uint64_t pci_rsl:1;
3340+ uint64_t rml_wto:1;
3341+ uint64_t rml_rto:1;
3342+ } cn30xx;
3343+ struct cvmx_npi_int_enb_cn31xx {
3344+ uint64_t reserved_62_63:2;
3345+ uint64_t q1_a_f:1;
3346+ uint64_t q1_s_e:1;
3347+ uint64_t pdf_p_f:1;
3348+ uint64_t pdf_p_e:1;
3349+ uint64_t pcf_p_f:1;
3350+ uint64_t pcf_p_e:1;
3351+ uint64_t rdx_s_e:1;
3352+ uint64_t rwx_s_e:1;
3353+ uint64_t pnc_a_f:1;
3354+ uint64_t pnc_s_e:1;
3355+ uint64_t com_a_f:1;
3356+ uint64_t com_s_e:1;
3357+ uint64_t q3_a_f:1;
3358+ uint64_t q3_s_e:1;
3359+ uint64_t q2_a_f:1;
3360+ uint64_t q2_s_e:1;
3361+ uint64_t pcr_a_f:1;
3362+ uint64_t pcr_s_e:1;
3363+ uint64_t fcr_a_f:1;
3364+ uint64_t fcr_s_e:1;
3365+ uint64_t iobdma:1;
3366+ uint64_t p_dperr:1;
3367+ uint64_t win_rto:1;
3368+ uint64_t reserved_37_38:2;
3369+ uint64_t i1_pperr:1;
3370+ uint64_t i0_pperr:1;
3371+ uint64_t reserved_33_34:2;
3372+ uint64_t p1_ptout:1;
3373+ uint64_t p0_ptout:1;
3374+ uint64_t reserved_29_30:2;
3375+ uint64_t p1_pperr:1;
3376+ uint64_t p0_pperr:1;
3377+ uint64_t reserved_25_26:2;
3378+ uint64_t g1_rtout:1;
3379+ uint64_t g0_rtout:1;
3380+ uint64_t reserved_21_22:2;
3381+ uint64_t p1_perr:1;
3382+ uint64_t p0_perr:1;
3383+ uint64_t reserved_17_18:2;
3384+ uint64_t p1_rtout:1;
3385+ uint64_t p0_rtout:1;
3386+ uint64_t reserved_13_14:2;
3387+ uint64_t i1_overf:1;
3388+ uint64_t i0_overf:1;
3389+ uint64_t reserved_9_10:2;
3390+ uint64_t i1_rtout:1;
3391+ uint64_t i0_rtout:1;
3392+ uint64_t reserved_5_6:2;
3393+ uint64_t po1_2sml:1;
3394+ uint64_t po0_2sml:1;
3395+ uint64_t pci_rsl:1;
3396+ uint64_t rml_wto:1;
3397+ uint64_t rml_rto:1;
3398+ } cn31xx;
3399+ struct cvmx_npi_int_enb_s cn38xx;
3400+ struct cvmx_npi_int_enb_cn38xxp2 {
3401+ uint64_t reserved_42_63:22;
3402+ uint64_t iobdma:1;
3403+ uint64_t p_dperr:1;
3404+ uint64_t win_rto:1;
3405+ uint64_t i3_pperr:1;
3406+ uint64_t i2_pperr:1;
3407+ uint64_t i1_pperr:1;
3408+ uint64_t i0_pperr:1;
3409+ uint64_t p3_ptout:1;
3410+ uint64_t p2_ptout:1;
3411+ uint64_t p1_ptout:1;
3412+ uint64_t p0_ptout:1;
3413+ uint64_t p3_pperr:1;
3414+ uint64_t p2_pperr:1;
3415+ uint64_t p1_pperr:1;
3416+ uint64_t p0_pperr:1;
3417+ uint64_t g3_rtout:1;
3418+ uint64_t g2_rtout:1;
3419+ uint64_t g1_rtout:1;
3420+ uint64_t g0_rtout:1;
3421+ uint64_t p3_perr:1;
3422+ uint64_t p2_perr:1;
3423+ uint64_t p1_perr:1;
3424+ uint64_t p0_perr:1;
3425+ uint64_t p3_rtout:1;
3426+ uint64_t p2_rtout:1;
3427+ uint64_t p1_rtout:1;
3428+ uint64_t p0_rtout:1;
3429+ uint64_t i3_overf:1;
3430+ uint64_t i2_overf:1;
3431+ uint64_t i1_overf:1;
3432+ uint64_t i0_overf:1;
3433+ uint64_t i3_rtout:1;
3434+ uint64_t i2_rtout:1;
3435+ uint64_t i1_rtout:1;
3436+ uint64_t i0_rtout:1;
3437+ uint64_t po3_2sml:1;
3438+ uint64_t po2_2sml:1;
3439+ uint64_t po1_2sml:1;
3440+ uint64_t po0_2sml:1;
3441+ uint64_t pci_rsl:1;
3442+ uint64_t rml_wto:1;
3443+ uint64_t rml_rto:1;
3444+ } cn38xxp2;
3445+ struct cvmx_npi_int_enb_cn31xx cn50xx;
3446+ struct cvmx_npi_int_enb_s cn58xx;
3447+ struct cvmx_npi_int_enb_s cn58xxp1;
3448+};
3449+
3450+union cvmx_npi_int_sum {
3451+ uint64_t u64;
3452+ struct cvmx_npi_int_sum_s {
3453+ uint64_t reserved_62_63:2;
3454+ uint64_t q1_a_f:1;
3455+ uint64_t q1_s_e:1;
3456+ uint64_t pdf_p_f:1;
3457+ uint64_t pdf_p_e:1;
3458+ uint64_t pcf_p_f:1;
3459+ uint64_t pcf_p_e:1;
3460+ uint64_t rdx_s_e:1;
3461+ uint64_t rwx_s_e:1;
3462+ uint64_t pnc_a_f:1;
3463+ uint64_t pnc_s_e:1;
3464+ uint64_t com_a_f:1;
3465+ uint64_t com_s_e:1;
3466+ uint64_t q3_a_f:1;
3467+ uint64_t q3_s_e:1;
3468+ uint64_t q2_a_f:1;
3469+ uint64_t q2_s_e:1;
3470+ uint64_t pcr_a_f:1;
3471+ uint64_t pcr_s_e:1;
3472+ uint64_t fcr_a_f:1;
3473+ uint64_t fcr_s_e:1;
3474+ uint64_t iobdma:1;
3475+ uint64_t p_dperr:1;
3476+ uint64_t win_rto:1;
3477+ uint64_t i3_pperr:1;
3478+ uint64_t i2_pperr:1;
3479+ uint64_t i1_pperr:1;
3480+ uint64_t i0_pperr:1;
3481+ uint64_t p3_ptout:1;
3482+ uint64_t p2_ptout:1;
3483+ uint64_t p1_ptout:1;
3484+ uint64_t p0_ptout:1;
3485+ uint64_t p3_pperr:1;
3486+ uint64_t p2_pperr:1;
3487+ uint64_t p1_pperr:1;
3488+ uint64_t p0_pperr:1;
3489+ uint64_t g3_rtout:1;
3490+ uint64_t g2_rtout:1;
3491+ uint64_t g1_rtout:1;
3492+ uint64_t g0_rtout:1;
3493+ uint64_t p3_perr:1;
3494+ uint64_t p2_perr:1;
3495+ uint64_t p1_perr:1;
3496+ uint64_t p0_perr:1;
3497+ uint64_t p3_rtout:1;
3498+ uint64_t p2_rtout:1;
3499+ uint64_t p1_rtout:1;
3500+ uint64_t p0_rtout:1;
3501+ uint64_t i3_overf:1;
3502+ uint64_t i2_overf:1;
3503+ uint64_t i1_overf:1;
3504+ uint64_t i0_overf:1;
3505+ uint64_t i3_rtout:1;
3506+ uint64_t i2_rtout:1;
3507+ uint64_t i1_rtout:1;
3508+ uint64_t i0_rtout:1;
3509+ uint64_t po3_2sml:1;
3510+ uint64_t po2_2sml:1;
3511+ uint64_t po1_2sml:1;
3512+ uint64_t po0_2sml:1;
3513+ uint64_t pci_rsl:1;
3514+ uint64_t rml_wto:1;
3515+ uint64_t rml_rto:1;
3516+ } s;
3517+ struct cvmx_npi_int_sum_cn30xx {
3518+ uint64_t reserved_62_63:2;
3519+ uint64_t q1_a_f:1;
3520+ uint64_t q1_s_e:1;
3521+ uint64_t pdf_p_f:1;
3522+ uint64_t pdf_p_e:1;
3523+ uint64_t pcf_p_f:1;
3524+ uint64_t pcf_p_e:1;
3525+ uint64_t rdx_s_e:1;
3526+ uint64_t rwx_s_e:1;
3527+ uint64_t pnc_a_f:1;
3528+ uint64_t pnc_s_e:1;
3529+ uint64_t com_a_f:1;
3530+ uint64_t com_s_e:1;
3531+ uint64_t q3_a_f:1;
3532+ uint64_t q3_s_e:1;
3533+ uint64_t q2_a_f:1;
3534+ uint64_t q2_s_e:1;
3535+ uint64_t pcr_a_f:1;
3536+ uint64_t pcr_s_e:1;
3537+ uint64_t fcr_a_f:1;
3538+ uint64_t fcr_s_e:1;
3539+ uint64_t iobdma:1;
3540+ uint64_t p_dperr:1;
3541+ uint64_t win_rto:1;
3542+ uint64_t reserved_36_38:3;
3543+ uint64_t i0_pperr:1;
3544+ uint64_t reserved_32_34:3;
3545+ uint64_t p0_ptout:1;
3546+ uint64_t reserved_28_30:3;
3547+ uint64_t p0_pperr:1;
3548+ uint64_t reserved_24_26:3;
3549+ uint64_t g0_rtout:1;
3550+ uint64_t reserved_20_22:3;
3551+ uint64_t p0_perr:1;
3552+ uint64_t reserved_16_18:3;
3553+ uint64_t p0_rtout:1;
3554+ uint64_t reserved_12_14:3;
3555+ uint64_t i0_overf:1;
3556+ uint64_t reserved_8_10:3;
3557+ uint64_t i0_rtout:1;
3558+ uint64_t reserved_4_6:3;
3559+ uint64_t po0_2sml:1;
3560+ uint64_t pci_rsl:1;
3561+ uint64_t rml_wto:1;
3562+ uint64_t rml_rto:1;
3563+ } cn30xx;
3564+ struct cvmx_npi_int_sum_cn31xx {
3565+ uint64_t reserved_62_63:2;
3566+ uint64_t q1_a_f:1;
3567+ uint64_t q1_s_e:1;
3568+ uint64_t pdf_p_f:1;
3569+ uint64_t pdf_p_e:1;
3570+ uint64_t pcf_p_f:1;
3571+ uint64_t pcf_p_e:1;
3572+ uint64_t rdx_s_e:1;
3573+ uint64_t rwx_s_e:1;
3574+ uint64_t pnc_a_f:1;
3575+ uint64_t pnc_s_e:1;
3576+ uint64_t com_a_f:1;
3577+ uint64_t com_s_e:1;
3578+ uint64_t q3_a_f:1;
3579+ uint64_t q3_s_e:1;
3580+ uint64_t q2_a_f:1;
3581+ uint64_t q2_s_e:1;
3582+ uint64_t pcr_a_f:1;
3583+ uint64_t pcr_s_e:1;
3584+ uint64_t fcr_a_f:1;
3585+ uint64_t fcr_s_e:1;
3586+ uint64_t iobdma:1;
3587+ uint64_t p_dperr:1;
3588+ uint64_t win_rto:1;
3589+ uint64_t reserved_37_38:2;
3590+ uint64_t i1_pperr:1;
3591+ uint64_t i0_pperr:1;
3592+ uint64_t reserved_33_34:2;
3593+ uint64_t p1_ptout:1;
3594+ uint64_t p0_ptout:1;
3595+ uint64_t reserved_29_30:2;
3596+ uint64_t p1_pperr:1;
3597+ uint64_t p0_pperr:1;
3598+ uint64_t reserved_25_26:2;
3599+ uint64_t g1_rtout:1;
3600+ uint64_t g0_rtout:1;
3601+ uint64_t reserved_21_22:2;
3602+ uint64_t p1_perr:1;
3603+ uint64_t p0_perr:1;
3604+ uint64_t reserved_17_18:2;
3605+ uint64_t p1_rtout:1;
3606+ uint64_t p0_rtout:1;
3607+ uint64_t reserved_13_14:2;
3608+ uint64_t i1_overf:1;
3609+ uint64_t i0_overf:1;
3610+ uint64_t reserved_9_10:2;
3611+ uint64_t i1_rtout:1;
3612+ uint64_t i0_rtout:1;
3613+ uint64_t reserved_5_6:2;
3614+ uint64_t po1_2sml:1;
3615+ uint64_t po0_2sml:1;
3616+ uint64_t pci_rsl:1;
3617+ uint64_t rml_wto:1;
3618+ uint64_t rml_rto:1;
3619+ } cn31xx;
3620+ struct cvmx_npi_int_sum_s cn38xx;
3621+ struct cvmx_npi_int_sum_cn38xxp2 {
3622+ uint64_t reserved_42_63:22;
3623+ uint64_t iobdma:1;
3624+ uint64_t p_dperr:1;
3625+ uint64_t win_rto:1;
3626+ uint64_t i3_pperr:1;
3627+ uint64_t i2_pperr:1;
3628+ uint64_t i1_pperr:1;
3629+ uint64_t i0_pperr:1;
3630+ uint64_t p3_ptout:1;
3631+ uint64_t p2_ptout:1;
3632+ uint64_t p1_ptout:1;
3633+ uint64_t p0_ptout:1;
3634+ uint64_t p3_pperr:1;
3635+ uint64_t p2_pperr:1;
3636+ uint64_t p1_pperr:1;
3637+ uint64_t p0_pperr:1;
3638+ uint64_t g3_rtout:1;
3639+ uint64_t g2_rtout:1;
3640+ uint64_t g1_rtout:1;
3641+ uint64_t g0_rtout:1;
3642+ uint64_t p3_perr:1;
3643+ uint64_t p2_perr:1;
3644+ uint64_t p1_perr:1;
3645+ uint64_t p0_perr:1;
3646+ uint64_t p3_rtout:1;
3647+ uint64_t p2_rtout:1;
3648+ uint64_t p1_rtout:1;
3649+ uint64_t p0_rtout:1;
3650+ uint64_t i3_overf:1;
3651+ uint64_t i2_overf:1;
3652+ uint64_t i1_overf:1;
3653+ uint64_t i0_overf:1;
3654+ uint64_t i3_rtout:1;
3655+ uint64_t i2_rtout:1;
3656+ uint64_t i1_rtout:1;
3657+ uint64_t i0_rtout:1;
3658+ uint64_t po3_2sml:1;
3659+ uint64_t po2_2sml:1;
3660+ uint64_t po1_2sml:1;
3661+ uint64_t po0_2sml:1;
3662+ uint64_t pci_rsl:1;
3663+ uint64_t rml_wto:1;
3664+ uint64_t rml_rto:1;
3665+ } cn38xxp2;
3666+ struct cvmx_npi_int_sum_cn31xx cn50xx;
3667+ struct cvmx_npi_int_sum_s cn58xx;
3668+ struct cvmx_npi_int_sum_s cn58xxp1;
3669+};
3670+
3671+union cvmx_npi_lowp_dbell {
3672+ uint64_t u64;
3673+ struct cvmx_npi_lowp_dbell_s {
3674+ uint64_t reserved_16_63:48;
3675+ uint64_t dbell:16;
3676+ } s;
3677+ struct cvmx_npi_lowp_dbell_s cn30xx;
3678+ struct cvmx_npi_lowp_dbell_s cn31xx;
3679+ struct cvmx_npi_lowp_dbell_s cn38xx;
3680+ struct cvmx_npi_lowp_dbell_s cn38xxp2;
3681+ struct cvmx_npi_lowp_dbell_s cn50xx;
3682+ struct cvmx_npi_lowp_dbell_s cn58xx;
3683+ struct cvmx_npi_lowp_dbell_s cn58xxp1;
3684+};
3685+
3686+union cvmx_npi_lowp_ibuff_saddr {
3687+ uint64_t u64;
3688+ struct cvmx_npi_lowp_ibuff_saddr_s {
3689+ uint64_t reserved_36_63:28;
3690+ uint64_t saddr:36;
3691+ } s;
3692+ struct cvmx_npi_lowp_ibuff_saddr_s cn30xx;
3693+ struct cvmx_npi_lowp_ibuff_saddr_s cn31xx;
3694+ struct cvmx_npi_lowp_ibuff_saddr_s cn38xx;
3695+ struct cvmx_npi_lowp_ibuff_saddr_s cn38xxp2;
3696+ struct cvmx_npi_lowp_ibuff_saddr_s cn50xx;
3697+ struct cvmx_npi_lowp_ibuff_saddr_s cn58xx;
3698+ struct cvmx_npi_lowp_ibuff_saddr_s cn58xxp1;
3699+};
3700+
3701+union cvmx_npi_mem_access_subidx {
3702+ uint64_t u64;
3703+ struct cvmx_npi_mem_access_subidx_s {
3704+ uint64_t reserved_38_63:26;
3705+ uint64_t shortl:1;
3706+ uint64_t nmerge:1;
3707+ uint64_t esr:2;
3708+ uint64_t esw:2;
3709+ uint64_t nsr:1;
3710+ uint64_t nsw:1;
3711+ uint64_t ror:1;
3712+ uint64_t row:1;
3713+ uint64_t ba:28;
3714+ } s;
3715+ struct cvmx_npi_mem_access_subidx_s cn30xx;
3716+ struct cvmx_npi_mem_access_subidx_cn31xx {
3717+ uint64_t reserved_36_63:28;
3718+ uint64_t esr:2;
3719+ uint64_t esw:2;
3720+ uint64_t nsr:1;
3721+ uint64_t nsw:1;
3722+ uint64_t ror:1;
3723+ uint64_t row:1;
3724+ uint64_t ba:28;
3725+ } cn31xx;
3726+ struct cvmx_npi_mem_access_subidx_s cn38xx;
3727+ struct cvmx_npi_mem_access_subidx_cn31xx cn38xxp2;
3728+ struct cvmx_npi_mem_access_subidx_s cn50xx;
3729+ struct cvmx_npi_mem_access_subidx_s cn58xx;
3730+ struct cvmx_npi_mem_access_subidx_s cn58xxp1;
3731+};
3732+
3733+union cvmx_npi_msi_rcv {
3734+ uint64_t u64;
3735+ struct cvmx_npi_msi_rcv_s {
3736+ uint64_t int_vec:64;
3737+ } s;
3738+ struct cvmx_npi_msi_rcv_s cn30xx;
3739+ struct cvmx_npi_msi_rcv_s cn31xx;
3740+ struct cvmx_npi_msi_rcv_s cn38xx;
3741+ struct cvmx_npi_msi_rcv_s cn38xxp2;
3742+ struct cvmx_npi_msi_rcv_s cn50xx;
3743+ struct cvmx_npi_msi_rcv_s cn58xx;
3744+ struct cvmx_npi_msi_rcv_s cn58xxp1;
3745+};
3746+
3747+union cvmx_npi_num_desc_outputx {
3748+ uint64_t u64;
3749+ struct cvmx_npi_num_desc_outputx_s {
3750+ uint64_t reserved_32_63:32;
3751+ uint64_t size:32;
3752+ } s;
3753+ struct cvmx_npi_num_desc_outputx_s cn30xx;
3754+ struct cvmx_npi_num_desc_outputx_s cn31xx;
3755+ struct cvmx_npi_num_desc_outputx_s cn38xx;
3756+ struct cvmx_npi_num_desc_outputx_s cn38xxp2;
3757+ struct cvmx_npi_num_desc_outputx_s cn50xx;
3758+ struct cvmx_npi_num_desc_outputx_s cn58xx;
3759+ struct cvmx_npi_num_desc_outputx_s cn58xxp1;
3760+};
3761+
3762+union cvmx_npi_output_control {
3763+ uint64_t u64;
3764+ struct cvmx_npi_output_control_s {
3765+ uint64_t reserved_49_63:15;
3766+ uint64_t pkt_rr:1;
3767+ uint64_t p3_bmode:1;
3768+ uint64_t p2_bmode:1;
3769+ uint64_t p1_bmode:1;
3770+ uint64_t p0_bmode:1;
3771+ uint64_t o3_es:2;
3772+ uint64_t o3_ns:1;
3773+ uint64_t o3_ro:1;
3774+ uint64_t o2_es:2;
3775+ uint64_t o2_ns:1;
3776+ uint64_t o2_ro:1;
3777+ uint64_t o1_es:2;
3778+ uint64_t o1_ns:1;
3779+ uint64_t o1_ro:1;
3780+ uint64_t o0_es:2;
3781+ uint64_t o0_ns:1;
3782+ uint64_t o0_ro:1;
3783+ uint64_t o3_csrm:1;
3784+ uint64_t o2_csrm:1;
3785+ uint64_t o1_csrm:1;
3786+ uint64_t o0_csrm:1;
3787+ uint64_t reserved_20_23:4;
3788+ uint64_t iptr_o3:1;
3789+ uint64_t iptr_o2:1;
3790+ uint64_t iptr_o1:1;
3791+ uint64_t iptr_o0:1;
3792+ uint64_t esr_sl3:2;
3793+ uint64_t nsr_sl3:1;
3794+ uint64_t ror_sl3:1;
3795+ uint64_t esr_sl2:2;
3796+ uint64_t nsr_sl2:1;
3797+ uint64_t ror_sl2:1;
3798+ uint64_t esr_sl1:2;
3799+ uint64_t nsr_sl1:1;
3800+ uint64_t ror_sl1:1;
3801+ uint64_t esr_sl0:2;
3802+ uint64_t nsr_sl0:1;
3803+ uint64_t ror_sl0:1;
3804+ } s;
3805+ struct cvmx_npi_output_control_cn30xx {
3806+ uint64_t reserved_45_63:19;
3807+ uint64_t p0_bmode:1;
3808+ uint64_t reserved_32_43:12;
3809+ uint64_t o0_es:2;
3810+ uint64_t o0_ns:1;
3811+ uint64_t o0_ro:1;
3812+ uint64_t reserved_25_27:3;
3813+ uint64_t o0_csrm:1;
3814+ uint64_t reserved_17_23:7;
3815+ uint64_t iptr_o0:1;
3816+ uint64_t reserved_4_15:12;
3817+ uint64_t esr_sl0:2;
3818+ uint64_t nsr_sl0:1;
3819+ uint64_t ror_sl0:1;
3820+ } cn30xx;
3821+ struct cvmx_npi_output_control_cn31xx {
3822+ uint64_t reserved_46_63:18;
3823+ uint64_t p1_bmode:1;
3824+ uint64_t p0_bmode:1;
3825+ uint64_t reserved_36_43:8;
3826+ uint64_t o1_es:2;
3827+ uint64_t o1_ns:1;
3828+ uint64_t o1_ro:1;
3829+ uint64_t o0_es:2;
3830+ uint64_t o0_ns:1;
3831+ uint64_t o0_ro:1;
3832+ uint64_t reserved_26_27:2;
3833+ uint64_t o1_csrm:1;
3834+ uint64_t o0_csrm:1;
3835+ uint64_t reserved_18_23:6;
3836+ uint64_t iptr_o1:1;
3837+ uint64_t iptr_o0:1;
3838+ uint64_t reserved_8_15:8;
3839+ uint64_t esr_sl1:2;
3840+ uint64_t nsr_sl1:1;
3841+ uint64_t ror_sl1:1;
3842+ uint64_t esr_sl0:2;
3843+ uint64_t nsr_sl0:1;
3844+ uint64_t ror_sl0:1;
3845+ } cn31xx;
3846+ struct cvmx_npi_output_control_s cn38xx;
3847+ struct cvmx_npi_output_control_cn38xxp2 {
3848+ uint64_t reserved_48_63:16;
3849+ uint64_t p3_bmode:1;
3850+ uint64_t p2_bmode:1;
3851+ uint64_t p1_bmode:1;
3852+ uint64_t p0_bmode:1;
3853+ uint64_t o3_es:2;
3854+ uint64_t o3_ns:1;
3855+ uint64_t o3_ro:1;
3856+ uint64_t o2_es:2;
3857+ uint64_t o2_ns:1;
3858+ uint64_t o2_ro:1;
3859+ uint64_t o1_es:2;
3860+ uint64_t o1_ns:1;
3861+ uint64_t o1_ro:1;
3862+ uint64_t o0_es:2;
3863+ uint64_t o0_ns:1;
3864+ uint64_t o0_ro:1;
3865+ uint64_t o3_csrm:1;
3866+ uint64_t o2_csrm:1;
3867+ uint64_t o1_csrm:1;
3868+ uint64_t o0_csrm:1;
3869+ uint64_t reserved_20_23:4;
3870+ uint64_t iptr_o3:1;
3871+ uint64_t iptr_o2:1;
3872+ uint64_t iptr_o1:1;
3873+ uint64_t iptr_o0:1;
3874+ uint64_t esr_sl3:2;
3875+ uint64_t nsr_sl3:1;
3876+ uint64_t ror_sl3:1;
3877+ uint64_t esr_sl2:2;
3878+ uint64_t nsr_sl2:1;
3879+ uint64_t ror_sl2:1;
3880+ uint64_t esr_sl1:2;
3881+ uint64_t nsr_sl1:1;
3882+ uint64_t ror_sl1:1;
3883+ uint64_t esr_sl0:2;
3884+ uint64_t nsr_sl0:1;
3885+ uint64_t ror_sl0:1;
3886+ } cn38xxp2;
3887+ struct cvmx_npi_output_control_cn50xx {
3888+ uint64_t reserved_49_63:15;
3889+ uint64_t pkt_rr:1;
3890+ uint64_t reserved_46_47:2;
3891+ uint64_t p1_bmode:1;
3892+ uint64_t p0_bmode:1;
3893+ uint64_t reserved_36_43:8;
3894+ uint64_t o1_es:2;
3895+ uint64_t o1_ns:1;
3896+ uint64_t o1_ro:1;
3897+ uint64_t o0_es:2;
3898+ uint64_t o0_ns:1;
3899+ uint64_t o0_ro:1;
3900+ uint64_t reserved_26_27:2;
3901+ uint64_t o1_csrm:1;
3902+ uint64_t o0_csrm:1;
3903+ uint64_t reserved_18_23:6;
3904+ uint64_t iptr_o1:1;
3905+ uint64_t iptr_o0:1;
3906+ uint64_t reserved_8_15:8;
3907+ uint64_t esr_sl1:2;
3908+ uint64_t nsr_sl1:1;
3909+ uint64_t ror_sl1:1;
3910+ uint64_t esr_sl0:2;
3911+ uint64_t nsr_sl0:1;
3912+ uint64_t ror_sl0:1;
3913+ } cn50xx;
3914+ struct cvmx_npi_output_control_s cn58xx;
3915+ struct cvmx_npi_output_control_s cn58xxp1;
3916+};
3917+
3918+union cvmx_npi_px_dbpair_addr {
3919+ uint64_t u64;
3920+ struct cvmx_npi_px_dbpair_addr_s {
3921+ uint64_t reserved_63_63:1;
3922+ uint64_t state:2;
3923+ uint64_t naddr:61;
3924+ } s;
3925+ struct cvmx_npi_px_dbpair_addr_s cn30xx;
3926+ struct cvmx_npi_px_dbpair_addr_s cn31xx;
3927+ struct cvmx_npi_px_dbpair_addr_s cn38xx;
3928+ struct cvmx_npi_px_dbpair_addr_s cn38xxp2;
3929+ struct cvmx_npi_px_dbpair_addr_s cn50xx;
3930+ struct cvmx_npi_px_dbpair_addr_s cn58xx;
3931+ struct cvmx_npi_px_dbpair_addr_s cn58xxp1;
3932+};
3933+
3934+union cvmx_npi_px_instr_addr {
3935+ uint64_t u64;
3936+ struct cvmx_npi_px_instr_addr_s {
3937+ uint64_t state:3;
3938+ uint64_t naddr:61;
3939+ } s;
3940+ struct cvmx_npi_px_instr_addr_s cn30xx;
3941+ struct cvmx_npi_px_instr_addr_s cn31xx;
3942+ struct cvmx_npi_px_instr_addr_s cn38xx;
3943+ struct cvmx_npi_px_instr_addr_s cn38xxp2;
3944+ struct cvmx_npi_px_instr_addr_s cn50xx;
3945+ struct cvmx_npi_px_instr_addr_s cn58xx;
3946+ struct cvmx_npi_px_instr_addr_s cn58xxp1;
3947+};
3948+
3949+union cvmx_npi_px_instr_cnts {
3950+ uint64_t u64;
3951+ struct cvmx_npi_px_instr_cnts_s {
3952+ uint64_t reserved_38_63:26;
3953+ uint64_t fcnt:6;
3954+ uint64_t avail:32;
3955+ } s;
3956+ struct cvmx_npi_px_instr_cnts_s cn30xx;
3957+ struct cvmx_npi_px_instr_cnts_s cn31xx;
3958+ struct cvmx_npi_px_instr_cnts_s cn38xx;
3959+ struct cvmx_npi_px_instr_cnts_s cn38xxp2;
3960+ struct cvmx_npi_px_instr_cnts_s cn50xx;
3961+ struct cvmx_npi_px_instr_cnts_s cn58xx;
3962+ struct cvmx_npi_px_instr_cnts_s cn58xxp1;
3963+};
3964+
3965+union cvmx_npi_px_pair_cnts {
3966+ uint64_t u64;
3967+ struct cvmx_npi_px_pair_cnts_s {
3968+ uint64_t reserved_37_63:27;
3969+ uint64_t fcnt:5;
3970+ uint64_t avail:32;
3971+ } s;
3972+ struct cvmx_npi_px_pair_cnts_s cn30xx;
3973+ struct cvmx_npi_px_pair_cnts_s cn31xx;
3974+ struct cvmx_npi_px_pair_cnts_s cn38xx;
3975+ struct cvmx_npi_px_pair_cnts_s cn38xxp2;
3976+ struct cvmx_npi_px_pair_cnts_s cn50xx;
3977+ struct cvmx_npi_px_pair_cnts_s cn58xx;
3978+ struct cvmx_npi_px_pair_cnts_s cn58xxp1;
3979+};
3980+
3981+union cvmx_npi_pci_burst_size {
3982+ uint64_t u64;
3983+ struct cvmx_npi_pci_burst_size_s {
3984+ uint64_t reserved_14_63:50;
3985+ uint64_t wr_brst:7;
3986+ uint64_t rd_brst:7;
3987+ } s;
3988+ struct cvmx_npi_pci_burst_size_s cn30xx;
3989+ struct cvmx_npi_pci_burst_size_s cn31xx;
3990+ struct cvmx_npi_pci_burst_size_s cn38xx;
3991+ struct cvmx_npi_pci_burst_size_s cn38xxp2;
3992+ struct cvmx_npi_pci_burst_size_s cn50xx;
3993+ struct cvmx_npi_pci_burst_size_s cn58xx;
3994+ struct cvmx_npi_pci_burst_size_s cn58xxp1;
3995+};
3996+
3997+union cvmx_npi_pci_int_arb_cfg {
3998+ uint64_t u64;
3999+ struct cvmx_npi_pci_int_arb_cfg_s {
4000+ uint64_t reserved_13_63:51;
4001+ uint64_t hostmode:1;
4002+ uint64_t pci_ovr:4;
4003+ uint64_t reserved_5_7:3;
4004+ uint64_t en:1;
4005+ uint64_t park_mod:1;
4006+ uint64_t park_dev:3;
4007+ } s;
4008+ struct cvmx_npi_pci_int_arb_cfg_cn30xx {
4009+ uint64_t reserved_5_63:59;
4010+ uint64_t en:1;
4011+ uint64_t park_mod:1;
4012+ uint64_t park_dev:3;
4013+ } cn30xx;
4014+ struct cvmx_npi_pci_int_arb_cfg_cn30xx cn31xx;
4015+ struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xx;
4016+ struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xxp2;
4017+ struct cvmx_npi_pci_int_arb_cfg_s cn50xx;
4018+ struct cvmx_npi_pci_int_arb_cfg_s cn58xx;
4019+ struct cvmx_npi_pci_int_arb_cfg_s cn58xxp1;
4020+};
4021+
4022+union cvmx_npi_pci_read_cmd {
4023+ uint64_t u64;
4024+ struct cvmx_npi_pci_read_cmd_s {
4025+ uint64_t reserved_11_63:53;
4026+ uint64_t cmd_size:11;
4027+ } s;
4028+ struct cvmx_npi_pci_read_cmd_s cn30xx;
4029+ struct cvmx_npi_pci_read_cmd_s cn31xx;
4030+ struct cvmx_npi_pci_read_cmd_s cn38xx;
4031+ struct cvmx_npi_pci_read_cmd_s cn38xxp2;
4032+ struct cvmx_npi_pci_read_cmd_s cn50xx;
4033+ struct cvmx_npi_pci_read_cmd_s cn58xx;
4034+ struct cvmx_npi_pci_read_cmd_s cn58xxp1;
4035+};
4036+
4037+union cvmx_npi_port32_instr_hdr {
4038+ uint64_t u64;
4039+ struct cvmx_npi_port32_instr_hdr_s {
4040+ uint64_t reserved_44_63:20;
4041+ uint64_t pbp:1;
4042+ uint64_t rsv_f:5;
4043+ uint64_t rparmode:2;
4044+ uint64_t rsv_e:1;
4045+ uint64_t rskp_len:7;
4046+ uint64_t rsv_d:6;
4047+ uint64_t use_ihdr:1;
4048+ uint64_t rsv_c:5;
4049+ uint64_t par_mode:2;
4050+ uint64_t rsv_b:1;
4051+ uint64_t skp_len:7;
4052+ uint64_t rsv_a:6;
4053+ } s;
4054+ struct cvmx_npi_port32_instr_hdr_s cn30xx;
4055+ struct cvmx_npi_port32_instr_hdr_s cn31xx;
4056+ struct cvmx_npi_port32_instr_hdr_s cn38xx;
4057+ struct cvmx_npi_port32_instr_hdr_s cn38xxp2;
4058+ struct cvmx_npi_port32_instr_hdr_s cn50xx;
4059+ struct cvmx_npi_port32_instr_hdr_s cn58xx;
4060+ struct cvmx_npi_port32_instr_hdr_s cn58xxp1;
4061+};
4062+
4063+union cvmx_npi_port33_instr_hdr {
4064+ uint64_t u64;
4065+ struct cvmx_npi_port33_instr_hdr_s {
4066+ uint64_t reserved_44_63:20;
4067+ uint64_t pbp:1;
4068+ uint64_t rsv_f:5;
4069+ uint64_t rparmode:2;
4070+ uint64_t rsv_e:1;
4071+ uint64_t rskp_len:7;
4072+ uint64_t rsv_d:6;
4073+ uint64_t use_ihdr:1;
4074+ uint64_t rsv_c:5;
4075+ uint64_t par_mode:2;
4076+ uint64_t rsv_b:1;
4077+ uint64_t skp_len:7;
4078+ uint64_t rsv_a:6;
4079+ } s;
4080+ struct cvmx_npi_port33_instr_hdr_s cn31xx;
4081+ struct cvmx_npi_port33_instr_hdr_s cn38xx;
4082+ struct cvmx_npi_port33_instr_hdr_s cn38xxp2;
4083+ struct cvmx_npi_port33_instr_hdr_s cn50xx;
4084+ struct cvmx_npi_port33_instr_hdr_s cn58xx;
4085+ struct cvmx_npi_port33_instr_hdr_s cn58xxp1;
4086+};
4087+
4088+union cvmx_npi_port34_instr_hdr {
4089+ uint64_t u64;
4090+ struct cvmx_npi_port34_instr_hdr_s {
4091+ uint64_t reserved_44_63:20;
4092+ uint64_t pbp:1;
4093+ uint64_t rsv_f:5;
4094+ uint64_t rparmode:2;
4095+ uint64_t rsv_e:1;
4096+ uint64_t rskp_len:7;
4097+ uint64_t rsv_d:6;
4098+ uint64_t use_ihdr:1;
4099+ uint64_t rsv_c:5;
4100+ uint64_t par_mode:2;
4101+ uint64_t rsv_b:1;
4102+ uint64_t skp_len:7;
4103+ uint64_t rsv_a:6;
4104+ } s;
4105+ struct cvmx_npi_port34_instr_hdr_s cn38xx;
4106+ struct cvmx_npi_port34_instr_hdr_s cn38xxp2;
4107+ struct cvmx_npi_port34_instr_hdr_s cn58xx;
4108+ struct cvmx_npi_port34_instr_hdr_s cn58xxp1;
4109+};
4110+
4111+union cvmx_npi_port35_instr_hdr {
4112+ uint64_t u64;
4113+ struct cvmx_npi_port35_instr_hdr_s {
4114+ uint64_t reserved_44_63:20;
4115+ uint64_t pbp:1;
4116+ uint64_t rsv_f:5;
4117+ uint64_t rparmode:2;
4118+ uint64_t rsv_e:1;
4119+ uint64_t rskp_len:7;
4120+ uint64_t rsv_d:6;
4121+ uint64_t use_ihdr:1;
4122+ uint64_t rsv_c:5;
4123+ uint64_t par_mode:2;
4124+ uint64_t rsv_b:1;
4125+ uint64_t skp_len:7;
4126+ uint64_t rsv_a:6;
4127+ } s;
4128+ struct cvmx_npi_port35_instr_hdr_s cn38xx;
4129+ struct cvmx_npi_port35_instr_hdr_s cn38xxp2;
4130+ struct cvmx_npi_port35_instr_hdr_s cn58xx;
4131+ struct cvmx_npi_port35_instr_hdr_s cn58xxp1;
4132+};
4133+
4134+union cvmx_npi_port_bp_control {
4135+ uint64_t u64;
4136+ struct cvmx_npi_port_bp_control_s {
4137+ uint64_t reserved_8_63:56;
4138+ uint64_t bp_on:4;
4139+ uint64_t enb:4;
4140+ } s;
4141+ struct cvmx_npi_port_bp_control_s cn30xx;
4142+ struct cvmx_npi_port_bp_control_s cn31xx;
4143+ struct cvmx_npi_port_bp_control_s cn38xx;
4144+ struct cvmx_npi_port_bp_control_s cn38xxp2;
4145+ struct cvmx_npi_port_bp_control_s cn50xx;
4146+ struct cvmx_npi_port_bp_control_s cn58xx;
4147+ struct cvmx_npi_port_bp_control_s cn58xxp1;
4148+};
4149+
4150+union cvmx_npi_rsl_int_blocks {
4151+ uint64_t u64;
4152+ struct cvmx_npi_rsl_int_blocks_s {
4153+ uint64_t reserved_32_63:32;
4154+ uint64_t rint_31:1;
4155+ uint64_t iob:1;
4156+ uint64_t reserved_28_29:2;
4157+ uint64_t rint_27:1;
4158+ uint64_t rint_26:1;
4159+ uint64_t rint_25:1;
4160+ uint64_t rint_24:1;
4161+ uint64_t asx1:1;
4162+ uint64_t asx0:1;
4163+ uint64_t rint_21:1;
4164+ uint64_t pip:1;
4165+ uint64_t spx1:1;
4166+ uint64_t spx0:1;
4167+ uint64_t lmc:1;
4168+ uint64_t l2c:1;
4169+ uint64_t rint_15:1;
4170+ uint64_t reserved_13_14:2;
4171+ uint64_t pow:1;
4172+ uint64_t tim:1;
4173+ uint64_t pko:1;
4174+ uint64_t ipd:1;
4175+ uint64_t rint_8:1;
4176+ uint64_t zip:1;
4177+ uint64_t dfa:1;
4178+ uint64_t fpa:1;
4179+ uint64_t key:1;
4180+ uint64_t npi:1;
4181+ uint64_t gmx1:1;
4182+ uint64_t gmx0:1;
4183+ uint64_t mio:1;
4184+ } s;
4185+ struct cvmx_npi_rsl_int_blocks_cn30xx {
4186+ uint64_t reserved_32_63:32;
4187+ uint64_t rint_31:1;
4188+ uint64_t iob:1;
4189+ uint64_t rint_29:1;
4190+ uint64_t rint_28:1;
4191+ uint64_t rint_27:1;
4192+ uint64_t rint_26:1;
4193+ uint64_t rint_25:1;
4194+ uint64_t rint_24:1;
4195+ uint64_t asx1:1;
4196+ uint64_t asx0:1;
4197+ uint64_t rint_21:1;
4198+ uint64_t pip:1;
4199+ uint64_t spx1:1;
4200+ uint64_t spx0:1;
4201+ uint64_t lmc:1;
4202+ uint64_t l2c:1;
4203+ uint64_t rint_15:1;
4204+ uint64_t rint_14:1;
4205+ uint64_t usb:1;
4206+ uint64_t pow:1;
4207+ uint64_t tim:1;
4208+ uint64_t pko:1;
4209+ uint64_t ipd:1;
4210+ uint64_t rint_8:1;
4211+ uint64_t zip:1;
4212+ uint64_t dfa:1;
4213+ uint64_t fpa:1;
4214+ uint64_t key:1;
4215+ uint64_t npi:1;
4216+ uint64_t gmx1:1;
4217+ uint64_t gmx0:1;
4218+ uint64_t mio:1;
4219+ } cn30xx;
4220+ struct cvmx_npi_rsl_int_blocks_cn30xx cn31xx;
4221+ struct cvmx_npi_rsl_int_blocks_cn38xx {
4222+ uint64_t reserved_32_63:32;
4223+ uint64_t rint_31:1;
4224+ uint64_t iob:1;
4225+ uint64_t rint_29:1;
4226+ uint64_t rint_28:1;
4227+ uint64_t rint_27:1;
4228+ uint64_t rint_26:1;
4229+ uint64_t rint_25:1;
4230+ uint64_t rint_24:1;
4231+ uint64_t asx1:1;
4232+ uint64_t asx0:1;
4233+ uint64_t rint_21:1;
4234+ uint64_t pip:1;
4235+ uint64_t spx1:1;
4236+ uint64_t spx0:1;
4237+ uint64_t lmc:1;
4238+ uint64_t l2c:1;
4239+ uint64_t rint_15:1;
4240+ uint64_t rint_14:1;
4241+ uint64_t rint_13:1;
4242+ uint64_t pow:1;
4243+ uint64_t tim:1;
4244+ uint64_t pko:1;
4245+ uint64_t ipd:1;
4246+ uint64_t rint_8:1;
4247+ uint64_t zip:1;
4248+ uint64_t dfa:1;
4249+ uint64_t fpa:1;
4250+ uint64_t key:1;
4251+ uint64_t npi:1;
4252+ uint64_t gmx1:1;
4253+ uint64_t gmx0:1;
4254+ uint64_t mio:1;
4255+ } cn38xx;
4256+ struct cvmx_npi_rsl_int_blocks_cn38xx cn38xxp2;
4257+ struct cvmx_npi_rsl_int_blocks_cn50xx {
4258+ uint64_t reserved_31_63:33;
4259+ uint64_t iob:1;
4260+ uint64_t lmc1:1;
4261+ uint64_t agl:1;
4262+ uint64_t reserved_24_27:4;
4263+ uint64_t asx1:1;
4264+ uint64_t asx0:1;
4265+ uint64_t reserved_21_21:1;
4266+ uint64_t pip:1;
4267+ uint64_t spx1:1;
4268+ uint64_t spx0:1;
4269+ uint64_t lmc:1;
4270+ uint64_t l2c:1;
4271+ uint64_t reserved_15_15:1;
4272+ uint64_t rad:1;
4273+ uint64_t usb:1;
4274+ uint64_t pow:1;
4275+ uint64_t tim:1;
4276+ uint64_t pko:1;
4277+ uint64_t ipd:1;
4278+ uint64_t reserved_8_8:1;
4279+ uint64_t zip:1;
4280+ uint64_t dfa:1;
4281+ uint64_t fpa:1;
4282+ uint64_t key:1;
4283+ uint64_t npi:1;
4284+ uint64_t gmx1:1;
4285+ uint64_t gmx0:1;
4286+ uint64_t mio:1;
4287+ } cn50xx;
4288+ struct cvmx_npi_rsl_int_blocks_cn38xx cn58xx;
4289+ struct cvmx_npi_rsl_int_blocks_cn38xx cn58xxp1;
4290+};
4291+
4292+union cvmx_npi_size_inputx {
4293+ uint64_t u64;
4294+ struct cvmx_npi_size_inputx_s {
4295+ uint64_t reserved_32_63:32;
4296+ uint64_t size:32;
4297+ } s;
4298+ struct cvmx_npi_size_inputx_s cn30xx;
4299+ struct cvmx_npi_size_inputx_s cn31xx;
4300+ struct cvmx_npi_size_inputx_s cn38xx;
4301+ struct cvmx_npi_size_inputx_s cn38xxp2;
4302+ struct cvmx_npi_size_inputx_s cn50xx;
4303+ struct cvmx_npi_size_inputx_s cn58xx;
4304+ struct cvmx_npi_size_inputx_s cn58xxp1;
4305+};
4306+
4307+union cvmx_npi_win_read_to {
4308+ uint64_t u64;
4309+ struct cvmx_npi_win_read_to_s {
4310+ uint64_t reserved_32_63:32;
4311+ uint64_t time:32;
4312+ } s;
4313+ struct cvmx_npi_win_read_to_s cn30xx;
4314+ struct cvmx_npi_win_read_to_s cn31xx;
4315+ struct cvmx_npi_win_read_to_s cn38xx;
4316+ struct cvmx_npi_win_read_to_s cn38xxp2;
4317+ struct cvmx_npi_win_read_to_s cn50xx;
4318+ struct cvmx_npi_win_read_to_s cn58xx;
4319+ struct cvmx_npi_win_read_to_s cn58xxp1;
4320+};
4321+
4322+#endif
4323--- /dev/null
4324+++ b/arch/mips/include/asm/octeon/cvmx-pci-defs.h
4325@@ -0,0 +1,1645 @@
4326+/***********************license start***************
4327+ * Author: Cavium Networks
4328+ *
4329+ * Contact: support@caviumnetworks.com
4330+ * This file is part of the OCTEON SDK
4331+ *
4332+ * Copyright (c) 2003-2008 Cavium Networks
4333+ *
4334+ * This file is free software; you can redistribute it and/or modify
4335+ * it under the terms of the GNU General Public License, Version 2, as
4336+ * published by the Free Software Foundation.
4337+ *
4338+ * This file is distributed in the hope that it will be useful, but
4339+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
4340+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
4341+ * NONINFRINGEMENT. See the GNU General Public License for more
4342+ * details.
4343+ *
4344+ * You should have received a copy of the GNU General Public License
4345+ * along with this file; if not, write to the Free Software
4346+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
4347+ * or visit http://www.gnu.org/licenses/.
4348+ *
4349+ * This file may also be available under a different license from Cavium.
4350+ * Contact Cavium Networks for more information
4351+ ***********************license end**************************************/
4352+
4353+#ifndef __CVMX_PCI_DEFS_H__
4354+#define __CVMX_PCI_DEFS_H__
4355+
4356+#define CVMX_PCI_BAR1_INDEXX(offset) \
4357+ (0x0000000000000100ull + (((offset) & 31) * 4))
4358+#define CVMX_PCI_BIST_REG \
4359+ (0x00000000000001C0ull)
4360+#define CVMX_PCI_CFG00 \
4361+ (0x0000000000000000ull)
4362+#define CVMX_PCI_CFG01 \
4363+ (0x0000000000000004ull)
4364+#define CVMX_PCI_CFG02 \
4365+ (0x0000000000000008ull)
4366+#define CVMX_PCI_CFG03 \
4367+ (0x000000000000000Cull)
4368+#define CVMX_PCI_CFG04 \
4369+ (0x0000000000000010ull)
4370+#define CVMX_PCI_CFG05 \
4371+ (0x0000000000000014ull)
4372+#define CVMX_PCI_CFG06 \
4373+ (0x0000000000000018ull)
4374+#define CVMX_PCI_CFG07 \
4375+ (0x000000000000001Cull)
4376+#define CVMX_PCI_CFG08 \
4377+ (0x0000000000000020ull)
4378+#define CVMX_PCI_CFG09 \
4379+ (0x0000000000000024ull)
4380+#define CVMX_PCI_CFG10 \
4381+ (0x0000000000000028ull)
4382+#define CVMX_PCI_CFG11 \
4383+ (0x000000000000002Cull)
4384+#define CVMX_PCI_CFG12 \
4385+ (0x0000000000000030ull)
4386+#define CVMX_PCI_CFG13 \
4387+ (0x0000000000000034ull)
4388+#define CVMX_PCI_CFG15 \
4389+ (0x000000000000003Cull)
4390+#define CVMX_PCI_CFG16 \
4391+ (0x0000000000000040ull)
4392+#define CVMX_PCI_CFG17 \
4393+ (0x0000000000000044ull)
4394+#define CVMX_PCI_CFG18 \
4395+ (0x0000000000000048ull)
4396+#define CVMX_PCI_CFG19 \
4397+ (0x000000000000004Cull)
4398+#define CVMX_PCI_CFG20 \
4399+ (0x0000000000000050ull)
4400+#define CVMX_PCI_CFG21 \
4401+ (0x0000000000000054ull)
4402+#define CVMX_PCI_CFG22 \
4403+ (0x0000000000000058ull)
4404+#define CVMX_PCI_CFG56 \
4405+ (0x00000000000000E0ull)
4406+#define CVMX_PCI_CFG57 \
4407+ (0x00000000000000E4ull)
4408+#define CVMX_PCI_CFG58 \
4409+ (0x00000000000000E8ull)
4410+#define CVMX_PCI_CFG59 \
4411+ (0x00000000000000ECull)
4412+#define CVMX_PCI_CFG60 \
4413+ (0x00000000000000F0ull)
4414+#define CVMX_PCI_CFG61 \
4415+ (0x00000000000000F4ull)
4416+#define CVMX_PCI_CFG62 \
4417+ (0x00000000000000F8ull)
4418+#define CVMX_PCI_CFG63 \
4419+ (0x00000000000000FCull)
4420+#define CVMX_PCI_CNT_REG \
4421+ (0x00000000000001B8ull)
4422+#define CVMX_PCI_CTL_STATUS_2 \
4423+ (0x000000000000018Cull)
4424+#define CVMX_PCI_DBELL_0 \
4425+ (0x0000000000000080ull)
4426+#define CVMX_PCI_DBELL_1 \
4427+ (0x0000000000000088ull)
4428+#define CVMX_PCI_DBELL_2 \
4429+ (0x0000000000000090ull)
4430+#define CVMX_PCI_DBELL_3 \
4431+ (0x0000000000000098ull)
4432+#define CVMX_PCI_DBELL_X(offset) \
4433+ (0x0000000000000080ull + (((offset) & 3) * 8))
4434+#define CVMX_PCI_DMA_CNT0 \
4435+ (0x00000000000000A0ull)
4436+#define CVMX_PCI_DMA_CNT1 \
4437+ (0x00000000000000A8ull)
4438+#define CVMX_PCI_DMA_CNTX(offset) \
4439+ (0x00000000000000A0ull + (((offset) & 1) * 8))
4440+#define CVMX_PCI_DMA_INT_LEV0 \
4441+ (0x00000000000000A4ull)
4442+#define CVMX_PCI_DMA_INT_LEV1 \
4443+ (0x00000000000000ACull)
4444+#define CVMX_PCI_DMA_INT_LEVX(offset) \
4445+ (0x00000000000000A4ull + (((offset) & 1) * 8))
4446+#define CVMX_PCI_DMA_TIME0 \
4447+ (0x00000000000000B0ull)
4448+#define CVMX_PCI_DMA_TIME1 \
4449+ (0x00000000000000B4ull)
4450+#define CVMX_PCI_DMA_TIMEX(offset) \
4451+ (0x00000000000000B0ull + (((offset) & 1) * 4))
4452+#define CVMX_PCI_INSTR_COUNT0 \
4453+ (0x0000000000000084ull)
4454+#define CVMX_PCI_INSTR_COUNT1 \
4455+ (0x000000000000008Cull)
4456+#define CVMX_PCI_INSTR_COUNT2 \
4457+ (0x0000000000000094ull)
4458+#define CVMX_PCI_INSTR_COUNT3 \
4459+ (0x000000000000009Cull)
4460+#define CVMX_PCI_INSTR_COUNTX(offset) \
4461+ (0x0000000000000084ull + (((offset) & 3) * 8))
4462+#define CVMX_PCI_INT_ENB \
4463+ (0x0000000000000038ull)
4464+#define CVMX_PCI_INT_ENB2 \
4465+ (0x00000000000001A0ull)
4466+#define CVMX_PCI_INT_SUM \
4467+ (0x0000000000000030ull)
4468+#define CVMX_PCI_INT_SUM2 \
4469+ (0x0000000000000198ull)
4470+#define CVMX_PCI_MSI_RCV \
4471+ (0x00000000000000F0ull)
4472+#define CVMX_PCI_PKTS_SENT0 \
4473+ (0x0000000000000040ull)
4474+#define CVMX_PCI_PKTS_SENT1 \
4475+ (0x0000000000000050ull)
4476+#define CVMX_PCI_PKTS_SENT2 \
4477+ (0x0000000000000060ull)
4478+#define CVMX_PCI_PKTS_SENT3 \
4479+ (0x0000000000000070ull)
4480+#define CVMX_PCI_PKTS_SENTX(offset) \
4481+ (0x0000000000000040ull + (((offset) & 3) * 16))
4482+#define CVMX_PCI_PKTS_SENT_INT_LEV0 \
4483+ (0x0000000000000048ull)
4484+#define CVMX_PCI_PKTS_SENT_INT_LEV1 \
4485+ (0x0000000000000058ull)
4486+#define CVMX_PCI_PKTS_SENT_INT_LEV2 \
4487+ (0x0000000000000068ull)
4488+#define CVMX_PCI_PKTS_SENT_INT_LEV3 \
4489+ (0x0000000000000078ull)
4490+#define CVMX_PCI_PKTS_SENT_INT_LEVX(offset) \
4491+ (0x0000000000000048ull + (((offset) & 3) * 16))
4492+#define CVMX_PCI_PKTS_SENT_TIME0 \
4493+ (0x000000000000004Cull)
4494+#define CVMX_PCI_PKTS_SENT_TIME1 \
4495+ (0x000000000000005Cull)
4496+#define CVMX_PCI_PKTS_SENT_TIME2 \
4497+ (0x000000000000006Cull)
4498+#define CVMX_PCI_PKTS_SENT_TIME3 \
4499+ (0x000000000000007Cull)
4500+#define CVMX_PCI_PKTS_SENT_TIMEX(offset) \
4501+ (0x000000000000004Cull + (((offset) & 3) * 16))
4502+#define CVMX_PCI_PKT_CREDITS0 \
4503+ (0x0000000000000044ull)
4504+#define CVMX_PCI_PKT_CREDITS1 \
4505+ (0x0000000000000054ull)
4506+#define CVMX_PCI_PKT_CREDITS2 \
4507+ (0x0000000000000064ull)
4508+#define CVMX_PCI_PKT_CREDITS3 \
4509+ (0x0000000000000074ull)
4510+#define CVMX_PCI_PKT_CREDITSX(offset) \
4511+ (0x0000000000000044ull + (((offset) & 3) * 16))
4512+#define CVMX_PCI_READ_CMD_6 \
4513+ (0x0000000000000180ull)
4514+#define CVMX_PCI_READ_CMD_C \
4515+ (0x0000000000000184ull)
4516+#define CVMX_PCI_READ_CMD_E \
4517+ (0x0000000000000188ull)
4518+#define CVMX_PCI_READ_TIMEOUT \
4519+ CVMX_ADD_IO_SEG(0x00011F00000000B0ull)
4520+#define CVMX_PCI_SCM_REG \
4521+ (0x00000000000001A8ull)
4522+#define CVMX_PCI_TSR_REG \
4523+ (0x00000000000001B0ull)
4524+#define CVMX_PCI_WIN_RD_ADDR \
4525+ (0x0000000000000008ull)
4526+#define CVMX_PCI_WIN_RD_DATA \
4527+ (0x0000000000000020ull)
4528+#define CVMX_PCI_WIN_WR_ADDR \
4529+ (0x0000000000000000ull)
4530+#define CVMX_PCI_WIN_WR_DATA \
4531+ (0x0000000000000010ull)
4532+#define CVMX_PCI_WIN_WR_MASK \
4533+ (0x0000000000000018ull)
4534+
4535+union cvmx_pci_bar1_indexx {
4536+ uint32_t u32;
4537+ struct cvmx_pci_bar1_indexx_s {
4538+ uint32_t reserved_18_31:14;
4539+ uint32_t addr_idx:14;
4540+ uint32_t ca:1;
4541+ uint32_t end_swp:2;
4542+ uint32_t addr_v:1;
4543+ } s;
4544+ struct cvmx_pci_bar1_indexx_s cn30xx;
4545+ struct cvmx_pci_bar1_indexx_s cn31xx;
4546+ struct cvmx_pci_bar1_indexx_s cn38xx;
4547+ struct cvmx_pci_bar1_indexx_s cn38xxp2;
4548+ struct cvmx_pci_bar1_indexx_s cn50xx;
4549+ struct cvmx_pci_bar1_indexx_s cn58xx;
4550+ struct cvmx_pci_bar1_indexx_s cn58xxp1;
4551+};
4552+
4553+union cvmx_pci_bist_reg {
4554+ uint64_t u64;
4555+ struct cvmx_pci_bist_reg_s {
4556+ uint64_t reserved_10_63:54;
4557+ uint64_t rsp_bs:1;
4558+ uint64_t dma0_bs:1;
4559+ uint64_t cmd0_bs:1;
4560+ uint64_t cmd_bs:1;
4561+ uint64_t csr2p_bs:1;
4562+ uint64_t csrr_bs:1;
4563+ uint64_t rsp2p_bs:1;
4564+ uint64_t csr2n_bs:1;
4565+ uint64_t dat2n_bs:1;
4566+ uint64_t dbg2n_bs:1;
4567+ } s;
4568+ struct cvmx_pci_bist_reg_s cn50xx;
4569+};
4570+
4571+union cvmx_pci_cfg00 {
4572+ uint32_t u32;
4573+ struct cvmx_pci_cfg00_s {
4574+ uint32_t devid:16;
4575+ uint32_t vendid:16;
4576+ } s;
4577+ struct cvmx_pci_cfg00_s cn30xx;
4578+ struct cvmx_pci_cfg00_s cn31xx;
4579+ struct cvmx_pci_cfg00_s cn38xx;
4580+ struct cvmx_pci_cfg00_s cn38xxp2;
4581+ struct cvmx_pci_cfg00_s cn50xx;
4582+ struct cvmx_pci_cfg00_s cn58xx;
4583+ struct cvmx_pci_cfg00_s cn58xxp1;
4584+};
4585+
4586+union cvmx_pci_cfg01 {
4587+ uint32_t u32;
4588+ struct cvmx_pci_cfg01_s {
4589+ uint32_t dpe:1;
4590+ uint32_t sse:1;
4591+ uint32_t rma:1;
4592+ uint32_t rta:1;
4593+ uint32_t sta:1;
4594+ uint32_t devt:2;
4595+ uint32_t mdpe:1;
4596+ uint32_t fbb:1;
4597+ uint32_t reserved_22_22:1;
4598+ uint32_t m66:1;
4599+ uint32_t cle:1;
4600+ uint32_t i_stat:1;
4601+ uint32_t reserved_11_18:8;
4602+ uint32_t i_dis:1;
4603+ uint32_t fbbe:1;
4604+ uint32_t see:1;
4605+ uint32_t ads:1;
4606+ uint32_t pee:1;
4607+ uint32_t vps:1;
4608+ uint32_t mwice:1;
4609+ uint32_t scse:1;
4610+ uint32_t me:1;
4611+ uint32_t msae:1;
4612+ uint32_t isae:1;
4613+ } s;
4614+ struct cvmx_pci_cfg01_s cn30xx;
4615+ struct cvmx_pci_cfg01_s cn31xx;
4616+ struct cvmx_pci_cfg01_s cn38xx;
4617+ struct cvmx_pci_cfg01_s cn38xxp2;
4618+ struct cvmx_pci_cfg01_s cn50xx;
4619+ struct cvmx_pci_cfg01_s cn58xx;
4620+ struct cvmx_pci_cfg01_s cn58xxp1;
4621+};
4622+
4623+union cvmx_pci_cfg02 {
4624+ uint32_t u32;
4625+ struct cvmx_pci_cfg02_s {
4626+ uint32_t cc:24;
4627+ uint32_t rid:8;
4628+ } s;
4629+ struct cvmx_pci_cfg02_s cn30xx;
4630+ struct cvmx_pci_cfg02_s cn31xx;
4631+ struct cvmx_pci_cfg02_s cn38xx;
4632+ struct cvmx_pci_cfg02_s cn38xxp2;
4633+ struct cvmx_pci_cfg02_s cn50xx;
4634+ struct cvmx_pci_cfg02_s cn58xx;
4635+ struct cvmx_pci_cfg02_s cn58xxp1;
4636+};
4637+
4638+union cvmx_pci_cfg03 {
4639+ uint32_t u32;
4640+ struct cvmx_pci_cfg03_s {
4641+ uint32_t bcap:1;
4642+ uint32_t brb:1;
4643+ uint32_t reserved_28_29:2;
4644+ uint32_t bcod:4;
4645+ uint32_t ht:8;
4646+ uint32_t lt:8;
4647+ uint32_t cls:8;
4648+ } s;
4649+ struct cvmx_pci_cfg03_s cn30xx;
4650+ struct cvmx_pci_cfg03_s cn31xx;
4651+ struct cvmx_pci_cfg03_s cn38xx;
4652+ struct cvmx_pci_cfg03_s cn38xxp2;
4653+ struct cvmx_pci_cfg03_s cn50xx;
4654+ struct cvmx_pci_cfg03_s cn58xx;
4655+ struct cvmx_pci_cfg03_s cn58xxp1;
4656+};
4657+
4658+union cvmx_pci_cfg04 {
4659+ uint32_t u32;
4660+ struct cvmx_pci_cfg04_s {
4661+ uint32_t lbase:20;
4662+ uint32_t lbasez:8;
4663+ uint32_t pf:1;
4664+ uint32_t typ:2;
4665+ uint32_t mspc:1;
4666+ } s;
4667+ struct cvmx_pci_cfg04_s cn30xx;
4668+ struct cvmx_pci_cfg04_s cn31xx;
4669+ struct cvmx_pci_cfg04_s cn38xx;
4670+ struct cvmx_pci_cfg04_s cn38xxp2;
4671+ struct cvmx_pci_cfg04_s cn50xx;
4672+ struct cvmx_pci_cfg04_s cn58xx;
4673+ struct cvmx_pci_cfg04_s cn58xxp1;
4674+};
4675+
4676+union cvmx_pci_cfg05 {
4677+ uint32_t u32;
4678+ struct cvmx_pci_cfg05_s {
4679+ uint32_t hbase:32;
4680+ } s;
4681+ struct cvmx_pci_cfg05_s cn30xx;
4682+ struct cvmx_pci_cfg05_s cn31xx;
4683+ struct cvmx_pci_cfg05_s cn38xx;
4684+ struct cvmx_pci_cfg05_s cn38xxp2;
4685+ struct cvmx_pci_cfg05_s cn50xx;
4686+ struct cvmx_pci_cfg05_s cn58xx;
4687+ struct cvmx_pci_cfg05_s cn58xxp1;
4688+};
4689+
4690+union cvmx_pci_cfg06 {
4691+ uint32_t u32;
4692+ struct cvmx_pci_cfg06_s {
4693+ uint32_t lbase:5;
4694+ uint32_t lbasez:23;
4695+ uint32_t pf:1;
4696+ uint32_t typ:2;
4697+ uint32_t mspc:1;
4698+ } s;
4699+ struct cvmx_pci_cfg06_s cn30xx;
4700+ struct cvmx_pci_cfg06_s cn31xx;
4701+ struct cvmx_pci_cfg06_s cn38xx;
4702+ struct cvmx_pci_cfg06_s cn38xxp2;
4703+ struct cvmx_pci_cfg06_s cn50xx;
4704+ struct cvmx_pci_cfg06_s cn58xx;
4705+ struct cvmx_pci_cfg06_s cn58xxp1;
4706+};
4707+
4708+union cvmx_pci_cfg07 {
4709+ uint32_t u32;
4710+ struct cvmx_pci_cfg07_s {
4711+ uint32_t hbase:32;
4712+ } s;
4713+ struct cvmx_pci_cfg07_s cn30xx;
4714+ struct cvmx_pci_cfg07_s cn31xx;
4715+ struct cvmx_pci_cfg07_s cn38xx;
4716+ struct cvmx_pci_cfg07_s cn38xxp2;
4717+ struct cvmx_pci_cfg07_s cn50xx;
4718+ struct cvmx_pci_cfg07_s cn58xx;
4719+ struct cvmx_pci_cfg07_s cn58xxp1;
4720+};
4721+
4722+union cvmx_pci_cfg08 {
4723+ uint32_t u32;
4724+ struct cvmx_pci_cfg08_s {
4725+ uint32_t lbasez:28;
4726+ uint32_t pf:1;
4727+ uint32_t typ:2;
4728+ uint32_t mspc:1;
4729+ } s;
4730+ struct cvmx_pci_cfg08_s cn30xx;
4731+ struct cvmx_pci_cfg08_s cn31xx;
4732+ struct cvmx_pci_cfg08_s cn38xx;
4733+ struct cvmx_pci_cfg08_s cn38xxp2;
4734+ struct cvmx_pci_cfg08_s cn50xx;
4735+ struct cvmx_pci_cfg08_s cn58xx;
4736+ struct cvmx_pci_cfg08_s cn58xxp1;
4737+};
4738+
4739+union cvmx_pci_cfg09 {
4740+ uint32_t u32;
4741+ struct cvmx_pci_cfg09_s {
4742+ uint32_t hbase:25;
4743+ uint32_t hbasez:7;
4744+ } s;
4745+ struct cvmx_pci_cfg09_s cn30xx;
4746+ struct cvmx_pci_cfg09_s cn31xx;
4747+ struct cvmx_pci_cfg09_s cn38xx;
4748+ struct cvmx_pci_cfg09_s cn38xxp2;
4749+ struct cvmx_pci_cfg09_s cn50xx;
4750+ struct cvmx_pci_cfg09_s cn58xx;
4751+ struct cvmx_pci_cfg09_s cn58xxp1;
4752+};
4753+
4754+union cvmx_pci_cfg10 {
4755+ uint32_t u32;
4756+ struct cvmx_pci_cfg10_s {
4757+ uint32_t cisp:32;
4758+ } s;
4759+ struct cvmx_pci_cfg10_s cn30xx;
4760+ struct cvmx_pci_cfg10_s cn31xx;
4761+ struct cvmx_pci_cfg10_s cn38xx;
4762+ struct cvmx_pci_cfg10_s cn38xxp2;
4763+ struct cvmx_pci_cfg10_s cn50xx;
4764+ struct cvmx_pci_cfg10_s cn58xx;
4765+ struct cvmx_pci_cfg10_s cn58xxp1;
4766+};
4767+
4768+union cvmx_pci_cfg11 {
4769+ uint32_t u32;
4770+ struct cvmx_pci_cfg11_s {
4771+ uint32_t ssid:16;
4772+ uint32_t ssvid:16;
4773+ } s;
4774+ struct cvmx_pci_cfg11_s cn30xx;
4775+ struct cvmx_pci_cfg11_s cn31xx;
4776+ struct cvmx_pci_cfg11_s cn38xx;
4777+ struct cvmx_pci_cfg11_s cn38xxp2;
4778+ struct cvmx_pci_cfg11_s cn50xx;
4779+ struct cvmx_pci_cfg11_s cn58xx;
4780+ struct cvmx_pci_cfg11_s cn58xxp1;
4781+};
4782+
4783+union cvmx_pci_cfg12 {
4784+ uint32_t u32;
4785+ struct cvmx_pci_cfg12_s {
4786+ uint32_t erbar:16;
4787+ uint32_t erbarz:5;
4788+ uint32_t reserved_1_10:10;
4789+ uint32_t erbar_en:1;
4790+ } s;
4791+ struct cvmx_pci_cfg12_s cn30xx;
4792+ struct cvmx_pci_cfg12_s cn31xx;
4793+ struct cvmx_pci_cfg12_s cn38xx;
4794+ struct cvmx_pci_cfg12_s cn38xxp2;
4795+ struct cvmx_pci_cfg12_s cn50xx;
4796+ struct cvmx_pci_cfg12_s cn58xx;
4797+ struct cvmx_pci_cfg12_s cn58xxp1;
4798+};
4799+
4800+union cvmx_pci_cfg13 {
4801+ uint32_t u32;
4802+ struct cvmx_pci_cfg13_s {
4803+ uint32_t reserved_8_31:24;
4804+ uint32_t cp:8;
4805+ } s;
4806+ struct cvmx_pci_cfg13_s cn30xx;
4807+ struct cvmx_pci_cfg13_s cn31xx;
4808+ struct cvmx_pci_cfg13_s cn38xx;
4809+ struct cvmx_pci_cfg13_s cn38xxp2;
4810+ struct cvmx_pci_cfg13_s cn50xx;
4811+ struct cvmx_pci_cfg13_s cn58xx;
4812+ struct cvmx_pci_cfg13_s cn58xxp1;
4813+};
4814+
4815+union cvmx_pci_cfg15 {
4816+ uint32_t u32;
4817+ struct cvmx_pci_cfg15_s {
4818+ uint32_t ml:8;
4819+ uint32_t mg:8;
4820+ uint32_t inta:8;
4821+ uint32_t il:8;
4822+ } s;
4823+ struct cvmx_pci_cfg15_s cn30xx;
4824+ struct cvmx_pci_cfg15_s cn31xx;
4825+ struct cvmx_pci_cfg15_s cn38xx;
4826+ struct cvmx_pci_cfg15_s cn38xxp2;
4827+ struct cvmx_pci_cfg15_s cn50xx;
4828+ struct cvmx_pci_cfg15_s cn58xx;
4829+ struct cvmx_pci_cfg15_s cn58xxp1;
4830+};
4831+
4832+union cvmx_pci_cfg16 {
4833+ uint32_t u32;
4834+ struct cvmx_pci_cfg16_s {
4835+ uint32_t trdnpr:1;
4836+ uint32_t trdard:1;
4837+ uint32_t rdsati:1;
4838+ uint32_t trdrs:1;
4839+ uint32_t trtae:1;
4840+ uint32_t twsei:1;
4841+ uint32_t twsen:1;
4842+ uint32_t twtae:1;
4843+ uint32_t tmae:1;
4844+ uint32_t tslte:3;
4845+ uint32_t tilt:4;
4846+ uint32_t pbe:12;
4847+ uint32_t dppmr:1;
4848+ uint32_t reserved_2_2:1;
4849+ uint32_t tswc:1;
4850+ uint32_t mltd:1;
4851+ } s;
4852+ struct cvmx_pci_cfg16_s cn30xx;
4853+ struct cvmx_pci_cfg16_s cn31xx;
4854+ struct cvmx_pci_cfg16_s cn38xx;
4855+ struct cvmx_pci_cfg16_s cn38xxp2;
4856+ struct cvmx_pci_cfg16_s cn50xx;
4857+ struct cvmx_pci_cfg16_s cn58xx;
4858+ struct cvmx_pci_cfg16_s cn58xxp1;
4859+};
4860+
4861+union cvmx_pci_cfg17 {
4862+ uint32_t u32;
4863+ struct cvmx_pci_cfg17_s {
4864+ uint32_t tscme:32;
4865+ } s;
4866+ struct cvmx_pci_cfg17_s cn30xx;
4867+ struct cvmx_pci_cfg17_s cn31xx;
4868+ struct cvmx_pci_cfg17_s cn38xx;
4869+ struct cvmx_pci_cfg17_s cn38xxp2;
4870+ struct cvmx_pci_cfg17_s cn50xx;
4871+ struct cvmx_pci_cfg17_s cn58xx;
4872+ struct cvmx_pci_cfg17_s cn58xxp1;
4873+};
4874+
4875+union cvmx_pci_cfg18 {
4876+ uint32_t u32;
4877+ struct cvmx_pci_cfg18_s {
4878+ uint32_t tdsrps:32;
4879+ } s;
4880+ struct cvmx_pci_cfg18_s cn30xx;
4881+ struct cvmx_pci_cfg18_s cn31xx;
4882+ struct cvmx_pci_cfg18_s cn38xx;
4883+ struct cvmx_pci_cfg18_s cn38xxp2;
4884+ struct cvmx_pci_cfg18_s cn50xx;
4885+ struct cvmx_pci_cfg18_s cn58xx;
4886+ struct cvmx_pci_cfg18_s cn58xxp1;
4887+};
4888+
4889+union cvmx_pci_cfg19 {
4890+ uint32_t u32;
4891+ struct cvmx_pci_cfg19_s {
4892+ uint32_t mrbcm:1;
4893+ uint32_t mrbci:1;
4894+ uint32_t mdwe:1;
4895+ uint32_t mdre:1;
4896+ uint32_t mdrimc:1;
4897+ uint32_t mdrrmc:3;
4898+ uint32_t tmes:8;
4899+ uint32_t teci:1;
4900+ uint32_t tmei:1;
4901+ uint32_t tmse:1;
4902+ uint32_t tmdpes:1;
4903+ uint32_t tmapes:1;
4904+ uint32_t reserved_9_10:2;
4905+ uint32_t tibcd:1;
4906+ uint32_t tibde:1;
4907+ uint32_t reserved_6_6:1;
4908+ uint32_t tidomc:1;
4909+ uint32_t tdomc:5;
4910+ } s;
4911+ struct cvmx_pci_cfg19_s cn30xx;
4912+ struct cvmx_pci_cfg19_s cn31xx;
4913+ struct cvmx_pci_cfg19_s cn38xx;
4914+ struct cvmx_pci_cfg19_s cn38xxp2;
4915+ struct cvmx_pci_cfg19_s cn50xx;
4916+ struct cvmx_pci_cfg19_s cn58xx;
4917+ struct cvmx_pci_cfg19_s cn58xxp1;
4918+};
4919+
4920+union cvmx_pci_cfg20 {
4921+ uint32_t u32;
4922+ struct cvmx_pci_cfg20_s {
4923+ uint32_t mdsp:32;
4924+ } s;
4925+ struct cvmx_pci_cfg20_s cn30xx;
4926+ struct cvmx_pci_cfg20_s cn31xx;
4927+ struct cvmx_pci_cfg20_s cn38xx;
4928+ struct cvmx_pci_cfg20_s cn38xxp2;
4929+ struct cvmx_pci_cfg20_s cn50xx;
4930+ struct cvmx_pci_cfg20_s cn58xx;
4931+ struct cvmx_pci_cfg20_s cn58xxp1;
4932+};
4933+
4934+union cvmx_pci_cfg21 {
4935+ uint32_t u32;
4936+ struct cvmx_pci_cfg21_s {
4937+ uint32_t scmre:32;
4938+ } s;
4939+ struct cvmx_pci_cfg21_s cn30xx;
4940+ struct cvmx_pci_cfg21_s cn31xx;
4941+ struct cvmx_pci_cfg21_s cn38xx;
4942+ struct cvmx_pci_cfg21_s cn38xxp2;
4943+ struct cvmx_pci_cfg21_s cn50xx;
4944+ struct cvmx_pci_cfg21_s cn58xx;
4945+ struct cvmx_pci_cfg21_s cn58xxp1;
4946+};
4947+
4948+union cvmx_pci_cfg22 {
4949+ uint32_t u32;
4950+ struct cvmx_pci_cfg22_s {
4951+ uint32_t mac:7;
4952+ uint32_t reserved_19_24:6;
4953+ uint32_t flush:1;
4954+ uint32_t mra:1;
4955+ uint32_t mtta:1;
4956+ uint32_t mrv:8;
4957+ uint32_t mttv:8;
4958+ } s;
4959+ struct cvmx_pci_cfg22_s cn30xx;
4960+ struct cvmx_pci_cfg22_s cn31xx;
4961+ struct cvmx_pci_cfg22_s cn38xx;
4962+ struct cvmx_pci_cfg22_s cn38xxp2;
4963+ struct cvmx_pci_cfg22_s cn50xx;
4964+ struct cvmx_pci_cfg22_s cn58xx;
4965+ struct cvmx_pci_cfg22_s cn58xxp1;
4966+};
4967+
4968+union cvmx_pci_cfg56 {
4969+ uint32_t u32;
4970+ struct cvmx_pci_cfg56_s {
4971+ uint32_t reserved_23_31:9;
4972+ uint32_t most:3;
4973+ uint32_t mmbc:2;
4974+ uint32_t roe:1;
4975+ uint32_t dpere:1;
4976+ uint32_t ncp:8;
4977+ uint32_t pxcid:8;
4978+ } s;
4979+ struct cvmx_pci_cfg56_s cn30xx;
4980+ struct cvmx_pci_cfg56_s cn31xx;
4981+ struct cvmx_pci_cfg56_s cn38xx;
4982+ struct cvmx_pci_cfg56_s cn38xxp2;
4983+ struct cvmx_pci_cfg56_s cn50xx;
4984+ struct cvmx_pci_cfg56_s cn58xx;
4985+ struct cvmx_pci_cfg56_s cn58xxp1;
4986+};
4987+
4988+union cvmx_pci_cfg57 {
4989+ uint32_t u32;
4990+ struct cvmx_pci_cfg57_s {
4991+ uint32_t reserved_30_31:2;
4992+ uint32_t scemr:1;
4993+ uint32_t mcrsd:3;
4994+ uint32_t mostd:3;
4995+ uint32_t mmrbcd:2;
4996+ uint32_t dc:1;
4997+ uint32_t usc:1;
4998+ uint32_t scd:1;
4999+ uint32_t m133:1;
5000+ uint32_t w64:1;
5001+ uint32_t bn:8;
5002+ uint32_t dn:5;
5003+ uint32_t fn:3;
5004+ } s;
5005+ struct cvmx_pci_cfg57_s cn30xx;
5006+ struct cvmx_pci_cfg57_s cn31xx;
5007+ struct cvmx_pci_cfg57_s cn38xx;
5008+ struct cvmx_pci_cfg57_s cn38xxp2;
5009+ struct cvmx_pci_cfg57_s cn50xx;
5010+ struct cvmx_pci_cfg57_s cn58xx;
5011+ struct cvmx_pci_cfg57_s cn58xxp1;
5012+};
5013+
5014+union cvmx_pci_cfg58 {
5015+ uint32_t u32;
5016+ struct cvmx_pci_cfg58_s {
5017+ uint32_t pmes:5;
5018+ uint32_t d2s:1;
5019+ uint32_t d1s:1;
5020+ uint32_t auxc:3;
5021+ uint32_t dsi:1;
5022+ uint32_t reserved_20_20:1;
5023+ uint32_t pmec:1;
5024+ uint32_t pcimiv:3;
5025+ uint32_t ncp:8;
5026+ uint32_t pmcid:8;
5027+ } s;
5028+ struct cvmx_pci_cfg58_s cn30xx;
5029+ struct cvmx_pci_cfg58_s cn31xx;
5030+ struct cvmx_pci_cfg58_s cn38xx;
5031+ struct cvmx_pci_cfg58_s cn38xxp2;
5032+ struct cvmx_pci_cfg58_s cn50xx;
5033+ struct cvmx_pci_cfg58_s cn58xx;
5034+ struct cvmx_pci_cfg58_s cn58xxp1;
5035+};
5036+
5037+union cvmx_pci_cfg59 {
5038+ uint32_t u32;
5039+ struct cvmx_pci_cfg59_s {
5040+ uint32_t pmdia:8;
5041+ uint32_t bpccen:1;
5042+ uint32_t bd3h:1;
5043+ uint32_t reserved_16_21:6;
5044+ uint32_t pmess:1;
5045+ uint32_t pmedsia:2;
5046+ uint32_t pmds:4;
5047+ uint32_t pmeens:1;
5048+ uint32_t reserved_2_7:6;
5049+ uint32_t ps:2;
5050+ } s;
5051+ struct cvmx_pci_cfg59_s cn30xx;
5052+ struct cvmx_pci_cfg59_s cn31xx;
5053+ struct cvmx_pci_cfg59_s cn38xx;
5054+ struct cvmx_pci_cfg59_s cn38xxp2;
5055+ struct cvmx_pci_cfg59_s cn50xx;
5056+ struct cvmx_pci_cfg59_s cn58xx;
5057+ struct cvmx_pci_cfg59_s cn58xxp1;
5058+};
5059+
5060+union cvmx_pci_cfg60 {
5061+ uint32_t u32;
5062+ struct cvmx_pci_cfg60_s {
5063+ uint32_t reserved_24_31:8;
5064+ uint32_t m64:1;
5065+ uint32_t mme:3;
5066+ uint32_t mmc:3;
5067+ uint32_t msien:1;
5068+ uint32_t ncp:8;
5069+ uint32_t msicid:8;
5070+ } s;
5071+ struct cvmx_pci_cfg60_s cn30xx;
5072+ struct cvmx_pci_cfg60_s cn31xx;
5073+ struct cvmx_pci_cfg60_s cn38xx;
5074+ struct cvmx_pci_cfg60_s cn38xxp2;
5075+ struct cvmx_pci_cfg60_s cn50xx;
5076+ struct cvmx_pci_cfg60_s cn58xx;
5077+ struct cvmx_pci_cfg60_s cn58xxp1;
5078+};
5079+
5080+union cvmx_pci_cfg61 {
5081+ uint32_t u32;
5082+ struct cvmx_pci_cfg61_s {
5083+ uint32_t msi31t2:30;
5084+ uint32_t reserved_0_1:2;
5085+ } s;
5086+ struct cvmx_pci_cfg61_s cn30xx;
5087+ struct cvmx_pci_cfg61_s cn31xx;
5088+ struct cvmx_pci_cfg61_s cn38xx;
5089+ struct cvmx_pci_cfg61_s cn38xxp2;
5090+ struct cvmx_pci_cfg61_s cn50xx;
5091+ struct cvmx_pci_cfg61_s cn58xx;
5092+ struct cvmx_pci_cfg61_s cn58xxp1;
5093+};
5094+
5095+union cvmx_pci_cfg62 {
5096+ uint32_t u32;
5097+ struct cvmx_pci_cfg62_s {
5098+ uint32_t msi:32;
5099+ } s;
5100+ struct cvmx_pci_cfg62_s cn30xx;
5101+ struct cvmx_pci_cfg62_s cn31xx;
5102+ struct cvmx_pci_cfg62_s cn38xx;
5103+ struct cvmx_pci_cfg62_s cn38xxp2;
5104+ struct cvmx_pci_cfg62_s cn50xx;
5105+ struct cvmx_pci_cfg62_s cn58xx;
5106+ struct cvmx_pci_cfg62_s cn58xxp1;
5107+};
5108+
5109+union cvmx_pci_cfg63 {
5110+ uint32_t u32;
5111+ struct cvmx_pci_cfg63_s {
5112+ uint32_t reserved_16_31:16;
5113+ uint32_t msimd:16;
5114+ } s;
5115+ struct cvmx_pci_cfg63_s cn30xx;
5116+ struct cvmx_pci_cfg63_s cn31xx;
5117+ struct cvmx_pci_cfg63_s cn38xx;
5118+ struct cvmx_pci_cfg63_s cn38xxp2;
5119+ struct cvmx_pci_cfg63_s cn50xx;
5120+ struct cvmx_pci_cfg63_s cn58xx;
5121+ struct cvmx_pci_cfg63_s cn58xxp1;
5122+};
5123+
5124+union cvmx_pci_cnt_reg {
5125+ uint64_t u64;
5126+ struct cvmx_pci_cnt_reg_s {
5127+ uint64_t reserved_38_63:26;
5128+ uint64_t hm_pcix:1;
5129+ uint64_t hm_speed:2;
5130+ uint64_t ap_pcix:1;
5131+ uint64_t ap_speed:2;
5132+ uint64_t pcicnt:32;
5133+ } s;
5134+ struct cvmx_pci_cnt_reg_s cn50xx;
5135+ struct cvmx_pci_cnt_reg_s cn58xx;
5136+ struct cvmx_pci_cnt_reg_s cn58xxp1;
5137+};
5138+
5139+union cvmx_pci_ctl_status_2 {
5140+ uint32_t u32;
5141+ struct cvmx_pci_ctl_status_2_s {
5142+ uint32_t reserved_29_31:3;
5143+ uint32_t bb1_hole:3;
5144+ uint32_t bb1_siz:1;
5145+ uint32_t bb_ca:1;
5146+ uint32_t bb_es:2;
5147+ uint32_t bb1:1;
5148+ uint32_t bb0:1;
5149+ uint32_t erst_n:1;
5150+ uint32_t bar2pres:1;
5151+ uint32_t scmtyp:1;
5152+ uint32_t scm:1;
5153+ uint32_t en_wfilt:1;
5154+ uint32_t reserved_14_14:1;
5155+ uint32_t ap_pcix:1;
5156+ uint32_t ap_64ad:1;
5157+ uint32_t b12_bist:1;
5158+ uint32_t pmo_amod:1;
5159+ uint32_t pmo_fpc:3;
5160+ uint32_t tsr_hwm:3;
5161+ uint32_t bar2_enb:1;
5162+ uint32_t bar2_esx:2;
5163+ uint32_t bar2_cax:1;
5164+ } s;
5165+ struct cvmx_pci_ctl_status_2_s cn30xx;
5166+ struct cvmx_pci_ctl_status_2_cn31xx {
5167+ uint32_t reserved_20_31:12;
5168+ uint32_t erst_n:1;
5169+ uint32_t bar2pres:1;
5170+ uint32_t scmtyp:1;
5171+ uint32_t scm:1;
5172+ uint32_t en_wfilt:1;
5173+ uint32_t reserved_14_14:1;
5174+ uint32_t ap_pcix:1;
5175+ uint32_t ap_64ad:1;
5176+ uint32_t b12_bist:1;
5177+ uint32_t pmo_amod:1;
5178+ uint32_t pmo_fpc:3;
5179+ uint32_t tsr_hwm:3;
5180+ uint32_t bar2_enb:1;
5181+ uint32_t bar2_esx:2;
5182+ uint32_t bar2_cax:1;
5183+ } cn31xx;
5184+ struct cvmx_pci_ctl_status_2_s cn38xx;
5185+ struct cvmx_pci_ctl_status_2_cn31xx cn38xxp2;
5186+ struct cvmx_pci_ctl_status_2_s cn50xx;
5187+ struct cvmx_pci_ctl_status_2_s cn58xx;
5188+ struct cvmx_pci_ctl_status_2_s cn58xxp1;
5189+};
5190+
5191+union cvmx_pci_dbellx {
5192+ uint32_t u32;
5193+ struct cvmx_pci_dbellx_s {
5194+ uint32_t reserved_16_31:16;
5195+ uint32_t inc_val:16;
5196+ } s;
5197+ struct cvmx_pci_dbellx_s cn30xx;
5198+ struct cvmx_pci_dbellx_s cn31xx;
5199+ struct cvmx_pci_dbellx_s cn38xx;
5200+ struct cvmx_pci_dbellx_s cn38xxp2;
5201+ struct cvmx_pci_dbellx_s cn50xx;
5202+ struct cvmx_pci_dbellx_s cn58xx;
5203+ struct cvmx_pci_dbellx_s cn58xxp1;
5204+};
5205+
5206+union cvmx_pci_dma_cntx {
5207+ uint32_t u32;
5208+ struct cvmx_pci_dma_cntx_s {
5209+ uint32_t dma_cnt:32;
5210+ } s;
5211+ struct cvmx_pci_dma_cntx_s cn30xx;
5212+ struct cvmx_pci_dma_cntx_s cn31xx;
5213+ struct cvmx_pci_dma_cntx_s cn38xx;
5214+ struct cvmx_pci_dma_cntx_s cn38xxp2;
5215+ struct cvmx_pci_dma_cntx_s cn50xx;
5216+ struct cvmx_pci_dma_cntx_s cn58xx;
5217+ struct cvmx_pci_dma_cntx_s cn58xxp1;
5218+};
5219+
5220+union cvmx_pci_dma_int_levx {
5221+ uint32_t u32;
5222+ struct cvmx_pci_dma_int_levx_s {
5223+ uint32_t pkt_cnt:32;
5224+ } s;
5225+ struct cvmx_pci_dma_int_levx_s cn30xx;
5226+ struct cvmx_pci_dma_int_levx_s cn31xx;
5227+ struct cvmx_pci_dma_int_levx_s cn38xx;
5228+ struct cvmx_pci_dma_int_levx_s cn38xxp2;
5229+ struct cvmx_pci_dma_int_levx_s cn50xx;
5230+ struct cvmx_pci_dma_int_levx_s cn58xx;
5231+ struct cvmx_pci_dma_int_levx_s cn58xxp1;
5232+};
5233+
5234+union cvmx_pci_dma_timex {
5235+ uint32_t u32;
5236+ struct cvmx_pci_dma_timex_s {
5237+ uint32_t dma_time:32;
5238+ } s;
5239+ struct cvmx_pci_dma_timex_s cn30xx;
5240+ struct cvmx_pci_dma_timex_s cn31xx;
5241+ struct cvmx_pci_dma_timex_s cn38xx;
5242+ struct cvmx_pci_dma_timex_s cn38xxp2;
5243+ struct cvmx_pci_dma_timex_s cn50xx;
5244+ struct cvmx_pci_dma_timex_s cn58xx;
5245+ struct cvmx_pci_dma_timex_s cn58xxp1;
5246+};
5247+
5248+union cvmx_pci_instr_countx {
5249+ uint32_t u32;
5250+ struct cvmx_pci_instr_countx_s {
5251+ uint32_t icnt:32;
5252+ } s;
5253+ struct cvmx_pci_instr_countx_s cn30xx;
5254+ struct cvmx_pci_instr_countx_s cn31xx;
5255+ struct cvmx_pci_instr_countx_s cn38xx;
5256+ struct cvmx_pci_instr_countx_s cn38xxp2;
5257+ struct cvmx_pci_instr_countx_s cn50xx;
5258+ struct cvmx_pci_instr_countx_s cn58xx;
5259+ struct cvmx_pci_instr_countx_s cn58xxp1;
5260+};
5261+
5262+union cvmx_pci_int_enb {
5263+ uint64_t u64;
5264+ struct cvmx_pci_int_enb_s {
5265+ uint64_t reserved_34_63:30;
5266+ uint64_t ill_rd:1;
5267+ uint64_t ill_wr:1;
5268+ uint64_t win_wr:1;
5269+ uint64_t dma1_fi:1;
5270+ uint64_t dma0_fi:1;
5271+ uint64_t idtime1:1;
5272+ uint64_t idtime0:1;
5273+ uint64_t idcnt1:1;
5274+ uint64_t idcnt0:1;
5275+ uint64_t iptime3:1;
5276+ uint64_t iptime2:1;
5277+ uint64_t iptime1:1;
5278+ uint64_t iptime0:1;
5279+ uint64_t ipcnt3:1;
5280+ uint64_t ipcnt2:1;
5281+ uint64_t ipcnt1:1;
5282+ uint64_t ipcnt0:1;
5283+ uint64_t irsl_int:1;
5284+ uint64_t ill_rrd:1;
5285+ uint64_t ill_rwr:1;
5286+ uint64_t idperr:1;
5287+ uint64_t iaperr:1;
5288+ uint64_t iserr:1;
5289+ uint64_t itsr_abt:1;
5290+ uint64_t imsc_msg:1;
5291+ uint64_t imsi_mabt:1;
5292+ uint64_t imsi_tabt:1;
5293+ uint64_t imsi_per:1;
5294+ uint64_t imr_tto:1;
5295+ uint64_t imr_abt:1;
5296+ uint64_t itr_abt:1;
5297+ uint64_t imr_wtto:1;
5298+ uint64_t imr_wabt:1;
5299+ uint64_t itr_wabt:1;
5300+ } s;
5301+ struct cvmx_pci_int_enb_cn30xx {
5302+ uint64_t reserved_34_63:30;
5303+ uint64_t ill_rd:1;
5304+ uint64_t ill_wr:1;
5305+ uint64_t win_wr:1;
5306+ uint64_t dma1_fi:1;
5307+ uint64_t dma0_fi:1;
5308+ uint64_t idtime1:1;
5309+ uint64_t idtime0:1;
5310+ uint64_t idcnt1:1;
5311+ uint64_t idcnt0:1;
5312+ uint64_t reserved_22_24:3;
5313+ uint64_t iptime0:1;
5314+ uint64_t reserved_18_20:3;
5315+ uint64_t ipcnt0:1;
5316+ uint64_t irsl_int:1;
5317+ uint64_t ill_rrd:1;
5318+ uint64_t ill_rwr:1;
5319+ uint64_t idperr:1;
5320+ uint64_t iaperr:1;
5321+ uint64_t iserr:1;
5322+ uint64_t itsr_abt:1;
5323+ uint64_t imsc_msg:1;
5324+ uint64_t imsi_mabt:1;
5325+ uint64_t imsi_tabt:1;
5326+ uint64_t imsi_per:1;
5327+ uint64_t imr_tto:1;
5328+ uint64_t imr_abt:1;
5329+ uint64_t itr_abt:1;
5330+ uint64_t imr_wtto:1;
5331+ uint64_t imr_wabt:1;
5332+ uint64_t itr_wabt:1;
5333+ } cn30xx;
5334+ struct cvmx_pci_int_enb_cn31xx {
5335+ uint64_t reserved_34_63:30;
5336+ uint64_t ill_rd:1;
5337+ uint64_t ill_wr:1;
5338+ uint64_t win_wr:1;
5339+ uint64_t dma1_fi:1;
5340+ uint64_t dma0_fi:1;
5341+ uint64_t idtime1:1;
5342+ uint64_t idtime0:1;
5343+ uint64_t idcnt1:1;
5344+ uint64_t idcnt0:1;
5345+ uint64_t reserved_23_24:2;
5346+ uint64_t iptime1:1;
5347+ uint64_t iptime0:1;
5348+ uint64_t reserved_19_20:2;
5349+ uint64_t ipcnt1:1;
5350+ uint64_t ipcnt0:1;
5351+ uint64_t irsl_int:1;
5352+ uint64_t ill_rrd:1;
5353+ uint64_t ill_rwr:1;
5354+ uint64_t idperr:1;
5355+ uint64_t iaperr:1;
5356+ uint64_t iserr:1;
5357+ uint64_t itsr_abt:1;
5358+ uint64_t imsc_msg:1;
5359+ uint64_t imsi_mabt:1;
5360+ uint64_t imsi_tabt:1;
5361+ uint64_t imsi_per:1;
5362+ uint64_t imr_tto:1;
5363+ uint64_t imr_abt:1;
5364+ uint64_t itr_abt:1;
5365+ uint64_t imr_wtto:1;
5366+ uint64_t imr_wabt:1;
5367+ uint64_t itr_wabt:1;
5368+ } cn31xx;
5369+ struct cvmx_pci_int_enb_s cn38xx;
5370+ struct cvmx_pci_int_enb_s cn38xxp2;
5371+ struct cvmx_pci_int_enb_cn31xx cn50xx;
5372+ struct cvmx_pci_int_enb_s cn58xx;
5373+ struct cvmx_pci_int_enb_s cn58xxp1;
5374+};
5375+
5376+union cvmx_pci_int_enb2 {
5377+ uint64_t u64;
5378+ struct cvmx_pci_int_enb2_s {
5379+ uint64_t reserved_34_63:30;
5380+ uint64_t ill_rd:1;
5381+ uint64_t ill_wr:1;
5382+ uint64_t win_wr:1;
5383+ uint64_t dma1_fi:1;
5384+ uint64_t dma0_fi:1;
5385+ uint64_t rdtime1:1;
5386+ uint64_t rdtime0:1;
5387+ uint64_t rdcnt1:1;
5388+ uint64_t rdcnt0:1;
5389+ uint64_t rptime3:1;
5390+ uint64_t rptime2:1;
5391+ uint64_t rptime1:1;
5392+ uint64_t rptime0:1;
5393+ uint64_t rpcnt3:1;
5394+ uint64_t rpcnt2:1;
5395+ uint64_t rpcnt1:1;
5396+ uint64_t rpcnt0:1;
5397+ uint64_t rrsl_int:1;
5398+ uint64_t ill_rrd:1;
5399+ uint64_t ill_rwr:1;
5400+ uint64_t rdperr:1;
5401+ uint64_t raperr:1;
5402+ uint64_t rserr:1;
5403+ uint64_t rtsr_abt:1;
5404+ uint64_t rmsc_msg:1;
5405+ uint64_t rmsi_mabt:1;
5406+ uint64_t rmsi_tabt:1;
5407+ uint64_t rmsi_per:1;
5408+ uint64_t rmr_tto:1;
5409+ uint64_t rmr_abt:1;
5410+ uint64_t rtr_abt:1;
5411+ uint64_t rmr_wtto:1;
5412+ uint64_t rmr_wabt:1;
5413+ uint64_t rtr_wabt:1;
5414+ } s;
5415+ struct cvmx_pci_int_enb2_cn30xx {
5416+ uint64_t reserved_34_63:30;
5417+ uint64_t ill_rd:1;
5418+ uint64_t ill_wr:1;
5419+ uint64_t win_wr:1;
5420+ uint64_t dma1_fi:1;
5421+ uint64_t dma0_fi:1;
5422+ uint64_t rdtime1:1;
5423+ uint64_t rdtime0:1;
5424+ uint64_t rdcnt1:1;
5425+ uint64_t rdcnt0:1;
5426+ uint64_t reserved_22_24:3;
5427+ uint64_t rptime0:1;
5428+ uint64_t reserved_18_20:3;
5429+ uint64_t rpcnt0:1;
5430+ uint64_t rrsl_int:1;
5431+ uint64_t ill_rrd:1;
5432+ uint64_t ill_rwr:1;
5433+ uint64_t rdperr:1;
5434+ uint64_t raperr:1;
5435+ uint64_t rserr:1;
5436+ uint64_t rtsr_abt:1;
5437+ uint64_t rmsc_msg:1;
5438+ uint64_t rmsi_mabt:1;
5439+ uint64_t rmsi_tabt:1;
5440+ uint64_t rmsi_per:1;
5441+ uint64_t rmr_tto:1;
5442+ uint64_t rmr_abt:1;
5443+ uint64_t rtr_abt:1;
5444+ uint64_t rmr_wtto:1;
5445+ uint64_t rmr_wabt:1;
5446+ uint64_t rtr_wabt:1;
5447+ } cn30xx;
5448+ struct cvmx_pci_int_enb2_cn31xx {
5449+ uint64_t reserved_34_63:30;
5450+ uint64_t ill_rd:1;
5451+ uint64_t ill_wr:1;
5452+ uint64_t win_wr:1;
5453+ uint64_t dma1_fi:1;
5454+ uint64_t dma0_fi:1;
5455+ uint64_t rdtime1:1;
5456+ uint64_t rdtime0:1;
5457+ uint64_t rdcnt1:1;
5458+ uint64_t rdcnt0:1;
5459+ uint64_t reserved_23_24:2;
5460+ uint64_t rptime1:1;
5461+ uint64_t rptime0:1;
5462+ uint64_t reserved_19_20:2;
5463+ uint64_t rpcnt1:1;
5464+ uint64_t rpcnt0:1;
5465+ uint64_t rrsl_int:1;
5466+ uint64_t ill_rrd:1;
5467+ uint64_t ill_rwr:1;
5468+ uint64_t rdperr:1;
5469+ uint64_t raperr:1;
5470+ uint64_t rserr:1;
5471+ uint64_t rtsr_abt:1;
5472+ uint64_t rmsc_msg:1;
5473+ uint64_t rmsi_mabt:1;
5474+ uint64_t rmsi_tabt:1;
5475+ uint64_t rmsi_per:1;
5476+ uint64_t rmr_tto:1;
5477+ uint64_t rmr_abt:1;
5478+ uint64_t rtr_abt:1;
5479+ uint64_t rmr_wtto:1;
5480+ uint64_t rmr_wabt:1;
5481+ uint64_t rtr_wabt:1;
5482+ } cn31xx;
5483+ struct cvmx_pci_int_enb2_s cn38xx;
5484+ struct cvmx_pci_int_enb2_s cn38xxp2;
5485+ struct cvmx_pci_int_enb2_cn31xx cn50xx;
5486+ struct cvmx_pci_int_enb2_s cn58xx;
5487+ struct cvmx_pci_int_enb2_s cn58xxp1;
5488+};
5489+
5490+union cvmx_pci_int_sum {
5491+ uint64_t u64;
5492+ struct cvmx_pci_int_sum_s {
5493+ uint64_t reserved_34_63:30;
5494+ uint64_t ill_rd:1;
5495+ uint64_t ill_wr:1;
5496+ uint64_t win_wr:1;
5497+ uint64_t dma1_fi:1;
5498+ uint64_t dma0_fi:1;
5499+ uint64_t dtime1:1;
5500+ uint64_t dtime0:1;
5501+ uint64_t dcnt1:1;
5502+ uint64_t dcnt0:1;
5503+ uint64_t ptime3:1;
5504+ uint64_t ptime2:1;
5505+ uint64_t ptime1:1;
5506+ uint64_t ptime0:1;
5507+ uint64_t pcnt3:1;
5508+ uint64_t pcnt2:1;
5509+ uint64_t pcnt1:1;
5510+ uint64_t pcnt0:1;
5511+ uint64_t rsl_int:1;
5512+ uint64_t ill_rrd:1;
5513+ uint64_t ill_rwr:1;
5514+ uint64_t dperr:1;
5515+ uint64_t aperr:1;
5516+ uint64_t serr:1;
5517+ uint64_t tsr_abt:1;
5518+ uint64_t msc_msg:1;
5519+ uint64_t msi_mabt:1;
5520+ uint64_t msi_tabt:1;
5521+ uint64_t msi_per:1;
5522+ uint64_t mr_tto:1;
5523+ uint64_t mr_abt:1;
5524+ uint64_t tr_abt:1;
5525+ uint64_t mr_wtto:1;
5526+ uint64_t mr_wabt:1;
5527+ uint64_t tr_wabt:1;
5528+ } s;
5529+ struct cvmx_pci_int_sum_cn30xx {
5530+ uint64_t reserved_34_63:30;
5531+ uint64_t ill_rd:1;
5532+ uint64_t ill_wr:1;
5533+ uint64_t win_wr:1;
5534+ uint64_t dma1_fi:1;
5535+ uint64_t dma0_fi:1;
5536+ uint64_t dtime1:1;
5537+ uint64_t dtime0:1;
5538+ uint64_t dcnt1:1;
5539+ uint64_t dcnt0:1;
5540+ uint64_t reserved_22_24:3;
5541+ uint64_t ptime0:1;
5542+ uint64_t reserved_18_20:3;
5543+ uint64_t pcnt0:1;
5544+ uint64_t rsl_int:1;
5545+ uint64_t ill_rrd:1;
5546+ uint64_t ill_rwr:1;
5547+ uint64_t dperr:1;
5548+ uint64_t aperr:1;
5549+ uint64_t serr:1;
5550+ uint64_t tsr_abt:1;
5551+ uint64_t msc_msg:1;
5552+ uint64_t msi_mabt:1;
5553+ uint64_t msi_tabt:1;
5554+ uint64_t msi_per:1;
5555+ uint64_t mr_tto:1;
5556+ uint64_t mr_abt:1;
5557+ uint64_t tr_abt:1;
5558+ uint64_t mr_wtto:1;
5559+ uint64_t mr_wabt:1;
5560+ uint64_t tr_wabt:1;
5561+ } cn30xx;
5562+ struct cvmx_pci_int_sum_cn31xx {
5563+ uint64_t reserved_34_63:30;
5564+ uint64_t ill_rd:1;
5565+ uint64_t ill_wr:1;
5566+ uint64_t win_wr:1;
5567+ uint64_t dma1_fi:1;
5568+ uint64_t dma0_fi:1;
5569+ uint64_t dtime1:1;
5570+ uint64_t dtime0:1;
5571+ uint64_t dcnt1:1;
5572+ uint64_t dcnt0:1;
5573+ uint64_t reserved_23_24:2;
5574+ uint64_t ptime1:1;
5575+ uint64_t ptime0:1;
5576+ uint64_t reserved_19_20:2;
5577+ uint64_t pcnt1:1;
5578+ uint64_t pcnt0:1;
5579+ uint64_t rsl_int:1;
5580+ uint64_t ill_rrd:1;
5581+ uint64_t ill_rwr:1;
5582+ uint64_t dperr:1;
5583+ uint64_t aperr:1;
5584+ uint64_t serr:1;
5585+ uint64_t tsr_abt:1;
5586+ uint64_t msc_msg:1;
5587+ uint64_t msi_mabt:1;
5588+ uint64_t msi_tabt:1;
5589+ uint64_t msi_per:1;
5590+ uint64_t mr_tto:1;
5591+ uint64_t mr_abt:1;
5592+ uint64_t tr_abt:1;
5593+ uint64_t mr_wtto:1;
5594+ uint64_t mr_wabt:1;
5595+ uint64_t tr_wabt:1;
5596+ } cn31xx;
5597+ struct cvmx_pci_int_sum_s cn38xx;
5598+ struct cvmx_pci_int_sum_s cn38xxp2;
5599+ struct cvmx_pci_int_sum_cn31xx cn50xx;
5600+ struct cvmx_pci_int_sum_s cn58xx;
5601+ struct cvmx_pci_int_sum_s cn58xxp1;
5602+};
5603+
5604+union cvmx_pci_int_sum2 {
5605+ uint64_t u64;
5606+ struct cvmx_pci_int_sum2_s {
5607+ uint64_t reserved_34_63:30;
5608+ uint64_t ill_rd:1;
5609+ uint64_t ill_wr:1;
5610+ uint64_t win_wr:1;
5611+ uint64_t dma1_fi:1;
5612+ uint64_t dma0_fi:1;
5613+ uint64_t dtime1:1;
5614+ uint64_t dtime0:1;
5615+ uint64_t dcnt1:1;
5616+ uint64_t dcnt0:1;
5617+ uint64_t ptime3:1;
5618+ uint64_t ptime2:1;
5619+ uint64_t ptime1:1;
5620+ uint64_t ptime0:1;
5621+ uint64_t pcnt3:1;
5622+ uint64_t pcnt2:1;
5623+ uint64_t pcnt1:1;
5624+ uint64_t pcnt0:1;
5625+ uint64_t rsl_int:1;
5626+ uint64_t ill_rrd:1;
5627+ uint64_t ill_rwr:1;
5628+ uint64_t dperr:1;
5629+ uint64_t aperr:1;
5630+ uint64_t serr:1;
5631+ uint64_t tsr_abt:1;
5632+ uint64_t msc_msg:1;
5633+ uint64_t msi_mabt:1;
5634+ uint64_t msi_tabt:1;
5635+ uint64_t msi_per:1;
5636+ uint64_t mr_tto:1;
5637+ uint64_t mr_abt:1;
5638+ uint64_t tr_abt:1;
5639+ uint64_t mr_wtto:1;
5640+ uint64_t mr_wabt:1;
5641+ uint64_t tr_wabt:1;
5642+ } s;
5643+ struct cvmx_pci_int_sum2_cn30xx {
5644+ uint64_t reserved_34_63:30;
5645+ uint64_t ill_rd:1;
5646+ uint64_t ill_wr:1;
5647+ uint64_t win_wr:1;
5648+ uint64_t dma1_fi:1;
5649+ uint64_t dma0_fi:1;
5650+ uint64_t dtime1:1;
5651+ uint64_t dtime0:1;
5652+ uint64_t dcnt1:1;
5653+ uint64_t dcnt0:1;
5654+ uint64_t reserved_22_24:3;
5655+ uint64_t ptime0:1;
5656+ uint64_t reserved_18_20:3;
5657+ uint64_t pcnt0:1;
5658+ uint64_t rsl_int:1;
5659+ uint64_t ill_rrd:1;
5660+ uint64_t ill_rwr:1;
5661+ uint64_t dperr:1;
5662+ uint64_t aperr:1;
5663+ uint64_t serr:1;
5664+ uint64_t tsr_abt:1;
5665+ uint64_t msc_msg:1;
5666+ uint64_t msi_mabt:1;
5667+ uint64_t msi_tabt:1;
5668+ uint64_t msi_per:1;
5669+ uint64_t mr_tto:1;
5670+ uint64_t mr_abt:1;
5671+ uint64_t tr_abt:1;
5672+ uint64_t mr_wtto:1;
5673+ uint64_t mr_wabt:1;
5674+ uint64_t tr_wabt:1;
5675+ } cn30xx;
5676+ struct cvmx_pci_int_sum2_cn31xx {
5677+ uint64_t reserved_34_63:30;
5678+ uint64_t ill_rd:1;
5679+ uint64_t ill_wr:1;
5680+ uint64_t win_wr:1;
5681+ uint64_t dma1_fi:1;
5682+ uint64_t dma0_fi:1;
5683+ uint64_t dtime1:1;
5684+ uint64_t dtime0:1;
5685+ uint64_t dcnt1:1;
5686+ uint64_t dcnt0:1;
5687+ uint64_t reserved_23_24:2;
5688+ uint64_t ptime1:1;
5689+ uint64_t ptime0:1;
5690+ uint64_t reserved_19_20:2;
5691+ uint64_t pcnt1:1;
5692+ uint64_t pcnt0:1;
5693+ uint64_t rsl_int:1;
5694+ uint64_t ill_rrd:1;
5695+ uint64_t ill_rwr:1;
5696+ uint64_t dperr:1;
5697+ uint64_t aperr:1;
5698+ uint64_t serr:1;
5699+ uint64_t tsr_abt:1;
5700+ uint64_t msc_msg:1;
5701+ uint64_t msi_mabt:1;
5702+ uint64_t msi_tabt:1;
5703+ uint64_t msi_per:1;
5704+ uint64_t mr_tto:1;
5705+ uint64_t mr_abt:1;
5706+ uint64_t tr_abt:1;
5707+ uint64_t mr_wtto:1;
5708+ uint64_t mr_wabt:1;
5709+ uint64_t tr_wabt:1;
5710+ } cn31xx;
5711+ struct cvmx_pci_int_sum2_s cn38xx;
5712+ struct cvmx_pci_int_sum2_s cn38xxp2;
5713+ struct cvmx_pci_int_sum2_cn31xx cn50xx;
5714+ struct cvmx_pci_int_sum2_s cn58xx;
5715+ struct cvmx_pci_int_sum2_s cn58xxp1;
5716+};
5717+
5718+union cvmx_pci_msi_rcv {
5719+ uint32_t u32;
5720+ struct cvmx_pci_msi_rcv_s {
5721+ uint32_t reserved_6_31:26;
5722+ uint32_t intr:6;
5723+ } s;
5724+ struct cvmx_pci_msi_rcv_s cn30xx;
5725+ struct cvmx_pci_msi_rcv_s cn31xx;
5726+ struct cvmx_pci_msi_rcv_s cn38xx;
5727+ struct cvmx_pci_msi_rcv_s cn38xxp2;
5728+ struct cvmx_pci_msi_rcv_s cn50xx;
5729+ struct cvmx_pci_msi_rcv_s cn58xx;
5730+ struct cvmx_pci_msi_rcv_s cn58xxp1;
5731+};
5732+
5733+union cvmx_pci_pkt_creditsx {
5734+ uint32_t u32;
5735+ struct cvmx_pci_pkt_creditsx_s {
5736+ uint32_t pkt_cnt:16;
5737+ uint32_t ptr_cnt:16;
5738+ } s;
5739+ struct cvmx_pci_pkt_creditsx_s cn30xx;
5740+ struct cvmx_pci_pkt_creditsx_s cn31xx;
5741+ struct cvmx_pci_pkt_creditsx_s cn38xx;
5742+ struct cvmx_pci_pkt_creditsx_s cn38xxp2;
5743+ struct cvmx_pci_pkt_creditsx_s cn50xx;
5744+ struct cvmx_pci_pkt_creditsx_s cn58xx;
5745+ struct cvmx_pci_pkt_creditsx_s cn58xxp1;
5746+};
5747+
5748+union cvmx_pci_pkts_sentx {
5749+ uint32_t u32;
5750+ struct cvmx_pci_pkts_sentx_s {
5751+ uint32_t pkt_cnt:32;
5752+ } s;
5753+ struct cvmx_pci_pkts_sentx_s cn30xx;
5754+ struct cvmx_pci_pkts_sentx_s cn31xx;
5755+ struct cvmx_pci_pkts_sentx_s cn38xx;
5756+ struct cvmx_pci_pkts_sentx_s cn38xxp2;
5757+ struct cvmx_pci_pkts_sentx_s cn50xx;
5758+ struct cvmx_pci_pkts_sentx_s cn58xx;
5759+ struct cvmx_pci_pkts_sentx_s cn58xxp1;
5760+};
5761+
5762+union cvmx_pci_pkts_sent_int_levx {
5763+ uint32_t u32;
5764+ struct cvmx_pci_pkts_sent_int_levx_s {
5765+ uint32_t pkt_cnt:32;
5766+ } s;
5767+ struct cvmx_pci_pkts_sent_int_levx_s cn30xx;
5768+ struct cvmx_pci_pkts_sent_int_levx_s cn31xx;
5769+ struct cvmx_pci_pkts_sent_int_levx_s cn38xx;
5770+ struct cvmx_pci_pkts_sent_int_levx_s cn38xxp2;
5771+ struct cvmx_pci_pkts_sent_int_levx_s cn50xx;
5772+ struct cvmx_pci_pkts_sent_int_levx_s cn58xx;
5773+ struct cvmx_pci_pkts_sent_int_levx_s cn58xxp1;
5774+};
5775+
5776+union cvmx_pci_pkts_sent_timex {
5777+ uint32_t u32;
5778+ struct cvmx_pci_pkts_sent_timex_s {
5779+ uint32_t pkt_time:32;
5780+ } s;
5781+ struct cvmx_pci_pkts_sent_timex_s cn30xx;
5782+ struct cvmx_pci_pkts_sent_timex_s cn31xx;
5783+ struct cvmx_pci_pkts_sent_timex_s cn38xx;
5784+ struct cvmx_pci_pkts_sent_timex_s cn38xxp2;
5785+ struct cvmx_pci_pkts_sent_timex_s cn50xx;
5786+ struct cvmx_pci_pkts_sent_timex_s cn58xx;
5787+ struct cvmx_pci_pkts_sent_timex_s cn58xxp1;
5788+};
5789+
5790+union cvmx_pci_read_cmd_6 {
5791+ uint32_t u32;
5792+ struct cvmx_pci_read_cmd_6_s {
5793+ uint32_t reserved_9_31:23;
5794+ uint32_t min_data:6;
5795+ uint32_t prefetch:3;
5796+ } s;
5797+ struct cvmx_pci_read_cmd_6_s cn30xx;
5798+ struct cvmx_pci_read_cmd_6_s cn31xx;
5799+ struct cvmx_pci_read_cmd_6_s cn38xx;
5800+ struct cvmx_pci_read_cmd_6_s cn38xxp2;
5801+ struct cvmx_pci_read_cmd_6_s cn50xx;
5802+ struct cvmx_pci_read_cmd_6_s cn58xx;
5803+ struct cvmx_pci_read_cmd_6_s cn58xxp1;
5804+};
5805+
5806+union cvmx_pci_read_cmd_c {
5807+ uint32_t u32;
5808+ struct cvmx_pci_read_cmd_c_s {
5809+ uint32_t reserved_9_31:23;
5810+ uint32_t min_data:6;
5811+ uint32_t prefetch:3;
5812+ } s;
5813+ struct cvmx_pci_read_cmd_c_s cn30xx;
5814+ struct cvmx_pci_read_cmd_c_s cn31xx;
5815+ struct cvmx_pci_read_cmd_c_s cn38xx;
5816+ struct cvmx_pci_read_cmd_c_s cn38xxp2;
5817+ struct cvmx_pci_read_cmd_c_s cn50xx;
5818+ struct cvmx_pci_read_cmd_c_s cn58xx;
5819+ struct cvmx_pci_read_cmd_c_s cn58xxp1;
5820+};
5821+
5822+union cvmx_pci_read_cmd_e {
5823+ uint32_t u32;
5824+ struct cvmx_pci_read_cmd_e_s {
5825+ uint32_t reserved_9_31:23;
5826+ uint32_t min_data:6;
5827+ uint32_t prefetch:3;
5828+ } s;
5829+ struct cvmx_pci_read_cmd_e_s cn30xx;
5830+ struct cvmx_pci_read_cmd_e_s cn31xx;
5831+ struct cvmx_pci_read_cmd_e_s cn38xx;
5832+ struct cvmx_pci_read_cmd_e_s cn38xxp2;
5833+ struct cvmx_pci_read_cmd_e_s cn50xx;
5834+ struct cvmx_pci_read_cmd_e_s cn58xx;
5835+ struct cvmx_pci_read_cmd_e_s cn58xxp1;
5836+};
5837+
5838+union cvmx_pci_read_timeout {
5839+ uint64_t u64;
5840+ struct cvmx_pci_read_timeout_s {
5841+ uint64_t reserved_32_63:32;
5842+ uint64_t enb:1;
5843+ uint64_t cnt:31;
5844+ } s;
5845+ struct cvmx_pci_read_timeout_s cn30xx;
5846+ struct cvmx_pci_read_timeout_s cn31xx;
5847+ struct cvmx_pci_read_timeout_s cn38xx;
5848+ struct cvmx_pci_read_timeout_s cn38xxp2;
5849+ struct cvmx_pci_read_timeout_s cn50xx;
5850+ struct cvmx_pci_read_timeout_s cn58xx;
5851+ struct cvmx_pci_read_timeout_s cn58xxp1;
5852+};
5853+
5854+union cvmx_pci_scm_reg {
5855+ uint64_t u64;
5856+ struct cvmx_pci_scm_reg_s {
5857+ uint64_t reserved_32_63:32;
5858+ uint64_t scm:32;
5859+ } s;
5860+ struct cvmx_pci_scm_reg_s cn30xx;
5861+ struct cvmx_pci_scm_reg_s cn31xx;
5862+ struct cvmx_pci_scm_reg_s cn38xx;
5863+ struct cvmx_pci_scm_reg_s cn38xxp2;
5864+ struct cvmx_pci_scm_reg_s cn50xx;
5865+ struct cvmx_pci_scm_reg_s cn58xx;
5866+ struct cvmx_pci_scm_reg_s cn58xxp1;
5867+};
5868+
5869+union cvmx_pci_tsr_reg {
5870+ uint64_t u64;
5871+ struct cvmx_pci_tsr_reg_s {
5872+ uint64_t reserved_36_63:28;
5873+ uint64_t tsr:36;
5874+ } s;
5875+ struct cvmx_pci_tsr_reg_s cn30xx;
5876+ struct cvmx_pci_tsr_reg_s cn31xx;
5877+ struct cvmx_pci_tsr_reg_s cn38xx;
5878+ struct cvmx_pci_tsr_reg_s cn38xxp2;
5879+ struct cvmx_pci_tsr_reg_s cn50xx;
5880+ struct cvmx_pci_tsr_reg_s cn58xx;
5881+ struct cvmx_pci_tsr_reg_s cn58xxp1;
5882+};
5883+
5884+union cvmx_pci_win_rd_addr {
5885+ uint64_t u64;
5886+ struct cvmx_pci_win_rd_addr_s {
5887+ uint64_t reserved_49_63:15;
5888+ uint64_t iobit:1;
5889+ uint64_t reserved_0_47:48;
5890+ } s;
5891+ struct cvmx_pci_win_rd_addr_cn30xx {
5892+ uint64_t reserved_49_63:15;
5893+ uint64_t iobit:1;
5894+ uint64_t rd_addr:46;
5895+ uint64_t reserved_0_1:2;
5896+ } cn30xx;
5897+ struct cvmx_pci_win_rd_addr_cn30xx cn31xx;
5898+ struct cvmx_pci_win_rd_addr_cn38xx {
5899+ uint64_t reserved_49_63:15;
5900+ uint64_t iobit:1;
5901+ uint64_t rd_addr:45;
5902+ uint64_t reserved_0_2:3;
5903+ } cn38xx;
5904+ struct cvmx_pci_win_rd_addr_cn38xx cn38xxp2;
5905+ struct cvmx_pci_win_rd_addr_cn30xx cn50xx;
5906+ struct cvmx_pci_win_rd_addr_cn38xx cn58xx;
5907+ struct cvmx_pci_win_rd_addr_cn38xx cn58xxp1;
5908+};
5909+
5910+union cvmx_pci_win_rd_data {
5911+ uint64_t u64;
5912+ struct cvmx_pci_win_rd_data_s {
5913+ uint64_t rd_data:64;
5914+ } s;
5915+ struct cvmx_pci_win_rd_data_s cn30xx;
5916+ struct cvmx_pci_win_rd_data_s cn31xx;
5917+ struct cvmx_pci_win_rd_data_s cn38xx;
5918+ struct cvmx_pci_win_rd_data_s cn38xxp2;
5919+ struct cvmx_pci_win_rd_data_s cn50xx;
5920+ struct cvmx_pci_win_rd_data_s cn58xx;
5921+ struct cvmx_pci_win_rd_data_s cn58xxp1;
5922+};
5923+
5924+union cvmx_pci_win_wr_addr {
5925+ uint64_t u64;
5926+ struct cvmx_pci_win_wr_addr_s {
5927+ uint64_t reserved_49_63:15;
5928+ uint64_t iobit:1;
5929+ uint64_t wr_addr:45;
5930+ uint64_t reserved_0_2:3;
5931+ } s;
5932+ struct cvmx_pci_win_wr_addr_s cn30xx;
5933+ struct cvmx_pci_win_wr_addr_s cn31xx;
5934+ struct cvmx_pci_win_wr_addr_s cn38xx;
5935+ struct cvmx_pci_win_wr_addr_s cn38xxp2;
5936+ struct cvmx_pci_win_wr_addr_s cn50xx;
5937+ struct cvmx_pci_win_wr_addr_s cn58xx;
5938+ struct cvmx_pci_win_wr_addr_s cn58xxp1;
5939+};
5940+
5941+union cvmx_pci_win_wr_data {
5942+ uint64_t u64;
5943+ struct cvmx_pci_win_wr_data_s {
5944+ uint64_t wr_data:64;
5945+ } s;
5946+ struct cvmx_pci_win_wr_data_s cn30xx;
5947+ struct cvmx_pci_win_wr_data_s cn31xx;
5948+ struct cvmx_pci_win_wr_data_s cn38xx;
5949+ struct cvmx_pci_win_wr_data_s cn38xxp2;
5950+ struct cvmx_pci_win_wr_data_s cn50xx;
5951+ struct cvmx_pci_win_wr_data_s cn58xx;
5952+ struct cvmx_pci_win_wr_data_s cn58xxp1;
5953+};
5954+
5955+union cvmx_pci_win_wr_mask {
5956+ uint64_t u64;
5957+ struct cvmx_pci_win_wr_mask_s {
5958+ uint64_t reserved_8_63:56;
5959+ uint64_t wr_mask:8;
5960+ } s;
5961+ struct cvmx_pci_win_wr_mask_s cn30xx;
5962+ struct cvmx_pci_win_wr_mask_s cn31xx;
5963+ struct cvmx_pci_win_wr_mask_s cn38xx;
5964+ struct cvmx_pci_win_wr_mask_s cn38xxp2;
5965+ struct cvmx_pci_win_wr_mask_s cn50xx;
5966+ struct cvmx_pci_win_wr_mask_s cn58xx;
5967+ struct cvmx_pci_win_wr_mask_s cn58xxp1;
5968+};
5969+
5970+#endif
5971--- /dev/null
5972+++ b/arch/mips/include/asm/octeon/cvmx-pcieep-defs.h
5973@@ -0,0 +1,1365 @@
5974+/***********************license start***************
5975+ * Author: Cavium Networks
5976+ *
5977+ * Contact: support@caviumnetworks.com
5978+ * This file is part of the OCTEON SDK
5979+ *
5980+ * Copyright (c) 2003-2008 Cavium Networks
5981+ *
5982+ * This file is free software; you can redistribute it and/or modify
5983+ * it under the terms of the GNU General Public License, Version 2, as
5984+ * published by the Free Software Foundation.
5985+ *
5986+ * This file is distributed in the hope that it will be useful, but
5987+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
5988+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
5989+ * NONINFRINGEMENT. See the GNU General Public License for more
5990+ * details.
5991+ *
5992+ * You should have received a copy of the GNU General Public License
5993+ * along with this file; if not, write to the Free Software
5994+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
5995+ * or visit http://www.gnu.org/licenses/.
5996+ *
5997+ * This file may also be available under a different license from Cavium.
5998+ * Contact Cavium Networks for more information
5999+ ***********************license end**************************************/
6000+
6001+#ifndef __CVMX_PCIEEP_DEFS_H__
6002+#define __CVMX_PCIEEP_DEFS_H__
6003+
6004+#define CVMX_PCIEEP_CFG000 \
6005+ (0x0000000000000000ull)
6006+#define CVMX_PCIEEP_CFG001 \
6007+ (0x0000000000000004ull)
6008+#define CVMX_PCIEEP_CFG002 \
6009+ (0x0000000000000008ull)
6010+#define CVMX_PCIEEP_CFG003 \
6011+ (0x000000000000000Cull)
6012+#define CVMX_PCIEEP_CFG004 \
6013+ (0x0000000000000010ull)
6014+#define CVMX_PCIEEP_CFG004_MASK \
6015+ (0x0000000080000010ull)
6016+#define CVMX_PCIEEP_CFG005 \
6017+ (0x0000000000000014ull)
6018+#define CVMX_PCIEEP_CFG005_MASK \
6019+ (0x0000000080000014ull)
6020+#define CVMX_PCIEEP_CFG006 \
6021+ (0x0000000000000018ull)
6022+#define CVMX_PCIEEP_CFG006_MASK \
6023+ (0x0000000080000018ull)
6024+#define CVMX_PCIEEP_CFG007 \
6025+ (0x000000000000001Cull)
6026+#define CVMX_PCIEEP_CFG007_MASK \
6027+ (0x000000008000001Cull)
6028+#define CVMX_PCIEEP_CFG008 \
6029+ (0x0000000000000020ull)
6030+#define CVMX_PCIEEP_CFG008_MASK \
6031+ (0x0000000080000020ull)
6032+#define CVMX_PCIEEP_CFG009 \
6033+ (0x0000000000000024ull)
6034+#define CVMX_PCIEEP_CFG009_MASK \
6035+ (0x0000000080000024ull)
6036+#define CVMX_PCIEEP_CFG010 \
6037+ (0x0000000000000028ull)
6038+#define CVMX_PCIEEP_CFG011 \
6039+ (0x000000000000002Cull)
6040+#define CVMX_PCIEEP_CFG012 \
6041+ (0x0000000000000030ull)
6042+#define CVMX_PCIEEP_CFG012_MASK \
6043+ (0x0000000080000030ull)
6044+#define CVMX_PCIEEP_CFG013 \
6045+ (0x0000000000000034ull)
6046+#define CVMX_PCIEEP_CFG015 \
6047+ (0x000000000000003Cull)
6048+#define CVMX_PCIEEP_CFG016 \
6049+ (0x0000000000000040ull)
6050+#define CVMX_PCIEEP_CFG017 \
6051+ (0x0000000000000044ull)
6052+#define CVMX_PCIEEP_CFG020 \
6053+ (0x0000000000000050ull)
6054+#define CVMX_PCIEEP_CFG021 \
6055+ (0x0000000000000054ull)
6056+#define CVMX_PCIEEP_CFG022 \
6057+ (0x0000000000000058ull)
6058+#define CVMX_PCIEEP_CFG023 \
6059+ (0x000000000000005Cull)
6060+#define CVMX_PCIEEP_CFG028 \
6061+ (0x0000000000000070ull)
6062+#define CVMX_PCIEEP_CFG029 \
6063+ (0x0000000000000074ull)
6064+#define CVMX_PCIEEP_CFG030 \
6065+ (0x0000000000000078ull)
6066+#define CVMX_PCIEEP_CFG031 \
6067+ (0x000000000000007Cull)
6068+#define CVMX_PCIEEP_CFG032 \
6069+ (0x0000000000000080ull)
6070+#define CVMX_PCIEEP_CFG033 \
6071+ (0x0000000000000084ull)
6072+#define CVMX_PCIEEP_CFG034 \
6073+ (0x0000000000000088ull)
6074+#define CVMX_PCIEEP_CFG037 \
6075+ (0x0000000000000094ull)
6076+#define CVMX_PCIEEP_CFG038 \
6077+ (0x0000000000000098ull)
6078+#define CVMX_PCIEEP_CFG039 \
6079+ (0x000000000000009Cull)
6080+#define CVMX_PCIEEP_CFG040 \
6081+ (0x00000000000000A0ull)
6082+#define CVMX_PCIEEP_CFG041 \
6083+ (0x00000000000000A4ull)
6084+#define CVMX_PCIEEP_CFG042 \
6085+ (0x00000000000000A8ull)
6086+#define CVMX_PCIEEP_CFG064 \
6087+ (0x0000000000000100ull)
6088+#define CVMX_PCIEEP_CFG065 \
6089+ (0x0000000000000104ull)
6090+#define CVMX_PCIEEP_CFG066 \
6091+ (0x0000000000000108ull)
6092+#define CVMX_PCIEEP_CFG067 \
6093+ (0x000000000000010Cull)
6094+#define CVMX_PCIEEP_CFG068 \
6095+ (0x0000000000000110ull)
6096+#define CVMX_PCIEEP_CFG069 \
6097+ (0x0000000000000114ull)
6098+#define CVMX_PCIEEP_CFG070 \
6099+ (0x0000000000000118ull)
6100+#define CVMX_PCIEEP_CFG071 \
6101+ (0x000000000000011Cull)
6102+#define CVMX_PCIEEP_CFG072 \
6103+ (0x0000000000000120ull)
6104+#define CVMX_PCIEEP_CFG073 \
6105+ (0x0000000000000124ull)
6106+#define CVMX_PCIEEP_CFG074 \
6107+ (0x0000000000000128ull)
6108+#define CVMX_PCIEEP_CFG448 \
6109+ (0x0000000000000700ull)
6110+#define CVMX_PCIEEP_CFG449 \
6111+ (0x0000000000000704ull)
6112+#define CVMX_PCIEEP_CFG450 \
6113+ (0x0000000000000708ull)
6114+#define CVMX_PCIEEP_CFG451 \
6115+ (0x000000000000070Cull)
6116+#define CVMX_PCIEEP_CFG452 \
6117+ (0x0000000000000710ull)
6118+#define CVMX_PCIEEP_CFG453 \
6119+ (0x0000000000000714ull)
6120+#define CVMX_PCIEEP_CFG454 \
6121+ (0x0000000000000718ull)
6122+#define CVMX_PCIEEP_CFG455 \
6123+ (0x000000000000071Cull)
6124+#define CVMX_PCIEEP_CFG456 \
6125+ (0x0000000000000720ull)
6126+#define CVMX_PCIEEP_CFG458 \
6127+ (0x0000000000000728ull)
6128+#define CVMX_PCIEEP_CFG459 \
6129+ (0x000000000000072Cull)
6130+#define CVMX_PCIEEP_CFG460 \
6131+ (0x0000000000000730ull)
6132+#define CVMX_PCIEEP_CFG461 \
6133+ (0x0000000000000734ull)
6134+#define CVMX_PCIEEP_CFG462 \
6135+ (0x0000000000000738ull)
6136+#define CVMX_PCIEEP_CFG463 \
6137+ (0x000000000000073Cull)
6138+#define CVMX_PCIEEP_CFG464 \
6139+ (0x0000000000000740ull)
6140+#define CVMX_PCIEEP_CFG465 \
6141+ (0x0000000000000744ull)
6142+#define CVMX_PCIEEP_CFG466 \
6143+ (0x0000000000000748ull)
6144+#define CVMX_PCIEEP_CFG467 \
6145+ (0x000000000000074Cull)
6146+#define CVMX_PCIEEP_CFG468 \
6147+ (0x0000000000000750ull)
6148+#define CVMX_PCIEEP_CFG490 \
6149+ (0x00000000000007A8ull)
6150+#define CVMX_PCIEEP_CFG491 \
6151+ (0x00000000000007ACull)
6152+#define CVMX_PCIEEP_CFG492 \
6153+ (0x00000000000007B0ull)
6154+#define CVMX_PCIEEP_CFG516 \
6155+ (0x0000000000000810ull)
6156+#define CVMX_PCIEEP_CFG517 \
6157+ (0x0000000000000814ull)
6158+
6159+union cvmx_pcieep_cfg000 {
6160+ uint32_t u32;
6161+ struct cvmx_pcieep_cfg000_s {
6162+ uint32_t devid:16;
6163+ uint32_t vendid:16;
6164+ } s;
6165+ struct cvmx_pcieep_cfg000_s cn52xx;
6166+ struct cvmx_pcieep_cfg000_s cn52xxp1;
6167+ struct cvmx_pcieep_cfg000_s cn56xx;
6168+ struct cvmx_pcieep_cfg000_s cn56xxp1;
6169+};
6170+
6171+union cvmx_pcieep_cfg001 {
6172+ uint32_t u32;
6173+ struct cvmx_pcieep_cfg001_s {
6174+ uint32_t dpe:1;
6175+ uint32_t sse:1;
6176+ uint32_t rma:1;
6177+ uint32_t rta:1;
6178+ uint32_t sta:1;
6179+ uint32_t devt:2;
6180+ uint32_t mdpe:1;
6181+ uint32_t fbb:1;
6182+ uint32_t reserved_22_22:1;
6183+ uint32_t m66:1;
6184+ uint32_t cl:1;
6185+ uint32_t i_stat:1;
6186+ uint32_t reserved_11_18:8;
6187+ uint32_t i_dis:1;
6188+ uint32_t fbbe:1;
6189+ uint32_t see:1;
6190+ uint32_t ids_wcc:1;
6191+ uint32_t per:1;
6192+ uint32_t vps:1;
6193+ uint32_t mwice:1;
6194+ uint32_t scse:1;
6195+ uint32_t me:1;
6196+ uint32_t msae:1;
6197+ uint32_t isae:1;
6198+ } s;
6199+ struct cvmx_pcieep_cfg001_s cn52xx;
6200+ struct cvmx_pcieep_cfg001_s cn52xxp1;
6201+ struct cvmx_pcieep_cfg001_s cn56xx;
6202+ struct cvmx_pcieep_cfg001_s cn56xxp1;
6203+};
6204+
6205+union cvmx_pcieep_cfg002 {
6206+ uint32_t u32;
6207+ struct cvmx_pcieep_cfg002_s {
6208+ uint32_t bcc:8;
6209+ uint32_t sc:8;
6210+ uint32_t pi:8;
6211+ uint32_t rid:8;
6212+ } s;
6213+ struct cvmx_pcieep_cfg002_s cn52xx;
6214+ struct cvmx_pcieep_cfg002_s cn52xxp1;
6215+ struct cvmx_pcieep_cfg002_s cn56xx;
6216+ struct cvmx_pcieep_cfg002_s cn56xxp1;
6217+};
6218+
6219+union cvmx_pcieep_cfg003 {
6220+ uint32_t u32;
6221+ struct cvmx_pcieep_cfg003_s {
6222+ uint32_t bist:8;
6223+ uint32_t mfd:1;
6224+ uint32_t chf:7;
6225+ uint32_t lt:8;
6226+ uint32_t cls:8;
6227+ } s;
6228+ struct cvmx_pcieep_cfg003_s cn52xx;
6229+ struct cvmx_pcieep_cfg003_s cn52xxp1;
6230+ struct cvmx_pcieep_cfg003_s cn56xx;
6231+ struct cvmx_pcieep_cfg003_s cn56xxp1;
6232+};
6233+
6234+union cvmx_pcieep_cfg004 {
6235+ uint32_t u32;
6236+ struct cvmx_pcieep_cfg004_s {
6237+ uint32_t lbab:18;
6238+ uint32_t reserved_4_13:10;
6239+ uint32_t pf:1;
6240+ uint32_t typ:2;
6241+ uint32_t mspc:1;
6242+ } s;
6243+ struct cvmx_pcieep_cfg004_s cn52xx;
6244+ struct cvmx_pcieep_cfg004_s cn52xxp1;
6245+ struct cvmx_pcieep_cfg004_s cn56xx;
6246+ struct cvmx_pcieep_cfg004_s cn56xxp1;
6247+};
6248+
6249+union cvmx_pcieep_cfg004_mask {
6250+ uint32_t u32;
6251+ struct cvmx_pcieep_cfg004_mask_s {
6252+ uint32_t lmask:31;
6253+ uint32_t enb:1;
6254+ } s;
6255+ struct cvmx_pcieep_cfg004_mask_s cn52xx;
6256+ struct cvmx_pcieep_cfg004_mask_s cn52xxp1;
6257+ struct cvmx_pcieep_cfg004_mask_s cn56xx;
6258+ struct cvmx_pcieep_cfg004_mask_s cn56xxp1;
6259+};
6260+
6261+union cvmx_pcieep_cfg005 {
6262+ uint32_t u32;
6263+ struct cvmx_pcieep_cfg005_s {
6264+ uint32_t ubab:32;
6265+ } s;
6266+ struct cvmx_pcieep_cfg005_s cn52xx;
6267+ struct cvmx_pcieep_cfg005_s cn52xxp1;
6268+ struct cvmx_pcieep_cfg005_s cn56xx;
6269+ struct cvmx_pcieep_cfg005_s cn56xxp1;
6270+};
6271+
6272+union cvmx_pcieep_cfg005_mask {
6273+ uint32_t u32;
6274+ struct cvmx_pcieep_cfg005_mask_s {
6275+ uint32_t umask:32;
6276+ } s;
6277+ struct cvmx_pcieep_cfg005_mask_s cn52xx;
6278+ struct cvmx_pcieep_cfg005_mask_s cn52xxp1;
6279+ struct cvmx_pcieep_cfg005_mask_s cn56xx;
6280+ struct cvmx_pcieep_cfg005_mask_s cn56xxp1;
6281+};
6282+
6283+union cvmx_pcieep_cfg006 {
6284+ uint32_t u32;
6285+ struct cvmx_pcieep_cfg006_s {
6286+ uint32_t lbab:6;
6287+ uint32_t reserved_4_25:22;
6288+ uint32_t pf:1;
6289+ uint32_t typ:2;
6290+ uint32_t mspc:1;
6291+ } s;
6292+ struct cvmx_pcieep_cfg006_s cn52xx;
6293+ struct cvmx_pcieep_cfg006_s cn52xxp1;
6294+ struct cvmx_pcieep_cfg006_s cn56xx;
6295+ struct cvmx_pcieep_cfg006_s cn56xxp1;
6296+};
6297+
6298+union cvmx_pcieep_cfg006_mask {
6299+ uint32_t u32;
6300+ struct cvmx_pcieep_cfg006_mask_s {
6301+ uint32_t lmask:31;
6302+ uint32_t enb:1;
6303+ } s;
6304+ struct cvmx_pcieep_cfg006_mask_s cn52xx;
6305+ struct cvmx_pcieep_cfg006_mask_s cn52xxp1;
6306+ struct cvmx_pcieep_cfg006_mask_s cn56xx;
6307+ struct cvmx_pcieep_cfg006_mask_s cn56xxp1;
6308+};
6309+
6310+union cvmx_pcieep_cfg007 {
6311+ uint32_t u32;
6312+ struct cvmx_pcieep_cfg007_s {
6313+ uint32_t ubab:32;
6314+ } s;
6315+ struct cvmx_pcieep_cfg007_s cn52xx;
6316+ struct cvmx_pcieep_cfg007_s cn52xxp1;
6317+ struct cvmx_pcieep_cfg007_s cn56xx;
6318+ struct cvmx_pcieep_cfg007_s cn56xxp1;
6319+};
6320+
6321+union cvmx_pcieep_cfg007_mask {
6322+ uint32_t u32;
6323+ struct cvmx_pcieep_cfg007_mask_s {
6324+ uint32_t umask:32;
6325+ } s;
6326+ struct cvmx_pcieep_cfg007_mask_s cn52xx;
6327+ struct cvmx_pcieep_cfg007_mask_s cn52xxp1;
6328+ struct cvmx_pcieep_cfg007_mask_s cn56xx;
6329+ struct cvmx_pcieep_cfg007_mask_s cn56xxp1;
6330+};
6331+
6332+union cvmx_pcieep_cfg008 {
6333+ uint32_t u32;
6334+ struct cvmx_pcieep_cfg008_s {
6335+ uint32_t reserved_4_31:28;
6336+ uint32_t pf:1;
6337+ uint32_t typ:2;
6338+ uint32_t mspc:1;
6339+ } s;
6340+ struct cvmx_pcieep_cfg008_s cn52xx;
6341+ struct cvmx_pcieep_cfg008_s cn52xxp1;
6342+ struct cvmx_pcieep_cfg008_s cn56xx;
6343+ struct cvmx_pcieep_cfg008_s cn56xxp1;
6344+};
6345+
6346+union cvmx_pcieep_cfg008_mask {
6347+ uint32_t u32;
6348+ struct cvmx_pcieep_cfg008_mask_s {
6349+ uint32_t lmask:31;
6350+ uint32_t enb:1;
6351+ } s;
6352+ struct cvmx_pcieep_cfg008_mask_s cn52xx;
6353+ struct cvmx_pcieep_cfg008_mask_s cn52xxp1;
6354+ struct cvmx_pcieep_cfg008_mask_s cn56xx;
6355+ struct cvmx_pcieep_cfg008_mask_s cn56xxp1;
6356+};
6357+
6358+union cvmx_pcieep_cfg009 {
6359+ uint32_t u32;
6360+ struct cvmx_pcieep_cfg009_s {
6361+ uint32_t ubab:25;
6362+ uint32_t reserved_0_6:7;
6363+ } s;
6364+ struct cvmx_pcieep_cfg009_s cn52xx;
6365+ struct cvmx_pcieep_cfg009_s cn52xxp1;
6366+ struct cvmx_pcieep_cfg009_s cn56xx;
6367+ struct cvmx_pcieep_cfg009_s cn56xxp1;
6368+};
6369+
6370+union cvmx_pcieep_cfg009_mask {
6371+ uint32_t u32;
6372+ struct cvmx_pcieep_cfg009_mask_s {
6373+ uint32_t umask:32;
6374+ } s;
6375+ struct cvmx_pcieep_cfg009_mask_s cn52xx;
6376+ struct cvmx_pcieep_cfg009_mask_s cn52xxp1;
6377+ struct cvmx_pcieep_cfg009_mask_s cn56xx;
6378+ struct cvmx_pcieep_cfg009_mask_s cn56xxp1;
6379+};
6380+
6381+union cvmx_pcieep_cfg010 {
6382+ uint32_t u32;
6383+ struct cvmx_pcieep_cfg010_s {
6384+ uint32_t cisp:32;
6385+ } s;
6386+ struct cvmx_pcieep_cfg010_s cn52xx;
6387+ struct cvmx_pcieep_cfg010_s cn52xxp1;
6388+ struct cvmx_pcieep_cfg010_s cn56xx;
6389+ struct cvmx_pcieep_cfg010_s cn56xxp1;
6390+};
6391+
6392+union cvmx_pcieep_cfg011 {
6393+ uint32_t u32;
6394+ struct cvmx_pcieep_cfg011_s {
6395+ uint32_t ssid:16;
6396+ uint32_t ssvid:16;
6397+ } s;
6398+ struct cvmx_pcieep_cfg011_s cn52xx;
6399+ struct cvmx_pcieep_cfg011_s cn52xxp1;
6400+ struct cvmx_pcieep_cfg011_s cn56xx;
6401+ struct cvmx_pcieep_cfg011_s cn56xxp1;
6402+};
6403+
6404+union cvmx_pcieep_cfg012 {
6405+ uint32_t u32;
6406+ struct cvmx_pcieep_cfg012_s {
6407+ uint32_t eraddr:16;
6408+ uint32_t reserved_1_15:15;
6409+ uint32_t er_en:1;
6410+ } s;
6411+ struct cvmx_pcieep_cfg012_s cn52xx;
6412+ struct cvmx_pcieep_cfg012_s cn52xxp1;
6413+ struct cvmx_pcieep_cfg012_s cn56xx;
6414+ struct cvmx_pcieep_cfg012_s cn56xxp1;
6415+};
6416+
6417+union cvmx_pcieep_cfg012_mask {
6418+ uint32_t u32;
6419+ struct cvmx_pcieep_cfg012_mask_s {
6420+ uint32_t mask:31;
6421+ uint32_t enb:1;
6422+ } s;
6423+ struct cvmx_pcieep_cfg012_mask_s cn52xx;
6424+ struct cvmx_pcieep_cfg012_mask_s cn52xxp1;
6425+ struct cvmx_pcieep_cfg012_mask_s cn56xx;
6426+ struct cvmx_pcieep_cfg012_mask_s cn56xxp1;
6427+};
6428+
6429+union cvmx_pcieep_cfg013 {
6430+ uint32_t u32;
6431+ struct cvmx_pcieep_cfg013_s {
6432+ uint32_t reserved_8_31:24;
6433+ uint32_t cp:8;
6434+ } s;
6435+ struct cvmx_pcieep_cfg013_s cn52xx;
6436+ struct cvmx_pcieep_cfg013_s cn52xxp1;
6437+ struct cvmx_pcieep_cfg013_s cn56xx;
6438+ struct cvmx_pcieep_cfg013_s cn56xxp1;
6439+};
6440+
6441+union cvmx_pcieep_cfg015 {
6442+ uint32_t u32;
6443+ struct cvmx_pcieep_cfg015_s {
6444+ uint32_t ml:8;
6445+ uint32_t mg:8;
6446+ uint32_t inta:8;
6447+ uint32_t il:8;
6448+ } s;
6449+ struct cvmx_pcieep_cfg015_s cn52xx;
6450+ struct cvmx_pcieep_cfg015_s cn52xxp1;
6451+ struct cvmx_pcieep_cfg015_s cn56xx;
6452+ struct cvmx_pcieep_cfg015_s cn56xxp1;
6453+};
6454+
6455+union cvmx_pcieep_cfg016 {
6456+ uint32_t u32;
6457+ struct cvmx_pcieep_cfg016_s {
6458+ uint32_t pmes:5;
6459+ uint32_t d2s:1;
6460+ uint32_t d1s:1;
6461+ uint32_t auxc:3;
6462+ uint32_t dsi:1;
6463+ uint32_t reserved_20_20:1;
6464+ uint32_t pme_clock:1;
6465+ uint32_t pmsv:3;
6466+ uint32_t ncp:8;
6467+ uint32_t pmcid:8;
6468+ } s;
6469+ struct cvmx_pcieep_cfg016_s cn52xx;
6470+ struct cvmx_pcieep_cfg016_s cn52xxp1;
6471+ struct cvmx_pcieep_cfg016_s cn56xx;
6472+ struct cvmx_pcieep_cfg016_s cn56xxp1;
6473+};
6474+
6475+union cvmx_pcieep_cfg017 {
6476+ uint32_t u32;
6477+ struct cvmx_pcieep_cfg017_s {
6478+ uint32_t pmdia:8;
6479+ uint32_t bpccee:1;
6480+ uint32_t bd3h:1;
6481+ uint32_t reserved_16_21:6;
6482+ uint32_t pmess:1;
6483+ uint32_t pmedsia:2;
6484+ uint32_t pmds:4;
6485+ uint32_t pmeens:1;
6486+ uint32_t reserved_4_7:4;
6487+ uint32_t nsr:1;
6488+ uint32_t reserved_2_2:1;
6489+ uint32_t ps:2;
6490+ } s;
6491+ struct cvmx_pcieep_cfg017_s cn52xx;
6492+ struct cvmx_pcieep_cfg017_s cn52xxp1;
6493+ struct cvmx_pcieep_cfg017_s cn56xx;
6494+ struct cvmx_pcieep_cfg017_s cn56xxp1;
6495+};
6496+
6497+union cvmx_pcieep_cfg020 {
6498+ uint32_t u32;
6499+ struct cvmx_pcieep_cfg020_s {
6500+ uint32_t reserved_24_31:8;
6501+ uint32_t m64:1;
6502+ uint32_t mme:3;
6503+ uint32_t mmc:3;
6504+ uint32_t msien:1;
6505+ uint32_t ncp:8;
6506+ uint32_t msicid:8;
6507+ } s;
6508+ struct cvmx_pcieep_cfg020_s cn52xx;
6509+ struct cvmx_pcieep_cfg020_s cn52xxp1;
6510+ struct cvmx_pcieep_cfg020_s cn56xx;
6511+ struct cvmx_pcieep_cfg020_s cn56xxp1;
6512+};
6513+
6514+union cvmx_pcieep_cfg021 {
6515+ uint32_t u32;
6516+ struct cvmx_pcieep_cfg021_s {
6517+ uint32_t lmsi:30;
6518+ uint32_t reserved_0_1:2;
6519+ } s;
6520+ struct cvmx_pcieep_cfg021_s cn52xx;
6521+ struct cvmx_pcieep_cfg021_s cn52xxp1;
6522+ struct cvmx_pcieep_cfg021_s cn56xx;
6523+ struct cvmx_pcieep_cfg021_s cn56xxp1;
6524+};
6525+
6526+union cvmx_pcieep_cfg022 {
6527+ uint32_t u32;
6528+ struct cvmx_pcieep_cfg022_s {
6529+ uint32_t umsi:32;
6530+ } s;
6531+ struct cvmx_pcieep_cfg022_s cn52xx;
6532+ struct cvmx_pcieep_cfg022_s cn52xxp1;
6533+ struct cvmx_pcieep_cfg022_s cn56xx;
6534+ struct cvmx_pcieep_cfg022_s cn56xxp1;
6535+};
6536+
6537+union cvmx_pcieep_cfg023 {
6538+ uint32_t u32;
6539+ struct cvmx_pcieep_cfg023_s {
6540+ uint32_t reserved_16_31:16;
6541+ uint32_t msimd:16;
6542+ } s;
6543+ struct cvmx_pcieep_cfg023_s cn52xx;
6544+ struct cvmx_pcieep_cfg023_s cn52xxp1;
6545+ struct cvmx_pcieep_cfg023_s cn56xx;
6546+ struct cvmx_pcieep_cfg023_s cn56xxp1;
6547+};
6548+
6549+union cvmx_pcieep_cfg028 {
6550+ uint32_t u32;
6551+ struct cvmx_pcieep_cfg028_s {
6552+ uint32_t reserved_30_31:2;
6553+ uint32_t imn:5;
6554+ uint32_t si:1;
6555+ uint32_t dpt:4;
6556+ uint32_t pciecv:4;
6557+ uint32_t ncp:8;
6558+ uint32_t pcieid:8;
6559+ } s;
6560+ struct cvmx_pcieep_cfg028_s cn52xx;
6561+ struct cvmx_pcieep_cfg028_s cn52xxp1;
6562+ struct cvmx_pcieep_cfg028_s cn56xx;
6563+ struct cvmx_pcieep_cfg028_s cn56xxp1;
6564+};
6565+
6566+union cvmx_pcieep_cfg029 {
6567+ uint32_t u32;
6568+ struct cvmx_pcieep_cfg029_s {
6569+ uint32_t reserved_28_31:4;
6570+ uint32_t cspls:2;
6571+ uint32_t csplv:8;
6572+ uint32_t reserved_16_17:2;
6573+ uint32_t rber:1;
6574+ uint32_t reserved_12_14:3;
6575+ uint32_t el1al:3;
6576+ uint32_t el0al:3;
6577+ uint32_t etfs:1;
6578+ uint32_t pfs:2;
6579+ uint32_t mpss:3;
6580+ } s;
6581+ struct cvmx_pcieep_cfg029_s cn52xx;
6582+ struct cvmx_pcieep_cfg029_s cn52xxp1;
6583+ struct cvmx_pcieep_cfg029_s cn56xx;
6584+ struct cvmx_pcieep_cfg029_s cn56xxp1;
6585+};
6586+
6587+union cvmx_pcieep_cfg030 {
6588+ uint32_t u32;
6589+ struct cvmx_pcieep_cfg030_s {
6590+ uint32_t reserved_22_31:10;
6591+ uint32_t tp:1;
6592+ uint32_t ap_d:1;
6593+ uint32_t ur_d:1;
6594+ uint32_t fe_d:1;
6595+ uint32_t nfe_d:1;
6596+ uint32_t ce_d:1;
6597+ uint32_t reserved_15_15:1;
6598+ uint32_t mrrs:3;
6599+ uint32_t ns_en:1;
6600+ uint32_t ap_en:1;
6601+ uint32_t pf_en:1;
6602+ uint32_t etf_en:1;
6603+ uint32_t mps:3;
6604+ uint32_t ro_en:1;
6605+ uint32_t ur_en:1;
6606+ uint32_t fe_en:1;
6607+ uint32_t nfe_en:1;
6608+ uint32_t ce_en:1;
6609+ } s;
6610+ struct cvmx_pcieep_cfg030_s cn52xx;
6611+ struct cvmx_pcieep_cfg030_s cn52xxp1;
6612+ struct cvmx_pcieep_cfg030_s cn56xx;
6613+ struct cvmx_pcieep_cfg030_s cn56xxp1;
6614+};
6615+
6616+union cvmx_pcieep_cfg031 {
6617+ uint32_t u32;
6618+ struct cvmx_pcieep_cfg031_s {
6619+ uint32_t pnum:8;
6620+ uint32_t reserved_22_23:2;
6621+ uint32_t lbnc:1;
6622+ uint32_t dllarc:1;
6623+ uint32_t sderc:1;
6624+ uint32_t cpm:1;
6625+ uint32_t l1el:3;
6626+ uint32_t l0el:3;
6627+ uint32_t aslpms:2;
6628+ uint32_t mlw:6;
6629+ uint32_t mls:4;
6630+ } s;
6631+ struct cvmx_pcieep_cfg031_s cn52xx;
6632+ struct cvmx_pcieep_cfg031_s cn52xxp1;
6633+ struct cvmx_pcieep_cfg031_s cn56xx;
6634+ struct cvmx_pcieep_cfg031_s cn56xxp1;
6635+};
6636+
6637+union cvmx_pcieep_cfg032 {
6638+ uint32_t u32;
6639+ struct cvmx_pcieep_cfg032_s {
6640+ uint32_t reserved_30_31:2;
6641+ uint32_t dlla:1;
6642+ uint32_t scc:1;
6643+ uint32_t lt:1;
6644+ uint32_t reserved_26_26:1;
6645+ uint32_t nlw:6;
6646+ uint32_t ls:4;
6647+ uint32_t reserved_10_15:6;
6648+ uint32_t hawd:1;
6649+ uint32_t ecpm:1;
6650+ uint32_t es:1;
6651+ uint32_t ccc:1;
6652+ uint32_t rl:1;
6653+ uint32_t ld:1;
6654+ uint32_t rcb:1;
6655+ uint32_t reserved_2_2:1;
6656+ uint32_t aslpc:2;
6657+ } s;
6658+ struct cvmx_pcieep_cfg032_s cn52xx;
6659+ struct cvmx_pcieep_cfg032_s cn52xxp1;
6660+ struct cvmx_pcieep_cfg032_s cn56xx;
6661+ struct cvmx_pcieep_cfg032_s cn56xxp1;
6662+};
6663+
6664+union cvmx_pcieep_cfg033 {
6665+ uint32_t u32;
6666+ struct cvmx_pcieep_cfg033_s {
6667+ uint32_t ps_num:13;
6668+ uint32_t nccs:1;
6669+ uint32_t emip:1;
6670+ uint32_t sp_ls:2;
6671+ uint32_t sp_lv:8;
6672+ uint32_t hp_c:1;
6673+ uint32_t hp_s:1;
6674+ uint32_t pip:1;
6675+ uint32_t aip:1;
6676+ uint32_t mrlsp:1;
6677+ uint32_t pcp:1;
6678+ uint32_t abp:1;
6679+ } s;
6680+ struct cvmx_pcieep_cfg033_s cn52xx;
6681+ struct cvmx_pcieep_cfg033_s cn52xxp1;
6682+ struct cvmx_pcieep_cfg033_s cn56xx;
6683+ struct cvmx_pcieep_cfg033_s cn56xxp1;
6684+};
6685+
6686+union cvmx_pcieep_cfg034 {
6687+ uint32_t u32;
6688+ struct cvmx_pcieep_cfg034_s {
6689+ uint32_t reserved_25_31:7;
6690+ uint32_t dlls_c:1;
6691+ uint32_t emis:1;
6692+ uint32_t pds:1;
6693+ uint32_t mrlss:1;
6694+ uint32_t ccint_d:1;
6695+ uint32_t pd_c:1;
6696+ uint32_t mrls_c:1;
6697+ uint32_t pf_d:1;
6698+ uint32_t abp_d:1;
6699+ uint32_t reserved_13_15:3;
6700+ uint32_t dlls_en:1;
6701+ uint32_t emic:1;
6702+ uint32_t pcc:1;
6703+ uint32_t pic:2;
6704+ uint32_t aic:2;
6705+ uint32_t hpint_en:1;
6706+ uint32_t ccint_en:1;
6707+ uint32_t pd_en:1;
6708+ uint32_t mrls_en:1;
6709+ uint32_t pf_en:1;
6710+ uint32_t abp_en:1;
6711+ } s;
6712+ struct cvmx_pcieep_cfg034_s cn52xx;
6713+ struct cvmx_pcieep_cfg034_s cn52xxp1;
6714+ struct cvmx_pcieep_cfg034_s cn56xx;
6715+ struct cvmx_pcieep_cfg034_s cn56xxp1;
6716+};
6717+
6718+union cvmx_pcieep_cfg037 {
6719+ uint32_t u32;
6720+ struct cvmx_pcieep_cfg037_s {
6721+ uint32_t reserved_5_31:27;
6722+ uint32_t ctds:1;
6723+ uint32_t ctrs:4;
6724+ } s;
6725+ struct cvmx_pcieep_cfg037_s cn52xx;
6726+ struct cvmx_pcieep_cfg037_s cn52xxp1;
6727+ struct cvmx_pcieep_cfg037_s cn56xx;
6728+ struct cvmx_pcieep_cfg037_s cn56xxp1;
6729+};
6730+
6731+union cvmx_pcieep_cfg038 {
6732+ uint32_t u32;
6733+ struct cvmx_pcieep_cfg038_s {
6734+ uint32_t reserved_5_31:27;
6735+ uint32_t ctd:1;
6736+ uint32_t ctv:4;
6737+ } s;
6738+ struct cvmx_pcieep_cfg038_s cn52xx;
6739+ struct cvmx_pcieep_cfg038_s cn52xxp1;
6740+ struct cvmx_pcieep_cfg038_s cn56xx;
6741+ struct cvmx_pcieep_cfg038_s cn56xxp1;
6742+};
6743+
6744+union cvmx_pcieep_cfg039 {
6745+ uint32_t u32;
6746+ struct cvmx_pcieep_cfg039_s {
6747+ uint32_t reserved_0_31:32;
6748+ } s;
6749+ struct cvmx_pcieep_cfg039_s cn52xx;
6750+ struct cvmx_pcieep_cfg039_s cn52xxp1;
6751+ struct cvmx_pcieep_cfg039_s cn56xx;
6752+ struct cvmx_pcieep_cfg039_s cn56xxp1;
6753+};
6754+
6755+union cvmx_pcieep_cfg040 {
6756+ uint32_t u32;
6757+ struct cvmx_pcieep_cfg040_s {
6758+ uint32_t reserved_0_31:32;
6759+ } s;
6760+ struct cvmx_pcieep_cfg040_s cn52xx;
6761+ struct cvmx_pcieep_cfg040_s cn52xxp1;
6762+ struct cvmx_pcieep_cfg040_s cn56xx;
6763+ struct cvmx_pcieep_cfg040_s cn56xxp1;
6764+};
6765+
6766+union cvmx_pcieep_cfg041 {
6767+ uint32_t u32;
6768+ struct cvmx_pcieep_cfg041_s {
6769+ uint32_t reserved_0_31:32;
6770+ } s;
6771+ struct cvmx_pcieep_cfg041_s cn52xx;
6772+ struct cvmx_pcieep_cfg041_s cn52xxp1;
6773+ struct cvmx_pcieep_cfg041_s cn56xx;
6774+ struct cvmx_pcieep_cfg041_s cn56xxp1;
6775+};
6776+
6777+union cvmx_pcieep_cfg042 {
6778+ uint32_t u32;
6779+ struct cvmx_pcieep_cfg042_s {
6780+ uint32_t reserved_0_31:32;
6781+ } s;
6782+ struct cvmx_pcieep_cfg042_s cn52xx;
6783+ struct cvmx_pcieep_cfg042_s cn52xxp1;
6784+ struct cvmx_pcieep_cfg042_s cn56xx;
6785+ struct cvmx_pcieep_cfg042_s cn56xxp1;
6786+};
6787+
6788+union cvmx_pcieep_cfg064 {
6789+ uint32_t u32;
6790+ struct cvmx_pcieep_cfg064_s {
6791+ uint32_t nco:12;
6792+ uint32_t cv:4;
6793+ uint32_t pcieec:16;
6794+ } s;
6795+ struct cvmx_pcieep_cfg064_s cn52xx;
6796+ struct cvmx_pcieep_cfg064_s cn52xxp1;
6797+ struct cvmx_pcieep_cfg064_s cn56xx;
6798+ struct cvmx_pcieep_cfg064_s cn56xxp1;
6799+};
6800+
6801+union cvmx_pcieep_cfg065 {
6802+ uint32_t u32;
6803+ struct cvmx_pcieep_cfg065_s {
6804+ uint32_t reserved_21_31:11;
6805+ uint32_t ures:1;
6806+ uint32_t ecrces:1;
6807+ uint32_t mtlps:1;
6808+ uint32_t ros:1;
6809+ uint32_t ucs:1;
6810+ uint32_t cas:1;
6811+ uint32_t cts:1;
6812+ uint32_t fcpes:1;
6813+ uint32_t ptlps:1;
6814+ uint32_t reserved_6_11:6;
6815+ uint32_t sdes:1;
6816+ uint32_t dlpes:1;
6817+ uint32_t reserved_0_3:4;
6818+ } s;
6819+ struct cvmx_pcieep_cfg065_s cn52xx;
6820+ struct cvmx_pcieep_cfg065_s cn52xxp1;
6821+ struct cvmx_pcieep_cfg065_s cn56xx;
6822+ struct cvmx_pcieep_cfg065_s cn56xxp1;
6823+};
6824+
6825+union cvmx_pcieep_cfg066 {
6826+ uint32_t u32;
6827+ struct cvmx_pcieep_cfg066_s {
6828+ uint32_t reserved_21_31:11;
6829+ uint32_t urem:1;
6830+ uint32_t ecrcem:1;
6831+ uint32_t mtlpm:1;
6832+ uint32_t rom:1;
6833+ uint32_t ucm:1;
6834+ uint32_t cam:1;
6835+ uint32_t ctm:1;
6836+ uint32_t fcpem:1;
6837+ uint32_t ptlpm:1;
6838+ uint32_t reserved_6_11:6;
6839+ uint32_t sdem:1;
6840+ uint32_t dlpem:1;
6841+ uint32_t reserved_0_3:4;
6842+ } s;
6843+ struct cvmx_pcieep_cfg066_s cn52xx;
6844+ struct cvmx_pcieep_cfg066_s cn52xxp1;
6845+ struct cvmx_pcieep_cfg066_s cn56xx;
6846+ struct cvmx_pcieep_cfg066_s cn56xxp1;
6847+};
6848+
6849+union cvmx_pcieep_cfg067 {
6850+ uint32_t u32;
6851+ struct cvmx_pcieep_cfg067_s {
6852+ uint32_t reserved_21_31:11;
6853+ uint32_t ures:1;
6854+ uint32_t ecrces:1;
6855+ uint32_t mtlps:1;
6856+ uint32_t ros:1;
6857+ uint32_t ucs:1;
6858+ uint32_t cas:1;
6859+ uint32_t cts:1;
6860+ uint32_t fcpes:1;
6861+ uint32_t ptlps:1;
6862+ uint32_t reserved_6_11:6;
6863+ uint32_t sdes:1;
6864+ uint32_t dlpes:1;
6865+ uint32_t reserved_0_3:4;
6866+ } s;
6867+ struct cvmx_pcieep_cfg067_s cn52xx;
6868+ struct cvmx_pcieep_cfg067_s cn52xxp1;
6869+ struct cvmx_pcieep_cfg067_s cn56xx;
6870+ struct cvmx_pcieep_cfg067_s cn56xxp1;
6871+};
6872+
6873+union cvmx_pcieep_cfg068 {
6874+ uint32_t u32;
6875+ struct cvmx_pcieep_cfg068_s {
6876+ uint32_t reserved_14_31:18;
6877+ uint32_t anfes:1;
6878+ uint32_t rtts:1;
6879+ uint32_t reserved_9_11:3;
6880+ uint32_t rnrs:1;
6881+ uint32_t bdllps:1;
6882+ uint32_t btlps:1;
6883+ uint32_t reserved_1_5:5;
6884+ uint32_t res:1;
6885+ } s;
6886+ struct cvmx_pcieep_cfg068_s cn52xx;
6887+ struct cvmx_pcieep_cfg068_s cn52xxp1;
6888+ struct cvmx_pcieep_cfg068_s cn56xx;
6889+ struct cvmx_pcieep_cfg068_s cn56xxp1;
6890+};
6891+
6892+union cvmx_pcieep_cfg069 {
6893+ uint32_t u32;
6894+ struct cvmx_pcieep_cfg069_s {
6895+ uint32_t reserved_14_31:18;
6896+ uint32_t anfem:1;
6897+ uint32_t rttm:1;
6898+ uint32_t reserved_9_11:3;
6899+ uint32_t rnrm:1;
6900+ uint32_t bdllpm:1;
6901+ uint32_t btlpm:1;
6902+ uint32_t reserved_1_5:5;
6903+ uint32_t rem:1;
6904+ } s;
6905+ struct cvmx_pcieep_cfg069_s cn52xx;
6906+ struct cvmx_pcieep_cfg069_s cn52xxp1;
6907+ struct cvmx_pcieep_cfg069_s cn56xx;
6908+ struct cvmx_pcieep_cfg069_s cn56xxp1;
6909+};
6910+
6911+union cvmx_pcieep_cfg070 {
6912+ uint32_t u32;
6913+ struct cvmx_pcieep_cfg070_s {
6914+ uint32_t reserved_9_31:23;
6915+ uint32_t ce:1;
6916+ uint32_t cc:1;
6917+ uint32_t ge:1;
6918+ uint32_t gc:1;
6919+ uint32_t fep:5;
6920+ } s;
6921+ struct cvmx_pcieep_cfg070_s cn52xx;
6922+ struct cvmx_pcieep_cfg070_s cn52xxp1;
6923+ struct cvmx_pcieep_cfg070_s cn56xx;
6924+ struct cvmx_pcieep_cfg070_s cn56xxp1;
6925+};
6926+
6927+union cvmx_pcieep_cfg071 {
6928+ uint32_t u32;
6929+ struct cvmx_pcieep_cfg071_s {
6930+ uint32_t dword1:32;
6931+ } s;
6932+ struct cvmx_pcieep_cfg071_s cn52xx;
6933+ struct cvmx_pcieep_cfg071_s cn52xxp1;
6934+ struct cvmx_pcieep_cfg071_s cn56xx;
6935+ struct cvmx_pcieep_cfg071_s cn56xxp1;
6936+};
6937+
6938+union cvmx_pcieep_cfg072 {
6939+ uint32_t u32;
6940+ struct cvmx_pcieep_cfg072_s {
6941+ uint32_t dword2:32;
6942+ } s;
6943+ struct cvmx_pcieep_cfg072_s cn52xx;
6944+ struct cvmx_pcieep_cfg072_s cn52xxp1;
6945+ struct cvmx_pcieep_cfg072_s cn56xx;
6946+ struct cvmx_pcieep_cfg072_s cn56xxp1;
6947+};
6948+
6949+union cvmx_pcieep_cfg073 {
6950+ uint32_t u32;
6951+ struct cvmx_pcieep_cfg073_s {
6952+ uint32_t dword3:32;
6953+ } s;
6954+ struct cvmx_pcieep_cfg073_s cn52xx;
6955+ struct cvmx_pcieep_cfg073_s cn52xxp1;
6956+ struct cvmx_pcieep_cfg073_s cn56xx;
6957+ struct cvmx_pcieep_cfg073_s cn56xxp1;
6958+};
6959+
6960+union cvmx_pcieep_cfg074 {
6961+ uint32_t u32;
6962+ struct cvmx_pcieep_cfg074_s {
6963+ uint32_t dword4:32;
6964+ } s;
6965+ struct cvmx_pcieep_cfg074_s cn52xx;
6966+ struct cvmx_pcieep_cfg074_s cn52xxp1;
6967+ struct cvmx_pcieep_cfg074_s cn56xx;
6968+ struct cvmx_pcieep_cfg074_s cn56xxp1;
6969+};
6970+
6971+union cvmx_pcieep_cfg448 {
6972+ uint32_t u32;
6973+ struct cvmx_pcieep_cfg448_s {
6974+ uint32_t rtl:16;
6975+ uint32_t rtltl:16;
6976+ } s;
6977+ struct cvmx_pcieep_cfg448_s cn52xx;
6978+ struct cvmx_pcieep_cfg448_s cn52xxp1;
6979+ struct cvmx_pcieep_cfg448_s cn56xx;
6980+ struct cvmx_pcieep_cfg448_s cn56xxp1;
6981+};
6982+
6983+union cvmx_pcieep_cfg449 {
6984+ uint32_t u32;
6985+ struct cvmx_pcieep_cfg449_s {
6986+ uint32_t omr:32;
6987+ } s;
6988+ struct cvmx_pcieep_cfg449_s cn52xx;
6989+ struct cvmx_pcieep_cfg449_s cn52xxp1;
6990+ struct cvmx_pcieep_cfg449_s cn56xx;
6991+ struct cvmx_pcieep_cfg449_s cn56xxp1;
6992+};
6993+
6994+union cvmx_pcieep_cfg450 {
6995+ uint32_t u32;
6996+ struct cvmx_pcieep_cfg450_s {
6997+ uint32_t lpec:8;
6998+ uint32_t reserved_22_23:2;
6999+ uint32_t link_state:6;
7000+ uint32_t force_link:1;
7001+ uint32_t reserved_8_14:7;
7002+ uint32_t link_num:8;
7003+ } s;
7004+ struct cvmx_pcieep_cfg450_s cn52xx;
7005+ struct cvmx_pcieep_cfg450_s cn52xxp1;
7006+ struct cvmx_pcieep_cfg450_s cn56xx;
7007+ struct cvmx_pcieep_cfg450_s cn56xxp1;
7008+};
7009+
7010+union cvmx_pcieep_cfg451 {
7011+ uint32_t u32;
7012+ struct cvmx_pcieep_cfg451_s {
7013+ uint32_t reserved_30_31:2;
7014+ uint32_t l1el:3;
7015+ uint32_t l0el:3;
7016+ uint32_t n_fts_cc:8;
7017+ uint32_t n_fts:8;
7018+ uint32_t ack_freq:8;
7019+ } s;
7020+ struct cvmx_pcieep_cfg451_s cn52xx;
7021+ struct cvmx_pcieep_cfg451_s cn52xxp1;
7022+ struct cvmx_pcieep_cfg451_s cn56xx;
7023+ struct cvmx_pcieep_cfg451_s cn56xxp1;
7024+};
7025+
7026+union cvmx_pcieep_cfg452 {
7027+ uint32_t u32;
7028+ struct cvmx_pcieep_cfg452_s {
7029+ uint32_t reserved_26_31:6;
7030+ uint32_t eccrc:1;
7031+ uint32_t reserved_22_24:3;
7032+ uint32_t lme:6;
7033+ uint32_t reserved_8_15:8;
7034+ uint32_t flm:1;
7035+ uint32_t reserved_6_6:1;
7036+ uint32_t dllle:1;
7037+ uint32_t reserved_4_4:1;
7038+ uint32_t ra:1;
7039+ uint32_t le:1;
7040+ uint32_t sd:1;
7041+ uint32_t omr:1;
7042+ } s;
7043+ struct cvmx_pcieep_cfg452_s cn52xx;
7044+ struct cvmx_pcieep_cfg452_s cn52xxp1;
7045+ struct cvmx_pcieep_cfg452_s cn56xx;
7046+ struct cvmx_pcieep_cfg452_s cn56xxp1;
7047+};
7048+
7049+union cvmx_pcieep_cfg453 {
7050+ uint32_t u32;
7051+ struct cvmx_pcieep_cfg453_s {
7052+ uint32_t dlld:1;
7053+ uint32_t reserved_26_30:5;
7054+ uint32_t ack_nak:1;
7055+ uint32_t fcd:1;
7056+ uint32_t ilst:24;
7057+ } s;
7058+ struct cvmx_pcieep_cfg453_s cn52xx;
7059+ struct cvmx_pcieep_cfg453_s cn52xxp1;
7060+ struct cvmx_pcieep_cfg453_s cn56xx;
7061+ struct cvmx_pcieep_cfg453_s cn56xxp1;
7062+};
7063+
7064+union cvmx_pcieep_cfg454 {
7065+ uint32_t u32;
7066+ struct cvmx_pcieep_cfg454_s {
7067+ uint32_t reserved_29_31:3;
7068+ uint32_t tmfcwt:5;
7069+ uint32_t tmanlt:5;
7070+ uint32_t tmrt:5;
7071+ uint32_t reserved_11_13:3;
7072+ uint32_t nskps:3;
7073+ uint32_t reserved_4_7:4;
7074+ uint32_t ntss:4;
7075+ } s;
7076+ struct cvmx_pcieep_cfg454_s cn52xx;
7077+ struct cvmx_pcieep_cfg454_s cn52xxp1;
7078+ struct cvmx_pcieep_cfg454_s cn56xx;
7079+ struct cvmx_pcieep_cfg454_s cn56xxp1;
7080+};
7081+
7082+union cvmx_pcieep_cfg455 {
7083+ uint32_t u32;
7084+ struct cvmx_pcieep_cfg455_s {
7085+ uint32_t m_cfg0_filt:1;
7086+ uint32_t m_io_filt:1;
7087+ uint32_t msg_ctrl:1;
7088+ uint32_t m_cpl_ecrc_filt:1;
7089+ uint32_t m_ecrc_filt:1;
7090+ uint32_t m_cpl_len_err:1;
7091+ uint32_t m_cpl_attr_err:1;
7092+ uint32_t m_cpl_tc_err:1;
7093+ uint32_t m_cpl_fun_err:1;
7094+ uint32_t m_cpl_rid_err:1;
7095+ uint32_t m_cpl_tag_err:1;
7096+ uint32_t m_lk_filt:1;
7097+ uint32_t m_cfg1_filt:1;
7098+ uint32_t m_bar_match:1;
7099+ uint32_t m_pois_filt:1;
7100+ uint32_t m_fun:1;
7101+ uint32_t dfcwt:1;
7102+ uint32_t reserved_11_14:4;
7103+ uint32_t skpiv:11;
7104+ } s;
7105+ struct cvmx_pcieep_cfg455_s cn52xx;
7106+ struct cvmx_pcieep_cfg455_s cn52xxp1;
7107+ struct cvmx_pcieep_cfg455_s cn56xx;
7108+ struct cvmx_pcieep_cfg455_s cn56xxp1;
7109+};
7110+
7111+union cvmx_pcieep_cfg456 {
7112+ uint32_t u32;
7113+ struct cvmx_pcieep_cfg456_s {
7114+ uint32_t reserved_2_31:30;
7115+ uint32_t m_vend1_drp:1;
7116+ uint32_t m_vend0_drp:1;
7117+ } s;
7118+ struct cvmx_pcieep_cfg456_s cn52xx;
7119+ struct cvmx_pcieep_cfg456_s cn52xxp1;
7120+ struct cvmx_pcieep_cfg456_s cn56xx;
7121+ struct cvmx_pcieep_cfg456_s cn56xxp1;
7122+};
7123+
7124+union cvmx_pcieep_cfg458 {
7125+ uint32_t u32;
7126+ struct cvmx_pcieep_cfg458_s {
7127+ uint32_t dbg_info_l32:32;
7128+ } s;
7129+ struct cvmx_pcieep_cfg458_s cn52xx;
7130+ struct cvmx_pcieep_cfg458_s cn52xxp1;
7131+ struct cvmx_pcieep_cfg458_s cn56xx;
7132+ struct cvmx_pcieep_cfg458_s cn56xxp1;
7133+};
7134+
7135+union cvmx_pcieep_cfg459 {
7136+ uint32_t u32;
7137+ struct cvmx_pcieep_cfg459_s {
7138+ uint32_t dbg_info_u32:32;
7139+ } s;
7140+ struct cvmx_pcieep_cfg459_s cn52xx;
7141+ struct cvmx_pcieep_cfg459_s cn52xxp1;
7142+ struct cvmx_pcieep_cfg459_s cn56xx;
7143+ struct cvmx_pcieep_cfg459_s cn56xxp1;
7144+};
7145+
7146+union cvmx_pcieep_cfg460 {
7147+ uint32_t u32;
7148+ struct cvmx_pcieep_cfg460_s {
7149+ uint32_t reserved_20_31:12;
7150+ uint32_t tphfcc:8;
7151+ uint32_t tpdfcc:12;
7152+ } s;
7153+ struct cvmx_pcieep_cfg460_s cn52xx;
7154+ struct cvmx_pcieep_cfg460_s cn52xxp1;
7155+ struct cvmx_pcieep_cfg460_s cn56xx;
7156+ struct cvmx_pcieep_cfg460_s cn56xxp1;
7157+};
7158+
7159+union cvmx_pcieep_cfg461 {
7160+ uint32_t u32;
7161+ struct cvmx_pcieep_cfg461_s {
7162+ uint32_t reserved_20_31:12;
7163+ uint32_t tchfcc:8;
7164+ uint32_t tcdfcc:12;
7165+ } s;
7166+ struct cvmx_pcieep_cfg461_s cn52xx;
7167+ struct cvmx_pcieep_cfg461_s cn52xxp1;
7168+ struct cvmx_pcieep_cfg461_s cn56xx;
7169+ struct cvmx_pcieep_cfg461_s cn56xxp1;
7170+};
7171+
7172+union cvmx_pcieep_cfg462 {
7173+ uint32_t u32;
7174+ struct cvmx_pcieep_cfg462_s {
7175+ uint32_t reserved_20_31:12;
7176+ uint32_t tchfcc:8;
7177+ uint32_t tcdfcc:12;
7178+ } s;
7179+ struct cvmx_pcieep_cfg462_s cn52xx;
7180+ struct cvmx_pcieep_cfg462_s cn52xxp1;
7181+ struct cvmx_pcieep_cfg462_s cn56xx;
7182+ struct cvmx_pcieep_cfg462_s cn56xxp1;
7183+};
7184+
7185+union cvmx_pcieep_cfg463 {
7186+ uint32_t u32;
7187+ struct cvmx_pcieep_cfg463_s {
7188+ uint32_t reserved_3_31:29;
7189+ uint32_t rqne:1;
7190+ uint32_t trbne:1;
7191+ uint32_t rtlpfccnr:1;
7192+ } s;
7193+ struct cvmx_pcieep_cfg463_s cn52xx;
7194+ struct cvmx_pcieep_cfg463_s cn52xxp1;
7195+ struct cvmx_pcieep_cfg463_s cn56xx;
7196+ struct cvmx_pcieep_cfg463_s cn56xxp1;
7197+};
7198+
7199+union cvmx_pcieep_cfg464 {
7200+ uint32_t u32;
7201+ struct cvmx_pcieep_cfg464_s {
7202+ uint32_t wrr_vc3:8;
7203+ uint32_t wrr_vc2:8;
7204+ uint32_t wrr_vc1:8;
7205+ uint32_t wrr_vc0:8;
7206+ } s;
7207+ struct cvmx_pcieep_cfg464_s cn52xx;
7208+ struct cvmx_pcieep_cfg464_s cn52xxp1;
7209+ struct cvmx_pcieep_cfg464_s cn56xx;
7210+ struct cvmx_pcieep_cfg464_s cn56xxp1;
7211+};
7212+
7213+union cvmx_pcieep_cfg465 {
7214+ uint32_t u32;
7215+ struct cvmx_pcieep_cfg465_s {
7216+ uint32_t wrr_vc7:8;
7217+ uint32_t wrr_vc6:8;
7218+ uint32_t wrr_vc5:8;
7219+ uint32_t wrr_vc4:8;
7220+ } s;
7221+ struct cvmx_pcieep_cfg465_s cn52xx;
7222+ struct cvmx_pcieep_cfg465_s cn52xxp1;
7223+ struct cvmx_pcieep_cfg465_s cn56xx;
7224+ struct cvmx_pcieep_cfg465_s cn56xxp1;
7225+};
7226+
7227+union cvmx_pcieep_cfg466 {
7228+ uint32_t u32;
7229+ struct cvmx_pcieep_cfg466_s {
7230+ uint32_t rx_queue_order:1;
7231+ uint32_t type_ordering:1;
7232+ uint32_t reserved_24_29:6;
7233+ uint32_t queue_mode:3;
7234+ uint32_t reserved_20_20:1;
7235+ uint32_t header_credits:8;
7236+ uint32_t data_credits:12;
7237+ } s;
7238+ struct cvmx_pcieep_cfg466_s cn52xx;
7239+ struct cvmx_pcieep_cfg466_s cn52xxp1;
7240+ struct cvmx_pcieep_cfg466_s cn56xx;
7241+ struct cvmx_pcieep_cfg466_s cn56xxp1;
7242+};
7243+
7244+union cvmx_pcieep_cfg467 {
7245+ uint32_t u32;
7246+ struct cvmx_pcieep_cfg467_s {
7247+ uint32_t reserved_24_31:8;
7248+ uint32_t queue_mode:3;
7249+ uint32_t reserved_20_20:1;
7250+ uint32_t header_credits:8;
7251+ uint32_t data_credits:12;
7252+ } s;
7253+ struct cvmx_pcieep_cfg467_s cn52xx;
7254+ struct cvmx_pcieep_cfg467_s cn52xxp1;
7255+ struct cvmx_pcieep_cfg467_s cn56xx;
7256+ struct cvmx_pcieep_cfg467_s cn56xxp1;
7257+};
7258+
7259+union cvmx_pcieep_cfg468 {
7260+ uint32_t u32;
7261+ struct cvmx_pcieep_cfg468_s {
7262+ uint32_t reserved_24_31:8;
7263+ uint32_t queue_mode:3;
7264+ uint32_t reserved_20_20:1;
7265+ uint32_t header_credits:8;
7266+ uint32_t data_credits:12;
7267+ } s;
7268+ struct cvmx_pcieep_cfg468_s cn52xx;
7269+ struct cvmx_pcieep_cfg468_s cn52xxp1;
7270+ struct cvmx_pcieep_cfg468_s cn56xx;
7271+ struct cvmx_pcieep_cfg468_s cn56xxp1;
7272+};
7273+
7274+union cvmx_pcieep_cfg490 {
7275+ uint32_t u32;
7276+ struct cvmx_pcieep_cfg490_s {
7277+ uint32_t reserved_26_31:6;
7278+ uint32_t header_depth:10;
7279+ uint32_t reserved_14_15:2;
7280+ uint32_t data_depth:14;
7281+ } s;
7282+ struct cvmx_pcieep_cfg490_s cn52xx;
7283+ struct cvmx_pcieep_cfg490_s cn52xxp1;
7284+ struct cvmx_pcieep_cfg490_s cn56xx;
7285+ struct cvmx_pcieep_cfg490_s cn56xxp1;
7286+};
7287+
7288+union cvmx_pcieep_cfg491 {
7289+ uint32_t u32;
7290+ struct cvmx_pcieep_cfg491_s {
7291+ uint32_t reserved_26_31:6;
7292+ uint32_t header_depth:10;
7293+ uint32_t reserved_14_15:2;
7294+ uint32_t data_depth:14;
7295+ } s;
7296+ struct cvmx_pcieep_cfg491_s cn52xx;
7297+ struct cvmx_pcieep_cfg491_s cn52xxp1;
7298+ struct cvmx_pcieep_cfg491_s cn56xx;
7299+ struct cvmx_pcieep_cfg491_s cn56xxp1;
7300+};
7301+
7302+union cvmx_pcieep_cfg492 {
7303+ uint32_t u32;
7304+ struct cvmx_pcieep_cfg492_s {
7305+ uint32_t reserved_26_31:6;
7306+ uint32_t header_depth:10;
7307+ uint32_t reserved_14_15:2;
7308+ uint32_t data_depth:14;
7309+ } s;
7310+ struct cvmx_pcieep_cfg492_s cn52xx;
7311+ struct cvmx_pcieep_cfg492_s cn52xxp1;
7312+ struct cvmx_pcieep_cfg492_s cn56xx;
7313+ struct cvmx_pcieep_cfg492_s cn56xxp1;
7314+};
7315+
7316+union cvmx_pcieep_cfg516 {
7317+ uint32_t u32;
7318+ struct cvmx_pcieep_cfg516_s {
7319+ uint32_t phy_stat:32;
7320+ } s;
7321+ struct cvmx_pcieep_cfg516_s cn52xx;
7322+ struct cvmx_pcieep_cfg516_s cn52xxp1;
7323+ struct cvmx_pcieep_cfg516_s cn56xx;
7324+ struct cvmx_pcieep_cfg516_s cn56xxp1;
7325+};
7326+
7327+union cvmx_pcieep_cfg517 {
7328+ uint32_t u32;
7329+ struct cvmx_pcieep_cfg517_s {
7330+ uint32_t phy_ctrl:32;
7331+ } s;
7332+ struct cvmx_pcieep_cfg517_s cn52xx;
7333+ struct cvmx_pcieep_cfg517_s cn52xxp1;
7334+ struct cvmx_pcieep_cfg517_s cn56xx;
7335+ struct cvmx_pcieep_cfg517_s cn56xxp1;
7336+};
7337+
7338+#endif
7339--- /dev/null
7340+++ b/arch/mips/include/asm/octeon/cvmx-pciercx-defs.h
7341@@ -0,0 +1,1397 @@
7342+/***********************license start***************
7343+ * Author: Cavium Networks
7344+ *
7345+ * Contact: support@caviumnetworks.com
7346+ * This file is part of the OCTEON SDK
7347+ *
7348+ * Copyright (c) 2003-2008 Cavium Networks
7349+ *
7350+ * This file is free software; you can redistribute it and/or modify
7351+ * it under the terms of the GNU General Public License, Version 2, as
7352+ * published by the Free Software Foundation.
7353+ *
7354+ * This file is distributed in the hope that it will be useful, but
7355+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
7356+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
7357+ * NONINFRINGEMENT. See the GNU General Public License for more
7358+ * details.
7359+ *
7360+ * You should have received a copy of the GNU General Public License
7361+ * along with this file; if not, write to the Free Software
7362+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
7363+ * or visit http://www.gnu.org/licenses/.
7364+ *
7365+ * This file may also be available under a different license from Cavium.
7366+ * Contact Cavium Networks for more information
7367+ ***********************license end**************************************/
7368+
7369+#ifndef __CVMX_PCIERCX_DEFS_H__
7370+#define __CVMX_PCIERCX_DEFS_H__
7371+
7372+#define CVMX_PCIERCX_CFG000(offset) \
7373+ (0x0000000000000000ull + (((offset) & 1) * 0))
7374+#define CVMX_PCIERCX_CFG001(offset) \
7375+ (0x0000000000000004ull + (((offset) & 1) * 0))
7376+#define CVMX_PCIERCX_CFG002(offset) \
7377+ (0x0000000000000008ull + (((offset) & 1) * 0))
7378+#define CVMX_PCIERCX_CFG003(offset) \
7379+ (0x000000000000000Cull + (((offset) & 1) * 0))
7380+#define CVMX_PCIERCX_CFG004(offset) \
7381+ (0x0000000000000010ull + (((offset) & 1) * 0))
7382+#define CVMX_PCIERCX_CFG005(offset) \
7383+ (0x0000000000000014ull + (((offset) & 1) * 0))
7384+#define CVMX_PCIERCX_CFG006(offset) \
7385+ (0x0000000000000018ull + (((offset) & 1) * 0))
7386+#define CVMX_PCIERCX_CFG007(offset) \
7387+ (0x000000000000001Cull + (((offset) & 1) * 0))
7388+#define CVMX_PCIERCX_CFG008(offset) \
7389+ (0x0000000000000020ull + (((offset) & 1) * 0))
7390+#define CVMX_PCIERCX_CFG009(offset) \
7391+ (0x0000000000000024ull + (((offset) & 1) * 0))
7392+#define CVMX_PCIERCX_CFG010(offset) \
7393+ (0x0000000000000028ull + (((offset) & 1) * 0))
7394+#define CVMX_PCIERCX_CFG011(offset) \
7395+ (0x000000000000002Cull + (((offset) & 1) * 0))
7396+#define CVMX_PCIERCX_CFG012(offset) \
7397+ (0x0000000000000030ull + (((offset) & 1) * 0))
7398+#define CVMX_PCIERCX_CFG013(offset) \
7399+ (0x0000000000000034ull + (((offset) & 1) * 0))
7400+#define CVMX_PCIERCX_CFG014(offset) \
7401+ (0x0000000000000038ull + (((offset) & 1) * 0))
7402+#define CVMX_PCIERCX_CFG015(offset) \
7403+ (0x000000000000003Cull + (((offset) & 1) * 0))
7404+#define CVMX_PCIERCX_CFG016(offset) \
7405+ (0x0000000000000040ull + (((offset) & 1) * 0))
7406+#define CVMX_PCIERCX_CFG017(offset) \
7407+ (0x0000000000000044ull + (((offset) & 1) * 0))
7408+#define CVMX_PCIERCX_CFG020(offset) \
7409+ (0x0000000000000050ull + (((offset) & 1) * 0))
7410+#define CVMX_PCIERCX_CFG021(offset) \
7411+ (0x0000000000000054ull + (((offset) & 1) * 0))
7412+#define CVMX_PCIERCX_CFG022(offset) \
7413+ (0x0000000000000058ull + (((offset) & 1) * 0))
7414+#define CVMX_PCIERCX_CFG023(offset) \
7415+ (0x000000000000005Cull + (((offset) & 1) * 0))
7416+#define CVMX_PCIERCX_CFG028(offset) \
7417+ (0x0000000000000070ull + (((offset) & 1) * 0))
7418+#define CVMX_PCIERCX_CFG029(offset) \
7419+ (0x0000000000000074ull + (((offset) & 1) * 0))
7420+#define CVMX_PCIERCX_CFG030(offset) \
7421+ (0x0000000000000078ull + (((offset) & 1) * 0))
7422+#define CVMX_PCIERCX_CFG031(offset) \
7423+ (0x000000000000007Cull + (((offset) & 1) * 0))
7424+#define CVMX_PCIERCX_CFG032(offset) \
7425+ (0x0000000000000080ull + (((offset) & 1) * 0))
7426+#define CVMX_PCIERCX_CFG033(offset) \
7427+ (0x0000000000000084ull + (((offset) & 1) * 0))
7428+#define CVMX_PCIERCX_CFG034(offset) \
7429+ (0x0000000000000088ull + (((offset) & 1) * 0))
7430+#define CVMX_PCIERCX_CFG035(offset) \
7431+ (0x000000000000008Cull + (((offset) & 1) * 0))
7432+#define CVMX_PCIERCX_CFG036(offset) \
7433+ (0x0000000000000090ull + (((offset) & 1) * 0))
7434+#define CVMX_PCIERCX_CFG037(offset) \
7435+ (0x0000000000000094ull + (((offset) & 1) * 0))
7436+#define CVMX_PCIERCX_CFG038(offset) \
7437+ (0x0000000000000098ull + (((offset) & 1) * 0))
7438+#define CVMX_PCIERCX_CFG039(offset) \
7439+ (0x000000000000009Cull + (((offset) & 1) * 0))
7440+#define CVMX_PCIERCX_CFG040(offset) \
7441+ (0x00000000000000A0ull + (((offset) & 1) * 0))
7442+#define CVMX_PCIERCX_CFG041(offset) \
7443+ (0x00000000000000A4ull + (((offset) & 1) * 0))
7444+#define CVMX_PCIERCX_CFG042(offset) \
7445+ (0x00000000000000A8ull + (((offset) & 1) * 0))
7446+#define CVMX_PCIERCX_CFG064(offset) \
7447+ (0x0000000000000100ull + (((offset) & 1) * 0))
7448+#define CVMX_PCIERCX_CFG065(offset) \
7449+ (0x0000000000000104ull + (((offset) & 1) * 0))
7450+#define CVMX_PCIERCX_CFG066(offset) \
7451+ (0x0000000000000108ull + (((offset) & 1) * 0))
7452+#define CVMX_PCIERCX_CFG067(offset) \
7453+ (0x000000000000010Cull + (((offset) & 1) * 0))
7454+#define CVMX_PCIERCX_CFG068(offset) \
7455+ (0x0000000000000110ull + (((offset) & 1) * 0))
7456+#define CVMX_PCIERCX_CFG069(offset) \
7457+ (0x0000000000000114ull + (((offset) & 1) * 0))
7458+#define CVMX_PCIERCX_CFG070(offset) \
7459+ (0x0000000000000118ull + (((offset) & 1) * 0))
7460+#define CVMX_PCIERCX_CFG071(offset) \
7461+ (0x000000000000011Cull + (((offset) & 1) * 0))
7462+#define CVMX_PCIERCX_CFG072(offset) \
7463+ (0x0000000000000120ull + (((offset) & 1) * 0))
7464+#define CVMX_PCIERCX_CFG073(offset) \
7465+ (0x0000000000000124ull + (((offset) & 1) * 0))
7466+#define CVMX_PCIERCX_CFG074(offset) \
7467+ (0x0000000000000128ull + (((offset) & 1) * 0))
7468+#define CVMX_PCIERCX_CFG075(offset) \
7469+ (0x000000000000012Cull + (((offset) & 1) * 0))
7470+#define CVMX_PCIERCX_CFG076(offset) \
7471+ (0x0000000000000130ull + (((offset) & 1) * 0))
7472+#define CVMX_PCIERCX_CFG077(offset) \
7473+ (0x0000000000000134ull + (((offset) & 1) * 0))
7474+#define CVMX_PCIERCX_CFG448(offset) \
7475+ (0x0000000000000700ull + (((offset) & 1) * 0))
7476+#define CVMX_PCIERCX_CFG449(offset) \
7477+ (0x0000000000000704ull + (((offset) & 1) * 0))
7478+#define CVMX_PCIERCX_CFG450(offset) \
7479+ (0x0000000000000708ull + (((offset) & 1) * 0))
7480+#define CVMX_PCIERCX_CFG451(offset) \
7481+ (0x000000000000070Cull + (((offset) & 1) * 0))
7482+#define CVMX_PCIERCX_CFG452(offset) \
7483+ (0x0000000000000710ull + (((offset) & 1) * 0))
7484+#define CVMX_PCIERCX_CFG453(offset) \
7485+ (0x0000000000000714ull + (((offset) & 1) * 0))
7486+#define CVMX_PCIERCX_CFG454(offset) \
7487+ (0x0000000000000718ull + (((offset) & 1) * 0))
7488+#define CVMX_PCIERCX_CFG455(offset) \
7489+ (0x000000000000071Cull + (((offset) & 1) * 0))
7490+#define CVMX_PCIERCX_CFG456(offset) \
7491+ (0x0000000000000720ull + (((offset) & 1) * 0))
7492+#define CVMX_PCIERCX_CFG458(offset) \
7493+ (0x0000000000000728ull + (((offset) & 1) * 0))
7494+#define CVMX_PCIERCX_CFG459(offset) \
7495+ (0x000000000000072Cull + (((offset) & 1) * 0))
7496+#define CVMX_PCIERCX_CFG460(offset) \
7497+ (0x0000000000000730ull + (((offset) & 1) * 0))
7498+#define CVMX_PCIERCX_CFG461(offset) \
7499+ (0x0000000000000734ull + (((offset) & 1) * 0))
7500+#define CVMX_PCIERCX_CFG462(offset) \
7501+ (0x0000000000000738ull + (((offset) & 1) * 0))
7502+#define CVMX_PCIERCX_CFG463(offset) \
7503+ (0x000000000000073Cull + (((offset) & 1) * 0))
7504+#define CVMX_PCIERCX_CFG464(offset) \
7505+ (0x0000000000000740ull + (((offset) & 1) * 0))
7506+#define CVMX_PCIERCX_CFG465(offset) \
7507+ (0x0000000000000744ull + (((offset) & 1) * 0))
7508+#define CVMX_PCIERCX_CFG466(offset) \
7509+ (0x0000000000000748ull + (((offset) & 1) * 0))
7510+#define CVMX_PCIERCX_CFG467(offset) \
7511+ (0x000000000000074Cull + (((offset) & 1) * 0))
7512+#define CVMX_PCIERCX_CFG468(offset) \
7513+ (0x0000000000000750ull + (((offset) & 1) * 0))
7514+#define CVMX_PCIERCX_CFG490(offset) \
7515+ (0x00000000000007A8ull + (((offset) & 1) * 0))
7516+#define CVMX_PCIERCX_CFG491(offset) \
7517+ (0x00000000000007ACull + (((offset) & 1) * 0))
7518+#define CVMX_PCIERCX_CFG492(offset) \
7519+ (0x00000000000007B0ull + (((offset) & 1) * 0))
7520+#define CVMX_PCIERCX_CFG516(offset) \
7521+ (0x0000000000000810ull + (((offset) & 1) * 0))
7522+#define CVMX_PCIERCX_CFG517(offset) \
7523+ (0x0000000000000814ull + (((offset) & 1) * 0))
7524+
7525+union cvmx_pciercx_cfg000 {
7526+ uint32_t u32;
7527+ struct cvmx_pciercx_cfg000_s {
7528+ uint32_t devid:16;
7529+ uint32_t vendid:16;
7530+ } s;
7531+ struct cvmx_pciercx_cfg000_s cn52xx;
7532+ struct cvmx_pciercx_cfg000_s cn52xxp1;
7533+ struct cvmx_pciercx_cfg000_s cn56xx;
7534+ struct cvmx_pciercx_cfg000_s cn56xxp1;
7535+};
7536+
7537+union cvmx_pciercx_cfg001 {
7538+ uint32_t u32;
7539+ struct cvmx_pciercx_cfg001_s {
7540+ uint32_t dpe:1;
7541+ uint32_t sse:1;
7542+ uint32_t rma:1;
7543+ uint32_t rta:1;
7544+ uint32_t sta:1;
7545+ uint32_t devt:2;
7546+ uint32_t mdpe:1;
7547+ uint32_t fbb:1;
7548+ uint32_t reserved_22_22:1;
7549+ uint32_t m66:1;
7550+ uint32_t cl:1;
7551+ uint32_t i_stat:1;
7552+ uint32_t reserved_11_18:8;
7553+ uint32_t i_dis:1;
7554+ uint32_t fbbe:1;
7555+ uint32_t see:1;
7556+ uint32_t ids_wcc:1;
7557+ uint32_t per:1;
7558+ uint32_t vps:1;
7559+ uint32_t mwice:1;
7560+ uint32_t scse:1;
7561+ uint32_t me:1;
7562+ uint32_t msae:1;
7563+ uint32_t isae:1;
7564+ } s;
7565+ struct cvmx_pciercx_cfg001_s cn52xx;
7566+ struct cvmx_pciercx_cfg001_s cn52xxp1;
7567+ struct cvmx_pciercx_cfg001_s cn56xx;
7568+ struct cvmx_pciercx_cfg001_s cn56xxp1;
7569+};
7570+
7571+union cvmx_pciercx_cfg002 {
7572+ uint32_t u32;
7573+ struct cvmx_pciercx_cfg002_s {
7574+ uint32_t bcc:8;
7575+ uint32_t sc:8;
7576+ uint32_t pi:8;
7577+ uint32_t rid:8;
7578+ } s;
7579+ struct cvmx_pciercx_cfg002_s cn52xx;
7580+ struct cvmx_pciercx_cfg002_s cn52xxp1;
7581+ struct cvmx_pciercx_cfg002_s cn56xx;
7582+ struct cvmx_pciercx_cfg002_s cn56xxp1;
7583+};
7584+
7585+union cvmx_pciercx_cfg003 {
7586+ uint32_t u32;
7587+ struct cvmx_pciercx_cfg003_s {
7588+ uint32_t bist:8;
7589+ uint32_t mfd:1;
7590+ uint32_t chf:7;
7591+ uint32_t lt:8;
7592+ uint32_t cls:8;
7593+ } s;
7594+ struct cvmx_pciercx_cfg003_s cn52xx;
7595+ struct cvmx_pciercx_cfg003_s cn52xxp1;
7596+ struct cvmx_pciercx_cfg003_s cn56xx;
7597+ struct cvmx_pciercx_cfg003_s cn56xxp1;
7598+};
7599+
7600+union cvmx_pciercx_cfg004 {
7601+ uint32_t u32;
7602+ struct cvmx_pciercx_cfg004_s {
7603+ uint32_t reserved_0_31:32;
7604+ } s;
7605+ struct cvmx_pciercx_cfg004_s cn52xx;
7606+ struct cvmx_pciercx_cfg004_s cn52xxp1;
7607+ struct cvmx_pciercx_cfg004_s cn56xx;
7608+ struct cvmx_pciercx_cfg004_s cn56xxp1;
7609+};
7610+
7611+union cvmx_pciercx_cfg005 {
7612+ uint32_t u32;
7613+ struct cvmx_pciercx_cfg005_s {
7614+ uint32_t reserved_0_31:32;
7615+ } s;
7616+ struct cvmx_pciercx_cfg005_s cn52xx;
7617+ struct cvmx_pciercx_cfg005_s cn52xxp1;
7618+ struct cvmx_pciercx_cfg005_s cn56xx;
7619+ struct cvmx_pciercx_cfg005_s cn56xxp1;
7620+};
7621+
7622+union cvmx_pciercx_cfg006 {
7623+ uint32_t u32;
7624+ struct cvmx_pciercx_cfg006_s {
7625+ uint32_t slt:8;
7626+ uint32_t subbnum:8;
7627+ uint32_t sbnum:8;
7628+ uint32_t pbnum:8;
7629+ } s;
7630+ struct cvmx_pciercx_cfg006_s cn52xx;
7631+ struct cvmx_pciercx_cfg006_s cn52xxp1;
7632+ struct cvmx_pciercx_cfg006_s cn56xx;
7633+ struct cvmx_pciercx_cfg006_s cn56xxp1;
7634+};
7635+
7636+union cvmx_pciercx_cfg007 {
7637+ uint32_t u32;
7638+ struct cvmx_pciercx_cfg007_s {
7639+ uint32_t dpe:1;
7640+ uint32_t sse:1;
7641+ uint32_t rma:1;
7642+ uint32_t rta:1;
7643+ uint32_t sta:1;
7644+ uint32_t devt:2;
7645+ uint32_t mdpe:1;
7646+ uint32_t fbb:1;
7647+ uint32_t reserved_22_22:1;
7648+ uint32_t m66:1;
7649+ uint32_t reserved_16_20:5;
7650+ uint32_t lio_limi:4;
7651+ uint32_t reserved_9_11:3;
7652+ uint32_t io32b:1;
7653+ uint32_t lio_base:4;
7654+ uint32_t reserved_1_3:3;
7655+ uint32_t io32a:1;
7656+ } s;
7657+ struct cvmx_pciercx_cfg007_s cn52xx;
7658+ struct cvmx_pciercx_cfg007_s cn52xxp1;
7659+ struct cvmx_pciercx_cfg007_s cn56xx;
7660+ struct cvmx_pciercx_cfg007_s cn56xxp1;
7661+};
7662+
7663+union cvmx_pciercx_cfg008 {
7664+ uint32_t u32;
7665+ struct cvmx_pciercx_cfg008_s {
7666+ uint32_t ml_addr:12;
7667+ uint32_t reserved_16_19:4;
7668+ uint32_t mb_addr:12;
7669+ uint32_t reserved_0_3:4;
7670+ } s;
7671+ struct cvmx_pciercx_cfg008_s cn52xx;
7672+ struct cvmx_pciercx_cfg008_s cn52xxp1;
7673+ struct cvmx_pciercx_cfg008_s cn56xx;
7674+ struct cvmx_pciercx_cfg008_s cn56xxp1;
7675+};
7676+
7677+union cvmx_pciercx_cfg009 {
7678+ uint32_t u32;
7679+ struct cvmx_pciercx_cfg009_s {
7680+ uint32_t lmem_limit:12;
7681+ uint32_t reserved_17_19:3;
7682+ uint32_t mem64b:1;
7683+ uint32_t lmem_base:12;
7684+ uint32_t reserved_1_3:3;
7685+ uint32_t mem64a:1;
7686+ } s;
7687+ struct cvmx_pciercx_cfg009_s cn52xx;
7688+ struct cvmx_pciercx_cfg009_s cn52xxp1;
7689+ struct cvmx_pciercx_cfg009_s cn56xx;
7690+ struct cvmx_pciercx_cfg009_s cn56xxp1;
7691+};
7692+
7693+union cvmx_pciercx_cfg010 {
7694+ uint32_t u32;
7695+ struct cvmx_pciercx_cfg010_s {
7696+ uint32_t umem_base:32;
7697+ } s;
7698+ struct cvmx_pciercx_cfg010_s cn52xx;
7699+ struct cvmx_pciercx_cfg010_s cn52xxp1;
7700+ struct cvmx_pciercx_cfg010_s cn56xx;
7701+ struct cvmx_pciercx_cfg010_s cn56xxp1;
7702+};
7703+
7704+union cvmx_pciercx_cfg011 {
7705+ uint32_t u32;
7706+ struct cvmx_pciercx_cfg011_s {
7707+ uint32_t umem_limit:32;
7708+ } s;
7709+ struct cvmx_pciercx_cfg011_s cn52xx;
7710+ struct cvmx_pciercx_cfg011_s cn52xxp1;
7711+ struct cvmx_pciercx_cfg011_s cn56xx;
7712+ struct cvmx_pciercx_cfg011_s cn56xxp1;
7713+};
7714+
7715+union cvmx_pciercx_cfg012 {
7716+ uint32_t u32;
7717+ struct cvmx_pciercx_cfg012_s {
7718+ uint32_t uio_limit:16;
7719+ uint32_t uio_base:16;
7720+ } s;
7721+ struct cvmx_pciercx_cfg012_s cn52xx;
7722+ struct cvmx_pciercx_cfg012_s cn52xxp1;
7723+ struct cvmx_pciercx_cfg012_s cn56xx;
7724+ struct cvmx_pciercx_cfg012_s cn56xxp1;
7725+};
7726+
7727+union cvmx_pciercx_cfg013 {
7728+ uint32_t u32;
7729+ struct cvmx_pciercx_cfg013_s {
7730+ uint32_t reserved_8_31:24;
7731+ uint32_t cp:8;
7732+ } s;
7733+ struct cvmx_pciercx_cfg013_s cn52xx;
7734+ struct cvmx_pciercx_cfg013_s cn52xxp1;
7735+ struct cvmx_pciercx_cfg013_s cn56xx;
7736+ struct cvmx_pciercx_cfg013_s cn56xxp1;
7737+};
7738+
7739+union cvmx_pciercx_cfg014 {
7740+ uint32_t u32;
7741+ struct cvmx_pciercx_cfg014_s {
7742+ uint32_t reserved_0_31:32;
7743+ } s;
7744+ struct cvmx_pciercx_cfg014_s cn52xx;
7745+ struct cvmx_pciercx_cfg014_s cn52xxp1;
7746+ struct cvmx_pciercx_cfg014_s cn56xx;
7747+ struct cvmx_pciercx_cfg014_s cn56xxp1;
7748+};
7749+
7750+union cvmx_pciercx_cfg015 {
7751+ uint32_t u32;
7752+ struct cvmx_pciercx_cfg015_s {
7753+ uint32_t reserved_28_31:4;
7754+ uint32_t dtsees:1;
7755+ uint32_t dts:1;
7756+ uint32_t sdt:1;
7757+ uint32_t pdt:1;
7758+ uint32_t fbbe:1;
7759+ uint32_t sbrst:1;
7760+ uint32_t mam:1;
7761+ uint32_t vga16d:1;
7762+ uint32_t vgae:1;
7763+ uint32_t isae:1;
7764+ uint32_t see:1;
7765+ uint32_t pere:1;
7766+ uint32_t inta:8;
7767+ uint32_t il:8;
7768+ } s;
7769+ struct cvmx_pciercx_cfg015_s cn52xx;
7770+ struct cvmx_pciercx_cfg015_s cn52xxp1;
7771+ struct cvmx_pciercx_cfg015_s cn56xx;
7772+ struct cvmx_pciercx_cfg015_s cn56xxp1;
7773+};
7774+
7775+union cvmx_pciercx_cfg016 {
7776+ uint32_t u32;
7777+ struct cvmx_pciercx_cfg016_s {
7778+ uint32_t pmes:5;
7779+ uint32_t d2s:1;
7780+ uint32_t d1s:1;
7781+ uint32_t auxc:3;
7782+ uint32_t dsi:1;
7783+ uint32_t reserved_20_20:1;
7784+ uint32_t pme_clock:1;
7785+ uint32_t pmsv:3;
7786+ uint32_t ncp:8;
7787+ uint32_t pmcid:8;
7788+ } s;
7789+ struct cvmx_pciercx_cfg016_s cn52xx;
7790+ struct cvmx_pciercx_cfg016_s cn52xxp1;
7791+ struct cvmx_pciercx_cfg016_s cn56xx;
7792+ struct cvmx_pciercx_cfg016_s cn56xxp1;
7793+};
7794+
7795+union cvmx_pciercx_cfg017 {
7796+ uint32_t u32;
7797+ struct cvmx_pciercx_cfg017_s {
7798+ uint32_t pmdia:8;
7799+ uint32_t bpccee:1;
7800+ uint32_t bd3h:1;
7801+ uint32_t reserved_16_21:6;
7802+ uint32_t pmess:1;
7803+ uint32_t pmedsia:2;
7804+ uint32_t pmds:4;
7805+ uint32_t pmeens:1;
7806+ uint32_t reserved_4_7:4;
7807+ uint32_t nsr:1;
7808+ uint32_t reserved_2_2:1;
7809+ uint32_t ps:2;
7810+ } s;
7811+ struct cvmx_pciercx_cfg017_s cn52xx;
7812+ struct cvmx_pciercx_cfg017_s cn52xxp1;
7813+ struct cvmx_pciercx_cfg017_s cn56xx;
7814+ struct cvmx_pciercx_cfg017_s cn56xxp1;
7815+};
7816+
7817+union cvmx_pciercx_cfg020 {
7818+ uint32_t u32;
7819+ struct cvmx_pciercx_cfg020_s {
7820+ uint32_t reserved_24_31:8;
7821+ uint32_t m64:1;
7822+ uint32_t mme:3;
7823+ uint32_t mmc:3;
7824+ uint32_t msien:1;
7825+ uint32_t ncp:8;
7826+ uint32_t msicid:8;
7827+ } s;
7828+ struct cvmx_pciercx_cfg020_s cn52xx;
7829+ struct cvmx_pciercx_cfg020_s cn52xxp1;
7830+ struct cvmx_pciercx_cfg020_s cn56xx;
7831+ struct cvmx_pciercx_cfg020_s cn56xxp1;
7832+};
7833+
7834+union cvmx_pciercx_cfg021 {
7835+ uint32_t u32;
7836+ struct cvmx_pciercx_cfg021_s {
7837+ uint32_t lmsi:30;
7838+ uint32_t reserved_0_1:2;
7839+ } s;
7840+ struct cvmx_pciercx_cfg021_s cn52xx;
7841+ struct cvmx_pciercx_cfg021_s cn52xxp1;
7842+ struct cvmx_pciercx_cfg021_s cn56xx;
7843+ struct cvmx_pciercx_cfg021_s cn56xxp1;
7844+};
7845+
7846+union cvmx_pciercx_cfg022 {
7847+ uint32_t u32;
7848+ struct cvmx_pciercx_cfg022_s {
7849+ uint32_t umsi:32;
7850+ } s;
7851+ struct cvmx_pciercx_cfg022_s cn52xx;
7852+ struct cvmx_pciercx_cfg022_s cn52xxp1;
7853+ struct cvmx_pciercx_cfg022_s cn56xx;
7854+ struct cvmx_pciercx_cfg022_s cn56xxp1;
7855+};
7856+
7857+union cvmx_pciercx_cfg023 {
7858+ uint32_t u32;
7859+ struct cvmx_pciercx_cfg023_s {
7860+ uint32_t reserved_16_31:16;
7861+ uint32_t msimd:16;
7862+ } s;
7863+ struct cvmx_pciercx_cfg023_s cn52xx;
7864+ struct cvmx_pciercx_cfg023_s cn52xxp1;
7865+ struct cvmx_pciercx_cfg023_s cn56xx;
7866+ struct cvmx_pciercx_cfg023_s cn56xxp1;
7867+};
7868+
7869+union cvmx_pciercx_cfg028 {
7870+ uint32_t u32;
7871+ struct cvmx_pciercx_cfg028_s {
7872+ uint32_t reserved_30_31:2;
7873+ uint32_t imn:5;
7874+ uint32_t si:1;
7875+ uint32_t dpt:4;
7876+ uint32_t pciecv:4;
7877+ uint32_t ncp:8;
7878+ uint32_t pcieid:8;
7879+ } s;
7880+ struct cvmx_pciercx_cfg028_s cn52xx;
7881+ struct cvmx_pciercx_cfg028_s cn52xxp1;
7882+ struct cvmx_pciercx_cfg028_s cn56xx;
7883+ struct cvmx_pciercx_cfg028_s cn56xxp1;
7884+};
7885+
7886+union cvmx_pciercx_cfg029 {
7887+ uint32_t u32;
7888+ struct cvmx_pciercx_cfg029_s {
7889+ uint32_t reserved_28_31:4;
7890+ uint32_t cspls:2;
7891+ uint32_t csplv:8;
7892+ uint32_t reserved_16_17:2;
7893+ uint32_t rber:1;
7894+ uint32_t reserved_12_14:3;
7895+ uint32_t el1al:3;
7896+ uint32_t el0al:3;
7897+ uint32_t etfs:1;
7898+ uint32_t pfs:2;
7899+ uint32_t mpss:3;
7900+ } s;
7901+ struct cvmx_pciercx_cfg029_s cn52xx;
7902+ struct cvmx_pciercx_cfg029_s cn52xxp1;
7903+ struct cvmx_pciercx_cfg029_s cn56xx;
7904+ struct cvmx_pciercx_cfg029_s cn56xxp1;
7905+};
7906+
7907+union cvmx_pciercx_cfg030 {
7908+ uint32_t u32;
7909+ struct cvmx_pciercx_cfg030_s {
7910+ uint32_t reserved_22_31:10;
7911+ uint32_t tp:1;
7912+ uint32_t ap_d:1;
7913+ uint32_t ur_d:1;
7914+ uint32_t fe_d:1;
7915+ uint32_t nfe_d:1;
7916+ uint32_t ce_d:1;
7917+ uint32_t reserved_15_15:1;
7918+ uint32_t mrrs:3;
7919+ uint32_t ns_en:1;
7920+ uint32_t ap_en:1;
7921+ uint32_t pf_en:1;
7922+ uint32_t etf_en:1;
7923+ uint32_t mps:3;
7924+ uint32_t ro_en:1;
7925+ uint32_t ur_en:1;
7926+ uint32_t fe_en:1;
7927+ uint32_t nfe_en:1;
7928+ uint32_t ce_en:1;
7929+ } s;
7930+ struct cvmx_pciercx_cfg030_s cn52xx;
7931+ struct cvmx_pciercx_cfg030_s cn52xxp1;
7932+ struct cvmx_pciercx_cfg030_s cn56xx;
7933+ struct cvmx_pciercx_cfg030_s cn56xxp1;
7934+};
7935+
7936+union cvmx_pciercx_cfg031 {
7937+ uint32_t u32;
7938+ struct cvmx_pciercx_cfg031_s {
7939+ uint32_t pnum:8;
7940+ uint32_t reserved_22_23:2;
7941+ uint32_t lbnc:1;
7942+ uint32_t dllarc:1;
7943+ uint32_t sderc:1;
7944+ uint32_t cpm:1;
7945+ uint32_t l1el:3;
7946+ uint32_t l0el:3;
7947+ uint32_t aslpms:2;
7948+ uint32_t mlw:6;
7949+ uint32_t mls:4;
7950+ } s;
7951+ struct cvmx_pciercx_cfg031_s cn52xx;
7952+ struct cvmx_pciercx_cfg031_s cn52xxp1;
7953+ struct cvmx_pciercx_cfg031_s cn56xx;
7954+ struct cvmx_pciercx_cfg031_s cn56xxp1;
7955+};
7956+
7957+union cvmx_pciercx_cfg032 {
7958+ uint32_t u32;
7959+ struct cvmx_pciercx_cfg032_s {
7960+ uint32_t lab:1;
7961+ uint32_t lbm:1;
7962+ uint32_t dlla:1;
7963+ uint32_t scc:1;
7964+ uint32_t lt:1;
7965+ uint32_t reserved_26_26:1;
7966+ uint32_t nlw:6;
7967+ uint32_t ls:4;
7968+ uint32_t reserved_12_15:4;
7969+ uint32_t lab_int_enb:1;
7970+ uint32_t lbm_int_enb:1;
7971+ uint32_t hawd:1;
7972+ uint32_t ecpm:1;
7973+ uint32_t es:1;
7974+ uint32_t ccc:1;
7975+ uint32_t rl:1;
7976+ uint32_t ld:1;
7977+ uint32_t rcb:1;
7978+ uint32_t reserved_2_2:1;
7979+ uint32_t aslpc:2;
7980+ } s;
7981+ struct cvmx_pciercx_cfg032_s cn52xx;
7982+ struct cvmx_pciercx_cfg032_s cn52xxp1;
7983+ struct cvmx_pciercx_cfg032_s cn56xx;
7984+ struct cvmx_pciercx_cfg032_s cn56xxp1;
7985+};
7986+
7987+union cvmx_pciercx_cfg033 {
7988+ uint32_t u32;
7989+ struct cvmx_pciercx_cfg033_s {
7990+ uint32_t ps_num:13;
7991+ uint32_t nccs:1;
7992+ uint32_t emip:1;
7993+ uint32_t sp_ls:2;
7994+ uint32_t sp_lv:8;
7995+ uint32_t hp_c:1;
7996+ uint32_t hp_s:1;
7997+ uint32_t pip:1;
7998+ uint32_t aip:1;
7999+ uint32_t mrlsp:1;
8000+ uint32_t pcp:1;
8001+ uint32_t abp:1;
8002+ } s;
8003+ struct cvmx_pciercx_cfg033_s cn52xx;
8004+ struct cvmx_pciercx_cfg033_s cn52xxp1;
8005+ struct cvmx_pciercx_cfg033_s cn56xx;
8006+ struct cvmx_pciercx_cfg033_s cn56xxp1;
8007+};
8008+
8009+union cvmx_pciercx_cfg034 {
8010+ uint32_t u32;
8011+ struct cvmx_pciercx_cfg034_s {
8012+ uint32_t reserved_25_31:7;
8013+ uint32_t dlls_c:1;
8014+ uint32_t emis:1;
8015+ uint32_t pds:1;
8016+ uint32_t mrlss:1;
8017+ uint32_t ccint_d:1;
8018+ uint32_t pd_c:1;
8019+ uint32_t mrls_c:1;
8020+ uint32_t pf_d:1;
8021+ uint32_t abp_d:1;
8022+ uint32_t reserved_13_15:3;
8023+ uint32_t dlls_en:1;
8024+ uint32_t emic:1;
8025+ uint32_t pcc:1;
8026+ uint32_t pic:2;
8027+ uint32_t aic:2;
8028+ uint32_t hpint_en:1;
8029+ uint32_t ccint_en:1;
8030+ uint32_t pd_en:1;
8031+ uint32_t mrls_en:1;
8032+ uint32_t pf_en:1;
8033+ uint32_t abp_en:1;
8034+ } s;
8035+ struct cvmx_pciercx_cfg034_s cn52xx;
8036+ struct cvmx_pciercx_cfg034_s cn52xxp1;
8037+ struct cvmx_pciercx_cfg034_s cn56xx;
8038+ struct cvmx_pciercx_cfg034_s cn56xxp1;
8039+};
8040+
8041+union cvmx_pciercx_cfg035 {
8042+ uint32_t u32;
8043+ struct cvmx_pciercx_cfg035_s {
8044+ uint32_t reserved_17_31:15;
8045+ uint32_t crssv:1;
8046+ uint32_t reserved_5_15:11;
8047+ uint32_t crssve:1;
8048+ uint32_t pmeie:1;
8049+ uint32_t sefee:1;
8050+ uint32_t senfee:1;
8051+ uint32_t secee:1;
8052+ } s;
8053+ struct cvmx_pciercx_cfg035_s cn52xx;
8054+ struct cvmx_pciercx_cfg035_s cn52xxp1;
8055+ struct cvmx_pciercx_cfg035_s cn56xx;
8056+ struct cvmx_pciercx_cfg035_s cn56xxp1;
8057+};
8058+
8059+union cvmx_pciercx_cfg036 {
8060+ uint32_t u32;
8061+ struct cvmx_pciercx_cfg036_s {
8062+ uint32_t reserved_18_31:14;
8063+ uint32_t pme_pend:1;
8064+ uint32_t pme_stat:1;
8065+ uint32_t pme_rid:16;
8066+ } s;
8067+ struct cvmx_pciercx_cfg036_s cn52xx;
8068+ struct cvmx_pciercx_cfg036_s cn52xxp1;
8069+ struct cvmx_pciercx_cfg036_s cn56xx;
8070+ struct cvmx_pciercx_cfg036_s cn56xxp1;
8071+};
8072+
8073+union cvmx_pciercx_cfg037 {
8074+ uint32_t u32;
8075+ struct cvmx_pciercx_cfg037_s {
8076+ uint32_t reserved_5_31:27;
8077+ uint32_t ctds:1;
8078+ uint32_t ctrs:4;
8079+ } s;
8080+ struct cvmx_pciercx_cfg037_s cn52xx;
8081+ struct cvmx_pciercx_cfg037_s cn52xxp1;
8082+ struct cvmx_pciercx_cfg037_s cn56xx;
8083+ struct cvmx_pciercx_cfg037_s cn56xxp1;
8084+};
8085+
8086+union cvmx_pciercx_cfg038 {
8087+ uint32_t u32;
8088+ struct cvmx_pciercx_cfg038_s {
8089+ uint32_t reserved_5_31:27;
8090+ uint32_t ctd:1;
8091+ uint32_t ctv:4;
8092+ } s;
8093+ struct cvmx_pciercx_cfg038_s cn52xx;
8094+ struct cvmx_pciercx_cfg038_s cn52xxp1;
8095+ struct cvmx_pciercx_cfg038_s cn56xx;
8096+ struct cvmx_pciercx_cfg038_s cn56xxp1;
8097+};
8098+
8099+union cvmx_pciercx_cfg039 {
8100+ uint32_t u32;
8101+ struct cvmx_pciercx_cfg039_s {
8102+ uint32_t reserved_0_31:32;
8103+ } s;
8104+ struct cvmx_pciercx_cfg039_s cn52xx;
8105+ struct cvmx_pciercx_cfg039_s cn52xxp1;
8106+ struct cvmx_pciercx_cfg039_s cn56xx;
8107+ struct cvmx_pciercx_cfg039_s cn56xxp1;
8108+};
8109+
8110+union cvmx_pciercx_cfg040 {
8111+ uint32_t u32;
8112+ struct cvmx_pciercx_cfg040_s {
8113+ uint32_t reserved_0_31:32;
8114+ } s;
8115+ struct cvmx_pciercx_cfg040_s cn52xx;
8116+ struct cvmx_pciercx_cfg040_s cn52xxp1;
8117+ struct cvmx_pciercx_cfg040_s cn56xx;
8118+ struct cvmx_pciercx_cfg040_s cn56xxp1;
8119+};
8120+
8121+union cvmx_pciercx_cfg041 {
8122+ uint32_t u32;
8123+ struct cvmx_pciercx_cfg041_s {
8124+ uint32_t reserved_0_31:32;
8125+ } s;
8126+ struct cvmx_pciercx_cfg041_s cn52xx;
8127+ struct cvmx_pciercx_cfg041_s cn52xxp1;
8128+ struct cvmx_pciercx_cfg041_s cn56xx;
8129+ struct cvmx_pciercx_cfg041_s cn56xxp1;
8130+};
8131+
8132+union cvmx_pciercx_cfg042 {
8133+ uint32_t u32;
8134+ struct cvmx_pciercx_cfg042_s {
8135+ uint32_t reserved_0_31:32;
8136+ } s;
8137+ struct cvmx_pciercx_cfg042_s cn52xx;
8138+ struct cvmx_pciercx_cfg042_s cn52xxp1;
8139+ struct cvmx_pciercx_cfg042_s cn56xx;
8140+ struct cvmx_pciercx_cfg042_s cn56xxp1;
8141+};
8142+
8143+union cvmx_pciercx_cfg064 {
8144+ uint32_t u32;
8145+ struct cvmx_pciercx_cfg064_s {
8146+ uint32_t nco:12;
8147+ uint32_t cv:4;
8148+ uint32_t pcieec:16;
8149+ } s;
8150+ struct cvmx_pciercx_cfg064_s cn52xx;
8151+ struct cvmx_pciercx_cfg064_s cn52xxp1;
8152+ struct cvmx_pciercx_cfg064_s cn56xx;
8153+ struct cvmx_pciercx_cfg064_s cn56xxp1;
8154+};
8155+
8156+union cvmx_pciercx_cfg065 {
8157+ uint32_t u32;
8158+ struct cvmx_pciercx_cfg065_s {
8159+ uint32_t reserved_21_31:11;
8160+ uint32_t ures:1;
8161+ uint32_t ecrces:1;
8162+ uint32_t mtlps:1;
8163+ uint32_t ros:1;
8164+ uint32_t ucs:1;
8165+ uint32_t cas:1;
8166+ uint32_t cts:1;
8167+ uint32_t fcpes:1;
8168+ uint32_t ptlps:1;
8169+ uint32_t reserved_6_11:6;
8170+ uint32_t sdes:1;
8171+ uint32_t dlpes:1;
8172+ uint32_t reserved_0_3:4;
8173+ } s;
8174+ struct cvmx_pciercx_cfg065_s cn52xx;
8175+ struct cvmx_pciercx_cfg065_s cn52xxp1;
8176+ struct cvmx_pciercx_cfg065_s cn56xx;
8177+ struct cvmx_pciercx_cfg065_s cn56xxp1;
8178+};
8179+
8180+union cvmx_pciercx_cfg066 {
8181+ uint32_t u32;
8182+ struct cvmx_pciercx_cfg066_s {
8183+ uint32_t reserved_21_31:11;
8184+ uint32_t urem:1;
8185+ uint32_t ecrcem:1;
8186+ uint32_t mtlpm:1;
8187+ uint32_t rom:1;
8188+ uint32_t ucm:1;
8189+ uint32_t cam:1;
8190+ uint32_t ctm:1;
8191+ uint32_t fcpem:1;
8192+ uint32_t ptlpm:1;
8193+ uint32_t reserved_6_11:6;
8194+ uint32_t sdem:1;
8195+ uint32_t dlpem:1;
8196+ uint32_t reserved_0_3:4;
8197+ } s;
8198+ struct cvmx_pciercx_cfg066_s cn52xx;
8199+ struct cvmx_pciercx_cfg066_s cn52xxp1;
8200+ struct cvmx_pciercx_cfg066_s cn56xx;
8201+ struct cvmx_pciercx_cfg066_s cn56xxp1;
8202+};
8203+
8204+union cvmx_pciercx_cfg067 {
8205+ uint32_t u32;
8206+ struct cvmx_pciercx_cfg067_s {
8207+ uint32_t reserved_21_31:11;
8208+ uint32_t ures:1;
8209+ uint32_t ecrces:1;
8210+ uint32_t mtlps:1;
8211+ uint32_t ros:1;
8212+ uint32_t ucs:1;
8213+ uint32_t cas:1;
8214+ uint32_t cts:1;
8215+ uint32_t fcpes:1;
8216+ uint32_t ptlps:1;
8217+ uint32_t reserved_6_11:6;
8218+ uint32_t sdes:1;
8219+ uint32_t dlpes:1;
8220+ uint32_t reserved_0_3:4;
8221+ } s;
8222+ struct cvmx_pciercx_cfg067_s cn52xx;
8223+ struct cvmx_pciercx_cfg067_s cn52xxp1;
8224+ struct cvmx_pciercx_cfg067_s cn56xx;
8225+ struct cvmx_pciercx_cfg067_s cn56xxp1;
8226+};
8227+
8228+union cvmx_pciercx_cfg068 {
8229+ uint32_t u32;
8230+ struct cvmx_pciercx_cfg068_s {
8231+ uint32_t reserved_14_31:18;
8232+ uint32_t anfes:1;
8233+ uint32_t rtts:1;
8234+ uint32_t reserved_9_11:3;
8235+ uint32_t rnrs:1;
8236+ uint32_t bdllps:1;
8237+ uint32_t btlps:1;
8238+ uint32_t reserved_1_5:5;
8239+ uint32_t res:1;
8240+ } s;
8241+ struct cvmx_pciercx_cfg068_s cn52xx;
8242+ struct cvmx_pciercx_cfg068_s cn52xxp1;
8243+ struct cvmx_pciercx_cfg068_s cn56xx;
8244+ struct cvmx_pciercx_cfg068_s cn56xxp1;
8245+};
8246+
8247+union cvmx_pciercx_cfg069 {
8248+ uint32_t u32;
8249+ struct cvmx_pciercx_cfg069_s {
8250+ uint32_t reserved_14_31:18;
8251+ uint32_t anfem:1;
8252+ uint32_t rttm:1;
8253+ uint32_t reserved_9_11:3;
8254+ uint32_t rnrm:1;
8255+ uint32_t bdllpm:1;
8256+ uint32_t btlpm:1;
8257+ uint32_t reserved_1_5:5;
8258+ uint32_t rem:1;
8259+ } s;
8260+ struct cvmx_pciercx_cfg069_s cn52xx;
8261+ struct cvmx_pciercx_cfg069_s cn52xxp1;
8262+ struct cvmx_pciercx_cfg069_s cn56xx;
8263+ struct cvmx_pciercx_cfg069_s cn56xxp1;
8264+};
8265+
8266+union cvmx_pciercx_cfg070 {
8267+ uint32_t u32;
8268+ struct cvmx_pciercx_cfg070_s {
8269+ uint32_t reserved_9_31:23;
8270+ uint32_t ce:1;
8271+ uint32_t cc:1;
8272+ uint32_t ge:1;
8273+ uint32_t gc:1;
8274+ uint32_t fep:5;
8275+ } s;
8276+ struct cvmx_pciercx_cfg070_s cn52xx;
8277+ struct cvmx_pciercx_cfg070_s cn52xxp1;
8278+ struct cvmx_pciercx_cfg070_s cn56xx;
8279+ struct cvmx_pciercx_cfg070_s cn56xxp1;
8280+};
8281+
8282+union cvmx_pciercx_cfg071 {
8283+ uint32_t u32;
8284+ struct cvmx_pciercx_cfg071_s {
8285+ uint32_t dword1:32;
8286+ } s;
8287+ struct cvmx_pciercx_cfg071_s cn52xx;
8288+ struct cvmx_pciercx_cfg071_s cn52xxp1;
8289+ struct cvmx_pciercx_cfg071_s cn56xx;
8290+ struct cvmx_pciercx_cfg071_s cn56xxp1;
8291+};
8292+
8293+union cvmx_pciercx_cfg072 {
8294+ uint32_t u32;
8295+ struct cvmx_pciercx_cfg072_s {
8296+ uint32_t dword2:32;
8297+ } s;
8298+ struct cvmx_pciercx_cfg072_s cn52xx;
8299+ struct cvmx_pciercx_cfg072_s cn52xxp1;
8300+ struct cvmx_pciercx_cfg072_s cn56xx;
8301+ struct cvmx_pciercx_cfg072_s cn56xxp1;
8302+};
8303+
8304+union cvmx_pciercx_cfg073 {
8305+ uint32_t u32;
8306+ struct cvmx_pciercx_cfg073_s {
8307+ uint32_t dword3:32;
8308+ } s;
8309+ struct cvmx_pciercx_cfg073_s cn52xx;
8310+ struct cvmx_pciercx_cfg073_s cn52xxp1;
8311+ struct cvmx_pciercx_cfg073_s cn56xx;
8312+ struct cvmx_pciercx_cfg073_s cn56xxp1;
8313+};
8314+
8315+union cvmx_pciercx_cfg074 {
8316+ uint32_t u32;
8317+ struct cvmx_pciercx_cfg074_s {
8318+ uint32_t dword4:32;
8319+ } s;
8320+ struct cvmx_pciercx_cfg074_s cn52xx;
8321+ struct cvmx_pciercx_cfg074_s cn52xxp1;
8322+ struct cvmx_pciercx_cfg074_s cn56xx;
8323+ struct cvmx_pciercx_cfg074_s cn56xxp1;
8324+};
8325+
8326+union cvmx_pciercx_cfg075 {
8327+ uint32_t u32;
8328+ struct cvmx_pciercx_cfg075_s {
8329+ uint32_t reserved_3_31:29;
8330+ uint32_t fere:1;
8331+ uint32_t nfere:1;
8332+ uint32_t cere:1;
8333+ } s;
8334+ struct cvmx_pciercx_cfg075_s cn52xx;
8335+ struct cvmx_pciercx_cfg075_s cn52xxp1;
8336+ struct cvmx_pciercx_cfg075_s cn56xx;
8337+ struct cvmx_pciercx_cfg075_s cn56xxp1;
8338+};
8339+
8340+union cvmx_pciercx_cfg076 {
8341+ uint32_t u32;
8342+ struct cvmx_pciercx_cfg076_s {
8343+ uint32_t aeimn:5;
8344+ uint32_t reserved_7_26:20;
8345+ uint32_t femr:1;
8346+ uint32_t nfemr:1;
8347+ uint32_t fuf:1;
8348+ uint32_t multi_efnfr:1;
8349+ uint32_t efnfr:1;
8350+ uint32_t multi_ecr:1;
8351+ uint32_t ecr:1;
8352+ } s;
8353+ struct cvmx_pciercx_cfg076_s cn52xx;
8354+ struct cvmx_pciercx_cfg076_s cn52xxp1;
8355+ struct cvmx_pciercx_cfg076_s cn56xx;
8356+ struct cvmx_pciercx_cfg076_s cn56xxp1;
8357+};
8358+
8359+union cvmx_pciercx_cfg077 {
8360+ uint32_t u32;
8361+ struct cvmx_pciercx_cfg077_s {
8362+ uint32_t efnfsi:16;
8363+ uint32_t ecsi:16;
8364+ } s;
8365+ struct cvmx_pciercx_cfg077_s cn52xx;
8366+ struct cvmx_pciercx_cfg077_s cn52xxp1;
8367+ struct cvmx_pciercx_cfg077_s cn56xx;
8368+ struct cvmx_pciercx_cfg077_s cn56xxp1;
8369+};
8370+
8371+union cvmx_pciercx_cfg448 {
8372+ uint32_t u32;
8373+ struct cvmx_pciercx_cfg448_s {
8374+ uint32_t rtl:16;
8375+ uint32_t rtltl:16;
8376+ } s;
8377+ struct cvmx_pciercx_cfg448_s cn52xx;
8378+ struct cvmx_pciercx_cfg448_s cn52xxp1;
8379+ struct cvmx_pciercx_cfg448_s cn56xx;
8380+ struct cvmx_pciercx_cfg448_s cn56xxp1;
8381+};
8382+
8383+union cvmx_pciercx_cfg449 {
8384+ uint32_t u32;
8385+ struct cvmx_pciercx_cfg449_s {
8386+ uint32_t omr:32;
8387+ } s;
8388+ struct cvmx_pciercx_cfg449_s cn52xx;
8389+ struct cvmx_pciercx_cfg449_s cn52xxp1;
8390+ struct cvmx_pciercx_cfg449_s cn56xx;
8391+ struct cvmx_pciercx_cfg449_s cn56xxp1;
8392+};
8393+
8394+union cvmx_pciercx_cfg450 {
8395+ uint32_t u32;
8396+ struct cvmx_pciercx_cfg450_s {
8397+ uint32_t lpec:8;
8398+ uint32_t reserved_22_23:2;
8399+ uint32_t link_state:6;
8400+ uint32_t force_link:1;
8401+ uint32_t reserved_8_14:7;
8402+ uint32_t link_num:8;
8403+ } s;
8404+ struct cvmx_pciercx_cfg450_s cn52xx;
8405+ struct cvmx_pciercx_cfg450_s cn52xxp1;
8406+ struct cvmx_pciercx_cfg450_s cn56xx;
8407+ struct cvmx_pciercx_cfg450_s cn56xxp1;
8408+};
8409+
8410+union cvmx_pciercx_cfg451 {
8411+ uint32_t u32;
8412+ struct cvmx_pciercx_cfg451_s {
8413+ uint32_t reserved_30_31:2;
8414+ uint32_t l1el:3;
8415+ uint32_t l0el:3;
8416+ uint32_t n_fts_cc:8;
8417+ uint32_t n_fts:8;
8418+ uint32_t ack_freq:8;
8419+ } s;
8420+ struct cvmx_pciercx_cfg451_s cn52xx;
8421+ struct cvmx_pciercx_cfg451_s cn52xxp1;
8422+ struct cvmx_pciercx_cfg451_s cn56xx;
8423+ struct cvmx_pciercx_cfg451_s cn56xxp1;
8424+};
8425+
8426+union cvmx_pciercx_cfg452 {
8427+ uint32_t u32;
8428+ struct cvmx_pciercx_cfg452_s {
8429+ uint32_t reserved_26_31:6;
8430+ uint32_t eccrc:1;
8431+ uint32_t reserved_22_24:3;
8432+ uint32_t lme:6;
8433+ uint32_t reserved_8_15:8;
8434+ uint32_t flm:1;
8435+ uint32_t reserved_6_6:1;
8436+ uint32_t dllle:1;
8437+ uint32_t reserved_4_4:1;
8438+ uint32_t ra:1;
8439+ uint32_t le:1;
8440+ uint32_t sd:1;
8441+ uint32_t omr:1;
8442+ } s;
8443+ struct cvmx_pciercx_cfg452_s cn52xx;
8444+ struct cvmx_pciercx_cfg452_s cn52xxp1;
8445+ struct cvmx_pciercx_cfg452_s cn56xx;
8446+ struct cvmx_pciercx_cfg452_s cn56xxp1;
8447+};
8448+
8449+union cvmx_pciercx_cfg453 {
8450+ uint32_t u32;
8451+ struct cvmx_pciercx_cfg453_s {
8452+ uint32_t dlld:1;
8453+ uint32_t reserved_26_30:5;
8454+ uint32_t ack_nak:1;
8455+ uint32_t fcd:1;
8456+ uint32_t ilst:24;
8457+ } s;
8458+ struct cvmx_pciercx_cfg453_s cn52xx;
8459+ struct cvmx_pciercx_cfg453_s cn52xxp1;
8460+ struct cvmx_pciercx_cfg453_s cn56xx;
8461+ struct cvmx_pciercx_cfg453_s cn56xxp1;
8462+};
8463+
8464+union cvmx_pciercx_cfg454 {
8465+ uint32_t u32;
8466+ struct cvmx_pciercx_cfg454_s {
8467+ uint32_t reserved_29_31:3;
8468+ uint32_t tmfcwt:5;
8469+ uint32_t tmanlt:5;
8470+ uint32_t tmrt:5;
8471+ uint32_t reserved_11_13:3;
8472+ uint32_t nskps:3;
8473+ uint32_t reserved_4_7:4;
8474+ uint32_t ntss:4;
8475+ } s;
8476+ struct cvmx_pciercx_cfg454_s cn52xx;
8477+ struct cvmx_pciercx_cfg454_s cn52xxp1;
8478+ struct cvmx_pciercx_cfg454_s cn56xx;
8479+ struct cvmx_pciercx_cfg454_s cn56xxp1;
8480+};
8481+
8482+union cvmx_pciercx_cfg455 {
8483+ uint32_t u32;
8484+ struct cvmx_pciercx_cfg455_s {
8485+ uint32_t m_cfg0_filt:1;
8486+ uint32_t m_io_filt:1;
8487+ uint32_t msg_ctrl:1;
8488+ uint32_t m_cpl_ecrc_filt:1;
8489+ uint32_t m_ecrc_filt:1;
8490+ uint32_t m_cpl_len_err:1;
8491+ uint32_t m_cpl_attr_err:1;
8492+ uint32_t m_cpl_tc_err:1;
8493+ uint32_t m_cpl_fun_err:1;
8494+ uint32_t m_cpl_rid_err:1;
8495+ uint32_t m_cpl_tag_err:1;
8496+ uint32_t m_lk_filt:1;
8497+ uint32_t m_cfg1_filt:1;
8498+ uint32_t m_bar_match:1;
8499+ uint32_t m_pois_filt:1;
8500+ uint32_t m_fun:1;
8501+ uint32_t dfcwt:1;
8502+ uint32_t reserved_11_14:4;
8503+ uint32_t skpiv:11;
8504+ } s;
8505+ struct cvmx_pciercx_cfg455_s cn52xx;
8506+ struct cvmx_pciercx_cfg455_s cn52xxp1;
8507+ struct cvmx_pciercx_cfg455_s cn56xx;
8508+ struct cvmx_pciercx_cfg455_s cn56xxp1;
8509+};
8510+
8511+union cvmx_pciercx_cfg456 {
8512+ uint32_t u32;
8513+ struct cvmx_pciercx_cfg456_s {
8514+ uint32_t reserved_2_31:30;
8515+ uint32_t m_vend1_drp:1;
8516+ uint32_t m_vend0_drp:1;
8517+ } s;
8518+ struct cvmx_pciercx_cfg456_s cn52xx;
8519+ struct cvmx_pciercx_cfg456_s cn52xxp1;
8520+ struct cvmx_pciercx_cfg456_s cn56xx;
8521+ struct cvmx_pciercx_cfg456_s cn56xxp1;
8522+};
8523+
8524+union cvmx_pciercx_cfg458 {
8525+ uint32_t u32;
8526+ struct cvmx_pciercx_cfg458_s {
8527+ uint32_t dbg_info_l32:32;
8528+ } s;
8529+ struct cvmx_pciercx_cfg458_s cn52xx;
8530+ struct cvmx_pciercx_cfg458_s cn52xxp1;
8531+ struct cvmx_pciercx_cfg458_s cn56xx;
8532+ struct cvmx_pciercx_cfg458_s cn56xxp1;
8533+};
8534+
8535+union cvmx_pciercx_cfg459 {
8536+ uint32_t u32;
8537+ struct cvmx_pciercx_cfg459_s {
8538+ uint32_t dbg_info_u32:32;
8539+ } s;
8540+ struct cvmx_pciercx_cfg459_s cn52xx;
8541+ struct cvmx_pciercx_cfg459_s cn52xxp1;
8542+ struct cvmx_pciercx_cfg459_s cn56xx;
8543+ struct cvmx_pciercx_cfg459_s cn56xxp1;
8544+};
8545+
8546+union cvmx_pciercx_cfg460 {
8547+ uint32_t u32;
8548+ struct cvmx_pciercx_cfg460_s {
8549+ uint32_t reserved_20_31:12;
8550+ uint32_t tphfcc:8;
8551+ uint32_t tpdfcc:12;
8552+ } s;
8553+ struct cvmx_pciercx_cfg460_s cn52xx;
8554+ struct cvmx_pciercx_cfg460_s cn52xxp1;
8555+ struct cvmx_pciercx_cfg460_s cn56xx;
8556+ struct cvmx_pciercx_cfg460_s cn56xxp1;
8557+};
8558+
8559+union cvmx_pciercx_cfg461 {
8560+ uint32_t u32;
8561+ struct cvmx_pciercx_cfg461_s {
8562+ uint32_t reserved_20_31:12;
8563+ uint32_t tchfcc:8;
8564+ uint32_t tcdfcc:12;
8565+ } s;
8566+ struct cvmx_pciercx_cfg461_s cn52xx;
8567+ struct cvmx_pciercx_cfg461_s cn52xxp1;
8568+ struct cvmx_pciercx_cfg461_s cn56xx;
8569+ struct cvmx_pciercx_cfg461_s cn56xxp1;
8570+};
8571+
8572+union cvmx_pciercx_cfg462 {
8573+ uint32_t u32;
8574+ struct cvmx_pciercx_cfg462_s {
8575+ uint32_t reserved_20_31:12;
8576+ uint32_t tchfcc:8;
8577+ uint32_t tcdfcc:12;
8578+ } s;
8579+ struct cvmx_pciercx_cfg462_s cn52xx;
8580+ struct cvmx_pciercx_cfg462_s cn52xxp1;
8581+ struct cvmx_pciercx_cfg462_s cn56xx;
8582+ struct cvmx_pciercx_cfg462_s cn56xxp1;
8583+};
8584+
8585+union cvmx_pciercx_cfg463 {
8586+ uint32_t u32;
8587+ struct cvmx_pciercx_cfg463_s {
8588+ uint32_t reserved_3_31:29;
8589+ uint32_t rqne:1;
8590+ uint32_t trbne:1;
8591+ uint32_t rtlpfccnr:1;
8592+ } s;
8593+ struct cvmx_pciercx_cfg463_s cn52xx;
8594+ struct cvmx_pciercx_cfg463_s cn52xxp1;
8595+ struct cvmx_pciercx_cfg463_s cn56xx;
8596+ struct cvmx_pciercx_cfg463_s cn56xxp1;
8597+};
8598+
8599+union cvmx_pciercx_cfg464 {
8600+ uint32_t u32;
8601+ struct cvmx_pciercx_cfg464_s {
8602+ uint32_t wrr_vc3:8;
8603+ uint32_t wrr_vc2:8;
8604+ uint32_t wrr_vc1:8;
8605+ uint32_t wrr_vc0:8;
8606+ } s;
8607+ struct cvmx_pciercx_cfg464_s cn52xx;
8608+ struct cvmx_pciercx_cfg464_s cn52xxp1;
8609+ struct cvmx_pciercx_cfg464_s cn56xx;
8610+ struct cvmx_pciercx_cfg464_s cn56xxp1;
8611+};
8612+
8613+union cvmx_pciercx_cfg465 {
8614+ uint32_t u32;
8615+ struct cvmx_pciercx_cfg465_s {
8616+ uint32_t wrr_vc7:8;
8617+ uint32_t wrr_vc6:8;
8618+ uint32_t wrr_vc5:8;
8619+ uint32_t wrr_vc4:8;
8620+ } s;
8621+ struct cvmx_pciercx_cfg465_s cn52xx;
8622+ struct cvmx_pciercx_cfg465_s cn52xxp1;
8623+ struct cvmx_pciercx_cfg465_s cn56xx;
8624+ struct cvmx_pciercx_cfg465_s cn56xxp1;
8625+};
8626+
8627+union cvmx_pciercx_cfg466 {
8628+ uint32_t u32;
8629+ struct cvmx_pciercx_cfg466_s {
8630+ uint32_t rx_queue_order:1;
8631+ uint32_t type_ordering:1;
8632+ uint32_t reserved_24_29:6;
8633+ uint32_t queue_mode:3;
8634+ uint32_t reserved_20_20:1;
8635+ uint32_t header_credits:8;
8636+ uint32_t data_credits:12;
8637+ } s;
8638+ struct cvmx_pciercx_cfg466_s cn52xx;
8639+ struct cvmx_pciercx_cfg466_s cn52xxp1;
8640+ struct cvmx_pciercx_cfg466_s cn56xx;
8641+ struct cvmx_pciercx_cfg466_s cn56xxp1;
8642+};
8643+
8644+union cvmx_pciercx_cfg467 {
8645+ uint32_t u32;
8646+ struct cvmx_pciercx_cfg467_s {
8647+ uint32_t reserved_24_31:8;
8648+ uint32_t queue_mode:3;
8649+ uint32_t reserved_20_20:1;
8650+ uint32_t header_credits:8;
8651+ uint32_t data_credits:12;
8652+ } s;
8653+ struct cvmx_pciercx_cfg467_s cn52xx;
8654+ struct cvmx_pciercx_cfg467_s cn52xxp1;
8655+ struct cvmx_pciercx_cfg467_s cn56xx;
8656+ struct cvmx_pciercx_cfg467_s cn56xxp1;
8657+};
8658+
8659+union cvmx_pciercx_cfg468 {
8660+ uint32_t u32;
8661+ struct cvmx_pciercx_cfg468_s {
8662+ uint32_t reserved_24_31:8;
8663+ uint32_t queue_mode:3;
8664+ uint32_t reserved_20_20:1;
8665+ uint32_t header_credits:8;
8666+ uint32_t data_credits:12;
8667+ } s;
8668+ struct cvmx_pciercx_cfg468_s cn52xx;
8669+ struct cvmx_pciercx_cfg468_s cn52xxp1;
8670+ struct cvmx_pciercx_cfg468_s cn56xx;
8671+ struct cvmx_pciercx_cfg468_s cn56xxp1;
8672+};
8673+
8674+union cvmx_pciercx_cfg490 {
8675+ uint32_t u32;
8676+ struct cvmx_pciercx_cfg490_s {
8677+ uint32_t reserved_26_31:6;
8678+ uint32_t header_depth:10;
8679+ uint32_t reserved_14_15:2;
8680+ uint32_t data_depth:14;
8681+ } s;
8682+ struct cvmx_pciercx_cfg490_s cn52xx;
8683+ struct cvmx_pciercx_cfg490_s cn52xxp1;
8684+ struct cvmx_pciercx_cfg490_s cn56xx;
8685+ struct cvmx_pciercx_cfg490_s cn56xxp1;
8686+};
8687+
8688+union cvmx_pciercx_cfg491 {
8689+ uint32_t u32;
8690+ struct cvmx_pciercx_cfg491_s {
8691+ uint32_t reserved_26_31:6;
8692+ uint32_t header_depth:10;
8693+ uint32_t reserved_14_15:2;
8694+ uint32_t data_depth:14;
8695+ } s;
8696+ struct cvmx_pciercx_cfg491_s cn52xx;
8697+ struct cvmx_pciercx_cfg491_s cn52xxp1;
8698+ struct cvmx_pciercx_cfg491_s cn56xx;
8699+ struct cvmx_pciercx_cfg491_s cn56xxp1;
8700+};
8701+
8702+union cvmx_pciercx_cfg492 {
8703+ uint32_t u32;
8704+ struct cvmx_pciercx_cfg492_s {
8705+ uint32_t reserved_26_31:6;
8706+ uint32_t header_depth:10;
8707+ uint32_t reserved_14_15:2;
8708+ uint32_t data_depth:14;
8709+ } s;
8710+ struct cvmx_pciercx_cfg492_s cn52xx;
8711+ struct cvmx_pciercx_cfg492_s cn52xxp1;
8712+ struct cvmx_pciercx_cfg492_s cn56xx;
8713+ struct cvmx_pciercx_cfg492_s cn56xxp1;
8714+};
8715+
8716+union cvmx_pciercx_cfg516 {
8717+ uint32_t u32;
8718+ struct cvmx_pciercx_cfg516_s {
8719+ uint32_t phy_stat:32;
8720+ } s;
8721+ struct cvmx_pciercx_cfg516_s cn52xx;
8722+ struct cvmx_pciercx_cfg516_s cn52xxp1;
8723+ struct cvmx_pciercx_cfg516_s cn56xx;
8724+ struct cvmx_pciercx_cfg516_s cn56xxp1;
8725+};
8726+
8727+union cvmx_pciercx_cfg517 {
8728+ uint32_t u32;
8729+ struct cvmx_pciercx_cfg517_s {
8730+ uint32_t phy_ctrl:32;
8731+ } s;
8732+ struct cvmx_pciercx_cfg517_s cn52xx;
8733+ struct cvmx_pciercx_cfg517_s cn52xxp1;
8734+ struct cvmx_pciercx_cfg517_s cn56xx;
8735+ struct cvmx_pciercx_cfg517_s cn56xxp1;
8736+};
8737+
8738+#endif
8739--- /dev/null
8740+++ b/arch/mips/include/asm/octeon/cvmx-pescx-defs.h
8741@@ -0,0 +1,410 @@
8742+/***********************license start***************
8743+ * Author: Cavium Networks
8744+ *
8745+ * Contact: support@caviumnetworks.com
8746+ * This file is part of the OCTEON SDK
8747+ *
8748+ * Copyright (c) 2003-2008 Cavium Networks
8749+ *
8750+ * This file is free software; you can redistribute it and/or modify
8751+ * it under the terms of the GNU General Public License, Version 2, as
8752+ * published by the Free Software Foundation.
8753+ *
8754+ * This file is distributed in the hope that it will be useful, but
8755+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
8756+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
8757+ * NONINFRINGEMENT. See the GNU General Public License for more
8758+ * details.
8759+ *
8760+ * You should have received a copy of the GNU General Public License
8761+ * along with this file; if not, write to the Free Software
8762+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
8763+ * or visit http://www.gnu.org/licenses/.
8764+ *
8765+ * This file may also be available under a different license from Cavium.
8766+ * Contact Cavium Networks for more information
8767+ ***********************license end**************************************/
8768+
8769+#ifndef __CVMX_PESCX_DEFS_H__
8770+#define __CVMX_PESCX_DEFS_H__
8771+
8772+#define CVMX_PESCX_BIST_STATUS(block_id) \
8773+ CVMX_ADD_IO_SEG(0x00011800C8000018ull + (((block_id) & 1) * 0x8000000ull))
8774+#define CVMX_PESCX_BIST_STATUS2(block_id) \
8775+ CVMX_ADD_IO_SEG(0x00011800C8000418ull + (((block_id) & 1) * 0x8000000ull))
8776+#define CVMX_PESCX_CFG_RD(block_id) \
8777+ CVMX_ADD_IO_SEG(0x00011800C8000030ull + (((block_id) & 1) * 0x8000000ull))
8778+#define CVMX_PESCX_CFG_WR(block_id) \
8779+ CVMX_ADD_IO_SEG(0x00011800C8000028ull + (((block_id) & 1) * 0x8000000ull))
8780+#define CVMX_PESCX_CPL_LUT_VALID(block_id) \
8781+ CVMX_ADD_IO_SEG(0x00011800C8000098ull + (((block_id) & 1) * 0x8000000ull))
8782+#define CVMX_PESCX_CTL_STATUS(block_id) \
8783+ CVMX_ADD_IO_SEG(0x00011800C8000000ull + (((block_id) & 1) * 0x8000000ull))
8784+#define CVMX_PESCX_CTL_STATUS2(block_id) \
8785+ CVMX_ADD_IO_SEG(0x00011800C8000400ull + (((block_id) & 1) * 0x8000000ull))
8786+#define CVMX_PESCX_DBG_INFO(block_id) \
8787+ CVMX_ADD_IO_SEG(0x00011800C8000008ull + (((block_id) & 1) * 0x8000000ull))
8788+#define CVMX_PESCX_DBG_INFO_EN(block_id) \
8789+ CVMX_ADD_IO_SEG(0x00011800C80000A0ull + (((block_id) & 1) * 0x8000000ull))
8790+#define CVMX_PESCX_DIAG_STATUS(block_id) \
8791+ CVMX_ADD_IO_SEG(0x00011800C8000020ull + (((block_id) & 1) * 0x8000000ull))
8792+#define CVMX_PESCX_P2N_BAR0_START(block_id) \
8793+ CVMX_ADD_IO_SEG(0x00011800C8000080ull + (((block_id) & 1) * 0x8000000ull))
8794+#define CVMX_PESCX_P2N_BAR1_START(block_id) \
8795+ CVMX_ADD_IO_SEG(0x00011800C8000088ull + (((block_id) & 1) * 0x8000000ull))
8796+#define CVMX_PESCX_P2N_BAR2_START(block_id) \
8797+ CVMX_ADD_IO_SEG(0x00011800C8000090ull + (((block_id) & 1) * 0x8000000ull))
8798+#define CVMX_PESCX_P2P_BARX_END(offset,block_id) \
8799+ CVMX_ADD_IO_SEG(0x00011800C8000048ull + (((offset) & 3) * 16) + (((block_id) & 1) * 0x8000000ull))
8800+#define CVMX_PESCX_P2P_BARX_START(offset,block_id) \
8801+ CVMX_ADD_IO_SEG(0x00011800C8000040ull + (((offset) & 3) * 16) + (((block_id) & 1) * 0x8000000ull))
8802+#define CVMX_PESCX_TLP_CREDITS(block_id) \
8803+ CVMX_ADD_IO_SEG(0x00011800C8000038ull + (((block_id) & 1) * 0x8000000ull))
8804+
8805+union cvmx_pescx_bist_status {
8806+ uint64_t u64;
8807+ struct cvmx_pescx_bist_status_s {
8808+ uint64_t reserved_13_63:51;
8809+ uint64_t rqdata5:1;
8810+ uint64_t ctlp_or:1;
8811+ uint64_t ntlp_or:1;
8812+ uint64_t ptlp_or:1;
8813+ uint64_t retry:1;
8814+ uint64_t rqdata0:1;
8815+ uint64_t rqdata1:1;
8816+ uint64_t rqdata2:1;
8817+ uint64_t rqdata3:1;
8818+ uint64_t rqdata4:1;
8819+ uint64_t rqhdr1:1;
8820+ uint64_t rqhdr0:1;
8821+ uint64_t sot:1;
8822+ } s;
8823+ struct cvmx_pescx_bist_status_s cn52xx;
8824+ struct cvmx_pescx_bist_status_cn52xxp1 {
8825+ uint64_t reserved_12_63:52;
8826+ uint64_t ctlp_or:1;
8827+ uint64_t ntlp_or:1;
8828+ uint64_t ptlp_or:1;
8829+ uint64_t retry:1;
8830+ uint64_t rqdata0:1;
8831+ uint64_t rqdata1:1;
8832+ uint64_t rqdata2:1;
8833+ uint64_t rqdata3:1;
8834+ uint64_t rqdata4:1;
8835+ uint64_t rqhdr1:1;
8836+ uint64_t rqhdr0:1;
8837+ uint64_t sot:1;
8838+ } cn52xxp1;
8839+ struct cvmx_pescx_bist_status_s cn56xx;
8840+ struct cvmx_pescx_bist_status_cn52xxp1 cn56xxp1;
8841+};
8842+
8843+union cvmx_pescx_bist_status2 {
8844+ uint64_t u64;
8845+ struct cvmx_pescx_bist_status2_s {
8846+ uint64_t reserved_14_63:50;
8847+ uint64_t cto_p2e:1;
8848+ uint64_t e2p_cpl:1;
8849+ uint64_t e2p_n:1;
8850+ uint64_t e2p_p:1;
8851+ uint64_t e2p_rsl:1;
8852+ uint64_t dbg_p2e:1;
8853+ uint64_t peai_p2e:1;
8854+ uint64_t rsl_p2e:1;
8855+ uint64_t pef_tpf1:1;
8856+ uint64_t pef_tpf0:1;
8857+ uint64_t pef_tnf:1;
8858+ uint64_t pef_tcf1:1;
8859+ uint64_t pef_tc0:1;
8860+ uint64_t ppf:1;
8861+ } s;
8862+ struct cvmx_pescx_bist_status2_s cn52xx;
8863+ struct cvmx_pescx_bist_status2_s cn52xxp1;
8864+ struct cvmx_pescx_bist_status2_s cn56xx;
8865+ struct cvmx_pescx_bist_status2_s cn56xxp1;
8866+};
8867+
8868+union cvmx_pescx_cfg_rd {
8869+ uint64_t u64;
8870+ struct cvmx_pescx_cfg_rd_s {
8871+ uint64_t data:32;
8872+ uint64_t addr:32;
8873+ } s;
8874+ struct cvmx_pescx_cfg_rd_s cn52xx;
8875+ struct cvmx_pescx_cfg_rd_s cn52xxp1;
8876+ struct cvmx_pescx_cfg_rd_s cn56xx;
8877+ struct cvmx_pescx_cfg_rd_s cn56xxp1;
8878+};
8879+
8880+union cvmx_pescx_cfg_wr {
8881+ uint64_t u64;
8882+ struct cvmx_pescx_cfg_wr_s {
8883+ uint64_t data:32;
8884+ uint64_t addr:32;
8885+ } s;
8886+ struct cvmx_pescx_cfg_wr_s cn52xx;
8887+ struct cvmx_pescx_cfg_wr_s cn52xxp1;
8888+ struct cvmx_pescx_cfg_wr_s cn56xx;
8889+ struct cvmx_pescx_cfg_wr_s cn56xxp1;
8890+};
8891+
8892+union cvmx_pescx_cpl_lut_valid {
8893+ uint64_t u64;
8894+ struct cvmx_pescx_cpl_lut_valid_s {
8895+ uint64_t reserved_32_63:32;
8896+ uint64_t tag:32;
8897+ } s;
8898+ struct cvmx_pescx_cpl_lut_valid_s cn52xx;
8899+ struct cvmx_pescx_cpl_lut_valid_s cn52xxp1;
8900+ struct cvmx_pescx_cpl_lut_valid_s cn56xx;
8901+ struct cvmx_pescx_cpl_lut_valid_s cn56xxp1;
8902+};
8903+
8904+union cvmx_pescx_ctl_status {
8905+ uint64_t u64;
8906+ struct cvmx_pescx_ctl_status_s {
8907+ uint64_t reserved_28_63:36;
8908+ uint64_t dnum:5;
8909+ uint64_t pbus:8;
8910+ uint64_t qlm_cfg:2;
8911+ uint64_t lane_swp:1;
8912+ uint64_t pm_xtoff:1;
8913+ uint64_t pm_xpme:1;
8914+ uint64_t ob_p_cmd:1;
8915+ uint64_t reserved_7_8:2;
8916+ uint64_t nf_ecrc:1;
8917+ uint64_t dly_one:1;
8918+ uint64_t lnk_enb:1;
8919+ uint64_t ro_ctlp:1;
8920+ uint64_t reserved_2_2:1;
8921+ uint64_t inv_ecrc:1;
8922+ uint64_t inv_lcrc:1;
8923+ } s;
8924+ struct cvmx_pescx_ctl_status_s cn52xx;
8925+ struct cvmx_pescx_ctl_status_s cn52xxp1;
8926+ struct cvmx_pescx_ctl_status_cn56xx {
8927+ uint64_t reserved_28_63:36;
8928+ uint64_t dnum:5;
8929+ uint64_t pbus:8;
8930+ uint64_t qlm_cfg:2;
8931+ uint64_t reserved_12_12:1;
8932+ uint64_t pm_xtoff:1;
8933+ uint64_t pm_xpme:1;
8934+ uint64_t ob_p_cmd:1;
8935+ uint64_t reserved_7_8:2;
8936+ uint64_t nf_ecrc:1;
8937+ uint64_t dly_one:1;
8938+ uint64_t lnk_enb:1;
8939+ uint64_t ro_ctlp:1;
8940+ uint64_t reserved_2_2:1;
8941+ uint64_t inv_ecrc:1;
8942+ uint64_t inv_lcrc:1;
8943+ } cn56xx;
8944+ struct cvmx_pescx_ctl_status_cn56xx cn56xxp1;
8945+};
8946+
8947+union cvmx_pescx_ctl_status2 {
8948+ uint64_t u64;
8949+ struct cvmx_pescx_ctl_status2_s {
8950+ uint64_t reserved_2_63:62;
8951+ uint64_t pclk_run:1;
8952+ uint64_t pcierst:1;
8953+ } s;
8954+ struct cvmx_pescx_ctl_status2_s cn52xx;
8955+ struct cvmx_pescx_ctl_status2_cn52xxp1 {
8956+ uint64_t reserved_1_63:63;
8957+ uint64_t pcierst:1;
8958+ } cn52xxp1;
8959+ struct cvmx_pescx_ctl_status2_s cn56xx;
8960+ struct cvmx_pescx_ctl_status2_cn52xxp1 cn56xxp1;
8961+};
8962+
8963+union cvmx_pescx_dbg_info {
8964+ uint64_t u64;
8965+ struct cvmx_pescx_dbg_info_s {
8966+ uint64_t reserved_31_63:33;
8967+ uint64_t ecrc_e:1;
8968+ uint64_t rawwpp:1;
8969+ uint64_t racpp:1;
8970+ uint64_t ramtlp:1;
8971+ uint64_t rarwdns:1;
8972+ uint64_t caar:1;
8973+ uint64_t racca:1;
8974+ uint64_t racur:1;
8975+ uint64_t rauc:1;
8976+ uint64_t rqo:1;
8977+ uint64_t fcuv:1;
8978+ uint64_t rpe:1;
8979+ uint64_t fcpvwt:1;
8980+ uint64_t dpeoosd:1;
8981+ uint64_t rtwdle:1;
8982+ uint64_t rdwdle:1;
8983+ uint64_t mre:1;
8984+ uint64_t rte:1;
8985+ uint64_t acto:1;
8986+ uint64_t rvdm:1;
8987+ uint64_t rumep:1;
8988+ uint64_t rptamrc:1;
8989+ uint64_t rpmerc:1;
8990+ uint64_t rfemrc:1;
8991+ uint64_t rnfemrc:1;
8992+ uint64_t rcemrc:1;
8993+ uint64_t rpoison:1;
8994+ uint64_t recrce:1;
8995+ uint64_t rtlplle:1;
8996+ uint64_t rtlpmal:1;
8997+ uint64_t spoison:1;
8998+ } s;
8999+ struct cvmx_pescx_dbg_info_s cn52xx;
9000+ struct cvmx_pescx_dbg_info_s cn52xxp1;
9001+ struct cvmx_pescx_dbg_info_s cn56xx;
9002+ struct cvmx_pescx_dbg_info_s cn56xxp1;
9003+};
9004+
9005+union cvmx_pescx_dbg_info_en {
9006+ uint64_t u64;
9007+ struct cvmx_pescx_dbg_info_en_s {
9008+ uint64_t reserved_31_63:33;
9009+ uint64_t ecrc_e:1;
9010+ uint64_t rawwpp:1;
9011+ uint64_t racpp:1;
9012+ uint64_t ramtlp:1;
9013+ uint64_t rarwdns:1;
9014+ uint64_t caar:1;
9015+ uint64_t racca:1;
9016+ uint64_t racur:1;
9017+ uint64_t rauc:1;
9018+ uint64_t rqo:1;
9019+ uint64_t fcuv:1;
9020+ uint64_t rpe:1;
9021+ uint64_t fcpvwt:1;
9022+ uint64_t dpeoosd:1;
9023+ uint64_t rtwdle:1;
9024+ uint64_t rdwdle:1;
9025+ uint64_t mre:1;
9026+ uint64_t rte:1;
9027+ uint64_t acto:1;
9028+ uint64_t rvdm:1;
9029+ uint64_t rumep:1;
9030+ uint64_t rptamrc:1;
9031+ uint64_t rpmerc:1;
9032+ uint64_t rfemrc:1;
9033+ uint64_t rnfemrc:1;
9034+ uint64_t rcemrc:1;
9035+ uint64_t rpoison:1;
9036+ uint64_t recrce:1;
9037+ uint64_t rtlplle:1;
9038+ uint64_t rtlpmal:1;
9039+ uint64_t spoison:1;
9040+ } s;
9041+ struct cvmx_pescx_dbg_info_en_s cn52xx;
9042+ struct cvmx_pescx_dbg_info_en_s cn52xxp1;
9043+ struct cvmx_pescx_dbg_info_en_s cn56xx;
9044+ struct cvmx_pescx_dbg_info_en_s cn56xxp1;
9045+};
9046+
9047+union cvmx_pescx_diag_status {
9048+ uint64_t u64;
9049+ struct cvmx_pescx_diag_status_s {
9050+ uint64_t reserved_4_63:60;
9051+ uint64_t pm_dst:1;
9052+ uint64_t pm_stat:1;
9053+ uint64_t pm_en:1;
9054+ uint64_t aux_en:1;
9055+ } s;
9056+ struct cvmx_pescx_diag_status_s cn52xx;
9057+ struct cvmx_pescx_diag_status_s cn52xxp1;
9058+ struct cvmx_pescx_diag_status_s cn56xx;
9059+ struct cvmx_pescx_diag_status_s cn56xxp1;
9060+};
9061+
9062+union cvmx_pescx_p2n_bar0_start {
9063+ uint64_t u64;
9064+ struct cvmx_pescx_p2n_bar0_start_s {
9065+ uint64_t addr:50;
9066+ uint64_t reserved_0_13:14;
9067+ } s;
9068+ struct cvmx_pescx_p2n_bar0_start_s cn52xx;
9069+ struct cvmx_pescx_p2n_bar0_start_s cn52xxp1;
9070+ struct cvmx_pescx_p2n_bar0_start_s cn56xx;
9071+ struct cvmx_pescx_p2n_bar0_start_s cn56xxp1;
9072+};
9073+
9074+union cvmx_pescx_p2n_bar1_start {
9075+ uint64_t u64;
9076+ struct cvmx_pescx_p2n_bar1_start_s {
9077+ uint64_t addr:38;
9078+ uint64_t reserved_0_25:26;
9079+ } s;
9080+ struct cvmx_pescx_p2n_bar1_start_s cn52xx;
9081+ struct cvmx_pescx_p2n_bar1_start_s cn52xxp1;
9082+ struct cvmx_pescx_p2n_bar1_start_s cn56xx;
9083+ struct cvmx_pescx_p2n_bar1_start_s cn56xxp1;
9084+};
9085+
9086+union cvmx_pescx_p2n_bar2_start {
9087+ uint64_t u64;
9088+ struct cvmx_pescx_p2n_bar2_start_s {
9089+ uint64_t addr:25;
9090+ uint64_t reserved_0_38:39;
9091+ } s;
9092+ struct cvmx_pescx_p2n_bar2_start_s cn52xx;
9093+ struct cvmx_pescx_p2n_bar2_start_s cn52xxp1;
9094+ struct cvmx_pescx_p2n_bar2_start_s cn56xx;
9095+ struct cvmx_pescx_p2n_bar2_start_s cn56xxp1;
9096+};
9097+
9098+union cvmx_pescx_p2p_barx_end {
9099+ uint64_t u64;
9100+ struct cvmx_pescx_p2p_barx_end_s {
9101+ uint64_t addr:52;
9102+ uint64_t reserved_0_11:12;
9103+ } s;
9104+ struct cvmx_pescx_p2p_barx_end_s cn52xx;
9105+ struct cvmx_pescx_p2p_barx_end_s cn52xxp1;
9106+ struct cvmx_pescx_p2p_barx_end_s cn56xx;
9107+ struct cvmx_pescx_p2p_barx_end_s cn56xxp1;
9108+};
9109+
9110+union cvmx_pescx_p2p_barx_start {
9111+ uint64_t u64;
9112+ struct cvmx_pescx_p2p_barx_start_s {
9113+ uint64_t addr:52;
9114+ uint64_t reserved_0_11:12;
9115+ } s;
9116+ struct cvmx_pescx_p2p_barx_start_s cn52xx;
9117+ struct cvmx_pescx_p2p_barx_start_s cn52xxp1;
9118+ struct cvmx_pescx_p2p_barx_start_s cn56xx;
9119+ struct cvmx_pescx_p2p_barx_start_s cn56xxp1;
9120+};
9121+
9122+union cvmx_pescx_tlp_credits {
9123+ uint64_t u64;
9124+ struct cvmx_pescx_tlp_credits_s {
9125+ uint64_t reserved_0_63:64;
9126+ } s;
9127+ struct cvmx_pescx_tlp_credits_cn52xx {
9128+ uint64_t reserved_56_63:8;
9129+ uint64_t peai_ppf:8;
9130+ uint64_t pesc_cpl:8;
9131+ uint64_t pesc_np:8;
9132+ uint64_t pesc_p:8;
9133+ uint64_t npei_cpl:8;
9134+ uint64_t npei_np:8;
9135+ uint64_t npei_p:8;
9136+ } cn52xx;
9137+ struct cvmx_pescx_tlp_credits_cn52xxp1 {
9138+ uint64_t reserved_38_63:26;
9139+ uint64_t peai_ppf:8;
9140+ uint64_t pesc_cpl:5;
9141+ uint64_t pesc_np:5;
9142+ uint64_t pesc_p:5;
9143+ uint64_t npei_cpl:5;
9144+ uint64_t npei_np:5;
9145+ uint64_t npei_p:5;
9146+ } cn52xxp1;
9147+ struct cvmx_pescx_tlp_credits_cn52xx cn56xx;
9148+ struct cvmx_pescx_tlp_credits_cn52xxp1 cn56xxp1;
9149+};
9150+
9151+#endif
9152--- /dev/null
9153+++ b/arch/mips/include/asm/octeon/cvmx-pexp-defs.h
9154@@ -0,0 +1,229 @@
9155+/***********************license start***************
9156+ * Author: Cavium Networks
9157+ *
9158+ * Contact: support@caviumnetworks.com
9159+ * This file is part of the OCTEON SDK
9160+ *
9161+ * Copyright (c) 2003-2008 Cavium Networks
9162+ *
9163+ * This file is free software; you can redistribute it and/or modify
9164+ * it under the terms of the GNU General Public License, Version 2, as
9165+ * published by the Free Software Foundation.
9166+ *
9167+ * This file is distributed in the hope that it will be useful, but
9168+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
9169+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
9170+ * NONINFRINGEMENT. See the GNU General Public License for more
9171+ * details.
9172+ *
9173+ * You should have received a copy of the GNU General Public License
9174+ * along with this file; if not, write to the Free Software
9175+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
9176+ * or visit http://www.gnu.org/licenses/.
9177+ *
9178+ * This file may also be available under a different license from Cavium.
9179+ * Contact Cavium Networks for more information
9180+ ***********************license end**************************************/
9181+
9182+/**
9183+ * cvmx-pexp-defs.h
9184+ *
9185+ * Configuration and status register (CSR) definitions for
9186+ * OCTEON PEXP.
9187+ *
9188+ */
9189+#ifndef __CVMX_PEXP_DEFS_H__
9190+#define __CVMX_PEXP_DEFS_H__
9191+
9192+#define CVMX_PEXP_NPEI_BAR1_INDEXX(offset) \
9193+ CVMX_ADD_IO_SEG(0x00011F0000008000ull + (((offset) & 31) * 16))
9194+#define CVMX_PEXP_NPEI_BIST_STATUS \
9195+ CVMX_ADD_IO_SEG(0x00011F0000008580ull)
9196+#define CVMX_PEXP_NPEI_BIST_STATUS2 \
9197+ CVMX_ADD_IO_SEG(0x00011F0000008680ull)
9198+#define CVMX_PEXP_NPEI_CTL_PORT0 \
9199+ CVMX_ADD_IO_SEG(0x00011F0000008250ull)
9200+#define CVMX_PEXP_NPEI_CTL_PORT1 \
9201+ CVMX_ADD_IO_SEG(0x00011F0000008260ull)
9202+#define CVMX_PEXP_NPEI_CTL_STATUS \
9203+ CVMX_ADD_IO_SEG(0x00011F0000008570ull)
9204+#define CVMX_PEXP_NPEI_CTL_STATUS2 \
9205+ CVMX_ADD_IO_SEG(0x00011F000000BC00ull)
9206+#define CVMX_PEXP_NPEI_DATA_OUT_CNT \
9207+ CVMX_ADD_IO_SEG(0x00011F00000085F0ull)
9208+#define CVMX_PEXP_NPEI_DBG_DATA \
9209+ CVMX_ADD_IO_SEG(0x00011F0000008510ull)
9210+#define CVMX_PEXP_NPEI_DBG_SELECT \
9211+ CVMX_ADD_IO_SEG(0x00011F0000008500ull)
9212+#define CVMX_PEXP_NPEI_DMA0_INT_LEVEL \
9213+ CVMX_ADD_IO_SEG(0x00011F00000085C0ull)
9214+#define CVMX_PEXP_NPEI_DMA1_INT_LEVEL \
9215+ CVMX_ADD_IO_SEG(0x00011F00000085D0ull)
9216+#define CVMX_PEXP_NPEI_DMAX_COUNTS(offset) \
9217+ CVMX_ADD_IO_SEG(0x00011F0000008450ull + (((offset) & 7) * 16))
9218+#define CVMX_PEXP_NPEI_DMAX_DBELL(offset) \
9219+ CVMX_ADD_IO_SEG(0x00011F00000083B0ull + (((offset) & 7) * 16))
9220+#define CVMX_PEXP_NPEI_DMAX_IBUFF_SADDR(offset) \
9221+ CVMX_ADD_IO_SEG(0x00011F0000008400ull + (((offset) & 7) * 16))
9222+#define CVMX_PEXP_NPEI_DMAX_NADDR(offset) \
9223+ CVMX_ADD_IO_SEG(0x00011F00000084A0ull + (((offset) & 7) * 16))
9224+#define CVMX_PEXP_NPEI_DMA_CNTS \
9225+ CVMX_ADD_IO_SEG(0x00011F00000085E0ull)
9226+#define CVMX_PEXP_NPEI_DMA_CONTROL \
9227+ CVMX_ADD_IO_SEG(0x00011F00000083A0ull)
9228+#define CVMX_PEXP_NPEI_INT_A_ENB \
9229+ CVMX_ADD_IO_SEG(0x00011F0000008560ull)
9230+#define CVMX_PEXP_NPEI_INT_A_ENB2 \
9231+ CVMX_ADD_IO_SEG(0x00011F000000BCE0ull)
9232+#define CVMX_PEXP_NPEI_INT_A_SUM \
9233+ CVMX_ADD_IO_SEG(0x00011F0000008550ull)
9234+#define CVMX_PEXP_NPEI_INT_ENB \
9235+ CVMX_ADD_IO_SEG(0x00011F0000008540ull)
9236+#define CVMX_PEXP_NPEI_INT_ENB2 \
9237+ CVMX_ADD_IO_SEG(0x00011F000000BCD0ull)
9238+#define CVMX_PEXP_NPEI_INT_INFO \
9239+ CVMX_ADD_IO_SEG(0x00011F0000008590ull)
9240+#define CVMX_PEXP_NPEI_INT_SUM \
9241+ CVMX_ADD_IO_SEG(0x00011F0000008530ull)
9242+#define CVMX_PEXP_NPEI_INT_SUM2 \
9243+ CVMX_ADD_IO_SEG(0x00011F000000BCC0ull)
9244+#define CVMX_PEXP_NPEI_LAST_WIN_RDATA0 \
9245+ CVMX_ADD_IO_SEG(0x00011F0000008600ull)
9246+#define CVMX_PEXP_NPEI_LAST_WIN_RDATA1 \
9247+ CVMX_ADD_IO_SEG(0x00011F0000008610ull)
9248+#define CVMX_PEXP_NPEI_MEM_ACCESS_CTL \
9249+ CVMX_ADD_IO_SEG(0x00011F00000084F0ull)
9250+#define CVMX_PEXP_NPEI_MEM_ACCESS_SUBIDX(offset) \
9251+ CVMX_ADD_IO_SEG(0x00011F0000008280ull + (((offset) & 31) * 16) - 16 * 12)
9252+#define CVMX_PEXP_NPEI_MSI_ENB0 \
9253+ CVMX_ADD_IO_SEG(0x00011F000000BC50ull)
9254+#define CVMX_PEXP_NPEI_MSI_ENB1 \
9255+ CVMX_ADD_IO_SEG(0x00011F000000BC60ull)
9256+#define CVMX_PEXP_NPEI_MSI_ENB2 \
9257+ CVMX_ADD_IO_SEG(0x00011F000000BC70ull)
9258+#define CVMX_PEXP_NPEI_MSI_ENB3 \
9259+ CVMX_ADD_IO_SEG(0x00011F000000BC80ull)
9260+#define CVMX_PEXP_NPEI_MSI_RCV0 \
9261+ CVMX_ADD_IO_SEG(0x00011F000000BC10ull)
9262+#define CVMX_PEXP_NPEI_MSI_RCV1 \
9263+ CVMX_ADD_IO_SEG(0x00011F000000BC20ull)
9264+#define CVMX_PEXP_NPEI_MSI_RCV2 \
9265+ CVMX_ADD_IO_SEG(0x00011F000000BC30ull)
9266+#define CVMX_PEXP_NPEI_MSI_RCV3 \
9267+ CVMX_ADD_IO_SEG(0x00011F000000BC40ull)
9268+#define CVMX_PEXP_NPEI_MSI_RD_MAP \
9269+ CVMX_ADD_IO_SEG(0x00011F000000BCA0ull)
9270+#define CVMX_PEXP_NPEI_MSI_W1C_ENB0 \
9271+ CVMX_ADD_IO_SEG(0x00011F000000BCF0ull)
9272+#define CVMX_PEXP_NPEI_MSI_W1C_ENB1 \
9273+ CVMX_ADD_IO_SEG(0x00011F000000BD00ull)
9274+#define CVMX_PEXP_NPEI_MSI_W1C_ENB2 \
9275+ CVMX_ADD_IO_SEG(0x00011F000000BD10ull)
9276+#define CVMX_PEXP_NPEI_MSI_W1C_ENB3 \
9277+ CVMX_ADD_IO_SEG(0x00011F000000BD20ull)
9278+#define CVMX_PEXP_NPEI_MSI_W1S_ENB0 \
9279+ CVMX_ADD_IO_SEG(0x00011F000000BD30ull)
9280+#define CVMX_PEXP_NPEI_MSI_W1S_ENB1 \
9281+ CVMX_ADD_IO_SEG(0x00011F000000BD40ull)
9282+#define CVMX_PEXP_NPEI_MSI_W1S_ENB2 \
9283+ CVMX_ADD_IO_SEG(0x00011F000000BD50ull)
9284+#define CVMX_PEXP_NPEI_MSI_W1S_ENB3 \
9285+ CVMX_ADD_IO_SEG(0x00011F000000BD60ull)
9286+#define CVMX_PEXP_NPEI_MSI_WR_MAP \
9287+ CVMX_ADD_IO_SEG(0x00011F000000BC90ull)
9288+#define CVMX_PEXP_NPEI_PCIE_CREDIT_CNT \
9289+ CVMX_ADD_IO_SEG(0x00011F000000BD70ull)
9290+#define CVMX_PEXP_NPEI_PCIE_MSI_RCV \
9291+ CVMX_ADD_IO_SEG(0x00011F000000BCB0ull)
9292+#define CVMX_PEXP_NPEI_PCIE_MSI_RCV_B1 \
9293+ CVMX_ADD_IO_SEG(0x00011F0000008650ull)
9294+#define CVMX_PEXP_NPEI_PCIE_MSI_RCV_B2 \
9295+ CVMX_ADD_IO_SEG(0x00011F0000008660ull)
9296+#define CVMX_PEXP_NPEI_PCIE_MSI_RCV_B3 \
9297+ CVMX_ADD_IO_SEG(0x00011F0000008670ull)
9298+#define CVMX_PEXP_NPEI_PKTX_CNTS(offset) \
9299+ CVMX_ADD_IO_SEG(0x00011F000000A400ull + (((offset) & 31) * 16))
9300+#define CVMX_PEXP_NPEI_PKTX_INSTR_BADDR(offset) \
9301+ CVMX_ADD_IO_SEG(0x00011F000000A800ull + (((offset) & 31) * 16))
9302+#define CVMX_PEXP_NPEI_PKTX_INSTR_BAOFF_DBELL(offset) \
9303+ CVMX_ADD_IO_SEG(0x00011F000000AC00ull + (((offset) & 31) * 16))
9304+#define CVMX_PEXP_NPEI_PKTX_INSTR_FIFO_RSIZE(offset) \
9305+ CVMX_ADD_IO_SEG(0x00011F000000B000ull + (((offset) & 31) * 16))
9306+#define CVMX_PEXP_NPEI_PKTX_INSTR_HEADER(offset) \
9307+ CVMX_ADD_IO_SEG(0x00011F000000B400ull + (((offset) & 31) * 16))
9308+#define CVMX_PEXP_NPEI_PKTX_IN_BP(offset) \
9309+ CVMX_ADD_IO_SEG(0x00011F000000B800ull + (((offset) & 31) * 16))
9310+#define CVMX_PEXP_NPEI_PKTX_SLIST_BADDR(offset) \
9311+ CVMX_ADD_IO_SEG(0x00011F0000009400ull + (((offset) & 31) * 16))
9312+#define CVMX_PEXP_NPEI_PKTX_SLIST_BAOFF_DBELL(offset) \
9313+ CVMX_ADD_IO_SEG(0x00011F0000009800ull + (((offset) & 31) * 16))
9314+#define CVMX_PEXP_NPEI_PKTX_SLIST_FIFO_RSIZE(offset) \
9315+ CVMX_ADD_IO_SEG(0x00011F0000009C00ull + (((offset) & 31) * 16))
9316+#define CVMX_PEXP_NPEI_PKT_CNT_INT \
9317+ CVMX_ADD_IO_SEG(0x00011F0000009110ull)
9318+#define CVMX_PEXP_NPEI_PKT_CNT_INT_ENB \
9319+ CVMX_ADD_IO_SEG(0x00011F0000009130ull)
9320+#define CVMX_PEXP_NPEI_PKT_DATA_OUT_ES \
9321+ CVMX_ADD_IO_SEG(0x00011F00000090B0ull)
9322+#define CVMX_PEXP_NPEI_PKT_DATA_OUT_NS \
9323+ CVMX_ADD_IO_SEG(0x00011F00000090A0ull)
9324+#define CVMX_PEXP_NPEI_PKT_DATA_OUT_ROR \
9325+ CVMX_ADD_IO_SEG(0x00011F0000009090ull)
9326+#define CVMX_PEXP_NPEI_PKT_DPADDR \
9327+ CVMX_ADD_IO_SEG(0x00011F0000009080ull)
9328+#define CVMX_PEXP_NPEI_PKT_INPUT_CONTROL \
9329+ CVMX_ADD_IO_SEG(0x00011F0000009150ull)
9330+#define CVMX_PEXP_NPEI_PKT_INSTR_ENB \
9331+ CVMX_ADD_IO_SEG(0x00011F0000009000ull)
9332+#define CVMX_PEXP_NPEI_PKT_INSTR_RD_SIZE \
9333+ CVMX_ADD_IO_SEG(0x00011F0000009190ull)
9334+#define CVMX_PEXP_NPEI_PKT_INSTR_SIZE \
9335+ CVMX_ADD_IO_SEG(0x00011F0000009020ull)
9336+#define CVMX_PEXP_NPEI_PKT_INT_LEVELS \
9337+ CVMX_ADD_IO_SEG(0x00011F0000009100ull)
9338+#define CVMX_PEXP_NPEI_PKT_IN_BP \
9339+ CVMX_ADD_IO_SEG(0x00011F00000086B0ull)
9340+#define CVMX_PEXP_NPEI_PKT_IN_DONEX_CNTS(offset) \
9341+ CVMX_ADD_IO_SEG(0x00011F000000A000ull + (((offset) & 31) * 16))
9342+#define CVMX_PEXP_NPEI_PKT_IN_INSTR_COUNTS \
9343+ CVMX_ADD_IO_SEG(0x00011F00000086A0ull)
9344+#define CVMX_PEXP_NPEI_PKT_IN_PCIE_PORT \
9345+ CVMX_ADD_IO_SEG(0x00011F00000091A0ull)
9346+#define CVMX_PEXP_NPEI_PKT_IPTR \
9347+ CVMX_ADD_IO_SEG(0x00011F0000009070ull)
9348+#define CVMX_PEXP_NPEI_PKT_OUTPUT_WMARK \
9349+ CVMX_ADD_IO_SEG(0x00011F0000009160ull)
9350+#define CVMX_PEXP_NPEI_PKT_OUT_BMODE \
9351+ CVMX_ADD_IO_SEG(0x00011F00000090D0ull)
9352+#define CVMX_PEXP_NPEI_PKT_OUT_ENB \
9353+ CVMX_ADD_IO_SEG(0x00011F0000009010ull)
9354+#define CVMX_PEXP_NPEI_PKT_PCIE_PORT \
9355+ CVMX_ADD_IO_SEG(0x00011F00000090E0ull)
9356+#define CVMX_PEXP_NPEI_PKT_PORT_IN_RST \
9357+ CVMX_ADD_IO_SEG(0x00011F0000008690ull)
9358+#define CVMX_PEXP_NPEI_PKT_SLIST_ES \
9359+ CVMX_ADD_IO_SEG(0x00011F0000009050ull)
9360+#define CVMX_PEXP_NPEI_PKT_SLIST_ID_SIZE \
9361+ CVMX_ADD_IO_SEG(0x00011F0000009180ull)
9362+#define CVMX_PEXP_NPEI_PKT_SLIST_NS \
9363+ CVMX_ADD_IO_SEG(0x00011F0000009040ull)
9364+#define CVMX_PEXP_NPEI_PKT_SLIST_ROR \
9365+ CVMX_ADD_IO_SEG(0x00011F0000009030ull)
9366+#define CVMX_PEXP_NPEI_PKT_TIME_INT \
9367+ CVMX_ADD_IO_SEG(0x00011F0000009120ull)
9368+#define CVMX_PEXP_NPEI_PKT_TIME_INT_ENB \
9369+ CVMX_ADD_IO_SEG(0x00011F0000009140ull)
9370+#define CVMX_PEXP_NPEI_RSL_INT_BLOCKS \
9371+ CVMX_ADD_IO_SEG(0x00011F0000008520ull)
9372+#define CVMX_PEXP_NPEI_SCRATCH_1 \
9373+ CVMX_ADD_IO_SEG(0x00011F0000008270ull)
9374+#define CVMX_PEXP_NPEI_STATE1 \
9375+ CVMX_ADD_IO_SEG(0x00011F0000008620ull)
9376+#define CVMX_PEXP_NPEI_STATE2 \
9377+ CVMX_ADD_IO_SEG(0x00011F0000008630ull)
9378+#define CVMX_PEXP_NPEI_STATE3 \
9379+ CVMX_ADD_IO_SEG(0x00011F0000008640ull)
9380+#define CVMX_PEXP_NPEI_WINDOW_CTL \
9381+ CVMX_ADD_IO_SEG(0x00011F0000008380ull)
9382+
9383+#endif
9384

Archive Download this file



interactive