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
;