• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/mips/include/asm/octeon/
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2008 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT.  See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_NPI_DEFS_H__
29#define __CVMX_NPI_DEFS_H__
30
31#define CVMX_NPI_BASE_ADDR_INPUT0 \
32	 CVMX_ADD_IO_SEG(0x00011F0000000070ull)
33#define CVMX_NPI_BASE_ADDR_INPUT1 \
34	 CVMX_ADD_IO_SEG(0x00011F0000000080ull)
35#define CVMX_NPI_BASE_ADDR_INPUT2 \
36	 CVMX_ADD_IO_SEG(0x00011F0000000090ull)
37#define CVMX_NPI_BASE_ADDR_INPUT3 \
38	 CVMX_ADD_IO_SEG(0x00011F00000000A0ull)
39#define CVMX_NPI_BASE_ADDR_INPUTX(offset) \
40	 CVMX_ADD_IO_SEG(0x00011F0000000070ull + (((offset) & 3) * 16))
41#define CVMX_NPI_BASE_ADDR_OUTPUT0 \
42	 CVMX_ADD_IO_SEG(0x00011F00000000B8ull)
43#define CVMX_NPI_BASE_ADDR_OUTPUT1 \
44	 CVMX_ADD_IO_SEG(0x00011F00000000C0ull)
45#define CVMX_NPI_BASE_ADDR_OUTPUT2 \
46	 CVMX_ADD_IO_SEG(0x00011F00000000C8ull)
47#define CVMX_NPI_BASE_ADDR_OUTPUT3 \
48	 CVMX_ADD_IO_SEG(0x00011F00000000D0ull)
49#define CVMX_NPI_BASE_ADDR_OUTPUTX(offset) \
50	 CVMX_ADD_IO_SEG(0x00011F00000000B8ull + (((offset) & 3) * 8))
51#define CVMX_NPI_BIST_STATUS \
52	 CVMX_ADD_IO_SEG(0x00011F00000003F8ull)
53#define CVMX_NPI_BUFF_SIZE_OUTPUT0 \
54	 CVMX_ADD_IO_SEG(0x00011F00000000E0ull)
55#define CVMX_NPI_BUFF_SIZE_OUTPUT1 \
56	 CVMX_ADD_IO_SEG(0x00011F00000000E8ull)
57#define CVMX_NPI_BUFF_SIZE_OUTPUT2 \
58	 CVMX_ADD_IO_SEG(0x00011F00000000F0ull)
59#define CVMX_NPI_BUFF_SIZE_OUTPUT3 \
60	 CVMX_ADD_IO_SEG(0x00011F00000000F8ull)
61#define CVMX_NPI_BUFF_SIZE_OUTPUTX(offset) \
62	 CVMX_ADD_IO_SEG(0x00011F00000000E0ull + (((offset) & 3) * 8))
63#define CVMX_NPI_COMP_CTL \
64	 CVMX_ADD_IO_SEG(0x00011F0000000218ull)
65#define CVMX_NPI_CTL_STATUS \
66	 CVMX_ADD_IO_SEG(0x00011F0000000010ull)
67#define CVMX_NPI_DBG_SELECT \
68	 CVMX_ADD_IO_SEG(0x00011F0000000008ull)
69#define CVMX_NPI_DMA_CONTROL \
70	 CVMX_ADD_IO_SEG(0x00011F0000000128ull)
71#define CVMX_NPI_DMA_HIGHP_COUNTS \
72	 CVMX_ADD_IO_SEG(0x00011F0000000148ull)
73#define CVMX_NPI_DMA_HIGHP_NADDR \
74	 CVMX_ADD_IO_SEG(0x00011F0000000158ull)
75#define CVMX_NPI_DMA_LOWP_COUNTS \
76	 CVMX_ADD_IO_SEG(0x00011F0000000140ull)
77#define CVMX_NPI_DMA_LOWP_NADDR \
78	 CVMX_ADD_IO_SEG(0x00011F0000000150ull)
79#define CVMX_NPI_HIGHP_DBELL \
80	 CVMX_ADD_IO_SEG(0x00011F0000000120ull)
81#define CVMX_NPI_HIGHP_IBUFF_SADDR \
82	 CVMX_ADD_IO_SEG(0x00011F0000000110ull)
83#define CVMX_NPI_INPUT_CONTROL \
84	 CVMX_ADD_IO_SEG(0x00011F0000000138ull)
85#define CVMX_NPI_INT_ENB \
86	 CVMX_ADD_IO_SEG(0x00011F0000000020ull)
87#define CVMX_NPI_INT_SUM \
88	 CVMX_ADD_IO_SEG(0x00011F0000000018ull)
89#define CVMX_NPI_LOWP_DBELL \
90	 CVMX_ADD_IO_SEG(0x00011F0000000118ull)
91#define CVMX_NPI_LOWP_IBUFF_SADDR \
92	 CVMX_ADD_IO_SEG(0x00011F0000000108ull)
93#define CVMX_NPI_MEM_ACCESS_SUBID3 \
94	 CVMX_ADD_IO_SEG(0x00011F0000000028ull)
95#define CVMX_NPI_MEM_ACCESS_SUBID4 \
96	 CVMX_ADD_IO_SEG(0x00011F0000000030ull)
97#define CVMX_NPI_MEM_ACCESS_SUBID5 \
98	 CVMX_ADD_IO_SEG(0x00011F0000000038ull)
99#define CVMX_NPI_MEM_ACCESS_SUBID6 \
100	 CVMX_ADD_IO_SEG(0x00011F0000000040ull)
101#define CVMX_NPI_MEM_ACCESS_SUBIDX(offset) \
102	 CVMX_ADD_IO_SEG(0x00011F0000000028ull + (((offset) & 7) * 8) - 8 * 3)
103#define CVMX_NPI_MSI_RCV \
104	 (0x0000000000000190ull)
105#define CVMX_NPI_NPI_MSI_RCV \
106	 CVMX_ADD_IO_SEG(0x00011F0000001190ull)
107#define CVMX_NPI_NUM_DESC_OUTPUT0 \
108	 CVMX_ADD_IO_SEG(0x00011F0000000050ull)
109#define CVMX_NPI_NUM_DESC_OUTPUT1 \
110	 CVMX_ADD_IO_SEG(0x00011F0000000058ull)
111#define CVMX_NPI_NUM_DESC_OUTPUT2 \
112	 CVMX_ADD_IO_SEG(0x00011F0000000060ull)
113#define CVMX_NPI_NUM_DESC_OUTPUT3 \
114	 CVMX_ADD_IO_SEG(0x00011F0000000068ull)
115#define CVMX_NPI_NUM_DESC_OUTPUTX(offset) \
116	 CVMX_ADD_IO_SEG(0x00011F0000000050ull + (((offset) & 3) * 8))
117#define CVMX_NPI_OUTPUT_CONTROL \
118	 CVMX_ADD_IO_SEG(0x00011F0000000100ull)
119#define CVMX_NPI_P0_DBPAIR_ADDR \
120	 CVMX_ADD_IO_SEG(0x00011F0000000180ull)
121#define CVMX_NPI_P0_INSTR_ADDR \
122	 CVMX_ADD_IO_SEG(0x00011F00000001C0ull)
123#define CVMX_NPI_P0_INSTR_CNTS \
124	 CVMX_ADD_IO_SEG(0x00011F00000001A0ull)
125#define CVMX_NPI_P0_PAIR_CNTS \
126	 CVMX_ADD_IO_SEG(0x00011F0000000160ull)
127#define CVMX_NPI_P1_DBPAIR_ADDR \
128	 CVMX_ADD_IO_SEG(0x00011F0000000188ull)
129#define CVMX_NPI_P1_INSTR_ADDR \
130	 CVMX_ADD_IO_SEG(0x00011F00000001C8ull)
131#define CVMX_NPI_P1_INSTR_CNTS \
132	 CVMX_ADD_IO_SEG(0x00011F00000001A8ull)
133#define CVMX_NPI_P1_PAIR_CNTS \
134	 CVMX_ADD_IO_SEG(0x00011F0000000168ull)
135#define CVMX_NPI_P2_DBPAIR_ADDR \
136	 CVMX_ADD_IO_SEG(0x00011F0000000190ull)
137#define CVMX_NPI_P2_INSTR_ADDR \
138	 CVMX_ADD_IO_SEG(0x00011F00000001D0ull)
139#define CVMX_NPI_P2_INSTR_CNTS \
140	 CVMX_ADD_IO_SEG(0x00011F00000001B0ull)
141#define CVMX_NPI_P2_PAIR_CNTS \
142	 CVMX_ADD_IO_SEG(0x00011F0000000170ull)
143#define CVMX_NPI_P3_DBPAIR_ADDR \
144	 CVMX_ADD_IO_SEG(0x00011F0000000198ull)
145#define CVMX_NPI_P3_INSTR_ADDR \
146	 CVMX_ADD_IO_SEG(0x00011F00000001D8ull)
147#define CVMX_NPI_P3_INSTR_CNTS \
148	 CVMX_ADD_IO_SEG(0x00011F00000001B8ull)
149#define CVMX_NPI_P3_PAIR_CNTS \
150	 CVMX_ADD_IO_SEG(0x00011F0000000178ull)
151#define CVMX_NPI_PCI_BAR1_INDEXX(offset) \
152	 CVMX_ADD_IO_SEG(0x00011F0000001100ull + (((offset) & 31) * 4))
153#define CVMX_NPI_PCI_BIST_REG \
154	 CVMX_ADD_IO_SEG(0x00011F00000011C0ull)
155#define CVMX_NPI_PCI_BURST_SIZE \
156	 CVMX_ADD_IO_SEG(0x00011F00000000D8ull)
157#define CVMX_NPI_PCI_CFG00 \
158	 CVMX_ADD_IO_SEG(0x00011F0000001800ull)
159#define CVMX_NPI_PCI_CFG01 \
160	 CVMX_ADD_IO_SEG(0x00011F0000001804ull)
161#define CVMX_NPI_PCI_CFG02 \
162	 CVMX_ADD_IO_SEG(0x00011F0000001808ull)
163#define CVMX_NPI_PCI_CFG03 \
164	 CVMX_ADD_IO_SEG(0x00011F000000180Cull)
165#define CVMX_NPI_PCI_CFG04 \
166	 CVMX_ADD_IO_SEG(0x00011F0000001810ull)
167#define CVMX_NPI_PCI_CFG05 \
168	 CVMX_ADD_IO_SEG(0x00011F0000001814ull)
169#define CVMX_NPI_PCI_CFG06 \
170	 CVMX_ADD_IO_SEG(0x00011F0000001818ull)
171#define CVMX_NPI_PCI_CFG07 \
172	 CVMX_ADD_IO_SEG(0x00011F000000181Cull)
173#define CVMX_NPI_PCI_CFG08 \
174	 CVMX_ADD_IO_SEG(0x00011F0000001820ull)
175#define CVMX_NPI_PCI_CFG09 \
176	 CVMX_ADD_IO_SEG(0x00011F0000001824ull)
177#define CVMX_NPI_PCI_CFG10 \
178	 CVMX_ADD_IO_SEG(0x00011F0000001828ull)
179#define CVMX_NPI_PCI_CFG11 \
180	 CVMX_ADD_IO_SEG(0x00011F000000182Cull)
181#define CVMX_NPI_PCI_CFG12 \
182	 CVMX_ADD_IO_SEG(0x00011F0000001830ull)
183#define CVMX_NPI_PCI_CFG13 \
184	 CVMX_ADD_IO_SEG(0x00011F0000001834ull)
185#define CVMX_NPI_PCI_CFG15 \
186	 CVMX_ADD_IO_SEG(0x00011F000000183Cull)
187#define CVMX_NPI_PCI_CFG16 \
188	 CVMX_ADD_IO_SEG(0x00011F0000001840ull)
189#define CVMX_NPI_PCI_CFG17 \
190	 CVMX_ADD_IO_SEG(0x00011F0000001844ull)
191#define CVMX_NPI_PCI_CFG18 \
192	 CVMX_ADD_IO_SEG(0x00011F0000001848ull)
193#define CVMX_NPI_PCI_CFG19 \
194	 CVMX_ADD_IO_SEG(0x00011F000000184Cull)
195#define CVMX_NPI_PCI_CFG20 \
196	 CVMX_ADD_IO_SEG(0x00011F0000001850ull)
197#define CVMX_NPI_PCI_CFG21 \
198	 CVMX_ADD_IO_SEG(0x00011F0000001854ull)
199#define CVMX_NPI_PCI_CFG22 \
200	 CVMX_ADD_IO_SEG(0x00011F0000001858ull)
201#define CVMX_NPI_PCI_CFG56 \
202	 CVMX_ADD_IO_SEG(0x00011F00000018E0ull)
203#define CVMX_NPI_PCI_CFG57 \
204	 CVMX_ADD_IO_SEG(0x00011F00000018E4ull)
205#define CVMX_NPI_PCI_CFG58 \
206	 CVMX_ADD_IO_SEG(0x00011F00000018E8ull)
207#define CVMX_NPI_PCI_CFG59 \
208	 CVMX_ADD_IO_SEG(0x00011F00000018ECull)
209#define CVMX_NPI_PCI_CFG60 \
210	 CVMX_ADD_IO_SEG(0x00011F00000018F0ull)
211#define CVMX_NPI_PCI_CFG61 \
212	 CVMX_ADD_IO_SEG(0x00011F00000018F4ull)
213#define CVMX_NPI_PCI_CFG62 \
214	 CVMX_ADD_IO_SEG(0x00011F00000018F8ull)
215#define CVMX_NPI_PCI_CFG63 \
216	 CVMX_ADD_IO_SEG(0x00011F00000018FCull)
217#define CVMX_NPI_PCI_CNT_REG \
218	 CVMX_ADD_IO_SEG(0x00011F00000011B8ull)
219#define CVMX_NPI_PCI_CTL_STATUS_2 \
220	 CVMX_ADD_IO_SEG(0x00011F000000118Cull)
221#define CVMX_NPI_PCI_INT_ARB_CFG \
222	 CVMX_ADD_IO_SEG(0x00011F0000000130ull)
223#define CVMX_NPI_PCI_INT_ENB2 \
224	 CVMX_ADD_IO_SEG(0x00011F00000011A0ull)
225#define CVMX_NPI_PCI_INT_SUM2 \
226	 CVMX_ADD_IO_SEG(0x00011F0000001198ull)
227#define CVMX_NPI_PCI_READ_CMD \
228	 CVMX_ADD_IO_SEG(0x00011F0000000048ull)
229#define CVMX_NPI_PCI_READ_CMD_6 \
230	 CVMX_ADD_IO_SEG(0x00011F0000001180ull)
231#define CVMX_NPI_PCI_READ_CMD_C \
232	 CVMX_ADD_IO_SEG(0x00011F0000001184ull)
233#define CVMX_NPI_PCI_READ_CMD_E \
234	 CVMX_ADD_IO_SEG(0x00011F0000001188ull)
235#define CVMX_NPI_PCI_SCM_REG \
236	 CVMX_ADD_IO_SEG(0x00011F00000011A8ull)
237#define CVMX_NPI_PCI_TSR_REG \
238	 CVMX_ADD_IO_SEG(0x00011F00000011B0ull)
239#define CVMX_NPI_PORT32_INSTR_HDR \
240	 CVMX_ADD_IO_SEG(0x00011F00000001F8ull)
241#define CVMX_NPI_PORT33_INSTR_HDR \
242	 CVMX_ADD_IO_SEG(0x00011F0000000200ull)
243#define CVMX_NPI_PORT34_INSTR_HDR \
244	 CVMX_ADD_IO_SEG(0x00011F0000000208ull)
245#define CVMX_NPI_PORT35_INSTR_HDR \
246	 CVMX_ADD_IO_SEG(0x00011F0000000210ull)
247#define CVMX_NPI_PORT_BP_CONTROL \
248	 CVMX_ADD_IO_SEG(0x00011F00000001F0ull)
249#define CVMX_NPI_PX_DBPAIR_ADDR(offset) \
250	 CVMX_ADD_IO_SEG(0x00011F0000000180ull + (((offset) & 3) * 8))
251#define CVMX_NPI_PX_INSTR_ADDR(offset) \
252	 CVMX_ADD_IO_SEG(0x00011F00000001C0ull + (((offset) & 3) * 8))
253#define CVMX_NPI_PX_INSTR_CNTS(offset) \
254	 CVMX_ADD_IO_SEG(0x00011F00000001A0ull + (((offset) & 3) * 8))
255#define CVMX_NPI_PX_PAIR_CNTS(offset) \
256	 CVMX_ADD_IO_SEG(0x00011F0000000160ull + (((offset) & 3) * 8))
257#define CVMX_NPI_RSL_INT_BLOCKS \
258	 CVMX_ADD_IO_SEG(0x00011F0000000000ull)
259#define CVMX_NPI_SIZE_INPUT0 \
260	 CVMX_ADD_IO_SEG(0x00011F0000000078ull)
261#define CVMX_NPI_SIZE_INPUT1 \
262	 CVMX_ADD_IO_SEG(0x00011F0000000088ull)
263#define CVMX_NPI_SIZE_INPUT2 \
264	 CVMX_ADD_IO_SEG(0x00011F0000000098ull)
265#define CVMX_NPI_SIZE_INPUT3 \
266	 CVMX_ADD_IO_SEG(0x00011F00000000A8ull)
267#define CVMX_NPI_SIZE_INPUTX(offset) \
268	 CVMX_ADD_IO_SEG(0x00011F0000000078ull + (((offset) & 3) * 16))
269#define CVMX_NPI_WIN_READ_TO \
270	 CVMX_ADD_IO_SEG(0x00011F00000001E0ull)
271
272union cvmx_npi_base_addr_inputx {
273	uint64_t u64;
274	struct cvmx_npi_base_addr_inputx_s {
275		uint64_t baddr:61;
276		uint64_t reserved_0_2:3;
277	} s;
278	struct cvmx_npi_base_addr_inputx_s cn30xx;
279	struct cvmx_npi_base_addr_inputx_s cn31xx;
280	struct cvmx_npi_base_addr_inputx_s cn38xx;
281	struct cvmx_npi_base_addr_inputx_s cn38xxp2;
282	struct cvmx_npi_base_addr_inputx_s cn50xx;
283	struct cvmx_npi_base_addr_inputx_s cn58xx;
284	struct cvmx_npi_base_addr_inputx_s cn58xxp1;
285};
286
287union cvmx_npi_base_addr_outputx {
288	uint64_t u64;
289	struct cvmx_npi_base_addr_outputx_s {
290		uint64_t baddr:61;
291		uint64_t reserved_0_2:3;
292	} s;
293	struct cvmx_npi_base_addr_outputx_s cn30xx;
294	struct cvmx_npi_base_addr_outputx_s cn31xx;
295	struct cvmx_npi_base_addr_outputx_s cn38xx;
296	struct cvmx_npi_base_addr_outputx_s cn38xxp2;
297	struct cvmx_npi_base_addr_outputx_s cn50xx;
298	struct cvmx_npi_base_addr_outputx_s cn58xx;
299	struct cvmx_npi_base_addr_outputx_s cn58xxp1;
300};
301
302union cvmx_npi_bist_status {
303	uint64_t u64;
304	struct cvmx_npi_bist_status_s {
305		uint64_t reserved_20_63:44;
306		uint64_t csr_bs:1;
307		uint64_t dif_bs:1;
308		uint64_t rdp_bs:1;
309		uint64_t pcnc_bs:1;
310		uint64_t pcn_bs:1;
311		uint64_t rdn_bs:1;
312		uint64_t pcac_bs:1;
313		uint64_t pcad_bs:1;
314		uint64_t rdnl_bs:1;
315		uint64_t pgf_bs:1;
316		uint64_t pig_bs:1;
317		uint64_t pof0_bs:1;
318		uint64_t pof1_bs:1;
319		uint64_t pof2_bs:1;
320		uint64_t pof3_bs:1;
321		uint64_t pos_bs:1;
322		uint64_t nus_bs:1;
323		uint64_t dob_bs:1;
324		uint64_t pdf_bs:1;
325		uint64_t dpi_bs:1;
326	} s;
327	struct cvmx_npi_bist_status_cn30xx {
328		uint64_t reserved_20_63:44;
329		uint64_t csr_bs:1;
330		uint64_t dif_bs:1;
331		uint64_t rdp_bs:1;
332		uint64_t pcnc_bs:1;
333		uint64_t pcn_bs:1;
334		uint64_t rdn_bs:1;
335		uint64_t pcac_bs:1;
336		uint64_t pcad_bs:1;
337		uint64_t rdnl_bs:1;
338		uint64_t pgf_bs:1;
339		uint64_t pig_bs:1;
340		uint64_t pof0_bs:1;
341		uint64_t reserved_5_7:3;
342		uint64_t pos_bs:1;
343		uint64_t nus_bs:1;
344		uint64_t dob_bs:1;
345		uint64_t pdf_bs:1;
346		uint64_t dpi_bs:1;
347	} cn30xx;
348	struct cvmx_npi_bist_status_s cn31xx;
349	struct cvmx_npi_bist_status_s cn38xx;
350	struct cvmx_npi_bist_status_s cn38xxp2;
351	struct cvmx_npi_bist_status_cn50xx {
352		uint64_t reserved_20_63:44;
353		uint64_t csr_bs:1;
354		uint64_t dif_bs:1;
355		uint64_t rdp_bs:1;
356		uint64_t pcnc_bs:1;
357		uint64_t pcn_bs:1;
358		uint64_t rdn_bs:1;
359		uint64_t pcac_bs:1;
360		uint64_t pcad_bs:1;
361		uint64_t rdnl_bs:1;
362		uint64_t pgf_bs:1;
363		uint64_t pig_bs:1;
364		uint64_t pof0_bs:1;
365		uint64_t pof1_bs:1;
366		uint64_t reserved_5_6:2;
367		uint64_t pos_bs:1;
368		uint64_t nus_bs:1;
369		uint64_t dob_bs:1;
370		uint64_t pdf_bs:1;
371		uint64_t dpi_bs:1;
372	} cn50xx;
373	struct cvmx_npi_bist_status_s cn58xx;
374	struct cvmx_npi_bist_status_s cn58xxp1;
375};
376
377union cvmx_npi_buff_size_outputx {
378	uint64_t u64;
379	struct cvmx_npi_buff_size_outputx_s {
380		uint64_t reserved_23_63:41;
381		uint64_t isize:7;
382		uint64_t bsize:16;
383	} s;
384	struct cvmx_npi_buff_size_outputx_s cn30xx;
385	struct cvmx_npi_buff_size_outputx_s cn31xx;
386	struct cvmx_npi_buff_size_outputx_s cn38xx;
387	struct cvmx_npi_buff_size_outputx_s cn38xxp2;
388	struct cvmx_npi_buff_size_outputx_s cn50xx;
389	struct cvmx_npi_buff_size_outputx_s cn58xx;
390	struct cvmx_npi_buff_size_outputx_s cn58xxp1;
391};
392
393union cvmx_npi_comp_ctl {
394	uint64_t u64;
395	struct cvmx_npi_comp_ctl_s {
396		uint64_t reserved_10_63:54;
397		uint64_t pctl:5;
398		uint64_t nctl:5;
399	} s;
400	struct cvmx_npi_comp_ctl_s cn50xx;
401	struct cvmx_npi_comp_ctl_s cn58xx;
402	struct cvmx_npi_comp_ctl_s cn58xxp1;
403};
404
405union cvmx_npi_ctl_status {
406	uint64_t u64;
407	struct cvmx_npi_ctl_status_s {
408		uint64_t reserved_63_63:1;
409		uint64_t chip_rev:8;
410		uint64_t dis_pniw:1;
411		uint64_t out3_enb:1;
412		uint64_t out2_enb:1;
413		uint64_t out1_enb:1;
414		uint64_t out0_enb:1;
415		uint64_t ins3_enb:1;
416		uint64_t ins2_enb:1;
417		uint64_t ins1_enb:1;
418		uint64_t ins0_enb:1;
419		uint64_t ins3_64b:1;
420		uint64_t ins2_64b:1;
421		uint64_t ins1_64b:1;
422		uint64_t ins0_64b:1;
423		uint64_t pci_wdis:1;
424		uint64_t wait_com:1;
425		uint64_t reserved_37_39:3;
426		uint64_t max_word:5;
427		uint64_t reserved_10_31:22;
428		uint64_t timer:10;
429	} s;
430	struct cvmx_npi_ctl_status_cn30xx {
431		uint64_t reserved_63_63:1;
432		uint64_t chip_rev:8;
433		uint64_t dis_pniw:1;
434		uint64_t reserved_51_53:3;
435		uint64_t out0_enb:1;
436		uint64_t reserved_47_49:3;
437		uint64_t ins0_enb:1;
438		uint64_t reserved_43_45:3;
439		uint64_t ins0_64b:1;
440		uint64_t pci_wdis:1;
441		uint64_t wait_com:1;
442		uint64_t reserved_37_39:3;
443		uint64_t max_word:5;
444		uint64_t reserved_10_31:22;
445		uint64_t timer:10;
446	} cn30xx;
447	struct cvmx_npi_ctl_status_cn31xx {
448		uint64_t reserved_63_63:1;
449		uint64_t chip_rev:8;
450		uint64_t dis_pniw:1;
451		uint64_t reserved_52_53:2;
452		uint64_t out1_enb:1;
453		uint64_t out0_enb:1;
454		uint64_t reserved_48_49:2;
455		uint64_t ins1_enb:1;
456		uint64_t ins0_enb:1;
457		uint64_t reserved_44_45:2;
458		uint64_t ins1_64b:1;
459		uint64_t ins0_64b:1;
460		uint64_t pci_wdis:1;
461		uint64_t wait_com:1;
462		uint64_t reserved_37_39:3;
463		uint64_t max_word:5;
464		uint64_t reserved_10_31:22;
465		uint64_t timer:10;
466	} cn31xx;
467	struct cvmx_npi_ctl_status_s cn38xx;
468	struct cvmx_npi_ctl_status_s cn38xxp2;
469	struct cvmx_npi_ctl_status_cn31xx cn50xx;
470	struct cvmx_npi_ctl_status_s cn58xx;
471	struct cvmx_npi_ctl_status_s cn58xxp1;
472};
473
474union cvmx_npi_dbg_select {
475	uint64_t u64;
476	struct cvmx_npi_dbg_select_s {
477		uint64_t reserved_16_63:48;
478		uint64_t dbg_sel:16;
479	} s;
480	struct cvmx_npi_dbg_select_s cn30xx;
481	struct cvmx_npi_dbg_select_s cn31xx;
482	struct cvmx_npi_dbg_select_s cn38xx;
483	struct cvmx_npi_dbg_select_s cn38xxp2;
484	struct cvmx_npi_dbg_select_s cn50xx;
485	struct cvmx_npi_dbg_select_s cn58xx;
486	struct cvmx_npi_dbg_select_s cn58xxp1;
487};
488
489union cvmx_npi_dma_control {
490	uint64_t u64;
491	struct cvmx_npi_dma_control_s {
492		uint64_t reserved_36_63:28;
493		uint64_t b0_lend:1;
494		uint64_t dwb_denb:1;
495		uint64_t dwb_ichk:9;
496		uint64_t fpa_que:3;
497		uint64_t o_add1:1;
498		uint64_t o_ro:1;
499		uint64_t o_ns:1;
500		uint64_t o_es:2;
501		uint64_t o_mode:1;
502		uint64_t hp_enb:1;
503		uint64_t lp_enb:1;
504		uint64_t csize:14;
505	} s;
506	struct cvmx_npi_dma_control_s cn30xx;
507	struct cvmx_npi_dma_control_s cn31xx;
508	struct cvmx_npi_dma_control_s cn38xx;
509	struct cvmx_npi_dma_control_s cn38xxp2;
510	struct cvmx_npi_dma_control_s cn50xx;
511	struct cvmx_npi_dma_control_s cn58xx;
512	struct cvmx_npi_dma_control_s cn58xxp1;
513};
514
515union cvmx_npi_dma_highp_counts {
516	uint64_t u64;
517	struct cvmx_npi_dma_highp_counts_s {
518		uint64_t reserved_39_63:25;
519		uint64_t fcnt:7;
520		uint64_t dbell:32;
521	} s;
522	struct cvmx_npi_dma_highp_counts_s cn30xx;
523	struct cvmx_npi_dma_highp_counts_s cn31xx;
524	struct cvmx_npi_dma_highp_counts_s cn38xx;
525	struct cvmx_npi_dma_highp_counts_s cn38xxp2;
526	struct cvmx_npi_dma_highp_counts_s cn50xx;
527	struct cvmx_npi_dma_highp_counts_s cn58xx;
528	struct cvmx_npi_dma_highp_counts_s cn58xxp1;
529};
530
531union cvmx_npi_dma_highp_naddr {
532	uint64_t u64;
533	struct cvmx_npi_dma_highp_naddr_s {
534		uint64_t reserved_40_63:24;
535		uint64_t state:4;
536		uint64_t addr:36;
537	} s;
538	struct cvmx_npi_dma_highp_naddr_s cn30xx;
539	struct cvmx_npi_dma_highp_naddr_s cn31xx;
540	struct cvmx_npi_dma_highp_naddr_s cn38xx;
541	struct cvmx_npi_dma_highp_naddr_s cn38xxp2;
542	struct cvmx_npi_dma_highp_naddr_s cn50xx;
543	struct cvmx_npi_dma_highp_naddr_s cn58xx;
544	struct cvmx_npi_dma_highp_naddr_s cn58xxp1;
545};
546
547union cvmx_npi_dma_lowp_counts {
548	uint64_t u64;
549	struct cvmx_npi_dma_lowp_counts_s {
550		uint64_t reserved_39_63:25;
551		uint64_t fcnt:7;
552		uint64_t dbell:32;
553	} s;
554	struct cvmx_npi_dma_lowp_counts_s cn30xx;
555	struct cvmx_npi_dma_lowp_counts_s cn31xx;
556	struct cvmx_npi_dma_lowp_counts_s cn38xx;
557	struct cvmx_npi_dma_lowp_counts_s cn38xxp2;
558	struct cvmx_npi_dma_lowp_counts_s cn50xx;
559	struct cvmx_npi_dma_lowp_counts_s cn58xx;
560	struct cvmx_npi_dma_lowp_counts_s cn58xxp1;
561};
562
563union cvmx_npi_dma_lowp_naddr {
564	uint64_t u64;
565	struct cvmx_npi_dma_lowp_naddr_s {
566		uint64_t reserved_40_63:24;
567		uint64_t state:4;
568		uint64_t addr:36;
569	} s;
570	struct cvmx_npi_dma_lowp_naddr_s cn30xx;
571	struct cvmx_npi_dma_lowp_naddr_s cn31xx;
572	struct cvmx_npi_dma_lowp_naddr_s cn38xx;
573	struct cvmx_npi_dma_lowp_naddr_s cn38xxp2;
574	struct cvmx_npi_dma_lowp_naddr_s cn50xx;
575	struct cvmx_npi_dma_lowp_naddr_s cn58xx;
576	struct cvmx_npi_dma_lowp_naddr_s cn58xxp1;
577};
578
579union cvmx_npi_highp_dbell {
580	uint64_t u64;
581	struct cvmx_npi_highp_dbell_s {
582		uint64_t reserved_16_63:48;
583		uint64_t dbell:16;
584	} s;
585	struct cvmx_npi_highp_dbell_s cn30xx;
586	struct cvmx_npi_highp_dbell_s cn31xx;
587	struct cvmx_npi_highp_dbell_s cn38xx;
588	struct cvmx_npi_highp_dbell_s cn38xxp2;
589	struct cvmx_npi_highp_dbell_s cn50xx;
590	struct cvmx_npi_highp_dbell_s cn58xx;
591	struct cvmx_npi_highp_dbell_s cn58xxp1;
592};
593
594union cvmx_npi_highp_ibuff_saddr {
595	uint64_t u64;
596	struct cvmx_npi_highp_ibuff_saddr_s {
597		uint64_t reserved_36_63:28;
598		uint64_t saddr:36;
599	} s;
600	struct cvmx_npi_highp_ibuff_saddr_s cn30xx;
601	struct cvmx_npi_highp_ibuff_saddr_s cn31xx;
602	struct cvmx_npi_highp_ibuff_saddr_s cn38xx;
603	struct cvmx_npi_highp_ibuff_saddr_s cn38xxp2;
604	struct cvmx_npi_highp_ibuff_saddr_s cn50xx;
605	struct cvmx_npi_highp_ibuff_saddr_s cn58xx;
606	struct cvmx_npi_highp_ibuff_saddr_s cn58xxp1;
607};
608
609union cvmx_npi_input_control {
610	uint64_t u64;
611	struct cvmx_npi_input_control_s {
612		uint64_t reserved_23_63:41;
613		uint64_t pkt_rr:1;
614		uint64_t pbp_dhi:13;
615		uint64_t d_nsr:1;
616		uint64_t d_esr:2;
617		uint64_t d_ror:1;
618		uint64_t use_csr:1;
619		uint64_t nsr:1;
620		uint64_t esr:2;
621		uint64_t ror:1;
622	} s;
623	struct cvmx_npi_input_control_cn30xx {
624		uint64_t reserved_22_63:42;
625		uint64_t pbp_dhi:13;
626		uint64_t d_nsr:1;
627		uint64_t d_esr:2;
628		uint64_t d_ror:1;
629		uint64_t use_csr:1;
630		uint64_t nsr:1;
631		uint64_t esr:2;
632		uint64_t ror:1;
633	} cn30xx;
634	struct cvmx_npi_input_control_cn30xx cn31xx;
635	struct cvmx_npi_input_control_s cn38xx;
636	struct cvmx_npi_input_control_cn30xx cn38xxp2;
637	struct cvmx_npi_input_control_s cn50xx;
638	struct cvmx_npi_input_control_s cn58xx;
639	struct cvmx_npi_input_control_s cn58xxp1;
640};
641
642union cvmx_npi_int_enb {
643	uint64_t u64;
644	struct cvmx_npi_int_enb_s {
645		uint64_t reserved_62_63:2;
646		uint64_t q1_a_f:1;
647		uint64_t q1_s_e:1;
648		uint64_t pdf_p_f:1;
649		uint64_t pdf_p_e:1;
650		uint64_t pcf_p_f:1;
651		uint64_t pcf_p_e:1;
652		uint64_t rdx_s_e:1;
653		uint64_t rwx_s_e:1;
654		uint64_t pnc_a_f:1;
655		uint64_t pnc_s_e:1;
656		uint64_t com_a_f:1;
657		uint64_t com_s_e:1;
658		uint64_t q3_a_f:1;
659		uint64_t q3_s_e:1;
660		uint64_t q2_a_f:1;
661		uint64_t q2_s_e:1;
662		uint64_t pcr_a_f:1;
663		uint64_t pcr_s_e:1;
664		uint64_t fcr_a_f:1;
665		uint64_t fcr_s_e:1;
666		uint64_t iobdma:1;
667		uint64_t p_dperr:1;
668		uint64_t win_rto:1;
669		uint64_t i3_pperr:1;
670		uint64_t i2_pperr:1;
671		uint64_t i1_pperr:1;
672		uint64_t i0_pperr:1;
673		uint64_t p3_ptout:1;
674		uint64_t p2_ptout:1;
675		uint64_t p1_ptout:1;
676		uint64_t p0_ptout:1;
677		uint64_t p3_pperr:1;
678		uint64_t p2_pperr:1;
679		uint64_t p1_pperr:1;
680		uint64_t p0_pperr:1;
681		uint64_t g3_rtout:1;
682		uint64_t g2_rtout:1;
683		uint64_t g1_rtout:1;
684		uint64_t g0_rtout:1;
685		uint64_t p3_perr:1;
686		uint64_t p2_perr:1;
687		uint64_t p1_perr:1;
688		uint64_t p0_perr:1;
689		uint64_t p3_rtout:1;
690		uint64_t p2_rtout:1;
691		uint64_t p1_rtout:1;
692		uint64_t p0_rtout:1;
693		uint64_t i3_overf:1;
694		uint64_t i2_overf:1;
695		uint64_t i1_overf:1;
696		uint64_t i0_overf:1;
697		uint64_t i3_rtout:1;
698		uint64_t i2_rtout:1;
699		uint64_t i1_rtout:1;
700		uint64_t i0_rtout:1;
701		uint64_t po3_2sml:1;
702		uint64_t po2_2sml:1;
703		uint64_t po1_2sml:1;
704		uint64_t po0_2sml:1;
705		uint64_t pci_rsl:1;
706		uint64_t rml_wto:1;
707		uint64_t rml_rto:1;
708	} s;
709	struct cvmx_npi_int_enb_cn30xx {
710		uint64_t reserved_62_63:2;
711		uint64_t q1_a_f:1;
712		uint64_t q1_s_e:1;
713		uint64_t pdf_p_f:1;
714		uint64_t pdf_p_e:1;
715		uint64_t pcf_p_f:1;
716		uint64_t pcf_p_e:1;
717		uint64_t rdx_s_e:1;
718		uint64_t rwx_s_e:1;
719		uint64_t pnc_a_f:1;
720		uint64_t pnc_s_e:1;
721		uint64_t com_a_f:1;
722		uint64_t com_s_e:1;
723		uint64_t q3_a_f:1;
724		uint64_t q3_s_e:1;
725		uint64_t q2_a_f:1;
726		uint64_t q2_s_e:1;
727		uint64_t pcr_a_f:1;
728		uint64_t pcr_s_e:1;
729		uint64_t fcr_a_f:1;
730		uint64_t fcr_s_e:1;
731		uint64_t iobdma:1;
732		uint64_t p_dperr:1;
733		uint64_t win_rto:1;
734		uint64_t reserved_36_38:3;
735		uint64_t i0_pperr:1;
736		uint64_t reserved_32_34:3;
737		uint64_t p0_ptout:1;
738		uint64_t reserved_28_30:3;
739		uint64_t p0_pperr:1;
740		uint64_t reserved_24_26:3;
741		uint64_t g0_rtout:1;
742		uint64_t reserved_20_22:3;
743		uint64_t p0_perr:1;
744		uint64_t reserved_16_18:3;
745		uint64_t p0_rtout:1;
746		uint64_t reserved_12_14:3;
747		uint64_t i0_overf:1;
748		uint64_t reserved_8_10:3;
749		uint64_t i0_rtout:1;
750		uint64_t reserved_4_6:3;
751		uint64_t po0_2sml:1;
752		uint64_t pci_rsl:1;
753		uint64_t rml_wto:1;
754		uint64_t rml_rto:1;
755	} cn30xx;
756	struct cvmx_npi_int_enb_cn31xx {
757		uint64_t reserved_62_63:2;
758		uint64_t q1_a_f:1;
759		uint64_t q1_s_e:1;
760		uint64_t pdf_p_f:1;
761		uint64_t pdf_p_e:1;
762		uint64_t pcf_p_f:1;
763		uint64_t pcf_p_e:1;
764		uint64_t rdx_s_e:1;
765		uint64_t rwx_s_e:1;
766		uint64_t pnc_a_f:1;
767		uint64_t pnc_s_e:1;
768		uint64_t com_a_f:1;
769		uint64_t com_s_e:1;
770		uint64_t q3_a_f:1;
771		uint64_t q3_s_e:1;
772		uint64_t q2_a_f:1;
773		uint64_t q2_s_e:1;
774		uint64_t pcr_a_f:1;
775		uint64_t pcr_s_e:1;
776		uint64_t fcr_a_f:1;
777		uint64_t fcr_s_e:1;
778		uint64_t iobdma:1;
779		uint64_t p_dperr:1;
780		uint64_t win_rto:1;
781		uint64_t reserved_37_38:2;
782		uint64_t i1_pperr:1;
783		uint64_t i0_pperr:1;
784		uint64_t reserved_33_34:2;
785		uint64_t p1_ptout:1;
786		uint64_t p0_ptout:1;
787		uint64_t reserved_29_30:2;
788		uint64_t p1_pperr:1;
789		uint64_t p0_pperr:1;
790		uint64_t reserved_25_26:2;
791		uint64_t g1_rtout:1;
792		uint64_t g0_rtout:1;
793		uint64_t reserved_21_22:2;
794		uint64_t p1_perr:1;
795		uint64_t p0_perr:1;
796		uint64_t reserved_17_18:2;
797		uint64_t p1_rtout:1;
798		uint64_t p0_rtout:1;
799		uint64_t reserved_13_14:2;
800		uint64_t i1_overf:1;
801		uint64_t i0_overf:1;
802		uint64_t reserved_9_10:2;
803		uint64_t i1_rtout:1;
804		uint64_t i0_rtout:1;
805		uint64_t reserved_5_6:2;
806		uint64_t po1_2sml:1;
807		uint64_t po0_2sml:1;
808		uint64_t pci_rsl:1;
809		uint64_t rml_wto:1;
810		uint64_t rml_rto:1;
811	} cn31xx;
812	struct cvmx_npi_int_enb_s cn38xx;
813	struct cvmx_npi_int_enb_cn38xxp2 {
814		uint64_t reserved_42_63:22;
815		uint64_t iobdma:1;
816		uint64_t p_dperr:1;
817		uint64_t win_rto:1;
818		uint64_t i3_pperr:1;
819		uint64_t i2_pperr:1;
820		uint64_t i1_pperr:1;
821		uint64_t i0_pperr:1;
822		uint64_t p3_ptout:1;
823		uint64_t p2_ptout:1;
824		uint64_t p1_ptout:1;
825		uint64_t p0_ptout:1;
826		uint64_t p3_pperr:1;
827		uint64_t p2_pperr:1;
828		uint64_t p1_pperr:1;
829		uint64_t p0_pperr:1;
830		uint64_t g3_rtout:1;
831		uint64_t g2_rtout:1;
832		uint64_t g1_rtout:1;
833		uint64_t g0_rtout:1;
834		uint64_t p3_perr:1;
835		uint64_t p2_perr:1;
836		uint64_t p1_perr:1;
837		uint64_t p0_perr:1;
838		uint64_t p3_rtout:1;
839		uint64_t p2_rtout:1;
840		uint64_t p1_rtout:1;
841		uint64_t p0_rtout:1;
842		uint64_t i3_overf:1;
843		uint64_t i2_overf:1;
844		uint64_t i1_overf:1;
845		uint64_t i0_overf:1;
846		uint64_t i3_rtout:1;
847		uint64_t i2_rtout:1;
848		uint64_t i1_rtout:1;
849		uint64_t i0_rtout:1;
850		uint64_t po3_2sml:1;
851		uint64_t po2_2sml:1;
852		uint64_t po1_2sml:1;
853		uint64_t po0_2sml:1;
854		uint64_t pci_rsl:1;
855		uint64_t rml_wto:1;
856		uint64_t rml_rto:1;
857	} cn38xxp2;
858	struct cvmx_npi_int_enb_cn31xx cn50xx;
859	struct cvmx_npi_int_enb_s cn58xx;
860	struct cvmx_npi_int_enb_s cn58xxp1;
861};
862
863union cvmx_npi_int_sum {
864	uint64_t u64;
865	struct cvmx_npi_int_sum_s {
866		uint64_t reserved_62_63:2;
867		uint64_t q1_a_f:1;
868		uint64_t q1_s_e:1;
869		uint64_t pdf_p_f:1;
870		uint64_t pdf_p_e:1;
871		uint64_t pcf_p_f:1;
872		uint64_t pcf_p_e:1;
873		uint64_t rdx_s_e:1;
874		uint64_t rwx_s_e:1;
875		uint64_t pnc_a_f:1;
876		uint64_t pnc_s_e:1;
877		uint64_t com_a_f:1;
878		uint64_t com_s_e:1;
879		uint64_t q3_a_f:1;
880		uint64_t q3_s_e:1;
881		uint64_t q2_a_f:1;
882		uint64_t q2_s_e:1;
883		uint64_t pcr_a_f:1;
884		uint64_t pcr_s_e:1;
885		uint64_t fcr_a_f:1;
886		uint64_t fcr_s_e:1;
887		uint64_t iobdma:1;
888		uint64_t p_dperr:1;
889		uint64_t win_rto:1;
890		uint64_t i3_pperr:1;
891		uint64_t i2_pperr:1;
892		uint64_t i1_pperr:1;
893		uint64_t i0_pperr:1;
894		uint64_t p3_ptout:1;
895		uint64_t p2_ptout:1;
896		uint64_t p1_ptout:1;
897		uint64_t p0_ptout:1;
898		uint64_t p3_pperr:1;
899		uint64_t p2_pperr:1;
900		uint64_t p1_pperr:1;
901		uint64_t p0_pperr:1;
902		uint64_t g3_rtout:1;
903		uint64_t g2_rtout:1;
904		uint64_t g1_rtout:1;
905		uint64_t g0_rtout:1;
906		uint64_t p3_perr:1;
907		uint64_t p2_perr:1;
908		uint64_t p1_perr:1;
909		uint64_t p0_perr:1;
910		uint64_t p3_rtout:1;
911		uint64_t p2_rtout:1;
912		uint64_t p1_rtout:1;
913		uint64_t p0_rtout:1;
914		uint64_t i3_overf:1;
915		uint64_t i2_overf:1;
916		uint64_t i1_overf:1;
917		uint64_t i0_overf:1;
918		uint64_t i3_rtout:1;
919		uint64_t i2_rtout:1;
920		uint64_t i1_rtout:1;
921		uint64_t i0_rtout:1;
922		uint64_t po3_2sml:1;
923		uint64_t po2_2sml:1;
924		uint64_t po1_2sml:1;
925		uint64_t po0_2sml:1;
926		uint64_t pci_rsl:1;
927		uint64_t rml_wto:1;
928		uint64_t rml_rto:1;
929	} s;
930	struct cvmx_npi_int_sum_cn30xx {
931		uint64_t reserved_62_63:2;
932		uint64_t q1_a_f:1;
933		uint64_t q1_s_e:1;
934		uint64_t pdf_p_f:1;
935		uint64_t pdf_p_e:1;
936		uint64_t pcf_p_f:1;
937		uint64_t pcf_p_e:1;
938		uint64_t rdx_s_e:1;
939		uint64_t rwx_s_e:1;
940		uint64_t pnc_a_f:1;
941		uint64_t pnc_s_e:1;
942		uint64_t com_a_f:1;
943		uint64_t com_s_e:1;
944		uint64_t q3_a_f:1;
945		uint64_t q3_s_e:1;
946		uint64_t q2_a_f:1;
947		uint64_t q2_s_e:1;
948		uint64_t pcr_a_f:1;
949		uint64_t pcr_s_e:1;
950		uint64_t fcr_a_f:1;
951		uint64_t fcr_s_e:1;
952		uint64_t iobdma:1;
953		uint64_t p_dperr:1;
954		uint64_t win_rto:1;
955		uint64_t reserved_36_38:3;
956		uint64_t i0_pperr:1;
957		uint64_t reserved_32_34:3;
958		uint64_t p0_ptout:1;
959		uint64_t reserved_28_30:3;
960		uint64_t p0_pperr:1;
961		uint64_t reserved_24_26:3;
962		uint64_t g0_rtout:1;
963		uint64_t reserved_20_22:3;
964		uint64_t p0_perr:1;
965		uint64_t reserved_16_18:3;
966		uint64_t p0_rtout:1;
967		uint64_t reserved_12_14:3;
968		uint64_t i0_overf:1;
969		uint64_t reserved_8_10:3;
970		uint64_t i0_rtout:1;
971		uint64_t reserved_4_6:3;
972		uint64_t po0_2sml:1;
973		uint64_t pci_rsl:1;
974		uint64_t rml_wto:1;
975		uint64_t rml_rto:1;
976	} cn30xx;
977	struct cvmx_npi_int_sum_cn31xx {
978		uint64_t reserved_62_63:2;
979		uint64_t q1_a_f:1;
980		uint64_t q1_s_e:1;
981		uint64_t pdf_p_f:1;
982		uint64_t pdf_p_e:1;
983		uint64_t pcf_p_f:1;
984		uint64_t pcf_p_e:1;
985		uint64_t rdx_s_e:1;
986		uint64_t rwx_s_e:1;
987		uint64_t pnc_a_f:1;
988		uint64_t pnc_s_e:1;
989		uint64_t com_a_f:1;
990		uint64_t com_s_e:1;
991		uint64_t q3_a_f:1;
992		uint64_t q3_s_e:1;
993		uint64_t q2_a_f:1;
994		uint64_t q2_s_e:1;
995		uint64_t pcr_a_f:1;
996		uint64_t pcr_s_e:1;
997		uint64_t fcr_a_f:1;
998		uint64_t fcr_s_e:1;
999		uint64_t iobdma:1;
1000		uint64_t p_dperr:1;
1001		uint64_t win_rto:1;
1002		uint64_t reserved_37_38:2;
1003		uint64_t i1_pperr:1;
1004		uint64_t i0_pperr:1;
1005		uint64_t reserved_33_34:2;
1006		uint64_t p1_ptout:1;
1007		uint64_t p0_ptout:1;
1008		uint64_t reserved_29_30:2;
1009		uint64_t p1_pperr:1;
1010		uint64_t p0_pperr:1;
1011		uint64_t reserved_25_26:2;
1012		uint64_t g1_rtout:1;
1013		uint64_t g0_rtout:1;
1014		uint64_t reserved_21_22:2;
1015		uint64_t p1_perr:1;
1016		uint64_t p0_perr:1;
1017		uint64_t reserved_17_18:2;
1018		uint64_t p1_rtout:1;
1019		uint64_t p0_rtout:1;
1020		uint64_t reserved_13_14:2;
1021		uint64_t i1_overf:1;
1022		uint64_t i0_overf:1;
1023		uint64_t reserved_9_10:2;
1024		uint64_t i1_rtout:1;
1025		uint64_t i0_rtout:1;
1026		uint64_t reserved_5_6:2;
1027		uint64_t po1_2sml:1;
1028		uint64_t po0_2sml:1;
1029		uint64_t pci_rsl:1;
1030		uint64_t rml_wto:1;
1031		uint64_t rml_rto:1;
1032	} cn31xx;
1033	struct cvmx_npi_int_sum_s cn38xx;
1034	struct cvmx_npi_int_sum_cn38xxp2 {
1035		uint64_t reserved_42_63:22;
1036		uint64_t iobdma:1;
1037		uint64_t p_dperr:1;
1038		uint64_t win_rto:1;
1039		uint64_t i3_pperr:1;
1040		uint64_t i2_pperr:1;
1041		uint64_t i1_pperr:1;
1042		uint64_t i0_pperr:1;
1043		uint64_t p3_ptout:1;
1044		uint64_t p2_ptout:1;
1045		uint64_t p1_ptout:1;
1046		uint64_t p0_ptout:1;
1047		uint64_t p3_pperr:1;
1048		uint64_t p2_pperr:1;
1049		uint64_t p1_pperr:1;
1050		uint64_t p0_pperr:1;
1051		uint64_t g3_rtout:1;
1052		uint64_t g2_rtout:1;
1053		uint64_t g1_rtout:1;
1054		uint64_t g0_rtout:1;
1055		uint64_t p3_perr:1;
1056		uint64_t p2_perr:1;
1057		uint64_t p1_perr:1;
1058		uint64_t p0_perr:1;
1059		uint64_t p3_rtout:1;
1060		uint64_t p2_rtout:1;
1061		uint64_t p1_rtout:1;
1062		uint64_t p0_rtout:1;
1063		uint64_t i3_overf:1;
1064		uint64_t i2_overf:1;
1065		uint64_t i1_overf:1;
1066		uint64_t i0_overf:1;
1067		uint64_t i3_rtout:1;
1068		uint64_t i2_rtout:1;
1069		uint64_t i1_rtout:1;
1070		uint64_t i0_rtout:1;
1071		uint64_t po3_2sml:1;
1072		uint64_t po2_2sml:1;
1073		uint64_t po1_2sml:1;
1074		uint64_t po0_2sml:1;
1075		uint64_t pci_rsl:1;
1076		uint64_t rml_wto:1;
1077		uint64_t rml_rto:1;
1078	} cn38xxp2;
1079	struct cvmx_npi_int_sum_cn31xx cn50xx;
1080	struct cvmx_npi_int_sum_s cn58xx;
1081	struct cvmx_npi_int_sum_s cn58xxp1;
1082};
1083
1084union cvmx_npi_lowp_dbell {
1085	uint64_t u64;
1086	struct cvmx_npi_lowp_dbell_s {
1087		uint64_t reserved_16_63:48;
1088		uint64_t dbell:16;
1089	} s;
1090	struct cvmx_npi_lowp_dbell_s cn30xx;
1091	struct cvmx_npi_lowp_dbell_s cn31xx;
1092	struct cvmx_npi_lowp_dbell_s cn38xx;
1093	struct cvmx_npi_lowp_dbell_s cn38xxp2;
1094	struct cvmx_npi_lowp_dbell_s cn50xx;
1095	struct cvmx_npi_lowp_dbell_s cn58xx;
1096	struct cvmx_npi_lowp_dbell_s cn58xxp1;
1097};
1098
1099union cvmx_npi_lowp_ibuff_saddr {
1100	uint64_t u64;
1101	struct cvmx_npi_lowp_ibuff_saddr_s {
1102		uint64_t reserved_36_63:28;
1103		uint64_t saddr:36;
1104	} s;
1105	struct cvmx_npi_lowp_ibuff_saddr_s cn30xx;
1106	struct cvmx_npi_lowp_ibuff_saddr_s cn31xx;
1107	struct cvmx_npi_lowp_ibuff_saddr_s cn38xx;
1108	struct cvmx_npi_lowp_ibuff_saddr_s cn38xxp2;
1109	struct cvmx_npi_lowp_ibuff_saddr_s cn50xx;
1110	struct cvmx_npi_lowp_ibuff_saddr_s cn58xx;
1111	struct cvmx_npi_lowp_ibuff_saddr_s cn58xxp1;
1112};
1113
1114union cvmx_npi_mem_access_subidx {
1115	uint64_t u64;
1116	struct cvmx_npi_mem_access_subidx_s {
1117		uint64_t reserved_38_63:26;
1118		uint64_t shortl:1;
1119		uint64_t nmerge:1;
1120		uint64_t esr:2;
1121		uint64_t esw:2;
1122		uint64_t nsr:1;
1123		uint64_t nsw:1;
1124		uint64_t ror:1;
1125		uint64_t row:1;
1126		uint64_t ba:28;
1127	} s;
1128	struct cvmx_npi_mem_access_subidx_s cn30xx;
1129	struct cvmx_npi_mem_access_subidx_cn31xx {
1130		uint64_t reserved_36_63:28;
1131		uint64_t esr:2;
1132		uint64_t esw:2;
1133		uint64_t nsr:1;
1134		uint64_t nsw:1;
1135		uint64_t ror:1;
1136		uint64_t row:1;
1137		uint64_t ba:28;
1138	} cn31xx;
1139	struct cvmx_npi_mem_access_subidx_s cn38xx;
1140	struct cvmx_npi_mem_access_subidx_cn31xx cn38xxp2;
1141	struct cvmx_npi_mem_access_subidx_s cn50xx;
1142	struct cvmx_npi_mem_access_subidx_s cn58xx;
1143	struct cvmx_npi_mem_access_subidx_s cn58xxp1;
1144};
1145
1146union cvmx_npi_msi_rcv {
1147	uint64_t u64;
1148	struct cvmx_npi_msi_rcv_s {
1149		uint64_t int_vec:64;
1150	} s;
1151	struct cvmx_npi_msi_rcv_s cn30xx;
1152	struct cvmx_npi_msi_rcv_s cn31xx;
1153	struct cvmx_npi_msi_rcv_s cn38xx;
1154	struct cvmx_npi_msi_rcv_s cn38xxp2;
1155	struct cvmx_npi_msi_rcv_s cn50xx;
1156	struct cvmx_npi_msi_rcv_s cn58xx;
1157	struct cvmx_npi_msi_rcv_s cn58xxp1;
1158};
1159
1160union cvmx_npi_num_desc_outputx {
1161	uint64_t u64;
1162	struct cvmx_npi_num_desc_outputx_s {
1163		uint64_t reserved_32_63:32;
1164		uint64_t size:32;
1165	} s;
1166	struct cvmx_npi_num_desc_outputx_s cn30xx;
1167	struct cvmx_npi_num_desc_outputx_s cn31xx;
1168	struct cvmx_npi_num_desc_outputx_s cn38xx;
1169	struct cvmx_npi_num_desc_outputx_s cn38xxp2;
1170	struct cvmx_npi_num_desc_outputx_s cn50xx;
1171	struct cvmx_npi_num_desc_outputx_s cn58xx;
1172	struct cvmx_npi_num_desc_outputx_s cn58xxp1;
1173};
1174
1175union cvmx_npi_output_control {
1176	uint64_t u64;
1177	struct cvmx_npi_output_control_s {
1178		uint64_t reserved_49_63:15;
1179		uint64_t pkt_rr:1;
1180		uint64_t p3_bmode:1;
1181		uint64_t p2_bmode:1;
1182		uint64_t p1_bmode:1;
1183		uint64_t p0_bmode:1;
1184		uint64_t o3_es:2;
1185		uint64_t o3_ns:1;
1186		uint64_t o3_ro:1;
1187		uint64_t o2_es:2;
1188		uint64_t o2_ns:1;
1189		uint64_t o2_ro:1;
1190		uint64_t o1_es:2;
1191		uint64_t o1_ns:1;
1192		uint64_t o1_ro:1;
1193		uint64_t o0_es:2;
1194		uint64_t o0_ns:1;
1195		uint64_t o0_ro:1;
1196		uint64_t o3_csrm:1;
1197		uint64_t o2_csrm:1;
1198		uint64_t o1_csrm:1;
1199		uint64_t o0_csrm:1;
1200		uint64_t reserved_20_23:4;
1201		uint64_t iptr_o3:1;
1202		uint64_t iptr_o2:1;
1203		uint64_t iptr_o1:1;
1204		uint64_t iptr_o0:1;
1205		uint64_t esr_sl3:2;
1206		uint64_t nsr_sl3:1;
1207		uint64_t ror_sl3:1;
1208		uint64_t esr_sl2:2;
1209		uint64_t nsr_sl2:1;
1210		uint64_t ror_sl2:1;
1211		uint64_t esr_sl1:2;
1212		uint64_t nsr_sl1:1;
1213		uint64_t ror_sl1:1;
1214		uint64_t esr_sl0:2;
1215		uint64_t nsr_sl0:1;
1216		uint64_t ror_sl0:1;
1217	} s;
1218	struct cvmx_npi_output_control_cn30xx {
1219		uint64_t reserved_45_63:19;
1220		uint64_t p0_bmode:1;
1221		uint64_t reserved_32_43:12;
1222		uint64_t o0_es:2;
1223		uint64_t o0_ns:1;
1224		uint64_t o0_ro:1;
1225		uint64_t reserved_25_27:3;
1226		uint64_t o0_csrm:1;
1227		uint64_t reserved_17_23:7;
1228		uint64_t iptr_o0:1;
1229		uint64_t reserved_4_15:12;
1230		uint64_t esr_sl0:2;
1231		uint64_t nsr_sl0:1;
1232		uint64_t ror_sl0:1;
1233	} cn30xx;
1234	struct cvmx_npi_output_control_cn31xx {
1235		uint64_t reserved_46_63:18;
1236		uint64_t p1_bmode:1;
1237		uint64_t p0_bmode:1;
1238		uint64_t reserved_36_43:8;
1239		uint64_t o1_es:2;
1240		uint64_t o1_ns:1;
1241		uint64_t o1_ro:1;
1242		uint64_t o0_es:2;
1243		uint64_t o0_ns:1;
1244		uint64_t o0_ro:1;
1245		uint64_t reserved_26_27:2;
1246		uint64_t o1_csrm:1;
1247		uint64_t o0_csrm:1;
1248		uint64_t reserved_18_23:6;
1249		uint64_t iptr_o1:1;
1250		uint64_t iptr_o0:1;
1251		uint64_t reserved_8_15:8;
1252		uint64_t esr_sl1:2;
1253		uint64_t nsr_sl1:1;
1254		uint64_t ror_sl1:1;
1255		uint64_t esr_sl0:2;
1256		uint64_t nsr_sl0:1;
1257		uint64_t ror_sl0:1;
1258	} cn31xx;
1259	struct cvmx_npi_output_control_s cn38xx;
1260	struct cvmx_npi_output_control_cn38xxp2 {
1261		uint64_t reserved_48_63:16;
1262		uint64_t p3_bmode:1;
1263		uint64_t p2_bmode:1;
1264		uint64_t p1_bmode:1;
1265		uint64_t p0_bmode:1;
1266		uint64_t o3_es:2;
1267		uint64_t o3_ns:1;
1268		uint64_t o3_ro:1;
1269		uint64_t o2_es:2;
1270		uint64_t o2_ns:1;
1271		uint64_t o2_ro:1;
1272		uint64_t o1_es:2;
1273		uint64_t o1_ns:1;
1274		uint64_t o1_ro:1;
1275		uint64_t o0_es:2;
1276		uint64_t o0_ns:1;
1277		uint64_t o0_ro:1;
1278		uint64_t o3_csrm:1;
1279		uint64_t o2_csrm:1;
1280		uint64_t o1_csrm:1;
1281		uint64_t o0_csrm:1;
1282		uint64_t reserved_20_23:4;
1283		uint64_t iptr_o3:1;
1284		uint64_t iptr_o2:1;
1285		uint64_t iptr_o1:1;
1286		uint64_t iptr_o0:1;
1287		uint64_t esr_sl3:2;
1288		uint64_t nsr_sl3:1;
1289		uint64_t ror_sl3:1;
1290		uint64_t esr_sl2:2;
1291		uint64_t nsr_sl2:1;
1292		uint64_t ror_sl2:1;
1293		uint64_t esr_sl1:2;
1294		uint64_t nsr_sl1:1;
1295		uint64_t ror_sl1:1;
1296		uint64_t esr_sl0:2;
1297		uint64_t nsr_sl0:1;
1298		uint64_t ror_sl0:1;
1299	} cn38xxp2;
1300	struct cvmx_npi_output_control_cn50xx {
1301		uint64_t reserved_49_63:15;
1302		uint64_t pkt_rr:1;
1303		uint64_t reserved_46_47:2;
1304		uint64_t p1_bmode:1;
1305		uint64_t p0_bmode:1;
1306		uint64_t reserved_36_43:8;
1307		uint64_t o1_es:2;
1308		uint64_t o1_ns:1;
1309		uint64_t o1_ro:1;
1310		uint64_t o0_es:2;
1311		uint64_t o0_ns:1;
1312		uint64_t o0_ro:1;
1313		uint64_t reserved_26_27:2;
1314		uint64_t o1_csrm:1;
1315		uint64_t o0_csrm:1;
1316		uint64_t reserved_18_23:6;
1317		uint64_t iptr_o1:1;
1318		uint64_t iptr_o0:1;
1319		uint64_t reserved_8_15:8;
1320		uint64_t esr_sl1:2;
1321		uint64_t nsr_sl1:1;
1322		uint64_t ror_sl1:1;
1323		uint64_t esr_sl0:2;
1324		uint64_t nsr_sl0:1;
1325		uint64_t ror_sl0:1;
1326	} cn50xx;
1327	struct cvmx_npi_output_control_s cn58xx;
1328	struct cvmx_npi_output_control_s cn58xxp1;
1329};
1330
1331union cvmx_npi_px_dbpair_addr {
1332	uint64_t u64;
1333	struct cvmx_npi_px_dbpair_addr_s {
1334		uint64_t reserved_63_63:1;
1335		uint64_t state:2;
1336		uint64_t naddr:61;
1337	} s;
1338	struct cvmx_npi_px_dbpair_addr_s cn30xx;
1339	struct cvmx_npi_px_dbpair_addr_s cn31xx;
1340	struct cvmx_npi_px_dbpair_addr_s cn38xx;
1341	struct cvmx_npi_px_dbpair_addr_s cn38xxp2;
1342	struct cvmx_npi_px_dbpair_addr_s cn50xx;
1343	struct cvmx_npi_px_dbpair_addr_s cn58xx;
1344	struct cvmx_npi_px_dbpair_addr_s cn58xxp1;
1345};
1346
1347union cvmx_npi_px_instr_addr {
1348	uint64_t u64;
1349	struct cvmx_npi_px_instr_addr_s {
1350		uint64_t state:3;
1351		uint64_t naddr:61;
1352	} s;
1353	struct cvmx_npi_px_instr_addr_s cn30xx;
1354	struct cvmx_npi_px_instr_addr_s cn31xx;
1355	struct cvmx_npi_px_instr_addr_s cn38xx;
1356	struct cvmx_npi_px_instr_addr_s cn38xxp2;
1357	struct cvmx_npi_px_instr_addr_s cn50xx;
1358	struct cvmx_npi_px_instr_addr_s cn58xx;
1359	struct cvmx_npi_px_instr_addr_s cn58xxp1;
1360};
1361
1362union cvmx_npi_px_instr_cnts {
1363	uint64_t u64;
1364	struct cvmx_npi_px_instr_cnts_s {
1365		uint64_t reserved_38_63:26;
1366		uint64_t fcnt:6;
1367		uint64_t avail:32;
1368	} s;
1369	struct cvmx_npi_px_instr_cnts_s cn30xx;
1370	struct cvmx_npi_px_instr_cnts_s cn31xx;
1371	struct cvmx_npi_px_instr_cnts_s cn38xx;
1372	struct cvmx_npi_px_instr_cnts_s cn38xxp2;
1373	struct cvmx_npi_px_instr_cnts_s cn50xx;
1374	struct cvmx_npi_px_instr_cnts_s cn58xx;
1375	struct cvmx_npi_px_instr_cnts_s cn58xxp1;
1376};
1377
1378union cvmx_npi_px_pair_cnts {
1379	uint64_t u64;
1380	struct cvmx_npi_px_pair_cnts_s {
1381		uint64_t reserved_37_63:27;
1382		uint64_t fcnt:5;
1383		uint64_t avail:32;
1384	} s;
1385	struct cvmx_npi_px_pair_cnts_s cn30xx;
1386	struct cvmx_npi_px_pair_cnts_s cn31xx;
1387	struct cvmx_npi_px_pair_cnts_s cn38xx;
1388	struct cvmx_npi_px_pair_cnts_s cn38xxp2;
1389	struct cvmx_npi_px_pair_cnts_s cn50xx;
1390	struct cvmx_npi_px_pair_cnts_s cn58xx;
1391	struct cvmx_npi_px_pair_cnts_s cn58xxp1;
1392};
1393
1394union cvmx_npi_pci_burst_size {
1395	uint64_t u64;
1396	struct cvmx_npi_pci_burst_size_s {
1397		uint64_t reserved_14_63:50;
1398		uint64_t wr_brst:7;
1399		uint64_t rd_brst:7;
1400	} s;
1401	struct cvmx_npi_pci_burst_size_s cn30xx;
1402	struct cvmx_npi_pci_burst_size_s cn31xx;
1403	struct cvmx_npi_pci_burst_size_s cn38xx;
1404	struct cvmx_npi_pci_burst_size_s cn38xxp2;
1405	struct cvmx_npi_pci_burst_size_s cn50xx;
1406	struct cvmx_npi_pci_burst_size_s cn58xx;
1407	struct cvmx_npi_pci_burst_size_s cn58xxp1;
1408};
1409
1410union cvmx_npi_pci_int_arb_cfg {
1411	uint64_t u64;
1412	struct cvmx_npi_pci_int_arb_cfg_s {
1413		uint64_t reserved_13_63:51;
1414		uint64_t hostmode:1;
1415		uint64_t pci_ovr:4;
1416		uint64_t reserved_5_7:3;
1417		uint64_t en:1;
1418		uint64_t park_mod:1;
1419		uint64_t park_dev:3;
1420	} s;
1421	struct cvmx_npi_pci_int_arb_cfg_cn30xx {
1422		uint64_t reserved_5_63:59;
1423		uint64_t en:1;
1424		uint64_t park_mod:1;
1425		uint64_t park_dev:3;
1426	} cn30xx;
1427	struct cvmx_npi_pci_int_arb_cfg_cn30xx cn31xx;
1428	struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xx;
1429	struct cvmx_npi_pci_int_arb_cfg_cn30xx cn38xxp2;
1430	struct cvmx_npi_pci_int_arb_cfg_s cn50xx;
1431	struct cvmx_npi_pci_int_arb_cfg_s cn58xx;
1432	struct cvmx_npi_pci_int_arb_cfg_s cn58xxp1;
1433};
1434
1435union cvmx_npi_pci_read_cmd {
1436	uint64_t u64;
1437	struct cvmx_npi_pci_read_cmd_s {
1438		uint64_t reserved_11_63:53;
1439		uint64_t cmd_size:11;
1440	} s;
1441	struct cvmx_npi_pci_read_cmd_s cn30xx;
1442	struct cvmx_npi_pci_read_cmd_s cn31xx;
1443	struct cvmx_npi_pci_read_cmd_s cn38xx;
1444	struct cvmx_npi_pci_read_cmd_s cn38xxp2;
1445	struct cvmx_npi_pci_read_cmd_s cn50xx;
1446	struct cvmx_npi_pci_read_cmd_s cn58xx;
1447	struct cvmx_npi_pci_read_cmd_s cn58xxp1;
1448};
1449
1450union cvmx_npi_port32_instr_hdr {
1451	uint64_t u64;
1452	struct cvmx_npi_port32_instr_hdr_s {
1453		uint64_t reserved_44_63:20;
1454		uint64_t pbp:1;
1455		uint64_t rsv_f:5;
1456		uint64_t rparmode:2;
1457		uint64_t rsv_e:1;
1458		uint64_t rskp_len:7;
1459		uint64_t rsv_d:6;
1460		uint64_t use_ihdr:1;
1461		uint64_t rsv_c:5;
1462		uint64_t par_mode:2;
1463		uint64_t rsv_b:1;
1464		uint64_t skp_len:7;
1465		uint64_t rsv_a:6;
1466	} s;
1467	struct cvmx_npi_port32_instr_hdr_s cn30xx;
1468	struct cvmx_npi_port32_instr_hdr_s cn31xx;
1469	struct cvmx_npi_port32_instr_hdr_s cn38xx;
1470	struct cvmx_npi_port32_instr_hdr_s cn38xxp2;
1471	struct cvmx_npi_port32_instr_hdr_s cn50xx;
1472	struct cvmx_npi_port32_instr_hdr_s cn58xx;
1473	struct cvmx_npi_port32_instr_hdr_s cn58xxp1;
1474};
1475
1476union cvmx_npi_port33_instr_hdr {
1477	uint64_t u64;
1478	struct cvmx_npi_port33_instr_hdr_s {
1479		uint64_t reserved_44_63:20;
1480		uint64_t pbp:1;
1481		uint64_t rsv_f:5;
1482		uint64_t rparmode:2;
1483		uint64_t rsv_e:1;
1484		uint64_t rskp_len:7;
1485		uint64_t rsv_d:6;
1486		uint64_t use_ihdr:1;
1487		uint64_t rsv_c:5;
1488		uint64_t par_mode:2;
1489		uint64_t rsv_b:1;
1490		uint64_t skp_len:7;
1491		uint64_t rsv_a:6;
1492	} s;
1493	struct cvmx_npi_port33_instr_hdr_s cn31xx;
1494	struct cvmx_npi_port33_instr_hdr_s cn38xx;
1495	struct cvmx_npi_port33_instr_hdr_s cn38xxp2;
1496	struct cvmx_npi_port33_instr_hdr_s cn50xx;
1497	struct cvmx_npi_port33_instr_hdr_s cn58xx;
1498	struct cvmx_npi_port33_instr_hdr_s cn58xxp1;
1499};
1500
1501union cvmx_npi_port34_instr_hdr {
1502	uint64_t u64;
1503	struct cvmx_npi_port34_instr_hdr_s {
1504		uint64_t reserved_44_63:20;
1505		uint64_t pbp:1;
1506		uint64_t rsv_f:5;
1507		uint64_t rparmode:2;
1508		uint64_t rsv_e:1;
1509		uint64_t rskp_len:7;
1510		uint64_t rsv_d:6;
1511		uint64_t use_ihdr:1;
1512		uint64_t rsv_c:5;
1513		uint64_t par_mode:2;
1514		uint64_t rsv_b:1;
1515		uint64_t skp_len:7;
1516		uint64_t rsv_a:6;
1517	} s;
1518	struct cvmx_npi_port34_instr_hdr_s cn38xx;
1519	struct cvmx_npi_port34_instr_hdr_s cn38xxp2;
1520	struct cvmx_npi_port34_instr_hdr_s cn58xx;
1521	struct cvmx_npi_port34_instr_hdr_s cn58xxp1;
1522};
1523
1524union cvmx_npi_port35_instr_hdr {
1525	uint64_t u64;
1526	struct cvmx_npi_port35_instr_hdr_s {
1527		uint64_t reserved_44_63:20;
1528		uint64_t pbp:1;
1529		uint64_t rsv_f:5;
1530		uint64_t rparmode:2;
1531		uint64_t rsv_e:1;
1532		uint64_t rskp_len:7;
1533		uint64_t rsv_d:6;
1534		uint64_t use_ihdr:1;
1535		uint64_t rsv_c:5;
1536		uint64_t par_mode:2;
1537		uint64_t rsv_b:1;
1538		uint64_t skp_len:7;
1539		uint64_t rsv_a:6;
1540	} s;
1541	struct cvmx_npi_port35_instr_hdr_s cn38xx;
1542	struct cvmx_npi_port35_instr_hdr_s cn38xxp2;
1543	struct cvmx_npi_port35_instr_hdr_s cn58xx;
1544	struct cvmx_npi_port35_instr_hdr_s cn58xxp1;
1545};
1546
1547union cvmx_npi_port_bp_control {
1548	uint64_t u64;
1549	struct cvmx_npi_port_bp_control_s {
1550		uint64_t reserved_8_63:56;
1551		uint64_t bp_on:4;
1552		uint64_t enb:4;
1553	} s;
1554	struct cvmx_npi_port_bp_control_s cn30xx;
1555	struct cvmx_npi_port_bp_control_s cn31xx;
1556	struct cvmx_npi_port_bp_control_s cn38xx;
1557	struct cvmx_npi_port_bp_control_s cn38xxp2;
1558	struct cvmx_npi_port_bp_control_s cn50xx;
1559	struct cvmx_npi_port_bp_control_s cn58xx;
1560	struct cvmx_npi_port_bp_control_s cn58xxp1;
1561};
1562
1563union cvmx_npi_rsl_int_blocks {
1564	uint64_t u64;
1565	struct cvmx_npi_rsl_int_blocks_s {
1566		uint64_t reserved_32_63:32;
1567		uint64_t rint_31:1;
1568		uint64_t iob:1;
1569		uint64_t reserved_28_29:2;
1570		uint64_t rint_27:1;
1571		uint64_t rint_26:1;
1572		uint64_t rint_25:1;
1573		uint64_t rint_24:1;
1574		uint64_t asx1:1;
1575		uint64_t asx0:1;
1576		uint64_t rint_21:1;
1577		uint64_t pip:1;
1578		uint64_t spx1:1;
1579		uint64_t spx0:1;
1580		uint64_t lmc:1;
1581		uint64_t l2c:1;
1582		uint64_t rint_15:1;
1583		uint64_t reserved_13_14:2;
1584		uint64_t pow:1;
1585		uint64_t tim:1;
1586		uint64_t pko:1;
1587		uint64_t ipd:1;
1588		uint64_t rint_8:1;
1589		uint64_t zip:1;
1590		uint64_t dfa:1;
1591		uint64_t fpa:1;
1592		uint64_t key:1;
1593		uint64_t npi:1;
1594		uint64_t gmx1:1;
1595		uint64_t gmx0:1;
1596		uint64_t mio:1;
1597	} s;
1598	struct cvmx_npi_rsl_int_blocks_cn30xx {
1599		uint64_t reserved_32_63:32;
1600		uint64_t rint_31:1;
1601		uint64_t iob:1;
1602		uint64_t rint_29:1;
1603		uint64_t rint_28:1;
1604		uint64_t rint_27:1;
1605		uint64_t rint_26:1;
1606		uint64_t rint_25:1;
1607		uint64_t rint_24:1;
1608		uint64_t asx1:1;
1609		uint64_t asx0:1;
1610		uint64_t rint_21:1;
1611		uint64_t pip:1;
1612		uint64_t spx1:1;
1613		uint64_t spx0:1;
1614		uint64_t lmc:1;
1615		uint64_t l2c:1;
1616		uint64_t rint_15:1;
1617		uint64_t rint_14:1;
1618		uint64_t usb:1;
1619		uint64_t pow:1;
1620		uint64_t tim:1;
1621		uint64_t pko:1;
1622		uint64_t ipd:1;
1623		uint64_t rint_8:1;
1624		uint64_t zip:1;
1625		uint64_t dfa:1;
1626		uint64_t fpa:1;
1627		uint64_t key:1;
1628		uint64_t npi:1;
1629		uint64_t gmx1:1;
1630		uint64_t gmx0:1;
1631		uint64_t mio:1;
1632	} cn30xx;
1633	struct cvmx_npi_rsl_int_blocks_cn30xx cn31xx;
1634	struct cvmx_npi_rsl_int_blocks_cn38xx {
1635		uint64_t reserved_32_63:32;
1636		uint64_t rint_31:1;
1637		uint64_t iob:1;
1638		uint64_t rint_29:1;
1639		uint64_t rint_28:1;
1640		uint64_t rint_27:1;
1641		uint64_t rint_26:1;
1642		uint64_t rint_25:1;
1643		uint64_t rint_24:1;
1644		uint64_t asx1:1;
1645		uint64_t asx0:1;
1646		uint64_t rint_21:1;
1647		uint64_t pip:1;
1648		uint64_t spx1:1;
1649		uint64_t spx0:1;
1650		uint64_t lmc:1;
1651		uint64_t l2c:1;
1652		uint64_t rint_15:1;
1653		uint64_t rint_14:1;
1654		uint64_t rint_13:1;
1655		uint64_t pow:1;
1656		uint64_t tim:1;
1657		uint64_t pko:1;
1658		uint64_t ipd:1;
1659		uint64_t rint_8:1;
1660		uint64_t zip:1;
1661		uint64_t dfa:1;
1662		uint64_t fpa:1;
1663		uint64_t key:1;
1664		uint64_t npi:1;
1665		uint64_t gmx1:1;
1666		uint64_t gmx0:1;
1667		uint64_t mio:1;
1668	} cn38xx;
1669	struct cvmx_npi_rsl_int_blocks_cn38xx cn38xxp2;
1670	struct cvmx_npi_rsl_int_blocks_cn50xx {
1671		uint64_t reserved_31_63:33;
1672		uint64_t iob:1;
1673		uint64_t lmc1:1;
1674		uint64_t agl:1;
1675		uint64_t reserved_24_27:4;
1676		uint64_t asx1:1;
1677		uint64_t asx0:1;
1678		uint64_t reserved_21_21:1;
1679		uint64_t pip:1;
1680		uint64_t spx1:1;
1681		uint64_t spx0:1;
1682		uint64_t lmc:1;
1683		uint64_t l2c:1;
1684		uint64_t reserved_15_15:1;
1685		uint64_t rad:1;
1686		uint64_t usb:1;
1687		uint64_t pow:1;
1688		uint64_t tim:1;
1689		uint64_t pko:1;
1690		uint64_t ipd:1;
1691		uint64_t reserved_8_8:1;
1692		uint64_t zip:1;
1693		uint64_t dfa:1;
1694		uint64_t fpa:1;
1695		uint64_t key:1;
1696		uint64_t npi:1;
1697		uint64_t gmx1:1;
1698		uint64_t gmx0:1;
1699		uint64_t mio:1;
1700	} cn50xx;
1701	struct cvmx_npi_rsl_int_blocks_cn38xx cn58xx;
1702	struct cvmx_npi_rsl_int_blocks_cn38xx cn58xxp1;
1703};
1704
1705union cvmx_npi_size_inputx {
1706	uint64_t u64;
1707	struct cvmx_npi_size_inputx_s {
1708		uint64_t reserved_32_63:32;
1709		uint64_t size:32;
1710	} s;
1711	struct cvmx_npi_size_inputx_s cn30xx;
1712	struct cvmx_npi_size_inputx_s cn31xx;
1713	struct cvmx_npi_size_inputx_s cn38xx;
1714	struct cvmx_npi_size_inputx_s cn38xxp2;
1715	struct cvmx_npi_size_inputx_s cn50xx;
1716	struct cvmx_npi_size_inputx_s cn58xx;
1717	struct cvmx_npi_size_inputx_s cn58xxp1;
1718};
1719
1720union cvmx_npi_win_read_to {
1721	uint64_t u64;
1722	struct cvmx_npi_win_read_to_s {
1723		uint64_t reserved_32_63:32;
1724		uint64_t time:32;
1725	} s;
1726	struct cvmx_npi_win_read_to_s cn30xx;
1727	struct cvmx_npi_win_read_to_s cn31xx;
1728	struct cvmx_npi_win_read_to_s cn38xx;
1729	struct cvmx_npi_win_read_to_s cn38xxp2;
1730	struct cvmx_npi_win_read_to_s cn50xx;
1731	struct cvmx_npi_win_read_to_s cn58xx;
1732	struct cvmx_npi_win_read_to_s cn58xxp1;
1733};
1734
1735#endif
1736