Linux Audio

Check our new training course

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