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