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