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_IPD_DEFS_H__
29 #define __CVMX_IPD_DEFS_H__
31 #define CVMX_IPD_1ST_MBUFF_SKIP \
32 CVMX_ADD_IO_SEG(0x00014F0000000000ull)
33 #define CVMX_IPD_1st_NEXT_PTR_BACK \
34 CVMX_ADD_IO_SEG(0x00014F0000000150ull)
35 #define CVMX_IPD_2nd_NEXT_PTR_BACK \
36 CVMX_ADD_IO_SEG(0x00014F0000000158ull)
37 #define CVMX_IPD_BIST_STATUS \
38 CVMX_ADD_IO_SEG(0x00014F00000007F8ull)
39 #define CVMX_IPD_BP_PRT_RED_END \
40 CVMX_ADD_IO_SEG(0x00014F0000000328ull)
41 #define CVMX_IPD_CLK_COUNT \
42 CVMX_ADD_IO_SEG(0x00014F0000000338ull)
43 #define CVMX_IPD_CTL_STATUS \
44 CVMX_ADD_IO_SEG(0x00014F0000000018ull)
45 #define CVMX_IPD_INT_ENB \
46 CVMX_ADD_IO_SEG(0x00014F0000000160ull)
47 #define CVMX_IPD_INT_SUM \
48 CVMX_ADD_IO_SEG(0x00014F0000000168ull)
49 #define CVMX_IPD_NOT_1ST_MBUFF_SKIP \
50 CVMX_ADD_IO_SEG(0x00014F0000000008ull)
51 #define CVMX_IPD_PACKET_MBUFF_SIZE \
52 CVMX_ADD_IO_SEG(0x00014F0000000010ull)
53 #define CVMX_IPD_PKT_PTR_VALID \
54 CVMX_ADD_IO_SEG(0x00014F0000000358ull)
55 #define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) \
56 CVMX_ADD_IO_SEG(0x00014F0000000028ull + (((offset) & 63) * 8))
57 #define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) \
58 CVMX_ADD_IO_SEG(0x00014F0000000368ull + (((offset) & 63) * 8) - 8 * 36)
59 #define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) \
60 CVMX_ADD_IO_SEG(0x00014F0000000388ull + (((offset) & 63) * 8) - 8 * 36)
61 #define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) \
62 CVMX_ADD_IO_SEG(0x00014F00000001B8ull + (((offset) & 63) * 8))
63 #define CVMX_IPD_PORT_QOS_INTX(offset) \
64 CVMX_ADD_IO_SEG(0x00014F0000000808ull + (((offset) & 7) * 8))
65 #define CVMX_IPD_PORT_QOS_INT_ENBX(offset) \
66 CVMX_ADD_IO_SEG(0x00014F0000000848ull + (((offset) & 7) * 8))
67 #define CVMX_IPD_PORT_QOS_X_CNT(offset) \
68 CVMX_ADD_IO_SEG(0x00014F0000000888ull + (((offset) & 511) * 8))
69 #define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL \
70 CVMX_ADD_IO_SEG(0x00014F0000000348ull)
71 #define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL \
72 CVMX_ADD_IO_SEG(0x00014F0000000350ull)
73 #define CVMX_IPD_PTR_COUNT \
74 CVMX_ADD_IO_SEG(0x00014F0000000320ull)
75 #define CVMX_IPD_PWP_PTR_FIFO_CTL \
76 CVMX_ADD_IO_SEG(0x00014F0000000340ull)
77 #define CVMX_IPD_QOS0_RED_MARKS \
78 CVMX_ADD_IO_SEG(0x00014F0000000178ull)
79 #define CVMX_IPD_QOS1_RED_MARKS \
80 CVMX_ADD_IO_SEG(0x00014F0000000180ull)
81 #define CVMX_IPD_QOS2_RED_MARKS \
82 CVMX_ADD_IO_SEG(0x00014F0000000188ull)
83 #define CVMX_IPD_QOS3_RED_MARKS \
84 CVMX_ADD_IO_SEG(0x00014F0000000190ull)
85 #define CVMX_IPD_QOS4_RED_MARKS \
86 CVMX_ADD_IO_SEG(0x00014F0000000198ull)
87 #define CVMX_IPD_QOS5_RED_MARKS \
88 CVMX_ADD_IO_SEG(0x00014F00000001A0ull)
89 #define CVMX_IPD_QOS6_RED_MARKS \
90 CVMX_ADD_IO_SEG(0x00014F00000001A8ull)
91 #define CVMX_IPD_QOS7_RED_MARKS \
92 CVMX_ADD_IO_SEG(0x00014F00000001B0ull)
93 #define CVMX_IPD_QOSX_RED_MARKS(offset) \
94 CVMX_ADD_IO_SEG(0x00014F0000000178ull + (((offset) & 7) * 8))
95 #define CVMX_IPD_QUE0_FREE_PAGE_CNT \
96 CVMX_ADD_IO_SEG(0x00014F0000000330ull)
97 #define CVMX_IPD_RED_PORT_ENABLE \
98 CVMX_ADD_IO_SEG(0x00014F00000002D8ull)
99 #define CVMX_IPD_RED_PORT_ENABLE2 \
100 CVMX_ADD_IO_SEG(0x00014F00000003A8ull)
101 #define CVMX_IPD_RED_QUE0_PARAM \
102 CVMX_ADD_IO_SEG(0x00014F00000002E0ull)
103 #define CVMX_IPD_RED_QUE1_PARAM \
104 CVMX_ADD_IO_SEG(0x00014F00000002E8ull)
105 #define CVMX_IPD_RED_QUE2_PARAM \
106 CVMX_ADD_IO_SEG(0x00014F00000002F0ull)
107 #define CVMX_IPD_RED_QUE3_PARAM \
108 CVMX_ADD_IO_SEG(0x00014F00000002F8ull)
109 #define CVMX_IPD_RED_QUE4_PARAM \
110 CVMX_ADD_IO_SEG(0x00014F0000000300ull)
111 #define CVMX_IPD_RED_QUE5_PARAM \
112 CVMX_ADD_IO_SEG(0x00014F0000000308ull)
113 #define CVMX_IPD_RED_QUE6_PARAM \
114 CVMX_ADD_IO_SEG(0x00014F0000000310ull)
115 #define CVMX_IPD_RED_QUE7_PARAM \
116 CVMX_ADD_IO_SEG(0x00014F0000000318ull)
117 #define CVMX_IPD_RED_QUEX_PARAM(offset) \
118 CVMX_ADD_IO_SEG(0x00014F00000002E0ull + (((offset) & 7) * 8))
119 #define CVMX_IPD_SUB_PORT_BP_PAGE_CNT \
120 CVMX_ADD_IO_SEG(0x00014F0000000148ull)
121 #define CVMX_IPD_SUB_PORT_FCS \
122 CVMX_ADD_IO_SEG(0x00014F0000000170ull)
123 #define CVMX_IPD_SUB_PORT_QOS_CNT \
124 CVMX_ADD_IO_SEG(0x00014F0000000800ull)
125 #define CVMX_IPD_WQE_FPA_QUEUE \
126 CVMX_ADD_IO_SEG(0x00014F0000000020ull)
127 #define CVMX_IPD_WQE_PTR_VALID \
128 CVMX_ADD_IO_SEG(0x00014F0000000360ull)
130 union cvmx_ipd_1st_mbuff_skip
{
132 struct cvmx_ipd_1st_mbuff_skip_s
{
133 uint64_t reserved_6_63
:58;
136 struct cvmx_ipd_1st_mbuff_skip_s cn30xx
;
137 struct cvmx_ipd_1st_mbuff_skip_s cn31xx
;
138 struct cvmx_ipd_1st_mbuff_skip_s cn38xx
;
139 struct cvmx_ipd_1st_mbuff_skip_s cn38xxp2
;
140 struct cvmx_ipd_1st_mbuff_skip_s cn50xx
;
141 struct cvmx_ipd_1st_mbuff_skip_s cn52xx
;
142 struct cvmx_ipd_1st_mbuff_skip_s cn52xxp1
;
143 struct cvmx_ipd_1st_mbuff_skip_s cn56xx
;
144 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1
;
145 struct cvmx_ipd_1st_mbuff_skip_s cn58xx
;
146 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1
;
149 union cvmx_ipd_1st_next_ptr_back
{
151 struct cvmx_ipd_1st_next_ptr_back_s
{
152 uint64_t reserved_4_63
:60;
155 struct cvmx_ipd_1st_next_ptr_back_s cn30xx
;
156 struct cvmx_ipd_1st_next_ptr_back_s cn31xx
;
157 struct cvmx_ipd_1st_next_ptr_back_s cn38xx
;
158 struct cvmx_ipd_1st_next_ptr_back_s cn38xxp2
;
159 struct cvmx_ipd_1st_next_ptr_back_s cn50xx
;
160 struct cvmx_ipd_1st_next_ptr_back_s cn52xx
;
161 struct cvmx_ipd_1st_next_ptr_back_s cn52xxp1
;
162 struct cvmx_ipd_1st_next_ptr_back_s cn56xx
;
163 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1
;
164 struct cvmx_ipd_1st_next_ptr_back_s cn58xx
;
165 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1
;
168 union cvmx_ipd_2nd_next_ptr_back
{
170 struct cvmx_ipd_2nd_next_ptr_back_s
{
171 uint64_t reserved_4_63
:60;
174 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx
;
175 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx
;
176 struct cvmx_ipd_2nd_next_ptr_back_s cn38xx
;
177 struct cvmx_ipd_2nd_next_ptr_back_s cn38xxp2
;
178 struct cvmx_ipd_2nd_next_ptr_back_s cn50xx
;
179 struct cvmx_ipd_2nd_next_ptr_back_s cn52xx
;
180 struct cvmx_ipd_2nd_next_ptr_back_s cn52xxp1
;
181 struct cvmx_ipd_2nd_next_ptr_back_s cn56xx
;
182 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1
;
183 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx
;
184 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1
;
187 union cvmx_ipd_bist_status
{
189 struct cvmx_ipd_bist_status_s
{
190 uint64_t reserved_18_63
:46;
210 struct cvmx_ipd_bist_status_cn30xx
{
211 uint64_t reserved_16_63
:48;
229 struct cvmx_ipd_bist_status_cn30xx cn31xx
;
230 struct cvmx_ipd_bist_status_cn30xx cn38xx
;
231 struct cvmx_ipd_bist_status_cn30xx cn38xxp2
;
232 struct cvmx_ipd_bist_status_cn30xx cn50xx
;
233 struct cvmx_ipd_bist_status_s cn52xx
;
234 struct cvmx_ipd_bist_status_s cn52xxp1
;
235 struct cvmx_ipd_bist_status_s cn56xx
;
236 struct cvmx_ipd_bist_status_s cn56xxp1
;
237 struct cvmx_ipd_bist_status_cn30xx cn58xx
;
238 struct cvmx_ipd_bist_status_cn30xx cn58xxp1
;
241 union cvmx_ipd_bp_prt_red_end
{
243 struct cvmx_ipd_bp_prt_red_end_s
{
244 uint64_t reserved_40_63
:24;
247 struct cvmx_ipd_bp_prt_red_end_cn30xx
{
248 uint64_t reserved_36_63
:28;
251 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx
;
252 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx
;
253 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2
;
254 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx
;
255 struct cvmx_ipd_bp_prt_red_end_s cn52xx
;
256 struct cvmx_ipd_bp_prt_red_end_s cn52xxp1
;
257 struct cvmx_ipd_bp_prt_red_end_s cn56xx
;
258 struct cvmx_ipd_bp_prt_red_end_s cn56xxp1
;
259 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx
;
260 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1
;
263 union cvmx_ipd_clk_count
{
265 struct cvmx_ipd_clk_count_s
{
268 struct cvmx_ipd_clk_count_s cn30xx
;
269 struct cvmx_ipd_clk_count_s cn31xx
;
270 struct cvmx_ipd_clk_count_s cn38xx
;
271 struct cvmx_ipd_clk_count_s cn38xxp2
;
272 struct cvmx_ipd_clk_count_s cn50xx
;
273 struct cvmx_ipd_clk_count_s cn52xx
;
274 struct cvmx_ipd_clk_count_s cn52xxp1
;
275 struct cvmx_ipd_clk_count_s cn56xx
;
276 struct cvmx_ipd_clk_count_s cn56xxp1
;
277 struct cvmx_ipd_clk_count_s cn58xx
;
278 struct cvmx_ipd_clk_count_s cn58xxp1
;
281 union cvmx_ipd_ctl_status
{
283 struct cvmx_ipd_ctl_status_s
{
284 uint64_t reserved_15_63
:49;
300 struct cvmx_ipd_ctl_status_cn30xx
{
301 uint64_t reserved_10_63
:54;
312 struct cvmx_ipd_ctl_status_cn30xx cn31xx
;
313 struct cvmx_ipd_ctl_status_cn30xx cn38xx
;
314 struct cvmx_ipd_ctl_status_cn38xxp2
{
315 uint64_t reserved_9_63
:55;
325 struct cvmx_ipd_ctl_status_s cn50xx
;
326 struct cvmx_ipd_ctl_status_s cn52xx
;
327 struct cvmx_ipd_ctl_status_s cn52xxp1
;
328 struct cvmx_ipd_ctl_status_s cn56xx
;
329 struct cvmx_ipd_ctl_status_s cn56xxp1
;
330 struct cvmx_ipd_ctl_status_cn58xx
{
331 uint64_t reserved_12_63
:52;
344 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1
;
347 union cvmx_ipd_int_enb
{
349 struct cvmx_ipd_int_enb_s
{
350 uint64_t reserved_12_63
:52;
364 struct cvmx_ipd_int_enb_cn30xx
{
365 uint64_t reserved_5_63
:59;
372 struct cvmx_ipd_int_enb_cn30xx cn31xx
;
373 struct cvmx_ipd_int_enb_cn38xx
{
374 uint64_t reserved_10_63
:54;
386 struct cvmx_ipd_int_enb_cn30xx cn38xxp2
;
387 struct cvmx_ipd_int_enb_cn38xx cn50xx
;
388 struct cvmx_ipd_int_enb_s cn52xx
;
389 struct cvmx_ipd_int_enb_s cn52xxp1
;
390 struct cvmx_ipd_int_enb_s cn56xx
;
391 struct cvmx_ipd_int_enb_s cn56xxp1
;
392 struct cvmx_ipd_int_enb_cn38xx cn58xx
;
393 struct cvmx_ipd_int_enb_cn38xx cn58xxp1
;
396 union cvmx_ipd_int_sum
{
398 struct cvmx_ipd_int_sum_s
{
399 uint64_t reserved_12_63
:52;
413 struct cvmx_ipd_int_sum_cn30xx
{
414 uint64_t reserved_5_63
:59;
421 struct cvmx_ipd_int_sum_cn30xx cn31xx
;
422 struct cvmx_ipd_int_sum_cn38xx
{
423 uint64_t reserved_10_63
:54;
435 struct cvmx_ipd_int_sum_cn30xx cn38xxp2
;
436 struct cvmx_ipd_int_sum_cn38xx cn50xx
;
437 struct cvmx_ipd_int_sum_s cn52xx
;
438 struct cvmx_ipd_int_sum_s cn52xxp1
;
439 struct cvmx_ipd_int_sum_s cn56xx
;
440 struct cvmx_ipd_int_sum_s cn56xxp1
;
441 struct cvmx_ipd_int_sum_cn38xx cn58xx
;
442 struct cvmx_ipd_int_sum_cn38xx cn58xxp1
;
445 union cvmx_ipd_not_1st_mbuff_skip
{
447 struct cvmx_ipd_not_1st_mbuff_skip_s
{
448 uint64_t reserved_6_63
:58;
451 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx
;
452 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx
;
453 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xx
;
454 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xxp2
;
455 struct cvmx_ipd_not_1st_mbuff_skip_s cn50xx
;
456 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xx
;
457 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xxp1
;
458 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xx
;
459 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1
;
460 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx
;
461 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1
;
464 union cvmx_ipd_packet_mbuff_size
{
466 struct cvmx_ipd_packet_mbuff_size_s
{
467 uint64_t reserved_12_63
:52;
470 struct cvmx_ipd_packet_mbuff_size_s cn30xx
;
471 struct cvmx_ipd_packet_mbuff_size_s cn31xx
;
472 struct cvmx_ipd_packet_mbuff_size_s cn38xx
;
473 struct cvmx_ipd_packet_mbuff_size_s cn38xxp2
;
474 struct cvmx_ipd_packet_mbuff_size_s cn50xx
;
475 struct cvmx_ipd_packet_mbuff_size_s cn52xx
;
476 struct cvmx_ipd_packet_mbuff_size_s cn52xxp1
;
477 struct cvmx_ipd_packet_mbuff_size_s cn56xx
;
478 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1
;
479 struct cvmx_ipd_packet_mbuff_size_s cn58xx
;
480 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1
;
483 union cvmx_ipd_pkt_ptr_valid
{
485 struct cvmx_ipd_pkt_ptr_valid_s
{
486 uint64_t reserved_29_63
:35;
489 struct cvmx_ipd_pkt_ptr_valid_s cn30xx
;
490 struct cvmx_ipd_pkt_ptr_valid_s cn31xx
;
491 struct cvmx_ipd_pkt_ptr_valid_s cn38xx
;
492 struct cvmx_ipd_pkt_ptr_valid_s cn50xx
;
493 struct cvmx_ipd_pkt_ptr_valid_s cn52xx
;
494 struct cvmx_ipd_pkt_ptr_valid_s cn52xxp1
;
495 struct cvmx_ipd_pkt_ptr_valid_s cn56xx
;
496 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1
;
497 struct cvmx_ipd_pkt_ptr_valid_s cn58xx
;
498 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1
;
501 union cvmx_ipd_portx_bp_page_cnt
{
503 struct cvmx_ipd_portx_bp_page_cnt_s
{
504 uint64_t reserved_18_63
:46;
506 uint64_t page_cnt
:17;
508 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx
;
509 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx
;
510 struct cvmx_ipd_portx_bp_page_cnt_s cn38xx
;
511 struct cvmx_ipd_portx_bp_page_cnt_s cn38xxp2
;
512 struct cvmx_ipd_portx_bp_page_cnt_s cn50xx
;
513 struct cvmx_ipd_portx_bp_page_cnt_s cn52xx
;
514 struct cvmx_ipd_portx_bp_page_cnt_s cn52xxp1
;
515 struct cvmx_ipd_portx_bp_page_cnt_s cn56xx
;
516 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1
;
517 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx
;
518 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1
;
521 union cvmx_ipd_portx_bp_page_cnt2
{
523 struct cvmx_ipd_portx_bp_page_cnt2_s
{
524 uint64_t reserved_18_63
:46;
526 uint64_t page_cnt
:17;
528 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx
;
529 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1
;
530 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx
;
531 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1
;
534 union cvmx_ipd_port_bp_counters2_pairx
{
536 struct cvmx_ipd_port_bp_counters2_pairx_s
{
537 uint64_t reserved_25_63
:39;
540 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx
;
541 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1
;
542 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx
;
543 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1
;
546 union cvmx_ipd_port_bp_counters_pairx
{
548 struct cvmx_ipd_port_bp_counters_pairx_s
{
549 uint64_t reserved_25_63
:39;
552 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx
;
553 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx
;
554 struct cvmx_ipd_port_bp_counters_pairx_s cn38xx
;
555 struct cvmx_ipd_port_bp_counters_pairx_s cn38xxp2
;
556 struct cvmx_ipd_port_bp_counters_pairx_s cn50xx
;
557 struct cvmx_ipd_port_bp_counters_pairx_s cn52xx
;
558 struct cvmx_ipd_port_bp_counters_pairx_s cn52xxp1
;
559 struct cvmx_ipd_port_bp_counters_pairx_s cn56xx
;
560 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1
;
561 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx
;
562 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1
;
565 union cvmx_ipd_port_qos_x_cnt
{
567 struct cvmx_ipd_port_qos_x_cnt_s
{
571 struct cvmx_ipd_port_qos_x_cnt_s cn52xx
;
572 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1
;
573 struct cvmx_ipd_port_qos_x_cnt_s cn56xx
;
574 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1
;
577 union cvmx_ipd_port_qos_intx
{
579 struct cvmx_ipd_port_qos_intx_s
{
582 struct cvmx_ipd_port_qos_intx_s cn52xx
;
583 struct cvmx_ipd_port_qos_intx_s cn52xxp1
;
584 struct cvmx_ipd_port_qos_intx_s cn56xx
;
585 struct cvmx_ipd_port_qos_intx_s cn56xxp1
;
588 union cvmx_ipd_port_qos_int_enbx
{
590 struct cvmx_ipd_port_qos_int_enbx_s
{
593 struct cvmx_ipd_port_qos_int_enbx_s cn52xx
;
594 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1
;
595 struct cvmx_ipd_port_qos_int_enbx_s cn56xx
;
596 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1
;
599 union cvmx_ipd_prc_hold_ptr_fifo_ctl
{
601 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s
{
602 uint64_t reserved_39_63
:25;
609 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx
;
610 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx
;
611 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn38xx
;
612 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn50xx
;
613 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xx
;
614 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xxp1
;
615 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xx
;
616 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1
;
617 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx
;
618 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1
;
621 union cvmx_ipd_prc_port_ptr_fifo_ctl
{
623 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s
{
624 uint64_t reserved_44_63
:20;
630 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx
;
631 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx
;
632 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn38xx
;
633 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn50xx
;
634 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xx
;
635 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xxp1
;
636 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xx
;
637 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1
;
638 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx
;
639 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1
;
642 union cvmx_ipd_ptr_count
{
644 struct cvmx_ipd_ptr_count_s
{
645 uint64_t reserved_19_63
:45;
652 struct cvmx_ipd_ptr_count_s cn30xx
;
653 struct cvmx_ipd_ptr_count_s cn31xx
;
654 struct cvmx_ipd_ptr_count_s cn38xx
;
655 struct cvmx_ipd_ptr_count_s cn38xxp2
;
656 struct cvmx_ipd_ptr_count_s cn50xx
;
657 struct cvmx_ipd_ptr_count_s cn52xx
;
658 struct cvmx_ipd_ptr_count_s cn52xxp1
;
659 struct cvmx_ipd_ptr_count_s cn56xx
;
660 struct cvmx_ipd_ptr_count_s cn56xxp1
;
661 struct cvmx_ipd_ptr_count_s cn58xx
;
662 struct cvmx_ipd_ptr_count_s cn58xxp1
;
665 union cvmx_ipd_pwp_ptr_fifo_ctl
{
667 struct cvmx_ipd_pwp_ptr_fifo_ctl_s
{
668 uint64_t reserved_61_63
:3;
676 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx
;
677 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx
;
678 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn38xx
;
679 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn50xx
;
680 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xx
;
681 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xxp1
;
682 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xx
;
683 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1
;
684 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx
;
685 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1
;
688 union cvmx_ipd_qosx_red_marks
{
690 struct cvmx_ipd_qosx_red_marks_s
{
694 struct cvmx_ipd_qosx_red_marks_s cn30xx
;
695 struct cvmx_ipd_qosx_red_marks_s cn31xx
;
696 struct cvmx_ipd_qosx_red_marks_s cn38xx
;
697 struct cvmx_ipd_qosx_red_marks_s cn38xxp2
;
698 struct cvmx_ipd_qosx_red_marks_s cn50xx
;
699 struct cvmx_ipd_qosx_red_marks_s cn52xx
;
700 struct cvmx_ipd_qosx_red_marks_s cn52xxp1
;
701 struct cvmx_ipd_qosx_red_marks_s cn56xx
;
702 struct cvmx_ipd_qosx_red_marks_s cn56xxp1
;
703 struct cvmx_ipd_qosx_red_marks_s cn58xx
;
704 struct cvmx_ipd_qosx_red_marks_s cn58xxp1
;
707 union cvmx_ipd_que0_free_page_cnt
{
709 struct cvmx_ipd_que0_free_page_cnt_s
{
710 uint64_t reserved_32_63
:32;
713 struct cvmx_ipd_que0_free_page_cnt_s cn30xx
;
714 struct cvmx_ipd_que0_free_page_cnt_s cn31xx
;
715 struct cvmx_ipd_que0_free_page_cnt_s cn38xx
;
716 struct cvmx_ipd_que0_free_page_cnt_s cn38xxp2
;
717 struct cvmx_ipd_que0_free_page_cnt_s cn50xx
;
718 struct cvmx_ipd_que0_free_page_cnt_s cn52xx
;
719 struct cvmx_ipd_que0_free_page_cnt_s cn52xxp1
;
720 struct cvmx_ipd_que0_free_page_cnt_s cn56xx
;
721 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1
;
722 struct cvmx_ipd_que0_free_page_cnt_s cn58xx
;
723 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1
;
726 union cvmx_ipd_red_port_enable
{
728 struct cvmx_ipd_red_port_enable_s
{
733 struct cvmx_ipd_red_port_enable_s cn30xx
;
734 struct cvmx_ipd_red_port_enable_s cn31xx
;
735 struct cvmx_ipd_red_port_enable_s cn38xx
;
736 struct cvmx_ipd_red_port_enable_s cn38xxp2
;
737 struct cvmx_ipd_red_port_enable_s cn50xx
;
738 struct cvmx_ipd_red_port_enable_s cn52xx
;
739 struct cvmx_ipd_red_port_enable_s cn52xxp1
;
740 struct cvmx_ipd_red_port_enable_s cn56xx
;
741 struct cvmx_ipd_red_port_enable_s cn56xxp1
;
742 struct cvmx_ipd_red_port_enable_s cn58xx
;
743 struct cvmx_ipd_red_port_enable_s cn58xxp1
;
746 union cvmx_ipd_red_port_enable2
{
748 struct cvmx_ipd_red_port_enable2_s
{
749 uint64_t reserved_4_63
:60;
752 struct cvmx_ipd_red_port_enable2_s cn52xx
;
753 struct cvmx_ipd_red_port_enable2_s cn52xxp1
;
754 struct cvmx_ipd_red_port_enable2_s cn56xx
;
755 struct cvmx_ipd_red_port_enable2_s cn56xxp1
;
758 union cvmx_ipd_red_quex_param
{
760 struct cvmx_ipd_red_quex_param_s
{
761 uint64_t reserved_49_63
:15;
767 struct cvmx_ipd_red_quex_param_s cn30xx
;
768 struct cvmx_ipd_red_quex_param_s cn31xx
;
769 struct cvmx_ipd_red_quex_param_s cn38xx
;
770 struct cvmx_ipd_red_quex_param_s cn38xxp2
;
771 struct cvmx_ipd_red_quex_param_s cn50xx
;
772 struct cvmx_ipd_red_quex_param_s cn52xx
;
773 struct cvmx_ipd_red_quex_param_s cn52xxp1
;
774 struct cvmx_ipd_red_quex_param_s cn56xx
;
775 struct cvmx_ipd_red_quex_param_s cn56xxp1
;
776 struct cvmx_ipd_red_quex_param_s cn58xx
;
777 struct cvmx_ipd_red_quex_param_s cn58xxp1
;
780 union cvmx_ipd_sub_port_bp_page_cnt
{
782 struct cvmx_ipd_sub_port_bp_page_cnt_s
{
783 uint64_t reserved_31_63
:33;
785 uint64_t page_cnt
:25;
787 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx
;
788 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx
;
789 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xx
;
790 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xxp2
;
791 struct cvmx_ipd_sub_port_bp_page_cnt_s cn50xx
;
792 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xx
;
793 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xxp1
;
794 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xx
;
795 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1
;
796 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx
;
797 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1
;
800 union cvmx_ipd_sub_port_fcs
{
802 struct cvmx_ipd_sub_port_fcs_s
{
803 uint64_t reserved_40_63
:24;
804 uint64_t port_bit2
:4;
805 uint64_t reserved_32_35
:4;
806 uint64_t port_bit
:32;
808 struct cvmx_ipd_sub_port_fcs_cn30xx
{
809 uint64_t reserved_3_63
:61;
812 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx
;
813 struct cvmx_ipd_sub_port_fcs_cn38xx
{
814 uint64_t reserved_32_63
:32;
815 uint64_t port_bit
:32;
817 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2
;
818 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx
;
819 struct cvmx_ipd_sub_port_fcs_s cn52xx
;
820 struct cvmx_ipd_sub_port_fcs_s cn52xxp1
;
821 struct cvmx_ipd_sub_port_fcs_s cn56xx
;
822 struct cvmx_ipd_sub_port_fcs_s cn56xxp1
;
823 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx
;
824 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1
;
827 union cvmx_ipd_sub_port_qos_cnt
{
829 struct cvmx_ipd_sub_port_qos_cnt_s
{
830 uint64_t reserved_41_63
:23;
834 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx
;
835 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1
;
836 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx
;
837 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1
;
840 union cvmx_ipd_wqe_fpa_queue
{
842 struct cvmx_ipd_wqe_fpa_queue_s
{
843 uint64_t reserved_3_63
:61;
846 struct cvmx_ipd_wqe_fpa_queue_s cn30xx
;
847 struct cvmx_ipd_wqe_fpa_queue_s cn31xx
;
848 struct cvmx_ipd_wqe_fpa_queue_s cn38xx
;
849 struct cvmx_ipd_wqe_fpa_queue_s cn38xxp2
;
850 struct cvmx_ipd_wqe_fpa_queue_s cn50xx
;
851 struct cvmx_ipd_wqe_fpa_queue_s cn52xx
;
852 struct cvmx_ipd_wqe_fpa_queue_s cn52xxp1
;
853 struct cvmx_ipd_wqe_fpa_queue_s cn56xx
;
854 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1
;
855 struct cvmx_ipd_wqe_fpa_queue_s cn58xx
;
856 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1
;
859 union cvmx_ipd_wqe_ptr_valid
{
861 struct cvmx_ipd_wqe_ptr_valid_s
{
862 uint64_t reserved_29_63
:35;
865 struct cvmx_ipd_wqe_ptr_valid_s cn30xx
;
866 struct cvmx_ipd_wqe_ptr_valid_s cn31xx
;
867 struct cvmx_ipd_wqe_ptr_valid_s cn38xx
;
868 struct cvmx_ipd_wqe_ptr_valid_s cn50xx
;
869 struct cvmx_ipd_wqe_ptr_valid_s cn52xx
;
870 struct cvmx_ipd_wqe_ptr_valid_s cn52xxp1
;
871 struct cvmx_ipd_wqe_ptr_valid_s cn56xx
;
872 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1
;
873 struct cvmx_ipd_wqe_ptr_valid_s cn58xx
;
874 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1
;