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-2012 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_PIP_DEFS_H__
29 #define __CVMX_PIP_DEFS_H__
32 * Enumeration representing the amount of packet processing
33 * and validation performed by the input hardware.
35 enum cvmx_pip_port_parse_mode
{
37 * Packet input doesn't perform any processing of the input
40 CVMX_PIP_PORT_CFG_MODE_NONE
= 0ull,
42 * Full packet processing is performed with pointer starting
43 * at the L2 (ethernet MAC) header.
45 CVMX_PIP_PORT_CFG_MODE_SKIPL2
= 1ull,
47 * Input packets are assumed to be IP. Results from non IP
48 * packets is undefined. Pointers reference the beginning of
51 CVMX_PIP_PORT_CFG_MODE_SKIPIP
= 2ull
54 #define CVMX_PIP_ALT_SKIP_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002A00ull) + ((offset) & 3) * 8)
55 #define CVMX_PIP_BCK_PRS (CVMX_ADD_IO_SEG(0x00011800A0000038ull))
56 #define CVMX_PIP_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800A0000000ull))
57 #define CVMX_PIP_BSEL_EXT_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002800ull) + ((offset) & 3) * 16)
58 #define CVMX_PIP_BSEL_EXT_POSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002808ull) + ((offset) & 3) * 16)
59 #define CVMX_PIP_BSEL_TBL_ENTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0003000ull) + ((offset) & 511) * 8)
60 #define CVMX_PIP_CLKEN (CVMX_ADD_IO_SEG(0x00011800A0000040ull))
61 #define CVMX_PIP_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000040ull) + ((offset) & 1) * 8)
62 #define CVMX_PIP_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000050ull) + ((offset) & 1) * 8)
63 #define CVMX_PIP_DEC_IPSECX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000080ull) + ((offset) & 3) * 8)
64 #define CVMX_PIP_DSA_SRC_GRP (CVMX_ADD_IO_SEG(0x00011800A0000190ull))
65 #define CVMX_PIP_DSA_VID_GRP (CVMX_ADD_IO_SEG(0x00011800A0000198ull))
66 #define CVMX_PIP_FRM_LEN_CHKX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000180ull) + ((offset) & 1) * 8)
67 #define CVMX_PIP_GBL_CFG (CVMX_ADD_IO_SEG(0x00011800A0000028ull))
68 #define CVMX_PIP_GBL_CTL (CVMX_ADD_IO_SEG(0x00011800A0000020ull))
69 #define CVMX_PIP_HG_PRI_QOS (CVMX_ADD_IO_SEG(0x00011800A00001A0ull))
70 #define CVMX_PIP_INT_EN (CVMX_ADD_IO_SEG(0x00011800A0000010ull))
71 #define CVMX_PIP_INT_REG (CVMX_ADD_IO_SEG(0x00011800A0000008ull))
72 #define CVMX_PIP_IP_OFFSET (CVMX_ADD_IO_SEG(0x00011800A0000060ull))
73 #define CVMX_PIP_PRI_TBLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0004000ull) + ((offset) & 255) * 8)
74 #define CVMX_PIP_PRT_CFGBX(offset) (CVMX_ADD_IO_SEG(0x00011800A0008000ull) + ((offset) & 63) * 8)
75 #define CVMX_PIP_PRT_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000200ull) + ((offset) & 63) * 8)
76 #define CVMX_PIP_PRT_TAGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000400ull) + ((offset) & 63) * 8)
77 #define CVMX_PIP_QOS_DIFFX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000600ull) + ((offset) & 63) * 8)
78 #define CVMX_PIP_QOS_VLANX(offset) (CVMX_ADD_IO_SEG(0x00011800A00000C0ull) + ((offset) & 7) * 8)
79 #define CVMX_PIP_QOS_WATCHX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000100ull) + ((offset) & 7) * 8)
80 #define CVMX_PIP_RAW_WORD (CVMX_ADD_IO_SEG(0x00011800A00000B0ull))
81 #define CVMX_PIP_SFT_RST (CVMX_ADD_IO_SEG(0x00011800A0000030ull))
82 #define CVMX_PIP_STAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000800ull) + ((offset) & 63) * 80)
83 #define CVMX_PIP_STAT0_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040000ull) + ((offset) & 63) * 128)
84 #define CVMX_PIP_STAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001480ull) + ((offset) & 63) * 16)
85 #define CVMX_PIP_STAT10_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040050ull) + ((offset) & 63) * 128)
86 #define CVMX_PIP_STAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001488ull) + ((offset) & 63) * 16)
87 #define CVMX_PIP_STAT11_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040058ull) + ((offset) & 63) * 128)
88 #define CVMX_PIP_STAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000808ull) + ((offset) & 63) * 80)
89 #define CVMX_PIP_STAT1_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040008ull) + ((offset) & 63) * 128)
90 #define CVMX_PIP_STAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000810ull) + ((offset) & 63) * 80)
91 #define CVMX_PIP_STAT2_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040010ull) + ((offset) & 63) * 128)
92 #define CVMX_PIP_STAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000818ull) + ((offset) & 63) * 80)
93 #define CVMX_PIP_STAT3_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040018ull) + ((offset) & 63) * 128)
94 #define CVMX_PIP_STAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000820ull) + ((offset) & 63) * 80)
95 #define CVMX_PIP_STAT4_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040020ull) + ((offset) & 63) * 128)
96 #define CVMX_PIP_STAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000828ull) + ((offset) & 63) * 80)
97 #define CVMX_PIP_STAT5_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040028ull) + ((offset) & 63) * 128)
98 #define CVMX_PIP_STAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000830ull) + ((offset) & 63) * 80)
99 #define CVMX_PIP_STAT6_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040030ull) + ((offset) & 63) * 128)
100 #define CVMX_PIP_STAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000838ull) + ((offset) & 63) * 80)
101 #define CVMX_PIP_STAT7_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040038ull) + ((offset) & 63) * 128)
102 #define CVMX_PIP_STAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000840ull) + ((offset) & 63) * 80)
103 #define CVMX_PIP_STAT8_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040040ull) + ((offset) & 63) * 128)
104 #define CVMX_PIP_STAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000848ull) + ((offset) & 63) * 80)
105 #define CVMX_PIP_STAT9_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040048ull) + ((offset) & 63) * 128)
106 #define CVMX_PIP_STAT_CTL (CVMX_ADD_IO_SEG(0x00011800A0000018ull))
107 #define CVMX_PIP_STAT_INB_ERRSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A10ull) + ((offset) & 63) * 32)
108 #define CVMX_PIP_STAT_INB_ERRS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020010ull) + ((offset) & 63) * 32)
109 #define CVMX_PIP_STAT_INB_OCTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A08ull) + ((offset) & 63) * 32)
110 #define CVMX_PIP_STAT_INB_OCTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020008ull) + ((offset) & 63) * 32)
111 #define CVMX_PIP_STAT_INB_PKTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A00ull) + ((offset) & 63) * 32)
112 #define CVMX_PIP_STAT_INB_PKTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020000ull) + ((offset) & 63) * 32)
113 #define CVMX_PIP_SUB_PKIND_FCSX(block_id) (CVMX_ADD_IO_SEG(0x00011800A0080000ull))
114 #define CVMX_PIP_TAG_INCX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001800ull) + ((offset) & 63) * 8)
115 #define CVMX_PIP_TAG_MASK (CVMX_ADD_IO_SEG(0x00011800A0000070ull))
116 #define CVMX_PIP_TAG_SECRET (CVMX_ADD_IO_SEG(0x00011800A0000068ull))
117 #define CVMX_PIP_TODO_ENTRY (CVMX_ADD_IO_SEG(0x00011800A0000078ull))
118 #define CVMX_PIP_VLAN_ETYPESX(offset) (CVMX_ADD_IO_SEG(0x00011800A00001C0ull) + ((offset) & 1) * 8)
119 #define CVMX_PIP_XSTAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002000ull) + ((offset) & 63) * 80 - 80*40)
120 #define CVMX_PIP_XSTAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001700ull) + ((offset) & 63) * 16 - 16*40)
121 #define CVMX_PIP_XSTAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001708ull) + ((offset) & 63) * 16 - 16*40)
122 #define CVMX_PIP_XSTAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002008ull) + ((offset) & 63) * 80 - 80*40)
123 #define CVMX_PIP_XSTAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002010ull) + ((offset) & 63) * 80 - 80*40)
124 #define CVMX_PIP_XSTAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002018ull) + ((offset) & 63) * 80 - 80*40)
125 #define CVMX_PIP_XSTAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002020ull) + ((offset) & 63) * 80 - 80*40)
126 #define CVMX_PIP_XSTAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002028ull) + ((offset) & 63) * 80 - 80*40)
127 #define CVMX_PIP_XSTAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002030ull) + ((offset) & 63) * 80 - 80*40)
128 #define CVMX_PIP_XSTAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002038ull) + ((offset) & 63) * 80 - 80*40)
129 #define CVMX_PIP_XSTAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002040ull) + ((offset) & 63) * 80 - 80*40)
130 #define CVMX_PIP_XSTAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002048ull) + ((offset) & 63) * 80 - 80*40)
132 union cvmx_pip_alt_skip_cfgx
{
134 struct cvmx_pip_alt_skip_cfgx_s
{
135 #ifdef __BIG_ENDIAN_BITFIELD
136 uint64_t reserved_57_63
:7;
138 uint64_t reserved_46_55
:10;
140 uint64_t reserved_38_39
:2;
142 uint64_t reserved_23_31
:9;
144 uint64_t reserved_15_15
:1;
146 uint64_t reserved_7_7
:1;
150 uint64_t reserved_7_7
:1;
152 uint64_t reserved_15_15
:1;
154 uint64_t reserved_23_31
:9;
156 uint64_t reserved_38_39
:2;
158 uint64_t reserved_46_55
:10;
160 uint64_t reserved_57_63
:7;
165 union cvmx_pip_bck_prs
{
167 struct cvmx_pip_bck_prs_s
{
168 #ifdef __BIG_ENDIAN_BITFIELD
170 uint64_t reserved_13_62
:50;
172 uint64_t reserved_5_7
:3;
176 uint64_t reserved_5_7
:3;
178 uint64_t reserved_13_62
:50;
184 union cvmx_pip_bist_status
{
186 struct cvmx_pip_bist_status_s
{
187 #ifdef __BIG_ENDIAN_BITFIELD
188 uint64_t reserved_22_63
:42;
192 uint64_t reserved_22_63
:42;
195 struct cvmx_pip_bist_status_cn30xx
{
196 #ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t reserved_18_63
:46;
201 uint64_t reserved_18_63
:46;
204 struct cvmx_pip_bist_status_cn50xx
{
205 #ifdef __BIG_ENDIAN_BITFIELD
206 uint64_t reserved_17_63
:47;
210 uint64_t reserved_17_63
:47;
213 struct cvmx_pip_bist_status_cn61xx
{
214 #ifdef __BIG_ENDIAN_BITFIELD
215 uint64_t reserved_20_63
:44;
219 uint64_t reserved_20_63
:44;
224 union cvmx_pip_bsel_ext_cfgx
{
226 struct cvmx_pip_bsel_ext_cfgx_s
{
227 #ifdef __BIG_ENDIAN_BITFIELD
228 uint64_t reserved_56_63
:8;
229 uint64_t upper_tag
:16;
231 uint64_t reserved_25_31
:7;
233 uint64_t reserved_7_15
:9;
237 uint64_t reserved_7_15
:9;
239 uint64_t reserved_25_31
:7;
241 uint64_t upper_tag
:16;
242 uint64_t reserved_56_63
:8;
247 union cvmx_pip_bsel_ext_posx
{
249 struct cvmx_pip_bsel_ext_posx_s
{
250 #ifdef __BIG_ENDIAN_BITFIELD
288 union cvmx_pip_bsel_tbl_entx
{
290 struct cvmx_pip_bsel_tbl_entx_s
{
291 #ifdef __BIG_ENDIAN_BITFIELD
296 uint64_t reserved_40_59
:20;
298 uint64_t reserved_22_31
:10;
300 uint64_t reserved_10_15
:6;
302 uint64_t reserved_3_7
:5;
306 uint64_t reserved_3_7
:5;
308 uint64_t reserved_10_15
:6;
310 uint64_t reserved_22_31
:10;
312 uint64_t reserved_40_59
:20;
319 struct cvmx_pip_bsel_tbl_entx_cn61xx
{
320 #ifdef __BIG_ENDIAN_BITFIELD
325 uint64_t reserved_40_59
:20;
327 uint64_t reserved_20_31
:12;
329 uint64_t reserved_10_15
:6;
331 uint64_t reserved_3_7
:5;
335 uint64_t reserved_3_7
:5;
337 uint64_t reserved_10_15
:6;
339 uint64_t reserved_20_31
:12;
341 uint64_t reserved_40_59
:20;
350 union cvmx_pip_clken
{
352 struct cvmx_pip_clken_s
{
353 #ifdef __BIG_ENDIAN_BITFIELD
354 uint64_t reserved_1_63
:63;
358 uint64_t reserved_1_63
:63;
363 union cvmx_pip_crc_ctlx
{
365 struct cvmx_pip_crc_ctlx_s
{
366 #ifdef __BIG_ENDIAN_BITFIELD
367 uint64_t reserved_2_63
:62;
373 uint64_t reserved_2_63
:62;
378 union cvmx_pip_crc_ivx
{
380 struct cvmx_pip_crc_ivx_s
{
381 #ifdef __BIG_ENDIAN_BITFIELD
382 uint64_t reserved_32_63
:32;
386 uint64_t reserved_32_63
:32;
391 union cvmx_pip_dec_ipsecx
{
393 struct cvmx_pip_dec_ipsecx_s
{
394 #ifdef __BIG_ENDIAN_BITFIELD
395 uint64_t reserved_18_63
:46;
403 uint64_t reserved_18_63
:46;
408 union cvmx_pip_dsa_src_grp
{
410 struct cvmx_pip_dsa_src_grp_s
{
411 #ifdef __BIG_ENDIAN_BITFIELD
449 union cvmx_pip_dsa_vid_grp
{
451 struct cvmx_pip_dsa_vid_grp_s
{
452 #ifdef __BIG_ENDIAN_BITFIELD
490 union cvmx_pip_frm_len_chkx
{
492 struct cvmx_pip_frm_len_chkx_s
{
493 #ifdef __BIG_ENDIAN_BITFIELD
494 uint64_t reserved_32_63
:32;
500 uint64_t reserved_32_63
:32;
505 union cvmx_pip_gbl_cfg
{
507 struct cvmx_pip_gbl_cfg_s
{
508 #ifdef __BIG_ENDIAN_BITFIELD
509 uint64_t reserved_19_63
:45;
513 uint64_t reserved_11_15
:5;
515 uint64_t reserved_3_7
:5;
519 uint64_t reserved_3_7
:5;
521 uint64_t reserved_11_15
:5;
525 uint64_t reserved_19_63
:45;
530 union cvmx_pip_gbl_ctl
{
532 struct cvmx_pip_gbl_ctl_s
{
533 #ifdef __BIG_ENDIAN_BITFIELD
534 uint64_t reserved_29_63
:35;
536 uint64_t ihmsk_dis
:1;
537 uint64_t dsa_grp_tvid
:1;
538 uint64_t dsa_grp_scmd
:1;
539 uint64_t dsa_grp_sid
:1;
540 uint64_t reserved_21_23
:3;
542 uint64_t reserved_17_19
:3;
552 uint64_t reserved_6_7
:2;
564 uint64_t reserved_6_7
:2;
574 uint64_t reserved_17_19
:3;
576 uint64_t reserved_21_23
:3;
577 uint64_t dsa_grp_sid
:1;
578 uint64_t dsa_grp_scmd
:1;
579 uint64_t dsa_grp_tvid
:1;
580 uint64_t ihmsk_dis
:1;
582 uint64_t reserved_29_63
:35;
585 struct cvmx_pip_gbl_ctl_cn30xx
{
586 #ifdef __BIG_ENDIAN_BITFIELD
587 uint64_t reserved_17_63
:47;
597 uint64_t reserved_6_7
:2;
609 uint64_t reserved_6_7
:2;
619 uint64_t reserved_17_63
:47;
622 struct cvmx_pip_gbl_ctl_cn52xx
{
623 #ifdef __BIG_ENDIAN_BITFIELD
624 uint64_t reserved_27_63
:37;
625 uint64_t dsa_grp_tvid
:1;
626 uint64_t dsa_grp_scmd
:1;
627 uint64_t dsa_grp_sid
:1;
628 uint64_t reserved_21_23
:3;
630 uint64_t reserved_17_19
:3;
640 uint64_t reserved_6_7
:2;
652 uint64_t reserved_6_7
:2;
662 uint64_t reserved_17_19
:3;
664 uint64_t reserved_21_23
:3;
665 uint64_t dsa_grp_sid
:1;
666 uint64_t dsa_grp_scmd
:1;
667 uint64_t dsa_grp_tvid
:1;
668 uint64_t reserved_27_63
:37;
671 struct cvmx_pip_gbl_ctl_cn56xxp1
{
672 #ifdef __BIG_ENDIAN_BITFIELD
673 uint64_t reserved_21_63
:43;
675 uint64_t reserved_17_19
:3;
685 uint64_t reserved_6_7
:2;
697 uint64_t reserved_6_7
:2;
707 uint64_t reserved_17_19
:3;
709 uint64_t reserved_21_63
:43;
712 struct cvmx_pip_gbl_ctl_cn61xx
{
713 #ifdef __BIG_ENDIAN_BITFIELD
714 uint64_t reserved_28_63
:36;
715 uint64_t ihmsk_dis
:1;
716 uint64_t dsa_grp_tvid
:1;
717 uint64_t dsa_grp_scmd
:1;
718 uint64_t dsa_grp_sid
:1;
719 uint64_t reserved_21_23
:3;
721 uint64_t reserved_17_19
:3;
731 uint64_t reserved_6_7
:2;
743 uint64_t reserved_6_7
:2;
753 uint64_t reserved_17_19
:3;
755 uint64_t reserved_21_23
:3;
756 uint64_t dsa_grp_sid
:1;
757 uint64_t dsa_grp_scmd
:1;
758 uint64_t dsa_grp_tvid
:1;
759 uint64_t ihmsk_dis
:1;
760 uint64_t reserved_28_63
:36;
763 struct cvmx_pip_gbl_ctl_cn68xx
{
764 #ifdef __BIG_ENDIAN_BITFIELD
765 uint64_t reserved_29_63
:35;
767 uint64_t ihmsk_dis
:1;
768 uint64_t dsa_grp_tvid
:1;
769 uint64_t dsa_grp_scmd
:1;
770 uint64_t dsa_grp_sid
:1;
771 uint64_t reserved_17_23
:7;
781 uint64_t reserved_6_7
:2;
793 uint64_t reserved_6_7
:2;
803 uint64_t reserved_17_23
:7;
804 uint64_t dsa_grp_sid
:1;
805 uint64_t dsa_grp_scmd
:1;
806 uint64_t dsa_grp_tvid
:1;
807 uint64_t ihmsk_dis
:1;
809 uint64_t reserved_29_63
:35;
812 struct cvmx_pip_gbl_ctl_cn68xxp1
{
813 #ifdef __BIG_ENDIAN_BITFIELD
814 uint64_t reserved_28_63
:36;
815 uint64_t ihmsk_dis
:1;
816 uint64_t dsa_grp_tvid
:1;
817 uint64_t dsa_grp_scmd
:1;
818 uint64_t dsa_grp_sid
:1;
819 uint64_t reserved_17_23
:7;
829 uint64_t reserved_6_7
:2;
841 uint64_t reserved_6_7
:2;
851 uint64_t reserved_17_23
:7;
852 uint64_t dsa_grp_sid
:1;
853 uint64_t dsa_grp_scmd
:1;
854 uint64_t dsa_grp_tvid
:1;
855 uint64_t ihmsk_dis
:1;
856 uint64_t reserved_28_63
:36;
861 union cvmx_pip_hg_pri_qos
{
863 struct cvmx_pip_hg_pri_qos_s
{
864 #ifdef __BIG_ENDIAN_BITFIELD
865 uint64_t reserved_13_63
:51;
867 uint64_t reserved_11_11
:1;
869 uint64_t reserved_6_7
:2;
873 uint64_t reserved_6_7
:2;
875 uint64_t reserved_11_11
:1;
877 uint64_t reserved_13_63
:51;
882 union cvmx_pip_int_en
{
884 struct cvmx_pip_int_en_s
{
885 #ifdef __BIG_ENDIAN_BITFIELD
886 uint64_t reserved_13_63
:51;
914 uint64_t reserved_13_63
:51;
917 struct cvmx_pip_int_en_cn30xx
{
918 #ifdef __BIG_ENDIAN_BITFIELD
919 uint64_t reserved_9_63
:55;
939 uint64_t reserved_9_63
:55;
942 struct cvmx_pip_int_en_cn50xx
{
943 #ifdef __BIG_ENDIAN_BITFIELD
944 uint64_t reserved_12_63
:52;
955 uint64_t reserved_1_1
:1;
959 uint64_t reserved_1_1
:1;
970 uint64_t reserved_12_63
:52;
973 struct cvmx_pip_int_en_cn52xx
{
974 #ifdef __BIG_ENDIAN_BITFIELD
975 uint64_t reserved_13_63
:51;
987 uint64_t reserved_1_1
:1;
991 uint64_t reserved_1_1
:1;
1003 uint64_t reserved_13_63
:51;
1006 struct cvmx_pip_int_en_cn56xxp1
{
1007 #ifdef __BIG_ENDIAN_BITFIELD
1008 uint64_t reserved_12_63
:52;
1034 uint64_t reserved_12_63
:52;
1037 struct cvmx_pip_int_en_cn58xx
{
1038 #ifdef __BIG_ENDIAN_BITFIELD
1039 uint64_t reserved_13_63
:51;
1041 uint64_t reserved_9_11
:3;
1061 uint64_t reserved_9_11
:3;
1063 uint64_t reserved_13_63
:51;
1068 union cvmx_pip_int_reg
{
1070 struct cvmx_pip_int_reg_s
{
1071 #ifdef __BIG_ENDIAN_BITFIELD
1072 uint64_t reserved_13_63
:51;
1100 uint64_t reserved_13_63
:51;
1103 struct cvmx_pip_int_reg_cn30xx
{
1104 #ifdef __BIG_ENDIAN_BITFIELD
1105 uint64_t reserved_9_63
:55;
1125 uint64_t reserved_9_63
:55;
1128 struct cvmx_pip_int_reg_cn50xx
{
1129 #ifdef __BIG_ENDIAN_BITFIELD
1130 uint64_t reserved_12_63
:52;
1141 uint64_t reserved_1_1
:1;
1145 uint64_t reserved_1_1
:1;
1156 uint64_t reserved_12_63
:52;
1159 struct cvmx_pip_int_reg_cn52xx
{
1160 #ifdef __BIG_ENDIAN_BITFIELD
1161 uint64_t reserved_13_63
:51;
1173 uint64_t reserved_1_1
:1;
1177 uint64_t reserved_1_1
:1;
1189 uint64_t reserved_13_63
:51;
1192 struct cvmx_pip_int_reg_cn56xxp1
{
1193 #ifdef __BIG_ENDIAN_BITFIELD
1194 uint64_t reserved_12_63
:52;
1220 uint64_t reserved_12_63
:52;
1223 struct cvmx_pip_int_reg_cn58xx
{
1224 #ifdef __BIG_ENDIAN_BITFIELD
1225 uint64_t reserved_13_63
:51;
1227 uint64_t reserved_9_11
:3;
1247 uint64_t reserved_9_11
:3;
1249 uint64_t reserved_13_63
:51;
1254 union cvmx_pip_ip_offset
{
1256 struct cvmx_pip_ip_offset_s
{
1257 #ifdef __BIG_ENDIAN_BITFIELD
1258 uint64_t reserved_3_63
:61;
1262 uint64_t reserved_3_63
:61;
1267 union cvmx_pip_pri_tblx
{
1269 struct cvmx_pip_pri_tblx_s
{
1270 #ifdef __BIG_ENDIAN_BITFIELD
1271 uint64_t diff2_padd
:8;
1272 uint64_t hg2_padd
:8;
1273 uint64_t vlan2_padd
:8;
1274 uint64_t reserved_38_39
:2;
1275 uint64_t diff2_bpid
:6;
1276 uint64_t reserved_30_31
:2;
1277 uint64_t hg2_bpid
:6;
1278 uint64_t reserved_22_23
:2;
1279 uint64_t vlan2_bpid
:6;
1280 uint64_t reserved_11_15
:5;
1281 uint64_t diff2_qos
:3;
1282 uint64_t reserved_7_7
:1;
1284 uint64_t reserved_3_3
:1;
1285 uint64_t vlan2_qos
:3;
1287 uint64_t vlan2_qos
:3;
1288 uint64_t reserved_3_3
:1;
1290 uint64_t reserved_7_7
:1;
1291 uint64_t diff2_qos
:3;
1292 uint64_t reserved_11_15
:5;
1293 uint64_t vlan2_bpid
:6;
1294 uint64_t reserved_22_23
:2;
1295 uint64_t hg2_bpid
:6;
1296 uint64_t reserved_30_31
:2;
1297 uint64_t diff2_bpid
:6;
1298 uint64_t reserved_38_39
:2;
1299 uint64_t vlan2_padd
:8;
1300 uint64_t hg2_padd
:8;
1301 uint64_t diff2_padd
:8;
1306 union cvmx_pip_prt_cfgx
{
1308 struct cvmx_pip_prt_cfgx_s
{
1309 #ifdef __BIG_ENDIAN_BITFIELD
1310 uint64_t reserved_55_63
:9;
1312 uint64_t len_chk_sel
:1;
1314 uint64_t vlan_len
:1;
1315 uint64_t lenerr_en
:1;
1316 uint64_t maxerr_en
:1;
1317 uint64_t minerr_en
:1;
1318 uint64_t grp_wat_47
:4;
1319 uint64_t qos_wat_47
:4;
1320 uint64_t reserved_37_39
:3;
1324 uint64_t inst_hdr
:1;
1329 uint64_t qos_vsel
:1;
1331 uint64_t qos_diff
:1;
1332 uint64_t qos_vlan
:1;
1333 uint64_t reserved_13_15
:3;
1335 uint64_t higig_en
:1;
1338 uint64_t reserved_7_7
:1;
1342 uint64_t reserved_7_7
:1;
1345 uint64_t higig_en
:1;
1347 uint64_t reserved_13_15
:3;
1348 uint64_t qos_vlan
:1;
1349 uint64_t qos_diff
:1;
1351 uint64_t qos_vsel
:1;
1356 uint64_t inst_hdr
:1;
1360 uint64_t reserved_37_39
:3;
1361 uint64_t qos_wat_47
:4;
1362 uint64_t grp_wat_47
:4;
1363 uint64_t minerr_en
:1;
1364 uint64_t maxerr_en
:1;
1365 uint64_t lenerr_en
:1;
1366 uint64_t vlan_len
:1;
1368 uint64_t len_chk_sel
:1;
1370 uint64_t reserved_55_63
:9;
1373 struct cvmx_pip_prt_cfgx_cn30xx
{
1374 #ifdef __BIG_ENDIAN_BITFIELD
1375 uint64_t reserved_37_63
:27;
1379 uint64_t inst_hdr
:1;
1381 uint64_t reserved_27_27
:1;
1384 uint64_t reserved_18_19
:2;
1385 uint64_t qos_diff
:1;
1386 uint64_t qos_vlan
:1;
1387 uint64_t reserved_10_15
:6;
1389 uint64_t reserved_7_7
:1;
1393 uint64_t reserved_7_7
:1;
1395 uint64_t reserved_10_15
:6;
1396 uint64_t qos_vlan
:1;
1397 uint64_t qos_diff
:1;
1398 uint64_t reserved_18_19
:2;
1401 uint64_t reserved_27_27
:1;
1403 uint64_t inst_hdr
:1;
1407 uint64_t reserved_37_63
:27;
1410 struct cvmx_pip_prt_cfgx_cn38xx
{
1411 #ifdef __BIG_ENDIAN_BITFIELD
1412 uint64_t reserved_37_63
:27;
1416 uint64_t inst_hdr
:1;
1418 uint64_t reserved_27_27
:1;
1421 uint64_t reserved_18_19
:2;
1422 uint64_t qos_diff
:1;
1423 uint64_t qos_vlan
:1;
1424 uint64_t reserved_13_15
:3;
1426 uint64_t reserved_10_11
:2;
1428 uint64_t reserved_7_7
:1;
1432 uint64_t reserved_7_7
:1;
1434 uint64_t reserved_10_11
:2;
1436 uint64_t reserved_13_15
:3;
1437 uint64_t qos_vlan
:1;
1438 uint64_t qos_diff
:1;
1439 uint64_t reserved_18_19
:2;
1442 uint64_t reserved_27_27
:1;
1444 uint64_t inst_hdr
:1;
1448 uint64_t reserved_37_63
:27;
1451 struct cvmx_pip_prt_cfgx_cn50xx
{
1452 #ifdef __BIG_ENDIAN_BITFIELD
1453 uint64_t reserved_53_63
:11;
1455 uint64_t vlan_len
:1;
1456 uint64_t lenerr_en
:1;
1457 uint64_t maxerr_en
:1;
1458 uint64_t minerr_en
:1;
1459 uint64_t grp_wat_47
:4;
1460 uint64_t qos_wat_47
:4;
1461 uint64_t reserved_37_39
:3;
1465 uint64_t inst_hdr
:1;
1467 uint64_t reserved_27_27
:1;
1470 uint64_t reserved_19_19
:1;
1472 uint64_t qos_diff
:1;
1473 uint64_t qos_vlan
:1;
1474 uint64_t reserved_13_15
:3;
1476 uint64_t reserved_10_11
:2;
1478 uint64_t reserved_7_7
:1;
1482 uint64_t reserved_7_7
:1;
1484 uint64_t reserved_10_11
:2;
1486 uint64_t reserved_13_15
:3;
1487 uint64_t qos_vlan
:1;
1488 uint64_t qos_diff
:1;
1490 uint64_t reserved_19_19
:1;
1493 uint64_t reserved_27_27
:1;
1495 uint64_t inst_hdr
:1;
1499 uint64_t reserved_37_39
:3;
1500 uint64_t qos_wat_47
:4;
1501 uint64_t grp_wat_47
:4;
1502 uint64_t minerr_en
:1;
1503 uint64_t maxerr_en
:1;
1504 uint64_t lenerr_en
:1;
1505 uint64_t vlan_len
:1;
1507 uint64_t reserved_53_63
:11;
1510 struct cvmx_pip_prt_cfgx_cn52xx
{
1511 #ifdef __BIG_ENDIAN_BITFIELD
1512 uint64_t reserved_53_63
:11;
1514 uint64_t vlan_len
:1;
1515 uint64_t lenerr_en
:1;
1516 uint64_t maxerr_en
:1;
1517 uint64_t minerr_en
:1;
1518 uint64_t grp_wat_47
:4;
1519 uint64_t qos_wat_47
:4;
1520 uint64_t reserved_37_39
:3;
1524 uint64_t inst_hdr
:1;
1529 uint64_t qos_vsel
:1;
1531 uint64_t qos_diff
:1;
1532 uint64_t qos_vlan
:1;
1533 uint64_t reserved_13_15
:3;
1535 uint64_t higig_en
:1;
1538 uint64_t reserved_7_7
:1;
1542 uint64_t reserved_7_7
:1;
1545 uint64_t higig_en
:1;
1547 uint64_t reserved_13_15
:3;
1548 uint64_t qos_vlan
:1;
1549 uint64_t qos_diff
:1;
1551 uint64_t qos_vsel
:1;
1556 uint64_t inst_hdr
:1;
1560 uint64_t reserved_37_39
:3;
1561 uint64_t qos_wat_47
:4;
1562 uint64_t grp_wat_47
:4;
1563 uint64_t minerr_en
:1;
1564 uint64_t maxerr_en
:1;
1565 uint64_t lenerr_en
:1;
1566 uint64_t vlan_len
:1;
1568 uint64_t reserved_53_63
:11;
1571 struct cvmx_pip_prt_cfgx_cn58xx
{
1572 #ifdef __BIG_ENDIAN_BITFIELD
1573 uint64_t reserved_37_63
:27;
1577 uint64_t inst_hdr
:1;
1579 uint64_t reserved_27_27
:1;
1582 uint64_t reserved_19_19
:1;
1584 uint64_t qos_diff
:1;
1585 uint64_t qos_vlan
:1;
1586 uint64_t reserved_13_15
:3;
1588 uint64_t reserved_10_11
:2;
1590 uint64_t reserved_7_7
:1;
1594 uint64_t reserved_7_7
:1;
1596 uint64_t reserved_10_11
:2;
1598 uint64_t reserved_13_15
:3;
1599 uint64_t qos_vlan
:1;
1600 uint64_t qos_diff
:1;
1602 uint64_t reserved_19_19
:1;
1605 uint64_t reserved_27_27
:1;
1607 uint64_t inst_hdr
:1;
1611 uint64_t reserved_37_63
:27;
1614 struct cvmx_pip_prt_cfgx_cn68xx
{
1615 #ifdef __BIG_ENDIAN_BITFIELD
1616 uint64_t reserved_55_63
:9;
1618 uint64_t len_chk_sel
:1;
1620 uint64_t vlan_len
:1;
1621 uint64_t lenerr_en
:1;
1622 uint64_t maxerr_en
:1;
1623 uint64_t minerr_en
:1;
1624 uint64_t grp_wat_47
:4;
1625 uint64_t qos_wat_47
:4;
1626 uint64_t reserved_37_39
:3;
1630 uint64_t inst_hdr
:1;
1635 uint64_t reserved_19_19
:1;
1637 uint64_t qos_diff
:1;
1638 uint64_t qos_vlan
:1;
1639 uint64_t reserved_13_15
:3;
1641 uint64_t higig_en
:1;
1644 uint64_t reserved_7_7
:1;
1648 uint64_t reserved_7_7
:1;
1651 uint64_t higig_en
:1;
1653 uint64_t reserved_13_15
:3;
1654 uint64_t qos_vlan
:1;
1655 uint64_t qos_diff
:1;
1657 uint64_t reserved_19_19
:1;
1662 uint64_t inst_hdr
:1;
1666 uint64_t reserved_37_39
:3;
1667 uint64_t qos_wat_47
:4;
1668 uint64_t grp_wat_47
:4;
1669 uint64_t minerr_en
:1;
1670 uint64_t maxerr_en
:1;
1671 uint64_t lenerr_en
:1;
1672 uint64_t vlan_len
:1;
1674 uint64_t len_chk_sel
:1;
1676 uint64_t reserved_55_63
:9;
1681 union cvmx_pip_prt_cfgbx
{
1683 struct cvmx_pip_prt_cfgbx_s
{
1684 #ifdef __BIG_ENDIAN_BITFIELD
1685 uint64_t reserved_39_63
:25;
1686 uint64_t alt_skp_sel
:2;
1687 uint64_t alt_skp_en
:1;
1688 uint64_t reserved_35_35
:1;
1689 uint64_t bsel_num
:2;
1691 uint64_t reserved_24_31
:8;
1693 uint64_t reserved_6_15
:10;
1697 uint64_t reserved_6_15
:10;
1699 uint64_t reserved_24_31
:8;
1701 uint64_t bsel_num
:2;
1702 uint64_t reserved_35_35
:1;
1703 uint64_t alt_skp_en
:1;
1704 uint64_t alt_skp_sel
:2;
1705 uint64_t reserved_39_63
:25;
1708 struct cvmx_pip_prt_cfgbx_cn61xx
{
1709 #ifdef __BIG_ENDIAN_BITFIELD
1710 uint64_t reserved_39_63
:25;
1711 uint64_t alt_skp_sel
:2;
1712 uint64_t alt_skp_en
:1;
1713 uint64_t reserved_35_35
:1;
1714 uint64_t bsel_num
:2;
1716 uint64_t reserved_0_31
:32;
1718 uint64_t reserved_0_31
:32;
1720 uint64_t bsel_num
:2;
1721 uint64_t reserved_35_35
:1;
1722 uint64_t alt_skp_en
:1;
1723 uint64_t alt_skp_sel
:2;
1724 uint64_t reserved_39_63
:25;
1727 struct cvmx_pip_prt_cfgbx_cn66xx
{
1728 #ifdef __BIG_ENDIAN_BITFIELD
1729 uint64_t reserved_39_63
:25;
1730 uint64_t alt_skp_sel
:2;
1731 uint64_t alt_skp_en
:1;
1732 uint64_t reserved_0_35
:36;
1734 uint64_t reserved_0_35
:36;
1735 uint64_t alt_skp_en
:1;
1736 uint64_t alt_skp_sel
:2;
1737 uint64_t reserved_39_63
:25;
1740 struct cvmx_pip_prt_cfgbx_cn68xxp1
{
1741 #ifdef __BIG_ENDIAN_BITFIELD
1742 uint64_t reserved_24_63
:40;
1744 uint64_t reserved_6_15
:10;
1748 uint64_t reserved_6_15
:10;
1750 uint64_t reserved_24_63
:40;
1755 union cvmx_pip_prt_tagx
{
1757 struct cvmx_pip_prt_tagx_s
{
1758 #ifdef __BIG_ENDIAN_BITFIELD
1759 uint64_t reserved_54_63
:10;
1760 uint64_t portadd_en
:1;
1761 uint64_t inc_hwchk
:1;
1762 uint64_t reserved_50_51
:2;
1763 uint64_t grptagbase_msb
:2;
1764 uint64_t reserved_46_47
:2;
1765 uint64_t grptagmask_msb
:2;
1766 uint64_t reserved_42_43
:2;
1768 uint64_t grptagbase
:4;
1769 uint64_t grptagmask
:4;
1771 uint64_t grptag_mskip
:1;
1772 uint64_t tag_mode
:2;
1774 uint64_t inc_vlan
:1;
1775 uint64_t inc_prt_flag
:1;
1776 uint64_t ip6_dprt_flag
:1;
1777 uint64_t ip4_dprt_flag
:1;
1778 uint64_t ip6_sprt_flag
:1;
1779 uint64_t ip4_sprt_flag
:1;
1780 uint64_t ip6_nxth_flag
:1;
1781 uint64_t ip4_pctl_flag
:1;
1782 uint64_t ip6_dst_flag
:1;
1783 uint64_t ip4_dst_flag
:1;
1784 uint64_t ip6_src_flag
:1;
1785 uint64_t ip4_src_flag
:1;
1786 uint64_t tcp6_tag_type
:2;
1787 uint64_t tcp4_tag_type
:2;
1788 uint64_t ip6_tag_type
:2;
1789 uint64_t ip4_tag_type
:2;
1790 uint64_t non_tag_type
:2;
1794 uint64_t non_tag_type
:2;
1795 uint64_t ip4_tag_type
:2;
1796 uint64_t ip6_tag_type
:2;
1797 uint64_t tcp4_tag_type
:2;
1798 uint64_t tcp6_tag_type
:2;
1799 uint64_t ip4_src_flag
:1;
1800 uint64_t ip6_src_flag
:1;
1801 uint64_t ip4_dst_flag
:1;
1802 uint64_t ip6_dst_flag
:1;
1803 uint64_t ip4_pctl_flag
:1;
1804 uint64_t ip6_nxth_flag
:1;
1805 uint64_t ip4_sprt_flag
:1;
1806 uint64_t ip6_sprt_flag
:1;
1807 uint64_t ip4_dprt_flag
:1;
1808 uint64_t ip6_dprt_flag
:1;
1809 uint64_t inc_prt_flag
:1;
1810 uint64_t inc_vlan
:1;
1812 uint64_t tag_mode
:2;
1813 uint64_t grptag_mskip
:1;
1815 uint64_t grptagmask
:4;
1816 uint64_t grptagbase
:4;
1818 uint64_t reserved_42_43
:2;
1819 uint64_t grptagmask_msb
:2;
1820 uint64_t reserved_46_47
:2;
1821 uint64_t grptagbase_msb
:2;
1822 uint64_t reserved_50_51
:2;
1823 uint64_t inc_hwchk
:1;
1824 uint64_t portadd_en
:1;
1825 uint64_t reserved_54_63
:10;
1828 struct cvmx_pip_prt_tagx_cn30xx
{
1829 #ifdef __BIG_ENDIAN_BITFIELD
1830 uint64_t reserved_40_63
:24;
1831 uint64_t grptagbase
:4;
1832 uint64_t grptagmask
:4;
1834 uint64_t reserved_30_30
:1;
1835 uint64_t tag_mode
:2;
1837 uint64_t inc_vlan
:1;
1838 uint64_t inc_prt_flag
:1;
1839 uint64_t ip6_dprt_flag
:1;
1840 uint64_t ip4_dprt_flag
:1;
1841 uint64_t ip6_sprt_flag
:1;
1842 uint64_t ip4_sprt_flag
:1;
1843 uint64_t ip6_nxth_flag
:1;
1844 uint64_t ip4_pctl_flag
:1;
1845 uint64_t ip6_dst_flag
:1;
1846 uint64_t ip4_dst_flag
:1;
1847 uint64_t ip6_src_flag
:1;
1848 uint64_t ip4_src_flag
:1;
1849 uint64_t tcp6_tag_type
:2;
1850 uint64_t tcp4_tag_type
:2;
1851 uint64_t ip6_tag_type
:2;
1852 uint64_t ip4_tag_type
:2;
1853 uint64_t non_tag_type
:2;
1857 uint64_t non_tag_type
:2;
1858 uint64_t ip4_tag_type
:2;
1859 uint64_t ip6_tag_type
:2;
1860 uint64_t tcp4_tag_type
:2;
1861 uint64_t tcp6_tag_type
:2;
1862 uint64_t ip4_src_flag
:1;
1863 uint64_t ip6_src_flag
:1;
1864 uint64_t ip4_dst_flag
:1;
1865 uint64_t ip6_dst_flag
:1;
1866 uint64_t ip4_pctl_flag
:1;
1867 uint64_t ip6_nxth_flag
:1;
1868 uint64_t ip4_sprt_flag
:1;
1869 uint64_t ip6_sprt_flag
:1;
1870 uint64_t ip4_dprt_flag
:1;
1871 uint64_t ip6_dprt_flag
:1;
1872 uint64_t inc_prt_flag
:1;
1873 uint64_t inc_vlan
:1;
1875 uint64_t tag_mode
:2;
1876 uint64_t reserved_30_30
:1;
1878 uint64_t grptagmask
:4;
1879 uint64_t grptagbase
:4;
1880 uint64_t reserved_40_63
:24;
1883 struct cvmx_pip_prt_tagx_cn50xx
{
1884 #ifdef __BIG_ENDIAN_BITFIELD
1885 uint64_t reserved_40_63
:24;
1886 uint64_t grptagbase
:4;
1887 uint64_t grptagmask
:4;
1889 uint64_t grptag_mskip
:1;
1890 uint64_t tag_mode
:2;
1892 uint64_t inc_vlan
:1;
1893 uint64_t inc_prt_flag
:1;
1894 uint64_t ip6_dprt_flag
:1;
1895 uint64_t ip4_dprt_flag
:1;
1896 uint64_t ip6_sprt_flag
:1;
1897 uint64_t ip4_sprt_flag
:1;
1898 uint64_t ip6_nxth_flag
:1;
1899 uint64_t ip4_pctl_flag
:1;
1900 uint64_t ip6_dst_flag
:1;
1901 uint64_t ip4_dst_flag
:1;
1902 uint64_t ip6_src_flag
:1;
1903 uint64_t ip4_src_flag
:1;
1904 uint64_t tcp6_tag_type
:2;
1905 uint64_t tcp4_tag_type
:2;
1906 uint64_t ip6_tag_type
:2;
1907 uint64_t ip4_tag_type
:2;
1908 uint64_t non_tag_type
:2;
1912 uint64_t non_tag_type
:2;
1913 uint64_t ip4_tag_type
:2;
1914 uint64_t ip6_tag_type
:2;
1915 uint64_t tcp4_tag_type
:2;
1916 uint64_t tcp6_tag_type
:2;
1917 uint64_t ip4_src_flag
:1;
1918 uint64_t ip6_src_flag
:1;
1919 uint64_t ip4_dst_flag
:1;
1920 uint64_t ip6_dst_flag
:1;
1921 uint64_t ip4_pctl_flag
:1;
1922 uint64_t ip6_nxth_flag
:1;
1923 uint64_t ip4_sprt_flag
:1;
1924 uint64_t ip6_sprt_flag
:1;
1925 uint64_t ip4_dprt_flag
:1;
1926 uint64_t ip6_dprt_flag
:1;
1927 uint64_t inc_prt_flag
:1;
1928 uint64_t inc_vlan
:1;
1930 uint64_t tag_mode
:2;
1931 uint64_t grptag_mskip
:1;
1933 uint64_t grptagmask
:4;
1934 uint64_t grptagbase
:4;
1935 uint64_t reserved_40_63
:24;
1940 union cvmx_pip_qos_diffx
{
1942 struct cvmx_pip_qos_diffx_s
{
1943 #ifdef __BIG_ENDIAN_BITFIELD
1944 uint64_t reserved_3_63
:61;
1948 uint64_t reserved_3_63
:61;
1953 union cvmx_pip_qos_vlanx
{
1955 struct cvmx_pip_qos_vlanx_s
{
1956 #ifdef __BIG_ENDIAN_BITFIELD
1957 uint64_t reserved_7_63
:57;
1959 uint64_t reserved_3_3
:1;
1963 uint64_t reserved_3_3
:1;
1965 uint64_t reserved_7_63
:57;
1968 struct cvmx_pip_qos_vlanx_cn30xx
{
1969 #ifdef __BIG_ENDIAN_BITFIELD
1970 uint64_t reserved_3_63
:61;
1974 uint64_t reserved_3_63
:61;
1979 union cvmx_pip_qos_watchx
{
1981 struct cvmx_pip_qos_watchx_s
{
1982 #ifdef __BIG_ENDIAN_BITFIELD
1983 uint64_t reserved_48_63
:16;
1985 uint64_t reserved_30_31
:2;
1987 uint64_t reserved_23_23
:1;
1989 uint64_t reserved_19_19
:1;
1990 uint64_t match_type
:3;
1991 uint64_t match_value
:16;
1993 uint64_t match_value
:16;
1994 uint64_t match_type
:3;
1995 uint64_t reserved_19_19
:1;
1997 uint64_t reserved_23_23
:1;
1999 uint64_t reserved_30_31
:2;
2001 uint64_t reserved_48_63
:16;
2004 struct cvmx_pip_qos_watchx_cn30xx
{
2005 #ifdef __BIG_ENDIAN_BITFIELD
2006 uint64_t reserved_48_63
:16;
2008 uint64_t reserved_28_31
:4;
2010 uint64_t reserved_23_23
:1;
2012 uint64_t reserved_18_19
:2;
2013 uint64_t match_type
:2;
2014 uint64_t match_value
:16;
2016 uint64_t match_value
:16;
2017 uint64_t match_type
:2;
2018 uint64_t reserved_18_19
:2;
2020 uint64_t reserved_23_23
:1;
2022 uint64_t reserved_28_31
:4;
2024 uint64_t reserved_48_63
:16;
2027 struct cvmx_pip_qos_watchx_cn50xx
{
2028 #ifdef __BIG_ENDIAN_BITFIELD
2029 uint64_t reserved_48_63
:16;
2031 uint64_t reserved_28_31
:4;
2033 uint64_t reserved_23_23
:1;
2035 uint64_t reserved_19_19
:1;
2036 uint64_t match_type
:3;
2037 uint64_t match_value
:16;
2039 uint64_t match_value
:16;
2040 uint64_t match_type
:3;
2041 uint64_t reserved_19_19
:1;
2043 uint64_t reserved_23_23
:1;
2045 uint64_t reserved_28_31
:4;
2047 uint64_t reserved_48_63
:16;
2052 union cvmx_pip_raw_word
{
2054 struct cvmx_pip_raw_word_s
{
2055 #ifdef __BIG_ENDIAN_BITFIELD
2056 uint64_t reserved_56_63
:8;
2060 uint64_t reserved_56_63
:8;
2065 union cvmx_pip_sft_rst
{
2067 struct cvmx_pip_sft_rst_s
{
2068 #ifdef __BIG_ENDIAN_BITFIELD
2069 uint64_t reserved_1_63
:63;
2073 uint64_t reserved_1_63
:63;
2078 union cvmx_pip_stat0_x
{
2080 struct cvmx_pip_stat0_x_s
{
2081 #ifdef __BIG_ENDIAN_BITFIELD
2082 uint64_t drp_pkts
:32;
2083 uint64_t drp_octs
:32;
2085 uint64_t drp_octs
:32;
2086 uint64_t drp_pkts
:32;
2091 union cvmx_pip_stat0_prtx
{
2093 struct cvmx_pip_stat0_prtx_s
{
2094 #ifdef __BIG_ENDIAN_BITFIELD
2095 uint64_t drp_pkts
:32;
2096 uint64_t drp_octs
:32;
2098 uint64_t drp_octs
:32;
2099 uint64_t drp_pkts
:32;
2104 union cvmx_pip_stat10_x
{
2106 struct cvmx_pip_stat10_x_s
{
2107 #ifdef __BIG_ENDIAN_BITFIELD
2117 union cvmx_pip_stat10_prtx
{
2119 struct cvmx_pip_stat10_prtx_s
{
2120 #ifdef __BIG_ENDIAN_BITFIELD
2130 union cvmx_pip_stat11_x
{
2132 struct cvmx_pip_stat11_x_s
{
2133 #ifdef __BIG_ENDIAN_BITFIELD
2143 union cvmx_pip_stat11_prtx
{
2145 struct cvmx_pip_stat11_prtx_s
{
2146 #ifdef __BIG_ENDIAN_BITFIELD
2156 union cvmx_pip_stat1_x
{
2158 struct cvmx_pip_stat1_x_s
{
2159 #ifdef __BIG_ENDIAN_BITFIELD
2160 uint64_t reserved_48_63
:16;
2164 uint64_t reserved_48_63
:16;
2169 union cvmx_pip_stat1_prtx
{
2171 struct cvmx_pip_stat1_prtx_s
{
2172 #ifdef __BIG_ENDIAN_BITFIELD
2173 uint64_t reserved_48_63
:16;
2177 uint64_t reserved_48_63
:16;
2182 union cvmx_pip_stat2_x
{
2184 struct cvmx_pip_stat2_x_s
{
2185 #ifdef __BIG_ENDIAN_BITFIELD
2195 union cvmx_pip_stat2_prtx
{
2197 struct cvmx_pip_stat2_prtx_s
{
2198 #ifdef __BIG_ENDIAN_BITFIELD
2208 union cvmx_pip_stat3_x
{
2210 struct cvmx_pip_stat3_x_s
{
2211 #ifdef __BIG_ENDIAN_BITFIELD
2221 union cvmx_pip_stat3_prtx
{
2223 struct cvmx_pip_stat3_prtx_s
{
2224 #ifdef __BIG_ENDIAN_BITFIELD
2234 union cvmx_pip_stat4_x
{
2236 struct cvmx_pip_stat4_x_s
{
2237 #ifdef __BIG_ENDIAN_BITFIELD
2238 uint64_t h65to127
:32;
2242 uint64_t h65to127
:32;
2247 union cvmx_pip_stat4_prtx
{
2249 struct cvmx_pip_stat4_prtx_s
{
2250 #ifdef __BIG_ENDIAN_BITFIELD
2251 uint64_t h65to127
:32;
2255 uint64_t h65to127
:32;
2260 union cvmx_pip_stat5_x
{
2262 struct cvmx_pip_stat5_x_s
{
2263 #ifdef __BIG_ENDIAN_BITFIELD
2264 uint64_t h256to511
:32;
2265 uint64_t h128to255
:32;
2267 uint64_t h128to255
:32;
2268 uint64_t h256to511
:32;
2273 union cvmx_pip_stat5_prtx
{
2275 struct cvmx_pip_stat5_prtx_s
{
2276 #ifdef __BIG_ENDIAN_BITFIELD
2277 uint64_t h256to511
:32;
2278 uint64_t h128to255
:32;
2280 uint64_t h128to255
:32;
2281 uint64_t h256to511
:32;
2286 union cvmx_pip_stat6_x
{
2288 struct cvmx_pip_stat6_x_s
{
2289 #ifdef __BIG_ENDIAN_BITFIELD
2290 uint64_t h1024to1518
:32;
2291 uint64_t h512to1023
:32;
2293 uint64_t h512to1023
:32;
2294 uint64_t h1024to1518
:32;
2299 union cvmx_pip_stat6_prtx
{
2301 struct cvmx_pip_stat6_prtx_s
{
2302 #ifdef __BIG_ENDIAN_BITFIELD
2303 uint64_t h1024to1518
:32;
2304 uint64_t h512to1023
:32;
2306 uint64_t h512to1023
:32;
2307 uint64_t h1024to1518
:32;
2312 union cvmx_pip_stat7_x
{
2314 struct cvmx_pip_stat7_x_s
{
2315 #ifdef __BIG_ENDIAN_BITFIELD
2325 union cvmx_pip_stat7_prtx
{
2327 struct cvmx_pip_stat7_prtx_s
{
2328 #ifdef __BIG_ENDIAN_BITFIELD
2338 union cvmx_pip_stat8_x
{
2340 struct cvmx_pip_stat8_x_s
{
2341 #ifdef __BIG_ENDIAN_BITFIELD
2343 uint64_t undersz
:32;
2345 uint64_t undersz
:32;
2351 union cvmx_pip_stat8_prtx
{
2353 struct cvmx_pip_stat8_prtx_s
{
2354 #ifdef __BIG_ENDIAN_BITFIELD
2356 uint64_t undersz
:32;
2358 uint64_t undersz
:32;
2364 union cvmx_pip_stat9_x
{
2366 struct cvmx_pip_stat9_x_s
{
2367 #ifdef __BIG_ENDIAN_BITFIELD
2377 union cvmx_pip_stat9_prtx
{
2379 struct cvmx_pip_stat9_prtx_s
{
2380 #ifdef __BIG_ENDIAN_BITFIELD
2390 union cvmx_pip_stat_ctl
{
2392 struct cvmx_pip_stat_ctl_s
{
2393 #ifdef __BIG_ENDIAN_BITFIELD
2394 uint64_t reserved_9_63
:55;
2396 uint64_t reserved_1_7
:7;
2400 uint64_t reserved_1_7
:7;
2402 uint64_t reserved_9_63
:55;
2405 struct cvmx_pip_stat_ctl_cn30xx
{
2406 #ifdef __BIG_ENDIAN_BITFIELD
2407 uint64_t reserved_1_63
:63;
2411 uint64_t reserved_1_63
:63;
2416 union cvmx_pip_stat_inb_errsx
{
2418 struct cvmx_pip_stat_inb_errsx_s
{
2419 #ifdef __BIG_ENDIAN_BITFIELD
2420 uint64_t reserved_16_63
:48;
2424 uint64_t reserved_16_63
:48;
2429 union cvmx_pip_stat_inb_errs_pkndx
{
2431 struct cvmx_pip_stat_inb_errs_pkndx_s
{
2432 #ifdef __BIG_ENDIAN_BITFIELD
2433 uint64_t reserved_16_63
:48;
2437 uint64_t reserved_16_63
:48;
2442 union cvmx_pip_stat_inb_octsx
{
2444 struct cvmx_pip_stat_inb_octsx_s
{
2445 #ifdef __BIG_ENDIAN_BITFIELD
2446 uint64_t reserved_48_63
:16;
2450 uint64_t reserved_48_63
:16;
2455 union cvmx_pip_stat_inb_octs_pkndx
{
2457 struct cvmx_pip_stat_inb_octs_pkndx_s
{
2458 #ifdef __BIG_ENDIAN_BITFIELD
2459 uint64_t reserved_48_63
:16;
2463 uint64_t reserved_48_63
:16;
2468 union cvmx_pip_stat_inb_pktsx
{
2470 struct cvmx_pip_stat_inb_pktsx_s
{
2471 #ifdef __BIG_ENDIAN_BITFIELD
2472 uint64_t reserved_32_63
:32;
2476 uint64_t reserved_32_63
:32;
2481 union cvmx_pip_stat_inb_pkts_pkndx
{
2483 struct cvmx_pip_stat_inb_pkts_pkndx_s
{
2484 #ifdef __BIG_ENDIAN_BITFIELD
2485 uint64_t reserved_32_63
:32;
2489 uint64_t reserved_32_63
:32;
2494 union cvmx_pip_sub_pkind_fcsx
{
2496 struct cvmx_pip_sub_pkind_fcsx_s
{
2497 #ifdef __BIG_ENDIAN_BITFIELD
2498 uint64_t port_bit
:64;
2500 uint64_t port_bit
:64;
2505 union cvmx_pip_tag_incx
{
2507 struct cvmx_pip_tag_incx_s
{
2508 #ifdef __BIG_ENDIAN_BITFIELD
2509 uint64_t reserved_8_63
:56;
2513 uint64_t reserved_8_63
:56;
2518 union cvmx_pip_tag_mask
{
2520 struct cvmx_pip_tag_mask_s
{
2521 #ifdef __BIG_ENDIAN_BITFIELD
2522 uint64_t reserved_16_63
:48;
2526 uint64_t reserved_16_63
:48;
2531 union cvmx_pip_tag_secret
{
2533 struct cvmx_pip_tag_secret_s
{
2534 #ifdef __BIG_ENDIAN_BITFIELD
2535 uint64_t reserved_32_63
:32;
2541 uint64_t reserved_32_63
:32;
2546 union cvmx_pip_todo_entry
{
2548 struct cvmx_pip_todo_entry_s
{
2549 #ifdef __BIG_ENDIAN_BITFIELD
2551 uint64_t reserved_62_62
:1;
2555 uint64_t reserved_62_62
:1;
2561 union cvmx_pip_vlan_etypesx
{
2563 struct cvmx_pip_vlan_etypesx_s
{
2564 #ifdef __BIG_ENDIAN_BITFIELD
2578 union cvmx_pip_xstat0_prtx
{
2580 struct cvmx_pip_xstat0_prtx_s
{
2581 #ifdef __BIG_ENDIAN_BITFIELD
2582 uint64_t drp_pkts
:32;
2583 uint64_t drp_octs
:32;
2585 uint64_t drp_octs
:32;
2586 uint64_t drp_pkts
:32;
2591 union cvmx_pip_xstat10_prtx
{
2593 struct cvmx_pip_xstat10_prtx_s
{
2594 #ifdef __BIG_ENDIAN_BITFIELD
2604 union cvmx_pip_xstat11_prtx
{
2606 struct cvmx_pip_xstat11_prtx_s
{
2607 #ifdef __BIG_ENDIAN_BITFIELD
2617 union cvmx_pip_xstat1_prtx
{
2619 struct cvmx_pip_xstat1_prtx_s
{
2620 #ifdef __BIG_ENDIAN_BITFIELD
2621 uint64_t reserved_48_63
:16;
2625 uint64_t reserved_48_63
:16;
2630 union cvmx_pip_xstat2_prtx
{
2632 struct cvmx_pip_xstat2_prtx_s
{
2633 #ifdef __BIG_ENDIAN_BITFIELD
2643 union cvmx_pip_xstat3_prtx
{
2645 struct cvmx_pip_xstat3_prtx_s
{
2646 #ifdef __BIG_ENDIAN_BITFIELD
2656 union cvmx_pip_xstat4_prtx
{
2658 struct cvmx_pip_xstat4_prtx_s
{
2659 #ifdef __BIG_ENDIAN_BITFIELD
2660 uint64_t h65to127
:32;
2664 uint64_t h65to127
:32;
2669 union cvmx_pip_xstat5_prtx
{
2671 struct cvmx_pip_xstat5_prtx_s
{
2672 #ifdef __BIG_ENDIAN_BITFIELD
2673 uint64_t h256to511
:32;
2674 uint64_t h128to255
:32;
2676 uint64_t h128to255
:32;
2677 uint64_t h256to511
:32;
2682 union cvmx_pip_xstat6_prtx
{
2684 struct cvmx_pip_xstat6_prtx_s
{
2685 #ifdef __BIG_ENDIAN_BITFIELD
2686 uint64_t h1024to1518
:32;
2687 uint64_t h512to1023
:32;
2689 uint64_t h512to1023
:32;
2690 uint64_t h1024to1518
:32;
2695 union cvmx_pip_xstat7_prtx
{
2697 struct cvmx_pip_xstat7_prtx_s
{
2698 #ifdef __BIG_ENDIAN_BITFIELD
2708 union cvmx_pip_xstat8_prtx
{
2710 struct cvmx_pip_xstat8_prtx_s
{
2711 #ifdef __BIG_ENDIAN_BITFIELD
2713 uint64_t undersz
:32;
2715 uint64_t undersz
:32;
2721 union cvmx_pip_xstat9_prtx
{
2723 struct cvmx_pip_xstat9_prtx_s
{
2724 #ifdef __BIG_ENDIAN_BITFIELD