1a7187a2fSDavid Daney /***********************license start*************** 2a7187a2fSDavid Daney * Author: Cavium Networks 3a7187a2fSDavid Daney * 4a7187a2fSDavid Daney * Contact: support@caviumnetworks.com 5a7187a2fSDavid Daney * This file is part of the OCTEON SDK 6a7187a2fSDavid Daney * 7c5aa59e8SDavid Daney * Copyright (c) 2003-2012 Cavium Networks 8a7187a2fSDavid Daney * 9a7187a2fSDavid Daney * This file is free software; you can redistribute it and/or modify 10a7187a2fSDavid Daney * it under the terms of the GNU General Public License, Version 2, as 11a7187a2fSDavid Daney * published by the Free Software Foundation. 12a7187a2fSDavid Daney * 13a7187a2fSDavid Daney * This file is distributed in the hope that it will be useful, but 14a7187a2fSDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 15a7187a2fSDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 16a7187a2fSDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 17a7187a2fSDavid Daney * details. 18a7187a2fSDavid Daney * 19a7187a2fSDavid Daney * You should have received a copy of the GNU General Public License 20a7187a2fSDavid Daney * along with this file; if not, write to the Free Software 21a7187a2fSDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22a7187a2fSDavid Daney * or visit http://www.gnu.org/licenses/. 23a7187a2fSDavid Daney * 24a7187a2fSDavid Daney * This file may also be available under a different license from Cavium. 25a7187a2fSDavid Daney * Contact Cavium Networks for more information 26a7187a2fSDavid Daney ***********************license end**************************************/ 27a7187a2fSDavid Daney 28a7187a2fSDavid Daney #ifndef __CVMX_AGL_DEFS_H__ 29a7187a2fSDavid Daney #define __CVMX_AGL_DEFS_H__ 30a7187a2fSDavid Daney 31aa32a955SDavid Daney #define CVMX_AGL_GMX_BAD_REG (CVMX_ADD_IO_SEG(0x00011800E0000518ull)) 32aa32a955SDavid Daney #define CVMX_AGL_GMX_BIST (CVMX_ADD_IO_SEG(0x00011800E0000400ull)) 33aa32a955SDavid Daney #define CVMX_AGL_GMX_DRV_CTL (CVMX_ADD_IO_SEG(0x00011800E00007F0ull)) 34aa32a955SDavid Daney #define CVMX_AGL_GMX_INF_MODE (CVMX_ADD_IO_SEG(0x00011800E00007F8ull)) 35aa32a955SDavid Daney #define CVMX_AGL_GMX_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000010ull) + ((offset) & 1) * 2048) 36aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CAM0(offset) (CVMX_ADD_IO_SEG(0x00011800E0000180ull) + ((offset) & 1) * 2048) 37aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CAM1(offset) (CVMX_ADD_IO_SEG(0x00011800E0000188ull) + ((offset) & 1) * 2048) 38aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CAM2(offset) (CVMX_ADD_IO_SEG(0x00011800E0000190ull) + ((offset) & 1) * 2048) 39aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CAM3(offset) (CVMX_ADD_IO_SEG(0x00011800E0000198ull) + ((offset) & 1) * 2048) 40aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CAM4(offset) (CVMX_ADD_IO_SEG(0x00011800E00001A0ull) + ((offset) & 1) * 2048) 41aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CAM5(offset) (CVMX_ADD_IO_SEG(0x00011800E00001A8ull) + ((offset) & 1) * 2048) 42aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CAM_EN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000108ull) + ((offset) & 1) * 2048) 43aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_ADR_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000100ull) + ((offset) & 1) * 2048) 44aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_DECISION(offset) (CVMX_ADD_IO_SEG(0x00011800E0000040ull) + ((offset) & 1) * 2048) 45aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_FRM_CHK(offset) (CVMX_ADD_IO_SEG(0x00011800E0000020ull) + ((offset) & 1) * 2048) 46aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_FRM_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000018ull) + ((offset) & 1) * 2048) 47aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_FRM_MAX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000030ull) + ((offset) & 1) * 2048) 48aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_FRM_MIN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000028ull) + ((offset) & 1) * 2048) 49aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_IFG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000058ull) + ((offset) & 1) * 2048) 50aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_INT_EN(offset) (CVMX_ADD_IO_SEG(0x00011800E0000008ull) + ((offset) & 1) * 2048) 51aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_INT_REG(offset) (CVMX_ADD_IO_SEG(0x00011800E0000000ull) + ((offset) & 1) * 2048) 52aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_JABBER(offset) (CVMX_ADD_IO_SEG(0x00011800E0000038ull) + ((offset) & 1) * 2048) 53aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_PAUSE_DROP_TIME(offset) (CVMX_ADD_IO_SEG(0x00011800E0000068ull) + ((offset) & 1) * 2048) 54aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_RX_INBND(offset) (CVMX_ADD_IO_SEG(0x00011800E0000060ull) + ((offset) & 1) * 2048) 55aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000050ull) + ((offset) & 1) * 2048) 56aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_OCTS(offset) (CVMX_ADD_IO_SEG(0x00011800E0000088ull) + ((offset) & 1) * 2048) 57aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_OCTS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000098ull) + ((offset) & 1) * 2048) 58aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_OCTS_DMAC(offset) (CVMX_ADD_IO_SEG(0x00011800E00000A8ull) + ((offset) & 1) * 2048) 59aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_OCTS_DRP(offset) (CVMX_ADD_IO_SEG(0x00011800E00000B8ull) + ((offset) & 1) * 2048) 60aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_PKTS(offset) (CVMX_ADD_IO_SEG(0x00011800E0000080ull) + ((offset) & 1) * 2048) 61aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_PKTS_BAD(offset) (CVMX_ADD_IO_SEG(0x00011800E00000C0ull) + ((offset) & 1) * 2048) 62aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_PKTS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000090ull) + ((offset) & 1) * 2048) 63aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_PKTS_DMAC(offset) (CVMX_ADD_IO_SEG(0x00011800E00000A0ull) + ((offset) & 1) * 2048) 64aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_STATS_PKTS_DRP(offset) (CVMX_ADD_IO_SEG(0x00011800E00000B0ull) + ((offset) & 1) * 2048) 65aa32a955SDavid Daney #define CVMX_AGL_GMX_RXX_UDD_SKP(offset) (CVMX_ADD_IO_SEG(0x00011800E0000048ull) + ((offset) & 1) * 2048) 66aa32a955SDavid Daney #define CVMX_AGL_GMX_RX_BP_DROPX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000420ull) + ((offset) & 1) * 8) 67aa32a955SDavid Daney #define CVMX_AGL_GMX_RX_BP_OFFX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000460ull) + ((offset) & 1) * 8) 68aa32a955SDavid Daney #define CVMX_AGL_GMX_RX_BP_ONX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000440ull) + ((offset) & 1) * 8) 69aa32a955SDavid Daney #define CVMX_AGL_GMX_RX_PRT_INFO (CVMX_ADD_IO_SEG(0x00011800E00004E8ull)) 70aa32a955SDavid Daney #define CVMX_AGL_GMX_RX_TX_STATUS (CVMX_ADD_IO_SEG(0x00011800E00007E8ull)) 71aa32a955SDavid Daney #define CVMX_AGL_GMX_SMACX(offset) (CVMX_ADD_IO_SEG(0x00011800E0000230ull) + ((offset) & 1) * 2048) 72aa32a955SDavid Daney #define CVMX_AGL_GMX_STAT_BP (CVMX_ADD_IO_SEG(0x00011800E0000520ull)) 73aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_APPEND(offset) (CVMX_ADD_IO_SEG(0x00011800E0000218ull) + ((offset) & 1) * 2048) 74aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_CLK(offset) (CVMX_ADD_IO_SEG(0x00011800E0000208ull) + ((offset) & 1) * 2048) 75aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000270ull) + ((offset) & 1) * 2048) 76aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_MIN_PKT(offset) (CVMX_ADD_IO_SEG(0x00011800E0000240ull) + ((offset) & 1) * 2048) 77aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_PAUSE_PKT_INTERVAL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000248ull) + ((offset) & 1) * 2048) 78aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_PAUSE_PKT_TIME(offset) (CVMX_ADD_IO_SEG(0x00011800E0000238ull) + ((offset) & 1) * 2048) 79aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_PAUSE_TOGO(offset) (CVMX_ADD_IO_SEG(0x00011800E0000258ull) + ((offset) & 1) * 2048) 80aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_PAUSE_ZERO(offset) (CVMX_ADD_IO_SEG(0x00011800E0000260ull) + ((offset) & 1) * 2048) 81aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_SOFT_PAUSE(offset) (CVMX_ADD_IO_SEG(0x00011800E0000250ull) + ((offset) & 1) * 2048) 82aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT0(offset) (CVMX_ADD_IO_SEG(0x00011800E0000280ull) + ((offset) & 1) * 2048) 83aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT1(offset) (CVMX_ADD_IO_SEG(0x00011800E0000288ull) + ((offset) & 1) * 2048) 84aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT2(offset) (CVMX_ADD_IO_SEG(0x00011800E0000290ull) + ((offset) & 1) * 2048) 85aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT3(offset) (CVMX_ADD_IO_SEG(0x00011800E0000298ull) + ((offset) & 1) * 2048) 86aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT4(offset) (CVMX_ADD_IO_SEG(0x00011800E00002A0ull) + ((offset) & 1) * 2048) 87aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT5(offset) (CVMX_ADD_IO_SEG(0x00011800E00002A8ull) + ((offset) & 1) * 2048) 88aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT6(offset) (CVMX_ADD_IO_SEG(0x00011800E00002B0ull) + ((offset) & 1) * 2048) 89aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT7(offset) (CVMX_ADD_IO_SEG(0x00011800E00002B8ull) + ((offset) & 1) * 2048) 90aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT8(offset) (CVMX_ADD_IO_SEG(0x00011800E00002C0ull) + ((offset) & 1) * 2048) 91aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STAT9(offset) (CVMX_ADD_IO_SEG(0x00011800E00002C8ull) + ((offset) & 1) * 2048) 92aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_STATS_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0000268ull) + ((offset) & 1) * 2048) 93aa32a955SDavid Daney #define CVMX_AGL_GMX_TXX_THRESH(offset) (CVMX_ADD_IO_SEG(0x00011800E0000210ull) + ((offset) & 1) * 2048) 94aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_BP (CVMX_ADD_IO_SEG(0x00011800E00004D0ull)) 95aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_COL_ATTEMPT (CVMX_ADD_IO_SEG(0x00011800E0000498ull)) 96aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_IFG (CVMX_ADD_IO_SEG(0x00011800E0000488ull)) 97aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_INT_EN (CVMX_ADD_IO_SEG(0x00011800E0000508ull)) 98aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_INT_REG (CVMX_ADD_IO_SEG(0x00011800E0000500ull)) 99aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_JAM (CVMX_ADD_IO_SEG(0x00011800E0000490ull)) 100aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_LFSR (CVMX_ADD_IO_SEG(0x00011800E00004F8ull)) 101aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_OVR_BP (CVMX_ADD_IO_SEG(0x00011800E00004C8ull)) 102aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_PAUSE_PKT_DMAC (CVMX_ADD_IO_SEG(0x00011800E00004A0ull)) 103aa32a955SDavid Daney #define CVMX_AGL_GMX_TX_PAUSE_PKT_TYPE (CVMX_ADD_IO_SEG(0x00011800E00004A8ull)) 104aa32a955SDavid Daney #define CVMX_AGL_PRTX_CTL(offset) (CVMX_ADD_IO_SEG(0x00011800E0002000ull) + ((offset) & 1) * 8) 105a7187a2fSDavid Daney 106a7187a2fSDavid Daney union cvmx_agl_gmx_bad_reg { 107a7187a2fSDavid Daney uint64_t u64; 108a7187a2fSDavid Daney struct cvmx_agl_gmx_bad_reg_s { 109c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 110a7187a2fSDavid Daney uint64_t reserved_38_63:26; 111a7187a2fSDavid Daney uint64_t txpsh1:1; 112a7187a2fSDavid Daney uint64_t txpop1:1; 113a7187a2fSDavid Daney uint64_t ovrflw1:1; 114a7187a2fSDavid Daney uint64_t txpsh:1; 115a7187a2fSDavid Daney uint64_t txpop:1; 116a7187a2fSDavid Daney uint64_t ovrflw:1; 117a7187a2fSDavid Daney uint64_t reserved_27_31:5; 118a7187a2fSDavid Daney uint64_t statovr:1; 119aa32a955SDavid Daney uint64_t reserved_24_25:2; 120aa32a955SDavid Daney uint64_t loststat:2; 121aa32a955SDavid Daney uint64_t reserved_4_21:18; 122aa32a955SDavid Daney uint64_t out_ovr:2; 123aa32a955SDavid Daney uint64_t reserved_0_1:2; 124c5aa59e8SDavid Daney #else 125c5aa59e8SDavid Daney uint64_t reserved_0_1:2; 126c5aa59e8SDavid Daney uint64_t out_ovr:2; 127c5aa59e8SDavid Daney uint64_t reserved_4_21:18; 128c5aa59e8SDavid Daney uint64_t loststat:2; 129c5aa59e8SDavid Daney uint64_t reserved_24_25:2; 130c5aa59e8SDavid Daney uint64_t statovr:1; 131c5aa59e8SDavid Daney uint64_t reserved_27_31:5; 132c5aa59e8SDavid Daney uint64_t ovrflw:1; 133c5aa59e8SDavid Daney uint64_t txpop:1; 134c5aa59e8SDavid Daney uint64_t txpsh:1; 135c5aa59e8SDavid Daney uint64_t ovrflw1:1; 136c5aa59e8SDavid Daney uint64_t txpop1:1; 137c5aa59e8SDavid Daney uint64_t txpsh1:1; 138c5aa59e8SDavid Daney uint64_t reserved_38_63:26; 139c5aa59e8SDavid Daney #endif 140aa32a955SDavid Daney } s; 141aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_cn52xx { 142c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 143aa32a955SDavid Daney uint64_t reserved_38_63:26; 144aa32a955SDavid Daney uint64_t txpsh1:1; 145aa32a955SDavid Daney uint64_t txpop1:1; 146aa32a955SDavid Daney uint64_t ovrflw1:1; 147aa32a955SDavid Daney uint64_t txpsh:1; 148aa32a955SDavid Daney uint64_t txpop:1; 149aa32a955SDavid Daney uint64_t ovrflw:1; 150aa32a955SDavid Daney uint64_t reserved_27_31:5; 151aa32a955SDavid Daney uint64_t statovr:1; 152a7187a2fSDavid Daney uint64_t reserved_23_25:3; 153a7187a2fSDavid Daney uint64_t loststat:1; 154a7187a2fSDavid Daney uint64_t reserved_4_21:18; 155a7187a2fSDavid Daney uint64_t out_ovr:2; 156a7187a2fSDavid Daney uint64_t reserved_0_1:2; 157c5aa59e8SDavid Daney #else 158c5aa59e8SDavid Daney uint64_t reserved_0_1:2; 159c5aa59e8SDavid Daney uint64_t out_ovr:2; 160c5aa59e8SDavid Daney uint64_t reserved_4_21:18; 161c5aa59e8SDavid Daney uint64_t loststat:1; 162c5aa59e8SDavid Daney uint64_t reserved_23_25:3; 163c5aa59e8SDavid Daney uint64_t statovr:1; 164c5aa59e8SDavid Daney uint64_t reserved_27_31:5; 165c5aa59e8SDavid Daney uint64_t ovrflw:1; 166c5aa59e8SDavid Daney uint64_t txpop:1; 167c5aa59e8SDavid Daney uint64_t txpsh:1; 168c5aa59e8SDavid Daney uint64_t ovrflw1:1; 169c5aa59e8SDavid Daney uint64_t txpop1:1; 170c5aa59e8SDavid Daney uint64_t txpsh1:1; 171c5aa59e8SDavid Daney uint64_t reserved_38_63:26; 172c5aa59e8SDavid Daney #endif 173aa32a955SDavid Daney } cn52xx; 174aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1; 175a7187a2fSDavid Daney struct cvmx_agl_gmx_bad_reg_cn56xx { 176c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 177a7187a2fSDavid Daney uint64_t reserved_35_63:29; 178a7187a2fSDavid Daney uint64_t txpsh:1; 179a7187a2fSDavid Daney uint64_t txpop:1; 180a7187a2fSDavid Daney uint64_t ovrflw:1; 181a7187a2fSDavid Daney uint64_t reserved_27_31:5; 182a7187a2fSDavid Daney uint64_t statovr:1; 183a7187a2fSDavid Daney uint64_t reserved_23_25:3; 184a7187a2fSDavid Daney uint64_t loststat:1; 185a7187a2fSDavid Daney uint64_t reserved_3_21:19; 186a7187a2fSDavid Daney uint64_t out_ovr:1; 187a7187a2fSDavid Daney uint64_t reserved_0_1:2; 188c5aa59e8SDavid Daney #else 189c5aa59e8SDavid Daney uint64_t reserved_0_1:2; 190c5aa59e8SDavid Daney uint64_t out_ovr:1; 191c5aa59e8SDavid Daney uint64_t reserved_3_21:19; 192c5aa59e8SDavid Daney uint64_t loststat:1; 193c5aa59e8SDavid Daney uint64_t reserved_23_25:3; 194c5aa59e8SDavid Daney uint64_t statovr:1; 195c5aa59e8SDavid Daney uint64_t reserved_27_31:5; 196c5aa59e8SDavid Daney uint64_t ovrflw:1; 197c5aa59e8SDavid Daney uint64_t txpop:1; 198c5aa59e8SDavid Daney uint64_t txpsh:1; 199c5aa59e8SDavid Daney uint64_t reserved_35_63:29; 200c5aa59e8SDavid Daney #endif 201a7187a2fSDavid Daney } cn56xx; 202a7187a2fSDavid Daney struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1; 203c5aa59e8SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn61xx; 204aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn63xx; 205aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn63xxp1; 206c5aa59e8SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn66xx; 207c5aa59e8SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn68xx; 208c5aa59e8SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn68xxp1; 209a7187a2fSDavid Daney }; 210a7187a2fSDavid Daney 211a7187a2fSDavid Daney union cvmx_agl_gmx_bist { 212a7187a2fSDavid Daney uint64_t u64; 213a7187a2fSDavid Daney struct cvmx_agl_gmx_bist_s { 214c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 215aa32a955SDavid Daney uint64_t reserved_25_63:39; 216aa32a955SDavid Daney uint64_t status:25; 217c5aa59e8SDavid Daney #else 218c5aa59e8SDavid Daney uint64_t status:25; 219c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 220c5aa59e8SDavid Daney #endif 221aa32a955SDavid Daney } s; 222aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx { 223c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 224a7187a2fSDavid Daney uint64_t reserved_10_63:54; 225a7187a2fSDavid Daney uint64_t status:10; 226c5aa59e8SDavid Daney #else 227c5aa59e8SDavid Daney uint64_t status:10; 228c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 229c5aa59e8SDavid Daney #endif 230aa32a955SDavid Daney } cn52xx; 231aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx cn52xxp1; 232aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx cn56xx; 233aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx cn56xxp1; 234c5aa59e8SDavid Daney struct cvmx_agl_gmx_bist_s cn61xx; 235aa32a955SDavid Daney struct cvmx_agl_gmx_bist_s cn63xx; 236aa32a955SDavid Daney struct cvmx_agl_gmx_bist_s cn63xxp1; 237c5aa59e8SDavid Daney struct cvmx_agl_gmx_bist_s cn66xx; 238c5aa59e8SDavid Daney struct cvmx_agl_gmx_bist_s cn68xx; 239c5aa59e8SDavid Daney struct cvmx_agl_gmx_bist_s cn68xxp1; 240a7187a2fSDavid Daney }; 241a7187a2fSDavid Daney 242a7187a2fSDavid Daney union cvmx_agl_gmx_drv_ctl { 243a7187a2fSDavid Daney uint64_t u64; 244a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_s { 245c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 246a7187a2fSDavid Daney uint64_t reserved_49_63:15; 247a7187a2fSDavid Daney uint64_t byp_en1:1; 248a7187a2fSDavid Daney uint64_t reserved_45_47:3; 249a7187a2fSDavid Daney uint64_t pctl1:5; 250a7187a2fSDavid Daney uint64_t reserved_37_39:3; 251a7187a2fSDavid Daney uint64_t nctl1:5; 252a7187a2fSDavid Daney uint64_t reserved_17_31:15; 253a7187a2fSDavid Daney uint64_t byp_en:1; 254a7187a2fSDavid Daney uint64_t reserved_13_15:3; 255a7187a2fSDavid Daney uint64_t pctl:5; 256a7187a2fSDavid Daney uint64_t reserved_5_7:3; 257a7187a2fSDavid Daney uint64_t nctl:5; 258c5aa59e8SDavid Daney #else 259c5aa59e8SDavid Daney uint64_t nctl:5; 260c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 261c5aa59e8SDavid Daney uint64_t pctl:5; 262c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 263c5aa59e8SDavid Daney uint64_t byp_en:1; 264c5aa59e8SDavid Daney uint64_t reserved_17_31:15; 265c5aa59e8SDavid Daney uint64_t nctl1:5; 266c5aa59e8SDavid Daney uint64_t reserved_37_39:3; 267c5aa59e8SDavid Daney uint64_t pctl1:5; 268c5aa59e8SDavid Daney uint64_t reserved_45_47:3; 269c5aa59e8SDavid Daney uint64_t byp_en1:1; 270c5aa59e8SDavid Daney uint64_t reserved_49_63:15; 271c5aa59e8SDavid Daney #endif 272a7187a2fSDavid Daney } s; 273a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_s cn52xx; 274a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_s cn52xxp1; 275a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_cn56xx { 276c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 277a7187a2fSDavid Daney uint64_t reserved_17_63:47; 278a7187a2fSDavid Daney uint64_t byp_en:1; 279a7187a2fSDavid Daney uint64_t reserved_13_15:3; 280a7187a2fSDavid Daney uint64_t pctl:5; 281a7187a2fSDavid Daney uint64_t reserved_5_7:3; 282a7187a2fSDavid Daney uint64_t nctl:5; 283c5aa59e8SDavid Daney #else 284c5aa59e8SDavid Daney uint64_t nctl:5; 285c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 286c5aa59e8SDavid Daney uint64_t pctl:5; 287c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 288c5aa59e8SDavid Daney uint64_t byp_en:1; 289c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 290c5aa59e8SDavid Daney #endif 291a7187a2fSDavid Daney } cn56xx; 292a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1; 293a7187a2fSDavid Daney }; 294a7187a2fSDavid Daney 295a7187a2fSDavid Daney union cvmx_agl_gmx_inf_mode { 296a7187a2fSDavid Daney uint64_t u64; 297a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s { 298c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 299a7187a2fSDavid Daney uint64_t reserved_2_63:62; 300a7187a2fSDavid Daney uint64_t en:1; 301a7187a2fSDavid Daney uint64_t reserved_0_0:1; 302c5aa59e8SDavid Daney #else 303c5aa59e8SDavid Daney uint64_t reserved_0_0:1; 304c5aa59e8SDavid Daney uint64_t en:1; 305c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 306c5aa59e8SDavid Daney #endif 307a7187a2fSDavid Daney } s; 308a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn52xx; 309a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn52xxp1; 310a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn56xx; 311a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn56xxp1; 312a7187a2fSDavid Daney }; 313a7187a2fSDavid Daney 314a7187a2fSDavid Daney union cvmx_agl_gmx_prtx_cfg { 315a7187a2fSDavid Daney uint64_t u64; 316a7187a2fSDavid Daney struct cvmx_agl_gmx_prtx_cfg_s { 317c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 318aa32a955SDavid Daney uint64_t reserved_14_63:50; 319aa32a955SDavid Daney uint64_t tx_idle:1; 320aa32a955SDavid Daney uint64_t rx_idle:1; 321aa32a955SDavid Daney uint64_t reserved_9_11:3; 322aa32a955SDavid Daney uint64_t speed_msb:1; 323aa32a955SDavid Daney uint64_t reserved_7_7:1; 324aa32a955SDavid Daney uint64_t burst:1; 325a7187a2fSDavid Daney uint64_t tx_en:1; 326a7187a2fSDavid Daney uint64_t rx_en:1; 327a7187a2fSDavid Daney uint64_t slottime:1; 328a7187a2fSDavid Daney uint64_t duplex:1; 329a7187a2fSDavid Daney uint64_t speed:1; 330a7187a2fSDavid Daney uint64_t en:1; 331c5aa59e8SDavid Daney #else 332c5aa59e8SDavid Daney uint64_t en:1; 333c5aa59e8SDavid Daney uint64_t speed:1; 334c5aa59e8SDavid Daney uint64_t duplex:1; 335c5aa59e8SDavid Daney uint64_t slottime:1; 336c5aa59e8SDavid Daney uint64_t rx_en:1; 337c5aa59e8SDavid Daney uint64_t tx_en:1; 338c5aa59e8SDavid Daney uint64_t burst:1; 339c5aa59e8SDavid Daney uint64_t reserved_7_7:1; 340c5aa59e8SDavid Daney uint64_t speed_msb:1; 341c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 342c5aa59e8SDavid Daney uint64_t rx_idle:1; 343c5aa59e8SDavid Daney uint64_t tx_idle:1; 344c5aa59e8SDavid Daney uint64_t reserved_14_63:50; 345c5aa59e8SDavid Daney #endif 346a7187a2fSDavid Daney } s; 347aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx { 348c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 349aa32a955SDavid Daney uint64_t reserved_6_63:58; 350aa32a955SDavid Daney uint64_t tx_en:1; 351aa32a955SDavid Daney uint64_t rx_en:1; 352aa32a955SDavid Daney uint64_t slottime:1; 353aa32a955SDavid Daney uint64_t duplex:1; 354aa32a955SDavid Daney uint64_t speed:1; 355aa32a955SDavid Daney uint64_t en:1; 356c5aa59e8SDavid Daney #else 357c5aa59e8SDavid Daney uint64_t en:1; 358c5aa59e8SDavid Daney uint64_t speed:1; 359c5aa59e8SDavid Daney uint64_t duplex:1; 360c5aa59e8SDavid Daney uint64_t slottime:1; 361c5aa59e8SDavid Daney uint64_t rx_en:1; 362c5aa59e8SDavid Daney uint64_t tx_en:1; 363c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 364c5aa59e8SDavid Daney #endif 365aa32a955SDavid Daney } cn52xx; 366aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1; 367aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx; 368aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1; 369c5aa59e8SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn61xx; 370aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn63xx; 371aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1; 372c5aa59e8SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn66xx; 373c5aa59e8SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn68xx; 374c5aa59e8SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn68xxp1; 375a7187a2fSDavid Daney }; 376a7187a2fSDavid Daney 377a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam0 { 378a7187a2fSDavid Daney uint64_t u64; 379a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s { 380c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 381a7187a2fSDavid Daney uint64_t adr:64; 382c5aa59e8SDavid Daney #else 383c5aa59e8SDavid Daney uint64_t adr:64; 384c5aa59e8SDavid Daney #endif 385a7187a2fSDavid Daney } s; 386a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx; 387a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1; 388a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx; 389a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1; 390c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn61xx; 391aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx; 392aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1; 393c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn66xx; 394c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn68xx; 395c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn68xxp1; 396a7187a2fSDavid Daney }; 397a7187a2fSDavid Daney 398a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam1 { 399a7187a2fSDavid Daney uint64_t u64; 400a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s { 401c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 402a7187a2fSDavid Daney uint64_t adr:64; 403c5aa59e8SDavid Daney #else 404c5aa59e8SDavid Daney uint64_t adr:64; 405c5aa59e8SDavid Daney #endif 406a7187a2fSDavid Daney } s; 407a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx; 408a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1; 409a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx; 410a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1; 411c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn61xx; 412aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx; 413aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1; 414c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn66xx; 415c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn68xx; 416c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn68xxp1; 417a7187a2fSDavid Daney }; 418a7187a2fSDavid Daney 419a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam2 { 420a7187a2fSDavid Daney uint64_t u64; 421a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s { 422c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 423a7187a2fSDavid Daney uint64_t adr:64; 424c5aa59e8SDavid Daney #else 425c5aa59e8SDavid Daney uint64_t adr:64; 426c5aa59e8SDavid Daney #endif 427a7187a2fSDavid Daney } s; 428a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx; 429a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1; 430a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx; 431a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1; 432c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn61xx; 433aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx; 434aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1; 435c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn66xx; 436c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn68xx; 437c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn68xxp1; 438a7187a2fSDavid Daney }; 439a7187a2fSDavid Daney 440a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam3 { 441a7187a2fSDavid Daney uint64_t u64; 442a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s { 443c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 444a7187a2fSDavid Daney uint64_t adr:64; 445c5aa59e8SDavid Daney #else 446c5aa59e8SDavid Daney uint64_t adr:64; 447c5aa59e8SDavid Daney #endif 448a7187a2fSDavid Daney } s; 449a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx; 450a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1; 451a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx; 452a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1; 453c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn61xx; 454aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx; 455aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1; 456c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn66xx; 457c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn68xx; 458c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn68xxp1; 459a7187a2fSDavid Daney }; 460a7187a2fSDavid Daney 461a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam4 { 462a7187a2fSDavid Daney uint64_t u64; 463a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s { 464c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 465a7187a2fSDavid Daney uint64_t adr:64; 466c5aa59e8SDavid Daney #else 467c5aa59e8SDavid Daney uint64_t adr:64; 468c5aa59e8SDavid Daney #endif 469a7187a2fSDavid Daney } s; 470a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx; 471a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1; 472a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx; 473a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1; 474c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn61xx; 475aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx; 476aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1; 477c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn66xx; 478c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn68xx; 479c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn68xxp1; 480a7187a2fSDavid Daney }; 481a7187a2fSDavid Daney 482a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam5 { 483a7187a2fSDavid Daney uint64_t u64; 484a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s { 485c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 486a7187a2fSDavid Daney uint64_t adr:64; 487c5aa59e8SDavid Daney #else 488c5aa59e8SDavid Daney uint64_t adr:64; 489c5aa59e8SDavid Daney #endif 490a7187a2fSDavid Daney } s; 491a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx; 492a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1; 493a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx; 494a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1; 495c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn61xx; 496aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx; 497aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1; 498c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn66xx; 499c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn68xx; 500c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn68xxp1; 501a7187a2fSDavid Daney }; 502a7187a2fSDavid Daney 503a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam_en { 504a7187a2fSDavid Daney uint64_t u64; 505a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s { 506c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 507a7187a2fSDavid Daney uint64_t reserved_8_63:56; 508a7187a2fSDavid Daney uint64_t en:8; 509c5aa59e8SDavid Daney #else 510c5aa59e8SDavid Daney uint64_t en:8; 511c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 512c5aa59e8SDavid Daney #endif 513a7187a2fSDavid Daney } s; 514a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx; 515a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1; 516a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx; 517a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1; 518c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn61xx; 519aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx; 520aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1; 521c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn66xx; 522c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn68xx; 523c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn68xxp1; 524a7187a2fSDavid Daney }; 525a7187a2fSDavid Daney 526a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_ctl { 527a7187a2fSDavid Daney uint64_t u64; 528a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s { 529c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 530a7187a2fSDavid Daney uint64_t reserved_4_63:60; 531a7187a2fSDavid Daney uint64_t cam_mode:1; 532a7187a2fSDavid Daney uint64_t mcst:2; 533a7187a2fSDavid Daney uint64_t bcst:1; 534c5aa59e8SDavid Daney #else 535c5aa59e8SDavid Daney uint64_t bcst:1; 536c5aa59e8SDavid Daney uint64_t mcst:2; 537c5aa59e8SDavid Daney uint64_t cam_mode:1; 538c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 539c5aa59e8SDavid Daney #endif 540a7187a2fSDavid Daney } s; 541a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx; 542a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1; 543a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx; 544a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1; 545c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn61xx; 546aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx; 547aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1; 548c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn66xx; 549c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn68xx; 550c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn68xxp1; 551a7187a2fSDavid Daney }; 552a7187a2fSDavid Daney 553a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_decision { 554a7187a2fSDavid Daney uint64_t u64; 555a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s { 556c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 557a7187a2fSDavid Daney uint64_t reserved_5_63:59; 558a7187a2fSDavid Daney uint64_t cnt:5; 559c5aa59e8SDavid Daney #else 560c5aa59e8SDavid Daney uint64_t cnt:5; 561c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 562c5aa59e8SDavid Daney #endif 563a7187a2fSDavid Daney } s; 564a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn52xx; 565a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn52xxp1; 566a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn56xx; 567a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn56xxp1; 568c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn61xx; 569aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn63xx; 570aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn63xxp1; 571c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn66xx; 572c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn68xx; 573c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn68xxp1; 574a7187a2fSDavid Daney }; 575a7187a2fSDavid Daney 576a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_chk { 577a7187a2fSDavid Daney uint64_t u64; 578a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s { 579c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 580aa32a955SDavid Daney uint64_t reserved_10_63:54; 581aa32a955SDavid Daney uint64_t niberr:1; 582aa32a955SDavid Daney uint64_t skperr:1; 583aa32a955SDavid Daney uint64_t rcverr:1; 584aa32a955SDavid Daney uint64_t lenerr:1; 585aa32a955SDavid Daney uint64_t alnerr:1; 586aa32a955SDavid Daney uint64_t fcserr:1; 587aa32a955SDavid Daney uint64_t jabber:1; 588aa32a955SDavid Daney uint64_t maxerr:1; 589aa32a955SDavid Daney uint64_t carext:1; 590aa32a955SDavid Daney uint64_t minerr:1; 591c5aa59e8SDavid Daney #else 592c5aa59e8SDavid Daney uint64_t minerr:1; 593c5aa59e8SDavid Daney uint64_t carext:1; 594c5aa59e8SDavid Daney uint64_t maxerr:1; 595c5aa59e8SDavid Daney uint64_t jabber:1; 596c5aa59e8SDavid Daney uint64_t fcserr:1; 597c5aa59e8SDavid Daney uint64_t alnerr:1; 598c5aa59e8SDavid Daney uint64_t lenerr:1; 599c5aa59e8SDavid Daney uint64_t rcverr:1; 600c5aa59e8SDavid Daney uint64_t skperr:1; 601c5aa59e8SDavid Daney uint64_t niberr:1; 602c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 603c5aa59e8SDavid Daney #endif 604aa32a955SDavid Daney } s; 605aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx { 606c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 607a7187a2fSDavid Daney uint64_t reserved_9_63:55; 608a7187a2fSDavid Daney uint64_t skperr:1; 609a7187a2fSDavid Daney uint64_t rcverr:1; 610a7187a2fSDavid Daney uint64_t lenerr:1; 611a7187a2fSDavid Daney uint64_t alnerr:1; 612a7187a2fSDavid Daney uint64_t fcserr:1; 613a7187a2fSDavid Daney uint64_t jabber:1; 614a7187a2fSDavid Daney uint64_t maxerr:1; 615a7187a2fSDavid Daney uint64_t reserved_1_1:1; 616a7187a2fSDavid Daney uint64_t minerr:1; 617c5aa59e8SDavid Daney #else 618c5aa59e8SDavid Daney uint64_t minerr:1; 619c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 620c5aa59e8SDavid Daney uint64_t maxerr:1; 621c5aa59e8SDavid Daney uint64_t jabber:1; 622c5aa59e8SDavid Daney uint64_t fcserr:1; 623c5aa59e8SDavid Daney uint64_t alnerr:1; 624c5aa59e8SDavid Daney uint64_t lenerr:1; 625c5aa59e8SDavid Daney uint64_t rcverr:1; 626c5aa59e8SDavid Daney uint64_t skperr:1; 627c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 628c5aa59e8SDavid Daney #endif 629aa32a955SDavid Daney } cn52xx; 630aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1; 631aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx; 632aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1; 633c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn61xx; 634aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx; 635aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1; 636c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn66xx; 637c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn68xx; 638c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn68xxp1; 639a7187a2fSDavid Daney }; 640a7187a2fSDavid Daney 641a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_ctl { 642a7187a2fSDavid Daney uint64_t u64; 643a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s { 644c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 645aa32a955SDavid Daney uint64_t reserved_13_63:51; 646aa32a955SDavid Daney uint64_t ptp_mode:1; 647aa32a955SDavid Daney uint64_t reserved_11_11:1; 648aa32a955SDavid Daney uint64_t null_dis:1; 649a7187a2fSDavid Daney uint64_t pre_align:1; 650a7187a2fSDavid Daney uint64_t pad_len:1; 651a7187a2fSDavid Daney uint64_t vlan_len:1; 652a7187a2fSDavid Daney uint64_t pre_free:1; 653a7187a2fSDavid Daney uint64_t ctl_smac:1; 654a7187a2fSDavid Daney uint64_t ctl_mcst:1; 655a7187a2fSDavid Daney uint64_t ctl_bck:1; 656a7187a2fSDavid Daney uint64_t ctl_drp:1; 657a7187a2fSDavid Daney uint64_t pre_strp:1; 658a7187a2fSDavid Daney uint64_t pre_chk:1; 659c5aa59e8SDavid Daney #else 660c5aa59e8SDavid Daney uint64_t pre_chk:1; 661c5aa59e8SDavid Daney uint64_t pre_strp:1; 662c5aa59e8SDavid Daney uint64_t ctl_drp:1; 663c5aa59e8SDavid Daney uint64_t ctl_bck:1; 664c5aa59e8SDavid Daney uint64_t ctl_mcst:1; 665c5aa59e8SDavid Daney uint64_t ctl_smac:1; 666c5aa59e8SDavid Daney uint64_t pre_free:1; 667c5aa59e8SDavid Daney uint64_t vlan_len:1; 668c5aa59e8SDavid Daney uint64_t pad_len:1; 669c5aa59e8SDavid Daney uint64_t pre_align:1; 670c5aa59e8SDavid Daney uint64_t null_dis:1; 671c5aa59e8SDavid Daney uint64_t reserved_11_11:1; 672c5aa59e8SDavid Daney uint64_t ptp_mode:1; 673c5aa59e8SDavid Daney uint64_t reserved_13_63:51; 674c5aa59e8SDavid Daney #endif 675a7187a2fSDavid Daney } s; 676aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx { 677c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 678aa32a955SDavid Daney uint64_t reserved_10_63:54; 679aa32a955SDavid Daney uint64_t pre_align:1; 680aa32a955SDavid Daney uint64_t pad_len:1; 681aa32a955SDavid Daney uint64_t vlan_len:1; 682aa32a955SDavid Daney uint64_t pre_free:1; 683aa32a955SDavid Daney uint64_t ctl_smac:1; 684aa32a955SDavid Daney uint64_t ctl_mcst:1; 685aa32a955SDavid Daney uint64_t ctl_bck:1; 686aa32a955SDavid Daney uint64_t ctl_drp:1; 687aa32a955SDavid Daney uint64_t pre_strp:1; 688aa32a955SDavid Daney uint64_t pre_chk:1; 689c5aa59e8SDavid Daney #else 690c5aa59e8SDavid Daney uint64_t pre_chk:1; 691c5aa59e8SDavid Daney uint64_t pre_strp:1; 692c5aa59e8SDavid Daney uint64_t ctl_drp:1; 693c5aa59e8SDavid Daney uint64_t ctl_bck:1; 694c5aa59e8SDavid Daney uint64_t ctl_mcst:1; 695c5aa59e8SDavid Daney uint64_t ctl_smac:1; 696c5aa59e8SDavid Daney uint64_t pre_free:1; 697c5aa59e8SDavid Daney uint64_t vlan_len:1; 698c5aa59e8SDavid Daney uint64_t pad_len:1; 699c5aa59e8SDavid Daney uint64_t pre_align:1; 700c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 701c5aa59e8SDavid Daney #endif 702aa32a955SDavid Daney } cn52xx; 703aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1; 704aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx; 705aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1; 706c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn61xx; 707aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx; 708aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1; 709c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn66xx; 710c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn68xx; 711c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn68xxp1; 712a7187a2fSDavid Daney }; 713a7187a2fSDavid Daney 714a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_max { 715a7187a2fSDavid Daney uint64_t u64; 716a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s { 717c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 718a7187a2fSDavid Daney uint64_t reserved_16_63:48; 719a7187a2fSDavid Daney uint64_t len:16; 720c5aa59e8SDavid Daney #else 721c5aa59e8SDavid Daney uint64_t len:16; 722c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 723c5aa59e8SDavid Daney #endif 724a7187a2fSDavid Daney } s; 725a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn52xx; 726a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1; 727a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn56xx; 728a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1; 729c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn61xx; 730aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn63xx; 731aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1; 732c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn66xx; 733c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn68xx; 734c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn68xxp1; 735a7187a2fSDavid Daney }; 736a7187a2fSDavid Daney 737a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_min { 738a7187a2fSDavid Daney uint64_t u64; 739a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s { 740c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 741a7187a2fSDavid Daney uint64_t reserved_16_63:48; 742a7187a2fSDavid Daney uint64_t len:16; 743c5aa59e8SDavid Daney #else 744c5aa59e8SDavid Daney uint64_t len:16; 745c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 746c5aa59e8SDavid Daney #endif 747a7187a2fSDavid Daney } s; 748a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn52xx; 749a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1; 750a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn56xx; 751a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1; 752c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn61xx; 753aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn63xx; 754aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1; 755c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn66xx; 756c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn68xx; 757c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn68xxp1; 758a7187a2fSDavid Daney }; 759a7187a2fSDavid Daney 760a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_ifg { 761a7187a2fSDavid Daney uint64_t u64; 762a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s { 763c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 764a7187a2fSDavid Daney uint64_t reserved_4_63:60; 765a7187a2fSDavid Daney uint64_t ifg:4; 766c5aa59e8SDavid Daney #else 767c5aa59e8SDavid Daney uint64_t ifg:4; 768c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 769c5aa59e8SDavid Daney #endif 770a7187a2fSDavid Daney } s; 771a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn52xx; 772a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1; 773a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn56xx; 774a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1; 775c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn61xx; 776aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn63xx; 777aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1; 778c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn66xx; 779c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn68xx; 780c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn68xxp1; 781a7187a2fSDavid Daney }; 782a7187a2fSDavid Daney 783a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_int_en { 784a7187a2fSDavid Daney uint64_t u64; 785a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_int_en_s { 786c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 787a7187a2fSDavid Daney uint64_t reserved_20_63:44; 788a7187a2fSDavid Daney uint64_t pause_drp:1; 789aa32a955SDavid Daney uint64_t phy_dupx:1; 790aa32a955SDavid Daney uint64_t phy_spd:1; 791aa32a955SDavid Daney uint64_t phy_link:1; 792a7187a2fSDavid Daney uint64_t ifgerr:1; 793a7187a2fSDavid Daney uint64_t coldet:1; 794a7187a2fSDavid Daney uint64_t falerr:1; 795a7187a2fSDavid Daney uint64_t rsverr:1; 796a7187a2fSDavid Daney uint64_t pcterr:1; 797a7187a2fSDavid Daney uint64_t ovrerr:1; 798aa32a955SDavid Daney uint64_t niberr:1; 799a7187a2fSDavid Daney uint64_t skperr:1; 800a7187a2fSDavid Daney uint64_t rcverr:1; 801a7187a2fSDavid Daney uint64_t lenerr:1; 802a7187a2fSDavid Daney uint64_t alnerr:1; 803a7187a2fSDavid Daney uint64_t fcserr:1; 804a7187a2fSDavid Daney uint64_t jabber:1; 805a7187a2fSDavid Daney uint64_t maxerr:1; 806aa32a955SDavid Daney uint64_t carext:1; 807a7187a2fSDavid Daney uint64_t minerr:1; 808c5aa59e8SDavid Daney #else 809c5aa59e8SDavid Daney uint64_t minerr:1; 810c5aa59e8SDavid Daney uint64_t carext:1; 811c5aa59e8SDavid Daney uint64_t maxerr:1; 812c5aa59e8SDavid Daney uint64_t jabber:1; 813c5aa59e8SDavid Daney uint64_t fcserr:1; 814c5aa59e8SDavid Daney uint64_t alnerr:1; 815c5aa59e8SDavid Daney uint64_t lenerr:1; 816c5aa59e8SDavid Daney uint64_t rcverr:1; 817c5aa59e8SDavid Daney uint64_t skperr:1; 818c5aa59e8SDavid Daney uint64_t niberr:1; 819c5aa59e8SDavid Daney uint64_t ovrerr:1; 820c5aa59e8SDavid Daney uint64_t pcterr:1; 821c5aa59e8SDavid Daney uint64_t rsverr:1; 822c5aa59e8SDavid Daney uint64_t falerr:1; 823c5aa59e8SDavid Daney uint64_t coldet:1; 824c5aa59e8SDavid Daney uint64_t ifgerr:1; 825c5aa59e8SDavid Daney uint64_t phy_link:1; 826c5aa59e8SDavid Daney uint64_t phy_spd:1; 827c5aa59e8SDavid Daney uint64_t phy_dupx:1; 828c5aa59e8SDavid Daney uint64_t pause_drp:1; 829c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 830c5aa59e8SDavid Daney #endif 831a7187a2fSDavid Daney } s; 832aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx { 833c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 834a7187a2fSDavid Daney uint64_t reserved_20_63:44; 835a7187a2fSDavid Daney uint64_t pause_drp:1; 836a7187a2fSDavid Daney uint64_t reserved_16_18:3; 837a7187a2fSDavid Daney uint64_t ifgerr:1; 838a7187a2fSDavid Daney uint64_t coldet:1; 839a7187a2fSDavid Daney uint64_t falerr:1; 840a7187a2fSDavid Daney uint64_t rsverr:1; 841a7187a2fSDavid Daney uint64_t pcterr:1; 842a7187a2fSDavid Daney uint64_t ovrerr:1; 843a7187a2fSDavid Daney uint64_t reserved_9_9:1; 844a7187a2fSDavid Daney uint64_t skperr:1; 845a7187a2fSDavid Daney uint64_t rcverr:1; 846a7187a2fSDavid Daney uint64_t lenerr:1; 847a7187a2fSDavid Daney uint64_t alnerr:1; 848a7187a2fSDavid Daney uint64_t fcserr:1; 849a7187a2fSDavid Daney uint64_t jabber:1; 850a7187a2fSDavid Daney uint64_t maxerr:1; 851a7187a2fSDavid Daney uint64_t reserved_1_1:1; 852a7187a2fSDavid Daney uint64_t minerr:1; 853c5aa59e8SDavid Daney #else 854c5aa59e8SDavid Daney uint64_t minerr:1; 855c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 856c5aa59e8SDavid Daney uint64_t maxerr:1; 857c5aa59e8SDavid Daney uint64_t jabber:1; 858c5aa59e8SDavid Daney uint64_t fcserr:1; 859c5aa59e8SDavid Daney uint64_t alnerr:1; 860c5aa59e8SDavid Daney uint64_t lenerr:1; 861c5aa59e8SDavid Daney uint64_t rcverr:1; 862c5aa59e8SDavid Daney uint64_t skperr:1; 863c5aa59e8SDavid Daney uint64_t reserved_9_9:1; 864c5aa59e8SDavid Daney uint64_t ovrerr:1; 865c5aa59e8SDavid Daney uint64_t pcterr:1; 866c5aa59e8SDavid Daney uint64_t rsverr:1; 867c5aa59e8SDavid Daney uint64_t falerr:1; 868c5aa59e8SDavid Daney uint64_t coldet:1; 869c5aa59e8SDavid Daney uint64_t ifgerr:1; 870c5aa59e8SDavid Daney uint64_t reserved_16_18:3; 871c5aa59e8SDavid Daney uint64_t pause_drp:1; 872c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 873c5aa59e8SDavid Daney #endif 874aa32a955SDavid Daney } cn52xx; 875aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1; 876aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx; 877aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1; 878c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn61xx; 879aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn63xx; 880aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1; 881c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn66xx; 882c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn68xx; 883c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn68xxp1; 884aa32a955SDavid Daney }; 885aa32a955SDavid Daney 886aa32a955SDavid Daney union cvmx_agl_gmx_rxx_int_reg { 887aa32a955SDavid Daney uint64_t u64; 888aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s { 889c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 890aa32a955SDavid Daney uint64_t reserved_20_63:44; 891aa32a955SDavid Daney uint64_t pause_drp:1; 892aa32a955SDavid Daney uint64_t phy_dupx:1; 893aa32a955SDavid Daney uint64_t phy_spd:1; 894aa32a955SDavid Daney uint64_t phy_link:1; 895aa32a955SDavid Daney uint64_t ifgerr:1; 896aa32a955SDavid Daney uint64_t coldet:1; 897aa32a955SDavid Daney uint64_t falerr:1; 898aa32a955SDavid Daney uint64_t rsverr:1; 899aa32a955SDavid Daney uint64_t pcterr:1; 900aa32a955SDavid Daney uint64_t ovrerr:1; 901aa32a955SDavid Daney uint64_t niberr:1; 902aa32a955SDavid Daney uint64_t skperr:1; 903aa32a955SDavid Daney uint64_t rcverr:1; 904aa32a955SDavid Daney uint64_t lenerr:1; 905aa32a955SDavid Daney uint64_t alnerr:1; 906aa32a955SDavid Daney uint64_t fcserr:1; 907aa32a955SDavid Daney uint64_t jabber:1; 908aa32a955SDavid Daney uint64_t maxerr:1; 909aa32a955SDavid Daney uint64_t carext:1; 910aa32a955SDavid Daney uint64_t minerr:1; 911c5aa59e8SDavid Daney #else 912c5aa59e8SDavid Daney uint64_t minerr:1; 913c5aa59e8SDavid Daney uint64_t carext:1; 914c5aa59e8SDavid Daney uint64_t maxerr:1; 915c5aa59e8SDavid Daney uint64_t jabber:1; 916c5aa59e8SDavid Daney uint64_t fcserr:1; 917c5aa59e8SDavid Daney uint64_t alnerr:1; 918c5aa59e8SDavid Daney uint64_t lenerr:1; 919c5aa59e8SDavid Daney uint64_t rcverr:1; 920c5aa59e8SDavid Daney uint64_t skperr:1; 921c5aa59e8SDavid Daney uint64_t niberr:1; 922c5aa59e8SDavid Daney uint64_t ovrerr:1; 923c5aa59e8SDavid Daney uint64_t pcterr:1; 924c5aa59e8SDavid Daney uint64_t rsverr:1; 925c5aa59e8SDavid Daney uint64_t falerr:1; 926c5aa59e8SDavid Daney uint64_t coldet:1; 927c5aa59e8SDavid Daney uint64_t ifgerr:1; 928c5aa59e8SDavid Daney uint64_t phy_link:1; 929c5aa59e8SDavid Daney uint64_t phy_spd:1; 930c5aa59e8SDavid Daney uint64_t phy_dupx:1; 931c5aa59e8SDavid Daney uint64_t pause_drp:1; 932c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 933c5aa59e8SDavid Daney #endif 934a7187a2fSDavid Daney } s; 935aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx { 936c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 937aa32a955SDavid Daney uint64_t reserved_20_63:44; 938aa32a955SDavid Daney uint64_t pause_drp:1; 939aa32a955SDavid Daney uint64_t reserved_16_18:3; 940aa32a955SDavid Daney uint64_t ifgerr:1; 941aa32a955SDavid Daney uint64_t coldet:1; 942aa32a955SDavid Daney uint64_t falerr:1; 943aa32a955SDavid Daney uint64_t rsverr:1; 944aa32a955SDavid Daney uint64_t pcterr:1; 945aa32a955SDavid Daney uint64_t ovrerr:1; 946aa32a955SDavid Daney uint64_t reserved_9_9:1; 947aa32a955SDavid Daney uint64_t skperr:1; 948aa32a955SDavid Daney uint64_t rcverr:1; 949aa32a955SDavid Daney uint64_t lenerr:1; 950aa32a955SDavid Daney uint64_t alnerr:1; 951aa32a955SDavid Daney uint64_t fcserr:1; 952aa32a955SDavid Daney uint64_t jabber:1; 953aa32a955SDavid Daney uint64_t maxerr:1; 954aa32a955SDavid Daney uint64_t reserved_1_1:1; 955aa32a955SDavid Daney uint64_t minerr:1; 956c5aa59e8SDavid Daney #else 957c5aa59e8SDavid Daney uint64_t minerr:1; 958c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 959c5aa59e8SDavid Daney uint64_t maxerr:1; 960c5aa59e8SDavid Daney uint64_t jabber:1; 961c5aa59e8SDavid Daney uint64_t fcserr:1; 962c5aa59e8SDavid Daney uint64_t alnerr:1; 963c5aa59e8SDavid Daney uint64_t lenerr:1; 964c5aa59e8SDavid Daney uint64_t rcverr:1; 965c5aa59e8SDavid Daney uint64_t skperr:1; 966c5aa59e8SDavid Daney uint64_t reserved_9_9:1; 967c5aa59e8SDavid Daney uint64_t ovrerr:1; 968c5aa59e8SDavid Daney uint64_t pcterr:1; 969c5aa59e8SDavid Daney uint64_t rsverr:1; 970c5aa59e8SDavid Daney uint64_t falerr:1; 971c5aa59e8SDavid Daney uint64_t coldet:1; 972c5aa59e8SDavid Daney uint64_t ifgerr:1; 973c5aa59e8SDavid Daney uint64_t reserved_16_18:3; 974c5aa59e8SDavid Daney uint64_t pause_drp:1; 975c5aa59e8SDavid Daney uint64_t reserved_20_63:44; 976c5aa59e8SDavid Daney #endif 977aa32a955SDavid Daney } cn52xx; 978aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1; 979aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx; 980aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1; 981c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn61xx; 982aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn63xx; 983aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1; 984c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn66xx; 985c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn68xx; 986c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn68xxp1; 987a7187a2fSDavid Daney }; 988a7187a2fSDavid Daney 989a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_jabber { 990a7187a2fSDavid Daney uint64_t u64; 991a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s { 992c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 993a7187a2fSDavid Daney uint64_t reserved_16_63:48; 994a7187a2fSDavid Daney uint64_t cnt:16; 995c5aa59e8SDavid Daney #else 996c5aa59e8SDavid Daney uint64_t cnt:16; 997c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 998c5aa59e8SDavid Daney #endif 999a7187a2fSDavid Daney } s; 1000a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn52xx; 1001a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1; 1002a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn56xx; 1003a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1; 1004c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn61xx; 1005aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn63xx; 1006aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1; 1007c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn66xx; 1008c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn68xx; 1009c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn68xxp1; 1010a7187a2fSDavid Daney }; 1011a7187a2fSDavid Daney 1012a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_pause_drop_time { 1013a7187a2fSDavid Daney uint64_t u64; 1014a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s { 1015c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1016a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1017a7187a2fSDavid Daney uint64_t status:16; 1018c5aa59e8SDavid Daney #else 1019c5aa59e8SDavid Daney uint64_t status:16; 1020c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 1021c5aa59e8SDavid Daney #endif 1022a7187a2fSDavid Daney } s; 1023a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx; 1024a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1; 1025a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx; 1026a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1; 1027c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn61xx; 1028aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx; 1029aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1; 1030c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn66xx; 1031c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn68xx; 1032c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn68xxp1; 1033aa32a955SDavid Daney }; 1034aa32a955SDavid Daney 1035aa32a955SDavid Daney union cvmx_agl_gmx_rxx_rx_inbnd { 1036aa32a955SDavid Daney uint64_t u64; 1037aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s { 1038c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1039aa32a955SDavid Daney uint64_t reserved_4_63:60; 1040aa32a955SDavid Daney uint64_t duplex:1; 1041aa32a955SDavid Daney uint64_t speed:2; 1042aa32a955SDavid Daney uint64_t status:1; 1043c5aa59e8SDavid Daney #else 1044c5aa59e8SDavid Daney uint64_t status:1; 1045c5aa59e8SDavid Daney uint64_t speed:2; 1046c5aa59e8SDavid Daney uint64_t duplex:1; 1047c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 1048c5aa59e8SDavid Daney #endif 1049aa32a955SDavid Daney } s; 1050c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn61xx; 1051aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx; 1052aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1; 1053c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn66xx; 1054c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn68xx; 1055c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn68xxp1; 1056a7187a2fSDavid Daney }; 1057a7187a2fSDavid Daney 1058a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_ctl { 1059a7187a2fSDavid Daney uint64_t u64; 1060a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s { 1061c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1062a7187a2fSDavid Daney uint64_t reserved_1_63:63; 1063a7187a2fSDavid Daney uint64_t rd_clr:1; 1064c5aa59e8SDavid Daney #else 1065c5aa59e8SDavid Daney uint64_t rd_clr:1; 1066c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 1067c5aa59e8SDavid Daney #endif 1068a7187a2fSDavid Daney } s; 1069a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx; 1070a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1; 1071a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx; 1072a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1; 1073c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn61xx; 1074aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx; 1075aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1; 1076c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn66xx; 1077c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn68xx; 1078c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn68xxp1; 1079a7187a2fSDavid Daney }; 1080a7187a2fSDavid Daney 1081a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs { 1082a7187a2fSDavid Daney uint64_t u64; 1083a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s { 1084c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1085a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1086a7187a2fSDavid Daney uint64_t cnt:48; 1087c5aa59e8SDavid Daney #else 1088c5aa59e8SDavid Daney uint64_t cnt:48; 1089c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1090c5aa59e8SDavid Daney #endif 1091a7187a2fSDavid Daney } s; 1092a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx; 1093a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1; 1094a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx; 1095a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1; 1096c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn61xx; 1097aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx; 1098aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1; 1099c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn66xx; 1100c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn68xx; 1101c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn68xxp1; 1102a7187a2fSDavid Daney }; 1103a7187a2fSDavid Daney 1104a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs_ctl { 1105a7187a2fSDavid Daney uint64_t u64; 1106a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s { 1107c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1108a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1109a7187a2fSDavid Daney uint64_t cnt:48; 1110c5aa59e8SDavid Daney #else 1111c5aa59e8SDavid Daney uint64_t cnt:48; 1112c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1113c5aa59e8SDavid Daney #endif 1114a7187a2fSDavid Daney } s; 1115a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx; 1116a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1; 1117a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx; 1118a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1; 1119c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn61xx; 1120aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx; 1121aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1; 1122c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn66xx; 1123c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn68xx; 1124c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn68xxp1; 1125a7187a2fSDavid Daney }; 1126a7187a2fSDavid Daney 1127a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs_dmac { 1128a7187a2fSDavid Daney uint64_t u64; 1129a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s { 1130c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1131a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1132a7187a2fSDavid Daney uint64_t cnt:48; 1133c5aa59e8SDavid Daney #else 1134c5aa59e8SDavid Daney uint64_t cnt:48; 1135c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1136c5aa59e8SDavid Daney #endif 1137a7187a2fSDavid Daney } s; 1138a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx; 1139a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1; 1140a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx; 1141a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1; 1142c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn61xx; 1143aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx; 1144aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1; 1145c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn66xx; 1146c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn68xx; 1147c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn68xxp1; 1148a7187a2fSDavid Daney }; 1149a7187a2fSDavid Daney 1150a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs_drp { 1151a7187a2fSDavid Daney uint64_t u64; 1152a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s { 1153c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1154a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1155a7187a2fSDavid Daney uint64_t cnt:48; 1156c5aa59e8SDavid Daney #else 1157c5aa59e8SDavid Daney uint64_t cnt:48; 1158c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1159c5aa59e8SDavid Daney #endif 1160a7187a2fSDavid Daney } s; 1161a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx; 1162a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1; 1163a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx; 1164a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1; 1165c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn61xx; 1166aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx; 1167aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1; 1168c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn66xx; 1169c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn68xx; 1170c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn68xxp1; 1171a7187a2fSDavid Daney }; 1172a7187a2fSDavid Daney 1173a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts { 1174a7187a2fSDavid Daney uint64_t u64; 1175a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s { 1176c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1177a7187a2fSDavid Daney uint64_t reserved_32_63:32; 1178a7187a2fSDavid Daney uint64_t cnt:32; 1179c5aa59e8SDavid Daney #else 1180c5aa59e8SDavid Daney uint64_t cnt:32; 1181c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1182c5aa59e8SDavid Daney #endif 1183a7187a2fSDavid Daney } s; 1184a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx; 1185a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1; 1186a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx; 1187a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1; 1188c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn61xx; 1189aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx; 1190aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1; 1191c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn66xx; 1192c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn68xx; 1193c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn68xxp1; 1194a7187a2fSDavid Daney }; 1195a7187a2fSDavid Daney 1196a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_bad { 1197a7187a2fSDavid Daney uint64_t u64; 1198a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s { 1199c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1200a7187a2fSDavid Daney uint64_t reserved_32_63:32; 1201a7187a2fSDavid Daney uint64_t cnt:32; 1202c5aa59e8SDavid Daney #else 1203c5aa59e8SDavid Daney uint64_t cnt:32; 1204c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1205c5aa59e8SDavid Daney #endif 1206a7187a2fSDavid Daney } s; 1207a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx; 1208a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1; 1209a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx; 1210a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1; 1211c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn61xx; 1212aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx; 1213aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1; 1214c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn66xx; 1215c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn68xx; 1216c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn68xxp1; 1217a7187a2fSDavid Daney }; 1218a7187a2fSDavid Daney 1219a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_ctl { 1220a7187a2fSDavid Daney uint64_t u64; 1221a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s { 1222c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1223a7187a2fSDavid Daney uint64_t reserved_32_63:32; 1224a7187a2fSDavid Daney uint64_t cnt:32; 1225c5aa59e8SDavid Daney #else 1226c5aa59e8SDavid Daney uint64_t cnt:32; 1227c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1228c5aa59e8SDavid Daney #endif 1229a7187a2fSDavid Daney } s; 1230a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx; 1231a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1; 1232a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx; 1233a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1; 1234c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn61xx; 1235aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx; 1236aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1; 1237c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn66xx; 1238c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn68xx; 1239c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn68xxp1; 1240a7187a2fSDavid Daney }; 1241a7187a2fSDavid Daney 1242a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_dmac { 1243a7187a2fSDavid Daney uint64_t u64; 1244a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s { 1245c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1246a7187a2fSDavid Daney uint64_t reserved_32_63:32; 1247a7187a2fSDavid Daney uint64_t cnt:32; 1248c5aa59e8SDavid Daney #else 1249c5aa59e8SDavid Daney uint64_t cnt:32; 1250c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1251c5aa59e8SDavid Daney #endif 1252a7187a2fSDavid Daney } s; 1253a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx; 1254a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1; 1255a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx; 1256a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1; 1257c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn61xx; 1258aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx; 1259aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1; 1260c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn66xx; 1261c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn68xx; 1262c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn68xxp1; 1263a7187a2fSDavid Daney }; 1264a7187a2fSDavid Daney 1265a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_drp { 1266a7187a2fSDavid Daney uint64_t u64; 1267a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s { 1268c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1269a7187a2fSDavid Daney uint64_t reserved_32_63:32; 1270a7187a2fSDavid Daney uint64_t cnt:32; 1271c5aa59e8SDavid Daney #else 1272c5aa59e8SDavid Daney uint64_t cnt:32; 1273c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1274c5aa59e8SDavid Daney #endif 1275a7187a2fSDavid Daney } s; 1276a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx; 1277a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1; 1278a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx; 1279a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1; 1280c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn61xx; 1281aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx; 1282aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1; 1283c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn66xx; 1284c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn68xx; 1285c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn68xxp1; 1286a7187a2fSDavid Daney }; 1287a7187a2fSDavid Daney 1288a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_udd_skp { 1289a7187a2fSDavid Daney uint64_t u64; 1290a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s { 1291c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1292a7187a2fSDavid Daney uint64_t reserved_9_63:55; 1293a7187a2fSDavid Daney uint64_t fcssel:1; 1294a7187a2fSDavid Daney uint64_t reserved_7_7:1; 1295a7187a2fSDavid Daney uint64_t len:7; 1296c5aa59e8SDavid Daney #else 1297c5aa59e8SDavid Daney uint64_t len:7; 1298c5aa59e8SDavid Daney uint64_t reserved_7_7:1; 1299c5aa59e8SDavid Daney uint64_t fcssel:1; 1300c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 1301c5aa59e8SDavid Daney #endif 1302a7187a2fSDavid Daney } s; 1303a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx; 1304a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1; 1305a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx; 1306a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1; 1307c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn61xx; 1308aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx; 1309aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1; 1310c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn66xx; 1311c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn68xx; 1312c5aa59e8SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn68xxp1; 1313a7187a2fSDavid Daney }; 1314a7187a2fSDavid Daney 1315a7187a2fSDavid Daney union cvmx_agl_gmx_rx_bp_dropx { 1316a7187a2fSDavid Daney uint64_t u64; 1317a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s { 1318c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1319a7187a2fSDavid Daney uint64_t reserved_6_63:58; 1320a7187a2fSDavid Daney uint64_t mark:6; 1321c5aa59e8SDavid Daney #else 1322c5aa59e8SDavid Daney uint64_t mark:6; 1323c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 1324c5aa59e8SDavid Daney #endif 1325a7187a2fSDavid Daney } s; 1326a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx; 1327a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1; 1328a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx; 1329a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1; 1330c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn61xx; 1331aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx; 1332aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1; 1333c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn66xx; 1334c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn68xx; 1335c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn68xxp1; 1336a7187a2fSDavid Daney }; 1337a7187a2fSDavid Daney 1338a7187a2fSDavid Daney union cvmx_agl_gmx_rx_bp_offx { 1339a7187a2fSDavid Daney uint64_t u64; 1340a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s { 1341c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1342a7187a2fSDavid Daney uint64_t reserved_6_63:58; 1343a7187a2fSDavid Daney uint64_t mark:6; 1344c5aa59e8SDavid Daney #else 1345c5aa59e8SDavid Daney uint64_t mark:6; 1346c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 1347c5aa59e8SDavid Daney #endif 1348a7187a2fSDavid Daney } s; 1349a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn52xx; 1350a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1; 1351a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn56xx; 1352a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1; 1353c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn61xx; 1354aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn63xx; 1355aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1; 1356c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn66xx; 1357c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn68xx; 1358c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn68xxp1; 1359a7187a2fSDavid Daney }; 1360a7187a2fSDavid Daney 1361a7187a2fSDavid Daney union cvmx_agl_gmx_rx_bp_onx { 1362a7187a2fSDavid Daney uint64_t u64; 1363a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s { 1364c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1365a7187a2fSDavid Daney uint64_t reserved_9_63:55; 1366a7187a2fSDavid Daney uint64_t mark:9; 1367c5aa59e8SDavid Daney #else 1368c5aa59e8SDavid Daney uint64_t mark:9; 1369c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 1370c5aa59e8SDavid Daney #endif 1371a7187a2fSDavid Daney } s; 1372a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn52xx; 1373a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1; 1374a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn56xx; 1375a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1; 1376c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn61xx; 1377aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn63xx; 1378aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1; 1379c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn66xx; 1380c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn68xx; 1381c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn68xxp1; 1382a7187a2fSDavid Daney }; 1383a7187a2fSDavid Daney 1384a7187a2fSDavid Daney union cvmx_agl_gmx_rx_prt_info { 1385a7187a2fSDavid Daney uint64_t u64; 1386a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_s { 1387c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1388a7187a2fSDavid Daney uint64_t reserved_18_63:46; 1389a7187a2fSDavid Daney uint64_t drop:2; 1390a7187a2fSDavid Daney uint64_t reserved_2_15:14; 1391a7187a2fSDavid Daney uint64_t commit:2; 1392c5aa59e8SDavid Daney #else 1393c5aa59e8SDavid Daney uint64_t commit:2; 1394c5aa59e8SDavid Daney uint64_t reserved_2_15:14; 1395c5aa59e8SDavid Daney uint64_t drop:2; 1396c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 1397c5aa59e8SDavid Daney #endif 1398a7187a2fSDavid Daney } s; 1399a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn52xx; 1400a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1; 1401a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_cn56xx { 1402c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1403a7187a2fSDavid Daney uint64_t reserved_17_63:47; 1404a7187a2fSDavid Daney uint64_t drop:1; 1405a7187a2fSDavid Daney uint64_t reserved_1_15:15; 1406a7187a2fSDavid Daney uint64_t commit:1; 1407c5aa59e8SDavid Daney #else 1408c5aa59e8SDavid Daney uint64_t commit:1; 1409c5aa59e8SDavid Daney uint64_t reserved_1_15:15; 1410c5aa59e8SDavid Daney uint64_t drop:1; 1411c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 1412c5aa59e8SDavid Daney #endif 1413a7187a2fSDavid Daney } cn56xx; 1414a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1; 1415c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn61xx; 1416aa32a955SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn63xx; 1417aa32a955SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1; 1418c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn66xx; 1419c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn68xx; 1420c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn68xxp1; 1421a7187a2fSDavid Daney }; 1422a7187a2fSDavid Daney 1423a7187a2fSDavid Daney union cvmx_agl_gmx_rx_tx_status { 1424a7187a2fSDavid Daney uint64_t u64; 1425a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_s { 1426c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1427a7187a2fSDavid Daney uint64_t reserved_6_63:58; 1428a7187a2fSDavid Daney uint64_t tx:2; 1429a7187a2fSDavid Daney uint64_t reserved_2_3:2; 1430a7187a2fSDavid Daney uint64_t rx:2; 1431c5aa59e8SDavid Daney #else 1432c5aa59e8SDavid Daney uint64_t rx:2; 1433c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 1434c5aa59e8SDavid Daney uint64_t tx:2; 1435c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 1436c5aa59e8SDavid Daney #endif 1437a7187a2fSDavid Daney } s; 1438a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn52xx; 1439a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1; 1440a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_cn56xx { 1441c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1442a7187a2fSDavid Daney uint64_t reserved_5_63:59; 1443a7187a2fSDavid Daney uint64_t tx:1; 1444a7187a2fSDavid Daney uint64_t reserved_1_3:3; 1445a7187a2fSDavid Daney uint64_t rx:1; 1446c5aa59e8SDavid Daney #else 1447c5aa59e8SDavid Daney uint64_t rx:1; 1448c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 1449c5aa59e8SDavid Daney uint64_t tx:1; 1450c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 1451c5aa59e8SDavid Daney #endif 1452a7187a2fSDavid Daney } cn56xx; 1453a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1; 1454c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn61xx; 1455aa32a955SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn63xx; 1456aa32a955SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1; 1457c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn66xx; 1458c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn68xx; 1459c5aa59e8SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn68xxp1; 1460a7187a2fSDavid Daney }; 1461a7187a2fSDavid Daney 1462a7187a2fSDavid Daney union cvmx_agl_gmx_smacx { 1463a7187a2fSDavid Daney uint64_t u64; 1464a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s { 1465c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1466a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1467a7187a2fSDavid Daney uint64_t smac:48; 1468c5aa59e8SDavid Daney #else 1469c5aa59e8SDavid Daney uint64_t smac:48; 1470c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1471c5aa59e8SDavid Daney #endif 1472a7187a2fSDavid Daney } s; 1473a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn52xx; 1474a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn52xxp1; 1475a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn56xx; 1476a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn56xxp1; 1477c5aa59e8SDavid Daney struct cvmx_agl_gmx_smacx_s cn61xx; 1478aa32a955SDavid Daney struct cvmx_agl_gmx_smacx_s cn63xx; 1479aa32a955SDavid Daney struct cvmx_agl_gmx_smacx_s cn63xxp1; 1480c5aa59e8SDavid Daney struct cvmx_agl_gmx_smacx_s cn66xx; 1481c5aa59e8SDavid Daney struct cvmx_agl_gmx_smacx_s cn68xx; 1482c5aa59e8SDavid Daney struct cvmx_agl_gmx_smacx_s cn68xxp1; 1483a7187a2fSDavid Daney }; 1484a7187a2fSDavid Daney 1485a7187a2fSDavid Daney union cvmx_agl_gmx_stat_bp { 1486a7187a2fSDavid Daney uint64_t u64; 1487a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s { 1488c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1489a7187a2fSDavid Daney uint64_t reserved_17_63:47; 1490a7187a2fSDavid Daney uint64_t bp:1; 1491a7187a2fSDavid Daney uint64_t cnt:16; 1492c5aa59e8SDavid Daney #else 1493c5aa59e8SDavid Daney uint64_t cnt:16; 1494c5aa59e8SDavid Daney uint64_t bp:1; 1495c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 1496c5aa59e8SDavid Daney #endif 1497a7187a2fSDavid Daney } s; 1498a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn52xx; 1499a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn52xxp1; 1500a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn56xx; 1501a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn56xxp1; 1502c5aa59e8SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn61xx; 1503aa32a955SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn63xx; 1504aa32a955SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn63xxp1; 1505c5aa59e8SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn66xx; 1506c5aa59e8SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn68xx; 1507c5aa59e8SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn68xxp1; 1508a7187a2fSDavid Daney }; 1509a7187a2fSDavid Daney 1510a7187a2fSDavid Daney union cvmx_agl_gmx_txx_append { 1511a7187a2fSDavid Daney uint64_t u64; 1512a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s { 1513c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1514a7187a2fSDavid Daney uint64_t reserved_4_63:60; 1515a7187a2fSDavid Daney uint64_t force_fcs:1; 1516a7187a2fSDavid Daney uint64_t fcs:1; 1517a7187a2fSDavid Daney uint64_t pad:1; 1518a7187a2fSDavid Daney uint64_t preamble:1; 1519c5aa59e8SDavid Daney #else 1520c5aa59e8SDavid Daney uint64_t preamble:1; 1521c5aa59e8SDavid Daney uint64_t pad:1; 1522c5aa59e8SDavid Daney uint64_t fcs:1; 1523c5aa59e8SDavid Daney uint64_t force_fcs:1; 1524c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 1525c5aa59e8SDavid Daney #endif 1526a7187a2fSDavid Daney } s; 1527a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn52xx; 1528a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn52xxp1; 1529a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn56xx; 1530a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn56xxp1; 1531c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_append_s cn61xx; 1532aa32a955SDavid Daney struct cvmx_agl_gmx_txx_append_s cn63xx; 1533aa32a955SDavid Daney struct cvmx_agl_gmx_txx_append_s cn63xxp1; 1534c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_append_s cn66xx; 1535c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_append_s cn68xx; 1536c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_append_s cn68xxp1; 1537aa32a955SDavid Daney }; 1538aa32a955SDavid Daney 1539aa32a955SDavid Daney union cvmx_agl_gmx_txx_clk { 1540aa32a955SDavid Daney uint64_t u64; 1541aa32a955SDavid Daney struct cvmx_agl_gmx_txx_clk_s { 1542c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1543aa32a955SDavid Daney uint64_t reserved_6_63:58; 1544aa32a955SDavid Daney uint64_t clk_cnt:6; 1545c5aa59e8SDavid Daney #else 1546c5aa59e8SDavid Daney uint64_t clk_cnt:6; 1547c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 1548c5aa59e8SDavid Daney #endif 1549aa32a955SDavid Daney } s; 1550c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn61xx; 1551aa32a955SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn63xx; 1552aa32a955SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn63xxp1; 1553c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn66xx; 1554c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn68xx; 1555c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn68xxp1; 1556a7187a2fSDavid Daney }; 1557a7187a2fSDavid Daney 1558a7187a2fSDavid Daney union cvmx_agl_gmx_txx_ctl { 1559a7187a2fSDavid Daney uint64_t u64; 1560a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s { 1561c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1562a7187a2fSDavid Daney uint64_t reserved_2_63:62; 1563a7187a2fSDavid Daney uint64_t xsdef_en:1; 1564a7187a2fSDavid Daney uint64_t xscol_en:1; 1565c5aa59e8SDavid Daney #else 1566c5aa59e8SDavid Daney uint64_t xscol_en:1; 1567c5aa59e8SDavid Daney uint64_t xsdef_en:1; 1568c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 1569c5aa59e8SDavid Daney #endif 1570a7187a2fSDavid Daney } s; 1571a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn52xx; 1572a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn52xxp1; 1573a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn56xx; 1574a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn56xxp1; 1575c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn61xx; 1576aa32a955SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn63xx; 1577aa32a955SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn63xxp1; 1578c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn66xx; 1579c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn68xx; 1580c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn68xxp1; 1581a7187a2fSDavid Daney }; 1582a7187a2fSDavid Daney 1583a7187a2fSDavid Daney union cvmx_agl_gmx_txx_min_pkt { 1584a7187a2fSDavid Daney uint64_t u64; 1585a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s { 1586c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1587a7187a2fSDavid Daney uint64_t reserved_8_63:56; 1588a7187a2fSDavid Daney uint64_t min_size:8; 1589c5aa59e8SDavid Daney #else 1590c5aa59e8SDavid Daney uint64_t min_size:8; 1591c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 1592c5aa59e8SDavid Daney #endif 1593a7187a2fSDavid Daney } s; 1594a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn52xx; 1595a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1; 1596a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn56xx; 1597a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1; 1598c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn61xx; 1599aa32a955SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn63xx; 1600aa32a955SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1; 1601c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn66xx; 1602c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn68xx; 1603c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn68xxp1; 1604a7187a2fSDavid Daney }; 1605a7187a2fSDavid Daney 1606a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_pkt_interval { 1607a7187a2fSDavid Daney uint64_t u64; 1608a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s { 1609c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1610a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1611a7187a2fSDavid Daney uint64_t interval:16; 1612c5aa59e8SDavid Daney #else 1613c5aa59e8SDavid Daney uint64_t interval:16; 1614c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 1615c5aa59e8SDavid Daney #endif 1616a7187a2fSDavid Daney } s; 1617a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx; 1618a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1; 1619a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx; 1620a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1; 1621c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn61xx; 1622aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx; 1623aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1; 1624c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn66xx; 1625c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn68xx; 1626c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn68xxp1; 1627a7187a2fSDavid Daney }; 1628a7187a2fSDavid Daney 1629a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_pkt_time { 1630a7187a2fSDavid Daney uint64_t u64; 1631a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s { 1632c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1633a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1634a7187a2fSDavid Daney uint64_t time:16; 1635c5aa59e8SDavid Daney #else 1636c5aa59e8SDavid Daney uint64_t time:16; 1637c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 1638c5aa59e8SDavid Daney #endif 1639a7187a2fSDavid Daney } s; 1640a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx; 1641a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1; 1642a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx; 1643a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1; 1644c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn61xx; 1645aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx; 1646aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1; 1647c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn66xx; 1648c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn68xx; 1649c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn68xxp1; 1650a7187a2fSDavid Daney }; 1651a7187a2fSDavid Daney 1652a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_togo { 1653a7187a2fSDavid Daney uint64_t u64; 1654a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s { 1655c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1656a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1657a7187a2fSDavid Daney uint64_t time:16; 1658c5aa59e8SDavid Daney #else 1659c5aa59e8SDavid Daney uint64_t time:16; 1660c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 1661c5aa59e8SDavid Daney #endif 1662a7187a2fSDavid Daney } s; 1663a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn52xx; 1664a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1; 1665a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn56xx; 1666a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1; 1667c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn61xx; 1668aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn63xx; 1669aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1; 1670c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn66xx; 1671c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn68xx; 1672c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn68xxp1; 1673a7187a2fSDavid Daney }; 1674a7187a2fSDavid Daney 1675a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_zero { 1676a7187a2fSDavid Daney uint64_t u64; 1677a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s { 1678c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1679a7187a2fSDavid Daney uint64_t reserved_1_63:63; 1680a7187a2fSDavid Daney uint64_t send:1; 1681c5aa59e8SDavid Daney #else 1682c5aa59e8SDavid Daney uint64_t send:1; 1683c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 1684c5aa59e8SDavid Daney #endif 1685a7187a2fSDavid Daney } s; 1686a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn52xx; 1687a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1; 1688a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn56xx; 1689a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1; 1690c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn61xx; 1691aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn63xx; 1692aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1; 1693c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn66xx; 1694c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn68xx; 1695c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn68xxp1; 1696a7187a2fSDavid Daney }; 1697a7187a2fSDavid Daney 1698a7187a2fSDavid Daney union cvmx_agl_gmx_txx_soft_pause { 1699a7187a2fSDavid Daney uint64_t u64; 1700a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s { 1701c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1702a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1703a7187a2fSDavid Daney uint64_t time:16; 1704c5aa59e8SDavid Daney #else 1705c5aa59e8SDavid Daney uint64_t time:16; 1706c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 1707c5aa59e8SDavid Daney #endif 1708a7187a2fSDavid Daney } s; 1709a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn52xx; 1710a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1; 1711a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn56xx; 1712a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1; 1713c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn61xx; 1714aa32a955SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn63xx; 1715aa32a955SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1; 1716c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn66xx; 1717c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn68xx; 1718c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn68xxp1; 1719a7187a2fSDavid Daney }; 1720a7187a2fSDavid Daney 1721a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat0 { 1722a7187a2fSDavid Daney uint64_t u64; 1723a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s { 1724c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1725a7187a2fSDavid Daney uint64_t xsdef:32; 1726a7187a2fSDavid Daney uint64_t xscol:32; 1727c5aa59e8SDavid Daney #else 1728c5aa59e8SDavid Daney uint64_t xscol:32; 1729c5aa59e8SDavid Daney uint64_t xsdef:32; 1730c5aa59e8SDavid Daney #endif 1731a7187a2fSDavid Daney } s; 1732a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn52xx; 1733a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn52xxp1; 1734a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn56xx; 1735a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn56xxp1; 1736c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn61xx; 1737aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn63xx; 1738aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn63xxp1; 1739c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn66xx; 1740c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn68xx; 1741c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn68xxp1; 1742a7187a2fSDavid Daney }; 1743a7187a2fSDavid Daney 1744a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat1 { 1745a7187a2fSDavid Daney uint64_t u64; 1746a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s { 1747c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1748a7187a2fSDavid Daney uint64_t scol:32; 1749a7187a2fSDavid Daney uint64_t mcol:32; 1750c5aa59e8SDavid Daney #else 1751c5aa59e8SDavid Daney uint64_t mcol:32; 1752c5aa59e8SDavid Daney uint64_t scol:32; 1753c5aa59e8SDavid Daney #endif 1754a7187a2fSDavid Daney } s; 1755a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn52xx; 1756a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn52xxp1; 1757a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn56xx; 1758a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn56xxp1; 1759c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn61xx; 1760aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn63xx; 1761aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn63xxp1; 1762c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn66xx; 1763c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn68xx; 1764c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn68xxp1; 1765a7187a2fSDavid Daney }; 1766a7187a2fSDavid Daney 1767a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat2 { 1768a7187a2fSDavid Daney uint64_t u64; 1769a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s { 1770c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1771a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1772a7187a2fSDavid Daney uint64_t octs:48; 1773c5aa59e8SDavid Daney #else 1774c5aa59e8SDavid Daney uint64_t octs:48; 1775c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1776c5aa59e8SDavid Daney #endif 1777a7187a2fSDavid Daney } s; 1778a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn52xx; 1779a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn52xxp1; 1780a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn56xx; 1781a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn56xxp1; 1782c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn61xx; 1783aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn63xx; 1784aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn63xxp1; 1785c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn66xx; 1786c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn68xx; 1787c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn68xxp1; 1788a7187a2fSDavid Daney }; 1789a7187a2fSDavid Daney 1790a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat3 { 1791a7187a2fSDavid Daney uint64_t u64; 1792a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s { 1793c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1794a7187a2fSDavid Daney uint64_t reserved_32_63:32; 1795a7187a2fSDavid Daney uint64_t pkts:32; 1796c5aa59e8SDavid Daney #else 1797c5aa59e8SDavid Daney uint64_t pkts:32; 1798c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1799c5aa59e8SDavid Daney #endif 1800a7187a2fSDavid Daney } s; 1801a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn52xx; 1802a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn52xxp1; 1803a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn56xx; 1804a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn56xxp1; 1805c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn61xx; 1806aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn63xx; 1807aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn63xxp1; 1808c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn66xx; 1809c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn68xx; 1810c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn68xxp1; 1811a7187a2fSDavid Daney }; 1812a7187a2fSDavid Daney 1813a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat4 { 1814a7187a2fSDavid Daney uint64_t u64; 1815a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s { 1816c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1817a7187a2fSDavid Daney uint64_t hist1:32; 1818a7187a2fSDavid Daney uint64_t hist0:32; 1819c5aa59e8SDavid Daney #else 1820c5aa59e8SDavid Daney uint64_t hist0:32; 1821c5aa59e8SDavid Daney uint64_t hist1:32; 1822c5aa59e8SDavid Daney #endif 1823a7187a2fSDavid Daney } s; 1824a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn52xx; 1825a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn52xxp1; 1826a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn56xx; 1827a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn56xxp1; 1828c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn61xx; 1829aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn63xx; 1830aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn63xxp1; 1831c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn66xx; 1832c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn68xx; 1833c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn68xxp1; 1834a7187a2fSDavid Daney }; 1835a7187a2fSDavid Daney 1836a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat5 { 1837a7187a2fSDavid Daney uint64_t u64; 1838a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s { 1839c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1840a7187a2fSDavid Daney uint64_t hist3:32; 1841a7187a2fSDavid Daney uint64_t hist2:32; 1842c5aa59e8SDavid Daney #else 1843c5aa59e8SDavid Daney uint64_t hist2:32; 1844c5aa59e8SDavid Daney uint64_t hist3:32; 1845c5aa59e8SDavid Daney #endif 1846a7187a2fSDavid Daney } s; 1847a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn52xx; 1848a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn52xxp1; 1849a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn56xx; 1850a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn56xxp1; 1851c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn61xx; 1852aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn63xx; 1853aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn63xxp1; 1854c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn66xx; 1855c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn68xx; 1856c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn68xxp1; 1857a7187a2fSDavid Daney }; 1858a7187a2fSDavid Daney 1859a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat6 { 1860a7187a2fSDavid Daney uint64_t u64; 1861a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s { 1862c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1863a7187a2fSDavid Daney uint64_t hist5:32; 1864a7187a2fSDavid Daney uint64_t hist4:32; 1865c5aa59e8SDavid Daney #else 1866c5aa59e8SDavid Daney uint64_t hist4:32; 1867c5aa59e8SDavid Daney uint64_t hist5:32; 1868c5aa59e8SDavid Daney #endif 1869a7187a2fSDavid Daney } s; 1870a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn52xx; 1871a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn52xxp1; 1872a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn56xx; 1873a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn56xxp1; 1874c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn61xx; 1875aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn63xx; 1876aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn63xxp1; 1877c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn66xx; 1878c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn68xx; 1879c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn68xxp1; 1880a7187a2fSDavid Daney }; 1881a7187a2fSDavid Daney 1882a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat7 { 1883a7187a2fSDavid Daney uint64_t u64; 1884a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s { 1885c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1886a7187a2fSDavid Daney uint64_t hist7:32; 1887a7187a2fSDavid Daney uint64_t hist6:32; 1888c5aa59e8SDavid Daney #else 1889c5aa59e8SDavid Daney uint64_t hist6:32; 1890c5aa59e8SDavid Daney uint64_t hist7:32; 1891c5aa59e8SDavid Daney #endif 1892a7187a2fSDavid Daney } s; 1893a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn52xx; 1894a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn52xxp1; 1895a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn56xx; 1896a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn56xxp1; 1897c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn61xx; 1898aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn63xx; 1899aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn63xxp1; 1900c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn66xx; 1901c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn68xx; 1902c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn68xxp1; 1903a7187a2fSDavid Daney }; 1904a7187a2fSDavid Daney 1905a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat8 { 1906a7187a2fSDavid Daney uint64_t u64; 1907a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s { 1908c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1909a7187a2fSDavid Daney uint64_t mcst:32; 1910a7187a2fSDavid Daney uint64_t bcst:32; 1911c5aa59e8SDavid Daney #else 1912c5aa59e8SDavid Daney uint64_t bcst:32; 1913c5aa59e8SDavid Daney uint64_t mcst:32; 1914c5aa59e8SDavid Daney #endif 1915a7187a2fSDavid Daney } s; 1916a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn52xx; 1917a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn52xxp1; 1918a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn56xx; 1919a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn56xxp1; 1920c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn61xx; 1921aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn63xx; 1922aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn63xxp1; 1923c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn66xx; 1924c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn68xx; 1925c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn68xxp1; 1926a7187a2fSDavid Daney }; 1927a7187a2fSDavid Daney 1928a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat9 { 1929a7187a2fSDavid Daney uint64_t u64; 1930a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s { 1931c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1932a7187a2fSDavid Daney uint64_t undflw:32; 1933a7187a2fSDavid Daney uint64_t ctl:32; 1934c5aa59e8SDavid Daney #else 1935c5aa59e8SDavid Daney uint64_t ctl:32; 1936c5aa59e8SDavid Daney uint64_t undflw:32; 1937c5aa59e8SDavid Daney #endif 1938a7187a2fSDavid Daney } s; 1939a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn52xx; 1940a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn52xxp1; 1941a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn56xx; 1942a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn56xxp1; 1943c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn61xx; 1944aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn63xx; 1945aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn63xxp1; 1946c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn66xx; 1947c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn68xx; 1948c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn68xxp1; 1949a7187a2fSDavid Daney }; 1950a7187a2fSDavid Daney 1951a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stats_ctl { 1952a7187a2fSDavid Daney uint64_t u64; 1953a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s { 1954c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1955a7187a2fSDavid Daney uint64_t reserved_1_63:63; 1956a7187a2fSDavid Daney uint64_t rd_clr:1; 1957c5aa59e8SDavid Daney #else 1958c5aa59e8SDavid Daney uint64_t rd_clr:1; 1959c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 1960c5aa59e8SDavid Daney #endif 1961a7187a2fSDavid Daney } s; 1962a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx; 1963a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1; 1964a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx; 1965a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1; 1966c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn61xx; 1967aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx; 1968aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1; 1969c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn66xx; 1970c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn68xx; 1971c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn68xxp1; 1972a7187a2fSDavid Daney }; 1973a7187a2fSDavid Daney 1974a7187a2fSDavid Daney union cvmx_agl_gmx_txx_thresh { 1975a7187a2fSDavid Daney uint64_t u64; 1976a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s { 1977c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1978a7187a2fSDavid Daney uint64_t reserved_6_63:58; 1979a7187a2fSDavid Daney uint64_t cnt:6; 1980c5aa59e8SDavid Daney #else 1981c5aa59e8SDavid Daney uint64_t cnt:6; 1982c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 1983c5aa59e8SDavid Daney #endif 1984a7187a2fSDavid Daney } s; 1985a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn52xx; 1986a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn52xxp1; 1987a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn56xx; 1988a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn56xxp1; 1989c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn61xx; 1990aa32a955SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn63xx; 1991aa32a955SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn63xxp1; 1992c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn66xx; 1993c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn68xx; 1994c5aa59e8SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn68xxp1; 1995a7187a2fSDavid Daney }; 1996a7187a2fSDavid Daney 1997a7187a2fSDavid Daney union cvmx_agl_gmx_tx_bp { 1998a7187a2fSDavid Daney uint64_t u64; 1999a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_s { 2000c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2001a7187a2fSDavid Daney uint64_t reserved_2_63:62; 2002a7187a2fSDavid Daney uint64_t bp:2; 2003c5aa59e8SDavid Daney #else 2004c5aa59e8SDavid Daney uint64_t bp:2; 2005c5aa59e8SDavid Daney uint64_t reserved_2_63:62; 2006c5aa59e8SDavid Daney #endif 2007a7187a2fSDavid Daney } s; 2008a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_s cn52xx; 2009a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_s cn52xxp1; 2010a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_cn56xx { 2011c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2012a7187a2fSDavid Daney uint64_t reserved_1_63:63; 2013a7187a2fSDavid Daney uint64_t bp:1; 2014c5aa59e8SDavid Daney #else 2015c5aa59e8SDavid Daney uint64_t bp:1; 2016c5aa59e8SDavid Daney uint64_t reserved_1_63:63; 2017c5aa59e8SDavid Daney #endif 2018a7187a2fSDavid Daney } cn56xx; 2019a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1; 2020c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn61xx; 2021aa32a955SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn63xx; 2022aa32a955SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn63xxp1; 2023c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn66xx; 2024c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn68xx; 2025c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn68xxp1; 2026a7187a2fSDavid Daney }; 2027a7187a2fSDavid Daney 2028a7187a2fSDavid Daney union cvmx_agl_gmx_tx_col_attempt { 2029a7187a2fSDavid Daney uint64_t u64; 2030a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s { 2031c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2032a7187a2fSDavid Daney uint64_t reserved_5_63:59; 2033a7187a2fSDavid Daney uint64_t limit:5; 2034c5aa59e8SDavid Daney #else 2035c5aa59e8SDavid Daney uint64_t limit:5; 2036c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 2037c5aa59e8SDavid Daney #endif 2038a7187a2fSDavid Daney } s; 2039a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn52xx; 2040a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1; 2041a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn56xx; 2042a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1; 2043c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn61xx; 2044aa32a955SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn63xx; 2045aa32a955SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1; 2046c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn66xx; 2047c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn68xx; 2048c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn68xxp1; 2049a7187a2fSDavid Daney }; 2050a7187a2fSDavid Daney 2051a7187a2fSDavid Daney union cvmx_agl_gmx_tx_ifg { 2052a7187a2fSDavid Daney uint64_t u64; 2053a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s { 2054c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2055a7187a2fSDavid Daney uint64_t reserved_8_63:56; 2056a7187a2fSDavid Daney uint64_t ifg2:4; 2057a7187a2fSDavid Daney uint64_t ifg1:4; 2058c5aa59e8SDavid Daney #else 2059c5aa59e8SDavid Daney uint64_t ifg1:4; 2060c5aa59e8SDavid Daney uint64_t ifg2:4; 2061c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 2062c5aa59e8SDavid Daney #endif 2063a7187a2fSDavid Daney } s; 2064a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn52xx; 2065a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn52xxp1; 2066a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn56xx; 2067a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn56xxp1; 2068c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn61xx; 2069aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn63xx; 2070aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn63xxp1; 2071c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn66xx; 2072c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn68xx; 2073c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn68xxp1; 2074a7187a2fSDavid Daney }; 2075a7187a2fSDavid Daney 2076a7187a2fSDavid Daney union cvmx_agl_gmx_tx_int_en { 2077a7187a2fSDavid Daney uint64_t u64; 2078a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_en_s { 2079c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2080aa32a955SDavid Daney uint64_t reserved_22_63:42; 2081aa32a955SDavid Daney uint64_t ptp_lost:2; 2082aa32a955SDavid Daney uint64_t reserved_18_19:2; 2083a7187a2fSDavid Daney uint64_t late_col:2; 2084a7187a2fSDavid Daney uint64_t reserved_14_15:2; 2085a7187a2fSDavid Daney uint64_t xsdef:2; 2086a7187a2fSDavid Daney uint64_t reserved_10_11:2; 2087a7187a2fSDavid Daney uint64_t xscol:2; 2088a7187a2fSDavid Daney uint64_t reserved_4_7:4; 2089a7187a2fSDavid Daney uint64_t undflw:2; 2090a7187a2fSDavid Daney uint64_t reserved_1_1:1; 2091a7187a2fSDavid Daney uint64_t pko_nxa:1; 2092c5aa59e8SDavid Daney #else 2093c5aa59e8SDavid Daney uint64_t pko_nxa:1; 2094c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 2095c5aa59e8SDavid Daney uint64_t undflw:2; 2096c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 2097c5aa59e8SDavid Daney uint64_t xscol:2; 2098c5aa59e8SDavid Daney uint64_t reserved_10_11:2; 2099c5aa59e8SDavid Daney uint64_t xsdef:2; 2100c5aa59e8SDavid Daney uint64_t reserved_14_15:2; 2101c5aa59e8SDavid Daney uint64_t late_col:2; 2102c5aa59e8SDavid Daney uint64_t reserved_18_19:2; 2103c5aa59e8SDavid Daney uint64_t ptp_lost:2; 2104c5aa59e8SDavid Daney uint64_t reserved_22_63:42; 2105c5aa59e8SDavid Daney #endif 2106a7187a2fSDavid Daney } s; 2107aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_cn52xx { 2108c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2109aa32a955SDavid Daney uint64_t reserved_18_63:46; 2110aa32a955SDavid Daney uint64_t late_col:2; 2111aa32a955SDavid Daney uint64_t reserved_14_15:2; 2112aa32a955SDavid Daney uint64_t xsdef:2; 2113aa32a955SDavid Daney uint64_t reserved_10_11:2; 2114aa32a955SDavid Daney uint64_t xscol:2; 2115aa32a955SDavid Daney uint64_t reserved_4_7:4; 2116aa32a955SDavid Daney uint64_t undflw:2; 2117aa32a955SDavid Daney uint64_t reserved_1_1:1; 2118aa32a955SDavid Daney uint64_t pko_nxa:1; 2119c5aa59e8SDavid Daney #else 2120c5aa59e8SDavid Daney uint64_t pko_nxa:1; 2121c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 2122c5aa59e8SDavid Daney uint64_t undflw:2; 2123c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 2124c5aa59e8SDavid Daney uint64_t xscol:2; 2125c5aa59e8SDavid Daney uint64_t reserved_10_11:2; 2126c5aa59e8SDavid Daney uint64_t xsdef:2; 2127c5aa59e8SDavid Daney uint64_t reserved_14_15:2; 2128c5aa59e8SDavid Daney uint64_t late_col:2; 2129c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 2130c5aa59e8SDavid Daney #endif 2131aa32a955SDavid Daney } cn52xx; 2132aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1; 2133a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_en_cn56xx { 2134c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2135a7187a2fSDavid Daney uint64_t reserved_17_63:47; 2136a7187a2fSDavid Daney uint64_t late_col:1; 2137a7187a2fSDavid Daney uint64_t reserved_13_15:3; 2138a7187a2fSDavid Daney uint64_t xsdef:1; 2139a7187a2fSDavid Daney uint64_t reserved_9_11:3; 2140a7187a2fSDavid Daney uint64_t xscol:1; 2141a7187a2fSDavid Daney uint64_t reserved_3_7:5; 2142a7187a2fSDavid Daney uint64_t undflw:1; 2143a7187a2fSDavid Daney uint64_t reserved_1_1:1; 2144a7187a2fSDavid Daney uint64_t pko_nxa:1; 2145c5aa59e8SDavid Daney #else 2146c5aa59e8SDavid Daney uint64_t pko_nxa:1; 2147c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 2148c5aa59e8SDavid Daney uint64_t undflw:1; 2149c5aa59e8SDavid Daney uint64_t reserved_3_7:5; 2150c5aa59e8SDavid Daney uint64_t xscol:1; 2151c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 2152c5aa59e8SDavid Daney uint64_t xsdef:1; 2153c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 2154c5aa59e8SDavid Daney uint64_t late_col:1; 2155c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 2156c5aa59e8SDavid Daney #endif 2157a7187a2fSDavid Daney } cn56xx; 2158a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1; 2159c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn61xx; 2160aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn63xx; 2161aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn63xxp1; 2162c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn66xx; 2163c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn68xx; 2164c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn68xxp1; 2165a7187a2fSDavid Daney }; 2166a7187a2fSDavid Daney 2167a7187a2fSDavid Daney union cvmx_agl_gmx_tx_int_reg { 2168a7187a2fSDavid Daney uint64_t u64; 2169a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_reg_s { 2170c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2171aa32a955SDavid Daney uint64_t reserved_22_63:42; 2172aa32a955SDavid Daney uint64_t ptp_lost:2; 2173aa32a955SDavid Daney uint64_t reserved_18_19:2; 2174a7187a2fSDavid Daney uint64_t late_col:2; 2175a7187a2fSDavid Daney uint64_t reserved_14_15:2; 2176a7187a2fSDavid Daney uint64_t xsdef:2; 2177a7187a2fSDavid Daney uint64_t reserved_10_11:2; 2178a7187a2fSDavid Daney uint64_t xscol:2; 2179a7187a2fSDavid Daney uint64_t reserved_4_7:4; 2180a7187a2fSDavid Daney uint64_t undflw:2; 2181a7187a2fSDavid Daney uint64_t reserved_1_1:1; 2182a7187a2fSDavid Daney uint64_t pko_nxa:1; 2183c5aa59e8SDavid Daney #else 2184c5aa59e8SDavid Daney uint64_t pko_nxa:1; 2185c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 2186c5aa59e8SDavid Daney uint64_t undflw:2; 2187c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 2188c5aa59e8SDavid Daney uint64_t xscol:2; 2189c5aa59e8SDavid Daney uint64_t reserved_10_11:2; 2190c5aa59e8SDavid Daney uint64_t xsdef:2; 2191c5aa59e8SDavid Daney uint64_t reserved_14_15:2; 2192c5aa59e8SDavid Daney uint64_t late_col:2; 2193c5aa59e8SDavid Daney uint64_t reserved_18_19:2; 2194c5aa59e8SDavid Daney uint64_t ptp_lost:2; 2195c5aa59e8SDavid Daney uint64_t reserved_22_63:42; 2196c5aa59e8SDavid Daney #endif 2197a7187a2fSDavid Daney } s; 2198aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn52xx { 2199c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2200aa32a955SDavid Daney uint64_t reserved_18_63:46; 2201aa32a955SDavid Daney uint64_t late_col:2; 2202aa32a955SDavid Daney uint64_t reserved_14_15:2; 2203aa32a955SDavid Daney uint64_t xsdef:2; 2204aa32a955SDavid Daney uint64_t reserved_10_11:2; 2205aa32a955SDavid Daney uint64_t xscol:2; 2206aa32a955SDavid Daney uint64_t reserved_4_7:4; 2207aa32a955SDavid Daney uint64_t undflw:2; 2208aa32a955SDavid Daney uint64_t reserved_1_1:1; 2209aa32a955SDavid Daney uint64_t pko_nxa:1; 2210c5aa59e8SDavid Daney #else 2211c5aa59e8SDavid Daney uint64_t pko_nxa:1; 2212c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 2213c5aa59e8SDavid Daney uint64_t undflw:2; 2214c5aa59e8SDavid Daney uint64_t reserved_4_7:4; 2215c5aa59e8SDavid Daney uint64_t xscol:2; 2216c5aa59e8SDavid Daney uint64_t reserved_10_11:2; 2217c5aa59e8SDavid Daney uint64_t xsdef:2; 2218c5aa59e8SDavid Daney uint64_t reserved_14_15:2; 2219c5aa59e8SDavid Daney uint64_t late_col:2; 2220c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 2221c5aa59e8SDavid Daney #endif 2222aa32a955SDavid Daney } cn52xx; 2223aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1; 2224a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn56xx { 2225c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2226a7187a2fSDavid Daney uint64_t reserved_17_63:47; 2227a7187a2fSDavid Daney uint64_t late_col:1; 2228a7187a2fSDavid Daney uint64_t reserved_13_15:3; 2229a7187a2fSDavid Daney uint64_t xsdef:1; 2230a7187a2fSDavid Daney uint64_t reserved_9_11:3; 2231a7187a2fSDavid Daney uint64_t xscol:1; 2232a7187a2fSDavid Daney uint64_t reserved_3_7:5; 2233a7187a2fSDavid Daney uint64_t undflw:1; 2234a7187a2fSDavid Daney uint64_t reserved_1_1:1; 2235a7187a2fSDavid Daney uint64_t pko_nxa:1; 2236c5aa59e8SDavid Daney #else 2237c5aa59e8SDavid Daney uint64_t pko_nxa:1; 2238c5aa59e8SDavid Daney uint64_t reserved_1_1:1; 2239c5aa59e8SDavid Daney uint64_t undflw:1; 2240c5aa59e8SDavid Daney uint64_t reserved_3_7:5; 2241c5aa59e8SDavid Daney uint64_t xscol:1; 2242c5aa59e8SDavid Daney uint64_t reserved_9_11:3; 2243c5aa59e8SDavid Daney uint64_t xsdef:1; 2244c5aa59e8SDavid Daney uint64_t reserved_13_15:3; 2245c5aa59e8SDavid Daney uint64_t late_col:1; 2246c5aa59e8SDavid Daney uint64_t reserved_17_63:47; 2247c5aa59e8SDavid Daney #endif 2248a7187a2fSDavid Daney } cn56xx; 2249a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1; 2250c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn61xx; 2251aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn63xx; 2252aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1; 2253c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn66xx; 2254c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn68xx; 2255c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn68xxp1; 2256a7187a2fSDavid Daney }; 2257a7187a2fSDavid Daney 2258a7187a2fSDavid Daney union cvmx_agl_gmx_tx_jam { 2259a7187a2fSDavid Daney uint64_t u64; 2260a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s { 2261c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2262a7187a2fSDavid Daney uint64_t reserved_8_63:56; 2263a7187a2fSDavid Daney uint64_t jam:8; 2264c5aa59e8SDavid Daney #else 2265c5aa59e8SDavid Daney uint64_t jam:8; 2266c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 2267c5aa59e8SDavid Daney #endif 2268a7187a2fSDavid Daney } s; 2269a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn52xx; 2270a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn52xxp1; 2271a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn56xx; 2272a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn56xxp1; 2273c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn61xx; 2274aa32a955SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn63xx; 2275aa32a955SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn63xxp1; 2276c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn66xx; 2277c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn68xx; 2278c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn68xxp1; 2279a7187a2fSDavid Daney }; 2280a7187a2fSDavid Daney 2281a7187a2fSDavid Daney union cvmx_agl_gmx_tx_lfsr { 2282a7187a2fSDavid Daney uint64_t u64; 2283a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s { 2284c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2285a7187a2fSDavid Daney uint64_t reserved_16_63:48; 2286a7187a2fSDavid Daney uint64_t lfsr:16; 2287c5aa59e8SDavid Daney #else 2288c5aa59e8SDavid Daney uint64_t lfsr:16; 2289c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 2290c5aa59e8SDavid Daney #endif 2291a7187a2fSDavid Daney } s; 2292a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn52xx; 2293a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1; 2294a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn56xx; 2295a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1; 2296c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn61xx; 2297aa32a955SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn63xx; 2298aa32a955SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1; 2299c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn66xx; 2300c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn68xx; 2301c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn68xxp1; 2302a7187a2fSDavid Daney }; 2303a7187a2fSDavid Daney 2304a7187a2fSDavid Daney union cvmx_agl_gmx_tx_ovr_bp { 2305a7187a2fSDavid Daney uint64_t u64; 2306a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s { 2307c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2308a7187a2fSDavid Daney uint64_t reserved_10_63:54; 2309a7187a2fSDavid Daney uint64_t en:2; 2310a7187a2fSDavid Daney uint64_t reserved_6_7:2; 2311a7187a2fSDavid Daney uint64_t bp:2; 2312a7187a2fSDavid Daney uint64_t reserved_2_3:2; 2313a7187a2fSDavid Daney uint64_t ign_full:2; 2314c5aa59e8SDavid Daney #else 2315c5aa59e8SDavid Daney uint64_t ign_full:2; 2316c5aa59e8SDavid Daney uint64_t reserved_2_3:2; 2317c5aa59e8SDavid Daney uint64_t bp:2; 2318c5aa59e8SDavid Daney uint64_t reserved_6_7:2; 2319c5aa59e8SDavid Daney uint64_t en:2; 2320c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 2321c5aa59e8SDavid Daney #endif 2322a7187a2fSDavid Daney } s; 2323a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx; 2324a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1; 2325a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_cn56xx { 2326c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2327a7187a2fSDavid Daney uint64_t reserved_9_63:55; 2328a7187a2fSDavid Daney uint64_t en:1; 2329a7187a2fSDavid Daney uint64_t reserved_5_7:3; 2330a7187a2fSDavid Daney uint64_t bp:1; 2331a7187a2fSDavid Daney uint64_t reserved_1_3:3; 2332a7187a2fSDavid Daney uint64_t ign_full:1; 2333c5aa59e8SDavid Daney #else 2334c5aa59e8SDavid Daney uint64_t ign_full:1; 2335c5aa59e8SDavid Daney uint64_t reserved_1_3:3; 2336c5aa59e8SDavid Daney uint64_t bp:1; 2337c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 2338c5aa59e8SDavid Daney uint64_t en:1; 2339c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 2340c5aa59e8SDavid Daney #endif 2341a7187a2fSDavid Daney } cn56xx; 2342a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1; 2343c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn61xx; 2344aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx; 2345aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1; 2346c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn66xx; 2347c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn68xx; 2348c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn68xxp1; 2349a7187a2fSDavid Daney }; 2350a7187a2fSDavid Daney 2351a7187a2fSDavid Daney union cvmx_agl_gmx_tx_pause_pkt_dmac { 2352a7187a2fSDavid Daney uint64_t u64; 2353a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s { 2354c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2355a7187a2fSDavid Daney uint64_t reserved_48_63:16; 2356a7187a2fSDavid Daney uint64_t dmac:48; 2357c5aa59e8SDavid Daney #else 2358c5aa59e8SDavid Daney uint64_t dmac:48; 2359c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 2360c5aa59e8SDavid Daney #endif 2361a7187a2fSDavid Daney } s; 2362a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx; 2363a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1; 2364a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx; 2365a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1; 2366c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn61xx; 2367aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx; 2368aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1; 2369c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn66xx; 2370c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn68xx; 2371c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn68xxp1; 2372a7187a2fSDavid Daney }; 2373a7187a2fSDavid Daney 2374a7187a2fSDavid Daney union cvmx_agl_gmx_tx_pause_pkt_type { 2375a7187a2fSDavid Daney uint64_t u64; 2376a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s { 2377c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2378a7187a2fSDavid Daney uint64_t reserved_16_63:48; 2379a7187a2fSDavid Daney uint64_t type:16; 2380c5aa59e8SDavid Daney #else 2381c5aa59e8SDavid Daney uint64_t type:16; 2382c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 2383c5aa59e8SDavid Daney #endif 2384a7187a2fSDavid Daney } s; 2385a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx; 2386a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1; 2387a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx; 2388a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1; 2389c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn61xx; 2390aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx; 2391aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1; 2392c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn66xx; 2393c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn68xx; 2394c5aa59e8SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn68xxp1; 2395aa32a955SDavid Daney }; 2396aa32a955SDavid Daney 2397aa32a955SDavid Daney union cvmx_agl_prtx_ctl { 2398aa32a955SDavid Daney uint64_t u64; 2399aa32a955SDavid Daney struct cvmx_agl_prtx_ctl_s { 2400c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 2401aa32a955SDavid Daney uint64_t drv_byp:1; 2402aa32a955SDavid Daney uint64_t reserved_62_62:1; 2403aa32a955SDavid Daney uint64_t cmp_pctl:6; 2404aa32a955SDavid Daney uint64_t reserved_54_55:2; 2405aa32a955SDavid Daney uint64_t cmp_nctl:6; 2406aa32a955SDavid Daney uint64_t reserved_46_47:2; 2407aa32a955SDavid Daney uint64_t drv_pctl:6; 2408aa32a955SDavid Daney uint64_t reserved_38_39:2; 2409aa32a955SDavid Daney uint64_t drv_nctl:6; 2410aa32a955SDavid Daney uint64_t reserved_29_31:3; 2411aa32a955SDavid Daney uint64_t clk_set:5; 2412aa32a955SDavid Daney uint64_t clkrx_byp:1; 2413aa32a955SDavid Daney uint64_t reserved_21_22:2; 2414aa32a955SDavid Daney uint64_t clkrx_set:5; 2415aa32a955SDavid Daney uint64_t clktx_byp:1; 2416aa32a955SDavid Daney uint64_t reserved_13_14:2; 2417aa32a955SDavid Daney uint64_t clktx_set:5; 2418aa32a955SDavid Daney uint64_t reserved_5_7:3; 2419aa32a955SDavid Daney uint64_t dllrst:1; 2420aa32a955SDavid Daney uint64_t comp:1; 2421aa32a955SDavid Daney uint64_t enable:1; 2422aa32a955SDavid Daney uint64_t clkrst:1; 2423aa32a955SDavid Daney uint64_t mode:1; 2424c5aa59e8SDavid Daney #else 2425c5aa59e8SDavid Daney uint64_t mode:1; 2426c5aa59e8SDavid Daney uint64_t clkrst:1; 2427c5aa59e8SDavid Daney uint64_t enable:1; 2428c5aa59e8SDavid Daney uint64_t comp:1; 2429c5aa59e8SDavid Daney uint64_t dllrst:1; 2430c5aa59e8SDavid Daney uint64_t reserved_5_7:3; 2431c5aa59e8SDavid Daney uint64_t clktx_set:5; 2432c5aa59e8SDavid Daney uint64_t reserved_13_14:2; 2433c5aa59e8SDavid Daney uint64_t clktx_byp:1; 2434c5aa59e8SDavid Daney uint64_t clkrx_set:5; 2435c5aa59e8SDavid Daney uint64_t reserved_21_22:2; 2436c5aa59e8SDavid Daney uint64_t clkrx_byp:1; 2437c5aa59e8SDavid Daney uint64_t clk_set:5; 2438c5aa59e8SDavid Daney uint64_t reserved_29_31:3; 2439c5aa59e8SDavid Daney uint64_t drv_nctl:6; 2440c5aa59e8SDavid Daney uint64_t reserved_38_39:2; 2441c5aa59e8SDavid Daney uint64_t drv_pctl:6; 2442c5aa59e8SDavid Daney uint64_t reserved_46_47:2; 2443c5aa59e8SDavid Daney uint64_t cmp_nctl:6; 2444c5aa59e8SDavid Daney uint64_t reserved_54_55:2; 2445c5aa59e8SDavid Daney uint64_t cmp_pctl:6; 2446c5aa59e8SDavid Daney uint64_t reserved_62_62:1; 2447c5aa59e8SDavid Daney uint64_t drv_byp:1; 2448c5aa59e8SDavid Daney #endif 2449aa32a955SDavid Daney } s; 2450c5aa59e8SDavid Daney struct cvmx_agl_prtx_ctl_s cn61xx; 2451aa32a955SDavid Daney struct cvmx_agl_prtx_ctl_s cn63xx; 2452aa32a955SDavid Daney struct cvmx_agl_prtx_ctl_s cn63xxp1; 2453c5aa59e8SDavid Daney struct cvmx_agl_prtx_ctl_s cn66xx; 2454c5aa59e8SDavid Daney struct cvmx_agl_prtx_ctl_s cn68xx; 2455c5aa59e8SDavid Daney struct cvmx_agl_prtx_ctl_s cn68xxp1; 2456a7187a2fSDavid Daney }; 2457a7187a2fSDavid Daney 2458a7187a2fSDavid Daney #endif 2459