1 /***********************license start***************
2 * Author: Cavium Networks
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
7 * Copyright (c) 2003-2010 Cavium Networks
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
28 #ifndef __CVMX_IPD_DEFS_H__
29 #define __CVMX_IPD_DEFS_H__
31 #define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull))
32 #define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
33 #define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
34 #define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull))
35 #define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
36 #define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
37 #define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull))
38 #define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
39 #define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull))
40 #define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull))
41 #define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
42 #define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
43 #define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
44 #define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
45 #define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
46 #define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
47 #define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40)
48 #define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8)
49 #define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
50 #define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
51 #define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8)
52 #define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
53 #define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
54 #define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
55 #define CVMX_IPD_PWP_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000340ull))
56 #define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0)
57 #define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1)
58 #define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2)
59 #define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3)
60 #define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4)
61 #define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5)
62 #define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6)
63 #define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
64 #define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
65 #define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull))
66 #define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
67 #define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
68 #define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
69 #define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1)
70 #define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2)
71 #define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3)
72 #define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4)
73 #define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5)
74 #define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
75 #define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
76 #define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8)
77 #define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
78 #define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
79 #define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
80 #define CVMX_IPD_WQE_FPA_QUEUE (CVMX_ADD_IO_SEG(0x00014F0000000020ull))
81 #define CVMX_IPD_WQE_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000360ull))
83 union cvmx_ipd_1st_mbuff_skip {
85 struct cvmx_ipd_1st_mbuff_skip_s {
86 uint64_t reserved_6_63:58;
89 struct cvmx_ipd_1st_mbuff_skip_s cn30xx;
90 struct cvmx_ipd_1st_mbuff_skip_s cn31xx;
91 struct cvmx_ipd_1st_mbuff_skip_s cn38xx;
92 struct cvmx_ipd_1st_mbuff_skip_s cn38xxp2;
93 struct cvmx_ipd_1st_mbuff_skip_s cn50xx;
94 struct cvmx_ipd_1st_mbuff_skip_s cn52xx;
95 struct cvmx_ipd_1st_mbuff_skip_s cn52xxp1;
96 struct cvmx_ipd_1st_mbuff_skip_s cn56xx;
97 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1;
98 struct cvmx_ipd_1st_mbuff_skip_s cn58xx;
99 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1;
100 struct cvmx_ipd_1st_mbuff_skip_s cn63xx;
101 struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1;
104 union cvmx_ipd_1st_next_ptr_back {
106 struct cvmx_ipd_1st_next_ptr_back_s {
107 uint64_t reserved_4_63:60;
110 struct cvmx_ipd_1st_next_ptr_back_s cn30xx;
111 struct cvmx_ipd_1st_next_ptr_back_s cn31xx;
112 struct cvmx_ipd_1st_next_ptr_back_s cn38xx;
113 struct cvmx_ipd_1st_next_ptr_back_s cn38xxp2;
114 struct cvmx_ipd_1st_next_ptr_back_s cn50xx;
115 struct cvmx_ipd_1st_next_ptr_back_s cn52xx;
116 struct cvmx_ipd_1st_next_ptr_back_s cn52xxp1;
117 struct cvmx_ipd_1st_next_ptr_back_s cn56xx;
118 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1;
119 struct cvmx_ipd_1st_next_ptr_back_s cn58xx;
120 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1;
121 struct cvmx_ipd_1st_next_ptr_back_s cn63xx;
122 struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1;
125 union cvmx_ipd_2nd_next_ptr_back {
127 struct cvmx_ipd_2nd_next_ptr_back_s {
128 uint64_t reserved_4_63:60;
131 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx;
132 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx;
133 struct cvmx_ipd_2nd_next_ptr_back_s cn38xx;
134 struct cvmx_ipd_2nd_next_ptr_back_s cn38xxp2;
135 struct cvmx_ipd_2nd_next_ptr_back_s cn50xx;
136 struct cvmx_ipd_2nd_next_ptr_back_s cn52xx;
137 struct cvmx_ipd_2nd_next_ptr_back_s cn52xxp1;
138 struct cvmx_ipd_2nd_next_ptr_back_s cn56xx;
139 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1;
140 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx;
141 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1;
142 struct cvmx_ipd_2nd_next_ptr_back_s cn63xx;
143 struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1;
146 union cvmx_ipd_bist_status {
148 struct cvmx_ipd_bist_status_s {
149 uint64_t reserved_18_63:46;
169 struct cvmx_ipd_bist_status_cn30xx {
170 uint64_t reserved_16_63:48;
188 struct cvmx_ipd_bist_status_cn30xx cn31xx;
189 struct cvmx_ipd_bist_status_cn30xx cn38xx;
190 struct cvmx_ipd_bist_status_cn30xx cn38xxp2;
191 struct cvmx_ipd_bist_status_cn30xx cn50xx;
192 struct cvmx_ipd_bist_status_s cn52xx;
193 struct cvmx_ipd_bist_status_s cn52xxp1;
194 struct cvmx_ipd_bist_status_s cn56xx;
195 struct cvmx_ipd_bist_status_s cn56xxp1;
196 struct cvmx_ipd_bist_status_cn30xx cn58xx;
197 struct cvmx_ipd_bist_status_cn30xx cn58xxp1;
198 struct cvmx_ipd_bist_status_s cn63xx;
199 struct cvmx_ipd_bist_status_s cn63xxp1;
202 union cvmx_ipd_bp_prt_red_end {
204 struct cvmx_ipd_bp_prt_red_end_s {
205 uint64_t reserved_44_63:20;
208 struct cvmx_ipd_bp_prt_red_end_cn30xx {
209 uint64_t reserved_36_63:28;
212 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx;
213 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx;
214 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2;
215 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx;
216 struct cvmx_ipd_bp_prt_red_end_cn52xx {
217 uint64_t reserved_40_63:24;
220 struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1;
221 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx;
222 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1;
223 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx;
224 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1;
225 struct cvmx_ipd_bp_prt_red_end_s cn63xx;
226 struct cvmx_ipd_bp_prt_red_end_s cn63xxp1;
229 union cvmx_ipd_clk_count {
231 struct cvmx_ipd_clk_count_s {
234 struct cvmx_ipd_clk_count_s cn30xx;
235 struct cvmx_ipd_clk_count_s cn31xx;
236 struct cvmx_ipd_clk_count_s cn38xx;
237 struct cvmx_ipd_clk_count_s cn38xxp2;
238 struct cvmx_ipd_clk_count_s cn50xx;
239 struct cvmx_ipd_clk_count_s cn52xx;
240 struct cvmx_ipd_clk_count_s cn52xxp1;
241 struct cvmx_ipd_clk_count_s cn56xx;
242 struct cvmx_ipd_clk_count_s cn56xxp1;
243 struct cvmx_ipd_clk_count_s cn58xx;
244 struct cvmx_ipd_clk_count_s cn58xxp1;
245 struct cvmx_ipd_clk_count_s cn63xx;
246 struct cvmx_ipd_clk_count_s cn63xxp1;
249 union cvmx_ipd_ctl_status {
251 struct cvmx_ipd_ctl_status_s {
252 uint64_t reserved_18_63:46;
271 struct cvmx_ipd_ctl_status_cn30xx {
272 uint64_t reserved_10_63:54;
283 struct cvmx_ipd_ctl_status_cn30xx cn31xx;
284 struct cvmx_ipd_ctl_status_cn30xx cn38xx;
285 struct cvmx_ipd_ctl_status_cn38xxp2 {
286 uint64_t reserved_9_63:55;
296 struct cvmx_ipd_ctl_status_cn50xx {
297 uint64_t reserved_15_63:49;
313 struct cvmx_ipd_ctl_status_cn50xx cn52xx;
314 struct cvmx_ipd_ctl_status_cn50xx cn52xxp1;
315 struct cvmx_ipd_ctl_status_cn50xx cn56xx;
316 struct cvmx_ipd_ctl_status_cn50xx cn56xxp1;
317 struct cvmx_ipd_ctl_status_cn58xx {
318 uint64_t reserved_12_63:52;
331 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1;
332 struct cvmx_ipd_ctl_status_s cn63xx;
333 struct cvmx_ipd_ctl_status_cn63xxp1 {
334 uint64_t reserved_16_63:48;
353 union cvmx_ipd_int_enb {
355 struct cvmx_ipd_int_enb_s {
356 uint64_t reserved_12_63:52;
370 struct cvmx_ipd_int_enb_cn30xx {
371 uint64_t reserved_5_63:59;
378 struct cvmx_ipd_int_enb_cn30xx cn31xx;
379 struct cvmx_ipd_int_enb_cn38xx {
380 uint64_t reserved_10_63:54;
392 struct cvmx_ipd_int_enb_cn30xx cn38xxp2;
393 struct cvmx_ipd_int_enb_cn38xx cn50xx;
394 struct cvmx_ipd_int_enb_s cn52xx;
395 struct cvmx_ipd_int_enb_s cn52xxp1;
396 struct cvmx_ipd_int_enb_s cn56xx;
397 struct cvmx_ipd_int_enb_s cn56xxp1;
398 struct cvmx_ipd_int_enb_cn38xx cn58xx;
399 struct cvmx_ipd_int_enb_cn38xx cn58xxp1;
400 struct cvmx_ipd_int_enb_s cn63xx;
401 struct cvmx_ipd_int_enb_s cn63xxp1;
404 union cvmx_ipd_int_sum {
406 struct cvmx_ipd_int_sum_s {
407 uint64_t reserved_12_63:52;
421 struct cvmx_ipd_int_sum_cn30xx {
422 uint64_t reserved_5_63:59;
429 struct cvmx_ipd_int_sum_cn30xx cn31xx;
430 struct cvmx_ipd_int_sum_cn38xx {
431 uint64_t reserved_10_63:54;
443 struct cvmx_ipd_int_sum_cn30xx cn38xxp2;
444 struct cvmx_ipd_int_sum_cn38xx cn50xx;
445 struct cvmx_ipd_int_sum_s cn52xx;
446 struct cvmx_ipd_int_sum_s cn52xxp1;
447 struct cvmx_ipd_int_sum_s cn56xx;
448 struct cvmx_ipd_int_sum_s cn56xxp1;
449 struct cvmx_ipd_int_sum_cn38xx cn58xx;
450 struct cvmx_ipd_int_sum_cn38xx cn58xxp1;
451 struct cvmx_ipd_int_sum_s cn63xx;
452 struct cvmx_ipd_int_sum_s cn63xxp1;
455 union cvmx_ipd_not_1st_mbuff_skip {
457 struct cvmx_ipd_not_1st_mbuff_skip_s {
458 uint64_t reserved_6_63:58;
461 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx;
462 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx;
463 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xx;
464 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xxp2;
465 struct cvmx_ipd_not_1st_mbuff_skip_s cn50xx;
466 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xx;
467 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xxp1;
468 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xx;
469 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1;
470 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx;
471 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1;
472 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx;
473 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1;
476 union cvmx_ipd_packet_mbuff_size {
478 struct cvmx_ipd_packet_mbuff_size_s {
479 uint64_t reserved_12_63:52;
482 struct cvmx_ipd_packet_mbuff_size_s cn30xx;
483 struct cvmx_ipd_packet_mbuff_size_s cn31xx;
484 struct cvmx_ipd_packet_mbuff_size_s cn38xx;
485 struct cvmx_ipd_packet_mbuff_size_s cn38xxp2;
486 struct cvmx_ipd_packet_mbuff_size_s cn50xx;
487 struct cvmx_ipd_packet_mbuff_size_s cn52xx;
488 struct cvmx_ipd_packet_mbuff_size_s cn52xxp1;
489 struct cvmx_ipd_packet_mbuff_size_s cn56xx;
490 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1;
491 struct cvmx_ipd_packet_mbuff_size_s cn58xx;
492 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1;
493 struct cvmx_ipd_packet_mbuff_size_s cn63xx;
494 struct cvmx_ipd_packet_mbuff_size_s cn63xxp1;
497 union cvmx_ipd_pkt_ptr_valid {
499 struct cvmx_ipd_pkt_ptr_valid_s {
500 uint64_t reserved_29_63:35;
503 struct cvmx_ipd_pkt_ptr_valid_s cn30xx;
504 struct cvmx_ipd_pkt_ptr_valid_s cn31xx;
505 struct cvmx_ipd_pkt_ptr_valid_s cn38xx;
506 struct cvmx_ipd_pkt_ptr_valid_s cn50xx;
507 struct cvmx_ipd_pkt_ptr_valid_s cn52xx;
508 struct cvmx_ipd_pkt_ptr_valid_s cn52xxp1;
509 struct cvmx_ipd_pkt_ptr_valid_s cn56xx;
510 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1;
511 struct cvmx_ipd_pkt_ptr_valid_s cn58xx;
512 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1;
513 struct cvmx_ipd_pkt_ptr_valid_s cn63xx;
514 struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1;
517 union cvmx_ipd_portx_bp_page_cnt {
519 struct cvmx_ipd_portx_bp_page_cnt_s {
520 uint64_t reserved_18_63:46;
522 uint64_t page_cnt:17;
524 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx;
525 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx;
526 struct cvmx_ipd_portx_bp_page_cnt_s cn38xx;
527 struct cvmx_ipd_portx_bp_page_cnt_s cn38xxp2;
528 struct cvmx_ipd_portx_bp_page_cnt_s cn50xx;
529 struct cvmx_ipd_portx_bp_page_cnt_s cn52xx;
530 struct cvmx_ipd_portx_bp_page_cnt_s cn52xxp1;
531 struct cvmx_ipd_portx_bp_page_cnt_s cn56xx;
532 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1;
533 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx;
534 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1;
535 struct cvmx_ipd_portx_bp_page_cnt_s cn63xx;
536 struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1;
539 union cvmx_ipd_portx_bp_page_cnt2 {
541 struct cvmx_ipd_portx_bp_page_cnt2_s {
542 uint64_t reserved_18_63:46;
544 uint64_t page_cnt:17;
546 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx;
547 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1;
548 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx;
549 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1;
550 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx;
551 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1;
554 union cvmx_ipd_portx_bp_page_cnt3 {
556 struct cvmx_ipd_portx_bp_page_cnt3_s {
557 uint64_t reserved_18_63:46;
559 uint64_t page_cnt:17;
561 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx;
562 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1;
565 union cvmx_ipd_port_bp_counters2_pairx {
567 struct cvmx_ipd_port_bp_counters2_pairx_s {
568 uint64_t reserved_25_63:39;
571 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx;
572 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1;
573 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx;
574 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1;
575 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx;
576 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1;
579 union cvmx_ipd_port_bp_counters3_pairx {
581 struct cvmx_ipd_port_bp_counters3_pairx_s {
582 uint64_t reserved_25_63:39;
585 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx;
586 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1;
589 union cvmx_ipd_port_bp_counters_pairx {
591 struct cvmx_ipd_port_bp_counters_pairx_s {
592 uint64_t reserved_25_63:39;
595 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx;
596 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx;
597 struct cvmx_ipd_port_bp_counters_pairx_s cn38xx;
598 struct cvmx_ipd_port_bp_counters_pairx_s cn38xxp2;
599 struct cvmx_ipd_port_bp_counters_pairx_s cn50xx;
600 struct cvmx_ipd_port_bp_counters_pairx_s cn52xx;
601 struct cvmx_ipd_port_bp_counters_pairx_s cn52xxp1;
602 struct cvmx_ipd_port_bp_counters_pairx_s cn56xx;
603 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1;
604 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx;
605 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1;
606 struct cvmx_ipd_port_bp_counters_pairx_s cn63xx;
607 struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1;
610 union cvmx_ipd_port_qos_x_cnt {
612 struct cvmx_ipd_port_qos_x_cnt_s {
616 struct cvmx_ipd_port_qos_x_cnt_s cn52xx;
617 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1;
618 struct cvmx_ipd_port_qos_x_cnt_s cn56xx;
619 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1;
620 struct cvmx_ipd_port_qos_x_cnt_s cn63xx;
621 struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1;
624 union cvmx_ipd_port_qos_intx {
626 struct cvmx_ipd_port_qos_intx_s {
629 struct cvmx_ipd_port_qos_intx_s cn52xx;
630 struct cvmx_ipd_port_qos_intx_s cn52xxp1;
631 struct cvmx_ipd_port_qos_intx_s cn56xx;
632 struct cvmx_ipd_port_qos_intx_s cn56xxp1;
633 struct cvmx_ipd_port_qos_intx_s cn63xx;
634 struct cvmx_ipd_port_qos_intx_s cn63xxp1;
637 union cvmx_ipd_port_qos_int_enbx {
639 struct cvmx_ipd_port_qos_int_enbx_s {
642 struct cvmx_ipd_port_qos_int_enbx_s cn52xx;
643 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1;
644 struct cvmx_ipd_port_qos_int_enbx_s cn56xx;
645 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1;
646 struct cvmx_ipd_port_qos_int_enbx_s cn63xx;
647 struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1;
650 union cvmx_ipd_prc_hold_ptr_fifo_ctl {
652 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
653 uint64_t reserved_39_63:25;
660 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx;
661 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx;
662 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn38xx;
663 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn50xx;
664 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xx;
665 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xxp1;
666 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xx;
667 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1;
668 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx;
669 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1;
670 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx;
671 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1;
674 union cvmx_ipd_prc_port_ptr_fifo_ctl {
676 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
677 uint64_t reserved_44_63:20;
683 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx;
684 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx;
685 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn38xx;
686 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn50xx;
687 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xx;
688 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xxp1;
689 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xx;
690 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1;
691 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx;
692 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1;
693 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx;
694 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1;
697 union cvmx_ipd_ptr_count {
699 struct cvmx_ipd_ptr_count_s {
700 uint64_t reserved_19_63:45;
707 struct cvmx_ipd_ptr_count_s cn30xx;
708 struct cvmx_ipd_ptr_count_s cn31xx;
709 struct cvmx_ipd_ptr_count_s cn38xx;
710 struct cvmx_ipd_ptr_count_s cn38xxp2;
711 struct cvmx_ipd_ptr_count_s cn50xx;
712 struct cvmx_ipd_ptr_count_s cn52xx;
713 struct cvmx_ipd_ptr_count_s cn52xxp1;
714 struct cvmx_ipd_ptr_count_s cn56xx;
715 struct cvmx_ipd_ptr_count_s cn56xxp1;
716 struct cvmx_ipd_ptr_count_s cn58xx;
717 struct cvmx_ipd_ptr_count_s cn58xxp1;
718 struct cvmx_ipd_ptr_count_s cn63xx;
719 struct cvmx_ipd_ptr_count_s cn63xxp1;
722 union cvmx_ipd_pwp_ptr_fifo_ctl {
724 struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
725 uint64_t reserved_61_63:3;
733 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx;
734 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx;
735 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn38xx;
736 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn50xx;
737 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xx;
738 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xxp1;
739 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xx;
740 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1;
741 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx;
742 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1;
743 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx;
744 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1;
747 union cvmx_ipd_qosx_red_marks {
749 struct cvmx_ipd_qosx_red_marks_s {
753 struct cvmx_ipd_qosx_red_marks_s cn30xx;
754 struct cvmx_ipd_qosx_red_marks_s cn31xx;
755 struct cvmx_ipd_qosx_red_marks_s cn38xx;
756 struct cvmx_ipd_qosx_red_marks_s cn38xxp2;
757 struct cvmx_ipd_qosx_red_marks_s cn50xx;
758 struct cvmx_ipd_qosx_red_marks_s cn52xx;
759 struct cvmx_ipd_qosx_red_marks_s cn52xxp1;
760 struct cvmx_ipd_qosx_red_marks_s cn56xx;
761 struct cvmx_ipd_qosx_red_marks_s cn56xxp1;
762 struct cvmx_ipd_qosx_red_marks_s cn58xx;
763 struct cvmx_ipd_qosx_red_marks_s cn58xxp1;
764 struct cvmx_ipd_qosx_red_marks_s cn63xx;
765 struct cvmx_ipd_qosx_red_marks_s cn63xxp1;
768 union cvmx_ipd_que0_free_page_cnt {
770 struct cvmx_ipd_que0_free_page_cnt_s {
771 uint64_t reserved_32_63:32;
774 struct cvmx_ipd_que0_free_page_cnt_s cn30xx;
775 struct cvmx_ipd_que0_free_page_cnt_s cn31xx;
776 struct cvmx_ipd_que0_free_page_cnt_s cn38xx;
777 struct cvmx_ipd_que0_free_page_cnt_s cn38xxp2;
778 struct cvmx_ipd_que0_free_page_cnt_s cn50xx;
779 struct cvmx_ipd_que0_free_page_cnt_s cn52xx;
780 struct cvmx_ipd_que0_free_page_cnt_s cn52xxp1;
781 struct cvmx_ipd_que0_free_page_cnt_s cn56xx;
782 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1;
783 struct cvmx_ipd_que0_free_page_cnt_s cn58xx;
784 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1;
785 struct cvmx_ipd_que0_free_page_cnt_s cn63xx;
786 struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1;
789 union cvmx_ipd_red_port_enable {
791 struct cvmx_ipd_red_port_enable_s {
796 struct cvmx_ipd_red_port_enable_s cn30xx;
797 struct cvmx_ipd_red_port_enable_s cn31xx;
798 struct cvmx_ipd_red_port_enable_s cn38xx;
799 struct cvmx_ipd_red_port_enable_s cn38xxp2;
800 struct cvmx_ipd_red_port_enable_s cn50xx;
801 struct cvmx_ipd_red_port_enable_s cn52xx;
802 struct cvmx_ipd_red_port_enable_s cn52xxp1;
803 struct cvmx_ipd_red_port_enable_s cn56xx;
804 struct cvmx_ipd_red_port_enable_s cn56xxp1;
805 struct cvmx_ipd_red_port_enable_s cn58xx;
806 struct cvmx_ipd_red_port_enable_s cn58xxp1;
807 struct cvmx_ipd_red_port_enable_s cn63xx;
808 struct cvmx_ipd_red_port_enable_s cn63xxp1;
811 union cvmx_ipd_red_port_enable2 {
813 struct cvmx_ipd_red_port_enable2_s {
814 uint64_t reserved_8_63:56;
817 struct cvmx_ipd_red_port_enable2_cn52xx {
818 uint64_t reserved_4_63:60;
821 struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1;
822 struct cvmx_ipd_red_port_enable2_cn52xx cn56xx;
823 struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1;
824 struct cvmx_ipd_red_port_enable2_s cn63xx;
825 struct cvmx_ipd_red_port_enable2_s cn63xxp1;
828 union cvmx_ipd_red_quex_param {
830 struct cvmx_ipd_red_quex_param_s {
831 uint64_t reserved_49_63:15;
837 struct cvmx_ipd_red_quex_param_s cn30xx;
838 struct cvmx_ipd_red_quex_param_s cn31xx;
839 struct cvmx_ipd_red_quex_param_s cn38xx;
840 struct cvmx_ipd_red_quex_param_s cn38xxp2;
841 struct cvmx_ipd_red_quex_param_s cn50xx;
842 struct cvmx_ipd_red_quex_param_s cn52xx;
843 struct cvmx_ipd_red_quex_param_s cn52xxp1;
844 struct cvmx_ipd_red_quex_param_s cn56xx;
845 struct cvmx_ipd_red_quex_param_s cn56xxp1;
846 struct cvmx_ipd_red_quex_param_s cn58xx;
847 struct cvmx_ipd_red_quex_param_s cn58xxp1;
848 struct cvmx_ipd_red_quex_param_s cn63xx;
849 struct cvmx_ipd_red_quex_param_s cn63xxp1;
852 union cvmx_ipd_sub_port_bp_page_cnt {
854 struct cvmx_ipd_sub_port_bp_page_cnt_s {
855 uint64_t reserved_31_63:33;
857 uint64_t page_cnt:25;
859 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx;
860 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx;
861 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xx;
862 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xxp2;
863 struct cvmx_ipd_sub_port_bp_page_cnt_s cn50xx;
864 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xx;
865 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xxp1;
866 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xx;
867 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1;
868 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx;
869 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1;
870 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx;
871 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1;
874 union cvmx_ipd_sub_port_fcs {
876 struct cvmx_ipd_sub_port_fcs_s {
877 uint64_t reserved_40_63:24;
878 uint64_t port_bit2:4;
879 uint64_t reserved_32_35:4;
880 uint64_t port_bit:32;
882 struct cvmx_ipd_sub_port_fcs_cn30xx {
883 uint64_t reserved_3_63:61;
886 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx;
887 struct cvmx_ipd_sub_port_fcs_cn38xx {
888 uint64_t reserved_32_63:32;
889 uint64_t port_bit:32;
891 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2;
892 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx;
893 struct cvmx_ipd_sub_port_fcs_s cn52xx;
894 struct cvmx_ipd_sub_port_fcs_s cn52xxp1;
895 struct cvmx_ipd_sub_port_fcs_s cn56xx;
896 struct cvmx_ipd_sub_port_fcs_s cn56xxp1;
897 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx;
898 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1;
899 struct cvmx_ipd_sub_port_fcs_s cn63xx;
900 struct cvmx_ipd_sub_port_fcs_s cn63xxp1;
903 union cvmx_ipd_sub_port_qos_cnt {
905 struct cvmx_ipd_sub_port_qos_cnt_s {
906 uint64_t reserved_41_63:23;
910 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx;
911 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1;
912 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx;
913 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1;
914 struct cvmx_ipd_sub_port_qos_cnt_s cn63xx;
915 struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1;
918 union cvmx_ipd_wqe_fpa_queue {
920 struct cvmx_ipd_wqe_fpa_queue_s {
921 uint64_t reserved_3_63:61;
924 struct cvmx_ipd_wqe_fpa_queue_s cn30xx;
925 struct cvmx_ipd_wqe_fpa_queue_s cn31xx;
926 struct cvmx_ipd_wqe_fpa_queue_s cn38xx;
927 struct cvmx_ipd_wqe_fpa_queue_s cn38xxp2;
928 struct cvmx_ipd_wqe_fpa_queue_s cn50xx;
929 struct cvmx_ipd_wqe_fpa_queue_s cn52xx;
930 struct cvmx_ipd_wqe_fpa_queue_s cn52xxp1;
931 struct cvmx_ipd_wqe_fpa_queue_s cn56xx;
932 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1;
933 struct cvmx_ipd_wqe_fpa_queue_s cn58xx;
934 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1;
935 struct cvmx_ipd_wqe_fpa_queue_s cn63xx;
936 struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1;
939 union cvmx_ipd_wqe_ptr_valid {
941 struct cvmx_ipd_wqe_ptr_valid_s {
942 uint64_t reserved_29_63:35;
945 struct cvmx_ipd_wqe_ptr_valid_s cn30xx;
946 struct cvmx_ipd_wqe_ptr_valid_s cn31xx;
947 struct cvmx_ipd_wqe_ptr_valid_s cn38xx;
948 struct cvmx_ipd_wqe_ptr_valid_s cn50xx;
949 struct cvmx_ipd_wqe_ptr_valid_s cn52xx;
950 struct cvmx_ipd_wqe_ptr_valid_s cn52xxp1;
951 struct cvmx_ipd_wqe_ptr_valid_s cn56xx;
952 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1;
953 struct cvmx_ipd_wqe_ptr_valid_s cn58xx;
954 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1;
955 struct cvmx_ipd_wqe_ptr_valid_s cn63xx;
956 struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1;