1 /***********************license start***************
2 * Author: Cavium Networks
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
7 * Copyright (c) 2003-2008 Cavium Networks
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
28 #ifndef __CVMX_PKO_DEFS_H__
29 #define __CVMX_PKO_DEFS_H__
31 #define CVMX_PKO_MEM_COUNT0 \
32 CVMX_ADD_IO_SEG(0x0001180050001080ull)
33 #define CVMX_PKO_MEM_COUNT1 \
34 CVMX_ADD_IO_SEG(0x0001180050001088ull)
35 #define CVMX_PKO_MEM_DEBUG0 \
36 CVMX_ADD_IO_SEG(0x0001180050001100ull)
37 #define CVMX_PKO_MEM_DEBUG1 \
38 CVMX_ADD_IO_SEG(0x0001180050001108ull)
39 #define CVMX_PKO_MEM_DEBUG10 \
40 CVMX_ADD_IO_SEG(0x0001180050001150ull)
41 #define CVMX_PKO_MEM_DEBUG11 \
42 CVMX_ADD_IO_SEG(0x0001180050001158ull)
43 #define CVMX_PKO_MEM_DEBUG12 \
44 CVMX_ADD_IO_SEG(0x0001180050001160ull)
45 #define CVMX_PKO_MEM_DEBUG13 \
46 CVMX_ADD_IO_SEG(0x0001180050001168ull)
47 #define CVMX_PKO_MEM_DEBUG14 \
48 CVMX_ADD_IO_SEG(0x0001180050001170ull)
49 #define CVMX_PKO_MEM_DEBUG2 \
50 CVMX_ADD_IO_SEG(0x0001180050001110ull)
51 #define CVMX_PKO_MEM_DEBUG3 \
52 CVMX_ADD_IO_SEG(0x0001180050001118ull)
53 #define CVMX_PKO_MEM_DEBUG4 \
54 CVMX_ADD_IO_SEG(0x0001180050001120ull)
55 #define CVMX_PKO_MEM_DEBUG5 \
56 CVMX_ADD_IO_SEG(0x0001180050001128ull)
57 #define CVMX_PKO_MEM_DEBUG6 \
58 CVMX_ADD_IO_SEG(0x0001180050001130ull)
59 #define CVMX_PKO_MEM_DEBUG7 \
60 CVMX_ADD_IO_SEG(0x0001180050001138ull)
61 #define CVMX_PKO_MEM_DEBUG8 \
62 CVMX_ADD_IO_SEG(0x0001180050001140ull)
63 #define CVMX_PKO_MEM_DEBUG9 \
64 CVMX_ADD_IO_SEG(0x0001180050001148ull)
65 #define CVMX_PKO_MEM_PORT_PTRS \
66 CVMX_ADD_IO_SEG(0x0001180050001010ull)
67 #define CVMX_PKO_MEM_PORT_QOS \
68 CVMX_ADD_IO_SEG(0x0001180050001018ull)
69 #define CVMX_PKO_MEM_PORT_RATE0 \
70 CVMX_ADD_IO_SEG(0x0001180050001020ull)
71 #define CVMX_PKO_MEM_PORT_RATE1 \
72 CVMX_ADD_IO_SEG(0x0001180050001028ull)
73 #define CVMX_PKO_MEM_QUEUE_PTRS \
74 CVMX_ADD_IO_SEG(0x0001180050001000ull)
75 #define CVMX_PKO_MEM_QUEUE_QOS \
76 CVMX_ADD_IO_SEG(0x0001180050001008ull)
77 #define CVMX_PKO_REG_BIST_RESULT \
78 CVMX_ADD_IO_SEG(0x0001180050000080ull)
79 #define CVMX_PKO_REG_CMD_BUF \
80 CVMX_ADD_IO_SEG(0x0001180050000010ull)
81 #define CVMX_PKO_REG_CRC_CTLX(offset) \
82 CVMX_ADD_IO_SEG(0x0001180050000028ull + (((offset) & 1) * 8))
83 #define CVMX_PKO_REG_CRC_ENABLE \
84 CVMX_ADD_IO_SEG(0x0001180050000020ull)
85 #define CVMX_PKO_REG_CRC_IVX(offset) \
86 CVMX_ADD_IO_SEG(0x0001180050000038ull + (((offset) & 1) * 8))
87 #define CVMX_PKO_REG_DEBUG0 \
88 CVMX_ADD_IO_SEG(0x0001180050000098ull)
89 #define CVMX_PKO_REG_DEBUG1 \
90 CVMX_ADD_IO_SEG(0x00011800500000A0ull)
91 #define CVMX_PKO_REG_DEBUG2 \
92 CVMX_ADD_IO_SEG(0x00011800500000A8ull)
93 #define CVMX_PKO_REG_DEBUG3 \
94 CVMX_ADD_IO_SEG(0x00011800500000B0ull)
95 #define CVMX_PKO_REG_ENGINE_INFLIGHT \
96 CVMX_ADD_IO_SEG(0x0001180050000050ull)
97 #define CVMX_PKO_REG_ENGINE_THRESH \
98 CVMX_ADD_IO_SEG(0x0001180050000058ull)
99 #define CVMX_PKO_REG_ERROR \
100 CVMX_ADD_IO_SEG(0x0001180050000088ull)
101 #define CVMX_PKO_REG_FLAGS \
102 CVMX_ADD_IO_SEG(0x0001180050000000ull)
103 #define CVMX_PKO_REG_GMX_PORT_MODE \
104 CVMX_ADD_IO_SEG(0x0001180050000018ull)
105 #define CVMX_PKO_REG_INT_MASK \
106 CVMX_ADD_IO_SEG(0x0001180050000090ull)
107 #define CVMX_PKO_REG_QUEUE_MODE \
108 CVMX_ADD_IO_SEG(0x0001180050000048ull)
109 #define CVMX_PKO_REG_QUEUE_PTRS1 \
110 CVMX_ADD_IO_SEG(0x0001180050000100ull)
111 #define CVMX_PKO_REG_READ_IDX \
112 CVMX_ADD_IO_SEG(0x0001180050000008ull)
114 union cvmx_pko_mem_count0
{
116 struct cvmx_pko_mem_count0_s
{
117 uint64_t reserved_32_63
:32;
120 struct cvmx_pko_mem_count0_s cn30xx
;
121 struct cvmx_pko_mem_count0_s cn31xx
;
122 struct cvmx_pko_mem_count0_s cn38xx
;
123 struct cvmx_pko_mem_count0_s cn38xxp2
;
124 struct cvmx_pko_mem_count0_s cn50xx
;
125 struct cvmx_pko_mem_count0_s cn52xx
;
126 struct cvmx_pko_mem_count0_s cn52xxp1
;
127 struct cvmx_pko_mem_count0_s cn56xx
;
128 struct cvmx_pko_mem_count0_s cn56xxp1
;
129 struct cvmx_pko_mem_count0_s cn58xx
;
130 struct cvmx_pko_mem_count0_s cn58xxp1
;
133 union cvmx_pko_mem_count1
{
135 struct cvmx_pko_mem_count1_s
{
136 uint64_t reserved_48_63
:16;
139 struct cvmx_pko_mem_count1_s cn30xx
;
140 struct cvmx_pko_mem_count1_s cn31xx
;
141 struct cvmx_pko_mem_count1_s cn38xx
;
142 struct cvmx_pko_mem_count1_s cn38xxp2
;
143 struct cvmx_pko_mem_count1_s cn50xx
;
144 struct cvmx_pko_mem_count1_s cn52xx
;
145 struct cvmx_pko_mem_count1_s cn52xxp1
;
146 struct cvmx_pko_mem_count1_s cn56xx
;
147 struct cvmx_pko_mem_count1_s cn56xxp1
;
148 struct cvmx_pko_mem_count1_s cn58xx
;
149 struct cvmx_pko_mem_count1_s cn58xxp1
;
152 union cvmx_pko_mem_debug0
{
154 struct cvmx_pko_mem_debug0_s
{
160 struct cvmx_pko_mem_debug0_s cn30xx
;
161 struct cvmx_pko_mem_debug0_s cn31xx
;
162 struct cvmx_pko_mem_debug0_s cn38xx
;
163 struct cvmx_pko_mem_debug0_s cn38xxp2
;
164 struct cvmx_pko_mem_debug0_s cn50xx
;
165 struct cvmx_pko_mem_debug0_s cn52xx
;
166 struct cvmx_pko_mem_debug0_s cn52xxp1
;
167 struct cvmx_pko_mem_debug0_s cn56xx
;
168 struct cvmx_pko_mem_debug0_s cn56xxp1
;
169 struct cvmx_pko_mem_debug0_s cn58xx
;
170 struct cvmx_pko_mem_debug0_s cn58xxp1
;
173 union cvmx_pko_mem_debug1
{
175 struct cvmx_pko_mem_debug1_s
{
182 struct cvmx_pko_mem_debug1_s cn30xx
;
183 struct cvmx_pko_mem_debug1_s cn31xx
;
184 struct cvmx_pko_mem_debug1_s cn38xx
;
185 struct cvmx_pko_mem_debug1_s cn38xxp2
;
186 struct cvmx_pko_mem_debug1_s cn50xx
;
187 struct cvmx_pko_mem_debug1_s cn52xx
;
188 struct cvmx_pko_mem_debug1_s cn52xxp1
;
189 struct cvmx_pko_mem_debug1_s cn56xx
;
190 struct cvmx_pko_mem_debug1_s cn56xxp1
;
191 struct cvmx_pko_mem_debug1_s cn58xx
;
192 struct cvmx_pko_mem_debug1_s cn58xxp1
;
195 union cvmx_pko_mem_debug10
{
197 struct cvmx_pko_mem_debug10_s
{
198 uint64_t reserved_0_63
:64;
200 struct cvmx_pko_mem_debug10_cn30xx
{
206 struct cvmx_pko_mem_debug10_cn30xx cn31xx
;
207 struct cvmx_pko_mem_debug10_cn30xx cn38xx
;
208 struct cvmx_pko_mem_debug10_cn30xx cn38xxp2
;
209 struct cvmx_pko_mem_debug10_cn50xx
{
210 uint64_t reserved_49_63
:15;
212 uint64_t reserved_17_31
:15;
215 struct cvmx_pko_mem_debug10_cn50xx cn52xx
;
216 struct cvmx_pko_mem_debug10_cn50xx cn52xxp1
;
217 struct cvmx_pko_mem_debug10_cn50xx cn56xx
;
218 struct cvmx_pko_mem_debug10_cn50xx cn56xxp1
;
219 struct cvmx_pko_mem_debug10_cn50xx cn58xx
;
220 struct cvmx_pko_mem_debug10_cn50xx cn58xxp1
;
223 union cvmx_pko_mem_debug11
{
225 struct cvmx_pko_mem_debug11_s
{
230 uint64_t reserved_0_39
:40;
232 struct cvmx_pko_mem_debug11_cn30xx
{
239 struct cvmx_pko_mem_debug11_cn30xx cn31xx
;
240 struct cvmx_pko_mem_debug11_cn30xx cn38xx
;
241 struct cvmx_pko_mem_debug11_cn30xx cn38xxp2
;
242 struct cvmx_pko_mem_debug11_cn50xx
{
243 uint64_t reserved_23_63
:41;
252 struct cvmx_pko_mem_debug11_cn50xx cn52xx
;
253 struct cvmx_pko_mem_debug11_cn50xx cn52xxp1
;
254 struct cvmx_pko_mem_debug11_cn50xx cn56xx
;
255 struct cvmx_pko_mem_debug11_cn50xx cn56xxp1
;
256 struct cvmx_pko_mem_debug11_cn50xx cn58xx
;
257 struct cvmx_pko_mem_debug11_cn50xx cn58xxp1
;
260 union cvmx_pko_mem_debug12
{
262 struct cvmx_pko_mem_debug12_s
{
263 uint64_t reserved_0_63
:64;
265 struct cvmx_pko_mem_debug12_cn30xx
{
268 struct cvmx_pko_mem_debug12_cn30xx cn31xx
;
269 struct cvmx_pko_mem_debug12_cn30xx cn38xx
;
270 struct cvmx_pko_mem_debug12_cn30xx cn38xxp2
;
271 struct cvmx_pko_mem_debug12_cn50xx
{
277 struct cvmx_pko_mem_debug12_cn50xx cn52xx
;
278 struct cvmx_pko_mem_debug12_cn50xx cn52xxp1
;
279 struct cvmx_pko_mem_debug12_cn50xx cn56xx
;
280 struct cvmx_pko_mem_debug12_cn50xx cn56xxp1
;
281 struct cvmx_pko_mem_debug12_cn50xx cn58xx
;
282 struct cvmx_pko_mem_debug12_cn50xx cn58xxp1
;
285 union cvmx_pko_mem_debug13
{
287 struct cvmx_pko_mem_debug13_s
{
291 uint64_t reserved_0_55
:56;
293 struct cvmx_pko_mem_debug13_cn30xx
{
294 uint64_t reserved_51_63
:13;
299 struct cvmx_pko_mem_debug13_cn30xx cn31xx
;
300 struct cvmx_pko_mem_debug13_cn30xx cn38xx
;
301 struct cvmx_pko_mem_debug13_cn30xx cn38xxp2
;
302 struct cvmx_pko_mem_debug13_cn50xx
{
309 struct cvmx_pko_mem_debug13_cn50xx cn52xx
;
310 struct cvmx_pko_mem_debug13_cn50xx cn52xxp1
;
311 struct cvmx_pko_mem_debug13_cn50xx cn56xx
;
312 struct cvmx_pko_mem_debug13_cn50xx cn56xxp1
;
313 struct cvmx_pko_mem_debug13_cn50xx cn58xx
;
314 struct cvmx_pko_mem_debug13_cn50xx cn58xxp1
;
317 union cvmx_pko_mem_debug14
{
319 struct cvmx_pko_mem_debug14_s
{
320 uint64_t reserved_0_63
:64;
322 struct cvmx_pko_mem_debug14_cn30xx
{
323 uint64_t reserved_17_63
:47;
326 struct cvmx_pko_mem_debug14_cn30xx cn31xx
;
327 struct cvmx_pko_mem_debug14_cn30xx cn38xx
;
328 struct cvmx_pko_mem_debug14_cn30xx cn38xxp2
;
329 struct cvmx_pko_mem_debug14_cn52xx
{
332 struct cvmx_pko_mem_debug14_cn52xx cn52xxp1
;
333 struct cvmx_pko_mem_debug14_cn52xx cn56xx
;
334 struct cvmx_pko_mem_debug14_cn52xx cn56xxp1
;
337 union cvmx_pko_mem_debug2
{
339 struct cvmx_pko_mem_debug2_s
{
346 struct cvmx_pko_mem_debug2_s cn30xx
;
347 struct cvmx_pko_mem_debug2_s cn31xx
;
348 struct cvmx_pko_mem_debug2_s cn38xx
;
349 struct cvmx_pko_mem_debug2_s cn38xxp2
;
350 struct cvmx_pko_mem_debug2_s cn50xx
;
351 struct cvmx_pko_mem_debug2_s cn52xx
;
352 struct cvmx_pko_mem_debug2_s cn52xxp1
;
353 struct cvmx_pko_mem_debug2_s cn56xx
;
354 struct cvmx_pko_mem_debug2_s cn56xxp1
;
355 struct cvmx_pko_mem_debug2_s cn58xx
;
356 struct cvmx_pko_mem_debug2_s cn58xxp1
;
359 union cvmx_pko_mem_debug3
{
361 struct cvmx_pko_mem_debug3_s
{
362 uint64_t reserved_0_63
:64;
364 struct cvmx_pko_mem_debug3_cn30xx
{
371 struct cvmx_pko_mem_debug3_cn30xx cn31xx
;
372 struct cvmx_pko_mem_debug3_cn30xx cn38xx
;
373 struct cvmx_pko_mem_debug3_cn30xx cn38xxp2
;
374 struct cvmx_pko_mem_debug3_cn50xx
{
377 struct cvmx_pko_mem_debug3_cn50xx cn52xx
;
378 struct cvmx_pko_mem_debug3_cn50xx cn52xxp1
;
379 struct cvmx_pko_mem_debug3_cn50xx cn56xx
;
380 struct cvmx_pko_mem_debug3_cn50xx cn56xxp1
;
381 struct cvmx_pko_mem_debug3_cn50xx cn58xx
;
382 struct cvmx_pko_mem_debug3_cn50xx cn58xxp1
;
385 union cvmx_pko_mem_debug4
{
387 struct cvmx_pko_mem_debug4_s
{
388 uint64_t reserved_0_63
:64;
390 struct cvmx_pko_mem_debug4_cn30xx
{
393 struct cvmx_pko_mem_debug4_cn30xx cn31xx
;
394 struct cvmx_pko_mem_debug4_cn30xx cn38xx
;
395 struct cvmx_pko_mem_debug4_cn30xx cn38xxp2
;
396 struct cvmx_pko_mem_debug4_cn50xx
{
397 uint64_t cmnd_segs
:3;
398 uint64_t cmnd_siz
:16;
401 uint64_t dread_sop
:1;
402 uint64_t init_dwrite
:1;
409 uint64_t qid_off_max
:4;
416 struct cvmx_pko_mem_debug4_cn52xx
{
418 uint64_t curr_off
:16;
419 uint64_t cmnd_segs
:6;
420 uint64_t cmnd_siz
:16;
423 uint64_t dread_sop
:1;
424 uint64_t init_dwrite
:1;
431 struct cvmx_pko_mem_debug4_cn52xx cn52xxp1
;
432 struct cvmx_pko_mem_debug4_cn52xx cn56xx
;
433 struct cvmx_pko_mem_debug4_cn52xx cn56xxp1
;
434 struct cvmx_pko_mem_debug4_cn50xx cn58xx
;
435 struct cvmx_pko_mem_debug4_cn50xx cn58xxp1
;
438 union cvmx_pko_mem_debug5
{
440 struct cvmx_pko_mem_debug5_s
{
441 uint64_t reserved_0_63
:64;
443 struct cvmx_pko_mem_debug5_cn30xx
{
447 uint64_t dwri_cnt
:13;
448 uint64_t cmnd_siz
:16;
453 uint64_t reserved_27_27
:1;
464 struct cvmx_pko_mem_debug5_cn30xx cn31xx
;
465 struct cvmx_pko_mem_debug5_cn30xx cn38xx
;
466 struct cvmx_pko_mem_debug5_cn30xx cn38xxp2
;
467 struct cvmx_pko_mem_debug5_cn50xx
{
468 uint64_t curr_ptr
:29;
469 uint64_t curr_siz
:16;
470 uint64_t curr_off
:16;
471 uint64_t cmnd_segs
:3;
473 struct cvmx_pko_mem_debug5_cn52xx
{
474 uint64_t reserved_54_63
:10;
475 uint64_t nxt_inflt
:6;
476 uint64_t curr_ptr
:40;
479 struct cvmx_pko_mem_debug5_cn52xx cn52xxp1
;
480 struct cvmx_pko_mem_debug5_cn52xx cn56xx
;
481 struct cvmx_pko_mem_debug5_cn52xx cn56xxp1
;
482 struct cvmx_pko_mem_debug5_cn50xx cn58xx
;
483 struct cvmx_pko_mem_debug5_cn50xx cn58xxp1
;
486 union cvmx_pko_mem_debug6
{
488 struct cvmx_pko_mem_debug6_s
{
489 uint64_t reserved_37_63
:27;
490 uint64_t qid_offres
:4;
491 uint64_t qid_offths
:4;
492 uint64_t preempter
:1;
493 uint64_t preemptee
:1;
494 uint64_t preempted
:1;
499 uint64_t qid_offmax
:4;
500 uint64_t reserved_0_11
:12;
502 struct cvmx_pko_mem_debug6_cn30xx
{
503 uint64_t reserved_11_63
:53;
511 struct cvmx_pko_mem_debug6_cn30xx cn31xx
;
512 struct cvmx_pko_mem_debug6_cn30xx cn38xx
;
513 struct cvmx_pko_mem_debug6_cn30xx cn38xxp2
;
514 struct cvmx_pko_mem_debug6_cn50xx
{
515 uint64_t reserved_11_63
:53;
516 uint64_t curr_ptr
:11;
518 struct cvmx_pko_mem_debug6_cn52xx
{
519 uint64_t reserved_37_63
:27;
520 uint64_t qid_offres
:4;
521 uint64_t qid_offths
:4;
522 uint64_t preempter
:1;
523 uint64_t preemptee
:1;
524 uint64_t preempted
:1;
529 uint64_t qid_offmax
:4;
533 struct cvmx_pko_mem_debug6_cn52xx cn52xxp1
;
534 struct cvmx_pko_mem_debug6_cn52xx cn56xx
;
535 struct cvmx_pko_mem_debug6_cn52xx cn56xxp1
;
536 struct cvmx_pko_mem_debug6_cn50xx cn58xx
;
537 struct cvmx_pko_mem_debug6_cn50xx cn58xxp1
;
540 union cvmx_pko_mem_debug7
{
542 struct cvmx_pko_mem_debug7_s
{
545 uint64_t reserved_0_57
:58;
547 struct cvmx_pko_mem_debug7_cn30xx
{
548 uint64_t reserved_58_63
:6;
553 struct cvmx_pko_mem_debug7_cn30xx cn31xx
;
554 struct cvmx_pko_mem_debug7_cn30xx cn38xx
;
555 struct cvmx_pko_mem_debug7_cn30xx cn38xxp2
;
556 struct cvmx_pko_mem_debug7_cn50xx
{
564 struct cvmx_pko_mem_debug7_cn50xx cn52xx
;
565 struct cvmx_pko_mem_debug7_cn50xx cn52xxp1
;
566 struct cvmx_pko_mem_debug7_cn50xx cn56xx
;
567 struct cvmx_pko_mem_debug7_cn50xx cn56xxp1
;
568 struct cvmx_pko_mem_debug7_cn50xx cn58xx
;
569 struct cvmx_pko_mem_debug7_cn50xx cn58xxp1
;
572 union cvmx_pko_mem_debug8
{
574 struct cvmx_pko_mem_debug8_s
{
575 uint64_t reserved_59_63
:5;
578 uint64_t reserved_0_44
:45;
580 struct cvmx_pko_mem_debug8_cn30xx
{
588 struct cvmx_pko_mem_debug8_cn30xx cn31xx
;
589 struct cvmx_pko_mem_debug8_cn30xx cn38xx
;
590 struct cvmx_pko_mem_debug8_cn30xx cn38xxp2
;
591 struct cvmx_pko_mem_debug8_cn50xx
{
592 uint64_t reserved_28_63
:36;
593 uint64_t doorbell
:20;
594 uint64_t reserved_6_7
:2;
600 struct cvmx_pko_mem_debug8_cn52xx
{
601 uint64_t reserved_29_63
:35;
602 uint64_t preempter
:1;
603 uint64_t doorbell
:20;
604 uint64_t reserved_7_7
:1;
605 uint64_t preemptee
:1;
611 struct cvmx_pko_mem_debug8_cn52xx cn52xxp1
;
612 struct cvmx_pko_mem_debug8_cn52xx cn56xx
;
613 struct cvmx_pko_mem_debug8_cn52xx cn56xxp1
;
614 struct cvmx_pko_mem_debug8_cn50xx cn58xx
;
615 struct cvmx_pko_mem_debug8_cn50xx cn58xxp1
;
618 union cvmx_pko_mem_debug9
{
620 struct cvmx_pko_mem_debug9_s
{
621 uint64_t reserved_49_63
:15;
623 uint64_t reserved_0_31
:32;
625 struct cvmx_pko_mem_debug9_cn30xx
{
626 uint64_t reserved_28_63
:36;
627 uint64_t doorbell
:20;
628 uint64_t reserved_5_7
:3;
633 struct cvmx_pko_mem_debug9_cn30xx cn31xx
;
634 struct cvmx_pko_mem_debug9_cn38xx
{
635 uint64_t reserved_28_63
:36;
636 uint64_t doorbell
:20;
637 uint64_t reserved_6_7
:2;
643 struct cvmx_pko_mem_debug9_cn38xx cn38xxp2
;
644 struct cvmx_pko_mem_debug9_cn50xx
{
645 uint64_t reserved_49_63
:15;
647 uint64_t reserved_17_31
:15;
650 struct cvmx_pko_mem_debug9_cn50xx cn52xx
;
651 struct cvmx_pko_mem_debug9_cn50xx cn52xxp1
;
652 struct cvmx_pko_mem_debug9_cn50xx cn56xx
;
653 struct cvmx_pko_mem_debug9_cn50xx cn56xxp1
;
654 struct cvmx_pko_mem_debug9_cn50xx cn58xx
;
655 struct cvmx_pko_mem_debug9_cn50xx cn58xxp1
;
658 union cvmx_pko_mem_port_ptrs
{
660 struct cvmx_pko_mem_port_ptrs_s
{
661 uint64_t reserved_62_63
:2;
664 uint64_t reserved_16_52
:37;
669 struct cvmx_pko_mem_port_ptrs_s cn52xx
;
670 struct cvmx_pko_mem_port_ptrs_s cn52xxp1
;
671 struct cvmx_pko_mem_port_ptrs_s cn56xx
;
672 struct cvmx_pko_mem_port_ptrs_s cn56xxp1
;
675 union cvmx_pko_mem_port_qos
{
677 struct cvmx_pko_mem_port_qos_s
{
678 uint64_t reserved_61_63
:3;
680 uint64_t reserved_10_52
:43;
684 struct cvmx_pko_mem_port_qos_s cn52xx
;
685 struct cvmx_pko_mem_port_qos_s cn52xxp1
;
686 struct cvmx_pko_mem_port_qos_s cn56xx
;
687 struct cvmx_pko_mem_port_qos_s cn56xxp1
;
690 union cvmx_pko_mem_port_rate0
{
692 struct cvmx_pko_mem_port_rate0_s
{
693 uint64_t reserved_51_63
:13;
694 uint64_t rate_word
:19;
695 uint64_t rate_pkt
:24;
696 uint64_t reserved_6_7
:2;
699 struct cvmx_pko_mem_port_rate0_s cn52xx
;
700 struct cvmx_pko_mem_port_rate0_s cn52xxp1
;
701 struct cvmx_pko_mem_port_rate0_s cn56xx
;
702 struct cvmx_pko_mem_port_rate0_s cn56xxp1
;
705 union cvmx_pko_mem_port_rate1
{
707 struct cvmx_pko_mem_port_rate1_s
{
708 uint64_t reserved_32_63
:32;
709 uint64_t rate_lim
:24;
710 uint64_t reserved_6_7
:2;
713 struct cvmx_pko_mem_port_rate1_s cn52xx
;
714 struct cvmx_pko_mem_port_rate1_s cn52xxp1
;
715 struct cvmx_pko_mem_port_rate1_s cn56xx
;
716 struct cvmx_pko_mem_port_rate1_s cn56xxp1
;
719 union cvmx_pko_mem_queue_ptrs
{
721 struct cvmx_pko_mem_queue_ptrs_s
{
732 struct cvmx_pko_mem_queue_ptrs_s cn30xx
;
733 struct cvmx_pko_mem_queue_ptrs_s cn31xx
;
734 struct cvmx_pko_mem_queue_ptrs_s cn38xx
;
735 struct cvmx_pko_mem_queue_ptrs_s cn38xxp2
;
736 struct cvmx_pko_mem_queue_ptrs_s cn50xx
;
737 struct cvmx_pko_mem_queue_ptrs_s cn52xx
;
738 struct cvmx_pko_mem_queue_ptrs_s cn52xxp1
;
739 struct cvmx_pko_mem_queue_ptrs_s cn56xx
;
740 struct cvmx_pko_mem_queue_ptrs_s cn56xxp1
;
741 struct cvmx_pko_mem_queue_ptrs_s cn58xx
;
742 struct cvmx_pko_mem_queue_ptrs_s cn58xxp1
;
745 union cvmx_pko_mem_queue_qos
{
747 struct cvmx_pko_mem_queue_qos_s
{
748 uint64_t reserved_61_63
:3;
750 uint64_t reserved_13_52
:40;
754 struct cvmx_pko_mem_queue_qos_s cn30xx
;
755 struct cvmx_pko_mem_queue_qos_s cn31xx
;
756 struct cvmx_pko_mem_queue_qos_s cn38xx
;
757 struct cvmx_pko_mem_queue_qos_s cn38xxp2
;
758 struct cvmx_pko_mem_queue_qos_s cn50xx
;
759 struct cvmx_pko_mem_queue_qos_s cn52xx
;
760 struct cvmx_pko_mem_queue_qos_s cn52xxp1
;
761 struct cvmx_pko_mem_queue_qos_s cn56xx
;
762 struct cvmx_pko_mem_queue_qos_s cn56xxp1
;
763 struct cvmx_pko_mem_queue_qos_s cn58xx
;
764 struct cvmx_pko_mem_queue_qos_s cn58xxp1
;
767 union cvmx_pko_reg_bist_result
{
769 struct cvmx_pko_reg_bist_result_s
{
770 uint64_t reserved_0_63
:64;
772 struct cvmx_pko_reg_bist_result_cn30xx
{
773 uint64_t reserved_27_63
:37;
787 struct cvmx_pko_reg_bist_result_cn30xx cn31xx
;
788 struct cvmx_pko_reg_bist_result_cn30xx cn38xx
;
789 struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2
;
790 struct cvmx_pko_reg_bist_result_cn50xx
{
791 uint64_t reserved_33_63
:31;
807 struct cvmx_pko_reg_bist_result_cn52xx
{
808 uint64_t reserved_35_63
:29;
825 struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1
;
826 struct cvmx_pko_reg_bist_result_cn52xx cn56xx
;
827 struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1
;
828 struct cvmx_pko_reg_bist_result_cn50xx cn58xx
;
829 struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1
;
832 union cvmx_pko_reg_cmd_buf
{
834 struct cvmx_pko_reg_cmd_buf_s
{
835 uint64_t reserved_23_63
:41;
837 uint64_t reserved_13_19
:7;
840 struct cvmx_pko_reg_cmd_buf_s cn30xx
;
841 struct cvmx_pko_reg_cmd_buf_s cn31xx
;
842 struct cvmx_pko_reg_cmd_buf_s cn38xx
;
843 struct cvmx_pko_reg_cmd_buf_s cn38xxp2
;
844 struct cvmx_pko_reg_cmd_buf_s cn50xx
;
845 struct cvmx_pko_reg_cmd_buf_s cn52xx
;
846 struct cvmx_pko_reg_cmd_buf_s cn52xxp1
;
847 struct cvmx_pko_reg_cmd_buf_s cn56xx
;
848 struct cvmx_pko_reg_cmd_buf_s cn56xxp1
;
849 struct cvmx_pko_reg_cmd_buf_s cn58xx
;
850 struct cvmx_pko_reg_cmd_buf_s cn58xxp1
;
853 union cvmx_pko_reg_crc_ctlx
{
855 struct cvmx_pko_reg_crc_ctlx_s
{
856 uint64_t reserved_2_63
:62;
860 struct cvmx_pko_reg_crc_ctlx_s cn38xx
;
861 struct cvmx_pko_reg_crc_ctlx_s cn38xxp2
;
862 struct cvmx_pko_reg_crc_ctlx_s cn58xx
;
863 struct cvmx_pko_reg_crc_ctlx_s cn58xxp1
;
866 union cvmx_pko_reg_crc_enable
{
868 struct cvmx_pko_reg_crc_enable_s
{
869 uint64_t reserved_32_63
:32;
872 struct cvmx_pko_reg_crc_enable_s cn38xx
;
873 struct cvmx_pko_reg_crc_enable_s cn38xxp2
;
874 struct cvmx_pko_reg_crc_enable_s cn58xx
;
875 struct cvmx_pko_reg_crc_enable_s cn58xxp1
;
878 union cvmx_pko_reg_crc_ivx
{
880 struct cvmx_pko_reg_crc_ivx_s
{
881 uint64_t reserved_32_63
:32;
884 struct cvmx_pko_reg_crc_ivx_s cn38xx
;
885 struct cvmx_pko_reg_crc_ivx_s cn38xxp2
;
886 struct cvmx_pko_reg_crc_ivx_s cn58xx
;
887 struct cvmx_pko_reg_crc_ivx_s cn58xxp1
;
890 union cvmx_pko_reg_debug0
{
892 struct cvmx_pko_reg_debug0_s
{
895 struct cvmx_pko_reg_debug0_cn30xx
{
896 uint64_t reserved_17_63
:47;
899 struct cvmx_pko_reg_debug0_cn30xx cn31xx
;
900 struct cvmx_pko_reg_debug0_cn30xx cn38xx
;
901 struct cvmx_pko_reg_debug0_cn30xx cn38xxp2
;
902 struct cvmx_pko_reg_debug0_s cn50xx
;
903 struct cvmx_pko_reg_debug0_s cn52xx
;
904 struct cvmx_pko_reg_debug0_s cn52xxp1
;
905 struct cvmx_pko_reg_debug0_s cn56xx
;
906 struct cvmx_pko_reg_debug0_s cn56xxp1
;
907 struct cvmx_pko_reg_debug0_s cn58xx
;
908 struct cvmx_pko_reg_debug0_s cn58xxp1
;
911 union cvmx_pko_reg_debug1
{
913 struct cvmx_pko_reg_debug1_s
{
916 struct cvmx_pko_reg_debug1_s cn50xx
;
917 struct cvmx_pko_reg_debug1_s cn52xx
;
918 struct cvmx_pko_reg_debug1_s cn52xxp1
;
919 struct cvmx_pko_reg_debug1_s cn56xx
;
920 struct cvmx_pko_reg_debug1_s cn56xxp1
;
921 struct cvmx_pko_reg_debug1_s cn58xx
;
922 struct cvmx_pko_reg_debug1_s cn58xxp1
;
925 union cvmx_pko_reg_debug2
{
927 struct cvmx_pko_reg_debug2_s
{
930 struct cvmx_pko_reg_debug2_s cn50xx
;
931 struct cvmx_pko_reg_debug2_s cn52xx
;
932 struct cvmx_pko_reg_debug2_s cn52xxp1
;
933 struct cvmx_pko_reg_debug2_s cn56xx
;
934 struct cvmx_pko_reg_debug2_s cn56xxp1
;
935 struct cvmx_pko_reg_debug2_s cn58xx
;
936 struct cvmx_pko_reg_debug2_s cn58xxp1
;
939 union cvmx_pko_reg_debug3
{
941 struct cvmx_pko_reg_debug3_s
{
944 struct cvmx_pko_reg_debug3_s cn50xx
;
945 struct cvmx_pko_reg_debug3_s cn52xx
;
946 struct cvmx_pko_reg_debug3_s cn52xxp1
;
947 struct cvmx_pko_reg_debug3_s cn56xx
;
948 struct cvmx_pko_reg_debug3_s cn56xxp1
;
949 struct cvmx_pko_reg_debug3_s cn58xx
;
950 struct cvmx_pko_reg_debug3_s cn58xxp1
;
953 union cvmx_pko_reg_engine_inflight
{
955 struct cvmx_pko_reg_engine_inflight_s
{
956 uint64_t reserved_40_63
:24;
968 struct cvmx_pko_reg_engine_inflight_s cn52xx
;
969 struct cvmx_pko_reg_engine_inflight_s cn52xxp1
;
970 struct cvmx_pko_reg_engine_inflight_s cn56xx
;
971 struct cvmx_pko_reg_engine_inflight_s cn56xxp1
;
974 union cvmx_pko_reg_engine_thresh
{
976 struct cvmx_pko_reg_engine_thresh_s
{
977 uint64_t reserved_10_63
:54;
980 struct cvmx_pko_reg_engine_thresh_s cn52xx
;
981 struct cvmx_pko_reg_engine_thresh_s cn52xxp1
;
982 struct cvmx_pko_reg_engine_thresh_s cn56xx
;
983 struct cvmx_pko_reg_engine_thresh_s cn56xxp1
;
986 union cvmx_pko_reg_error
{
988 struct cvmx_pko_reg_error_s
{
989 uint64_t reserved_3_63
:61;
994 struct cvmx_pko_reg_error_cn30xx
{
995 uint64_t reserved_2_63
:62;
999 struct cvmx_pko_reg_error_cn30xx cn31xx
;
1000 struct cvmx_pko_reg_error_cn30xx cn38xx
;
1001 struct cvmx_pko_reg_error_cn30xx cn38xxp2
;
1002 struct cvmx_pko_reg_error_s cn50xx
;
1003 struct cvmx_pko_reg_error_s cn52xx
;
1004 struct cvmx_pko_reg_error_s cn52xxp1
;
1005 struct cvmx_pko_reg_error_s cn56xx
;
1006 struct cvmx_pko_reg_error_s cn56xxp1
;
1007 struct cvmx_pko_reg_error_s cn58xx
;
1008 struct cvmx_pko_reg_error_s cn58xxp1
;
1011 union cvmx_pko_reg_flags
{
1013 struct cvmx_pko_reg_flags_s
{
1014 uint64_t reserved_4_63
:60;
1016 uint64_t store_be
:1;
1020 struct cvmx_pko_reg_flags_s cn30xx
;
1021 struct cvmx_pko_reg_flags_s cn31xx
;
1022 struct cvmx_pko_reg_flags_s cn38xx
;
1023 struct cvmx_pko_reg_flags_s cn38xxp2
;
1024 struct cvmx_pko_reg_flags_s cn50xx
;
1025 struct cvmx_pko_reg_flags_s cn52xx
;
1026 struct cvmx_pko_reg_flags_s cn52xxp1
;
1027 struct cvmx_pko_reg_flags_s cn56xx
;
1028 struct cvmx_pko_reg_flags_s cn56xxp1
;
1029 struct cvmx_pko_reg_flags_s cn58xx
;
1030 struct cvmx_pko_reg_flags_s cn58xxp1
;
1033 union cvmx_pko_reg_gmx_port_mode
{
1035 struct cvmx_pko_reg_gmx_port_mode_s
{
1036 uint64_t reserved_6_63
:58;
1040 struct cvmx_pko_reg_gmx_port_mode_s cn30xx
;
1041 struct cvmx_pko_reg_gmx_port_mode_s cn31xx
;
1042 struct cvmx_pko_reg_gmx_port_mode_s cn38xx
;
1043 struct cvmx_pko_reg_gmx_port_mode_s cn38xxp2
;
1044 struct cvmx_pko_reg_gmx_port_mode_s cn50xx
;
1045 struct cvmx_pko_reg_gmx_port_mode_s cn52xx
;
1046 struct cvmx_pko_reg_gmx_port_mode_s cn52xxp1
;
1047 struct cvmx_pko_reg_gmx_port_mode_s cn56xx
;
1048 struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1
;
1049 struct cvmx_pko_reg_gmx_port_mode_s cn58xx
;
1050 struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1
;
1053 union cvmx_pko_reg_int_mask
{
1055 struct cvmx_pko_reg_int_mask_s
{
1056 uint64_t reserved_3_63
:61;
1057 uint64_t currzero
:1;
1058 uint64_t doorbell
:1;
1061 struct cvmx_pko_reg_int_mask_cn30xx
{
1062 uint64_t reserved_2_63
:62;
1063 uint64_t doorbell
:1;
1066 struct cvmx_pko_reg_int_mask_cn30xx cn31xx
;
1067 struct cvmx_pko_reg_int_mask_cn30xx cn38xx
;
1068 struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2
;
1069 struct cvmx_pko_reg_int_mask_s cn50xx
;
1070 struct cvmx_pko_reg_int_mask_s cn52xx
;
1071 struct cvmx_pko_reg_int_mask_s cn52xxp1
;
1072 struct cvmx_pko_reg_int_mask_s cn56xx
;
1073 struct cvmx_pko_reg_int_mask_s cn56xxp1
;
1074 struct cvmx_pko_reg_int_mask_s cn58xx
;
1075 struct cvmx_pko_reg_int_mask_s cn58xxp1
;
1078 union cvmx_pko_reg_queue_mode
{
1080 struct cvmx_pko_reg_queue_mode_s
{
1081 uint64_t reserved_2_63
:62;
1084 struct cvmx_pko_reg_queue_mode_s cn30xx
;
1085 struct cvmx_pko_reg_queue_mode_s cn31xx
;
1086 struct cvmx_pko_reg_queue_mode_s cn38xx
;
1087 struct cvmx_pko_reg_queue_mode_s cn38xxp2
;
1088 struct cvmx_pko_reg_queue_mode_s cn50xx
;
1089 struct cvmx_pko_reg_queue_mode_s cn52xx
;
1090 struct cvmx_pko_reg_queue_mode_s cn52xxp1
;
1091 struct cvmx_pko_reg_queue_mode_s cn56xx
;
1092 struct cvmx_pko_reg_queue_mode_s cn56xxp1
;
1093 struct cvmx_pko_reg_queue_mode_s cn58xx
;
1094 struct cvmx_pko_reg_queue_mode_s cn58xxp1
;
1097 union cvmx_pko_reg_queue_ptrs1
{
1099 struct cvmx_pko_reg_queue_ptrs1_s
{
1100 uint64_t reserved_2_63
:62;
1104 struct cvmx_pko_reg_queue_ptrs1_s cn50xx
;
1105 struct cvmx_pko_reg_queue_ptrs1_s cn52xx
;
1106 struct cvmx_pko_reg_queue_ptrs1_s cn52xxp1
;
1107 struct cvmx_pko_reg_queue_ptrs1_s cn56xx
;
1108 struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1
;
1109 struct cvmx_pko_reg_queue_ptrs1_s cn58xx
;
1110 struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1
;
1113 union cvmx_pko_reg_read_idx
{
1115 struct cvmx_pko_reg_read_idx_s
{
1116 uint64_t reserved_16_63
:48;
1120 struct cvmx_pko_reg_read_idx_s cn30xx
;
1121 struct cvmx_pko_reg_read_idx_s cn31xx
;
1122 struct cvmx_pko_reg_read_idx_s cn38xx
;
1123 struct cvmx_pko_reg_read_idx_s cn38xxp2
;
1124 struct cvmx_pko_reg_read_idx_s cn50xx
;
1125 struct cvmx_pko_reg_read_idx_s cn52xx
;
1126 struct cvmx_pko_reg_read_idx_s cn52xxp1
;
1127 struct cvmx_pko_reg_read_idx_s cn56xx
;
1128 struct cvmx_pko_reg_read_idx_s cn56xxp1
;
1129 struct cvmx_pko_reg_read_idx_s cn58xx
;
1130 struct cvmx_pko_reg_read_idx_s cn58xxp1
;