linux/arch/mips/include/asm/octeon/cvmx-pip-defs.h
<<
>>
Prefs
   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
2735