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