cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cvmx-pip-defs.h (62364B)


      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