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