xref: /openbmc/linux/arch/mips/include/asm/octeon/cvmx-pip-defs.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1af866496SDavid Daney /***********************license start***************
2af866496SDavid Daney  * Author: Cavium Networks
3af866496SDavid Daney  *
4af866496SDavid Daney  * Contact: support@caviumnetworks.com
5af866496SDavid Daney  * This file is part of the OCTEON SDK
6af866496SDavid Daney  *
7*c5aa59e8SDavid Daney  * Copyright (c) 2003-2012 Cavium Networks
8af866496SDavid Daney  *
9af866496SDavid Daney  * This file is free software; you can redistribute it and/or modify
10af866496SDavid Daney  * it under the terms of the GNU General Public License, Version 2, as
11af866496SDavid Daney  * published by the Free Software Foundation.
12af866496SDavid Daney  *
13af866496SDavid Daney  * This file is distributed in the hope that it will be useful, but
14af866496SDavid Daney  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15af866496SDavid Daney  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16af866496SDavid Daney  * NONINFRINGEMENT.  See the GNU General Public License for more
17af866496SDavid Daney  * details.
18af866496SDavid Daney  *
19af866496SDavid Daney  * You should have received a copy of the GNU General Public License
20af866496SDavid Daney  * along with this file; if not, write to the Free Software
21af866496SDavid Daney  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22af866496SDavid Daney  * or visit http://www.gnu.org/licenses/.
23af866496SDavid Daney  *
24af866496SDavid Daney  * This file may also be available under a different license from Cavium.
25af866496SDavid Daney  * Contact Cavium Networks for more information
26af866496SDavid Daney  ***********************license end**************************************/
27af866496SDavid Daney 
28af866496SDavid Daney #ifndef __CVMX_PIP_DEFS_H__
29af866496SDavid Daney #define __CVMX_PIP_DEFS_H__
30af866496SDavid Daney 
31af866496SDavid Daney /*
32af866496SDavid Daney  * Enumeration representing the amount of packet processing
33af866496SDavid Daney  * and validation performed by the input hardware.
34af866496SDavid Daney  */
35af866496SDavid Daney enum cvmx_pip_port_parse_mode {
36af866496SDavid Daney 	/*
37af866496SDavid Daney 	 * Packet input doesn't perform any processing of the input
38af866496SDavid Daney 	 * packet.
39af866496SDavid Daney 	 */
40af866496SDavid Daney 	CVMX_PIP_PORT_CFG_MODE_NONE = 0ull,
41af866496SDavid Daney 	/*
42af866496SDavid Daney 	 * Full packet processing is performed with pointer starting
43af866496SDavid Daney 	 * at the L2 (ethernet MAC) header.
44af866496SDavid Daney 	 */
45af866496SDavid Daney 	CVMX_PIP_PORT_CFG_MODE_SKIPL2 = 1ull,
46af866496SDavid Daney 	/*
47af866496SDavid Daney 	 * Input packets are assumed to be IP.	Results from non IP
48af866496SDavid Daney 	 * packets is undefined. Pointers reference the beginning of
49af866496SDavid Daney 	 * the IP header.
50af866496SDavid Daney 	 */
51af866496SDavid Daney 	CVMX_PIP_PORT_CFG_MODE_SKIPIP = 2ull
52af866496SDavid Daney };
53af866496SDavid Daney 
54*c5aa59e8SDavid Daney #define CVMX_PIP_ALT_SKIP_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002A00ull) + ((offset) & 3) * 8)
55*c5aa59e8SDavid Daney #define CVMX_PIP_BCK_PRS (CVMX_ADD_IO_SEG(0x00011800A0000038ull))
56*c5aa59e8SDavid Daney #define CVMX_PIP_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800A0000000ull))
57*c5aa59e8SDavid Daney #define CVMX_PIP_BSEL_EXT_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002800ull) + ((offset) & 3) * 16)
58*c5aa59e8SDavid Daney #define CVMX_PIP_BSEL_EXT_POSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002808ull) + ((offset) & 3) * 16)
59*c5aa59e8SDavid Daney #define CVMX_PIP_BSEL_TBL_ENTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0003000ull) + ((offset) & 511) * 8)
60*c5aa59e8SDavid Daney #define CVMX_PIP_CLKEN (CVMX_ADD_IO_SEG(0x00011800A0000040ull))
61*c5aa59e8SDavid Daney #define CVMX_PIP_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000040ull) + ((offset) & 1) * 8)
62*c5aa59e8SDavid Daney #define CVMX_PIP_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000050ull) + ((offset) & 1) * 8)
63*c5aa59e8SDavid Daney #define CVMX_PIP_DEC_IPSECX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000080ull) + ((offset) & 3) * 8)
64*c5aa59e8SDavid Daney #define CVMX_PIP_DSA_SRC_GRP (CVMX_ADD_IO_SEG(0x00011800A0000190ull))
65*c5aa59e8SDavid Daney #define CVMX_PIP_DSA_VID_GRP (CVMX_ADD_IO_SEG(0x00011800A0000198ull))
66*c5aa59e8SDavid Daney #define CVMX_PIP_FRM_LEN_CHKX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000180ull) + ((offset) & 1) * 8)
67*c5aa59e8SDavid Daney #define CVMX_PIP_GBL_CFG (CVMX_ADD_IO_SEG(0x00011800A0000028ull))
68*c5aa59e8SDavid Daney #define CVMX_PIP_GBL_CTL (CVMX_ADD_IO_SEG(0x00011800A0000020ull))
69*c5aa59e8SDavid Daney #define CVMX_PIP_HG_PRI_QOS (CVMX_ADD_IO_SEG(0x00011800A00001A0ull))
70*c5aa59e8SDavid Daney #define CVMX_PIP_INT_EN (CVMX_ADD_IO_SEG(0x00011800A0000010ull))
71*c5aa59e8SDavid Daney #define CVMX_PIP_INT_REG (CVMX_ADD_IO_SEG(0x00011800A0000008ull))
72*c5aa59e8SDavid Daney #define CVMX_PIP_IP_OFFSET (CVMX_ADD_IO_SEG(0x00011800A0000060ull))
73*c5aa59e8SDavid Daney #define CVMX_PIP_PRI_TBLX(offset) (CVMX_ADD_IO_SEG(0x00011800A0004000ull) + ((offset) & 255) * 8)
74*c5aa59e8SDavid Daney #define CVMX_PIP_PRT_CFGBX(offset) (CVMX_ADD_IO_SEG(0x00011800A0008000ull) + ((offset) & 63) * 8)
75*c5aa59e8SDavid Daney #define CVMX_PIP_PRT_CFGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000200ull) + ((offset) & 63) * 8)
76*c5aa59e8SDavid Daney #define CVMX_PIP_PRT_TAGX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000400ull) + ((offset) & 63) * 8)
77*c5aa59e8SDavid Daney #define CVMX_PIP_QOS_DIFFX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000600ull) + ((offset) & 63) * 8)
78*c5aa59e8SDavid Daney #define CVMX_PIP_QOS_VLANX(offset) (CVMX_ADD_IO_SEG(0x00011800A00000C0ull) + ((offset) & 7) * 8)
79*c5aa59e8SDavid Daney #define CVMX_PIP_QOS_WATCHX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000100ull) + ((offset) & 7) * 8)
80*c5aa59e8SDavid Daney #define CVMX_PIP_RAW_WORD (CVMX_ADD_IO_SEG(0x00011800A00000B0ull))
81*c5aa59e8SDavid Daney #define CVMX_PIP_SFT_RST (CVMX_ADD_IO_SEG(0x00011800A0000030ull))
82*c5aa59e8SDavid Daney #define CVMX_PIP_STAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000800ull) + ((offset) & 63) * 80)
83*c5aa59e8SDavid Daney #define CVMX_PIP_STAT0_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040000ull) + ((offset) & 63) * 128)
84*c5aa59e8SDavid Daney #define CVMX_PIP_STAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001480ull) + ((offset) & 63) * 16)
85*c5aa59e8SDavid Daney #define CVMX_PIP_STAT10_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040050ull) + ((offset) & 63) * 128)
86*c5aa59e8SDavid Daney #define CVMX_PIP_STAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001488ull) + ((offset) & 63) * 16)
87*c5aa59e8SDavid Daney #define CVMX_PIP_STAT11_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040058ull) + ((offset) & 63) * 128)
88*c5aa59e8SDavid Daney #define CVMX_PIP_STAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000808ull) + ((offset) & 63) * 80)
89*c5aa59e8SDavid Daney #define CVMX_PIP_STAT1_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040008ull) + ((offset) & 63) * 128)
90*c5aa59e8SDavid Daney #define CVMX_PIP_STAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000810ull) + ((offset) & 63) * 80)
91*c5aa59e8SDavid Daney #define CVMX_PIP_STAT2_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040010ull) + ((offset) & 63) * 128)
92*c5aa59e8SDavid Daney #define CVMX_PIP_STAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000818ull) + ((offset) & 63) * 80)
93*c5aa59e8SDavid Daney #define CVMX_PIP_STAT3_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040018ull) + ((offset) & 63) * 128)
94*c5aa59e8SDavid Daney #define CVMX_PIP_STAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000820ull) + ((offset) & 63) * 80)
95*c5aa59e8SDavid Daney #define CVMX_PIP_STAT4_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040020ull) + ((offset) & 63) * 128)
96*c5aa59e8SDavid Daney #define CVMX_PIP_STAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000828ull) + ((offset) & 63) * 80)
97*c5aa59e8SDavid Daney #define CVMX_PIP_STAT5_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040028ull) + ((offset) & 63) * 128)
98*c5aa59e8SDavid Daney #define CVMX_PIP_STAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000830ull) + ((offset) & 63) * 80)
99*c5aa59e8SDavid Daney #define CVMX_PIP_STAT6_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040030ull) + ((offset) & 63) * 128)
100*c5aa59e8SDavid Daney #define CVMX_PIP_STAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000838ull) + ((offset) & 63) * 80)
101*c5aa59e8SDavid Daney #define CVMX_PIP_STAT7_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040038ull) + ((offset) & 63) * 128)
102*c5aa59e8SDavid Daney #define CVMX_PIP_STAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000840ull) + ((offset) & 63) * 80)
103*c5aa59e8SDavid Daney #define CVMX_PIP_STAT8_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040040ull) + ((offset) & 63) * 128)
104*c5aa59e8SDavid Daney #define CVMX_PIP_STAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0000848ull) + ((offset) & 63) * 80)
105*c5aa59e8SDavid Daney #define CVMX_PIP_STAT9_X(offset) (CVMX_ADD_IO_SEG(0x00011800A0040048ull) + ((offset) & 63) * 128)
106*c5aa59e8SDavid Daney #define CVMX_PIP_STAT_CTL (CVMX_ADD_IO_SEG(0x00011800A0000018ull))
107*c5aa59e8SDavid Daney #define CVMX_PIP_STAT_INB_ERRSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A10ull) + ((offset) & 63) * 32)
108*c5aa59e8SDavid Daney #define CVMX_PIP_STAT_INB_ERRS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020010ull) + ((offset) & 63) * 32)
109*c5aa59e8SDavid Daney #define CVMX_PIP_STAT_INB_OCTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A08ull) + ((offset) & 63) * 32)
110*c5aa59e8SDavid Daney #define CVMX_PIP_STAT_INB_OCTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020008ull) + ((offset) & 63) * 32)
111*c5aa59e8SDavid Daney #define CVMX_PIP_STAT_INB_PKTSX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001A00ull) + ((offset) & 63) * 32)
112*c5aa59e8SDavid Daney #define CVMX_PIP_STAT_INB_PKTS_PKNDX(offset) (CVMX_ADD_IO_SEG(0x00011800A0020000ull) + ((offset) & 63) * 32)
113*c5aa59e8SDavid Daney #define CVMX_PIP_SUB_PKIND_FCSX(block_id) (CVMX_ADD_IO_SEG(0x00011800A0080000ull))
114*c5aa59e8SDavid Daney #define CVMX_PIP_TAG_INCX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001800ull) + ((offset) & 63) * 8)
115*c5aa59e8SDavid Daney #define CVMX_PIP_TAG_MASK (CVMX_ADD_IO_SEG(0x00011800A0000070ull))
116*c5aa59e8SDavid Daney #define CVMX_PIP_TAG_SECRET (CVMX_ADD_IO_SEG(0x00011800A0000068ull))
117*c5aa59e8SDavid Daney #define CVMX_PIP_TODO_ENTRY (CVMX_ADD_IO_SEG(0x00011800A0000078ull))
118*c5aa59e8SDavid Daney #define CVMX_PIP_VLAN_ETYPESX(offset) (CVMX_ADD_IO_SEG(0x00011800A00001C0ull) + ((offset) & 1) * 8)
119*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT0_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002000ull) + ((offset) & 63) * 80 - 80*40)
120*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT10_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001700ull) + ((offset) & 63) * 16 - 16*40)
121*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT11_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0001708ull) + ((offset) & 63) * 16 - 16*40)
122*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT1_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002008ull) + ((offset) & 63) * 80 - 80*40)
123*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT2_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002010ull) + ((offset) & 63) * 80 - 80*40)
124*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT3_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002018ull) + ((offset) & 63) * 80 - 80*40)
125*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT4_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002020ull) + ((offset) & 63) * 80 - 80*40)
126*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT5_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002028ull) + ((offset) & 63) * 80 - 80*40)
127*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT6_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002030ull) + ((offset) & 63) * 80 - 80*40)
128*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT7_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002038ull) + ((offset) & 63) * 80 - 80*40)
129*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT8_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002040ull) + ((offset) & 63) * 80 - 80*40)
130*c5aa59e8SDavid Daney #define CVMX_PIP_XSTAT9_PRTX(offset) (CVMX_ADD_IO_SEG(0x00011800A0002048ull) + ((offset) & 63) * 80 - 80*40)
131*c5aa59e8SDavid Daney 
132*c5aa59e8SDavid Daney union cvmx_pip_alt_skip_cfgx {
133*c5aa59e8SDavid Daney 	uint64_t u64;
134*c5aa59e8SDavid Daney 	struct cvmx_pip_alt_skip_cfgx_s {
135*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
136*c5aa59e8SDavid Daney 		uint64_t reserved_57_63:7;
137*c5aa59e8SDavid Daney 		uint64_t len:1;
138*c5aa59e8SDavid Daney 		uint64_t reserved_46_55:10;
139*c5aa59e8SDavid Daney 		uint64_t bit1:6;
140*c5aa59e8SDavid Daney 		uint64_t reserved_38_39:2;
141*c5aa59e8SDavid Daney 		uint64_t bit0:6;
142*c5aa59e8SDavid Daney 		uint64_t reserved_23_31:9;
143*c5aa59e8SDavid Daney 		uint64_t skip3:7;
144*c5aa59e8SDavid Daney 		uint64_t reserved_15_15:1;
145*c5aa59e8SDavid Daney 		uint64_t skip2:7;
146*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
147*c5aa59e8SDavid Daney 		uint64_t skip1:7;
148*c5aa59e8SDavid Daney #else
149*c5aa59e8SDavid Daney 		uint64_t skip1:7;
150*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
151*c5aa59e8SDavid Daney 		uint64_t skip2:7;
152*c5aa59e8SDavid Daney 		uint64_t reserved_15_15:1;
153*c5aa59e8SDavid Daney 		uint64_t skip3:7;
154*c5aa59e8SDavid Daney 		uint64_t reserved_23_31:9;
155*c5aa59e8SDavid Daney 		uint64_t bit0:6;
156*c5aa59e8SDavid Daney 		uint64_t reserved_38_39:2;
157*c5aa59e8SDavid Daney 		uint64_t bit1:6;
158*c5aa59e8SDavid Daney 		uint64_t reserved_46_55:10;
159*c5aa59e8SDavid Daney 		uint64_t len:1;
160*c5aa59e8SDavid Daney 		uint64_t reserved_57_63:7;
161*c5aa59e8SDavid Daney #endif
162*c5aa59e8SDavid Daney 	} s;
163*c5aa59e8SDavid Daney };
164af866496SDavid Daney 
165af866496SDavid Daney union cvmx_pip_bck_prs {
166af866496SDavid Daney 	uint64_t u64;
167af866496SDavid Daney 	struct cvmx_pip_bck_prs_s {
168*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
169af866496SDavid Daney 		uint64_t bckprs:1;
170af866496SDavid Daney 		uint64_t reserved_13_62:50;
171af866496SDavid Daney 		uint64_t hiwater:5;
172af866496SDavid Daney 		uint64_t reserved_5_7:3;
173af866496SDavid Daney 		uint64_t lowater:5;
174*c5aa59e8SDavid Daney #else
175*c5aa59e8SDavid Daney 		uint64_t lowater:5;
176*c5aa59e8SDavid Daney 		uint64_t reserved_5_7:3;
177*c5aa59e8SDavid Daney 		uint64_t hiwater:5;
178*c5aa59e8SDavid Daney 		uint64_t reserved_13_62:50;
179*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
180*c5aa59e8SDavid Daney #endif
181af866496SDavid Daney 	} s;
182af866496SDavid Daney };
183af866496SDavid Daney 
184af866496SDavid Daney union cvmx_pip_bist_status {
185af866496SDavid Daney 	uint64_t u64;
186af866496SDavid Daney 	struct cvmx_pip_bist_status_s {
187*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
188*c5aa59e8SDavid Daney 		uint64_t reserved_22_63:42;
189*c5aa59e8SDavid Daney 		uint64_t bist:22;
190*c5aa59e8SDavid Daney #else
191*c5aa59e8SDavid Daney 		uint64_t bist:22;
192*c5aa59e8SDavid Daney 		uint64_t reserved_22_63:42;
193*c5aa59e8SDavid Daney #endif
194*c5aa59e8SDavid Daney 	} s;
195*c5aa59e8SDavid Daney 	struct cvmx_pip_bist_status_cn30xx {
196*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
197af866496SDavid Daney 		uint64_t reserved_18_63:46;
198af866496SDavid Daney 		uint64_t bist:18;
199*c5aa59e8SDavid Daney #else
200*c5aa59e8SDavid Daney 		uint64_t bist:18;
201*c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
202*c5aa59e8SDavid Daney #endif
203*c5aa59e8SDavid Daney 	} cn30xx;
204af866496SDavid Daney 	struct cvmx_pip_bist_status_cn50xx {
205*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
206af866496SDavid Daney 		uint64_t reserved_17_63:47;
207af866496SDavid Daney 		uint64_t bist:17;
208*c5aa59e8SDavid Daney #else
209*c5aa59e8SDavid Daney 		uint64_t bist:17;
210*c5aa59e8SDavid Daney 		uint64_t reserved_17_63:47;
211*c5aa59e8SDavid Daney #endif
212af866496SDavid Daney 	} cn50xx;
213*c5aa59e8SDavid Daney 	struct cvmx_pip_bist_status_cn61xx {
214*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
215*c5aa59e8SDavid Daney 		uint64_t reserved_20_63:44;
216*c5aa59e8SDavid Daney 		uint64_t bist:20;
217*c5aa59e8SDavid Daney #else
218*c5aa59e8SDavid Daney 		uint64_t bist:20;
219*c5aa59e8SDavid Daney 		uint64_t reserved_20_63:44;
220*c5aa59e8SDavid Daney #endif
221*c5aa59e8SDavid Daney 	} cn61xx;
222*c5aa59e8SDavid Daney };
223*c5aa59e8SDavid Daney 
224*c5aa59e8SDavid Daney union cvmx_pip_bsel_ext_cfgx {
225*c5aa59e8SDavid Daney 	uint64_t u64;
226*c5aa59e8SDavid Daney 	struct cvmx_pip_bsel_ext_cfgx_s {
227*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
228*c5aa59e8SDavid Daney 		uint64_t reserved_56_63:8;
229*c5aa59e8SDavid Daney 		uint64_t upper_tag:16;
230*c5aa59e8SDavid Daney 		uint64_t tag:8;
231*c5aa59e8SDavid Daney 		uint64_t reserved_25_31:7;
232*c5aa59e8SDavid Daney 		uint64_t offset:9;
233*c5aa59e8SDavid Daney 		uint64_t reserved_7_15:9;
234*c5aa59e8SDavid Daney 		uint64_t skip:7;
235*c5aa59e8SDavid Daney #else
236*c5aa59e8SDavid Daney 		uint64_t skip:7;
237*c5aa59e8SDavid Daney 		uint64_t reserved_7_15:9;
238*c5aa59e8SDavid Daney 		uint64_t offset:9;
239*c5aa59e8SDavid Daney 		uint64_t reserved_25_31:7;
240*c5aa59e8SDavid Daney 		uint64_t tag:8;
241*c5aa59e8SDavid Daney 		uint64_t upper_tag:16;
242*c5aa59e8SDavid Daney 		uint64_t reserved_56_63:8;
243*c5aa59e8SDavid Daney #endif
244*c5aa59e8SDavid Daney 	} s;
245*c5aa59e8SDavid Daney };
246*c5aa59e8SDavid Daney 
247*c5aa59e8SDavid Daney union cvmx_pip_bsel_ext_posx {
248*c5aa59e8SDavid Daney 	uint64_t u64;
249*c5aa59e8SDavid Daney 	struct cvmx_pip_bsel_ext_posx_s {
250*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
251*c5aa59e8SDavid Daney 		uint64_t pos7_val:1;
252*c5aa59e8SDavid Daney 		uint64_t pos7:7;
253*c5aa59e8SDavid Daney 		uint64_t pos6_val:1;
254*c5aa59e8SDavid Daney 		uint64_t pos6:7;
255*c5aa59e8SDavid Daney 		uint64_t pos5_val:1;
256*c5aa59e8SDavid Daney 		uint64_t pos5:7;
257*c5aa59e8SDavid Daney 		uint64_t pos4_val:1;
258*c5aa59e8SDavid Daney 		uint64_t pos4:7;
259*c5aa59e8SDavid Daney 		uint64_t pos3_val:1;
260*c5aa59e8SDavid Daney 		uint64_t pos3:7;
261*c5aa59e8SDavid Daney 		uint64_t pos2_val:1;
262*c5aa59e8SDavid Daney 		uint64_t pos2:7;
263*c5aa59e8SDavid Daney 		uint64_t pos1_val:1;
264*c5aa59e8SDavid Daney 		uint64_t pos1:7;
265*c5aa59e8SDavid Daney 		uint64_t pos0_val:1;
266*c5aa59e8SDavid Daney 		uint64_t pos0:7;
267*c5aa59e8SDavid Daney #else
268*c5aa59e8SDavid Daney 		uint64_t pos0:7;
269*c5aa59e8SDavid Daney 		uint64_t pos0_val:1;
270*c5aa59e8SDavid Daney 		uint64_t pos1:7;
271*c5aa59e8SDavid Daney 		uint64_t pos1_val:1;
272*c5aa59e8SDavid Daney 		uint64_t pos2:7;
273*c5aa59e8SDavid Daney 		uint64_t pos2_val:1;
274*c5aa59e8SDavid Daney 		uint64_t pos3:7;
275*c5aa59e8SDavid Daney 		uint64_t pos3_val:1;
276*c5aa59e8SDavid Daney 		uint64_t pos4:7;
277*c5aa59e8SDavid Daney 		uint64_t pos4_val:1;
278*c5aa59e8SDavid Daney 		uint64_t pos5:7;
279*c5aa59e8SDavid Daney 		uint64_t pos5_val:1;
280*c5aa59e8SDavid Daney 		uint64_t pos6:7;
281*c5aa59e8SDavid Daney 		uint64_t pos6_val:1;
282*c5aa59e8SDavid Daney 		uint64_t pos7:7;
283*c5aa59e8SDavid Daney 		uint64_t pos7_val:1;
284*c5aa59e8SDavid Daney #endif
285*c5aa59e8SDavid Daney 	} s;
286*c5aa59e8SDavid Daney };
287*c5aa59e8SDavid Daney 
288*c5aa59e8SDavid Daney union cvmx_pip_bsel_tbl_entx {
289*c5aa59e8SDavid Daney 	uint64_t u64;
290*c5aa59e8SDavid Daney 	struct cvmx_pip_bsel_tbl_entx_s {
291*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
292*c5aa59e8SDavid Daney 		uint64_t tag_en:1;
293*c5aa59e8SDavid Daney 		uint64_t grp_en:1;
294*c5aa59e8SDavid Daney 		uint64_t tt_en:1;
295*c5aa59e8SDavid Daney 		uint64_t qos_en:1;
296*c5aa59e8SDavid Daney 		uint64_t reserved_40_59:20;
297*c5aa59e8SDavid Daney 		uint64_t tag:8;
298*c5aa59e8SDavid Daney 		uint64_t reserved_22_31:10;
299*c5aa59e8SDavid Daney 		uint64_t grp:6;
300*c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
301*c5aa59e8SDavid Daney 		uint64_t tt:2;
302*c5aa59e8SDavid Daney 		uint64_t reserved_3_7:5;
303*c5aa59e8SDavid Daney 		uint64_t qos:3;
304*c5aa59e8SDavid Daney #else
305*c5aa59e8SDavid Daney 		uint64_t qos:3;
306*c5aa59e8SDavid Daney 		uint64_t reserved_3_7:5;
307*c5aa59e8SDavid Daney 		uint64_t tt:2;
308*c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
309*c5aa59e8SDavid Daney 		uint64_t grp:6;
310*c5aa59e8SDavid Daney 		uint64_t reserved_22_31:10;
311*c5aa59e8SDavid Daney 		uint64_t tag:8;
312*c5aa59e8SDavid Daney 		uint64_t reserved_40_59:20;
313*c5aa59e8SDavid Daney 		uint64_t qos_en:1;
314*c5aa59e8SDavid Daney 		uint64_t tt_en:1;
315*c5aa59e8SDavid Daney 		uint64_t grp_en:1;
316*c5aa59e8SDavid Daney 		uint64_t tag_en:1;
317*c5aa59e8SDavid Daney #endif
318*c5aa59e8SDavid Daney 	} s;
319*c5aa59e8SDavid Daney 	struct cvmx_pip_bsel_tbl_entx_cn61xx {
320*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
321*c5aa59e8SDavid Daney 		uint64_t tag_en:1;
322*c5aa59e8SDavid Daney 		uint64_t grp_en:1;
323*c5aa59e8SDavid Daney 		uint64_t tt_en:1;
324*c5aa59e8SDavid Daney 		uint64_t qos_en:1;
325*c5aa59e8SDavid Daney 		uint64_t reserved_40_59:20;
326*c5aa59e8SDavid Daney 		uint64_t tag:8;
327*c5aa59e8SDavid Daney 		uint64_t reserved_20_31:12;
328*c5aa59e8SDavid Daney 		uint64_t grp:4;
329*c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
330*c5aa59e8SDavid Daney 		uint64_t tt:2;
331*c5aa59e8SDavid Daney 		uint64_t reserved_3_7:5;
332*c5aa59e8SDavid Daney 		uint64_t qos:3;
333*c5aa59e8SDavid Daney #else
334*c5aa59e8SDavid Daney 		uint64_t qos:3;
335*c5aa59e8SDavid Daney 		uint64_t reserved_3_7:5;
336*c5aa59e8SDavid Daney 		uint64_t tt:2;
337*c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
338*c5aa59e8SDavid Daney 		uint64_t grp:4;
339*c5aa59e8SDavid Daney 		uint64_t reserved_20_31:12;
340*c5aa59e8SDavid Daney 		uint64_t tag:8;
341*c5aa59e8SDavid Daney 		uint64_t reserved_40_59:20;
342*c5aa59e8SDavid Daney 		uint64_t qos_en:1;
343*c5aa59e8SDavid Daney 		uint64_t tt_en:1;
344*c5aa59e8SDavid Daney 		uint64_t grp_en:1;
345*c5aa59e8SDavid Daney 		uint64_t tag_en:1;
346*c5aa59e8SDavid Daney #endif
347*c5aa59e8SDavid Daney 	} cn61xx;
348*c5aa59e8SDavid Daney };
349*c5aa59e8SDavid Daney 
350*c5aa59e8SDavid Daney union cvmx_pip_clken {
351*c5aa59e8SDavid Daney 	uint64_t u64;
352*c5aa59e8SDavid Daney 	struct cvmx_pip_clken_s {
353*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
354*c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
355*c5aa59e8SDavid Daney 		uint64_t clken:1;
356*c5aa59e8SDavid Daney #else
357*c5aa59e8SDavid Daney 		uint64_t clken:1;
358*c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
359*c5aa59e8SDavid Daney #endif
360*c5aa59e8SDavid Daney 	} s;
361af866496SDavid Daney };
362af866496SDavid Daney 
363af866496SDavid Daney union cvmx_pip_crc_ctlx {
364af866496SDavid Daney 	uint64_t u64;
365af866496SDavid Daney 	struct cvmx_pip_crc_ctlx_s {
366*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
367af866496SDavid Daney 		uint64_t reserved_2_63:62;
368af866496SDavid Daney 		uint64_t invres:1;
369af866496SDavid Daney 		uint64_t reflect:1;
370*c5aa59e8SDavid Daney #else
371*c5aa59e8SDavid Daney 		uint64_t reflect:1;
372*c5aa59e8SDavid Daney 		uint64_t invres:1;
373*c5aa59e8SDavid Daney 		uint64_t reserved_2_63:62;
374*c5aa59e8SDavid Daney #endif
375af866496SDavid Daney 	} s;
376af866496SDavid Daney };
377af866496SDavid Daney 
378af866496SDavid Daney union cvmx_pip_crc_ivx {
379af866496SDavid Daney 	uint64_t u64;
380af866496SDavid Daney 	struct cvmx_pip_crc_ivx_s {
381*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
382af866496SDavid Daney 		uint64_t reserved_32_63:32;
383af866496SDavid Daney 		uint64_t iv:32;
384*c5aa59e8SDavid Daney #else
385*c5aa59e8SDavid Daney 		uint64_t iv:32;
386*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
387*c5aa59e8SDavid Daney #endif
388af866496SDavid Daney 	} s;
389af866496SDavid Daney };
390af866496SDavid Daney 
391af866496SDavid Daney union cvmx_pip_dec_ipsecx {
392af866496SDavid Daney 	uint64_t u64;
393af866496SDavid Daney 	struct cvmx_pip_dec_ipsecx_s {
394*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
395af866496SDavid Daney 		uint64_t reserved_18_63:46;
396af866496SDavid Daney 		uint64_t tcp:1;
397af866496SDavid Daney 		uint64_t udp:1;
398af866496SDavid Daney 		uint64_t dprt:16;
399*c5aa59e8SDavid Daney #else
400*c5aa59e8SDavid Daney 		uint64_t dprt:16;
401*c5aa59e8SDavid Daney 		uint64_t udp:1;
402*c5aa59e8SDavid Daney 		uint64_t tcp:1;
403*c5aa59e8SDavid Daney 		uint64_t reserved_18_63:46;
404*c5aa59e8SDavid Daney #endif
405af866496SDavid Daney 	} s;
406af866496SDavid Daney };
407af866496SDavid Daney 
408af866496SDavid Daney union cvmx_pip_dsa_src_grp {
409af866496SDavid Daney 	uint64_t u64;
410af866496SDavid Daney 	struct cvmx_pip_dsa_src_grp_s {
411*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
412af866496SDavid Daney 		uint64_t map15:4;
413af866496SDavid Daney 		uint64_t map14:4;
414af866496SDavid Daney 		uint64_t map13:4;
415af866496SDavid Daney 		uint64_t map12:4;
416af866496SDavid Daney 		uint64_t map11:4;
417af866496SDavid Daney 		uint64_t map10:4;
418af866496SDavid Daney 		uint64_t map9:4;
419af866496SDavid Daney 		uint64_t map8:4;
420af866496SDavid Daney 		uint64_t map7:4;
421af866496SDavid Daney 		uint64_t map6:4;
422af866496SDavid Daney 		uint64_t map5:4;
423af866496SDavid Daney 		uint64_t map4:4;
424af866496SDavid Daney 		uint64_t map3:4;
425af866496SDavid Daney 		uint64_t map2:4;
426af866496SDavid Daney 		uint64_t map1:4;
427af866496SDavid Daney 		uint64_t map0:4;
428*c5aa59e8SDavid Daney #else
429*c5aa59e8SDavid Daney 		uint64_t map0:4;
430*c5aa59e8SDavid Daney 		uint64_t map1:4;
431*c5aa59e8SDavid Daney 		uint64_t map2:4;
432*c5aa59e8SDavid Daney 		uint64_t map3:4;
433*c5aa59e8SDavid Daney 		uint64_t map4:4;
434*c5aa59e8SDavid Daney 		uint64_t map5:4;
435*c5aa59e8SDavid Daney 		uint64_t map6:4;
436*c5aa59e8SDavid Daney 		uint64_t map7:4;
437*c5aa59e8SDavid Daney 		uint64_t map8:4;
438*c5aa59e8SDavid Daney 		uint64_t map9:4;
439*c5aa59e8SDavid Daney 		uint64_t map10:4;
440*c5aa59e8SDavid Daney 		uint64_t map11:4;
441*c5aa59e8SDavid Daney 		uint64_t map12:4;
442*c5aa59e8SDavid Daney 		uint64_t map13:4;
443*c5aa59e8SDavid Daney 		uint64_t map14:4;
444*c5aa59e8SDavid Daney 		uint64_t map15:4;
445*c5aa59e8SDavid Daney #endif
446af866496SDavid Daney 	} s;
447af866496SDavid Daney };
448af866496SDavid Daney 
449af866496SDavid Daney union cvmx_pip_dsa_vid_grp {
450af866496SDavid Daney 	uint64_t u64;
451af866496SDavid Daney 	struct cvmx_pip_dsa_vid_grp_s {
452*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
453af866496SDavid Daney 		uint64_t map15:4;
454af866496SDavid Daney 		uint64_t map14:4;
455af866496SDavid Daney 		uint64_t map13:4;
456af866496SDavid Daney 		uint64_t map12:4;
457af866496SDavid Daney 		uint64_t map11:4;
458af866496SDavid Daney 		uint64_t map10:4;
459af866496SDavid Daney 		uint64_t map9:4;
460af866496SDavid Daney 		uint64_t map8:4;
461af866496SDavid Daney 		uint64_t map7:4;
462af866496SDavid Daney 		uint64_t map6:4;
463af866496SDavid Daney 		uint64_t map5:4;
464af866496SDavid Daney 		uint64_t map4:4;
465af866496SDavid Daney 		uint64_t map3:4;
466af866496SDavid Daney 		uint64_t map2:4;
467af866496SDavid Daney 		uint64_t map1:4;
468af866496SDavid Daney 		uint64_t map0:4;
469*c5aa59e8SDavid Daney #else
470*c5aa59e8SDavid Daney 		uint64_t map0:4;
471*c5aa59e8SDavid Daney 		uint64_t map1:4;
472*c5aa59e8SDavid Daney 		uint64_t map2:4;
473*c5aa59e8SDavid Daney 		uint64_t map3:4;
474*c5aa59e8SDavid Daney 		uint64_t map4:4;
475*c5aa59e8SDavid Daney 		uint64_t map5:4;
476*c5aa59e8SDavid Daney 		uint64_t map6:4;
477*c5aa59e8SDavid Daney 		uint64_t map7:4;
478*c5aa59e8SDavid Daney 		uint64_t map8:4;
479*c5aa59e8SDavid Daney 		uint64_t map9:4;
480*c5aa59e8SDavid Daney 		uint64_t map10:4;
481*c5aa59e8SDavid Daney 		uint64_t map11:4;
482*c5aa59e8SDavid Daney 		uint64_t map12:4;
483*c5aa59e8SDavid Daney 		uint64_t map13:4;
484*c5aa59e8SDavid Daney 		uint64_t map14:4;
485*c5aa59e8SDavid Daney 		uint64_t map15:4;
486*c5aa59e8SDavid Daney #endif
487af866496SDavid Daney 	} s;
488af866496SDavid Daney };
489af866496SDavid Daney 
490af866496SDavid Daney union cvmx_pip_frm_len_chkx {
491af866496SDavid Daney 	uint64_t u64;
492af866496SDavid Daney 	struct cvmx_pip_frm_len_chkx_s {
493*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
494af866496SDavid Daney 		uint64_t reserved_32_63:32;
495af866496SDavid Daney 		uint64_t maxlen:16;
496af866496SDavid Daney 		uint64_t minlen:16;
497*c5aa59e8SDavid Daney #else
498*c5aa59e8SDavid Daney 		uint64_t minlen:16;
499*c5aa59e8SDavid Daney 		uint64_t maxlen:16;
500*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
501*c5aa59e8SDavid Daney #endif
502af866496SDavid Daney 	} s;
503af866496SDavid Daney };
504af866496SDavid Daney 
505af866496SDavid Daney union cvmx_pip_gbl_cfg {
506af866496SDavid Daney 	uint64_t u64;
507af866496SDavid Daney 	struct cvmx_pip_gbl_cfg_s {
508*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
509af866496SDavid Daney 		uint64_t reserved_19_63:45;
510af866496SDavid Daney 		uint64_t tag_syn:1;
511af866496SDavid Daney 		uint64_t ip6_udp:1;
512af866496SDavid Daney 		uint64_t max_l2:1;
513af866496SDavid Daney 		uint64_t reserved_11_15:5;
514af866496SDavid Daney 		uint64_t raw_shf:3;
515af866496SDavid Daney 		uint64_t reserved_3_7:5;
516af866496SDavid Daney 		uint64_t nip_shf:3;
517*c5aa59e8SDavid Daney #else
518*c5aa59e8SDavid Daney 		uint64_t nip_shf:3;
519*c5aa59e8SDavid Daney 		uint64_t reserved_3_7:5;
520*c5aa59e8SDavid Daney 		uint64_t raw_shf:3;
521*c5aa59e8SDavid Daney 		uint64_t reserved_11_15:5;
522*c5aa59e8SDavid Daney 		uint64_t max_l2:1;
523*c5aa59e8SDavid Daney 		uint64_t ip6_udp:1;
524*c5aa59e8SDavid Daney 		uint64_t tag_syn:1;
525*c5aa59e8SDavid Daney 		uint64_t reserved_19_63:45;
526*c5aa59e8SDavid Daney #endif
527af866496SDavid Daney 	} s;
528af866496SDavid Daney };
529af866496SDavid Daney 
530af866496SDavid Daney union cvmx_pip_gbl_ctl {
531af866496SDavid Daney 	uint64_t u64;
532af866496SDavid Daney 	struct cvmx_pip_gbl_ctl_s {
533*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
534*c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
535*c5aa59e8SDavid Daney 		uint64_t egrp_dis:1;
536*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
537*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
538*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
539*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
540*c5aa59e8SDavid Daney 		uint64_t reserved_21_23:3;
541*c5aa59e8SDavid Daney 		uint64_t ring_en:1;
542*c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
543*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
544*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
545*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
546*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
547*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
548*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
549*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
550*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
551*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
552*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
553*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
554*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
555*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
556*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
557*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
558*c5aa59e8SDavid Daney #else
559*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
560*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
561*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
562*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
563*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
564*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
565*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
566*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
567*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
568*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
569*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
570*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
571*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
572*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
573*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
574*c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
575*c5aa59e8SDavid Daney 		uint64_t ring_en:1;
576*c5aa59e8SDavid Daney 		uint64_t reserved_21_23:3;
577*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
578*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
579*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
580*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
581*c5aa59e8SDavid Daney 		uint64_t egrp_dis:1;
582*c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
583*c5aa59e8SDavid Daney #endif
584*c5aa59e8SDavid Daney 	} s;
585*c5aa59e8SDavid Daney 	struct cvmx_pip_gbl_ctl_cn30xx {
586*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
587*c5aa59e8SDavid Daney 		uint64_t reserved_17_63:47;
588*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
589*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
590*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
591*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
592*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
593*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
594*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
595*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
596*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
597*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
598*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
599*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
600*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
601*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
602*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
603*c5aa59e8SDavid Daney #else
604*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
605*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
606*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
607*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
608*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
609*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
610*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
611*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
612*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
613*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
614*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
615*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
616*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
617*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
618*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
619*c5aa59e8SDavid Daney 		uint64_t reserved_17_63:47;
620*c5aa59e8SDavid Daney #endif
621*c5aa59e8SDavid Daney 	} cn30xx;
622*c5aa59e8SDavid Daney 	struct cvmx_pip_gbl_ctl_cn52xx {
623*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
624af866496SDavid Daney 		uint64_t reserved_27_63:37;
625af866496SDavid Daney 		uint64_t dsa_grp_tvid:1;
626af866496SDavid Daney 		uint64_t dsa_grp_scmd:1;
627af866496SDavid Daney 		uint64_t dsa_grp_sid:1;
628af866496SDavid Daney 		uint64_t reserved_21_23:3;
629af866496SDavid Daney 		uint64_t ring_en:1;
630af866496SDavid Daney 		uint64_t reserved_17_19:3;
631af866496SDavid Daney 		uint64_t ignrs:1;
632af866496SDavid Daney 		uint64_t vs_wqe:1;
633af866496SDavid Daney 		uint64_t vs_qos:1;
634af866496SDavid Daney 		uint64_t l2_mal:1;
635af866496SDavid Daney 		uint64_t tcp_flag:1;
636af866496SDavid Daney 		uint64_t l4_len:1;
637af866496SDavid Daney 		uint64_t l4_chk:1;
638af866496SDavid Daney 		uint64_t l4_prt:1;
639af866496SDavid Daney 		uint64_t l4_mal:1;
640af866496SDavid Daney 		uint64_t reserved_6_7:2;
641af866496SDavid Daney 		uint64_t ip6_eext:2;
642af866496SDavid Daney 		uint64_t ip4_opts:1;
643af866496SDavid Daney 		uint64_t ip_hop:1;
644af866496SDavid Daney 		uint64_t ip_mal:1;
645af866496SDavid Daney 		uint64_t ip_chk:1;
646*c5aa59e8SDavid Daney #else
647af866496SDavid Daney 		uint64_t ip_chk:1;
648*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
649*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
650*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
651*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
652*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
653*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
654*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
655*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
656*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
657*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
658*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
659*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
660*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
661*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
662*c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
663*c5aa59e8SDavid Daney 		uint64_t ring_en:1;
664*c5aa59e8SDavid Daney 		uint64_t reserved_21_23:3;
665*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
666*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
667*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
668*c5aa59e8SDavid Daney 		uint64_t reserved_27_63:37;
669*c5aa59e8SDavid Daney #endif
670*c5aa59e8SDavid Daney 	} cn52xx;
671af866496SDavid Daney 	struct cvmx_pip_gbl_ctl_cn56xxp1 {
672*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
673af866496SDavid Daney 		uint64_t reserved_21_63:43;
674af866496SDavid Daney 		uint64_t ring_en:1;
675af866496SDavid Daney 		uint64_t reserved_17_19:3;
676af866496SDavid Daney 		uint64_t ignrs:1;
677af866496SDavid Daney 		uint64_t vs_wqe:1;
678af866496SDavid Daney 		uint64_t vs_qos:1;
679af866496SDavid Daney 		uint64_t l2_mal:1;
680af866496SDavid Daney 		uint64_t tcp_flag:1;
681af866496SDavid Daney 		uint64_t l4_len:1;
682af866496SDavid Daney 		uint64_t l4_chk:1;
683af866496SDavid Daney 		uint64_t l4_prt:1;
684af866496SDavid Daney 		uint64_t l4_mal:1;
685af866496SDavid Daney 		uint64_t reserved_6_7:2;
686af866496SDavid Daney 		uint64_t ip6_eext:2;
687af866496SDavid Daney 		uint64_t ip4_opts:1;
688af866496SDavid Daney 		uint64_t ip_hop:1;
689af866496SDavid Daney 		uint64_t ip_mal:1;
690af866496SDavid Daney 		uint64_t ip_chk:1;
691*c5aa59e8SDavid Daney #else
692*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
693*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
694*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
695*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
696*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
697*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
698*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
699*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
700*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
701*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
702*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
703*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
704*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
705*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
706*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
707*c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
708*c5aa59e8SDavid Daney 		uint64_t ring_en:1;
709*c5aa59e8SDavid Daney 		uint64_t reserved_21_63:43;
710*c5aa59e8SDavid Daney #endif
711af866496SDavid Daney 	} cn56xxp1;
712*c5aa59e8SDavid Daney 	struct cvmx_pip_gbl_ctl_cn61xx {
713*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
714*c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
715*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
716*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
717*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
718*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
719*c5aa59e8SDavid Daney 		uint64_t reserved_21_23:3;
720*c5aa59e8SDavid Daney 		uint64_t ring_en:1;
721*c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
722*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
723*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
724*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
725*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
726*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
727*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
728*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
729*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
730*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
731*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
732*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
733*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
734*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
735*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
736*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
737*c5aa59e8SDavid Daney #else
738*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
739*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
740*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
741*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
742*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
743*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
744*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
745*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
746*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
747*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
748*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
749*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
750*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
751*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
752*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
753*c5aa59e8SDavid Daney 		uint64_t reserved_17_19:3;
754*c5aa59e8SDavid Daney 		uint64_t ring_en:1;
755*c5aa59e8SDavid Daney 		uint64_t reserved_21_23:3;
756*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
757*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
758*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
759*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
760*c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
761*c5aa59e8SDavid Daney #endif
762*c5aa59e8SDavid Daney 	} cn61xx;
763*c5aa59e8SDavid Daney 	struct cvmx_pip_gbl_ctl_cn68xx {
764*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
765*c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
766*c5aa59e8SDavid Daney 		uint64_t egrp_dis:1;
767*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
768*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
769*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
770*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
771*c5aa59e8SDavid Daney 		uint64_t reserved_17_23:7;
772*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
773*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
774*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
775*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
776*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
777*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
778*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
779*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
780*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
781*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
782*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
783*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
784*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
785*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
786*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
787*c5aa59e8SDavid Daney #else
788*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
789*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
790*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
791*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
792*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
793*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
794*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
795*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
796*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
797*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
798*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
799*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
800*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
801*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
802*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
803*c5aa59e8SDavid Daney 		uint64_t reserved_17_23:7;
804*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
805*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
806*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
807*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
808*c5aa59e8SDavid Daney 		uint64_t egrp_dis:1;
809*c5aa59e8SDavid Daney 		uint64_t reserved_29_63:35;
810*c5aa59e8SDavid Daney #endif
811*c5aa59e8SDavid Daney 	} cn68xx;
812*c5aa59e8SDavid Daney 	struct cvmx_pip_gbl_ctl_cn68xxp1 {
813*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
814*c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
815*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
816*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
817*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
818*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
819*c5aa59e8SDavid Daney 		uint64_t reserved_17_23:7;
820*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
821*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
822*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
823*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
824*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
825*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
826*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
827*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
828*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
829*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
830*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
831*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
832*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
833*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
834*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
835*c5aa59e8SDavid Daney #else
836*c5aa59e8SDavid Daney 		uint64_t ip_chk:1;
837*c5aa59e8SDavid Daney 		uint64_t ip_mal:1;
838*c5aa59e8SDavid Daney 		uint64_t ip_hop:1;
839*c5aa59e8SDavid Daney 		uint64_t ip4_opts:1;
840*c5aa59e8SDavid Daney 		uint64_t ip6_eext:2;
841*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
842*c5aa59e8SDavid Daney 		uint64_t l4_mal:1;
843*c5aa59e8SDavid Daney 		uint64_t l4_prt:1;
844*c5aa59e8SDavid Daney 		uint64_t l4_chk:1;
845*c5aa59e8SDavid Daney 		uint64_t l4_len:1;
846*c5aa59e8SDavid Daney 		uint64_t tcp_flag:1;
847*c5aa59e8SDavid Daney 		uint64_t l2_mal:1;
848*c5aa59e8SDavid Daney 		uint64_t vs_qos:1;
849*c5aa59e8SDavid Daney 		uint64_t vs_wqe:1;
850*c5aa59e8SDavid Daney 		uint64_t ignrs:1;
851*c5aa59e8SDavid Daney 		uint64_t reserved_17_23:7;
852*c5aa59e8SDavid Daney 		uint64_t dsa_grp_sid:1;
853*c5aa59e8SDavid Daney 		uint64_t dsa_grp_scmd:1;
854*c5aa59e8SDavid Daney 		uint64_t dsa_grp_tvid:1;
855*c5aa59e8SDavid Daney 		uint64_t ihmsk_dis:1;
856*c5aa59e8SDavid Daney 		uint64_t reserved_28_63:36;
857*c5aa59e8SDavid Daney #endif
858*c5aa59e8SDavid Daney 	} cn68xxp1;
859af866496SDavid Daney };
860af866496SDavid Daney 
861af866496SDavid Daney union cvmx_pip_hg_pri_qos {
862af866496SDavid Daney 	uint64_t u64;
863af866496SDavid Daney 	struct cvmx_pip_hg_pri_qos_s {
864*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
865*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
866*c5aa59e8SDavid Daney 		uint64_t up_qos:1;
867*c5aa59e8SDavid Daney 		uint64_t reserved_11_11:1;
868af866496SDavid Daney 		uint64_t qos:3;
869af866496SDavid Daney 		uint64_t reserved_6_7:2;
870af866496SDavid Daney 		uint64_t pri:6;
871*c5aa59e8SDavid Daney #else
872*c5aa59e8SDavid Daney 		uint64_t pri:6;
873*c5aa59e8SDavid Daney 		uint64_t reserved_6_7:2;
874*c5aa59e8SDavid Daney 		uint64_t qos:3;
875*c5aa59e8SDavid Daney 		uint64_t reserved_11_11:1;
876*c5aa59e8SDavid Daney 		uint64_t up_qos:1;
877*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
878*c5aa59e8SDavid Daney #endif
879af866496SDavid Daney 	} s;
880af866496SDavid Daney };
881af866496SDavid Daney 
882af866496SDavid Daney union cvmx_pip_int_en {
883af866496SDavid Daney 	uint64_t u64;
884af866496SDavid Daney 	struct cvmx_pip_int_en_s {
885*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
886af866496SDavid Daney 		uint64_t reserved_13_63:51;
887af866496SDavid Daney 		uint64_t punyerr:1;
888af866496SDavid Daney 		uint64_t lenerr:1;
889af866496SDavid Daney 		uint64_t maxerr:1;
890af866496SDavid Daney 		uint64_t minerr:1;
891af866496SDavid Daney 		uint64_t beperr:1;
892af866496SDavid Daney 		uint64_t feperr:1;
893af866496SDavid Daney 		uint64_t todoovr:1;
894af866496SDavid Daney 		uint64_t skprunt:1;
895af866496SDavid Daney 		uint64_t badtag:1;
896af866496SDavid Daney 		uint64_t prtnxa:1;
897af866496SDavid Daney 		uint64_t bckprs:1;
898af866496SDavid Daney 		uint64_t crcerr:1;
899af866496SDavid Daney 		uint64_t pktdrp:1;
900*c5aa59e8SDavid Daney #else
901*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
902*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
903*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
904*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
905*c5aa59e8SDavid Daney 		uint64_t badtag:1;
906*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
907*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
908*c5aa59e8SDavid Daney 		uint64_t feperr:1;
909*c5aa59e8SDavid Daney 		uint64_t beperr:1;
910*c5aa59e8SDavid Daney 		uint64_t minerr:1;
911*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
912*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
913*c5aa59e8SDavid Daney 		uint64_t punyerr:1;
914*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
915*c5aa59e8SDavid Daney #endif
916af866496SDavid Daney 	} s;
917af866496SDavid Daney 	struct cvmx_pip_int_en_cn30xx {
918*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
919af866496SDavid Daney 		uint64_t reserved_9_63:55;
920af866496SDavid Daney 		uint64_t beperr:1;
921af866496SDavid Daney 		uint64_t feperr:1;
922af866496SDavid Daney 		uint64_t todoovr:1;
923af866496SDavid Daney 		uint64_t skprunt:1;
924af866496SDavid Daney 		uint64_t badtag:1;
925af866496SDavid Daney 		uint64_t prtnxa:1;
926af866496SDavid Daney 		uint64_t bckprs:1;
927af866496SDavid Daney 		uint64_t crcerr:1;
928af866496SDavid Daney 		uint64_t pktdrp:1;
929*c5aa59e8SDavid Daney #else
930*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
931*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
932*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
933*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
934*c5aa59e8SDavid Daney 		uint64_t badtag:1;
935*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
936*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
937*c5aa59e8SDavid Daney 		uint64_t feperr:1;
938*c5aa59e8SDavid Daney 		uint64_t beperr:1;
939*c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
940*c5aa59e8SDavid Daney #endif
941af866496SDavid Daney 	} cn30xx;
942af866496SDavid Daney 	struct cvmx_pip_int_en_cn50xx {
943*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
944af866496SDavid Daney 		uint64_t reserved_12_63:52;
945af866496SDavid Daney 		uint64_t lenerr:1;
946af866496SDavid Daney 		uint64_t maxerr:1;
947af866496SDavid Daney 		uint64_t minerr:1;
948af866496SDavid Daney 		uint64_t beperr:1;
949af866496SDavid Daney 		uint64_t feperr:1;
950af866496SDavid Daney 		uint64_t todoovr:1;
951af866496SDavid Daney 		uint64_t skprunt:1;
952af866496SDavid Daney 		uint64_t badtag:1;
953af866496SDavid Daney 		uint64_t prtnxa:1;
954af866496SDavid Daney 		uint64_t bckprs:1;
955af866496SDavid Daney 		uint64_t reserved_1_1:1;
956af866496SDavid Daney 		uint64_t pktdrp:1;
957*c5aa59e8SDavid Daney #else
958*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
959*c5aa59e8SDavid Daney 		uint64_t reserved_1_1:1;
960*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
961*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
962*c5aa59e8SDavid Daney 		uint64_t badtag:1;
963*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
964*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
965*c5aa59e8SDavid Daney 		uint64_t feperr:1;
966*c5aa59e8SDavid Daney 		uint64_t beperr:1;
967*c5aa59e8SDavid Daney 		uint64_t minerr:1;
968*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
969*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
970*c5aa59e8SDavid Daney 		uint64_t reserved_12_63:52;
971*c5aa59e8SDavid Daney #endif
972af866496SDavid Daney 	} cn50xx;
973af866496SDavid Daney 	struct cvmx_pip_int_en_cn52xx {
974*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
975af866496SDavid Daney 		uint64_t reserved_13_63:51;
976af866496SDavid Daney 		uint64_t punyerr:1;
977af866496SDavid Daney 		uint64_t lenerr:1;
978af866496SDavid Daney 		uint64_t maxerr:1;
979af866496SDavid Daney 		uint64_t minerr:1;
980af866496SDavid Daney 		uint64_t beperr:1;
981af866496SDavid Daney 		uint64_t feperr:1;
982af866496SDavid Daney 		uint64_t todoovr:1;
983af866496SDavid Daney 		uint64_t skprunt:1;
984af866496SDavid Daney 		uint64_t badtag:1;
985af866496SDavid Daney 		uint64_t prtnxa:1;
986af866496SDavid Daney 		uint64_t bckprs:1;
987af866496SDavid Daney 		uint64_t reserved_1_1:1;
988af866496SDavid Daney 		uint64_t pktdrp:1;
989*c5aa59e8SDavid Daney #else
990*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
991*c5aa59e8SDavid Daney 		uint64_t reserved_1_1:1;
992*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
993*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
994*c5aa59e8SDavid Daney 		uint64_t badtag:1;
995*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
996*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
997*c5aa59e8SDavid Daney 		uint64_t feperr:1;
998*c5aa59e8SDavid Daney 		uint64_t beperr:1;
999*c5aa59e8SDavid Daney 		uint64_t minerr:1;
1000*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
1001*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
1002*c5aa59e8SDavid Daney 		uint64_t punyerr:1;
1003*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
1004*c5aa59e8SDavid Daney #endif
1005af866496SDavid Daney 	} cn52xx;
1006af866496SDavid Daney 	struct cvmx_pip_int_en_cn56xxp1 {
1007*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1008af866496SDavid Daney 		uint64_t reserved_12_63:52;
1009af866496SDavid Daney 		uint64_t lenerr:1;
1010af866496SDavid Daney 		uint64_t maxerr:1;
1011af866496SDavid Daney 		uint64_t minerr:1;
1012af866496SDavid Daney 		uint64_t beperr:1;
1013af866496SDavid Daney 		uint64_t feperr:1;
1014af866496SDavid Daney 		uint64_t todoovr:1;
1015af866496SDavid Daney 		uint64_t skprunt:1;
1016af866496SDavid Daney 		uint64_t badtag:1;
1017af866496SDavid Daney 		uint64_t prtnxa:1;
1018af866496SDavid Daney 		uint64_t bckprs:1;
1019af866496SDavid Daney 		uint64_t crcerr:1;
1020af866496SDavid Daney 		uint64_t pktdrp:1;
1021*c5aa59e8SDavid Daney #else
1022*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1023*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
1024*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1025*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1026*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1027*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1028*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1029*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1030*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1031*c5aa59e8SDavid Daney 		uint64_t minerr:1;
1032*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
1033*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
1034*c5aa59e8SDavid Daney 		uint64_t reserved_12_63:52;
1035*c5aa59e8SDavid Daney #endif
1036af866496SDavid Daney 	} cn56xxp1;
1037af866496SDavid Daney 	struct cvmx_pip_int_en_cn58xx {
1038*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1039af866496SDavid Daney 		uint64_t reserved_13_63:51;
1040af866496SDavid Daney 		uint64_t punyerr:1;
1041af866496SDavid Daney 		uint64_t reserved_9_11:3;
1042af866496SDavid Daney 		uint64_t beperr:1;
1043af866496SDavid Daney 		uint64_t feperr:1;
1044af866496SDavid Daney 		uint64_t todoovr:1;
1045af866496SDavid Daney 		uint64_t skprunt:1;
1046af866496SDavid Daney 		uint64_t badtag:1;
1047af866496SDavid Daney 		uint64_t prtnxa:1;
1048af866496SDavid Daney 		uint64_t bckprs:1;
1049af866496SDavid Daney 		uint64_t crcerr:1;
1050af866496SDavid Daney 		uint64_t pktdrp:1;
1051*c5aa59e8SDavid Daney #else
1052*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1053*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
1054*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1055*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1056*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1057*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1058*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1059*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1060*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1061*c5aa59e8SDavid Daney 		uint64_t reserved_9_11:3;
1062*c5aa59e8SDavid Daney 		uint64_t punyerr:1;
1063*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
1064*c5aa59e8SDavid Daney #endif
1065af866496SDavid Daney 	} cn58xx;
1066af866496SDavid Daney };
1067af866496SDavid Daney 
1068af866496SDavid Daney union cvmx_pip_int_reg {
1069af866496SDavid Daney 	uint64_t u64;
1070af866496SDavid Daney 	struct cvmx_pip_int_reg_s {
1071*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1072af866496SDavid Daney 		uint64_t reserved_13_63:51;
1073af866496SDavid Daney 		uint64_t punyerr:1;
1074af866496SDavid Daney 		uint64_t lenerr:1;
1075af866496SDavid Daney 		uint64_t maxerr:1;
1076af866496SDavid Daney 		uint64_t minerr:1;
1077af866496SDavid Daney 		uint64_t beperr:1;
1078af866496SDavid Daney 		uint64_t feperr:1;
1079af866496SDavid Daney 		uint64_t todoovr:1;
1080af866496SDavid Daney 		uint64_t skprunt:1;
1081af866496SDavid Daney 		uint64_t badtag:1;
1082af866496SDavid Daney 		uint64_t prtnxa:1;
1083af866496SDavid Daney 		uint64_t bckprs:1;
1084af866496SDavid Daney 		uint64_t crcerr:1;
1085af866496SDavid Daney 		uint64_t pktdrp:1;
1086*c5aa59e8SDavid Daney #else
1087*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1088*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
1089*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1090*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1091*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1092*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1093*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1094*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1095*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1096*c5aa59e8SDavid Daney 		uint64_t minerr:1;
1097*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
1098*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
1099*c5aa59e8SDavid Daney 		uint64_t punyerr:1;
1100*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
1101*c5aa59e8SDavid Daney #endif
1102af866496SDavid Daney 	} s;
1103af866496SDavid Daney 	struct cvmx_pip_int_reg_cn30xx {
1104*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1105af866496SDavid Daney 		uint64_t reserved_9_63:55;
1106af866496SDavid Daney 		uint64_t beperr:1;
1107af866496SDavid Daney 		uint64_t feperr:1;
1108af866496SDavid Daney 		uint64_t todoovr:1;
1109af866496SDavid Daney 		uint64_t skprunt:1;
1110af866496SDavid Daney 		uint64_t badtag:1;
1111af866496SDavid Daney 		uint64_t prtnxa:1;
1112af866496SDavid Daney 		uint64_t bckprs:1;
1113af866496SDavid Daney 		uint64_t crcerr:1;
1114af866496SDavid Daney 		uint64_t pktdrp:1;
1115*c5aa59e8SDavid Daney #else
1116*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1117*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
1118*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1119*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1120*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1121*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1122*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1123*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1124*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1125*c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
1126*c5aa59e8SDavid Daney #endif
1127af866496SDavid Daney 	} cn30xx;
1128af866496SDavid Daney 	struct cvmx_pip_int_reg_cn50xx {
1129*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1130af866496SDavid Daney 		uint64_t reserved_12_63:52;
1131af866496SDavid Daney 		uint64_t lenerr:1;
1132af866496SDavid Daney 		uint64_t maxerr:1;
1133af866496SDavid Daney 		uint64_t minerr:1;
1134af866496SDavid Daney 		uint64_t beperr:1;
1135af866496SDavid Daney 		uint64_t feperr:1;
1136af866496SDavid Daney 		uint64_t todoovr:1;
1137af866496SDavid Daney 		uint64_t skprunt:1;
1138af866496SDavid Daney 		uint64_t badtag:1;
1139af866496SDavid Daney 		uint64_t prtnxa:1;
1140af866496SDavid Daney 		uint64_t bckprs:1;
1141af866496SDavid Daney 		uint64_t reserved_1_1:1;
1142af866496SDavid Daney 		uint64_t pktdrp:1;
1143*c5aa59e8SDavid Daney #else
1144*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1145*c5aa59e8SDavid Daney 		uint64_t reserved_1_1:1;
1146*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1147*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1148*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1149*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1150*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1151*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1152*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1153*c5aa59e8SDavid Daney 		uint64_t minerr:1;
1154*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
1155*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
1156*c5aa59e8SDavid Daney 		uint64_t reserved_12_63:52;
1157*c5aa59e8SDavid Daney #endif
1158af866496SDavid Daney 	} cn50xx;
1159af866496SDavid Daney 	struct cvmx_pip_int_reg_cn52xx {
1160*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1161af866496SDavid Daney 		uint64_t reserved_13_63:51;
1162af866496SDavid Daney 		uint64_t punyerr:1;
1163af866496SDavid Daney 		uint64_t lenerr:1;
1164af866496SDavid Daney 		uint64_t maxerr:1;
1165af866496SDavid Daney 		uint64_t minerr:1;
1166af866496SDavid Daney 		uint64_t beperr:1;
1167af866496SDavid Daney 		uint64_t feperr:1;
1168af866496SDavid Daney 		uint64_t todoovr:1;
1169af866496SDavid Daney 		uint64_t skprunt:1;
1170af866496SDavid Daney 		uint64_t badtag:1;
1171af866496SDavid Daney 		uint64_t prtnxa:1;
1172af866496SDavid Daney 		uint64_t bckprs:1;
1173af866496SDavid Daney 		uint64_t reserved_1_1:1;
1174af866496SDavid Daney 		uint64_t pktdrp:1;
1175*c5aa59e8SDavid Daney #else
1176*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1177*c5aa59e8SDavid Daney 		uint64_t reserved_1_1:1;
1178*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1179*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1180*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1181*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1182*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1183*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1184*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1185*c5aa59e8SDavid Daney 		uint64_t minerr:1;
1186*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
1187*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
1188*c5aa59e8SDavid Daney 		uint64_t punyerr:1;
1189*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
1190*c5aa59e8SDavid Daney #endif
1191af866496SDavid Daney 	} cn52xx;
1192af866496SDavid Daney 	struct cvmx_pip_int_reg_cn56xxp1 {
1193*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1194af866496SDavid Daney 		uint64_t reserved_12_63:52;
1195af866496SDavid Daney 		uint64_t lenerr:1;
1196af866496SDavid Daney 		uint64_t maxerr:1;
1197af866496SDavid Daney 		uint64_t minerr:1;
1198af866496SDavid Daney 		uint64_t beperr:1;
1199af866496SDavid Daney 		uint64_t feperr:1;
1200af866496SDavid Daney 		uint64_t todoovr:1;
1201af866496SDavid Daney 		uint64_t skprunt:1;
1202af866496SDavid Daney 		uint64_t badtag:1;
1203af866496SDavid Daney 		uint64_t prtnxa:1;
1204af866496SDavid Daney 		uint64_t bckprs:1;
1205af866496SDavid Daney 		uint64_t crcerr:1;
1206af866496SDavid Daney 		uint64_t pktdrp:1;
1207*c5aa59e8SDavid Daney #else
1208*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1209*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
1210*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1211*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1212*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1213*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1214*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1215*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1216*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1217*c5aa59e8SDavid Daney 		uint64_t minerr:1;
1218*c5aa59e8SDavid Daney 		uint64_t maxerr:1;
1219*c5aa59e8SDavid Daney 		uint64_t lenerr:1;
1220*c5aa59e8SDavid Daney 		uint64_t reserved_12_63:52;
1221*c5aa59e8SDavid Daney #endif
1222af866496SDavid Daney 	} cn56xxp1;
1223af866496SDavid Daney 	struct cvmx_pip_int_reg_cn58xx {
1224*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1225af866496SDavid Daney 		uint64_t reserved_13_63:51;
1226af866496SDavid Daney 		uint64_t punyerr:1;
1227af866496SDavid Daney 		uint64_t reserved_9_11:3;
1228af866496SDavid Daney 		uint64_t beperr:1;
1229af866496SDavid Daney 		uint64_t feperr:1;
1230af866496SDavid Daney 		uint64_t todoovr:1;
1231af866496SDavid Daney 		uint64_t skprunt:1;
1232af866496SDavid Daney 		uint64_t badtag:1;
1233af866496SDavid Daney 		uint64_t prtnxa:1;
1234af866496SDavid Daney 		uint64_t bckprs:1;
1235af866496SDavid Daney 		uint64_t crcerr:1;
1236af866496SDavid Daney 		uint64_t pktdrp:1;
1237*c5aa59e8SDavid Daney #else
1238*c5aa59e8SDavid Daney 		uint64_t pktdrp:1;
1239*c5aa59e8SDavid Daney 		uint64_t crcerr:1;
1240*c5aa59e8SDavid Daney 		uint64_t bckprs:1;
1241*c5aa59e8SDavid Daney 		uint64_t prtnxa:1;
1242*c5aa59e8SDavid Daney 		uint64_t badtag:1;
1243*c5aa59e8SDavid Daney 		uint64_t skprunt:1;
1244*c5aa59e8SDavid Daney 		uint64_t todoovr:1;
1245*c5aa59e8SDavid Daney 		uint64_t feperr:1;
1246*c5aa59e8SDavid Daney 		uint64_t beperr:1;
1247*c5aa59e8SDavid Daney 		uint64_t reserved_9_11:3;
1248*c5aa59e8SDavid Daney 		uint64_t punyerr:1;
1249*c5aa59e8SDavid Daney 		uint64_t reserved_13_63:51;
1250*c5aa59e8SDavid Daney #endif
1251af866496SDavid Daney 	} cn58xx;
1252af866496SDavid Daney };
1253af866496SDavid Daney 
1254af866496SDavid Daney union cvmx_pip_ip_offset {
1255af866496SDavid Daney 	uint64_t u64;
1256af866496SDavid Daney 	struct cvmx_pip_ip_offset_s {
1257*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1258af866496SDavid Daney 		uint64_t reserved_3_63:61;
1259af866496SDavid Daney 		uint64_t offset:3;
1260*c5aa59e8SDavid Daney #else
1261*c5aa59e8SDavid Daney 		uint64_t offset:3;
1262*c5aa59e8SDavid Daney 		uint64_t reserved_3_63:61;
1263*c5aa59e8SDavid Daney #endif
1264af866496SDavid Daney 	} s;
1265*c5aa59e8SDavid Daney };
1266*c5aa59e8SDavid Daney 
1267*c5aa59e8SDavid Daney union cvmx_pip_pri_tblx {
1268*c5aa59e8SDavid Daney 	uint64_t u64;
1269*c5aa59e8SDavid Daney 	struct cvmx_pip_pri_tblx_s {
1270*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1271*c5aa59e8SDavid Daney 		uint64_t diff2_padd:8;
1272*c5aa59e8SDavid Daney 		uint64_t hg2_padd:8;
1273*c5aa59e8SDavid Daney 		uint64_t vlan2_padd:8;
1274*c5aa59e8SDavid Daney 		uint64_t reserved_38_39:2;
1275*c5aa59e8SDavid Daney 		uint64_t diff2_bpid:6;
1276*c5aa59e8SDavid Daney 		uint64_t reserved_30_31:2;
1277*c5aa59e8SDavid Daney 		uint64_t hg2_bpid:6;
1278*c5aa59e8SDavid Daney 		uint64_t reserved_22_23:2;
1279*c5aa59e8SDavid Daney 		uint64_t vlan2_bpid:6;
1280*c5aa59e8SDavid Daney 		uint64_t reserved_11_15:5;
1281*c5aa59e8SDavid Daney 		uint64_t diff2_qos:3;
1282*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1283*c5aa59e8SDavid Daney 		uint64_t hg2_qos:3;
1284*c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
1285*c5aa59e8SDavid Daney 		uint64_t vlan2_qos:3;
1286*c5aa59e8SDavid Daney #else
1287*c5aa59e8SDavid Daney 		uint64_t vlan2_qos:3;
1288*c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
1289*c5aa59e8SDavid Daney 		uint64_t hg2_qos:3;
1290*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1291*c5aa59e8SDavid Daney 		uint64_t diff2_qos:3;
1292*c5aa59e8SDavid Daney 		uint64_t reserved_11_15:5;
1293*c5aa59e8SDavid Daney 		uint64_t vlan2_bpid:6;
1294*c5aa59e8SDavid Daney 		uint64_t reserved_22_23:2;
1295*c5aa59e8SDavid Daney 		uint64_t hg2_bpid:6;
1296*c5aa59e8SDavid Daney 		uint64_t reserved_30_31:2;
1297*c5aa59e8SDavid Daney 		uint64_t diff2_bpid:6;
1298*c5aa59e8SDavid Daney 		uint64_t reserved_38_39:2;
1299*c5aa59e8SDavid Daney 		uint64_t vlan2_padd:8;
1300*c5aa59e8SDavid Daney 		uint64_t hg2_padd:8;
1301*c5aa59e8SDavid Daney 		uint64_t diff2_padd:8;
1302*c5aa59e8SDavid Daney #endif
1303*c5aa59e8SDavid Daney 	} s;
1304af866496SDavid Daney };
1305af866496SDavid Daney 
1306af866496SDavid Daney union cvmx_pip_prt_cfgx {
1307af866496SDavid Daney 	uint64_t u64;
1308af866496SDavid Daney 	struct cvmx_pip_prt_cfgx_s {
1309*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1310*c5aa59e8SDavid Daney 		uint64_t reserved_55_63:9;
1311*c5aa59e8SDavid Daney 		uint64_t ih_pri:1;
1312*c5aa59e8SDavid Daney 		uint64_t len_chk_sel:1;
1313*c5aa59e8SDavid Daney 		uint64_t pad_len:1;
1314*c5aa59e8SDavid Daney 		uint64_t vlan_len:1;
1315*c5aa59e8SDavid Daney 		uint64_t lenerr_en:1;
1316*c5aa59e8SDavid Daney 		uint64_t maxerr_en:1;
1317*c5aa59e8SDavid Daney 		uint64_t minerr_en:1;
1318*c5aa59e8SDavid Daney 		uint64_t grp_wat_47:4;
1319*c5aa59e8SDavid Daney 		uint64_t qos_wat_47:4;
1320*c5aa59e8SDavid Daney 		uint64_t reserved_37_39:3;
1321*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1322*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1323*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1324*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1325*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1326*c5aa59e8SDavid Daney 		uint64_t hg_qos:1;
1327*c5aa59e8SDavid Daney 		uint64_t qos:3;
1328*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1329*c5aa59e8SDavid Daney 		uint64_t qos_vsel:1;
1330*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1331*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1332*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1333*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1334*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1335*c5aa59e8SDavid Daney 		uint64_t higig_en:1;
1336*c5aa59e8SDavid Daney 		uint64_t dsa_en:1;
1337*c5aa59e8SDavid Daney 		uint64_t mode:2;
1338*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1339*c5aa59e8SDavid Daney 		uint64_t skip:7;
1340*c5aa59e8SDavid Daney #else
1341*c5aa59e8SDavid Daney 		uint64_t skip:7;
1342*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1343*c5aa59e8SDavid Daney 		uint64_t mode:2;
1344*c5aa59e8SDavid Daney 		uint64_t dsa_en:1;
1345*c5aa59e8SDavid Daney 		uint64_t higig_en:1;
1346*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1347*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1348*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1349*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1350*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1351*c5aa59e8SDavid Daney 		uint64_t qos_vsel:1;
1352*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1353*c5aa59e8SDavid Daney 		uint64_t qos:3;
1354*c5aa59e8SDavid Daney 		uint64_t hg_qos:1;
1355*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1356*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1357*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1358*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1359*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1360*c5aa59e8SDavid Daney 		uint64_t reserved_37_39:3;
1361*c5aa59e8SDavid Daney 		uint64_t qos_wat_47:4;
1362*c5aa59e8SDavid Daney 		uint64_t grp_wat_47:4;
1363*c5aa59e8SDavid Daney 		uint64_t minerr_en:1;
1364*c5aa59e8SDavid Daney 		uint64_t maxerr_en:1;
1365*c5aa59e8SDavid Daney 		uint64_t lenerr_en:1;
1366*c5aa59e8SDavid Daney 		uint64_t vlan_len:1;
1367*c5aa59e8SDavid Daney 		uint64_t pad_len:1;
1368*c5aa59e8SDavid Daney 		uint64_t len_chk_sel:1;
1369*c5aa59e8SDavid Daney 		uint64_t ih_pri:1;
1370*c5aa59e8SDavid Daney 		uint64_t reserved_55_63:9;
1371*c5aa59e8SDavid Daney #endif
1372*c5aa59e8SDavid Daney 	} s;
1373*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgx_cn30xx {
1374*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1375*c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
1376*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1377*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1378*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1379*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1380*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1381*c5aa59e8SDavid Daney 		uint64_t reserved_27_27:1;
1382*c5aa59e8SDavid Daney 		uint64_t qos:3;
1383*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1384*c5aa59e8SDavid Daney 		uint64_t reserved_18_19:2;
1385*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1386*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1387*c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
1388*c5aa59e8SDavid Daney 		uint64_t mode:2;
1389*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1390*c5aa59e8SDavid Daney 		uint64_t skip:7;
1391*c5aa59e8SDavid Daney #else
1392*c5aa59e8SDavid Daney 		uint64_t skip:7;
1393*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1394*c5aa59e8SDavid Daney 		uint64_t mode:2;
1395*c5aa59e8SDavid Daney 		uint64_t reserved_10_15:6;
1396*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1397*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1398*c5aa59e8SDavid Daney 		uint64_t reserved_18_19:2;
1399*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1400*c5aa59e8SDavid Daney 		uint64_t qos:3;
1401*c5aa59e8SDavid Daney 		uint64_t reserved_27_27:1;
1402*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1403*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1404*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1405*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1406*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1407*c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
1408*c5aa59e8SDavid Daney #endif
1409*c5aa59e8SDavid Daney 	} cn30xx;
1410*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgx_cn38xx {
1411*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1412*c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
1413*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1414*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1415*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1416*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1417*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1418*c5aa59e8SDavid Daney 		uint64_t reserved_27_27:1;
1419*c5aa59e8SDavid Daney 		uint64_t qos:3;
1420*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1421*c5aa59e8SDavid Daney 		uint64_t reserved_18_19:2;
1422*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1423*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1424*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1425*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1426*c5aa59e8SDavid Daney 		uint64_t reserved_10_11:2;
1427*c5aa59e8SDavid Daney 		uint64_t mode:2;
1428*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1429*c5aa59e8SDavid Daney 		uint64_t skip:7;
1430*c5aa59e8SDavid Daney #else
1431*c5aa59e8SDavid Daney 		uint64_t skip:7;
1432*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1433*c5aa59e8SDavid Daney 		uint64_t mode:2;
1434*c5aa59e8SDavid Daney 		uint64_t reserved_10_11:2;
1435*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1436*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1437*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1438*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1439*c5aa59e8SDavid Daney 		uint64_t reserved_18_19:2;
1440*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1441*c5aa59e8SDavid Daney 		uint64_t qos:3;
1442*c5aa59e8SDavid Daney 		uint64_t reserved_27_27:1;
1443*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1444*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1445*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1446*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1447*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1448*c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
1449*c5aa59e8SDavid Daney #endif
1450*c5aa59e8SDavid Daney 	} cn38xx;
1451*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgx_cn50xx {
1452*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1453*c5aa59e8SDavid Daney 		uint64_t reserved_53_63:11;
1454*c5aa59e8SDavid Daney 		uint64_t pad_len:1;
1455*c5aa59e8SDavid Daney 		uint64_t vlan_len:1;
1456*c5aa59e8SDavid Daney 		uint64_t lenerr_en:1;
1457*c5aa59e8SDavid Daney 		uint64_t maxerr_en:1;
1458*c5aa59e8SDavid Daney 		uint64_t minerr_en:1;
1459*c5aa59e8SDavid Daney 		uint64_t grp_wat_47:4;
1460*c5aa59e8SDavid Daney 		uint64_t qos_wat_47:4;
1461*c5aa59e8SDavid Daney 		uint64_t reserved_37_39:3;
1462*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1463*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1464*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1465*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1466*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1467*c5aa59e8SDavid Daney 		uint64_t reserved_27_27:1;
1468*c5aa59e8SDavid Daney 		uint64_t qos:3;
1469*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1470*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
1471*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1472*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1473*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1474*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1475*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1476*c5aa59e8SDavid Daney 		uint64_t reserved_10_11:2;
1477*c5aa59e8SDavid Daney 		uint64_t mode:2;
1478*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1479*c5aa59e8SDavid Daney 		uint64_t skip:7;
1480*c5aa59e8SDavid Daney #else
1481*c5aa59e8SDavid Daney 		uint64_t skip:7;
1482*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1483*c5aa59e8SDavid Daney 		uint64_t mode:2;
1484*c5aa59e8SDavid Daney 		uint64_t reserved_10_11:2;
1485*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1486*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1487*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1488*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1489*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1490*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
1491*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1492*c5aa59e8SDavid Daney 		uint64_t qos:3;
1493*c5aa59e8SDavid Daney 		uint64_t reserved_27_27:1;
1494*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1495*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1496*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1497*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1498*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1499*c5aa59e8SDavid Daney 		uint64_t reserved_37_39:3;
1500*c5aa59e8SDavid Daney 		uint64_t qos_wat_47:4;
1501*c5aa59e8SDavid Daney 		uint64_t grp_wat_47:4;
1502*c5aa59e8SDavid Daney 		uint64_t minerr_en:1;
1503*c5aa59e8SDavid Daney 		uint64_t maxerr_en:1;
1504*c5aa59e8SDavid Daney 		uint64_t lenerr_en:1;
1505*c5aa59e8SDavid Daney 		uint64_t vlan_len:1;
1506*c5aa59e8SDavid Daney 		uint64_t pad_len:1;
1507*c5aa59e8SDavid Daney 		uint64_t reserved_53_63:11;
1508*c5aa59e8SDavid Daney #endif
1509*c5aa59e8SDavid Daney 	} cn50xx;
1510*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgx_cn52xx {
1511*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1512af866496SDavid Daney 		uint64_t reserved_53_63:11;
1513af866496SDavid Daney 		uint64_t pad_len:1;
1514af866496SDavid Daney 		uint64_t vlan_len:1;
1515af866496SDavid Daney 		uint64_t lenerr_en:1;
1516af866496SDavid Daney 		uint64_t maxerr_en:1;
1517af866496SDavid Daney 		uint64_t minerr_en:1;
1518af866496SDavid Daney 		uint64_t grp_wat_47:4;
1519af866496SDavid Daney 		uint64_t qos_wat_47:4;
1520af866496SDavid Daney 		uint64_t reserved_37_39:3;
1521af866496SDavid Daney 		uint64_t rawdrp:1;
1522af866496SDavid Daney 		uint64_t tag_inc:2;
1523af866496SDavid Daney 		uint64_t dyn_rs:1;
1524af866496SDavid Daney 		uint64_t inst_hdr:1;
1525af866496SDavid Daney 		uint64_t grp_wat:4;
1526af866496SDavid Daney 		uint64_t hg_qos:1;
1527af866496SDavid Daney 		uint64_t qos:3;
1528af866496SDavid Daney 		uint64_t qos_wat:4;
1529af866496SDavid Daney 		uint64_t qos_vsel:1;
1530af866496SDavid Daney 		uint64_t qos_vod:1;
1531af866496SDavid Daney 		uint64_t qos_diff:1;
1532af866496SDavid Daney 		uint64_t qos_vlan:1;
1533af866496SDavid Daney 		uint64_t reserved_13_15:3;
1534af866496SDavid Daney 		uint64_t crc_en:1;
1535af866496SDavid Daney 		uint64_t higig_en:1;
1536af866496SDavid Daney 		uint64_t dsa_en:1;
1537af866496SDavid Daney 		uint64_t mode:2;
1538af866496SDavid Daney 		uint64_t reserved_7_7:1;
1539af866496SDavid Daney 		uint64_t skip:7;
1540*c5aa59e8SDavid Daney #else
1541af866496SDavid Daney 		uint64_t skip:7;
1542*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1543*c5aa59e8SDavid Daney 		uint64_t mode:2;
1544*c5aa59e8SDavid Daney 		uint64_t dsa_en:1;
1545*c5aa59e8SDavid Daney 		uint64_t higig_en:1;
1546*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1547*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1548*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1549*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1550*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1551*c5aa59e8SDavid Daney 		uint64_t qos_vsel:1;
1552*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1553*c5aa59e8SDavid Daney 		uint64_t qos:3;
1554*c5aa59e8SDavid Daney 		uint64_t hg_qos:1;
1555*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1556*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1557*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1558*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1559*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1560*c5aa59e8SDavid Daney 		uint64_t reserved_37_39:3;
1561*c5aa59e8SDavid Daney 		uint64_t qos_wat_47:4;
1562*c5aa59e8SDavid Daney 		uint64_t grp_wat_47:4;
1563*c5aa59e8SDavid Daney 		uint64_t minerr_en:1;
1564*c5aa59e8SDavid Daney 		uint64_t maxerr_en:1;
1565*c5aa59e8SDavid Daney 		uint64_t lenerr_en:1;
1566*c5aa59e8SDavid Daney 		uint64_t vlan_len:1;
1567*c5aa59e8SDavid Daney 		uint64_t pad_len:1;
1568*c5aa59e8SDavid Daney 		uint64_t reserved_53_63:11;
1569*c5aa59e8SDavid Daney #endif
1570*c5aa59e8SDavid Daney 	} cn52xx;
1571*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgx_cn58xx {
1572*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1573af866496SDavid Daney 		uint64_t reserved_37_63:27;
1574af866496SDavid Daney 		uint64_t rawdrp:1;
1575af866496SDavid Daney 		uint64_t tag_inc:2;
1576af866496SDavid Daney 		uint64_t dyn_rs:1;
1577af866496SDavid Daney 		uint64_t inst_hdr:1;
1578af866496SDavid Daney 		uint64_t grp_wat:4;
1579af866496SDavid Daney 		uint64_t reserved_27_27:1;
1580af866496SDavid Daney 		uint64_t qos:3;
1581af866496SDavid Daney 		uint64_t qos_wat:4;
1582*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
1583*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1584af866496SDavid Daney 		uint64_t qos_diff:1;
1585af866496SDavid Daney 		uint64_t qos_vlan:1;
1586af866496SDavid Daney 		uint64_t reserved_13_15:3;
1587af866496SDavid Daney 		uint64_t crc_en:1;
1588af866496SDavid Daney 		uint64_t reserved_10_11:2;
1589af866496SDavid Daney 		uint64_t mode:2;
1590af866496SDavid Daney 		uint64_t reserved_7_7:1;
1591af866496SDavid Daney 		uint64_t skip:7;
1592*c5aa59e8SDavid Daney #else
1593*c5aa59e8SDavid Daney 		uint64_t skip:7;
1594*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1595*c5aa59e8SDavid Daney 		uint64_t mode:2;
1596*c5aa59e8SDavid Daney 		uint64_t reserved_10_11:2;
1597*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1598*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1599*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1600*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1601*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1602*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
1603*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1604*c5aa59e8SDavid Daney 		uint64_t qos:3;
1605*c5aa59e8SDavid Daney 		uint64_t reserved_27_27:1;
1606*c5aa59e8SDavid Daney 		uint64_t grp_wat:4;
1607*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1608*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1609*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1610*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1611*c5aa59e8SDavid Daney 		uint64_t reserved_37_63:27;
1612*c5aa59e8SDavid Daney #endif
1613*c5aa59e8SDavid Daney 	} cn58xx;
1614*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgx_cn68xx {
1615*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1616*c5aa59e8SDavid Daney 		uint64_t reserved_55_63:9;
1617*c5aa59e8SDavid Daney 		uint64_t ih_pri:1;
1618*c5aa59e8SDavid Daney 		uint64_t len_chk_sel:1;
1619af866496SDavid Daney 		uint64_t pad_len:1;
1620af866496SDavid Daney 		uint64_t vlan_len:1;
1621af866496SDavid Daney 		uint64_t lenerr_en:1;
1622af866496SDavid Daney 		uint64_t maxerr_en:1;
1623af866496SDavid Daney 		uint64_t minerr_en:1;
1624af866496SDavid Daney 		uint64_t grp_wat_47:4;
1625af866496SDavid Daney 		uint64_t qos_wat_47:4;
1626af866496SDavid Daney 		uint64_t reserved_37_39:3;
1627af866496SDavid Daney 		uint64_t rawdrp:1;
1628af866496SDavid Daney 		uint64_t tag_inc:2;
1629af866496SDavid Daney 		uint64_t dyn_rs:1;
1630af866496SDavid Daney 		uint64_t inst_hdr:1;
1631af866496SDavid Daney 		uint64_t grp_wat:4;
1632*c5aa59e8SDavid Daney 		uint64_t hg_qos:1;
1633af866496SDavid Daney 		uint64_t qos:3;
1634af866496SDavid Daney 		uint64_t qos_wat:4;
1635af866496SDavid Daney 		uint64_t reserved_19_19:1;
1636af866496SDavid Daney 		uint64_t qos_vod:1;
1637af866496SDavid Daney 		uint64_t qos_diff:1;
1638af866496SDavid Daney 		uint64_t qos_vlan:1;
1639af866496SDavid Daney 		uint64_t reserved_13_15:3;
1640af866496SDavid Daney 		uint64_t crc_en:1;
1641*c5aa59e8SDavid Daney 		uint64_t higig_en:1;
1642*c5aa59e8SDavid Daney 		uint64_t dsa_en:1;
1643af866496SDavid Daney 		uint64_t mode:2;
1644af866496SDavid Daney 		uint64_t reserved_7_7:1;
1645af866496SDavid Daney 		uint64_t skip:7;
1646*c5aa59e8SDavid Daney #else
1647*c5aa59e8SDavid Daney 		uint64_t skip:7;
1648*c5aa59e8SDavid Daney 		uint64_t reserved_7_7:1;
1649*c5aa59e8SDavid Daney 		uint64_t mode:2;
1650*c5aa59e8SDavid Daney 		uint64_t dsa_en:1;
1651*c5aa59e8SDavid Daney 		uint64_t higig_en:1;
1652*c5aa59e8SDavid Daney 		uint64_t crc_en:1;
1653*c5aa59e8SDavid Daney 		uint64_t reserved_13_15:3;
1654*c5aa59e8SDavid Daney 		uint64_t qos_vlan:1;
1655*c5aa59e8SDavid Daney 		uint64_t qos_diff:1;
1656*c5aa59e8SDavid Daney 		uint64_t qos_vod:1;
1657*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
1658*c5aa59e8SDavid Daney 		uint64_t qos_wat:4;
1659*c5aa59e8SDavid Daney 		uint64_t qos:3;
1660*c5aa59e8SDavid Daney 		uint64_t hg_qos:1;
1661af866496SDavid Daney 		uint64_t grp_wat:4;
1662*c5aa59e8SDavid Daney 		uint64_t inst_hdr:1;
1663*c5aa59e8SDavid Daney 		uint64_t dyn_rs:1;
1664*c5aa59e8SDavid Daney 		uint64_t tag_inc:2;
1665*c5aa59e8SDavid Daney 		uint64_t rawdrp:1;
1666*c5aa59e8SDavid Daney 		uint64_t reserved_37_39:3;
1667*c5aa59e8SDavid Daney 		uint64_t qos_wat_47:4;
1668*c5aa59e8SDavid Daney 		uint64_t grp_wat_47:4;
1669*c5aa59e8SDavid Daney 		uint64_t minerr_en:1;
1670*c5aa59e8SDavid Daney 		uint64_t maxerr_en:1;
1671*c5aa59e8SDavid Daney 		uint64_t lenerr_en:1;
1672*c5aa59e8SDavid Daney 		uint64_t vlan_len:1;
1673*c5aa59e8SDavid Daney 		uint64_t pad_len:1;
1674*c5aa59e8SDavid Daney 		uint64_t len_chk_sel:1;
1675*c5aa59e8SDavid Daney 		uint64_t ih_pri:1;
1676*c5aa59e8SDavid Daney 		uint64_t reserved_55_63:9;
1677*c5aa59e8SDavid Daney #endif
1678*c5aa59e8SDavid Daney 	} cn68xx;
1679*c5aa59e8SDavid Daney };
1680*c5aa59e8SDavid Daney 
1681*c5aa59e8SDavid Daney union cvmx_pip_prt_cfgbx {
1682*c5aa59e8SDavid Daney 	uint64_t u64;
1683*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgbx_s {
1684*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1685*c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
1686*c5aa59e8SDavid Daney 		uint64_t alt_skp_sel:2;
1687*c5aa59e8SDavid Daney 		uint64_t alt_skp_en:1;
1688*c5aa59e8SDavid Daney 		uint64_t reserved_35_35:1;
1689*c5aa59e8SDavid Daney 		uint64_t bsel_num:2;
1690*c5aa59e8SDavid Daney 		uint64_t bsel_en:1;
1691*c5aa59e8SDavid Daney 		uint64_t reserved_24_31:8;
1692*c5aa59e8SDavid Daney 		uint64_t base:8;
1693*c5aa59e8SDavid Daney 		uint64_t reserved_6_15:10;
1694*c5aa59e8SDavid Daney 		uint64_t bpid:6;
1695*c5aa59e8SDavid Daney #else
1696*c5aa59e8SDavid Daney 		uint64_t bpid:6;
1697*c5aa59e8SDavid Daney 		uint64_t reserved_6_15:10;
1698*c5aa59e8SDavid Daney 		uint64_t base:8;
1699*c5aa59e8SDavid Daney 		uint64_t reserved_24_31:8;
1700*c5aa59e8SDavid Daney 		uint64_t bsel_en:1;
1701*c5aa59e8SDavid Daney 		uint64_t bsel_num:2;
1702*c5aa59e8SDavid Daney 		uint64_t reserved_35_35:1;
1703*c5aa59e8SDavid Daney 		uint64_t alt_skp_en:1;
1704*c5aa59e8SDavid Daney 		uint64_t alt_skp_sel:2;
1705*c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
1706*c5aa59e8SDavid Daney #endif
1707*c5aa59e8SDavid Daney 	} s;
1708*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgbx_cn61xx {
1709*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1710*c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
1711*c5aa59e8SDavid Daney 		uint64_t alt_skp_sel:2;
1712*c5aa59e8SDavid Daney 		uint64_t alt_skp_en:1;
1713*c5aa59e8SDavid Daney 		uint64_t reserved_35_35:1;
1714*c5aa59e8SDavid Daney 		uint64_t bsel_num:2;
1715*c5aa59e8SDavid Daney 		uint64_t bsel_en:1;
1716*c5aa59e8SDavid Daney 		uint64_t reserved_0_31:32;
1717*c5aa59e8SDavid Daney #else
1718*c5aa59e8SDavid Daney 		uint64_t reserved_0_31:32;
1719*c5aa59e8SDavid Daney 		uint64_t bsel_en:1;
1720*c5aa59e8SDavid Daney 		uint64_t bsel_num:2;
1721*c5aa59e8SDavid Daney 		uint64_t reserved_35_35:1;
1722*c5aa59e8SDavid Daney 		uint64_t alt_skp_en:1;
1723*c5aa59e8SDavid Daney 		uint64_t alt_skp_sel:2;
1724*c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
1725*c5aa59e8SDavid Daney #endif
1726*c5aa59e8SDavid Daney 	} cn61xx;
1727*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgbx_cn66xx {
1728*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1729*c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
1730*c5aa59e8SDavid Daney 		uint64_t alt_skp_sel:2;
1731*c5aa59e8SDavid Daney 		uint64_t alt_skp_en:1;
1732*c5aa59e8SDavid Daney 		uint64_t reserved_0_35:36;
1733*c5aa59e8SDavid Daney #else
1734*c5aa59e8SDavid Daney 		uint64_t reserved_0_35:36;
1735*c5aa59e8SDavid Daney 		uint64_t alt_skp_en:1;
1736*c5aa59e8SDavid Daney 		uint64_t alt_skp_sel:2;
1737*c5aa59e8SDavid Daney 		uint64_t reserved_39_63:25;
1738*c5aa59e8SDavid Daney #endif
1739*c5aa59e8SDavid Daney 	} cn66xx;
1740*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_cfgbx_cn68xxp1 {
1741*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1742*c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
1743*c5aa59e8SDavid Daney 		uint64_t base:8;
1744*c5aa59e8SDavid Daney 		uint64_t reserved_6_15:10;
1745*c5aa59e8SDavid Daney 		uint64_t bpid:6;
1746*c5aa59e8SDavid Daney #else
1747*c5aa59e8SDavid Daney 		uint64_t bpid:6;
1748*c5aa59e8SDavid Daney 		uint64_t reserved_6_15:10;
1749*c5aa59e8SDavid Daney 		uint64_t base:8;
1750*c5aa59e8SDavid Daney 		uint64_t reserved_24_63:40;
1751*c5aa59e8SDavid Daney #endif
1752*c5aa59e8SDavid Daney 	} cn68xxp1;
1753af866496SDavid Daney };
1754af866496SDavid Daney 
1755af866496SDavid Daney union cvmx_pip_prt_tagx {
1756af866496SDavid Daney 	uint64_t u64;
1757af866496SDavid Daney 	struct cvmx_pip_prt_tagx_s {
1758*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1759*c5aa59e8SDavid Daney 		uint64_t reserved_54_63:10;
1760*c5aa59e8SDavid Daney 		uint64_t portadd_en:1;
1761*c5aa59e8SDavid Daney 		uint64_t inc_hwchk:1;
1762*c5aa59e8SDavid Daney 		uint64_t reserved_50_51:2;
1763*c5aa59e8SDavid Daney 		uint64_t grptagbase_msb:2;
1764*c5aa59e8SDavid Daney 		uint64_t reserved_46_47:2;
1765*c5aa59e8SDavid Daney 		uint64_t grptagmask_msb:2;
1766*c5aa59e8SDavid Daney 		uint64_t reserved_42_43:2;
1767*c5aa59e8SDavid Daney 		uint64_t grp_msb:2;
1768af866496SDavid Daney 		uint64_t grptagbase:4;
1769af866496SDavid Daney 		uint64_t grptagmask:4;
1770af866496SDavid Daney 		uint64_t grptag:1;
1771af866496SDavid Daney 		uint64_t grptag_mskip:1;
1772af866496SDavid Daney 		uint64_t tag_mode:2;
1773af866496SDavid Daney 		uint64_t inc_vs:2;
1774af866496SDavid Daney 		uint64_t inc_vlan:1;
1775af866496SDavid Daney 		uint64_t inc_prt_flag:1;
1776af866496SDavid Daney 		uint64_t ip6_dprt_flag:1;
1777af866496SDavid Daney 		uint64_t ip4_dprt_flag:1;
1778af866496SDavid Daney 		uint64_t ip6_sprt_flag:1;
1779af866496SDavid Daney 		uint64_t ip4_sprt_flag:1;
1780af866496SDavid Daney 		uint64_t ip6_nxth_flag:1;
1781af866496SDavid Daney 		uint64_t ip4_pctl_flag:1;
1782af866496SDavid Daney 		uint64_t ip6_dst_flag:1;
1783af866496SDavid Daney 		uint64_t ip4_dst_flag:1;
1784af866496SDavid Daney 		uint64_t ip6_src_flag:1;
1785af866496SDavid Daney 		uint64_t ip4_src_flag:1;
1786af866496SDavid Daney 		uint64_t tcp6_tag_type:2;
1787af866496SDavid Daney 		uint64_t tcp4_tag_type:2;
1788af866496SDavid Daney 		uint64_t ip6_tag_type:2;
1789af866496SDavid Daney 		uint64_t ip4_tag_type:2;
1790af866496SDavid Daney 		uint64_t non_tag_type:2;
1791af866496SDavid Daney 		uint64_t grp:4;
1792*c5aa59e8SDavid Daney #else
1793*c5aa59e8SDavid Daney 		uint64_t grp:4;
1794*c5aa59e8SDavid Daney 		uint64_t non_tag_type:2;
1795*c5aa59e8SDavid Daney 		uint64_t ip4_tag_type:2;
1796*c5aa59e8SDavid Daney 		uint64_t ip6_tag_type:2;
1797*c5aa59e8SDavid Daney 		uint64_t tcp4_tag_type:2;
1798*c5aa59e8SDavid Daney 		uint64_t tcp6_tag_type:2;
1799*c5aa59e8SDavid Daney 		uint64_t ip4_src_flag:1;
1800*c5aa59e8SDavid Daney 		uint64_t ip6_src_flag:1;
1801*c5aa59e8SDavid Daney 		uint64_t ip4_dst_flag:1;
1802*c5aa59e8SDavid Daney 		uint64_t ip6_dst_flag:1;
1803*c5aa59e8SDavid Daney 		uint64_t ip4_pctl_flag:1;
1804*c5aa59e8SDavid Daney 		uint64_t ip6_nxth_flag:1;
1805*c5aa59e8SDavid Daney 		uint64_t ip4_sprt_flag:1;
1806*c5aa59e8SDavid Daney 		uint64_t ip6_sprt_flag:1;
1807*c5aa59e8SDavid Daney 		uint64_t ip4_dprt_flag:1;
1808*c5aa59e8SDavid Daney 		uint64_t ip6_dprt_flag:1;
1809*c5aa59e8SDavid Daney 		uint64_t inc_prt_flag:1;
1810*c5aa59e8SDavid Daney 		uint64_t inc_vlan:1;
1811*c5aa59e8SDavid Daney 		uint64_t inc_vs:2;
1812*c5aa59e8SDavid Daney 		uint64_t tag_mode:2;
1813*c5aa59e8SDavid Daney 		uint64_t grptag_mskip:1;
1814*c5aa59e8SDavid Daney 		uint64_t grptag:1;
1815*c5aa59e8SDavid Daney 		uint64_t grptagmask:4;
1816*c5aa59e8SDavid Daney 		uint64_t grptagbase:4;
1817*c5aa59e8SDavid Daney 		uint64_t grp_msb:2;
1818*c5aa59e8SDavid Daney 		uint64_t reserved_42_43:2;
1819*c5aa59e8SDavid Daney 		uint64_t grptagmask_msb:2;
1820*c5aa59e8SDavid Daney 		uint64_t reserved_46_47:2;
1821*c5aa59e8SDavid Daney 		uint64_t grptagbase_msb:2;
1822*c5aa59e8SDavid Daney 		uint64_t reserved_50_51:2;
1823*c5aa59e8SDavid Daney 		uint64_t inc_hwchk:1;
1824*c5aa59e8SDavid Daney 		uint64_t portadd_en:1;
1825*c5aa59e8SDavid Daney 		uint64_t reserved_54_63:10;
1826*c5aa59e8SDavid Daney #endif
1827af866496SDavid Daney 	} s;
1828af866496SDavid Daney 	struct cvmx_pip_prt_tagx_cn30xx {
1829*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1830af866496SDavid Daney 		uint64_t reserved_40_63:24;
1831af866496SDavid Daney 		uint64_t grptagbase:4;
1832af866496SDavid Daney 		uint64_t grptagmask:4;
1833af866496SDavid Daney 		uint64_t grptag:1;
1834af866496SDavid Daney 		uint64_t reserved_30_30:1;
1835af866496SDavid Daney 		uint64_t tag_mode:2;
1836af866496SDavid Daney 		uint64_t inc_vs:2;
1837af866496SDavid Daney 		uint64_t inc_vlan:1;
1838af866496SDavid Daney 		uint64_t inc_prt_flag:1;
1839af866496SDavid Daney 		uint64_t ip6_dprt_flag:1;
1840af866496SDavid Daney 		uint64_t ip4_dprt_flag:1;
1841af866496SDavid Daney 		uint64_t ip6_sprt_flag:1;
1842af866496SDavid Daney 		uint64_t ip4_sprt_flag:1;
1843af866496SDavid Daney 		uint64_t ip6_nxth_flag:1;
1844af866496SDavid Daney 		uint64_t ip4_pctl_flag:1;
1845af866496SDavid Daney 		uint64_t ip6_dst_flag:1;
1846af866496SDavid Daney 		uint64_t ip4_dst_flag:1;
1847af866496SDavid Daney 		uint64_t ip6_src_flag:1;
1848af866496SDavid Daney 		uint64_t ip4_src_flag:1;
1849af866496SDavid Daney 		uint64_t tcp6_tag_type:2;
1850af866496SDavid Daney 		uint64_t tcp4_tag_type:2;
1851af866496SDavid Daney 		uint64_t ip6_tag_type:2;
1852af866496SDavid Daney 		uint64_t ip4_tag_type:2;
1853af866496SDavid Daney 		uint64_t non_tag_type:2;
1854af866496SDavid Daney 		uint64_t grp:4;
1855*c5aa59e8SDavid Daney #else
1856*c5aa59e8SDavid Daney 		uint64_t grp:4;
1857*c5aa59e8SDavid Daney 		uint64_t non_tag_type:2;
1858*c5aa59e8SDavid Daney 		uint64_t ip4_tag_type:2;
1859*c5aa59e8SDavid Daney 		uint64_t ip6_tag_type:2;
1860*c5aa59e8SDavid Daney 		uint64_t tcp4_tag_type:2;
1861*c5aa59e8SDavid Daney 		uint64_t tcp6_tag_type:2;
1862*c5aa59e8SDavid Daney 		uint64_t ip4_src_flag:1;
1863*c5aa59e8SDavid Daney 		uint64_t ip6_src_flag:1;
1864*c5aa59e8SDavid Daney 		uint64_t ip4_dst_flag:1;
1865*c5aa59e8SDavid Daney 		uint64_t ip6_dst_flag:1;
1866*c5aa59e8SDavid Daney 		uint64_t ip4_pctl_flag:1;
1867*c5aa59e8SDavid Daney 		uint64_t ip6_nxth_flag:1;
1868*c5aa59e8SDavid Daney 		uint64_t ip4_sprt_flag:1;
1869*c5aa59e8SDavid Daney 		uint64_t ip6_sprt_flag:1;
1870*c5aa59e8SDavid Daney 		uint64_t ip4_dprt_flag:1;
1871*c5aa59e8SDavid Daney 		uint64_t ip6_dprt_flag:1;
1872*c5aa59e8SDavid Daney 		uint64_t inc_prt_flag:1;
1873*c5aa59e8SDavid Daney 		uint64_t inc_vlan:1;
1874*c5aa59e8SDavid Daney 		uint64_t inc_vs:2;
1875*c5aa59e8SDavid Daney 		uint64_t tag_mode:2;
1876*c5aa59e8SDavid Daney 		uint64_t reserved_30_30:1;
1877*c5aa59e8SDavid Daney 		uint64_t grptag:1;
1878*c5aa59e8SDavid Daney 		uint64_t grptagmask:4;
1879*c5aa59e8SDavid Daney 		uint64_t grptagbase:4;
1880*c5aa59e8SDavid Daney 		uint64_t reserved_40_63:24;
1881*c5aa59e8SDavid Daney #endif
1882af866496SDavid Daney 	} cn30xx;
1883*c5aa59e8SDavid Daney 	struct cvmx_pip_prt_tagx_cn50xx {
1884*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1885*c5aa59e8SDavid Daney 		uint64_t reserved_40_63:24;
1886*c5aa59e8SDavid Daney 		uint64_t grptagbase:4;
1887*c5aa59e8SDavid Daney 		uint64_t grptagmask:4;
1888*c5aa59e8SDavid Daney 		uint64_t grptag:1;
1889*c5aa59e8SDavid Daney 		uint64_t grptag_mskip:1;
1890*c5aa59e8SDavid Daney 		uint64_t tag_mode:2;
1891*c5aa59e8SDavid Daney 		uint64_t inc_vs:2;
1892*c5aa59e8SDavid Daney 		uint64_t inc_vlan:1;
1893*c5aa59e8SDavid Daney 		uint64_t inc_prt_flag:1;
1894*c5aa59e8SDavid Daney 		uint64_t ip6_dprt_flag:1;
1895*c5aa59e8SDavid Daney 		uint64_t ip4_dprt_flag:1;
1896*c5aa59e8SDavid Daney 		uint64_t ip6_sprt_flag:1;
1897*c5aa59e8SDavid Daney 		uint64_t ip4_sprt_flag:1;
1898*c5aa59e8SDavid Daney 		uint64_t ip6_nxth_flag:1;
1899*c5aa59e8SDavid Daney 		uint64_t ip4_pctl_flag:1;
1900*c5aa59e8SDavid Daney 		uint64_t ip6_dst_flag:1;
1901*c5aa59e8SDavid Daney 		uint64_t ip4_dst_flag:1;
1902*c5aa59e8SDavid Daney 		uint64_t ip6_src_flag:1;
1903*c5aa59e8SDavid Daney 		uint64_t ip4_src_flag:1;
1904*c5aa59e8SDavid Daney 		uint64_t tcp6_tag_type:2;
1905*c5aa59e8SDavid Daney 		uint64_t tcp4_tag_type:2;
1906*c5aa59e8SDavid Daney 		uint64_t ip6_tag_type:2;
1907*c5aa59e8SDavid Daney 		uint64_t ip4_tag_type:2;
1908*c5aa59e8SDavid Daney 		uint64_t non_tag_type:2;
1909*c5aa59e8SDavid Daney 		uint64_t grp:4;
1910*c5aa59e8SDavid Daney #else
1911*c5aa59e8SDavid Daney 		uint64_t grp:4;
1912*c5aa59e8SDavid Daney 		uint64_t non_tag_type:2;
1913*c5aa59e8SDavid Daney 		uint64_t ip4_tag_type:2;
1914*c5aa59e8SDavid Daney 		uint64_t ip6_tag_type:2;
1915*c5aa59e8SDavid Daney 		uint64_t tcp4_tag_type:2;
1916*c5aa59e8SDavid Daney 		uint64_t tcp6_tag_type:2;
1917*c5aa59e8SDavid Daney 		uint64_t ip4_src_flag:1;
1918*c5aa59e8SDavid Daney 		uint64_t ip6_src_flag:1;
1919*c5aa59e8SDavid Daney 		uint64_t ip4_dst_flag:1;
1920*c5aa59e8SDavid Daney 		uint64_t ip6_dst_flag:1;
1921*c5aa59e8SDavid Daney 		uint64_t ip4_pctl_flag:1;
1922*c5aa59e8SDavid Daney 		uint64_t ip6_nxth_flag:1;
1923*c5aa59e8SDavid Daney 		uint64_t ip4_sprt_flag:1;
1924*c5aa59e8SDavid Daney 		uint64_t ip6_sprt_flag:1;
1925*c5aa59e8SDavid Daney 		uint64_t ip4_dprt_flag:1;
1926*c5aa59e8SDavid Daney 		uint64_t ip6_dprt_flag:1;
1927*c5aa59e8SDavid Daney 		uint64_t inc_prt_flag:1;
1928*c5aa59e8SDavid Daney 		uint64_t inc_vlan:1;
1929*c5aa59e8SDavid Daney 		uint64_t inc_vs:2;
1930*c5aa59e8SDavid Daney 		uint64_t tag_mode:2;
1931*c5aa59e8SDavid Daney 		uint64_t grptag_mskip:1;
1932*c5aa59e8SDavid Daney 		uint64_t grptag:1;
1933*c5aa59e8SDavid Daney 		uint64_t grptagmask:4;
1934*c5aa59e8SDavid Daney 		uint64_t grptagbase:4;
1935*c5aa59e8SDavid Daney 		uint64_t reserved_40_63:24;
1936*c5aa59e8SDavid Daney #endif
1937*c5aa59e8SDavid Daney 	} cn50xx;
1938af866496SDavid Daney };
1939af866496SDavid Daney 
1940af866496SDavid Daney union cvmx_pip_qos_diffx {
1941af866496SDavid Daney 	uint64_t u64;
1942af866496SDavid Daney 	struct cvmx_pip_qos_diffx_s {
1943*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1944af866496SDavid Daney 		uint64_t reserved_3_63:61;
1945af866496SDavid Daney 		uint64_t qos:3;
1946*c5aa59e8SDavid Daney #else
1947*c5aa59e8SDavid Daney 		uint64_t qos:3;
1948*c5aa59e8SDavid Daney 		uint64_t reserved_3_63:61;
1949*c5aa59e8SDavid Daney #endif
1950af866496SDavid Daney 	} s;
1951af866496SDavid Daney };
1952af866496SDavid Daney 
1953af866496SDavid Daney union cvmx_pip_qos_vlanx {
1954af866496SDavid Daney 	uint64_t u64;
1955af866496SDavid Daney 	struct cvmx_pip_qos_vlanx_s {
1956*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1957af866496SDavid Daney 		uint64_t reserved_7_63:57;
1958af866496SDavid Daney 		uint64_t qos1:3;
1959af866496SDavid Daney 		uint64_t reserved_3_3:1;
1960af866496SDavid Daney 		uint64_t qos:3;
1961*c5aa59e8SDavid Daney #else
1962*c5aa59e8SDavid Daney 		uint64_t qos:3;
1963*c5aa59e8SDavid Daney 		uint64_t reserved_3_3:1;
1964*c5aa59e8SDavid Daney 		uint64_t qos1:3;
1965*c5aa59e8SDavid Daney 		uint64_t reserved_7_63:57;
1966*c5aa59e8SDavid Daney #endif
1967af866496SDavid Daney 	} s;
1968af866496SDavid Daney 	struct cvmx_pip_qos_vlanx_cn30xx {
1969*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1970af866496SDavid Daney 		uint64_t reserved_3_63:61;
1971af866496SDavid Daney 		uint64_t qos:3;
1972*c5aa59e8SDavid Daney #else
1973*c5aa59e8SDavid Daney 		uint64_t qos:3;
1974*c5aa59e8SDavid Daney 		uint64_t reserved_3_63:61;
1975*c5aa59e8SDavid Daney #endif
1976af866496SDavid Daney 	} cn30xx;
1977af866496SDavid Daney };
1978af866496SDavid Daney 
1979af866496SDavid Daney union cvmx_pip_qos_watchx {
1980af866496SDavid Daney 	uint64_t u64;
1981af866496SDavid Daney 	struct cvmx_pip_qos_watchx_s {
1982*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
1983af866496SDavid Daney 		uint64_t reserved_48_63:16;
1984af866496SDavid Daney 		uint64_t mask:16;
1985*c5aa59e8SDavid Daney 		uint64_t reserved_30_31:2;
1986*c5aa59e8SDavid Daney 		uint64_t grp:6;
1987af866496SDavid Daney 		uint64_t reserved_23_23:1;
1988af866496SDavid Daney 		uint64_t qos:3;
1989af866496SDavid Daney 		uint64_t reserved_19_19:1;
1990af866496SDavid Daney 		uint64_t match_type:3;
1991af866496SDavid Daney 		uint64_t match_value:16;
1992*c5aa59e8SDavid Daney #else
1993*c5aa59e8SDavid Daney 		uint64_t match_value:16;
1994*c5aa59e8SDavid Daney 		uint64_t match_type:3;
1995*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
1996*c5aa59e8SDavid Daney 		uint64_t qos:3;
1997*c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
1998*c5aa59e8SDavid Daney 		uint64_t grp:6;
1999*c5aa59e8SDavid Daney 		uint64_t reserved_30_31:2;
2000*c5aa59e8SDavid Daney 		uint64_t mask:16;
2001*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2002*c5aa59e8SDavid Daney #endif
2003af866496SDavid Daney 	} s;
2004af866496SDavid Daney 	struct cvmx_pip_qos_watchx_cn30xx {
2005*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2006af866496SDavid Daney 		uint64_t reserved_48_63:16;
2007af866496SDavid Daney 		uint64_t mask:16;
2008af866496SDavid Daney 		uint64_t reserved_28_31:4;
2009af866496SDavid Daney 		uint64_t grp:4;
2010af866496SDavid Daney 		uint64_t reserved_23_23:1;
2011af866496SDavid Daney 		uint64_t qos:3;
2012af866496SDavid Daney 		uint64_t reserved_18_19:2;
2013af866496SDavid Daney 		uint64_t match_type:2;
2014af866496SDavid Daney 		uint64_t match_value:16;
2015*c5aa59e8SDavid Daney #else
2016*c5aa59e8SDavid Daney 		uint64_t match_value:16;
2017*c5aa59e8SDavid Daney 		uint64_t match_type:2;
2018*c5aa59e8SDavid Daney 		uint64_t reserved_18_19:2;
2019*c5aa59e8SDavid Daney 		uint64_t qos:3;
2020*c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
2021*c5aa59e8SDavid Daney 		uint64_t grp:4;
2022*c5aa59e8SDavid Daney 		uint64_t reserved_28_31:4;
2023*c5aa59e8SDavid Daney 		uint64_t mask:16;
2024*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2025*c5aa59e8SDavid Daney #endif
2026af866496SDavid Daney 	} cn30xx;
2027*c5aa59e8SDavid Daney 	struct cvmx_pip_qos_watchx_cn50xx {
2028*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2029*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2030*c5aa59e8SDavid Daney 		uint64_t mask:16;
2031*c5aa59e8SDavid Daney 		uint64_t reserved_28_31:4;
2032*c5aa59e8SDavid Daney 		uint64_t grp:4;
2033*c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
2034*c5aa59e8SDavid Daney 		uint64_t qos:3;
2035*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
2036*c5aa59e8SDavid Daney 		uint64_t match_type:3;
2037*c5aa59e8SDavid Daney 		uint64_t match_value:16;
2038*c5aa59e8SDavid Daney #else
2039*c5aa59e8SDavid Daney 		uint64_t match_value:16;
2040*c5aa59e8SDavid Daney 		uint64_t match_type:3;
2041*c5aa59e8SDavid Daney 		uint64_t reserved_19_19:1;
2042*c5aa59e8SDavid Daney 		uint64_t qos:3;
2043*c5aa59e8SDavid Daney 		uint64_t reserved_23_23:1;
2044*c5aa59e8SDavid Daney 		uint64_t grp:4;
2045*c5aa59e8SDavid Daney 		uint64_t reserved_28_31:4;
2046*c5aa59e8SDavid Daney 		uint64_t mask:16;
2047*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2048*c5aa59e8SDavid Daney #endif
2049*c5aa59e8SDavid Daney 	} cn50xx;
2050af866496SDavid Daney };
2051af866496SDavid Daney 
2052af866496SDavid Daney union cvmx_pip_raw_word {
2053af866496SDavid Daney 	uint64_t u64;
2054af866496SDavid Daney 	struct cvmx_pip_raw_word_s {
2055*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2056af866496SDavid Daney 		uint64_t reserved_56_63:8;
2057af866496SDavid Daney 		uint64_t word:56;
2058*c5aa59e8SDavid Daney #else
2059*c5aa59e8SDavid Daney 		uint64_t word:56;
2060*c5aa59e8SDavid Daney 		uint64_t reserved_56_63:8;
2061*c5aa59e8SDavid Daney #endif
2062af866496SDavid Daney 	} s;
2063af866496SDavid Daney };
2064af866496SDavid Daney 
2065af866496SDavid Daney union cvmx_pip_sft_rst {
2066af866496SDavid Daney 	uint64_t u64;
2067af866496SDavid Daney 	struct cvmx_pip_sft_rst_s {
2068*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2069af866496SDavid Daney 		uint64_t reserved_1_63:63;
2070af866496SDavid Daney 		uint64_t rst:1;
2071*c5aa59e8SDavid Daney #else
2072*c5aa59e8SDavid Daney 		uint64_t rst:1;
2073*c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
2074*c5aa59e8SDavid Daney #endif
2075af866496SDavid Daney 	} s;
2076*c5aa59e8SDavid Daney };
2077*c5aa59e8SDavid Daney 
2078*c5aa59e8SDavid Daney union cvmx_pip_stat0_x {
2079*c5aa59e8SDavid Daney 	uint64_t u64;
2080*c5aa59e8SDavid Daney 	struct cvmx_pip_stat0_x_s {
2081*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2082*c5aa59e8SDavid Daney 		uint64_t drp_pkts:32;
2083*c5aa59e8SDavid Daney 		uint64_t drp_octs:32;
2084*c5aa59e8SDavid Daney #else
2085*c5aa59e8SDavid Daney 		uint64_t drp_octs:32;
2086*c5aa59e8SDavid Daney 		uint64_t drp_pkts:32;
2087*c5aa59e8SDavid Daney #endif
2088*c5aa59e8SDavid Daney 	} s;
2089af866496SDavid Daney };
2090af866496SDavid Daney 
2091af866496SDavid Daney union cvmx_pip_stat0_prtx {
2092af866496SDavid Daney 	uint64_t u64;
2093af866496SDavid Daney 	struct cvmx_pip_stat0_prtx_s {
2094*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2095af866496SDavid Daney 		uint64_t drp_pkts:32;
2096af866496SDavid Daney 		uint64_t drp_octs:32;
2097*c5aa59e8SDavid Daney #else
2098*c5aa59e8SDavid Daney 		uint64_t drp_octs:32;
2099*c5aa59e8SDavid Daney 		uint64_t drp_pkts:32;
2100*c5aa59e8SDavid Daney #endif
2101af866496SDavid Daney 	} s;
2102*c5aa59e8SDavid Daney };
2103*c5aa59e8SDavid Daney 
2104*c5aa59e8SDavid Daney union cvmx_pip_stat10_x {
2105*c5aa59e8SDavid Daney 	uint64_t u64;
2106*c5aa59e8SDavid Daney 	struct cvmx_pip_stat10_x_s {
2107*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2108*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2109*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2110*c5aa59e8SDavid Daney #else
2111*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2112*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2113*c5aa59e8SDavid Daney #endif
2114*c5aa59e8SDavid Daney 	} s;
2115*c5aa59e8SDavid Daney };
2116*c5aa59e8SDavid Daney 
2117*c5aa59e8SDavid Daney union cvmx_pip_stat10_prtx {
2118*c5aa59e8SDavid Daney 	uint64_t u64;
2119*c5aa59e8SDavid Daney 	struct cvmx_pip_stat10_prtx_s {
2120*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2121*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2122*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2123*c5aa59e8SDavid Daney #else
2124*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2125*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2126*c5aa59e8SDavid Daney #endif
2127*c5aa59e8SDavid Daney 	} s;
2128*c5aa59e8SDavid Daney };
2129*c5aa59e8SDavid Daney 
2130*c5aa59e8SDavid Daney union cvmx_pip_stat11_x {
2131*c5aa59e8SDavid Daney 	uint64_t u64;
2132*c5aa59e8SDavid Daney 	struct cvmx_pip_stat11_x_s {
2133*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2134*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2135*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2136*c5aa59e8SDavid Daney #else
2137*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2138*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2139*c5aa59e8SDavid Daney #endif
2140*c5aa59e8SDavid Daney 	} s;
2141*c5aa59e8SDavid Daney };
2142*c5aa59e8SDavid Daney 
2143*c5aa59e8SDavid Daney union cvmx_pip_stat11_prtx {
2144*c5aa59e8SDavid Daney 	uint64_t u64;
2145*c5aa59e8SDavid Daney 	struct cvmx_pip_stat11_prtx_s {
2146*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2147*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2148*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2149*c5aa59e8SDavid Daney #else
2150*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2151*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2152*c5aa59e8SDavid Daney #endif
2153*c5aa59e8SDavid Daney 	} s;
2154*c5aa59e8SDavid Daney };
2155*c5aa59e8SDavid Daney 
2156*c5aa59e8SDavid Daney union cvmx_pip_stat1_x {
2157*c5aa59e8SDavid Daney 	uint64_t u64;
2158*c5aa59e8SDavid Daney 	struct cvmx_pip_stat1_x_s {
2159*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2160*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2161*c5aa59e8SDavid Daney 		uint64_t octs:48;
2162*c5aa59e8SDavid Daney #else
2163*c5aa59e8SDavid Daney 		uint64_t octs:48;
2164*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2165*c5aa59e8SDavid Daney #endif
2166*c5aa59e8SDavid Daney 	} s;
2167af866496SDavid Daney };
2168af866496SDavid Daney 
2169af866496SDavid Daney union cvmx_pip_stat1_prtx {
2170af866496SDavid Daney 	uint64_t u64;
2171af866496SDavid Daney 	struct cvmx_pip_stat1_prtx_s {
2172*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2173af866496SDavid Daney 		uint64_t reserved_48_63:16;
2174af866496SDavid Daney 		uint64_t octs:48;
2175*c5aa59e8SDavid Daney #else
2176*c5aa59e8SDavid Daney 		uint64_t octs:48;
2177*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2178*c5aa59e8SDavid Daney #endif
2179af866496SDavid Daney 	} s;
2180*c5aa59e8SDavid Daney };
2181*c5aa59e8SDavid Daney 
2182*c5aa59e8SDavid Daney union cvmx_pip_stat2_x {
2183*c5aa59e8SDavid Daney 	uint64_t u64;
2184*c5aa59e8SDavid Daney 	struct cvmx_pip_stat2_x_s {
2185*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2186*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2187*c5aa59e8SDavid Daney 		uint64_t raw:32;
2188*c5aa59e8SDavid Daney #else
2189*c5aa59e8SDavid Daney 		uint64_t raw:32;
2190*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2191*c5aa59e8SDavid Daney #endif
2192*c5aa59e8SDavid Daney 	} s;
2193af866496SDavid Daney };
2194af866496SDavid Daney 
2195af866496SDavid Daney union cvmx_pip_stat2_prtx {
2196af866496SDavid Daney 	uint64_t u64;
2197af866496SDavid Daney 	struct cvmx_pip_stat2_prtx_s {
2198*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2199af866496SDavid Daney 		uint64_t pkts:32;
2200af866496SDavid Daney 		uint64_t raw:32;
2201*c5aa59e8SDavid Daney #else
2202*c5aa59e8SDavid Daney 		uint64_t raw:32;
2203*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2204*c5aa59e8SDavid Daney #endif
2205af866496SDavid Daney 	} s;
2206*c5aa59e8SDavid Daney };
2207*c5aa59e8SDavid Daney 
2208*c5aa59e8SDavid Daney union cvmx_pip_stat3_x {
2209*c5aa59e8SDavid Daney 	uint64_t u64;
2210*c5aa59e8SDavid Daney 	struct cvmx_pip_stat3_x_s {
2211*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2212*c5aa59e8SDavid Daney 		uint64_t bcst:32;
2213*c5aa59e8SDavid Daney 		uint64_t mcst:32;
2214*c5aa59e8SDavid Daney #else
2215*c5aa59e8SDavid Daney 		uint64_t mcst:32;
2216*c5aa59e8SDavid Daney 		uint64_t bcst:32;
2217*c5aa59e8SDavid Daney #endif
2218*c5aa59e8SDavid Daney 	} s;
2219af866496SDavid Daney };
2220af866496SDavid Daney 
2221af866496SDavid Daney union cvmx_pip_stat3_prtx {
2222af866496SDavid Daney 	uint64_t u64;
2223af866496SDavid Daney 	struct cvmx_pip_stat3_prtx_s {
2224*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2225af866496SDavid Daney 		uint64_t bcst:32;
2226af866496SDavid Daney 		uint64_t mcst:32;
2227*c5aa59e8SDavid Daney #else
2228*c5aa59e8SDavid Daney 		uint64_t mcst:32;
2229*c5aa59e8SDavid Daney 		uint64_t bcst:32;
2230*c5aa59e8SDavid Daney #endif
2231af866496SDavid Daney 	} s;
2232*c5aa59e8SDavid Daney };
2233*c5aa59e8SDavid Daney 
2234*c5aa59e8SDavid Daney union cvmx_pip_stat4_x {
2235*c5aa59e8SDavid Daney 	uint64_t u64;
2236*c5aa59e8SDavid Daney 	struct cvmx_pip_stat4_x_s {
2237*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2238*c5aa59e8SDavid Daney 		uint64_t h65to127:32;
2239*c5aa59e8SDavid Daney 		uint64_t h64:32;
2240*c5aa59e8SDavid Daney #else
2241*c5aa59e8SDavid Daney 		uint64_t h64:32;
2242*c5aa59e8SDavid Daney 		uint64_t h65to127:32;
2243*c5aa59e8SDavid Daney #endif
2244*c5aa59e8SDavid Daney 	} s;
2245af866496SDavid Daney };
2246af866496SDavid Daney 
2247af866496SDavid Daney union cvmx_pip_stat4_prtx {
2248af866496SDavid Daney 	uint64_t u64;
2249af866496SDavid Daney 	struct cvmx_pip_stat4_prtx_s {
2250*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2251af866496SDavid Daney 		uint64_t h65to127:32;
2252af866496SDavid Daney 		uint64_t h64:32;
2253*c5aa59e8SDavid Daney #else
2254*c5aa59e8SDavid Daney 		uint64_t h64:32;
2255*c5aa59e8SDavid Daney 		uint64_t h65to127:32;
2256*c5aa59e8SDavid Daney #endif
2257af866496SDavid Daney 	} s;
2258*c5aa59e8SDavid Daney };
2259*c5aa59e8SDavid Daney 
2260*c5aa59e8SDavid Daney union cvmx_pip_stat5_x {
2261*c5aa59e8SDavid Daney 	uint64_t u64;
2262*c5aa59e8SDavid Daney 	struct cvmx_pip_stat5_x_s {
2263*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2264*c5aa59e8SDavid Daney 		uint64_t h256to511:32;
2265*c5aa59e8SDavid Daney 		uint64_t h128to255:32;
2266*c5aa59e8SDavid Daney #else
2267*c5aa59e8SDavid Daney 		uint64_t h128to255:32;
2268*c5aa59e8SDavid Daney 		uint64_t h256to511:32;
2269*c5aa59e8SDavid Daney #endif
2270*c5aa59e8SDavid Daney 	} s;
2271af866496SDavid Daney };
2272af866496SDavid Daney 
2273af866496SDavid Daney union cvmx_pip_stat5_prtx {
2274af866496SDavid Daney 	uint64_t u64;
2275af866496SDavid Daney 	struct cvmx_pip_stat5_prtx_s {
2276*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2277af866496SDavid Daney 		uint64_t h256to511:32;
2278af866496SDavid Daney 		uint64_t h128to255:32;
2279*c5aa59e8SDavid Daney #else
2280*c5aa59e8SDavid Daney 		uint64_t h128to255:32;
2281*c5aa59e8SDavid Daney 		uint64_t h256to511:32;
2282*c5aa59e8SDavid Daney #endif
2283af866496SDavid Daney 	} s;
2284*c5aa59e8SDavid Daney };
2285*c5aa59e8SDavid Daney 
2286*c5aa59e8SDavid Daney union cvmx_pip_stat6_x {
2287*c5aa59e8SDavid Daney 	uint64_t u64;
2288*c5aa59e8SDavid Daney 	struct cvmx_pip_stat6_x_s {
2289*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2290*c5aa59e8SDavid Daney 		uint64_t h1024to1518:32;
2291*c5aa59e8SDavid Daney 		uint64_t h512to1023:32;
2292*c5aa59e8SDavid Daney #else
2293*c5aa59e8SDavid Daney 		uint64_t h512to1023:32;
2294*c5aa59e8SDavid Daney 		uint64_t h1024to1518:32;
2295*c5aa59e8SDavid Daney #endif
2296*c5aa59e8SDavid Daney 	} s;
2297af866496SDavid Daney };
2298af866496SDavid Daney 
2299af866496SDavid Daney union cvmx_pip_stat6_prtx {
2300af866496SDavid Daney 	uint64_t u64;
2301af866496SDavid Daney 	struct cvmx_pip_stat6_prtx_s {
2302*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2303af866496SDavid Daney 		uint64_t h1024to1518:32;
2304af866496SDavid Daney 		uint64_t h512to1023:32;
2305*c5aa59e8SDavid Daney #else
2306*c5aa59e8SDavid Daney 		uint64_t h512to1023:32;
2307*c5aa59e8SDavid Daney 		uint64_t h1024to1518:32;
2308*c5aa59e8SDavid Daney #endif
2309af866496SDavid Daney 	} s;
2310*c5aa59e8SDavid Daney };
2311*c5aa59e8SDavid Daney 
2312*c5aa59e8SDavid Daney union cvmx_pip_stat7_x {
2313*c5aa59e8SDavid Daney 	uint64_t u64;
2314*c5aa59e8SDavid Daney 	struct cvmx_pip_stat7_x_s {
2315*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2316*c5aa59e8SDavid Daney 		uint64_t fcs:32;
2317*c5aa59e8SDavid Daney 		uint64_t h1519:32;
2318*c5aa59e8SDavid Daney #else
2319*c5aa59e8SDavid Daney 		uint64_t h1519:32;
2320*c5aa59e8SDavid Daney 		uint64_t fcs:32;
2321*c5aa59e8SDavid Daney #endif
2322*c5aa59e8SDavid Daney 	} s;
2323af866496SDavid Daney };
2324af866496SDavid Daney 
2325af866496SDavid Daney union cvmx_pip_stat7_prtx {
2326af866496SDavid Daney 	uint64_t u64;
2327af866496SDavid Daney 	struct cvmx_pip_stat7_prtx_s {
2328*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2329af866496SDavid Daney 		uint64_t fcs:32;
2330af866496SDavid Daney 		uint64_t h1519:32;
2331*c5aa59e8SDavid Daney #else
2332*c5aa59e8SDavid Daney 		uint64_t h1519:32;
2333*c5aa59e8SDavid Daney 		uint64_t fcs:32;
2334*c5aa59e8SDavid Daney #endif
2335af866496SDavid Daney 	} s;
2336*c5aa59e8SDavid Daney };
2337*c5aa59e8SDavid Daney 
2338*c5aa59e8SDavid Daney union cvmx_pip_stat8_x {
2339*c5aa59e8SDavid Daney 	uint64_t u64;
2340*c5aa59e8SDavid Daney 	struct cvmx_pip_stat8_x_s {
2341*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2342*c5aa59e8SDavid Daney 		uint64_t frag:32;
2343*c5aa59e8SDavid Daney 		uint64_t undersz:32;
2344*c5aa59e8SDavid Daney #else
2345*c5aa59e8SDavid Daney 		uint64_t undersz:32;
2346*c5aa59e8SDavid Daney 		uint64_t frag:32;
2347*c5aa59e8SDavid Daney #endif
2348*c5aa59e8SDavid Daney 	} s;
2349af866496SDavid Daney };
2350af866496SDavid Daney 
2351af866496SDavid Daney union cvmx_pip_stat8_prtx {
2352af866496SDavid Daney 	uint64_t u64;
2353af866496SDavid Daney 	struct cvmx_pip_stat8_prtx_s {
2354*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2355af866496SDavid Daney 		uint64_t frag:32;
2356af866496SDavid Daney 		uint64_t undersz:32;
2357*c5aa59e8SDavid Daney #else
2358*c5aa59e8SDavid Daney 		uint64_t undersz:32;
2359*c5aa59e8SDavid Daney 		uint64_t frag:32;
2360*c5aa59e8SDavid Daney #endif
2361af866496SDavid Daney 	} s;
2362*c5aa59e8SDavid Daney };
2363*c5aa59e8SDavid Daney 
2364*c5aa59e8SDavid Daney union cvmx_pip_stat9_x {
2365*c5aa59e8SDavid Daney 	uint64_t u64;
2366*c5aa59e8SDavid Daney 	struct cvmx_pip_stat9_x_s {
2367*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2368*c5aa59e8SDavid Daney 		uint64_t jabber:32;
2369*c5aa59e8SDavid Daney 		uint64_t oversz:32;
2370*c5aa59e8SDavid Daney #else
2371*c5aa59e8SDavid Daney 		uint64_t oversz:32;
2372*c5aa59e8SDavid Daney 		uint64_t jabber:32;
2373*c5aa59e8SDavid Daney #endif
2374*c5aa59e8SDavid Daney 	} s;
2375af866496SDavid Daney };
2376af866496SDavid Daney 
2377af866496SDavid Daney union cvmx_pip_stat9_prtx {
2378af866496SDavid Daney 	uint64_t u64;
2379af866496SDavid Daney 	struct cvmx_pip_stat9_prtx_s {
2380*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2381af866496SDavid Daney 		uint64_t jabber:32;
2382af866496SDavid Daney 		uint64_t oversz:32;
2383*c5aa59e8SDavid Daney #else
2384*c5aa59e8SDavid Daney 		uint64_t oversz:32;
2385*c5aa59e8SDavid Daney 		uint64_t jabber:32;
2386*c5aa59e8SDavid Daney #endif
2387af866496SDavid Daney 	} s;
2388af866496SDavid Daney };
2389af866496SDavid Daney 
2390af866496SDavid Daney union cvmx_pip_stat_ctl {
2391af866496SDavid Daney 	uint64_t u64;
2392af866496SDavid Daney 	struct cvmx_pip_stat_ctl_s {
2393*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2394*c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
2395*c5aa59e8SDavid Daney 		uint64_t mode:1;
2396*c5aa59e8SDavid Daney 		uint64_t reserved_1_7:7;
2397*c5aa59e8SDavid Daney 		uint64_t rdclr:1;
2398*c5aa59e8SDavid Daney #else
2399*c5aa59e8SDavid Daney 		uint64_t rdclr:1;
2400*c5aa59e8SDavid Daney 		uint64_t reserved_1_7:7;
2401*c5aa59e8SDavid Daney 		uint64_t mode:1;
2402*c5aa59e8SDavid Daney 		uint64_t reserved_9_63:55;
2403*c5aa59e8SDavid Daney #endif
2404*c5aa59e8SDavid Daney 	} s;
2405*c5aa59e8SDavid Daney 	struct cvmx_pip_stat_ctl_cn30xx {
2406*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2407af866496SDavid Daney 		uint64_t reserved_1_63:63;
2408af866496SDavid Daney 		uint64_t rdclr:1;
2409*c5aa59e8SDavid Daney #else
2410*c5aa59e8SDavid Daney 		uint64_t rdclr:1;
2411*c5aa59e8SDavid Daney 		uint64_t reserved_1_63:63;
2412*c5aa59e8SDavid Daney #endif
2413*c5aa59e8SDavid Daney 	} cn30xx;
2414af866496SDavid Daney };
2415af866496SDavid Daney 
2416af866496SDavid Daney union cvmx_pip_stat_inb_errsx {
2417af866496SDavid Daney 	uint64_t u64;
2418af866496SDavid Daney 	struct cvmx_pip_stat_inb_errsx_s {
2419*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2420af866496SDavid Daney 		uint64_t reserved_16_63:48;
2421af866496SDavid Daney 		uint64_t errs:16;
2422*c5aa59e8SDavid Daney #else
2423*c5aa59e8SDavid Daney 		uint64_t errs:16;
2424*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
2425*c5aa59e8SDavid Daney #endif
2426af866496SDavid Daney 	} s;
2427*c5aa59e8SDavid Daney };
2428*c5aa59e8SDavid Daney 
2429*c5aa59e8SDavid Daney union cvmx_pip_stat_inb_errs_pkndx {
2430*c5aa59e8SDavid Daney 	uint64_t u64;
2431*c5aa59e8SDavid Daney 	struct cvmx_pip_stat_inb_errs_pkndx_s {
2432*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2433*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
2434*c5aa59e8SDavid Daney 		uint64_t errs:16;
2435*c5aa59e8SDavid Daney #else
2436*c5aa59e8SDavid Daney 		uint64_t errs:16;
2437*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
2438*c5aa59e8SDavid Daney #endif
2439*c5aa59e8SDavid Daney 	} s;
2440af866496SDavid Daney };
2441af866496SDavid Daney 
2442af866496SDavid Daney union cvmx_pip_stat_inb_octsx {
2443af866496SDavid Daney 	uint64_t u64;
2444af866496SDavid Daney 	struct cvmx_pip_stat_inb_octsx_s {
2445*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2446af866496SDavid Daney 		uint64_t reserved_48_63:16;
2447af866496SDavid Daney 		uint64_t octs:48;
2448*c5aa59e8SDavid Daney #else
2449*c5aa59e8SDavid Daney 		uint64_t octs:48;
2450*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2451*c5aa59e8SDavid Daney #endif
2452af866496SDavid Daney 	} s;
2453*c5aa59e8SDavid Daney };
2454*c5aa59e8SDavid Daney 
2455*c5aa59e8SDavid Daney union cvmx_pip_stat_inb_octs_pkndx {
2456*c5aa59e8SDavid Daney 	uint64_t u64;
2457*c5aa59e8SDavid Daney 	struct cvmx_pip_stat_inb_octs_pkndx_s {
2458*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2459*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2460*c5aa59e8SDavid Daney 		uint64_t octs:48;
2461*c5aa59e8SDavid Daney #else
2462*c5aa59e8SDavid Daney 		uint64_t octs:48;
2463*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2464*c5aa59e8SDavid Daney #endif
2465*c5aa59e8SDavid Daney 	} s;
2466af866496SDavid Daney };
2467af866496SDavid Daney 
2468af866496SDavid Daney union cvmx_pip_stat_inb_pktsx {
2469af866496SDavid Daney 	uint64_t u64;
2470af866496SDavid Daney 	struct cvmx_pip_stat_inb_pktsx_s {
2471*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2472af866496SDavid Daney 		uint64_t reserved_32_63:32;
2473af866496SDavid Daney 		uint64_t pkts:32;
2474*c5aa59e8SDavid Daney #else
2475*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2476*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2477*c5aa59e8SDavid Daney #endif
2478af866496SDavid Daney 	} s;
2479*c5aa59e8SDavid Daney };
2480*c5aa59e8SDavid Daney 
2481*c5aa59e8SDavid Daney union cvmx_pip_stat_inb_pkts_pkndx {
2482*c5aa59e8SDavid Daney 	uint64_t u64;
2483*c5aa59e8SDavid Daney 	struct cvmx_pip_stat_inb_pkts_pkndx_s {
2484*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2485*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2486*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2487*c5aa59e8SDavid Daney #else
2488*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2489*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2490*c5aa59e8SDavid Daney #endif
2491*c5aa59e8SDavid Daney 	} s;
2492*c5aa59e8SDavid Daney };
2493*c5aa59e8SDavid Daney 
2494*c5aa59e8SDavid Daney union cvmx_pip_sub_pkind_fcsx {
2495*c5aa59e8SDavid Daney 	uint64_t u64;
2496*c5aa59e8SDavid Daney 	struct cvmx_pip_sub_pkind_fcsx_s {
2497*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2498*c5aa59e8SDavid Daney 		uint64_t port_bit:64;
2499*c5aa59e8SDavid Daney #else
2500*c5aa59e8SDavid Daney 		uint64_t port_bit:64;
2501*c5aa59e8SDavid Daney #endif
2502*c5aa59e8SDavid Daney 	} s;
2503af866496SDavid Daney };
2504af866496SDavid Daney 
2505af866496SDavid Daney union cvmx_pip_tag_incx {
2506af866496SDavid Daney 	uint64_t u64;
2507af866496SDavid Daney 	struct cvmx_pip_tag_incx_s {
2508*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2509af866496SDavid Daney 		uint64_t reserved_8_63:56;
2510af866496SDavid Daney 		uint64_t en:8;
2511*c5aa59e8SDavid Daney #else
2512*c5aa59e8SDavid Daney 		uint64_t en:8;
2513*c5aa59e8SDavid Daney 		uint64_t reserved_8_63:56;
2514*c5aa59e8SDavid Daney #endif
2515af866496SDavid Daney 	} s;
2516af866496SDavid Daney };
2517af866496SDavid Daney 
2518af866496SDavid Daney union cvmx_pip_tag_mask {
2519af866496SDavid Daney 	uint64_t u64;
2520af866496SDavid Daney 	struct cvmx_pip_tag_mask_s {
2521*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2522af866496SDavid Daney 		uint64_t reserved_16_63:48;
2523af866496SDavid Daney 		uint64_t mask:16;
2524*c5aa59e8SDavid Daney #else
2525*c5aa59e8SDavid Daney 		uint64_t mask:16;
2526*c5aa59e8SDavid Daney 		uint64_t reserved_16_63:48;
2527*c5aa59e8SDavid Daney #endif
2528af866496SDavid Daney 	} s;
2529af866496SDavid Daney };
2530af866496SDavid Daney 
2531af866496SDavid Daney union cvmx_pip_tag_secret {
2532af866496SDavid Daney 	uint64_t u64;
2533af866496SDavid Daney 	struct cvmx_pip_tag_secret_s {
2534*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2535af866496SDavid Daney 		uint64_t reserved_32_63:32;
2536af866496SDavid Daney 		uint64_t dst:16;
2537af866496SDavid Daney 		uint64_t src:16;
2538*c5aa59e8SDavid Daney #else
2539*c5aa59e8SDavid Daney 		uint64_t src:16;
2540*c5aa59e8SDavid Daney 		uint64_t dst:16;
2541*c5aa59e8SDavid Daney 		uint64_t reserved_32_63:32;
2542*c5aa59e8SDavid Daney #endif
2543af866496SDavid Daney 	} s;
2544af866496SDavid Daney };
2545af866496SDavid Daney 
2546af866496SDavid Daney union cvmx_pip_todo_entry {
2547af866496SDavid Daney 	uint64_t u64;
2548af866496SDavid Daney 	struct cvmx_pip_todo_entry_s {
2549*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2550af866496SDavid Daney 		uint64_t val:1;
2551af866496SDavid Daney 		uint64_t reserved_62_62:1;
2552af866496SDavid Daney 		uint64_t entry:62;
2553*c5aa59e8SDavid Daney #else
2554*c5aa59e8SDavid Daney 		uint64_t entry:62;
2555*c5aa59e8SDavid Daney 		uint64_t reserved_62_62:1;
2556*c5aa59e8SDavid Daney 		uint64_t val:1;
2557*c5aa59e8SDavid Daney #endif
2558af866496SDavid Daney 	} s;
2559*c5aa59e8SDavid Daney };
2560*c5aa59e8SDavid Daney 
2561*c5aa59e8SDavid Daney union cvmx_pip_vlan_etypesx {
2562*c5aa59e8SDavid Daney 	uint64_t u64;
2563*c5aa59e8SDavid Daney 	struct cvmx_pip_vlan_etypesx_s {
2564*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2565*c5aa59e8SDavid Daney 		uint64_t type3:16;
2566*c5aa59e8SDavid Daney 		uint64_t type2:16;
2567*c5aa59e8SDavid Daney 		uint64_t type1:16;
2568*c5aa59e8SDavid Daney 		uint64_t type0:16;
2569*c5aa59e8SDavid Daney #else
2570*c5aa59e8SDavid Daney 		uint64_t type0:16;
2571*c5aa59e8SDavid Daney 		uint64_t type1:16;
2572*c5aa59e8SDavid Daney 		uint64_t type2:16;
2573*c5aa59e8SDavid Daney 		uint64_t type3:16;
2574*c5aa59e8SDavid Daney #endif
2575*c5aa59e8SDavid Daney 	} s;
2576*c5aa59e8SDavid Daney };
2577*c5aa59e8SDavid Daney 
2578*c5aa59e8SDavid Daney union cvmx_pip_xstat0_prtx {
2579*c5aa59e8SDavid Daney 	uint64_t u64;
2580*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat0_prtx_s {
2581*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2582*c5aa59e8SDavid Daney 		uint64_t drp_pkts:32;
2583*c5aa59e8SDavid Daney 		uint64_t drp_octs:32;
2584*c5aa59e8SDavid Daney #else
2585*c5aa59e8SDavid Daney 		uint64_t drp_octs:32;
2586*c5aa59e8SDavid Daney 		uint64_t drp_pkts:32;
2587*c5aa59e8SDavid Daney #endif
2588*c5aa59e8SDavid Daney 	} s;
2589*c5aa59e8SDavid Daney };
2590*c5aa59e8SDavid Daney 
2591*c5aa59e8SDavid Daney union cvmx_pip_xstat10_prtx {
2592*c5aa59e8SDavid Daney 	uint64_t u64;
2593*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat10_prtx_s {
2594*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2595*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2596*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2597*c5aa59e8SDavid Daney #else
2598*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2599*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2600*c5aa59e8SDavid Daney #endif
2601*c5aa59e8SDavid Daney 	} s;
2602*c5aa59e8SDavid Daney };
2603*c5aa59e8SDavid Daney 
2604*c5aa59e8SDavid Daney union cvmx_pip_xstat11_prtx {
2605*c5aa59e8SDavid Daney 	uint64_t u64;
2606*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat11_prtx_s {
2607*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2608*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2609*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2610*c5aa59e8SDavid Daney #else
2611*c5aa59e8SDavid Daney 		uint64_t mcast:32;
2612*c5aa59e8SDavid Daney 		uint64_t bcast:32;
2613*c5aa59e8SDavid Daney #endif
2614*c5aa59e8SDavid Daney 	} s;
2615*c5aa59e8SDavid Daney };
2616*c5aa59e8SDavid Daney 
2617*c5aa59e8SDavid Daney union cvmx_pip_xstat1_prtx {
2618*c5aa59e8SDavid Daney 	uint64_t u64;
2619*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat1_prtx_s {
2620*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2621*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2622*c5aa59e8SDavid Daney 		uint64_t octs:48;
2623*c5aa59e8SDavid Daney #else
2624*c5aa59e8SDavid Daney 		uint64_t octs:48;
2625*c5aa59e8SDavid Daney 		uint64_t reserved_48_63:16;
2626*c5aa59e8SDavid Daney #endif
2627*c5aa59e8SDavid Daney 	} s;
2628*c5aa59e8SDavid Daney };
2629*c5aa59e8SDavid Daney 
2630*c5aa59e8SDavid Daney union cvmx_pip_xstat2_prtx {
2631*c5aa59e8SDavid Daney 	uint64_t u64;
2632*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat2_prtx_s {
2633*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2634*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2635*c5aa59e8SDavid Daney 		uint64_t raw:32;
2636*c5aa59e8SDavid Daney #else
2637*c5aa59e8SDavid Daney 		uint64_t raw:32;
2638*c5aa59e8SDavid Daney 		uint64_t pkts:32;
2639*c5aa59e8SDavid Daney #endif
2640*c5aa59e8SDavid Daney 	} s;
2641*c5aa59e8SDavid Daney };
2642*c5aa59e8SDavid Daney 
2643*c5aa59e8SDavid Daney union cvmx_pip_xstat3_prtx {
2644*c5aa59e8SDavid Daney 	uint64_t u64;
2645*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat3_prtx_s {
2646*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2647*c5aa59e8SDavid Daney 		uint64_t bcst:32;
2648*c5aa59e8SDavid Daney 		uint64_t mcst:32;
2649*c5aa59e8SDavid Daney #else
2650*c5aa59e8SDavid Daney 		uint64_t mcst:32;
2651*c5aa59e8SDavid Daney 		uint64_t bcst:32;
2652*c5aa59e8SDavid Daney #endif
2653*c5aa59e8SDavid Daney 	} s;
2654*c5aa59e8SDavid Daney };
2655*c5aa59e8SDavid Daney 
2656*c5aa59e8SDavid Daney union cvmx_pip_xstat4_prtx {
2657*c5aa59e8SDavid Daney 	uint64_t u64;
2658*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat4_prtx_s {
2659*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2660*c5aa59e8SDavid Daney 		uint64_t h65to127:32;
2661*c5aa59e8SDavid Daney 		uint64_t h64:32;
2662*c5aa59e8SDavid Daney #else
2663*c5aa59e8SDavid Daney 		uint64_t h64:32;
2664*c5aa59e8SDavid Daney 		uint64_t h65to127:32;
2665*c5aa59e8SDavid Daney #endif
2666*c5aa59e8SDavid Daney 	} s;
2667*c5aa59e8SDavid Daney };
2668*c5aa59e8SDavid Daney 
2669*c5aa59e8SDavid Daney union cvmx_pip_xstat5_prtx {
2670*c5aa59e8SDavid Daney 	uint64_t u64;
2671*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat5_prtx_s {
2672*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2673*c5aa59e8SDavid Daney 		uint64_t h256to511:32;
2674*c5aa59e8SDavid Daney 		uint64_t h128to255:32;
2675*c5aa59e8SDavid Daney #else
2676*c5aa59e8SDavid Daney 		uint64_t h128to255:32;
2677*c5aa59e8SDavid Daney 		uint64_t h256to511:32;
2678*c5aa59e8SDavid Daney #endif
2679*c5aa59e8SDavid Daney 	} s;
2680*c5aa59e8SDavid Daney };
2681*c5aa59e8SDavid Daney 
2682*c5aa59e8SDavid Daney union cvmx_pip_xstat6_prtx {
2683*c5aa59e8SDavid Daney 	uint64_t u64;
2684*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat6_prtx_s {
2685*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2686*c5aa59e8SDavid Daney 		uint64_t h1024to1518:32;
2687*c5aa59e8SDavid Daney 		uint64_t h512to1023:32;
2688*c5aa59e8SDavid Daney #else
2689*c5aa59e8SDavid Daney 		uint64_t h512to1023:32;
2690*c5aa59e8SDavid Daney 		uint64_t h1024to1518:32;
2691*c5aa59e8SDavid Daney #endif
2692*c5aa59e8SDavid Daney 	} s;
2693*c5aa59e8SDavid Daney };
2694*c5aa59e8SDavid Daney 
2695*c5aa59e8SDavid Daney union cvmx_pip_xstat7_prtx {
2696*c5aa59e8SDavid Daney 	uint64_t u64;
2697*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat7_prtx_s {
2698*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2699*c5aa59e8SDavid Daney 		uint64_t fcs:32;
2700*c5aa59e8SDavid Daney 		uint64_t h1519:32;
2701*c5aa59e8SDavid Daney #else
2702*c5aa59e8SDavid Daney 		uint64_t h1519:32;
2703*c5aa59e8SDavid Daney 		uint64_t fcs:32;
2704*c5aa59e8SDavid Daney #endif
2705*c5aa59e8SDavid Daney 	} s;
2706*c5aa59e8SDavid Daney };
2707*c5aa59e8SDavid Daney 
2708*c5aa59e8SDavid Daney union cvmx_pip_xstat8_prtx {
2709*c5aa59e8SDavid Daney 	uint64_t u64;
2710*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat8_prtx_s {
2711*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2712*c5aa59e8SDavid Daney 		uint64_t frag:32;
2713*c5aa59e8SDavid Daney 		uint64_t undersz:32;
2714*c5aa59e8SDavid Daney #else
2715*c5aa59e8SDavid Daney 		uint64_t undersz:32;
2716*c5aa59e8SDavid Daney 		uint64_t frag:32;
2717*c5aa59e8SDavid Daney #endif
2718*c5aa59e8SDavid Daney 	} s;
2719*c5aa59e8SDavid Daney };
2720*c5aa59e8SDavid Daney 
2721*c5aa59e8SDavid Daney union cvmx_pip_xstat9_prtx {
2722*c5aa59e8SDavid Daney 	uint64_t u64;
2723*c5aa59e8SDavid Daney 	struct cvmx_pip_xstat9_prtx_s {
2724*c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD
2725*c5aa59e8SDavid Daney 		uint64_t jabber:32;
2726*c5aa59e8SDavid Daney 		uint64_t oversz:32;
2727*c5aa59e8SDavid Daney #else
2728*c5aa59e8SDavid Daney 		uint64_t oversz:32;
2729*c5aa59e8SDavid Daney 		uint64_t jabber:32;
2730*c5aa59e8SDavid Daney #endif
2731*c5aa59e8SDavid Daney 	} s;
2732af866496SDavid Daney };
2733af866496SDavid Daney 
2734af866496SDavid Daney #endif
2735