xref: /linux/arch/mips/include/asm/octeon/cvmx-pko-defs.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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-2012 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_PKO_DEFS_H__
29 #define __CVMX_PKO_DEFS_H__
30 
31 #define CVMX_PKO_MEM_COUNT0 (CVMX_ADD_IO_SEG(0x0001180050001080ull))
32 #define CVMX_PKO_MEM_COUNT1 (CVMX_ADD_IO_SEG(0x0001180050001088ull))
33 #define CVMX_PKO_MEM_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050001100ull))
34 #define CVMX_PKO_MEM_DEBUG1 (CVMX_ADD_IO_SEG(0x0001180050001108ull))
35 #define CVMX_PKO_MEM_DEBUG10 (CVMX_ADD_IO_SEG(0x0001180050001150ull))
36 #define CVMX_PKO_MEM_DEBUG11 (CVMX_ADD_IO_SEG(0x0001180050001158ull))
37 #define CVMX_PKO_MEM_DEBUG12 (CVMX_ADD_IO_SEG(0x0001180050001160ull))
38 #define CVMX_PKO_MEM_DEBUG13 (CVMX_ADD_IO_SEG(0x0001180050001168ull))
39 #define CVMX_PKO_MEM_DEBUG14 (CVMX_ADD_IO_SEG(0x0001180050001170ull))
40 #define CVMX_PKO_MEM_DEBUG2 (CVMX_ADD_IO_SEG(0x0001180050001110ull))
41 #define CVMX_PKO_MEM_DEBUG3 (CVMX_ADD_IO_SEG(0x0001180050001118ull))
42 #define CVMX_PKO_MEM_DEBUG4 (CVMX_ADD_IO_SEG(0x0001180050001120ull))
43 #define CVMX_PKO_MEM_DEBUG5 (CVMX_ADD_IO_SEG(0x0001180050001128ull))
44 #define CVMX_PKO_MEM_DEBUG6 (CVMX_ADD_IO_SEG(0x0001180050001130ull))
45 #define CVMX_PKO_MEM_DEBUG7 (CVMX_ADD_IO_SEG(0x0001180050001138ull))
46 #define CVMX_PKO_MEM_DEBUG8 (CVMX_ADD_IO_SEG(0x0001180050001140ull))
47 #define CVMX_PKO_MEM_DEBUG9 (CVMX_ADD_IO_SEG(0x0001180050001148ull))
48 #define CVMX_PKO_MEM_IPORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001030ull))
49 #define CVMX_PKO_MEM_IPORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001038ull))
50 #define CVMX_PKO_MEM_IQUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001040ull))
51 #define CVMX_PKO_MEM_IQUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001048ull))
52 #define CVMX_PKO_MEM_PORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001010ull))
53 #define CVMX_PKO_MEM_PORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001018ull))
54 #define CVMX_PKO_MEM_PORT_RATE0 (CVMX_ADD_IO_SEG(0x0001180050001020ull))
55 #define CVMX_PKO_MEM_PORT_RATE1 (CVMX_ADD_IO_SEG(0x0001180050001028ull))
56 #define CVMX_PKO_MEM_QUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001000ull))
57 #define CVMX_PKO_MEM_QUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001008ull))
58 #define CVMX_PKO_MEM_THROTTLE_INT (CVMX_ADD_IO_SEG(0x0001180050001058ull))
59 #define CVMX_PKO_MEM_THROTTLE_PIPE (CVMX_ADD_IO_SEG(0x0001180050001050ull))
60 #define CVMX_PKO_REG_BIST_RESULT (CVMX_ADD_IO_SEG(0x0001180050000080ull))
61 #define CVMX_PKO_REG_CMD_BUF (CVMX_ADD_IO_SEG(0x0001180050000010ull))
62 #define CVMX_PKO_REG_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180050000028ull) + ((offset) & 1) * 8)
63 #define CVMX_PKO_REG_CRC_ENABLE (CVMX_ADD_IO_SEG(0x0001180050000020ull))
64 #define CVMX_PKO_REG_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x0001180050000038ull) + ((offset) & 1) * 8)
65 #define CVMX_PKO_REG_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050000098ull))
66 #define CVMX_PKO_REG_DEBUG1 (CVMX_ADD_IO_SEG(0x00011800500000A0ull))
67 #define CVMX_PKO_REG_DEBUG2 (CVMX_ADD_IO_SEG(0x00011800500000A8ull))
68 #define CVMX_PKO_REG_DEBUG3 (CVMX_ADD_IO_SEG(0x00011800500000B0ull))
69 #define CVMX_PKO_REG_DEBUG4 (CVMX_ADD_IO_SEG(0x00011800500000B8ull))
70 #define CVMX_PKO_REG_ENGINE_INFLIGHT (CVMX_ADD_IO_SEG(0x0001180050000050ull))
71 #define CVMX_PKO_REG_ENGINE_INFLIGHT1 (CVMX_ADD_IO_SEG(0x0001180050000318ull))
72 #define CVMX_PKO_REG_ENGINE_STORAGEX(offset) (CVMX_ADD_IO_SEG(0x0001180050000300ull) + ((offset) & 1) * 8)
73 #define CVMX_PKO_REG_ENGINE_THRESH (CVMX_ADD_IO_SEG(0x0001180050000058ull))
74 #define CVMX_PKO_REG_ERROR (CVMX_ADD_IO_SEG(0x0001180050000088ull))
75 #define CVMX_PKO_REG_FLAGS (CVMX_ADD_IO_SEG(0x0001180050000000ull))
76 #define CVMX_PKO_REG_GMX_PORT_MODE (CVMX_ADD_IO_SEG(0x0001180050000018ull))
77 #define CVMX_PKO_REG_INT_MASK (CVMX_ADD_IO_SEG(0x0001180050000090ull))
78 #define CVMX_PKO_REG_LOOPBACK_BPID (CVMX_ADD_IO_SEG(0x0001180050000118ull))
79 #define CVMX_PKO_REG_LOOPBACK_PKIND (CVMX_ADD_IO_SEG(0x0001180050000068ull))
80 #define CVMX_PKO_REG_MIN_PKT (CVMX_ADD_IO_SEG(0x0001180050000070ull))
81 #define CVMX_PKO_REG_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000110ull))
82 #define CVMX_PKO_REG_QUEUE_MODE (CVMX_ADD_IO_SEG(0x0001180050000048ull))
83 #define CVMX_PKO_REG_QUEUE_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000108ull))
84 #define CVMX_PKO_REG_QUEUE_PTRS1 (CVMX_ADD_IO_SEG(0x0001180050000100ull))
85 #define CVMX_PKO_REG_READ_IDX (CVMX_ADD_IO_SEG(0x0001180050000008ull))
86 #define CVMX_PKO_REG_THROTTLE (CVMX_ADD_IO_SEG(0x0001180050000078ull))
87 #define CVMX_PKO_REG_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001180050000060ull))
88 
89 union cvmx_pko_mem_count0 {
90 	uint64_t u64;
91 	struct cvmx_pko_mem_count0_s {
92 #ifdef __BIG_ENDIAN_BITFIELD
93 		uint64_t reserved_32_63:32;
94 		uint64_t count:32;
95 #else
96 		uint64_t count:32;
97 		uint64_t reserved_32_63:32;
98 #endif
99 	} s;
100 	struct cvmx_pko_mem_count0_s cn30xx;
101 	struct cvmx_pko_mem_count0_s cn31xx;
102 	struct cvmx_pko_mem_count0_s cn38xx;
103 	struct cvmx_pko_mem_count0_s cn38xxp2;
104 	struct cvmx_pko_mem_count0_s cn50xx;
105 	struct cvmx_pko_mem_count0_s cn52xx;
106 	struct cvmx_pko_mem_count0_s cn52xxp1;
107 	struct cvmx_pko_mem_count0_s cn56xx;
108 	struct cvmx_pko_mem_count0_s cn56xxp1;
109 	struct cvmx_pko_mem_count0_s cn58xx;
110 	struct cvmx_pko_mem_count0_s cn58xxp1;
111 	struct cvmx_pko_mem_count0_s cn61xx;
112 	struct cvmx_pko_mem_count0_s cn63xx;
113 	struct cvmx_pko_mem_count0_s cn63xxp1;
114 	struct cvmx_pko_mem_count0_s cn66xx;
115 	struct cvmx_pko_mem_count0_s cn68xx;
116 	struct cvmx_pko_mem_count0_s cn68xxp1;
117 	struct cvmx_pko_mem_count0_s cnf71xx;
118 };
119 
120 union cvmx_pko_mem_count1 {
121 	uint64_t u64;
122 	struct cvmx_pko_mem_count1_s {
123 #ifdef __BIG_ENDIAN_BITFIELD
124 		uint64_t reserved_48_63:16;
125 		uint64_t count:48;
126 #else
127 		uint64_t count:48;
128 		uint64_t reserved_48_63:16;
129 #endif
130 	} s;
131 	struct cvmx_pko_mem_count1_s cn30xx;
132 	struct cvmx_pko_mem_count1_s cn31xx;
133 	struct cvmx_pko_mem_count1_s cn38xx;
134 	struct cvmx_pko_mem_count1_s cn38xxp2;
135 	struct cvmx_pko_mem_count1_s cn50xx;
136 	struct cvmx_pko_mem_count1_s cn52xx;
137 	struct cvmx_pko_mem_count1_s cn52xxp1;
138 	struct cvmx_pko_mem_count1_s cn56xx;
139 	struct cvmx_pko_mem_count1_s cn56xxp1;
140 	struct cvmx_pko_mem_count1_s cn58xx;
141 	struct cvmx_pko_mem_count1_s cn58xxp1;
142 	struct cvmx_pko_mem_count1_s cn61xx;
143 	struct cvmx_pko_mem_count1_s cn63xx;
144 	struct cvmx_pko_mem_count1_s cn63xxp1;
145 	struct cvmx_pko_mem_count1_s cn66xx;
146 	struct cvmx_pko_mem_count1_s cn68xx;
147 	struct cvmx_pko_mem_count1_s cn68xxp1;
148 	struct cvmx_pko_mem_count1_s cnf71xx;
149 };
150 
151 union cvmx_pko_mem_debug0 {
152 	uint64_t u64;
153 	struct cvmx_pko_mem_debug0_s {
154 #ifdef __BIG_ENDIAN_BITFIELD
155 		uint64_t fau:28;
156 		uint64_t cmd:14;
157 		uint64_t segs:6;
158 		uint64_t size:16;
159 #else
160 		uint64_t size:16;
161 		uint64_t segs:6;
162 		uint64_t cmd:14;
163 		uint64_t fau:28;
164 #endif
165 	} s;
166 	struct cvmx_pko_mem_debug0_s cn30xx;
167 	struct cvmx_pko_mem_debug0_s cn31xx;
168 	struct cvmx_pko_mem_debug0_s cn38xx;
169 	struct cvmx_pko_mem_debug0_s cn38xxp2;
170 	struct cvmx_pko_mem_debug0_s cn50xx;
171 	struct cvmx_pko_mem_debug0_s cn52xx;
172 	struct cvmx_pko_mem_debug0_s cn52xxp1;
173 	struct cvmx_pko_mem_debug0_s cn56xx;
174 	struct cvmx_pko_mem_debug0_s cn56xxp1;
175 	struct cvmx_pko_mem_debug0_s cn58xx;
176 	struct cvmx_pko_mem_debug0_s cn58xxp1;
177 	struct cvmx_pko_mem_debug0_s cn61xx;
178 	struct cvmx_pko_mem_debug0_s cn63xx;
179 	struct cvmx_pko_mem_debug0_s cn63xxp1;
180 	struct cvmx_pko_mem_debug0_s cn66xx;
181 	struct cvmx_pko_mem_debug0_s cn68xx;
182 	struct cvmx_pko_mem_debug0_s cn68xxp1;
183 	struct cvmx_pko_mem_debug0_s cnf71xx;
184 };
185 
186 union cvmx_pko_mem_debug1 {
187 	uint64_t u64;
188 	struct cvmx_pko_mem_debug1_s {
189 #ifdef __BIG_ENDIAN_BITFIELD
190 		uint64_t i:1;
191 		uint64_t back:4;
192 		uint64_t pool:3;
193 		uint64_t size:16;
194 		uint64_t ptr:40;
195 #else
196 		uint64_t ptr:40;
197 		uint64_t size:16;
198 		uint64_t pool:3;
199 		uint64_t back:4;
200 		uint64_t i:1;
201 #endif
202 	} s;
203 	struct cvmx_pko_mem_debug1_s cn30xx;
204 	struct cvmx_pko_mem_debug1_s cn31xx;
205 	struct cvmx_pko_mem_debug1_s cn38xx;
206 	struct cvmx_pko_mem_debug1_s cn38xxp2;
207 	struct cvmx_pko_mem_debug1_s cn50xx;
208 	struct cvmx_pko_mem_debug1_s cn52xx;
209 	struct cvmx_pko_mem_debug1_s cn52xxp1;
210 	struct cvmx_pko_mem_debug1_s cn56xx;
211 	struct cvmx_pko_mem_debug1_s cn56xxp1;
212 	struct cvmx_pko_mem_debug1_s cn58xx;
213 	struct cvmx_pko_mem_debug1_s cn58xxp1;
214 	struct cvmx_pko_mem_debug1_s cn61xx;
215 	struct cvmx_pko_mem_debug1_s cn63xx;
216 	struct cvmx_pko_mem_debug1_s cn63xxp1;
217 	struct cvmx_pko_mem_debug1_s cn66xx;
218 	struct cvmx_pko_mem_debug1_s cn68xx;
219 	struct cvmx_pko_mem_debug1_s cn68xxp1;
220 	struct cvmx_pko_mem_debug1_s cnf71xx;
221 };
222 
223 union cvmx_pko_mem_debug10 {
224 	uint64_t u64;
225 	struct cvmx_pko_mem_debug10_s {
226 #ifdef __BIG_ENDIAN_BITFIELD
227 		uint64_t reserved_0_63:64;
228 #else
229 		uint64_t reserved_0_63:64;
230 #endif
231 	} s;
232 	struct cvmx_pko_mem_debug10_cn30xx {
233 #ifdef __BIG_ENDIAN_BITFIELD
234 		uint64_t fau:28;
235 		uint64_t cmd:14;
236 		uint64_t segs:6;
237 		uint64_t size:16;
238 #else
239 		uint64_t size:16;
240 		uint64_t segs:6;
241 		uint64_t cmd:14;
242 		uint64_t fau:28;
243 #endif
244 	} cn30xx;
245 	struct cvmx_pko_mem_debug10_cn30xx cn31xx;
246 	struct cvmx_pko_mem_debug10_cn30xx cn38xx;
247 	struct cvmx_pko_mem_debug10_cn30xx cn38xxp2;
248 	struct cvmx_pko_mem_debug10_cn50xx {
249 #ifdef __BIG_ENDIAN_BITFIELD
250 		uint64_t reserved_49_63:15;
251 		uint64_t ptrs1:17;
252 		uint64_t reserved_17_31:15;
253 		uint64_t ptrs2:17;
254 #else
255 		uint64_t ptrs2:17;
256 		uint64_t reserved_17_31:15;
257 		uint64_t ptrs1:17;
258 		uint64_t reserved_49_63:15;
259 #endif
260 	} cn50xx;
261 	struct cvmx_pko_mem_debug10_cn50xx cn52xx;
262 	struct cvmx_pko_mem_debug10_cn50xx cn52xxp1;
263 	struct cvmx_pko_mem_debug10_cn50xx cn56xx;
264 	struct cvmx_pko_mem_debug10_cn50xx cn56xxp1;
265 	struct cvmx_pko_mem_debug10_cn50xx cn58xx;
266 	struct cvmx_pko_mem_debug10_cn50xx cn58xxp1;
267 	struct cvmx_pko_mem_debug10_cn50xx cn61xx;
268 	struct cvmx_pko_mem_debug10_cn50xx cn63xx;
269 	struct cvmx_pko_mem_debug10_cn50xx cn63xxp1;
270 	struct cvmx_pko_mem_debug10_cn50xx cn66xx;
271 	struct cvmx_pko_mem_debug10_cn50xx cn68xx;
272 	struct cvmx_pko_mem_debug10_cn50xx cn68xxp1;
273 	struct cvmx_pko_mem_debug10_cn50xx cnf71xx;
274 };
275 
276 union cvmx_pko_mem_debug11 {
277 	uint64_t u64;
278 	struct cvmx_pko_mem_debug11_s {
279 #ifdef __BIG_ENDIAN_BITFIELD
280 		uint64_t i:1;
281 		uint64_t back:4;
282 		uint64_t pool:3;
283 		uint64_t size:16;
284 		uint64_t reserved_0_39:40;
285 #else
286 		uint64_t reserved_0_39:40;
287 		uint64_t size:16;
288 		uint64_t pool:3;
289 		uint64_t back:4;
290 		uint64_t i:1;
291 #endif
292 	} s;
293 	struct cvmx_pko_mem_debug11_cn30xx {
294 #ifdef __BIG_ENDIAN_BITFIELD
295 		uint64_t i:1;
296 		uint64_t back:4;
297 		uint64_t pool:3;
298 		uint64_t size:16;
299 		uint64_t ptr:40;
300 #else
301 		uint64_t ptr:40;
302 		uint64_t size:16;
303 		uint64_t pool:3;
304 		uint64_t back:4;
305 		uint64_t i:1;
306 #endif
307 	} cn30xx;
308 	struct cvmx_pko_mem_debug11_cn30xx cn31xx;
309 	struct cvmx_pko_mem_debug11_cn30xx cn38xx;
310 	struct cvmx_pko_mem_debug11_cn30xx cn38xxp2;
311 	struct cvmx_pko_mem_debug11_cn50xx {
312 #ifdef __BIG_ENDIAN_BITFIELD
313 		uint64_t reserved_23_63:41;
314 		uint64_t maj:1;
315 		uint64_t uid:3;
316 		uint64_t sop:1;
317 		uint64_t len:1;
318 		uint64_t chk:1;
319 		uint64_t cnt:13;
320 		uint64_t mod:3;
321 #else
322 		uint64_t mod:3;
323 		uint64_t cnt:13;
324 		uint64_t chk:1;
325 		uint64_t len:1;
326 		uint64_t sop:1;
327 		uint64_t uid:3;
328 		uint64_t maj:1;
329 		uint64_t reserved_23_63:41;
330 #endif
331 	} cn50xx;
332 	struct cvmx_pko_mem_debug11_cn50xx cn52xx;
333 	struct cvmx_pko_mem_debug11_cn50xx cn52xxp1;
334 	struct cvmx_pko_mem_debug11_cn50xx cn56xx;
335 	struct cvmx_pko_mem_debug11_cn50xx cn56xxp1;
336 	struct cvmx_pko_mem_debug11_cn50xx cn58xx;
337 	struct cvmx_pko_mem_debug11_cn50xx cn58xxp1;
338 	struct cvmx_pko_mem_debug11_cn50xx cn61xx;
339 	struct cvmx_pko_mem_debug11_cn50xx cn63xx;
340 	struct cvmx_pko_mem_debug11_cn50xx cn63xxp1;
341 	struct cvmx_pko_mem_debug11_cn50xx cn66xx;
342 	struct cvmx_pko_mem_debug11_cn50xx cn68xx;
343 	struct cvmx_pko_mem_debug11_cn50xx cn68xxp1;
344 	struct cvmx_pko_mem_debug11_cn50xx cnf71xx;
345 };
346 
347 union cvmx_pko_mem_debug12 {
348 	uint64_t u64;
349 	struct cvmx_pko_mem_debug12_s {
350 #ifdef __BIG_ENDIAN_BITFIELD
351 		uint64_t reserved_0_63:64;
352 #else
353 		uint64_t reserved_0_63:64;
354 #endif
355 	} s;
356 	struct cvmx_pko_mem_debug12_cn30xx {
357 #ifdef __BIG_ENDIAN_BITFIELD
358 		uint64_t data:64;
359 #else
360 		uint64_t data:64;
361 #endif
362 	} cn30xx;
363 	struct cvmx_pko_mem_debug12_cn30xx cn31xx;
364 	struct cvmx_pko_mem_debug12_cn30xx cn38xx;
365 	struct cvmx_pko_mem_debug12_cn30xx cn38xxp2;
366 	struct cvmx_pko_mem_debug12_cn50xx {
367 #ifdef __BIG_ENDIAN_BITFIELD
368 		uint64_t fau:28;
369 		uint64_t cmd:14;
370 		uint64_t segs:6;
371 		uint64_t size:16;
372 #else
373 		uint64_t size:16;
374 		uint64_t segs:6;
375 		uint64_t cmd:14;
376 		uint64_t fau:28;
377 #endif
378 	} cn50xx;
379 	struct cvmx_pko_mem_debug12_cn50xx cn52xx;
380 	struct cvmx_pko_mem_debug12_cn50xx cn52xxp1;
381 	struct cvmx_pko_mem_debug12_cn50xx cn56xx;
382 	struct cvmx_pko_mem_debug12_cn50xx cn56xxp1;
383 	struct cvmx_pko_mem_debug12_cn50xx cn58xx;
384 	struct cvmx_pko_mem_debug12_cn50xx cn58xxp1;
385 	struct cvmx_pko_mem_debug12_cn50xx cn61xx;
386 	struct cvmx_pko_mem_debug12_cn50xx cn63xx;
387 	struct cvmx_pko_mem_debug12_cn50xx cn63xxp1;
388 	struct cvmx_pko_mem_debug12_cn50xx cn66xx;
389 	struct cvmx_pko_mem_debug12_cn68xx {
390 #ifdef __BIG_ENDIAN_BITFIELD
391 		uint64_t state:64;
392 #else
393 		uint64_t state:64;
394 #endif
395 	} cn68xx;
396 	struct cvmx_pko_mem_debug12_cn68xx cn68xxp1;
397 	struct cvmx_pko_mem_debug12_cn50xx cnf71xx;
398 };
399 
400 union cvmx_pko_mem_debug13 {
401 	uint64_t u64;
402 	struct cvmx_pko_mem_debug13_s {
403 #ifdef __BIG_ENDIAN_BITFIELD
404 		uint64_t reserved_0_63:64;
405 #else
406 		uint64_t reserved_0_63:64;
407 #endif
408 	} s;
409 	struct cvmx_pko_mem_debug13_cn30xx {
410 #ifdef __BIG_ENDIAN_BITFIELD
411 		uint64_t reserved_51_63:13;
412 		uint64_t widx:17;
413 		uint64_t ridx2:17;
414 		uint64_t widx2:17;
415 #else
416 		uint64_t widx2:17;
417 		uint64_t ridx2:17;
418 		uint64_t widx:17;
419 		uint64_t reserved_51_63:13;
420 #endif
421 	} cn30xx;
422 	struct cvmx_pko_mem_debug13_cn30xx cn31xx;
423 	struct cvmx_pko_mem_debug13_cn30xx cn38xx;
424 	struct cvmx_pko_mem_debug13_cn30xx cn38xxp2;
425 	struct cvmx_pko_mem_debug13_cn50xx {
426 #ifdef __BIG_ENDIAN_BITFIELD
427 		uint64_t i:1;
428 		uint64_t back:4;
429 		uint64_t pool:3;
430 		uint64_t size:16;
431 		uint64_t ptr:40;
432 #else
433 		uint64_t ptr:40;
434 		uint64_t size:16;
435 		uint64_t pool:3;
436 		uint64_t back:4;
437 		uint64_t i:1;
438 #endif
439 	} cn50xx;
440 	struct cvmx_pko_mem_debug13_cn50xx cn52xx;
441 	struct cvmx_pko_mem_debug13_cn50xx cn52xxp1;
442 	struct cvmx_pko_mem_debug13_cn50xx cn56xx;
443 	struct cvmx_pko_mem_debug13_cn50xx cn56xxp1;
444 	struct cvmx_pko_mem_debug13_cn50xx cn58xx;
445 	struct cvmx_pko_mem_debug13_cn50xx cn58xxp1;
446 	struct cvmx_pko_mem_debug13_cn50xx cn61xx;
447 	struct cvmx_pko_mem_debug13_cn50xx cn63xx;
448 	struct cvmx_pko_mem_debug13_cn50xx cn63xxp1;
449 	struct cvmx_pko_mem_debug13_cn50xx cn66xx;
450 	struct cvmx_pko_mem_debug13_cn68xx {
451 #ifdef __BIG_ENDIAN_BITFIELD
452 		uint64_t state:64;
453 #else
454 		uint64_t state:64;
455 #endif
456 	} cn68xx;
457 	struct cvmx_pko_mem_debug13_cn68xx cn68xxp1;
458 	struct cvmx_pko_mem_debug13_cn50xx cnf71xx;
459 };
460 
461 union cvmx_pko_mem_debug14 {
462 	uint64_t u64;
463 	struct cvmx_pko_mem_debug14_s {
464 #ifdef __BIG_ENDIAN_BITFIELD
465 		uint64_t reserved_0_63:64;
466 #else
467 		uint64_t reserved_0_63:64;
468 #endif
469 	} s;
470 	struct cvmx_pko_mem_debug14_cn30xx {
471 #ifdef __BIG_ENDIAN_BITFIELD
472 		uint64_t reserved_17_63:47;
473 		uint64_t ridx:17;
474 #else
475 		uint64_t ridx:17;
476 		uint64_t reserved_17_63:47;
477 #endif
478 	} cn30xx;
479 	struct cvmx_pko_mem_debug14_cn30xx cn31xx;
480 	struct cvmx_pko_mem_debug14_cn30xx cn38xx;
481 	struct cvmx_pko_mem_debug14_cn30xx cn38xxp2;
482 	struct cvmx_pko_mem_debug14_cn52xx {
483 #ifdef __BIG_ENDIAN_BITFIELD
484 		uint64_t data:64;
485 #else
486 		uint64_t data:64;
487 #endif
488 	} cn52xx;
489 	struct cvmx_pko_mem_debug14_cn52xx cn52xxp1;
490 	struct cvmx_pko_mem_debug14_cn52xx cn56xx;
491 	struct cvmx_pko_mem_debug14_cn52xx cn56xxp1;
492 	struct cvmx_pko_mem_debug14_cn52xx cn61xx;
493 	struct cvmx_pko_mem_debug14_cn52xx cn63xx;
494 	struct cvmx_pko_mem_debug14_cn52xx cn63xxp1;
495 	struct cvmx_pko_mem_debug14_cn52xx cn66xx;
496 	struct cvmx_pko_mem_debug14_cn52xx cnf71xx;
497 };
498 
499 union cvmx_pko_mem_debug2 {
500 	uint64_t u64;
501 	struct cvmx_pko_mem_debug2_s {
502 #ifdef __BIG_ENDIAN_BITFIELD
503 		uint64_t i:1;
504 		uint64_t back:4;
505 		uint64_t pool:3;
506 		uint64_t size:16;
507 		uint64_t ptr:40;
508 #else
509 		uint64_t ptr:40;
510 		uint64_t size:16;
511 		uint64_t pool:3;
512 		uint64_t back:4;
513 		uint64_t i:1;
514 #endif
515 	} s;
516 	struct cvmx_pko_mem_debug2_s cn30xx;
517 	struct cvmx_pko_mem_debug2_s cn31xx;
518 	struct cvmx_pko_mem_debug2_s cn38xx;
519 	struct cvmx_pko_mem_debug2_s cn38xxp2;
520 	struct cvmx_pko_mem_debug2_s cn50xx;
521 	struct cvmx_pko_mem_debug2_s cn52xx;
522 	struct cvmx_pko_mem_debug2_s cn52xxp1;
523 	struct cvmx_pko_mem_debug2_s cn56xx;
524 	struct cvmx_pko_mem_debug2_s cn56xxp1;
525 	struct cvmx_pko_mem_debug2_s cn58xx;
526 	struct cvmx_pko_mem_debug2_s cn58xxp1;
527 	struct cvmx_pko_mem_debug2_s cn61xx;
528 	struct cvmx_pko_mem_debug2_s cn63xx;
529 	struct cvmx_pko_mem_debug2_s cn63xxp1;
530 	struct cvmx_pko_mem_debug2_s cn66xx;
531 	struct cvmx_pko_mem_debug2_s cn68xx;
532 	struct cvmx_pko_mem_debug2_s cn68xxp1;
533 	struct cvmx_pko_mem_debug2_s cnf71xx;
534 };
535 
536 union cvmx_pko_mem_debug3 {
537 	uint64_t u64;
538 	struct cvmx_pko_mem_debug3_s {
539 #ifdef __BIG_ENDIAN_BITFIELD
540 		uint64_t reserved_0_63:64;
541 #else
542 		uint64_t reserved_0_63:64;
543 #endif
544 	} s;
545 	struct cvmx_pko_mem_debug3_cn30xx {
546 #ifdef __BIG_ENDIAN_BITFIELD
547 		uint64_t i:1;
548 		uint64_t back:4;
549 		uint64_t pool:3;
550 		uint64_t size:16;
551 		uint64_t ptr:40;
552 #else
553 		uint64_t ptr:40;
554 		uint64_t size:16;
555 		uint64_t pool:3;
556 		uint64_t back:4;
557 		uint64_t i:1;
558 #endif
559 	} cn30xx;
560 	struct cvmx_pko_mem_debug3_cn30xx cn31xx;
561 	struct cvmx_pko_mem_debug3_cn30xx cn38xx;
562 	struct cvmx_pko_mem_debug3_cn30xx cn38xxp2;
563 	struct cvmx_pko_mem_debug3_cn50xx {
564 #ifdef __BIG_ENDIAN_BITFIELD
565 		uint64_t data:64;
566 #else
567 		uint64_t data:64;
568 #endif
569 	} cn50xx;
570 	struct cvmx_pko_mem_debug3_cn50xx cn52xx;
571 	struct cvmx_pko_mem_debug3_cn50xx cn52xxp1;
572 	struct cvmx_pko_mem_debug3_cn50xx cn56xx;
573 	struct cvmx_pko_mem_debug3_cn50xx cn56xxp1;
574 	struct cvmx_pko_mem_debug3_cn50xx cn58xx;
575 	struct cvmx_pko_mem_debug3_cn50xx cn58xxp1;
576 	struct cvmx_pko_mem_debug3_cn50xx cn61xx;
577 	struct cvmx_pko_mem_debug3_cn50xx cn63xx;
578 	struct cvmx_pko_mem_debug3_cn50xx cn63xxp1;
579 	struct cvmx_pko_mem_debug3_cn50xx cn66xx;
580 	struct cvmx_pko_mem_debug3_cn50xx cn68xx;
581 	struct cvmx_pko_mem_debug3_cn50xx cn68xxp1;
582 	struct cvmx_pko_mem_debug3_cn50xx cnf71xx;
583 };
584 
585 union cvmx_pko_mem_debug4 {
586 	uint64_t u64;
587 	struct cvmx_pko_mem_debug4_s {
588 #ifdef __BIG_ENDIAN_BITFIELD
589 		uint64_t reserved_0_63:64;
590 #else
591 		uint64_t reserved_0_63:64;
592 #endif
593 	} s;
594 	struct cvmx_pko_mem_debug4_cn30xx {
595 #ifdef __BIG_ENDIAN_BITFIELD
596 		uint64_t data:64;
597 #else
598 		uint64_t data:64;
599 #endif
600 	} cn30xx;
601 	struct cvmx_pko_mem_debug4_cn30xx cn31xx;
602 	struct cvmx_pko_mem_debug4_cn30xx cn38xx;
603 	struct cvmx_pko_mem_debug4_cn30xx cn38xxp2;
604 	struct cvmx_pko_mem_debug4_cn50xx {
605 #ifdef __BIG_ENDIAN_BITFIELD
606 		uint64_t cmnd_segs:3;
607 		uint64_t cmnd_siz:16;
608 		uint64_t cmnd_off:6;
609 		uint64_t uid:3;
610 		uint64_t dread_sop:1;
611 		uint64_t init_dwrite:1;
612 		uint64_t chk_once:1;
613 		uint64_t chk_mode:1;
614 		uint64_t active:1;
615 		uint64_t static_p:1;
616 		uint64_t qos:3;
617 		uint64_t qcb_ridx:5;
618 		uint64_t qid_off_max:4;
619 		uint64_t qid_off:4;
620 		uint64_t qid_base:8;
621 		uint64_t wait:1;
622 		uint64_t minor:2;
623 		uint64_t major:3;
624 #else
625 		uint64_t major:3;
626 		uint64_t minor:2;
627 		uint64_t wait:1;
628 		uint64_t qid_base:8;
629 		uint64_t qid_off:4;
630 		uint64_t qid_off_max:4;
631 		uint64_t qcb_ridx:5;
632 		uint64_t qos:3;
633 		uint64_t static_p:1;
634 		uint64_t active:1;
635 		uint64_t chk_mode:1;
636 		uint64_t chk_once:1;
637 		uint64_t init_dwrite:1;
638 		uint64_t dread_sop:1;
639 		uint64_t uid:3;
640 		uint64_t cmnd_off:6;
641 		uint64_t cmnd_siz:16;
642 		uint64_t cmnd_segs:3;
643 #endif
644 	} cn50xx;
645 	struct cvmx_pko_mem_debug4_cn52xx {
646 #ifdef __BIG_ENDIAN_BITFIELD
647 		uint64_t curr_siz:8;
648 		uint64_t curr_off:16;
649 		uint64_t cmnd_segs:6;
650 		uint64_t cmnd_siz:16;
651 		uint64_t cmnd_off:6;
652 		uint64_t uid:2;
653 		uint64_t dread_sop:1;
654 		uint64_t init_dwrite:1;
655 		uint64_t chk_once:1;
656 		uint64_t chk_mode:1;
657 		uint64_t wait:1;
658 		uint64_t minor:2;
659 		uint64_t major:3;
660 #else
661 		uint64_t major:3;
662 		uint64_t minor:2;
663 		uint64_t wait:1;
664 		uint64_t chk_mode:1;
665 		uint64_t chk_once:1;
666 		uint64_t init_dwrite:1;
667 		uint64_t dread_sop:1;
668 		uint64_t uid:2;
669 		uint64_t cmnd_off:6;
670 		uint64_t cmnd_siz:16;
671 		uint64_t cmnd_segs:6;
672 		uint64_t curr_off:16;
673 		uint64_t curr_siz:8;
674 #endif
675 	} cn52xx;
676 	struct cvmx_pko_mem_debug4_cn52xx cn52xxp1;
677 	struct cvmx_pko_mem_debug4_cn52xx cn56xx;
678 	struct cvmx_pko_mem_debug4_cn52xx cn56xxp1;
679 	struct cvmx_pko_mem_debug4_cn50xx cn58xx;
680 	struct cvmx_pko_mem_debug4_cn50xx cn58xxp1;
681 	struct cvmx_pko_mem_debug4_cn52xx cn61xx;
682 	struct cvmx_pko_mem_debug4_cn52xx cn63xx;
683 	struct cvmx_pko_mem_debug4_cn52xx cn63xxp1;
684 	struct cvmx_pko_mem_debug4_cn52xx cn66xx;
685 	struct cvmx_pko_mem_debug4_cn52xx cn68xx;
686 	struct cvmx_pko_mem_debug4_cn52xx cn68xxp1;
687 	struct cvmx_pko_mem_debug4_cn52xx cnf71xx;
688 };
689 
690 union cvmx_pko_mem_debug5 {
691 	uint64_t u64;
692 	struct cvmx_pko_mem_debug5_s {
693 #ifdef __BIG_ENDIAN_BITFIELD
694 		uint64_t reserved_0_63:64;
695 #else
696 		uint64_t reserved_0_63:64;
697 #endif
698 	} s;
699 	struct cvmx_pko_mem_debug5_cn30xx {
700 #ifdef __BIG_ENDIAN_BITFIELD
701 		uint64_t dwri_mod:1;
702 		uint64_t dwri_sop:1;
703 		uint64_t dwri_len:1;
704 		uint64_t dwri_cnt:13;
705 		uint64_t cmnd_siz:16;
706 		uint64_t uid:1;
707 		uint64_t xfer_wor:1;
708 		uint64_t xfer_dwr:1;
709 		uint64_t cbuf_fre:1;
710 		uint64_t reserved_27_27:1;
711 		uint64_t chk_mode:1;
712 		uint64_t active:1;
713 		uint64_t qos:3;
714 		uint64_t qcb_ridx:5;
715 		uint64_t qid_off:3;
716 		uint64_t qid_base:7;
717 		uint64_t wait:1;
718 		uint64_t minor:2;
719 		uint64_t major:4;
720 #else
721 		uint64_t major:4;
722 		uint64_t minor:2;
723 		uint64_t wait:1;
724 		uint64_t qid_base:7;
725 		uint64_t qid_off:3;
726 		uint64_t qcb_ridx:5;
727 		uint64_t qos:3;
728 		uint64_t active:1;
729 		uint64_t chk_mode:1;
730 		uint64_t reserved_27_27:1;
731 		uint64_t cbuf_fre:1;
732 		uint64_t xfer_dwr:1;
733 		uint64_t xfer_wor:1;
734 		uint64_t uid:1;
735 		uint64_t cmnd_siz:16;
736 		uint64_t dwri_cnt:13;
737 		uint64_t dwri_len:1;
738 		uint64_t dwri_sop:1;
739 		uint64_t dwri_mod:1;
740 #endif
741 	} cn30xx;
742 	struct cvmx_pko_mem_debug5_cn30xx cn31xx;
743 	struct cvmx_pko_mem_debug5_cn30xx cn38xx;
744 	struct cvmx_pko_mem_debug5_cn30xx cn38xxp2;
745 	struct cvmx_pko_mem_debug5_cn50xx {
746 #ifdef __BIG_ENDIAN_BITFIELD
747 		uint64_t curr_ptr:29;
748 		uint64_t curr_siz:16;
749 		uint64_t curr_off:16;
750 		uint64_t cmnd_segs:3;
751 #else
752 		uint64_t cmnd_segs:3;
753 		uint64_t curr_off:16;
754 		uint64_t curr_siz:16;
755 		uint64_t curr_ptr:29;
756 #endif
757 	} cn50xx;
758 	struct cvmx_pko_mem_debug5_cn52xx {
759 #ifdef __BIG_ENDIAN_BITFIELD
760 		uint64_t reserved_54_63:10;
761 		uint64_t nxt_inflt:6;
762 		uint64_t curr_ptr:40;
763 		uint64_t curr_siz:8;
764 #else
765 		uint64_t curr_siz:8;
766 		uint64_t curr_ptr:40;
767 		uint64_t nxt_inflt:6;
768 		uint64_t reserved_54_63:10;
769 #endif
770 	} cn52xx;
771 	struct cvmx_pko_mem_debug5_cn52xx cn52xxp1;
772 	struct cvmx_pko_mem_debug5_cn52xx cn56xx;
773 	struct cvmx_pko_mem_debug5_cn52xx cn56xxp1;
774 	struct cvmx_pko_mem_debug5_cn50xx cn58xx;
775 	struct cvmx_pko_mem_debug5_cn50xx cn58xxp1;
776 	struct cvmx_pko_mem_debug5_cn61xx {
777 #ifdef __BIG_ENDIAN_BITFIELD
778 		uint64_t reserved_56_63:8;
779 		uint64_t ptp:1;
780 		uint64_t major_3:1;
781 		uint64_t nxt_inflt:6;
782 		uint64_t curr_ptr:40;
783 		uint64_t curr_siz:8;
784 #else
785 		uint64_t curr_siz:8;
786 		uint64_t curr_ptr:40;
787 		uint64_t nxt_inflt:6;
788 		uint64_t major_3:1;
789 		uint64_t ptp:1;
790 		uint64_t reserved_56_63:8;
791 #endif
792 	} cn61xx;
793 	struct cvmx_pko_mem_debug5_cn61xx cn63xx;
794 	struct cvmx_pko_mem_debug5_cn61xx cn63xxp1;
795 	struct cvmx_pko_mem_debug5_cn61xx cn66xx;
796 	struct cvmx_pko_mem_debug5_cn68xx {
797 #ifdef __BIG_ENDIAN_BITFIELD
798 		uint64_t reserved_57_63:7;
799 		uint64_t uid_2:1;
800 		uint64_t ptp:1;
801 		uint64_t major_3:1;
802 		uint64_t nxt_inflt:6;
803 		uint64_t curr_ptr:40;
804 		uint64_t curr_siz:8;
805 #else
806 		uint64_t curr_siz:8;
807 		uint64_t curr_ptr:40;
808 		uint64_t nxt_inflt:6;
809 		uint64_t major_3:1;
810 		uint64_t ptp:1;
811 		uint64_t uid_2:1;
812 		uint64_t reserved_57_63:7;
813 #endif
814 	} cn68xx;
815 	struct cvmx_pko_mem_debug5_cn68xx cn68xxp1;
816 	struct cvmx_pko_mem_debug5_cn61xx cnf71xx;
817 };
818 
819 union cvmx_pko_mem_debug6 {
820 	uint64_t u64;
821 	struct cvmx_pko_mem_debug6_s {
822 #ifdef __BIG_ENDIAN_BITFIELD
823 		uint64_t reserved_37_63:27;
824 		uint64_t qid_offres:4;
825 		uint64_t qid_offths:4;
826 		uint64_t preempter:1;
827 		uint64_t preemptee:1;
828 		uint64_t preempted:1;
829 		uint64_t active:1;
830 		uint64_t statc:1;
831 		uint64_t qos:3;
832 		uint64_t qcb_ridx:5;
833 		uint64_t qid_offmax:4;
834 		uint64_t reserved_0_11:12;
835 #else
836 		uint64_t reserved_0_11:12;
837 		uint64_t qid_offmax:4;
838 		uint64_t qcb_ridx:5;
839 		uint64_t qos:3;
840 		uint64_t statc:1;
841 		uint64_t active:1;
842 		uint64_t preempted:1;
843 		uint64_t preemptee:1;
844 		uint64_t preempter:1;
845 		uint64_t qid_offths:4;
846 		uint64_t qid_offres:4;
847 		uint64_t reserved_37_63:27;
848 #endif
849 	} s;
850 	struct cvmx_pko_mem_debug6_cn30xx {
851 #ifdef __BIG_ENDIAN_BITFIELD
852 		uint64_t reserved_11_63:53;
853 		uint64_t qid_offm:3;
854 		uint64_t static_p:1;
855 		uint64_t work_min:3;
856 		uint64_t dwri_chk:1;
857 		uint64_t dwri_uid:1;
858 		uint64_t dwri_mod:2;
859 #else
860 		uint64_t dwri_mod:2;
861 		uint64_t dwri_uid:1;
862 		uint64_t dwri_chk:1;
863 		uint64_t work_min:3;
864 		uint64_t static_p:1;
865 		uint64_t qid_offm:3;
866 		uint64_t reserved_11_63:53;
867 #endif
868 	} cn30xx;
869 	struct cvmx_pko_mem_debug6_cn30xx cn31xx;
870 	struct cvmx_pko_mem_debug6_cn30xx cn38xx;
871 	struct cvmx_pko_mem_debug6_cn30xx cn38xxp2;
872 	struct cvmx_pko_mem_debug6_cn50xx {
873 #ifdef __BIG_ENDIAN_BITFIELD
874 		uint64_t reserved_11_63:53;
875 		uint64_t curr_ptr:11;
876 #else
877 		uint64_t curr_ptr:11;
878 		uint64_t reserved_11_63:53;
879 #endif
880 	} cn50xx;
881 	struct cvmx_pko_mem_debug6_cn52xx {
882 #ifdef __BIG_ENDIAN_BITFIELD
883 		uint64_t reserved_37_63:27;
884 		uint64_t qid_offres:4;
885 		uint64_t qid_offths:4;
886 		uint64_t preempter:1;
887 		uint64_t preemptee:1;
888 		uint64_t preempted:1;
889 		uint64_t active:1;
890 		uint64_t statc:1;
891 		uint64_t qos:3;
892 		uint64_t qcb_ridx:5;
893 		uint64_t qid_offmax:4;
894 		uint64_t qid_off:4;
895 		uint64_t qid_base:8;
896 #else
897 		uint64_t qid_base:8;
898 		uint64_t qid_off:4;
899 		uint64_t qid_offmax:4;
900 		uint64_t qcb_ridx:5;
901 		uint64_t qos:3;
902 		uint64_t statc:1;
903 		uint64_t active:1;
904 		uint64_t preempted:1;
905 		uint64_t preemptee:1;
906 		uint64_t preempter:1;
907 		uint64_t qid_offths:4;
908 		uint64_t qid_offres:4;
909 		uint64_t reserved_37_63:27;
910 #endif
911 	} cn52xx;
912 	struct cvmx_pko_mem_debug6_cn52xx cn52xxp1;
913 	struct cvmx_pko_mem_debug6_cn52xx cn56xx;
914 	struct cvmx_pko_mem_debug6_cn52xx cn56xxp1;
915 	struct cvmx_pko_mem_debug6_cn50xx cn58xx;
916 	struct cvmx_pko_mem_debug6_cn50xx cn58xxp1;
917 	struct cvmx_pko_mem_debug6_cn52xx cn61xx;
918 	struct cvmx_pko_mem_debug6_cn52xx cn63xx;
919 	struct cvmx_pko_mem_debug6_cn52xx cn63xxp1;
920 	struct cvmx_pko_mem_debug6_cn52xx cn66xx;
921 	struct cvmx_pko_mem_debug6_cn52xx cn68xx;
922 	struct cvmx_pko_mem_debug6_cn52xx cn68xxp1;
923 	struct cvmx_pko_mem_debug6_cn52xx cnf71xx;
924 };
925 
926 union cvmx_pko_mem_debug7 {
927 	uint64_t u64;
928 	struct cvmx_pko_mem_debug7_s {
929 #ifdef __BIG_ENDIAN_BITFIELD
930 		uint64_t reserved_0_63:64;
931 #else
932 		uint64_t reserved_0_63:64;
933 #endif
934 	} s;
935 	struct cvmx_pko_mem_debug7_cn30xx {
936 #ifdef __BIG_ENDIAN_BITFIELD
937 		uint64_t reserved_58_63:6;
938 		uint64_t dwb:9;
939 		uint64_t start:33;
940 		uint64_t size:16;
941 #else
942 		uint64_t size:16;
943 		uint64_t start:33;
944 		uint64_t dwb:9;
945 		uint64_t reserved_58_63:6;
946 #endif
947 	} cn30xx;
948 	struct cvmx_pko_mem_debug7_cn30xx cn31xx;
949 	struct cvmx_pko_mem_debug7_cn30xx cn38xx;
950 	struct cvmx_pko_mem_debug7_cn30xx cn38xxp2;
951 	struct cvmx_pko_mem_debug7_cn50xx {
952 #ifdef __BIG_ENDIAN_BITFIELD
953 		uint64_t qos:5;
954 		uint64_t tail:1;
955 		uint64_t buf_siz:13;
956 		uint64_t buf_ptr:33;
957 		uint64_t qcb_widx:6;
958 		uint64_t qcb_ridx:6;
959 #else
960 		uint64_t qcb_ridx:6;
961 		uint64_t qcb_widx:6;
962 		uint64_t buf_ptr:33;
963 		uint64_t buf_siz:13;
964 		uint64_t tail:1;
965 		uint64_t qos:5;
966 #endif
967 	} cn50xx;
968 	struct cvmx_pko_mem_debug7_cn50xx cn52xx;
969 	struct cvmx_pko_mem_debug7_cn50xx cn52xxp1;
970 	struct cvmx_pko_mem_debug7_cn50xx cn56xx;
971 	struct cvmx_pko_mem_debug7_cn50xx cn56xxp1;
972 	struct cvmx_pko_mem_debug7_cn50xx cn58xx;
973 	struct cvmx_pko_mem_debug7_cn50xx cn58xxp1;
974 	struct cvmx_pko_mem_debug7_cn50xx cn61xx;
975 	struct cvmx_pko_mem_debug7_cn50xx cn63xx;
976 	struct cvmx_pko_mem_debug7_cn50xx cn63xxp1;
977 	struct cvmx_pko_mem_debug7_cn50xx cn66xx;
978 	struct cvmx_pko_mem_debug7_cn68xx {
979 #ifdef __BIG_ENDIAN_BITFIELD
980 		uint64_t qos:3;
981 		uint64_t tail:1;
982 		uint64_t buf_siz:13;
983 		uint64_t buf_ptr:33;
984 		uint64_t qcb_widx:7;
985 		uint64_t qcb_ridx:7;
986 #else
987 		uint64_t qcb_ridx:7;
988 		uint64_t qcb_widx:7;
989 		uint64_t buf_ptr:33;
990 		uint64_t buf_siz:13;
991 		uint64_t tail:1;
992 		uint64_t qos:3;
993 #endif
994 	} cn68xx;
995 	struct cvmx_pko_mem_debug7_cn68xx cn68xxp1;
996 	struct cvmx_pko_mem_debug7_cn50xx cnf71xx;
997 };
998 
999 union cvmx_pko_mem_debug8 {
1000 	uint64_t u64;
1001 	struct cvmx_pko_mem_debug8_s {
1002 #ifdef __BIG_ENDIAN_BITFIELD
1003 		uint64_t reserved_59_63:5;
1004 		uint64_t tail:1;
1005 		uint64_t buf_siz:13;
1006 		uint64_t reserved_0_44:45;
1007 #else
1008 		uint64_t reserved_0_44:45;
1009 		uint64_t buf_siz:13;
1010 		uint64_t tail:1;
1011 		uint64_t reserved_59_63:5;
1012 #endif
1013 	} s;
1014 	struct cvmx_pko_mem_debug8_cn30xx {
1015 #ifdef __BIG_ENDIAN_BITFIELD
1016 		uint64_t qos:5;
1017 		uint64_t tail:1;
1018 		uint64_t buf_siz:13;
1019 		uint64_t buf_ptr:33;
1020 		uint64_t qcb_widx:6;
1021 		uint64_t qcb_ridx:6;
1022 #else
1023 		uint64_t qcb_ridx:6;
1024 		uint64_t qcb_widx:6;
1025 		uint64_t buf_ptr:33;
1026 		uint64_t buf_siz:13;
1027 		uint64_t tail:1;
1028 		uint64_t qos:5;
1029 #endif
1030 	} cn30xx;
1031 	struct cvmx_pko_mem_debug8_cn30xx cn31xx;
1032 	struct cvmx_pko_mem_debug8_cn30xx cn38xx;
1033 	struct cvmx_pko_mem_debug8_cn30xx cn38xxp2;
1034 	struct cvmx_pko_mem_debug8_cn50xx {
1035 #ifdef __BIG_ENDIAN_BITFIELD
1036 		uint64_t reserved_28_63:36;
1037 		uint64_t doorbell:20;
1038 		uint64_t reserved_6_7:2;
1039 		uint64_t static_p:1;
1040 		uint64_t s_tail:1;
1041 		uint64_t static_q:1;
1042 		uint64_t qos:3;
1043 #else
1044 		uint64_t qos:3;
1045 		uint64_t static_q:1;
1046 		uint64_t s_tail:1;
1047 		uint64_t static_p:1;
1048 		uint64_t reserved_6_7:2;
1049 		uint64_t doorbell:20;
1050 		uint64_t reserved_28_63:36;
1051 #endif
1052 	} cn50xx;
1053 	struct cvmx_pko_mem_debug8_cn52xx {
1054 #ifdef __BIG_ENDIAN_BITFIELD
1055 		uint64_t reserved_29_63:35;
1056 		uint64_t preempter:1;
1057 		uint64_t doorbell:20;
1058 		uint64_t reserved_7_7:1;
1059 		uint64_t preemptee:1;
1060 		uint64_t static_p:1;
1061 		uint64_t s_tail:1;
1062 		uint64_t static_q:1;
1063 		uint64_t qos:3;
1064 #else
1065 		uint64_t qos:3;
1066 		uint64_t static_q:1;
1067 		uint64_t s_tail:1;
1068 		uint64_t static_p:1;
1069 		uint64_t preemptee:1;
1070 		uint64_t reserved_7_7:1;
1071 		uint64_t doorbell:20;
1072 		uint64_t preempter:1;
1073 		uint64_t reserved_29_63:35;
1074 #endif
1075 	} cn52xx;
1076 	struct cvmx_pko_mem_debug8_cn52xx cn52xxp1;
1077 	struct cvmx_pko_mem_debug8_cn52xx cn56xx;
1078 	struct cvmx_pko_mem_debug8_cn52xx cn56xxp1;
1079 	struct cvmx_pko_mem_debug8_cn50xx cn58xx;
1080 	struct cvmx_pko_mem_debug8_cn50xx cn58xxp1;
1081 	struct cvmx_pko_mem_debug8_cn61xx {
1082 #ifdef __BIG_ENDIAN_BITFIELD
1083 		uint64_t reserved_42_63:22;
1084 		uint64_t qid_qqos:8;
1085 		uint64_t reserved_33_33:1;
1086 		uint64_t qid_idx:4;
1087 		uint64_t preempter:1;
1088 		uint64_t doorbell:20;
1089 		uint64_t reserved_7_7:1;
1090 		uint64_t preemptee:1;
1091 		uint64_t static_p:1;
1092 		uint64_t s_tail:1;
1093 		uint64_t static_q:1;
1094 		uint64_t qos:3;
1095 #else
1096 		uint64_t qos:3;
1097 		uint64_t static_q:1;
1098 		uint64_t s_tail:1;
1099 		uint64_t static_p:1;
1100 		uint64_t preemptee:1;
1101 		uint64_t reserved_7_7:1;
1102 		uint64_t doorbell:20;
1103 		uint64_t preempter:1;
1104 		uint64_t qid_idx:4;
1105 		uint64_t reserved_33_33:1;
1106 		uint64_t qid_qqos:8;
1107 		uint64_t reserved_42_63:22;
1108 #endif
1109 	} cn61xx;
1110 	struct cvmx_pko_mem_debug8_cn52xx cn63xx;
1111 	struct cvmx_pko_mem_debug8_cn52xx cn63xxp1;
1112 	struct cvmx_pko_mem_debug8_cn61xx cn66xx;
1113 	struct cvmx_pko_mem_debug8_cn68xx {
1114 #ifdef __BIG_ENDIAN_BITFIELD
1115 		uint64_t reserved_37_63:27;
1116 		uint64_t preempter:1;
1117 		uint64_t doorbell:20;
1118 		uint64_t reserved_9_15:7;
1119 		uint64_t preemptee:1;
1120 		uint64_t static_p:1;
1121 		uint64_t s_tail:1;
1122 		uint64_t static_q:1;
1123 		uint64_t qos:5;
1124 #else
1125 		uint64_t qos:5;
1126 		uint64_t static_q:1;
1127 		uint64_t s_tail:1;
1128 		uint64_t static_p:1;
1129 		uint64_t preemptee:1;
1130 		uint64_t reserved_9_15:7;
1131 		uint64_t doorbell:20;
1132 		uint64_t preempter:1;
1133 		uint64_t reserved_37_63:27;
1134 #endif
1135 	} cn68xx;
1136 	struct cvmx_pko_mem_debug8_cn68xx cn68xxp1;
1137 	struct cvmx_pko_mem_debug8_cn61xx cnf71xx;
1138 };
1139 
1140 union cvmx_pko_mem_debug9 {
1141 	uint64_t u64;
1142 	struct cvmx_pko_mem_debug9_s {
1143 #ifdef __BIG_ENDIAN_BITFIELD
1144 		uint64_t reserved_49_63:15;
1145 		uint64_t ptrs0:17;
1146 		uint64_t reserved_0_31:32;
1147 #else
1148 		uint64_t reserved_0_31:32;
1149 		uint64_t ptrs0:17;
1150 		uint64_t reserved_49_63:15;
1151 #endif
1152 	} s;
1153 	struct cvmx_pko_mem_debug9_cn30xx {
1154 #ifdef __BIG_ENDIAN_BITFIELD
1155 		uint64_t reserved_28_63:36;
1156 		uint64_t doorbell:20;
1157 		uint64_t reserved_5_7:3;
1158 		uint64_t s_tail:1;
1159 		uint64_t static_q:1;
1160 		uint64_t qos:3;
1161 #else
1162 		uint64_t qos:3;
1163 		uint64_t static_q:1;
1164 		uint64_t s_tail:1;
1165 		uint64_t reserved_5_7:3;
1166 		uint64_t doorbell:20;
1167 		uint64_t reserved_28_63:36;
1168 #endif
1169 	} cn30xx;
1170 	struct cvmx_pko_mem_debug9_cn30xx cn31xx;
1171 	struct cvmx_pko_mem_debug9_cn38xx {
1172 #ifdef __BIG_ENDIAN_BITFIELD
1173 		uint64_t reserved_28_63:36;
1174 		uint64_t doorbell:20;
1175 		uint64_t reserved_6_7:2;
1176 		uint64_t static_p:1;
1177 		uint64_t s_tail:1;
1178 		uint64_t static_q:1;
1179 		uint64_t qos:3;
1180 #else
1181 		uint64_t qos:3;
1182 		uint64_t static_q:1;
1183 		uint64_t s_tail:1;
1184 		uint64_t static_p:1;
1185 		uint64_t reserved_6_7:2;
1186 		uint64_t doorbell:20;
1187 		uint64_t reserved_28_63:36;
1188 #endif
1189 	} cn38xx;
1190 	struct cvmx_pko_mem_debug9_cn38xx cn38xxp2;
1191 	struct cvmx_pko_mem_debug9_cn50xx {
1192 #ifdef __BIG_ENDIAN_BITFIELD
1193 		uint64_t reserved_49_63:15;
1194 		uint64_t ptrs0:17;
1195 		uint64_t reserved_17_31:15;
1196 		uint64_t ptrs3:17;
1197 #else
1198 		uint64_t ptrs3:17;
1199 		uint64_t reserved_17_31:15;
1200 		uint64_t ptrs0:17;
1201 		uint64_t reserved_49_63:15;
1202 #endif
1203 	} cn50xx;
1204 	struct cvmx_pko_mem_debug9_cn50xx cn52xx;
1205 	struct cvmx_pko_mem_debug9_cn50xx cn52xxp1;
1206 	struct cvmx_pko_mem_debug9_cn50xx cn56xx;
1207 	struct cvmx_pko_mem_debug9_cn50xx cn56xxp1;
1208 	struct cvmx_pko_mem_debug9_cn50xx cn58xx;
1209 	struct cvmx_pko_mem_debug9_cn50xx cn58xxp1;
1210 	struct cvmx_pko_mem_debug9_cn50xx cn61xx;
1211 	struct cvmx_pko_mem_debug9_cn50xx cn63xx;
1212 	struct cvmx_pko_mem_debug9_cn50xx cn63xxp1;
1213 	struct cvmx_pko_mem_debug9_cn50xx cn66xx;
1214 	struct cvmx_pko_mem_debug9_cn50xx cn68xx;
1215 	struct cvmx_pko_mem_debug9_cn50xx cn68xxp1;
1216 	struct cvmx_pko_mem_debug9_cn50xx cnf71xx;
1217 };
1218 
1219 union cvmx_pko_mem_iport_ptrs {
1220 	uint64_t u64;
1221 	struct cvmx_pko_mem_iport_ptrs_s {
1222 #ifdef __BIG_ENDIAN_BITFIELD
1223 		uint64_t reserved_63_63:1;
1224 		uint64_t crc:1;
1225 		uint64_t static_p:1;
1226 		uint64_t qos_mask:8;
1227 		uint64_t min_pkt:3;
1228 		uint64_t reserved_31_49:19;
1229 		uint64_t pipe:7;
1230 		uint64_t reserved_21_23:3;
1231 		uint64_t intr:5;
1232 		uint64_t reserved_13_15:3;
1233 		uint64_t eid:5;
1234 		uint64_t reserved_7_7:1;
1235 		uint64_t ipid:7;
1236 #else
1237 		uint64_t ipid:7;
1238 		uint64_t reserved_7_7:1;
1239 		uint64_t eid:5;
1240 		uint64_t reserved_13_15:3;
1241 		uint64_t intr:5;
1242 		uint64_t reserved_21_23:3;
1243 		uint64_t pipe:7;
1244 		uint64_t reserved_31_49:19;
1245 		uint64_t min_pkt:3;
1246 		uint64_t qos_mask:8;
1247 		uint64_t static_p:1;
1248 		uint64_t crc:1;
1249 		uint64_t reserved_63_63:1;
1250 #endif
1251 	} s;
1252 	struct cvmx_pko_mem_iport_ptrs_s cn68xx;
1253 	struct cvmx_pko_mem_iport_ptrs_s cn68xxp1;
1254 };
1255 
1256 union cvmx_pko_mem_iport_qos {
1257 	uint64_t u64;
1258 	struct cvmx_pko_mem_iport_qos_s {
1259 #ifdef __BIG_ENDIAN_BITFIELD
1260 		uint64_t reserved_61_63:3;
1261 		uint64_t qos_mask:8;
1262 		uint64_t reserved_13_52:40;
1263 		uint64_t eid:5;
1264 		uint64_t reserved_7_7:1;
1265 		uint64_t ipid:7;
1266 #else
1267 		uint64_t ipid:7;
1268 		uint64_t reserved_7_7:1;
1269 		uint64_t eid:5;
1270 		uint64_t reserved_13_52:40;
1271 		uint64_t qos_mask:8;
1272 		uint64_t reserved_61_63:3;
1273 #endif
1274 	} s;
1275 	struct cvmx_pko_mem_iport_qos_s cn68xx;
1276 	struct cvmx_pko_mem_iport_qos_s cn68xxp1;
1277 };
1278 
1279 union cvmx_pko_mem_iqueue_ptrs {
1280 	uint64_t u64;
1281 	struct cvmx_pko_mem_iqueue_ptrs_s {
1282 #ifdef __BIG_ENDIAN_BITFIELD
1283 		uint64_t s_tail:1;
1284 		uint64_t static_p:1;
1285 		uint64_t static_q:1;
1286 		uint64_t qos_mask:8;
1287 		uint64_t buf_ptr:31;
1288 		uint64_t tail:1;
1289 		uint64_t index:5;
1290 		uint64_t reserved_15_15:1;
1291 		uint64_t ipid:7;
1292 		uint64_t qid:8;
1293 #else
1294 		uint64_t qid:8;
1295 		uint64_t ipid:7;
1296 		uint64_t reserved_15_15:1;
1297 		uint64_t index:5;
1298 		uint64_t tail:1;
1299 		uint64_t buf_ptr:31;
1300 		uint64_t qos_mask:8;
1301 		uint64_t static_q:1;
1302 		uint64_t static_p:1;
1303 		uint64_t s_tail:1;
1304 #endif
1305 	} s;
1306 	struct cvmx_pko_mem_iqueue_ptrs_s cn68xx;
1307 	struct cvmx_pko_mem_iqueue_ptrs_s cn68xxp1;
1308 };
1309 
1310 union cvmx_pko_mem_iqueue_qos {
1311 	uint64_t u64;
1312 	struct cvmx_pko_mem_iqueue_qos_s {
1313 #ifdef __BIG_ENDIAN_BITFIELD
1314 		uint64_t reserved_61_63:3;
1315 		uint64_t qos_mask:8;
1316 		uint64_t reserved_15_52:38;
1317 		uint64_t ipid:7;
1318 		uint64_t qid:8;
1319 #else
1320 		uint64_t qid:8;
1321 		uint64_t ipid:7;
1322 		uint64_t reserved_15_52:38;
1323 		uint64_t qos_mask:8;
1324 		uint64_t reserved_61_63:3;
1325 #endif
1326 	} s;
1327 	struct cvmx_pko_mem_iqueue_qos_s cn68xx;
1328 	struct cvmx_pko_mem_iqueue_qos_s cn68xxp1;
1329 };
1330 
1331 union cvmx_pko_mem_port_ptrs {
1332 	uint64_t u64;
1333 	struct cvmx_pko_mem_port_ptrs_s {
1334 #ifdef __BIG_ENDIAN_BITFIELD
1335 		uint64_t reserved_62_63:2;
1336 		uint64_t static_p:1;
1337 		uint64_t qos_mask:8;
1338 		uint64_t reserved_16_52:37;
1339 		uint64_t bp_port:6;
1340 		uint64_t eid:4;
1341 		uint64_t pid:6;
1342 #else
1343 		uint64_t pid:6;
1344 		uint64_t eid:4;
1345 		uint64_t bp_port:6;
1346 		uint64_t reserved_16_52:37;
1347 		uint64_t qos_mask:8;
1348 		uint64_t static_p:1;
1349 		uint64_t reserved_62_63:2;
1350 #endif
1351 	} s;
1352 	struct cvmx_pko_mem_port_ptrs_s cn52xx;
1353 	struct cvmx_pko_mem_port_ptrs_s cn52xxp1;
1354 	struct cvmx_pko_mem_port_ptrs_s cn56xx;
1355 	struct cvmx_pko_mem_port_ptrs_s cn56xxp1;
1356 	struct cvmx_pko_mem_port_ptrs_s cn61xx;
1357 	struct cvmx_pko_mem_port_ptrs_s cn63xx;
1358 	struct cvmx_pko_mem_port_ptrs_s cn63xxp1;
1359 	struct cvmx_pko_mem_port_ptrs_s cn66xx;
1360 	struct cvmx_pko_mem_port_ptrs_s cnf71xx;
1361 };
1362 
1363 union cvmx_pko_mem_port_qos {
1364 	uint64_t u64;
1365 	struct cvmx_pko_mem_port_qos_s {
1366 #ifdef __BIG_ENDIAN_BITFIELD
1367 		uint64_t reserved_61_63:3;
1368 		uint64_t qos_mask:8;
1369 		uint64_t reserved_10_52:43;
1370 		uint64_t eid:4;
1371 		uint64_t pid:6;
1372 #else
1373 		uint64_t pid:6;
1374 		uint64_t eid:4;
1375 		uint64_t reserved_10_52:43;
1376 		uint64_t qos_mask:8;
1377 		uint64_t reserved_61_63:3;
1378 #endif
1379 	} s;
1380 	struct cvmx_pko_mem_port_qos_s cn52xx;
1381 	struct cvmx_pko_mem_port_qos_s cn52xxp1;
1382 	struct cvmx_pko_mem_port_qos_s cn56xx;
1383 	struct cvmx_pko_mem_port_qos_s cn56xxp1;
1384 	struct cvmx_pko_mem_port_qos_s cn61xx;
1385 	struct cvmx_pko_mem_port_qos_s cn63xx;
1386 	struct cvmx_pko_mem_port_qos_s cn63xxp1;
1387 	struct cvmx_pko_mem_port_qos_s cn66xx;
1388 	struct cvmx_pko_mem_port_qos_s cnf71xx;
1389 };
1390 
1391 union cvmx_pko_mem_port_rate0 {
1392 	uint64_t u64;
1393 	struct cvmx_pko_mem_port_rate0_s {
1394 #ifdef __BIG_ENDIAN_BITFIELD
1395 		uint64_t reserved_51_63:13;
1396 		uint64_t rate_word:19;
1397 		uint64_t rate_pkt:24;
1398 		uint64_t reserved_7_7:1;
1399 		uint64_t pid:7;
1400 #else
1401 		uint64_t pid:7;
1402 		uint64_t reserved_7_7:1;
1403 		uint64_t rate_pkt:24;
1404 		uint64_t rate_word:19;
1405 		uint64_t reserved_51_63:13;
1406 #endif
1407 	} s;
1408 	struct cvmx_pko_mem_port_rate0_cn52xx {
1409 #ifdef __BIG_ENDIAN_BITFIELD
1410 		uint64_t reserved_51_63:13;
1411 		uint64_t rate_word:19;
1412 		uint64_t rate_pkt:24;
1413 		uint64_t reserved_6_7:2;
1414 		uint64_t pid:6;
1415 #else
1416 		uint64_t pid:6;
1417 		uint64_t reserved_6_7:2;
1418 		uint64_t rate_pkt:24;
1419 		uint64_t rate_word:19;
1420 		uint64_t reserved_51_63:13;
1421 #endif
1422 	} cn52xx;
1423 	struct cvmx_pko_mem_port_rate0_cn52xx cn52xxp1;
1424 	struct cvmx_pko_mem_port_rate0_cn52xx cn56xx;
1425 	struct cvmx_pko_mem_port_rate0_cn52xx cn56xxp1;
1426 	struct cvmx_pko_mem_port_rate0_cn52xx cn61xx;
1427 	struct cvmx_pko_mem_port_rate0_cn52xx cn63xx;
1428 	struct cvmx_pko_mem_port_rate0_cn52xx cn63xxp1;
1429 	struct cvmx_pko_mem_port_rate0_cn52xx cn66xx;
1430 	struct cvmx_pko_mem_port_rate0_s cn68xx;
1431 	struct cvmx_pko_mem_port_rate0_s cn68xxp1;
1432 	struct cvmx_pko_mem_port_rate0_cn52xx cnf71xx;
1433 };
1434 
1435 union cvmx_pko_mem_port_rate1 {
1436 	uint64_t u64;
1437 	struct cvmx_pko_mem_port_rate1_s {
1438 #ifdef __BIG_ENDIAN_BITFIELD
1439 		uint64_t reserved_32_63:32;
1440 		uint64_t rate_lim:24;
1441 		uint64_t reserved_7_7:1;
1442 		uint64_t pid:7;
1443 #else
1444 		uint64_t pid:7;
1445 		uint64_t reserved_7_7:1;
1446 		uint64_t rate_lim:24;
1447 		uint64_t reserved_32_63:32;
1448 #endif
1449 	} s;
1450 	struct cvmx_pko_mem_port_rate1_cn52xx {
1451 #ifdef __BIG_ENDIAN_BITFIELD
1452 		uint64_t reserved_32_63:32;
1453 		uint64_t rate_lim:24;
1454 		uint64_t reserved_6_7:2;
1455 		uint64_t pid:6;
1456 #else
1457 		uint64_t pid:6;
1458 		uint64_t reserved_6_7:2;
1459 		uint64_t rate_lim:24;
1460 		uint64_t reserved_32_63:32;
1461 #endif
1462 	} cn52xx;
1463 	struct cvmx_pko_mem_port_rate1_cn52xx cn52xxp1;
1464 	struct cvmx_pko_mem_port_rate1_cn52xx cn56xx;
1465 	struct cvmx_pko_mem_port_rate1_cn52xx cn56xxp1;
1466 	struct cvmx_pko_mem_port_rate1_cn52xx cn61xx;
1467 	struct cvmx_pko_mem_port_rate1_cn52xx cn63xx;
1468 	struct cvmx_pko_mem_port_rate1_cn52xx cn63xxp1;
1469 	struct cvmx_pko_mem_port_rate1_cn52xx cn66xx;
1470 	struct cvmx_pko_mem_port_rate1_s cn68xx;
1471 	struct cvmx_pko_mem_port_rate1_s cn68xxp1;
1472 	struct cvmx_pko_mem_port_rate1_cn52xx cnf71xx;
1473 };
1474 
1475 union cvmx_pko_mem_queue_ptrs {
1476 	uint64_t u64;
1477 	struct cvmx_pko_mem_queue_ptrs_s {
1478 #ifdef __BIG_ENDIAN_BITFIELD
1479 		uint64_t s_tail:1;
1480 		uint64_t static_p:1;
1481 		uint64_t static_q:1;
1482 		uint64_t qos_mask:8;
1483 		uint64_t buf_ptr:36;
1484 		uint64_t tail:1;
1485 		uint64_t index:3;
1486 		uint64_t port:6;
1487 		uint64_t queue:7;
1488 #else
1489 		uint64_t queue:7;
1490 		uint64_t port:6;
1491 		uint64_t index:3;
1492 		uint64_t tail:1;
1493 		uint64_t buf_ptr:36;
1494 		uint64_t qos_mask:8;
1495 		uint64_t static_q:1;
1496 		uint64_t static_p:1;
1497 		uint64_t s_tail:1;
1498 #endif
1499 	} s;
1500 	struct cvmx_pko_mem_queue_ptrs_s cn30xx;
1501 	struct cvmx_pko_mem_queue_ptrs_s cn31xx;
1502 	struct cvmx_pko_mem_queue_ptrs_s cn38xx;
1503 	struct cvmx_pko_mem_queue_ptrs_s cn38xxp2;
1504 	struct cvmx_pko_mem_queue_ptrs_s cn50xx;
1505 	struct cvmx_pko_mem_queue_ptrs_s cn52xx;
1506 	struct cvmx_pko_mem_queue_ptrs_s cn52xxp1;
1507 	struct cvmx_pko_mem_queue_ptrs_s cn56xx;
1508 	struct cvmx_pko_mem_queue_ptrs_s cn56xxp1;
1509 	struct cvmx_pko_mem_queue_ptrs_s cn58xx;
1510 	struct cvmx_pko_mem_queue_ptrs_s cn58xxp1;
1511 	struct cvmx_pko_mem_queue_ptrs_s cn61xx;
1512 	struct cvmx_pko_mem_queue_ptrs_s cn63xx;
1513 	struct cvmx_pko_mem_queue_ptrs_s cn63xxp1;
1514 	struct cvmx_pko_mem_queue_ptrs_s cn66xx;
1515 	struct cvmx_pko_mem_queue_ptrs_s cnf71xx;
1516 };
1517 
1518 union cvmx_pko_mem_queue_qos {
1519 	uint64_t u64;
1520 	struct cvmx_pko_mem_queue_qos_s {
1521 #ifdef __BIG_ENDIAN_BITFIELD
1522 		uint64_t reserved_61_63:3;
1523 		uint64_t qos_mask:8;
1524 		uint64_t reserved_13_52:40;
1525 		uint64_t pid:6;
1526 		uint64_t qid:7;
1527 #else
1528 		uint64_t qid:7;
1529 		uint64_t pid:6;
1530 		uint64_t reserved_13_52:40;
1531 		uint64_t qos_mask:8;
1532 		uint64_t reserved_61_63:3;
1533 #endif
1534 	} s;
1535 	struct cvmx_pko_mem_queue_qos_s cn30xx;
1536 	struct cvmx_pko_mem_queue_qos_s cn31xx;
1537 	struct cvmx_pko_mem_queue_qos_s cn38xx;
1538 	struct cvmx_pko_mem_queue_qos_s cn38xxp2;
1539 	struct cvmx_pko_mem_queue_qos_s cn50xx;
1540 	struct cvmx_pko_mem_queue_qos_s cn52xx;
1541 	struct cvmx_pko_mem_queue_qos_s cn52xxp1;
1542 	struct cvmx_pko_mem_queue_qos_s cn56xx;
1543 	struct cvmx_pko_mem_queue_qos_s cn56xxp1;
1544 	struct cvmx_pko_mem_queue_qos_s cn58xx;
1545 	struct cvmx_pko_mem_queue_qos_s cn58xxp1;
1546 	struct cvmx_pko_mem_queue_qos_s cn61xx;
1547 	struct cvmx_pko_mem_queue_qos_s cn63xx;
1548 	struct cvmx_pko_mem_queue_qos_s cn63xxp1;
1549 	struct cvmx_pko_mem_queue_qos_s cn66xx;
1550 	struct cvmx_pko_mem_queue_qos_s cnf71xx;
1551 };
1552 
1553 union cvmx_pko_mem_throttle_int {
1554 	uint64_t u64;
1555 	struct cvmx_pko_mem_throttle_int_s {
1556 #ifdef __BIG_ENDIAN_BITFIELD
1557 		uint64_t reserved_47_63:17;
1558 		uint64_t word:15;
1559 		uint64_t reserved_14_31:18;
1560 		uint64_t packet:6;
1561 		uint64_t reserved_5_7:3;
1562 		uint64_t intr:5;
1563 #else
1564 		uint64_t intr:5;
1565 		uint64_t reserved_5_7:3;
1566 		uint64_t packet:6;
1567 		uint64_t reserved_14_31:18;
1568 		uint64_t word:15;
1569 		uint64_t reserved_47_63:17;
1570 #endif
1571 	} s;
1572 	struct cvmx_pko_mem_throttle_int_s cn68xx;
1573 	struct cvmx_pko_mem_throttle_int_s cn68xxp1;
1574 };
1575 
1576 union cvmx_pko_mem_throttle_pipe {
1577 	uint64_t u64;
1578 	struct cvmx_pko_mem_throttle_pipe_s {
1579 #ifdef __BIG_ENDIAN_BITFIELD
1580 		uint64_t reserved_47_63:17;
1581 		uint64_t word:15;
1582 		uint64_t reserved_14_31:18;
1583 		uint64_t packet:6;
1584 		uint64_t reserved_7_7:1;
1585 		uint64_t pipe:7;
1586 #else
1587 		uint64_t pipe:7;
1588 		uint64_t reserved_7_7:1;
1589 		uint64_t packet:6;
1590 		uint64_t reserved_14_31:18;
1591 		uint64_t word:15;
1592 		uint64_t reserved_47_63:17;
1593 #endif
1594 	} s;
1595 	struct cvmx_pko_mem_throttle_pipe_s cn68xx;
1596 	struct cvmx_pko_mem_throttle_pipe_s cn68xxp1;
1597 };
1598 
1599 union cvmx_pko_reg_bist_result {
1600 	uint64_t u64;
1601 	struct cvmx_pko_reg_bist_result_s {
1602 #ifdef __BIG_ENDIAN_BITFIELD
1603 		uint64_t reserved_0_63:64;
1604 #else
1605 		uint64_t reserved_0_63:64;
1606 #endif
1607 	} s;
1608 	struct cvmx_pko_reg_bist_result_cn30xx {
1609 #ifdef __BIG_ENDIAN_BITFIELD
1610 		uint64_t reserved_27_63:37;
1611 		uint64_t psb2:5;
1612 		uint64_t count:1;
1613 		uint64_t rif:1;
1614 		uint64_t wif:1;
1615 		uint64_t ncb:1;
1616 		uint64_t out:1;
1617 		uint64_t crc:1;
1618 		uint64_t chk:1;
1619 		uint64_t qsb:2;
1620 		uint64_t qcb:2;
1621 		uint64_t pdb:4;
1622 		uint64_t psb:7;
1623 #else
1624 		uint64_t psb:7;
1625 		uint64_t pdb:4;
1626 		uint64_t qcb:2;
1627 		uint64_t qsb:2;
1628 		uint64_t chk:1;
1629 		uint64_t crc:1;
1630 		uint64_t out:1;
1631 		uint64_t ncb:1;
1632 		uint64_t wif:1;
1633 		uint64_t rif:1;
1634 		uint64_t count:1;
1635 		uint64_t psb2:5;
1636 		uint64_t reserved_27_63:37;
1637 #endif
1638 	} cn30xx;
1639 	struct cvmx_pko_reg_bist_result_cn30xx cn31xx;
1640 	struct cvmx_pko_reg_bist_result_cn30xx cn38xx;
1641 	struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2;
1642 	struct cvmx_pko_reg_bist_result_cn50xx {
1643 #ifdef __BIG_ENDIAN_BITFIELD
1644 		uint64_t reserved_33_63:31;
1645 		uint64_t csr:1;
1646 		uint64_t iob:1;
1647 		uint64_t out_crc:1;
1648 		uint64_t out_ctl:3;
1649 		uint64_t out_sta:1;
1650 		uint64_t out_wif:1;
1651 		uint64_t prt_chk:3;
1652 		uint64_t prt_nxt:1;
1653 		uint64_t prt_psb:6;
1654 		uint64_t ncb_inb:2;
1655 		uint64_t prt_qcb:2;
1656 		uint64_t prt_qsb:3;
1657 		uint64_t dat_dat:4;
1658 		uint64_t dat_ptr:4;
1659 #else
1660 		uint64_t dat_ptr:4;
1661 		uint64_t dat_dat:4;
1662 		uint64_t prt_qsb:3;
1663 		uint64_t prt_qcb:2;
1664 		uint64_t ncb_inb:2;
1665 		uint64_t prt_psb:6;
1666 		uint64_t prt_nxt:1;
1667 		uint64_t prt_chk:3;
1668 		uint64_t out_wif:1;
1669 		uint64_t out_sta:1;
1670 		uint64_t out_ctl:3;
1671 		uint64_t out_crc:1;
1672 		uint64_t iob:1;
1673 		uint64_t csr:1;
1674 		uint64_t reserved_33_63:31;
1675 #endif
1676 	} cn50xx;
1677 	struct cvmx_pko_reg_bist_result_cn52xx {
1678 #ifdef __BIG_ENDIAN_BITFIELD
1679 		uint64_t reserved_35_63:29;
1680 		uint64_t csr:1;
1681 		uint64_t iob:1;
1682 		uint64_t out_dat:1;
1683 		uint64_t out_ctl:3;
1684 		uint64_t out_sta:1;
1685 		uint64_t out_wif:1;
1686 		uint64_t prt_chk:3;
1687 		uint64_t prt_nxt:1;
1688 		uint64_t prt_psb:8;
1689 		uint64_t ncb_inb:2;
1690 		uint64_t prt_qcb:2;
1691 		uint64_t prt_qsb:3;
1692 		uint64_t prt_ctl:2;
1693 		uint64_t dat_dat:2;
1694 		uint64_t dat_ptr:4;
1695 #else
1696 		uint64_t dat_ptr:4;
1697 		uint64_t dat_dat:2;
1698 		uint64_t prt_ctl:2;
1699 		uint64_t prt_qsb:3;
1700 		uint64_t prt_qcb:2;
1701 		uint64_t ncb_inb:2;
1702 		uint64_t prt_psb:8;
1703 		uint64_t prt_nxt:1;
1704 		uint64_t prt_chk:3;
1705 		uint64_t out_wif:1;
1706 		uint64_t out_sta:1;
1707 		uint64_t out_ctl:3;
1708 		uint64_t out_dat:1;
1709 		uint64_t iob:1;
1710 		uint64_t csr:1;
1711 		uint64_t reserved_35_63:29;
1712 #endif
1713 	} cn52xx;
1714 	struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1;
1715 	struct cvmx_pko_reg_bist_result_cn52xx cn56xx;
1716 	struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1;
1717 	struct cvmx_pko_reg_bist_result_cn50xx cn58xx;
1718 	struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1;
1719 	struct cvmx_pko_reg_bist_result_cn52xx cn61xx;
1720 	struct cvmx_pko_reg_bist_result_cn52xx cn63xx;
1721 	struct cvmx_pko_reg_bist_result_cn52xx cn63xxp1;
1722 	struct cvmx_pko_reg_bist_result_cn52xx cn66xx;
1723 	struct cvmx_pko_reg_bist_result_cn68xx {
1724 #ifdef __BIG_ENDIAN_BITFIELD
1725 		uint64_t reserved_36_63:28;
1726 		uint64_t crc:1;
1727 		uint64_t csr:1;
1728 		uint64_t iob:1;
1729 		uint64_t out_dat:1;
1730 		uint64_t reserved_31_31:1;
1731 		uint64_t out_ctl:2;
1732 		uint64_t out_sta:1;
1733 		uint64_t out_wif:1;
1734 		uint64_t prt_chk:3;
1735 		uint64_t prt_nxt:1;
1736 		uint64_t prt_psb7:1;
1737 		uint64_t reserved_21_21:1;
1738 		uint64_t prt_psb:6;
1739 		uint64_t ncb_inb:2;
1740 		uint64_t prt_qcb:2;
1741 		uint64_t prt_qsb:3;
1742 		uint64_t prt_ctl:2;
1743 		uint64_t dat_dat:2;
1744 		uint64_t dat_ptr:4;
1745 #else
1746 		uint64_t dat_ptr:4;
1747 		uint64_t dat_dat:2;
1748 		uint64_t prt_ctl:2;
1749 		uint64_t prt_qsb:3;
1750 		uint64_t prt_qcb:2;
1751 		uint64_t ncb_inb:2;
1752 		uint64_t prt_psb:6;
1753 		uint64_t reserved_21_21:1;
1754 		uint64_t prt_psb7:1;
1755 		uint64_t prt_nxt:1;
1756 		uint64_t prt_chk:3;
1757 		uint64_t out_wif:1;
1758 		uint64_t out_sta:1;
1759 		uint64_t out_ctl:2;
1760 		uint64_t reserved_31_31:1;
1761 		uint64_t out_dat:1;
1762 		uint64_t iob:1;
1763 		uint64_t csr:1;
1764 		uint64_t crc:1;
1765 		uint64_t reserved_36_63:28;
1766 #endif
1767 	} cn68xx;
1768 	struct cvmx_pko_reg_bist_result_cn68xxp1 {
1769 #ifdef __BIG_ENDIAN_BITFIELD
1770 		uint64_t reserved_35_63:29;
1771 		uint64_t csr:1;
1772 		uint64_t iob:1;
1773 		uint64_t out_dat:1;
1774 		uint64_t reserved_31_31:1;
1775 		uint64_t out_ctl:2;
1776 		uint64_t out_sta:1;
1777 		uint64_t out_wif:1;
1778 		uint64_t prt_chk:3;
1779 		uint64_t prt_nxt:1;
1780 		uint64_t prt_psb7:1;
1781 		uint64_t reserved_21_21:1;
1782 		uint64_t prt_psb:6;
1783 		uint64_t ncb_inb:2;
1784 		uint64_t prt_qcb:2;
1785 		uint64_t prt_qsb:3;
1786 		uint64_t prt_ctl:2;
1787 		uint64_t dat_dat:2;
1788 		uint64_t dat_ptr:4;
1789 #else
1790 		uint64_t dat_ptr:4;
1791 		uint64_t dat_dat:2;
1792 		uint64_t prt_ctl:2;
1793 		uint64_t prt_qsb:3;
1794 		uint64_t prt_qcb:2;
1795 		uint64_t ncb_inb:2;
1796 		uint64_t prt_psb:6;
1797 		uint64_t reserved_21_21:1;
1798 		uint64_t prt_psb7:1;
1799 		uint64_t prt_nxt:1;
1800 		uint64_t prt_chk:3;
1801 		uint64_t out_wif:1;
1802 		uint64_t out_sta:1;
1803 		uint64_t out_ctl:2;
1804 		uint64_t reserved_31_31:1;
1805 		uint64_t out_dat:1;
1806 		uint64_t iob:1;
1807 		uint64_t csr:1;
1808 		uint64_t reserved_35_63:29;
1809 #endif
1810 	} cn68xxp1;
1811 	struct cvmx_pko_reg_bist_result_cn52xx cnf71xx;
1812 };
1813 
1814 union cvmx_pko_reg_cmd_buf {
1815 	uint64_t u64;
1816 	struct cvmx_pko_reg_cmd_buf_s {
1817 #ifdef __BIG_ENDIAN_BITFIELD
1818 		uint64_t reserved_23_63:41;
1819 		uint64_t pool:3;
1820 		uint64_t reserved_13_19:7;
1821 		uint64_t size:13;
1822 #else
1823 		uint64_t size:13;
1824 		uint64_t reserved_13_19:7;
1825 		uint64_t pool:3;
1826 		uint64_t reserved_23_63:41;
1827 #endif
1828 	} s;
1829 	struct cvmx_pko_reg_cmd_buf_s cn30xx;
1830 	struct cvmx_pko_reg_cmd_buf_s cn31xx;
1831 	struct cvmx_pko_reg_cmd_buf_s cn38xx;
1832 	struct cvmx_pko_reg_cmd_buf_s cn38xxp2;
1833 	struct cvmx_pko_reg_cmd_buf_s cn50xx;
1834 	struct cvmx_pko_reg_cmd_buf_s cn52xx;
1835 	struct cvmx_pko_reg_cmd_buf_s cn52xxp1;
1836 	struct cvmx_pko_reg_cmd_buf_s cn56xx;
1837 	struct cvmx_pko_reg_cmd_buf_s cn56xxp1;
1838 	struct cvmx_pko_reg_cmd_buf_s cn58xx;
1839 	struct cvmx_pko_reg_cmd_buf_s cn58xxp1;
1840 	struct cvmx_pko_reg_cmd_buf_s cn61xx;
1841 	struct cvmx_pko_reg_cmd_buf_s cn63xx;
1842 	struct cvmx_pko_reg_cmd_buf_s cn63xxp1;
1843 	struct cvmx_pko_reg_cmd_buf_s cn66xx;
1844 	struct cvmx_pko_reg_cmd_buf_s cn68xx;
1845 	struct cvmx_pko_reg_cmd_buf_s cn68xxp1;
1846 	struct cvmx_pko_reg_cmd_buf_s cnf71xx;
1847 };
1848 
1849 union cvmx_pko_reg_crc_ctlx {
1850 	uint64_t u64;
1851 	struct cvmx_pko_reg_crc_ctlx_s {
1852 #ifdef __BIG_ENDIAN_BITFIELD
1853 		uint64_t reserved_2_63:62;
1854 		uint64_t invres:1;
1855 		uint64_t refin:1;
1856 #else
1857 		uint64_t refin:1;
1858 		uint64_t invres:1;
1859 		uint64_t reserved_2_63:62;
1860 #endif
1861 	} s;
1862 	struct cvmx_pko_reg_crc_ctlx_s cn38xx;
1863 	struct cvmx_pko_reg_crc_ctlx_s cn38xxp2;
1864 	struct cvmx_pko_reg_crc_ctlx_s cn58xx;
1865 	struct cvmx_pko_reg_crc_ctlx_s cn58xxp1;
1866 };
1867 
1868 union cvmx_pko_reg_crc_enable {
1869 	uint64_t u64;
1870 	struct cvmx_pko_reg_crc_enable_s {
1871 #ifdef __BIG_ENDIAN_BITFIELD
1872 		uint64_t reserved_32_63:32;
1873 		uint64_t enable:32;
1874 #else
1875 		uint64_t enable:32;
1876 		uint64_t reserved_32_63:32;
1877 #endif
1878 	} s;
1879 	struct cvmx_pko_reg_crc_enable_s cn38xx;
1880 	struct cvmx_pko_reg_crc_enable_s cn38xxp2;
1881 	struct cvmx_pko_reg_crc_enable_s cn58xx;
1882 	struct cvmx_pko_reg_crc_enable_s cn58xxp1;
1883 };
1884 
1885 union cvmx_pko_reg_crc_ivx {
1886 	uint64_t u64;
1887 	struct cvmx_pko_reg_crc_ivx_s {
1888 #ifdef __BIG_ENDIAN_BITFIELD
1889 		uint64_t reserved_32_63:32;
1890 		uint64_t iv:32;
1891 #else
1892 		uint64_t iv:32;
1893 		uint64_t reserved_32_63:32;
1894 #endif
1895 	} s;
1896 	struct cvmx_pko_reg_crc_ivx_s cn38xx;
1897 	struct cvmx_pko_reg_crc_ivx_s cn38xxp2;
1898 	struct cvmx_pko_reg_crc_ivx_s cn58xx;
1899 	struct cvmx_pko_reg_crc_ivx_s cn58xxp1;
1900 };
1901 
1902 union cvmx_pko_reg_debug0 {
1903 	uint64_t u64;
1904 	struct cvmx_pko_reg_debug0_s {
1905 #ifdef __BIG_ENDIAN_BITFIELD
1906 		uint64_t asserts:64;
1907 #else
1908 		uint64_t asserts:64;
1909 #endif
1910 	} s;
1911 	struct cvmx_pko_reg_debug0_cn30xx {
1912 #ifdef __BIG_ENDIAN_BITFIELD
1913 		uint64_t reserved_17_63:47;
1914 		uint64_t asserts:17;
1915 #else
1916 		uint64_t asserts:17;
1917 		uint64_t reserved_17_63:47;
1918 #endif
1919 	} cn30xx;
1920 	struct cvmx_pko_reg_debug0_cn30xx cn31xx;
1921 	struct cvmx_pko_reg_debug0_cn30xx cn38xx;
1922 	struct cvmx_pko_reg_debug0_cn30xx cn38xxp2;
1923 	struct cvmx_pko_reg_debug0_s cn50xx;
1924 	struct cvmx_pko_reg_debug0_s cn52xx;
1925 	struct cvmx_pko_reg_debug0_s cn52xxp1;
1926 	struct cvmx_pko_reg_debug0_s cn56xx;
1927 	struct cvmx_pko_reg_debug0_s cn56xxp1;
1928 	struct cvmx_pko_reg_debug0_s cn58xx;
1929 	struct cvmx_pko_reg_debug0_s cn58xxp1;
1930 	struct cvmx_pko_reg_debug0_s cn61xx;
1931 	struct cvmx_pko_reg_debug0_s cn63xx;
1932 	struct cvmx_pko_reg_debug0_s cn63xxp1;
1933 	struct cvmx_pko_reg_debug0_s cn66xx;
1934 	struct cvmx_pko_reg_debug0_s cn68xx;
1935 	struct cvmx_pko_reg_debug0_s cn68xxp1;
1936 	struct cvmx_pko_reg_debug0_s cnf71xx;
1937 };
1938 
1939 union cvmx_pko_reg_debug1 {
1940 	uint64_t u64;
1941 	struct cvmx_pko_reg_debug1_s {
1942 #ifdef __BIG_ENDIAN_BITFIELD
1943 		uint64_t asserts:64;
1944 #else
1945 		uint64_t asserts:64;
1946 #endif
1947 	} s;
1948 	struct cvmx_pko_reg_debug1_s cn50xx;
1949 	struct cvmx_pko_reg_debug1_s cn52xx;
1950 	struct cvmx_pko_reg_debug1_s cn52xxp1;
1951 	struct cvmx_pko_reg_debug1_s cn56xx;
1952 	struct cvmx_pko_reg_debug1_s cn56xxp1;
1953 	struct cvmx_pko_reg_debug1_s cn58xx;
1954 	struct cvmx_pko_reg_debug1_s cn58xxp1;
1955 	struct cvmx_pko_reg_debug1_s cn61xx;
1956 	struct cvmx_pko_reg_debug1_s cn63xx;
1957 	struct cvmx_pko_reg_debug1_s cn63xxp1;
1958 	struct cvmx_pko_reg_debug1_s cn66xx;
1959 	struct cvmx_pko_reg_debug1_s cn68xx;
1960 	struct cvmx_pko_reg_debug1_s cn68xxp1;
1961 	struct cvmx_pko_reg_debug1_s cnf71xx;
1962 };
1963 
1964 union cvmx_pko_reg_debug2 {
1965 	uint64_t u64;
1966 	struct cvmx_pko_reg_debug2_s {
1967 #ifdef __BIG_ENDIAN_BITFIELD
1968 		uint64_t asserts:64;
1969 #else
1970 		uint64_t asserts:64;
1971 #endif
1972 	} s;
1973 	struct cvmx_pko_reg_debug2_s cn50xx;
1974 	struct cvmx_pko_reg_debug2_s cn52xx;
1975 	struct cvmx_pko_reg_debug2_s cn52xxp1;
1976 	struct cvmx_pko_reg_debug2_s cn56xx;
1977 	struct cvmx_pko_reg_debug2_s cn56xxp1;
1978 	struct cvmx_pko_reg_debug2_s cn58xx;
1979 	struct cvmx_pko_reg_debug2_s cn58xxp1;
1980 	struct cvmx_pko_reg_debug2_s cn61xx;
1981 	struct cvmx_pko_reg_debug2_s cn63xx;
1982 	struct cvmx_pko_reg_debug2_s cn63xxp1;
1983 	struct cvmx_pko_reg_debug2_s cn66xx;
1984 	struct cvmx_pko_reg_debug2_s cn68xx;
1985 	struct cvmx_pko_reg_debug2_s cn68xxp1;
1986 	struct cvmx_pko_reg_debug2_s cnf71xx;
1987 };
1988 
1989 union cvmx_pko_reg_debug3 {
1990 	uint64_t u64;
1991 	struct cvmx_pko_reg_debug3_s {
1992 #ifdef __BIG_ENDIAN_BITFIELD
1993 		uint64_t asserts:64;
1994 #else
1995 		uint64_t asserts:64;
1996 #endif
1997 	} s;
1998 	struct cvmx_pko_reg_debug3_s cn50xx;
1999 	struct cvmx_pko_reg_debug3_s cn52xx;
2000 	struct cvmx_pko_reg_debug3_s cn52xxp1;
2001 	struct cvmx_pko_reg_debug3_s cn56xx;
2002 	struct cvmx_pko_reg_debug3_s cn56xxp1;
2003 	struct cvmx_pko_reg_debug3_s cn58xx;
2004 	struct cvmx_pko_reg_debug3_s cn58xxp1;
2005 	struct cvmx_pko_reg_debug3_s cn61xx;
2006 	struct cvmx_pko_reg_debug3_s cn63xx;
2007 	struct cvmx_pko_reg_debug3_s cn63xxp1;
2008 	struct cvmx_pko_reg_debug3_s cn66xx;
2009 	struct cvmx_pko_reg_debug3_s cn68xx;
2010 	struct cvmx_pko_reg_debug3_s cn68xxp1;
2011 	struct cvmx_pko_reg_debug3_s cnf71xx;
2012 };
2013 
2014 union cvmx_pko_reg_debug4 {
2015 	uint64_t u64;
2016 	struct cvmx_pko_reg_debug4_s {
2017 #ifdef __BIG_ENDIAN_BITFIELD
2018 		uint64_t asserts:64;
2019 #else
2020 		uint64_t asserts:64;
2021 #endif
2022 	} s;
2023 	struct cvmx_pko_reg_debug4_s cn68xx;
2024 	struct cvmx_pko_reg_debug4_s cn68xxp1;
2025 };
2026 
2027 union cvmx_pko_reg_engine_inflight {
2028 	uint64_t u64;
2029 	struct cvmx_pko_reg_engine_inflight_s {
2030 #ifdef __BIG_ENDIAN_BITFIELD
2031 		uint64_t engine15:4;
2032 		uint64_t engine14:4;
2033 		uint64_t engine13:4;
2034 		uint64_t engine12:4;
2035 		uint64_t engine11:4;
2036 		uint64_t engine10:4;
2037 		uint64_t engine9:4;
2038 		uint64_t engine8:4;
2039 		uint64_t engine7:4;
2040 		uint64_t engine6:4;
2041 		uint64_t engine5:4;
2042 		uint64_t engine4:4;
2043 		uint64_t engine3:4;
2044 		uint64_t engine2:4;
2045 		uint64_t engine1:4;
2046 		uint64_t engine0:4;
2047 #else
2048 		uint64_t engine0:4;
2049 		uint64_t engine1:4;
2050 		uint64_t engine2:4;
2051 		uint64_t engine3:4;
2052 		uint64_t engine4:4;
2053 		uint64_t engine5:4;
2054 		uint64_t engine6:4;
2055 		uint64_t engine7:4;
2056 		uint64_t engine8:4;
2057 		uint64_t engine9:4;
2058 		uint64_t engine10:4;
2059 		uint64_t engine11:4;
2060 		uint64_t engine12:4;
2061 		uint64_t engine13:4;
2062 		uint64_t engine14:4;
2063 		uint64_t engine15:4;
2064 #endif
2065 	} s;
2066 	struct cvmx_pko_reg_engine_inflight_cn52xx {
2067 #ifdef __BIG_ENDIAN_BITFIELD
2068 		uint64_t reserved_40_63:24;
2069 		uint64_t engine9:4;
2070 		uint64_t engine8:4;
2071 		uint64_t engine7:4;
2072 		uint64_t engine6:4;
2073 		uint64_t engine5:4;
2074 		uint64_t engine4:4;
2075 		uint64_t engine3:4;
2076 		uint64_t engine2:4;
2077 		uint64_t engine1:4;
2078 		uint64_t engine0:4;
2079 #else
2080 		uint64_t engine0:4;
2081 		uint64_t engine1:4;
2082 		uint64_t engine2:4;
2083 		uint64_t engine3:4;
2084 		uint64_t engine4:4;
2085 		uint64_t engine5:4;
2086 		uint64_t engine6:4;
2087 		uint64_t engine7:4;
2088 		uint64_t engine8:4;
2089 		uint64_t engine9:4;
2090 		uint64_t reserved_40_63:24;
2091 #endif
2092 	} cn52xx;
2093 	struct cvmx_pko_reg_engine_inflight_cn52xx cn52xxp1;
2094 	struct cvmx_pko_reg_engine_inflight_cn52xx cn56xx;
2095 	struct cvmx_pko_reg_engine_inflight_cn52xx cn56xxp1;
2096 	struct cvmx_pko_reg_engine_inflight_cn61xx {
2097 #ifdef __BIG_ENDIAN_BITFIELD
2098 		uint64_t reserved_56_63:8;
2099 		uint64_t engine13:4;
2100 		uint64_t engine12:4;
2101 		uint64_t engine11:4;
2102 		uint64_t engine10:4;
2103 		uint64_t engine9:4;
2104 		uint64_t engine8:4;
2105 		uint64_t engine7:4;
2106 		uint64_t engine6:4;
2107 		uint64_t engine5:4;
2108 		uint64_t engine4:4;
2109 		uint64_t engine3:4;
2110 		uint64_t engine2:4;
2111 		uint64_t engine1:4;
2112 		uint64_t engine0:4;
2113 #else
2114 		uint64_t engine0:4;
2115 		uint64_t engine1:4;
2116 		uint64_t engine2:4;
2117 		uint64_t engine3:4;
2118 		uint64_t engine4:4;
2119 		uint64_t engine5:4;
2120 		uint64_t engine6:4;
2121 		uint64_t engine7:4;
2122 		uint64_t engine8:4;
2123 		uint64_t engine9:4;
2124 		uint64_t engine10:4;
2125 		uint64_t engine11:4;
2126 		uint64_t engine12:4;
2127 		uint64_t engine13:4;
2128 		uint64_t reserved_56_63:8;
2129 #endif
2130 	} cn61xx;
2131 	struct cvmx_pko_reg_engine_inflight_cn63xx {
2132 #ifdef __BIG_ENDIAN_BITFIELD
2133 		uint64_t reserved_48_63:16;
2134 		uint64_t engine11:4;
2135 		uint64_t engine10:4;
2136 		uint64_t engine9:4;
2137 		uint64_t engine8:4;
2138 		uint64_t engine7:4;
2139 		uint64_t engine6:4;
2140 		uint64_t engine5:4;
2141 		uint64_t engine4:4;
2142 		uint64_t engine3:4;
2143 		uint64_t engine2:4;
2144 		uint64_t engine1:4;
2145 		uint64_t engine0:4;
2146 #else
2147 		uint64_t engine0:4;
2148 		uint64_t engine1:4;
2149 		uint64_t engine2:4;
2150 		uint64_t engine3:4;
2151 		uint64_t engine4:4;
2152 		uint64_t engine5:4;
2153 		uint64_t engine6:4;
2154 		uint64_t engine7:4;
2155 		uint64_t engine8:4;
2156 		uint64_t engine9:4;
2157 		uint64_t engine10:4;
2158 		uint64_t engine11:4;
2159 		uint64_t reserved_48_63:16;
2160 #endif
2161 	} cn63xx;
2162 	struct cvmx_pko_reg_engine_inflight_cn63xx cn63xxp1;
2163 	struct cvmx_pko_reg_engine_inflight_cn61xx cn66xx;
2164 	struct cvmx_pko_reg_engine_inflight_s cn68xx;
2165 	struct cvmx_pko_reg_engine_inflight_s cn68xxp1;
2166 	struct cvmx_pko_reg_engine_inflight_cn61xx cnf71xx;
2167 };
2168 
2169 union cvmx_pko_reg_engine_inflight1 {
2170 	uint64_t u64;
2171 	struct cvmx_pko_reg_engine_inflight1_s {
2172 #ifdef __BIG_ENDIAN_BITFIELD
2173 		uint64_t reserved_16_63:48;
2174 		uint64_t engine19:4;
2175 		uint64_t engine18:4;
2176 		uint64_t engine17:4;
2177 		uint64_t engine16:4;
2178 #else
2179 		uint64_t engine16:4;
2180 		uint64_t engine17:4;
2181 		uint64_t engine18:4;
2182 		uint64_t engine19:4;
2183 		uint64_t reserved_16_63:48;
2184 #endif
2185 	} s;
2186 	struct cvmx_pko_reg_engine_inflight1_s cn68xx;
2187 	struct cvmx_pko_reg_engine_inflight1_s cn68xxp1;
2188 };
2189 
2190 union cvmx_pko_reg_engine_storagex {
2191 	uint64_t u64;
2192 	struct cvmx_pko_reg_engine_storagex_s {
2193 #ifdef __BIG_ENDIAN_BITFIELD
2194 		uint64_t engine15:4;
2195 		uint64_t engine14:4;
2196 		uint64_t engine13:4;
2197 		uint64_t engine12:4;
2198 		uint64_t engine11:4;
2199 		uint64_t engine10:4;
2200 		uint64_t engine9:4;
2201 		uint64_t engine8:4;
2202 		uint64_t engine7:4;
2203 		uint64_t engine6:4;
2204 		uint64_t engine5:4;
2205 		uint64_t engine4:4;
2206 		uint64_t engine3:4;
2207 		uint64_t engine2:4;
2208 		uint64_t engine1:4;
2209 		uint64_t engine0:4;
2210 #else
2211 		uint64_t engine0:4;
2212 		uint64_t engine1:4;
2213 		uint64_t engine2:4;
2214 		uint64_t engine3:4;
2215 		uint64_t engine4:4;
2216 		uint64_t engine5:4;
2217 		uint64_t engine6:4;
2218 		uint64_t engine7:4;
2219 		uint64_t engine8:4;
2220 		uint64_t engine9:4;
2221 		uint64_t engine10:4;
2222 		uint64_t engine11:4;
2223 		uint64_t engine12:4;
2224 		uint64_t engine13:4;
2225 		uint64_t engine14:4;
2226 		uint64_t engine15:4;
2227 #endif
2228 	} s;
2229 	struct cvmx_pko_reg_engine_storagex_s cn68xx;
2230 	struct cvmx_pko_reg_engine_storagex_s cn68xxp1;
2231 };
2232 
2233 union cvmx_pko_reg_engine_thresh {
2234 	uint64_t u64;
2235 	struct cvmx_pko_reg_engine_thresh_s {
2236 #ifdef __BIG_ENDIAN_BITFIELD
2237 		uint64_t reserved_20_63:44;
2238 		uint64_t mask:20;
2239 #else
2240 		uint64_t mask:20;
2241 		uint64_t reserved_20_63:44;
2242 #endif
2243 	} s;
2244 	struct cvmx_pko_reg_engine_thresh_cn52xx {
2245 #ifdef __BIG_ENDIAN_BITFIELD
2246 		uint64_t reserved_10_63:54;
2247 		uint64_t mask:10;
2248 #else
2249 		uint64_t mask:10;
2250 		uint64_t reserved_10_63:54;
2251 #endif
2252 	} cn52xx;
2253 	struct cvmx_pko_reg_engine_thresh_cn52xx cn52xxp1;
2254 	struct cvmx_pko_reg_engine_thresh_cn52xx cn56xx;
2255 	struct cvmx_pko_reg_engine_thresh_cn52xx cn56xxp1;
2256 	struct cvmx_pko_reg_engine_thresh_cn61xx {
2257 #ifdef __BIG_ENDIAN_BITFIELD
2258 		uint64_t reserved_14_63:50;
2259 		uint64_t mask:14;
2260 #else
2261 		uint64_t mask:14;
2262 		uint64_t reserved_14_63:50;
2263 #endif
2264 	} cn61xx;
2265 	struct cvmx_pko_reg_engine_thresh_cn63xx {
2266 #ifdef __BIG_ENDIAN_BITFIELD
2267 		uint64_t reserved_12_63:52;
2268 		uint64_t mask:12;
2269 #else
2270 		uint64_t mask:12;
2271 		uint64_t reserved_12_63:52;
2272 #endif
2273 	} cn63xx;
2274 	struct cvmx_pko_reg_engine_thresh_cn63xx cn63xxp1;
2275 	struct cvmx_pko_reg_engine_thresh_cn61xx cn66xx;
2276 	struct cvmx_pko_reg_engine_thresh_s cn68xx;
2277 	struct cvmx_pko_reg_engine_thresh_s cn68xxp1;
2278 	struct cvmx_pko_reg_engine_thresh_cn61xx cnf71xx;
2279 };
2280 
2281 union cvmx_pko_reg_error {
2282 	uint64_t u64;
2283 	struct cvmx_pko_reg_error_s {
2284 #ifdef __BIG_ENDIAN_BITFIELD
2285 		uint64_t reserved_4_63:60;
2286 		uint64_t loopback:1;
2287 		uint64_t currzero:1;
2288 		uint64_t doorbell:1;
2289 		uint64_t parity:1;
2290 #else
2291 		uint64_t parity:1;
2292 		uint64_t doorbell:1;
2293 		uint64_t currzero:1;
2294 		uint64_t loopback:1;
2295 		uint64_t reserved_4_63:60;
2296 #endif
2297 	} s;
2298 	struct cvmx_pko_reg_error_cn30xx {
2299 #ifdef __BIG_ENDIAN_BITFIELD
2300 		uint64_t reserved_2_63:62;
2301 		uint64_t doorbell:1;
2302 		uint64_t parity:1;
2303 #else
2304 		uint64_t parity:1;
2305 		uint64_t doorbell:1;
2306 		uint64_t reserved_2_63:62;
2307 #endif
2308 	} cn30xx;
2309 	struct cvmx_pko_reg_error_cn30xx cn31xx;
2310 	struct cvmx_pko_reg_error_cn30xx cn38xx;
2311 	struct cvmx_pko_reg_error_cn30xx cn38xxp2;
2312 	struct cvmx_pko_reg_error_cn50xx {
2313 #ifdef __BIG_ENDIAN_BITFIELD
2314 		uint64_t reserved_3_63:61;
2315 		uint64_t currzero:1;
2316 		uint64_t doorbell:1;
2317 		uint64_t parity:1;
2318 #else
2319 		uint64_t parity:1;
2320 		uint64_t doorbell:1;
2321 		uint64_t currzero:1;
2322 		uint64_t reserved_3_63:61;
2323 #endif
2324 	} cn50xx;
2325 	struct cvmx_pko_reg_error_cn50xx cn52xx;
2326 	struct cvmx_pko_reg_error_cn50xx cn52xxp1;
2327 	struct cvmx_pko_reg_error_cn50xx cn56xx;
2328 	struct cvmx_pko_reg_error_cn50xx cn56xxp1;
2329 	struct cvmx_pko_reg_error_cn50xx cn58xx;
2330 	struct cvmx_pko_reg_error_cn50xx cn58xxp1;
2331 	struct cvmx_pko_reg_error_cn50xx cn61xx;
2332 	struct cvmx_pko_reg_error_cn50xx cn63xx;
2333 	struct cvmx_pko_reg_error_cn50xx cn63xxp1;
2334 	struct cvmx_pko_reg_error_cn50xx cn66xx;
2335 	struct cvmx_pko_reg_error_s cn68xx;
2336 	struct cvmx_pko_reg_error_s cn68xxp1;
2337 	struct cvmx_pko_reg_error_cn50xx cnf71xx;
2338 };
2339 
2340 union cvmx_pko_reg_flags {
2341 	uint64_t u64;
2342 	struct cvmx_pko_reg_flags_s {
2343 #ifdef __BIG_ENDIAN_BITFIELD
2344 		uint64_t reserved_9_63:55;
2345 		uint64_t dis_perf3:1;
2346 		uint64_t dis_perf2:1;
2347 		uint64_t dis_perf1:1;
2348 		uint64_t dis_perf0:1;
2349 		uint64_t ena_throttle:1;
2350 		uint64_t reset:1;
2351 		uint64_t store_be:1;
2352 		uint64_t ena_dwb:1;
2353 		uint64_t ena_pko:1;
2354 #else
2355 		uint64_t ena_pko:1;
2356 		uint64_t ena_dwb:1;
2357 		uint64_t store_be:1;
2358 		uint64_t reset:1;
2359 		uint64_t ena_throttle:1;
2360 		uint64_t dis_perf0:1;
2361 		uint64_t dis_perf1:1;
2362 		uint64_t dis_perf2:1;
2363 		uint64_t dis_perf3:1;
2364 		uint64_t reserved_9_63:55;
2365 #endif
2366 	} s;
2367 	struct cvmx_pko_reg_flags_cn30xx {
2368 #ifdef __BIG_ENDIAN_BITFIELD
2369 		uint64_t reserved_4_63:60;
2370 		uint64_t reset:1;
2371 		uint64_t store_be:1;
2372 		uint64_t ena_dwb:1;
2373 		uint64_t ena_pko:1;
2374 #else
2375 		uint64_t ena_pko:1;
2376 		uint64_t ena_dwb:1;
2377 		uint64_t store_be:1;
2378 		uint64_t reset:1;
2379 		uint64_t reserved_4_63:60;
2380 #endif
2381 	} cn30xx;
2382 	struct cvmx_pko_reg_flags_cn30xx cn31xx;
2383 	struct cvmx_pko_reg_flags_cn30xx cn38xx;
2384 	struct cvmx_pko_reg_flags_cn30xx cn38xxp2;
2385 	struct cvmx_pko_reg_flags_cn30xx cn50xx;
2386 	struct cvmx_pko_reg_flags_cn30xx cn52xx;
2387 	struct cvmx_pko_reg_flags_cn30xx cn52xxp1;
2388 	struct cvmx_pko_reg_flags_cn30xx cn56xx;
2389 	struct cvmx_pko_reg_flags_cn30xx cn56xxp1;
2390 	struct cvmx_pko_reg_flags_cn30xx cn58xx;
2391 	struct cvmx_pko_reg_flags_cn30xx cn58xxp1;
2392 	struct cvmx_pko_reg_flags_cn61xx {
2393 #ifdef __BIG_ENDIAN_BITFIELD
2394 		uint64_t reserved_9_63:55;
2395 		uint64_t dis_perf3:1;
2396 		uint64_t dis_perf2:1;
2397 		uint64_t reserved_4_6:3;
2398 		uint64_t reset:1;
2399 		uint64_t store_be:1;
2400 		uint64_t ena_dwb:1;
2401 		uint64_t ena_pko:1;
2402 #else
2403 		uint64_t ena_pko:1;
2404 		uint64_t ena_dwb:1;
2405 		uint64_t store_be:1;
2406 		uint64_t reset:1;
2407 		uint64_t reserved_4_6:3;
2408 		uint64_t dis_perf2:1;
2409 		uint64_t dis_perf3:1;
2410 		uint64_t reserved_9_63:55;
2411 #endif
2412 	} cn61xx;
2413 	struct cvmx_pko_reg_flags_cn30xx cn63xx;
2414 	struct cvmx_pko_reg_flags_cn30xx cn63xxp1;
2415 	struct cvmx_pko_reg_flags_cn61xx cn66xx;
2416 	struct cvmx_pko_reg_flags_s cn68xx;
2417 	struct cvmx_pko_reg_flags_cn68xxp1 {
2418 #ifdef __BIG_ENDIAN_BITFIELD
2419 		uint64_t reserved_7_63:57;
2420 		uint64_t dis_perf1:1;
2421 		uint64_t dis_perf0:1;
2422 		uint64_t ena_throttle:1;
2423 		uint64_t reset:1;
2424 		uint64_t store_be:1;
2425 		uint64_t ena_dwb:1;
2426 		uint64_t ena_pko:1;
2427 #else
2428 		uint64_t ena_pko:1;
2429 		uint64_t ena_dwb:1;
2430 		uint64_t store_be:1;
2431 		uint64_t reset:1;
2432 		uint64_t ena_throttle:1;
2433 		uint64_t dis_perf0:1;
2434 		uint64_t dis_perf1:1;
2435 		uint64_t reserved_7_63:57;
2436 #endif
2437 	} cn68xxp1;
2438 	struct cvmx_pko_reg_flags_cn61xx cnf71xx;
2439 };
2440 
2441 union cvmx_pko_reg_gmx_port_mode {
2442 	uint64_t u64;
2443 	struct cvmx_pko_reg_gmx_port_mode_s {
2444 #ifdef __BIG_ENDIAN_BITFIELD
2445 		uint64_t reserved_6_63:58;
2446 		uint64_t mode1:3;
2447 		uint64_t mode0:3;
2448 #else
2449 		uint64_t mode0:3;
2450 		uint64_t mode1:3;
2451 		uint64_t reserved_6_63:58;
2452 #endif
2453 	} s;
2454 	struct cvmx_pko_reg_gmx_port_mode_s cn30xx;
2455 	struct cvmx_pko_reg_gmx_port_mode_s cn31xx;
2456 	struct cvmx_pko_reg_gmx_port_mode_s cn38xx;
2457 	struct cvmx_pko_reg_gmx_port_mode_s cn38xxp2;
2458 	struct cvmx_pko_reg_gmx_port_mode_s cn50xx;
2459 	struct cvmx_pko_reg_gmx_port_mode_s cn52xx;
2460 	struct cvmx_pko_reg_gmx_port_mode_s cn52xxp1;
2461 	struct cvmx_pko_reg_gmx_port_mode_s cn56xx;
2462 	struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1;
2463 	struct cvmx_pko_reg_gmx_port_mode_s cn58xx;
2464 	struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1;
2465 	struct cvmx_pko_reg_gmx_port_mode_s cn61xx;
2466 	struct cvmx_pko_reg_gmx_port_mode_s cn63xx;
2467 	struct cvmx_pko_reg_gmx_port_mode_s cn63xxp1;
2468 	struct cvmx_pko_reg_gmx_port_mode_s cn66xx;
2469 	struct cvmx_pko_reg_gmx_port_mode_s cnf71xx;
2470 };
2471 
2472 union cvmx_pko_reg_int_mask {
2473 	uint64_t u64;
2474 	struct cvmx_pko_reg_int_mask_s {
2475 #ifdef __BIG_ENDIAN_BITFIELD
2476 		uint64_t reserved_4_63:60;
2477 		uint64_t loopback:1;
2478 		uint64_t currzero:1;
2479 		uint64_t doorbell:1;
2480 		uint64_t parity:1;
2481 #else
2482 		uint64_t parity:1;
2483 		uint64_t doorbell:1;
2484 		uint64_t currzero:1;
2485 		uint64_t loopback:1;
2486 		uint64_t reserved_4_63:60;
2487 #endif
2488 	} s;
2489 	struct cvmx_pko_reg_int_mask_cn30xx {
2490 #ifdef __BIG_ENDIAN_BITFIELD
2491 		uint64_t reserved_2_63:62;
2492 		uint64_t doorbell:1;
2493 		uint64_t parity:1;
2494 #else
2495 		uint64_t parity:1;
2496 		uint64_t doorbell:1;
2497 		uint64_t reserved_2_63:62;
2498 #endif
2499 	} cn30xx;
2500 	struct cvmx_pko_reg_int_mask_cn30xx cn31xx;
2501 	struct cvmx_pko_reg_int_mask_cn30xx cn38xx;
2502 	struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2;
2503 	struct cvmx_pko_reg_int_mask_cn50xx {
2504 #ifdef __BIG_ENDIAN_BITFIELD
2505 		uint64_t reserved_3_63:61;
2506 		uint64_t currzero:1;
2507 		uint64_t doorbell:1;
2508 		uint64_t parity:1;
2509 #else
2510 		uint64_t parity:1;
2511 		uint64_t doorbell:1;
2512 		uint64_t currzero:1;
2513 		uint64_t reserved_3_63:61;
2514 #endif
2515 	} cn50xx;
2516 	struct cvmx_pko_reg_int_mask_cn50xx cn52xx;
2517 	struct cvmx_pko_reg_int_mask_cn50xx cn52xxp1;
2518 	struct cvmx_pko_reg_int_mask_cn50xx cn56xx;
2519 	struct cvmx_pko_reg_int_mask_cn50xx cn56xxp1;
2520 	struct cvmx_pko_reg_int_mask_cn50xx cn58xx;
2521 	struct cvmx_pko_reg_int_mask_cn50xx cn58xxp1;
2522 	struct cvmx_pko_reg_int_mask_cn50xx cn61xx;
2523 	struct cvmx_pko_reg_int_mask_cn50xx cn63xx;
2524 	struct cvmx_pko_reg_int_mask_cn50xx cn63xxp1;
2525 	struct cvmx_pko_reg_int_mask_cn50xx cn66xx;
2526 	struct cvmx_pko_reg_int_mask_s cn68xx;
2527 	struct cvmx_pko_reg_int_mask_s cn68xxp1;
2528 	struct cvmx_pko_reg_int_mask_cn50xx cnf71xx;
2529 };
2530 
2531 union cvmx_pko_reg_loopback_bpid {
2532 	uint64_t u64;
2533 	struct cvmx_pko_reg_loopback_bpid_s {
2534 #ifdef __BIG_ENDIAN_BITFIELD
2535 		uint64_t reserved_59_63:5;
2536 		uint64_t bpid7:6;
2537 		uint64_t reserved_52_52:1;
2538 		uint64_t bpid6:6;
2539 		uint64_t reserved_45_45:1;
2540 		uint64_t bpid5:6;
2541 		uint64_t reserved_38_38:1;
2542 		uint64_t bpid4:6;
2543 		uint64_t reserved_31_31:1;
2544 		uint64_t bpid3:6;
2545 		uint64_t reserved_24_24:1;
2546 		uint64_t bpid2:6;
2547 		uint64_t reserved_17_17:1;
2548 		uint64_t bpid1:6;
2549 		uint64_t reserved_10_10:1;
2550 		uint64_t bpid0:6;
2551 		uint64_t reserved_0_3:4;
2552 #else
2553 		uint64_t reserved_0_3:4;
2554 		uint64_t bpid0:6;
2555 		uint64_t reserved_10_10:1;
2556 		uint64_t bpid1:6;
2557 		uint64_t reserved_17_17:1;
2558 		uint64_t bpid2:6;
2559 		uint64_t reserved_24_24:1;
2560 		uint64_t bpid3:6;
2561 		uint64_t reserved_31_31:1;
2562 		uint64_t bpid4:6;
2563 		uint64_t reserved_38_38:1;
2564 		uint64_t bpid5:6;
2565 		uint64_t reserved_45_45:1;
2566 		uint64_t bpid6:6;
2567 		uint64_t reserved_52_52:1;
2568 		uint64_t bpid7:6;
2569 		uint64_t reserved_59_63:5;
2570 #endif
2571 	} s;
2572 	struct cvmx_pko_reg_loopback_bpid_s cn68xx;
2573 	struct cvmx_pko_reg_loopback_bpid_s cn68xxp1;
2574 };
2575 
2576 union cvmx_pko_reg_loopback_pkind {
2577 	uint64_t u64;
2578 	struct cvmx_pko_reg_loopback_pkind_s {
2579 #ifdef __BIG_ENDIAN_BITFIELD
2580 		uint64_t reserved_59_63:5;
2581 		uint64_t pkind7:6;
2582 		uint64_t reserved_52_52:1;
2583 		uint64_t pkind6:6;
2584 		uint64_t reserved_45_45:1;
2585 		uint64_t pkind5:6;
2586 		uint64_t reserved_38_38:1;
2587 		uint64_t pkind4:6;
2588 		uint64_t reserved_31_31:1;
2589 		uint64_t pkind3:6;
2590 		uint64_t reserved_24_24:1;
2591 		uint64_t pkind2:6;
2592 		uint64_t reserved_17_17:1;
2593 		uint64_t pkind1:6;
2594 		uint64_t reserved_10_10:1;
2595 		uint64_t pkind0:6;
2596 		uint64_t num_ports:4;
2597 #else
2598 		uint64_t num_ports:4;
2599 		uint64_t pkind0:6;
2600 		uint64_t reserved_10_10:1;
2601 		uint64_t pkind1:6;
2602 		uint64_t reserved_17_17:1;
2603 		uint64_t pkind2:6;
2604 		uint64_t reserved_24_24:1;
2605 		uint64_t pkind3:6;
2606 		uint64_t reserved_31_31:1;
2607 		uint64_t pkind4:6;
2608 		uint64_t reserved_38_38:1;
2609 		uint64_t pkind5:6;
2610 		uint64_t reserved_45_45:1;
2611 		uint64_t pkind6:6;
2612 		uint64_t reserved_52_52:1;
2613 		uint64_t pkind7:6;
2614 		uint64_t reserved_59_63:5;
2615 #endif
2616 	} s;
2617 	struct cvmx_pko_reg_loopback_pkind_s cn68xx;
2618 	struct cvmx_pko_reg_loopback_pkind_s cn68xxp1;
2619 };
2620 
2621 union cvmx_pko_reg_min_pkt {
2622 	uint64_t u64;
2623 	struct cvmx_pko_reg_min_pkt_s {
2624 #ifdef __BIG_ENDIAN_BITFIELD
2625 		uint64_t size7:8;
2626 		uint64_t size6:8;
2627 		uint64_t size5:8;
2628 		uint64_t size4:8;
2629 		uint64_t size3:8;
2630 		uint64_t size2:8;
2631 		uint64_t size1:8;
2632 		uint64_t size0:8;
2633 #else
2634 		uint64_t size0:8;
2635 		uint64_t size1:8;
2636 		uint64_t size2:8;
2637 		uint64_t size3:8;
2638 		uint64_t size4:8;
2639 		uint64_t size5:8;
2640 		uint64_t size6:8;
2641 		uint64_t size7:8;
2642 #endif
2643 	} s;
2644 	struct cvmx_pko_reg_min_pkt_s cn68xx;
2645 	struct cvmx_pko_reg_min_pkt_s cn68xxp1;
2646 };
2647 
2648 union cvmx_pko_reg_preempt {
2649 	uint64_t u64;
2650 	struct cvmx_pko_reg_preempt_s {
2651 #ifdef __BIG_ENDIAN_BITFIELD
2652 		uint64_t reserved_16_63:48;
2653 		uint64_t min_size:16;
2654 #else
2655 		uint64_t min_size:16;
2656 		uint64_t reserved_16_63:48;
2657 #endif
2658 	} s;
2659 	struct cvmx_pko_reg_preempt_s cn52xx;
2660 	struct cvmx_pko_reg_preempt_s cn52xxp1;
2661 	struct cvmx_pko_reg_preempt_s cn56xx;
2662 	struct cvmx_pko_reg_preempt_s cn56xxp1;
2663 	struct cvmx_pko_reg_preempt_s cn61xx;
2664 	struct cvmx_pko_reg_preempt_s cn63xx;
2665 	struct cvmx_pko_reg_preempt_s cn63xxp1;
2666 	struct cvmx_pko_reg_preempt_s cn66xx;
2667 	struct cvmx_pko_reg_preempt_s cn68xx;
2668 	struct cvmx_pko_reg_preempt_s cn68xxp1;
2669 	struct cvmx_pko_reg_preempt_s cnf71xx;
2670 };
2671 
2672 union cvmx_pko_reg_queue_mode {
2673 	uint64_t u64;
2674 	struct cvmx_pko_reg_queue_mode_s {
2675 #ifdef __BIG_ENDIAN_BITFIELD
2676 		uint64_t reserved_2_63:62;
2677 		uint64_t mode:2;
2678 #else
2679 		uint64_t mode:2;
2680 		uint64_t reserved_2_63:62;
2681 #endif
2682 	} s;
2683 	struct cvmx_pko_reg_queue_mode_s cn30xx;
2684 	struct cvmx_pko_reg_queue_mode_s cn31xx;
2685 	struct cvmx_pko_reg_queue_mode_s cn38xx;
2686 	struct cvmx_pko_reg_queue_mode_s cn38xxp2;
2687 	struct cvmx_pko_reg_queue_mode_s cn50xx;
2688 	struct cvmx_pko_reg_queue_mode_s cn52xx;
2689 	struct cvmx_pko_reg_queue_mode_s cn52xxp1;
2690 	struct cvmx_pko_reg_queue_mode_s cn56xx;
2691 	struct cvmx_pko_reg_queue_mode_s cn56xxp1;
2692 	struct cvmx_pko_reg_queue_mode_s cn58xx;
2693 	struct cvmx_pko_reg_queue_mode_s cn58xxp1;
2694 	struct cvmx_pko_reg_queue_mode_s cn61xx;
2695 	struct cvmx_pko_reg_queue_mode_s cn63xx;
2696 	struct cvmx_pko_reg_queue_mode_s cn63xxp1;
2697 	struct cvmx_pko_reg_queue_mode_s cn66xx;
2698 	struct cvmx_pko_reg_queue_mode_s cn68xx;
2699 	struct cvmx_pko_reg_queue_mode_s cn68xxp1;
2700 	struct cvmx_pko_reg_queue_mode_s cnf71xx;
2701 };
2702 
2703 union cvmx_pko_reg_queue_preempt {
2704 	uint64_t u64;
2705 	struct cvmx_pko_reg_queue_preempt_s {
2706 #ifdef __BIG_ENDIAN_BITFIELD
2707 		uint64_t reserved_2_63:62;
2708 		uint64_t preemptee:1;
2709 		uint64_t preempter:1;
2710 #else
2711 		uint64_t preempter:1;
2712 		uint64_t preemptee:1;
2713 		uint64_t reserved_2_63:62;
2714 #endif
2715 	} s;
2716 	struct cvmx_pko_reg_queue_preempt_s cn52xx;
2717 	struct cvmx_pko_reg_queue_preempt_s cn52xxp1;
2718 	struct cvmx_pko_reg_queue_preempt_s cn56xx;
2719 	struct cvmx_pko_reg_queue_preempt_s cn56xxp1;
2720 	struct cvmx_pko_reg_queue_preempt_s cn61xx;
2721 	struct cvmx_pko_reg_queue_preempt_s cn63xx;
2722 	struct cvmx_pko_reg_queue_preempt_s cn63xxp1;
2723 	struct cvmx_pko_reg_queue_preempt_s cn66xx;
2724 	struct cvmx_pko_reg_queue_preempt_s cn68xx;
2725 	struct cvmx_pko_reg_queue_preempt_s cn68xxp1;
2726 	struct cvmx_pko_reg_queue_preempt_s cnf71xx;
2727 };
2728 
2729 union cvmx_pko_reg_queue_ptrs1 {
2730 	uint64_t u64;
2731 	struct cvmx_pko_reg_queue_ptrs1_s {
2732 #ifdef __BIG_ENDIAN_BITFIELD
2733 		uint64_t reserved_2_63:62;
2734 		uint64_t idx3:1;
2735 		uint64_t qid7:1;
2736 #else
2737 		uint64_t qid7:1;
2738 		uint64_t idx3:1;
2739 		uint64_t reserved_2_63:62;
2740 #endif
2741 	} s;
2742 	struct cvmx_pko_reg_queue_ptrs1_s cn50xx;
2743 	struct cvmx_pko_reg_queue_ptrs1_s cn52xx;
2744 	struct cvmx_pko_reg_queue_ptrs1_s cn52xxp1;
2745 	struct cvmx_pko_reg_queue_ptrs1_s cn56xx;
2746 	struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1;
2747 	struct cvmx_pko_reg_queue_ptrs1_s cn58xx;
2748 	struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1;
2749 	struct cvmx_pko_reg_queue_ptrs1_s cn61xx;
2750 	struct cvmx_pko_reg_queue_ptrs1_s cn63xx;
2751 	struct cvmx_pko_reg_queue_ptrs1_s cn63xxp1;
2752 	struct cvmx_pko_reg_queue_ptrs1_s cn66xx;
2753 	struct cvmx_pko_reg_queue_ptrs1_s cnf71xx;
2754 };
2755 
2756 union cvmx_pko_reg_read_idx {
2757 	uint64_t u64;
2758 	struct cvmx_pko_reg_read_idx_s {
2759 #ifdef __BIG_ENDIAN_BITFIELD
2760 		uint64_t reserved_16_63:48;
2761 		uint64_t inc:8;
2762 		uint64_t index:8;
2763 #else
2764 		uint64_t index:8;
2765 		uint64_t inc:8;
2766 		uint64_t reserved_16_63:48;
2767 #endif
2768 	} s;
2769 	struct cvmx_pko_reg_read_idx_s cn30xx;
2770 	struct cvmx_pko_reg_read_idx_s cn31xx;
2771 	struct cvmx_pko_reg_read_idx_s cn38xx;
2772 	struct cvmx_pko_reg_read_idx_s cn38xxp2;
2773 	struct cvmx_pko_reg_read_idx_s cn50xx;
2774 	struct cvmx_pko_reg_read_idx_s cn52xx;
2775 	struct cvmx_pko_reg_read_idx_s cn52xxp1;
2776 	struct cvmx_pko_reg_read_idx_s cn56xx;
2777 	struct cvmx_pko_reg_read_idx_s cn56xxp1;
2778 	struct cvmx_pko_reg_read_idx_s cn58xx;
2779 	struct cvmx_pko_reg_read_idx_s cn58xxp1;
2780 	struct cvmx_pko_reg_read_idx_s cn61xx;
2781 	struct cvmx_pko_reg_read_idx_s cn63xx;
2782 	struct cvmx_pko_reg_read_idx_s cn63xxp1;
2783 	struct cvmx_pko_reg_read_idx_s cn66xx;
2784 	struct cvmx_pko_reg_read_idx_s cn68xx;
2785 	struct cvmx_pko_reg_read_idx_s cn68xxp1;
2786 	struct cvmx_pko_reg_read_idx_s cnf71xx;
2787 };
2788 
2789 union cvmx_pko_reg_throttle {
2790 	uint64_t u64;
2791 	struct cvmx_pko_reg_throttle_s {
2792 #ifdef __BIG_ENDIAN_BITFIELD
2793 		uint64_t reserved_32_63:32;
2794 		uint64_t int_mask:32;
2795 #else
2796 		uint64_t int_mask:32;
2797 		uint64_t reserved_32_63:32;
2798 #endif
2799 	} s;
2800 	struct cvmx_pko_reg_throttle_s cn68xx;
2801 	struct cvmx_pko_reg_throttle_s cn68xxp1;
2802 };
2803 
2804 union cvmx_pko_reg_timestamp {
2805 	uint64_t u64;
2806 	struct cvmx_pko_reg_timestamp_s {
2807 #ifdef __BIG_ENDIAN_BITFIELD
2808 		uint64_t reserved_4_63:60;
2809 		uint64_t wqe_word:4;
2810 #else
2811 		uint64_t wqe_word:4;
2812 		uint64_t reserved_4_63:60;
2813 #endif
2814 	} s;
2815 	struct cvmx_pko_reg_timestamp_s cn61xx;
2816 	struct cvmx_pko_reg_timestamp_s cn63xx;
2817 	struct cvmx_pko_reg_timestamp_s cn63xxp1;
2818 	struct cvmx_pko_reg_timestamp_s cn66xx;
2819 	struct cvmx_pko_reg_timestamp_s cn68xx;
2820 	struct cvmx_pko_reg_timestamp_s cn68xxp1;
2821 	struct cvmx_pko_reg_timestamp_s cnf71xx;
2822 };
2823 
2824 #endif
2825