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