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 * 7aa32a955SDavid Daney * Copyright (c) 2003-2010 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 { 109a7187a2fSDavid Daney uint64_t reserved_38_63:26; 110a7187a2fSDavid Daney uint64_t txpsh1:1; 111a7187a2fSDavid Daney uint64_t txpop1:1; 112a7187a2fSDavid Daney uint64_t ovrflw1:1; 113a7187a2fSDavid Daney uint64_t txpsh:1; 114a7187a2fSDavid Daney uint64_t txpop:1; 115a7187a2fSDavid Daney uint64_t ovrflw:1; 116a7187a2fSDavid Daney uint64_t reserved_27_31:5; 117a7187a2fSDavid Daney uint64_t statovr:1; 118aa32a955SDavid Daney uint64_t reserved_24_25:2; 119aa32a955SDavid Daney uint64_t loststat:2; 120aa32a955SDavid Daney uint64_t reserved_4_21:18; 121aa32a955SDavid Daney uint64_t out_ovr:2; 122aa32a955SDavid Daney uint64_t reserved_0_1:2; 123aa32a955SDavid Daney } s; 124aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_cn52xx { 125aa32a955SDavid Daney uint64_t reserved_38_63:26; 126aa32a955SDavid Daney uint64_t txpsh1:1; 127aa32a955SDavid Daney uint64_t txpop1:1; 128aa32a955SDavid Daney uint64_t ovrflw1:1; 129aa32a955SDavid Daney uint64_t txpsh:1; 130aa32a955SDavid Daney uint64_t txpop:1; 131aa32a955SDavid Daney uint64_t ovrflw:1; 132aa32a955SDavid Daney uint64_t reserved_27_31:5; 133aa32a955SDavid Daney uint64_t statovr:1; 134a7187a2fSDavid Daney uint64_t reserved_23_25:3; 135a7187a2fSDavid Daney uint64_t loststat:1; 136a7187a2fSDavid Daney uint64_t reserved_4_21:18; 137a7187a2fSDavid Daney uint64_t out_ovr:2; 138a7187a2fSDavid Daney uint64_t reserved_0_1:2; 139aa32a955SDavid Daney } cn52xx; 140aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_cn52xx cn52xxp1; 141a7187a2fSDavid Daney struct cvmx_agl_gmx_bad_reg_cn56xx { 142a7187a2fSDavid Daney uint64_t reserved_35_63:29; 143a7187a2fSDavid Daney uint64_t txpsh:1; 144a7187a2fSDavid Daney uint64_t txpop:1; 145a7187a2fSDavid Daney uint64_t ovrflw:1; 146a7187a2fSDavid Daney uint64_t reserved_27_31:5; 147a7187a2fSDavid Daney uint64_t statovr:1; 148a7187a2fSDavid Daney uint64_t reserved_23_25:3; 149a7187a2fSDavid Daney uint64_t loststat:1; 150a7187a2fSDavid Daney uint64_t reserved_3_21:19; 151a7187a2fSDavid Daney uint64_t out_ovr:1; 152a7187a2fSDavid Daney uint64_t reserved_0_1:2; 153a7187a2fSDavid Daney } cn56xx; 154a7187a2fSDavid Daney struct cvmx_agl_gmx_bad_reg_cn56xx cn56xxp1; 155aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn63xx; 156aa32a955SDavid Daney struct cvmx_agl_gmx_bad_reg_s cn63xxp1; 157a7187a2fSDavid Daney }; 158a7187a2fSDavid Daney 159a7187a2fSDavid Daney union cvmx_agl_gmx_bist { 160a7187a2fSDavid Daney uint64_t u64; 161a7187a2fSDavid Daney struct cvmx_agl_gmx_bist_s { 162aa32a955SDavid Daney uint64_t reserved_25_63:39; 163aa32a955SDavid Daney uint64_t status:25; 164aa32a955SDavid Daney } s; 165aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx { 166a7187a2fSDavid Daney uint64_t reserved_10_63:54; 167a7187a2fSDavid Daney uint64_t status:10; 168aa32a955SDavid Daney } cn52xx; 169aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx cn52xxp1; 170aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx cn56xx; 171aa32a955SDavid Daney struct cvmx_agl_gmx_bist_cn52xx cn56xxp1; 172aa32a955SDavid Daney struct cvmx_agl_gmx_bist_s cn63xx; 173aa32a955SDavid Daney struct cvmx_agl_gmx_bist_s cn63xxp1; 174a7187a2fSDavid Daney }; 175a7187a2fSDavid Daney 176a7187a2fSDavid Daney union cvmx_agl_gmx_drv_ctl { 177a7187a2fSDavid Daney uint64_t u64; 178a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_s { 179a7187a2fSDavid Daney uint64_t reserved_49_63:15; 180a7187a2fSDavid Daney uint64_t byp_en1:1; 181a7187a2fSDavid Daney uint64_t reserved_45_47:3; 182a7187a2fSDavid Daney uint64_t pctl1:5; 183a7187a2fSDavid Daney uint64_t reserved_37_39:3; 184a7187a2fSDavid Daney uint64_t nctl1:5; 185a7187a2fSDavid Daney uint64_t reserved_17_31:15; 186a7187a2fSDavid Daney uint64_t byp_en:1; 187a7187a2fSDavid Daney uint64_t reserved_13_15:3; 188a7187a2fSDavid Daney uint64_t pctl:5; 189a7187a2fSDavid Daney uint64_t reserved_5_7:3; 190a7187a2fSDavid Daney uint64_t nctl:5; 191a7187a2fSDavid Daney } s; 192a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_s cn52xx; 193a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_s cn52xxp1; 194a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_cn56xx { 195a7187a2fSDavid Daney uint64_t reserved_17_63:47; 196a7187a2fSDavid Daney uint64_t byp_en:1; 197a7187a2fSDavid Daney uint64_t reserved_13_15:3; 198a7187a2fSDavid Daney uint64_t pctl:5; 199a7187a2fSDavid Daney uint64_t reserved_5_7:3; 200a7187a2fSDavid Daney uint64_t nctl:5; 201a7187a2fSDavid Daney } cn56xx; 202a7187a2fSDavid Daney struct cvmx_agl_gmx_drv_ctl_cn56xx cn56xxp1; 203a7187a2fSDavid Daney }; 204a7187a2fSDavid Daney 205a7187a2fSDavid Daney union cvmx_agl_gmx_inf_mode { 206a7187a2fSDavid Daney uint64_t u64; 207a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s { 208a7187a2fSDavid Daney uint64_t reserved_2_63:62; 209a7187a2fSDavid Daney uint64_t en:1; 210a7187a2fSDavid Daney uint64_t reserved_0_0:1; 211a7187a2fSDavid Daney } s; 212a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn52xx; 213a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn52xxp1; 214a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn56xx; 215a7187a2fSDavid Daney struct cvmx_agl_gmx_inf_mode_s cn56xxp1; 216a7187a2fSDavid Daney }; 217a7187a2fSDavid Daney 218a7187a2fSDavid Daney union cvmx_agl_gmx_prtx_cfg { 219a7187a2fSDavid Daney uint64_t u64; 220a7187a2fSDavid Daney struct cvmx_agl_gmx_prtx_cfg_s { 221aa32a955SDavid Daney uint64_t reserved_14_63:50; 222aa32a955SDavid Daney uint64_t tx_idle:1; 223aa32a955SDavid Daney uint64_t rx_idle:1; 224aa32a955SDavid Daney uint64_t reserved_9_11:3; 225aa32a955SDavid Daney uint64_t speed_msb:1; 226aa32a955SDavid Daney uint64_t reserved_7_7:1; 227aa32a955SDavid Daney uint64_t burst:1; 228a7187a2fSDavid Daney uint64_t tx_en:1; 229a7187a2fSDavid Daney uint64_t rx_en:1; 230a7187a2fSDavid Daney uint64_t slottime:1; 231a7187a2fSDavid Daney uint64_t duplex:1; 232a7187a2fSDavid Daney uint64_t speed:1; 233a7187a2fSDavid Daney uint64_t en:1; 234a7187a2fSDavid Daney } s; 235aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx { 236aa32a955SDavid Daney uint64_t reserved_6_63:58; 237aa32a955SDavid Daney uint64_t tx_en:1; 238aa32a955SDavid Daney uint64_t rx_en:1; 239aa32a955SDavid Daney uint64_t slottime:1; 240aa32a955SDavid Daney uint64_t duplex:1; 241aa32a955SDavid Daney uint64_t speed:1; 242aa32a955SDavid Daney uint64_t en:1; 243aa32a955SDavid Daney } cn52xx; 244aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx cn52xxp1; 245aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xx; 246aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_cn52xx cn56xxp1; 247aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn63xx; 248aa32a955SDavid Daney struct cvmx_agl_gmx_prtx_cfg_s cn63xxp1; 249a7187a2fSDavid Daney }; 250a7187a2fSDavid Daney 251a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam0 { 252a7187a2fSDavid Daney uint64_t u64; 253a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s { 254a7187a2fSDavid Daney uint64_t adr:64; 255a7187a2fSDavid Daney } s; 256a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xx; 257a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn52xxp1; 258a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xx; 259a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn56xxp1; 260aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xx; 261aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam0_s cn63xxp1; 262a7187a2fSDavid Daney }; 263a7187a2fSDavid Daney 264a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam1 { 265a7187a2fSDavid Daney uint64_t u64; 266a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s { 267a7187a2fSDavid Daney uint64_t adr:64; 268a7187a2fSDavid Daney } s; 269a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xx; 270a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn52xxp1; 271a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xx; 272a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn56xxp1; 273aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xx; 274aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam1_s cn63xxp1; 275a7187a2fSDavid Daney }; 276a7187a2fSDavid Daney 277a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam2 { 278a7187a2fSDavid Daney uint64_t u64; 279a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s { 280a7187a2fSDavid Daney uint64_t adr:64; 281a7187a2fSDavid Daney } s; 282a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xx; 283a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn52xxp1; 284a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xx; 285a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn56xxp1; 286aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xx; 287aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam2_s cn63xxp1; 288a7187a2fSDavid Daney }; 289a7187a2fSDavid Daney 290a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam3 { 291a7187a2fSDavid Daney uint64_t u64; 292a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s { 293a7187a2fSDavid Daney uint64_t adr:64; 294a7187a2fSDavid Daney } s; 295a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xx; 296a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn52xxp1; 297a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xx; 298a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn56xxp1; 299aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xx; 300aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam3_s cn63xxp1; 301a7187a2fSDavid Daney }; 302a7187a2fSDavid Daney 303a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam4 { 304a7187a2fSDavid Daney uint64_t u64; 305a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s { 306a7187a2fSDavid Daney uint64_t adr:64; 307a7187a2fSDavid Daney } s; 308a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xx; 309a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn52xxp1; 310a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xx; 311a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn56xxp1; 312aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xx; 313aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam4_s cn63xxp1; 314a7187a2fSDavid Daney }; 315a7187a2fSDavid Daney 316a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam5 { 317a7187a2fSDavid Daney uint64_t u64; 318a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s { 319a7187a2fSDavid Daney uint64_t adr:64; 320a7187a2fSDavid Daney } s; 321a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xx; 322a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn52xxp1; 323a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xx; 324a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn56xxp1; 325aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xx; 326aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam5_s cn63xxp1; 327a7187a2fSDavid Daney }; 328a7187a2fSDavid Daney 329a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_cam_en { 330a7187a2fSDavid Daney uint64_t u64; 331a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s { 332a7187a2fSDavid Daney uint64_t reserved_8_63:56; 333a7187a2fSDavid Daney uint64_t en:8; 334a7187a2fSDavid Daney } s; 335a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xx; 336a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn52xxp1; 337a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xx; 338a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn56xxp1; 339aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xx; 340aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_cam_en_s cn63xxp1; 341a7187a2fSDavid Daney }; 342a7187a2fSDavid Daney 343a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_adr_ctl { 344a7187a2fSDavid Daney uint64_t u64; 345a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s { 346a7187a2fSDavid Daney uint64_t reserved_4_63:60; 347a7187a2fSDavid Daney uint64_t cam_mode:1; 348a7187a2fSDavid Daney uint64_t mcst:2; 349a7187a2fSDavid Daney uint64_t bcst:1; 350a7187a2fSDavid Daney } s; 351a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xx; 352a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn52xxp1; 353a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xx; 354a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn56xxp1; 355aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xx; 356aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_adr_ctl_s cn63xxp1; 357a7187a2fSDavid Daney }; 358a7187a2fSDavid Daney 359a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_decision { 360a7187a2fSDavid Daney uint64_t u64; 361a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s { 362a7187a2fSDavid Daney uint64_t reserved_5_63:59; 363a7187a2fSDavid Daney uint64_t cnt:5; 364a7187a2fSDavid Daney } s; 365a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn52xx; 366a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn52xxp1; 367a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn56xx; 368a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn56xxp1; 369aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn63xx; 370aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_decision_s cn63xxp1; 371a7187a2fSDavid Daney }; 372a7187a2fSDavid Daney 373a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_chk { 374a7187a2fSDavid Daney uint64_t u64; 375a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s { 376aa32a955SDavid Daney uint64_t reserved_10_63:54; 377aa32a955SDavid Daney uint64_t niberr:1; 378aa32a955SDavid Daney uint64_t skperr:1; 379aa32a955SDavid Daney uint64_t rcverr:1; 380aa32a955SDavid Daney uint64_t lenerr:1; 381aa32a955SDavid Daney uint64_t alnerr:1; 382aa32a955SDavid Daney uint64_t fcserr:1; 383aa32a955SDavid Daney uint64_t jabber:1; 384aa32a955SDavid Daney uint64_t maxerr:1; 385aa32a955SDavid Daney uint64_t carext:1; 386aa32a955SDavid Daney uint64_t minerr:1; 387aa32a955SDavid Daney } s; 388aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx { 389a7187a2fSDavid Daney uint64_t reserved_9_63:55; 390a7187a2fSDavid Daney uint64_t skperr:1; 391a7187a2fSDavid Daney uint64_t rcverr:1; 392a7187a2fSDavid Daney uint64_t lenerr:1; 393a7187a2fSDavid Daney uint64_t alnerr:1; 394a7187a2fSDavid Daney uint64_t fcserr:1; 395a7187a2fSDavid Daney uint64_t jabber:1; 396a7187a2fSDavid Daney uint64_t maxerr:1; 397a7187a2fSDavid Daney uint64_t reserved_1_1:1; 398a7187a2fSDavid Daney uint64_t minerr:1; 399aa32a955SDavid Daney } cn52xx; 400aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn52xxp1; 401aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xx; 402aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_cn52xx cn56xxp1; 403aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn63xx; 404aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_chk_s cn63xxp1; 405a7187a2fSDavid Daney }; 406a7187a2fSDavid Daney 407a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_ctl { 408a7187a2fSDavid Daney uint64_t u64; 409a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s { 410aa32a955SDavid Daney uint64_t reserved_13_63:51; 411aa32a955SDavid Daney uint64_t ptp_mode:1; 412aa32a955SDavid Daney uint64_t reserved_11_11:1; 413aa32a955SDavid Daney uint64_t null_dis:1; 414a7187a2fSDavid Daney uint64_t pre_align:1; 415a7187a2fSDavid Daney uint64_t pad_len:1; 416a7187a2fSDavid Daney uint64_t vlan_len:1; 417a7187a2fSDavid Daney uint64_t pre_free:1; 418a7187a2fSDavid Daney uint64_t ctl_smac:1; 419a7187a2fSDavid Daney uint64_t ctl_mcst:1; 420a7187a2fSDavid Daney uint64_t ctl_bck:1; 421a7187a2fSDavid Daney uint64_t ctl_drp:1; 422a7187a2fSDavid Daney uint64_t pre_strp:1; 423a7187a2fSDavid Daney uint64_t pre_chk:1; 424a7187a2fSDavid Daney } s; 425aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx { 426aa32a955SDavid Daney uint64_t reserved_10_63:54; 427aa32a955SDavid Daney uint64_t pre_align:1; 428aa32a955SDavid Daney uint64_t pad_len:1; 429aa32a955SDavid Daney uint64_t vlan_len:1; 430aa32a955SDavid Daney uint64_t pre_free:1; 431aa32a955SDavid Daney uint64_t ctl_smac:1; 432aa32a955SDavid Daney uint64_t ctl_mcst:1; 433aa32a955SDavid Daney uint64_t ctl_bck:1; 434aa32a955SDavid Daney uint64_t ctl_drp:1; 435aa32a955SDavid Daney uint64_t pre_strp:1; 436aa32a955SDavid Daney uint64_t pre_chk:1; 437aa32a955SDavid Daney } cn52xx; 438aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn52xxp1; 439aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xx; 440aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_cn52xx cn56xxp1; 441aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xx; 442aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_ctl_s cn63xxp1; 443a7187a2fSDavid Daney }; 444a7187a2fSDavid Daney 445a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_max { 446a7187a2fSDavid Daney uint64_t u64; 447a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s { 448a7187a2fSDavid Daney uint64_t reserved_16_63:48; 449a7187a2fSDavid Daney uint64_t len:16; 450a7187a2fSDavid Daney } s; 451a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn52xx; 452a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn52xxp1; 453a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn56xx; 454a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn56xxp1; 455aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn63xx; 456aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_max_s cn63xxp1; 457a7187a2fSDavid Daney }; 458a7187a2fSDavid Daney 459a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_frm_min { 460a7187a2fSDavid Daney uint64_t u64; 461a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s { 462a7187a2fSDavid Daney uint64_t reserved_16_63:48; 463a7187a2fSDavid Daney uint64_t len:16; 464a7187a2fSDavid Daney } s; 465a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn52xx; 466a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn52xxp1; 467a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn56xx; 468a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn56xxp1; 469aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn63xx; 470aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_frm_min_s cn63xxp1; 471a7187a2fSDavid Daney }; 472a7187a2fSDavid Daney 473a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_ifg { 474a7187a2fSDavid Daney uint64_t u64; 475a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s { 476a7187a2fSDavid Daney uint64_t reserved_4_63:60; 477a7187a2fSDavid Daney uint64_t ifg:4; 478a7187a2fSDavid Daney } s; 479a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn52xx; 480a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn52xxp1; 481a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn56xx; 482a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn56xxp1; 483aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn63xx; 484aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_ifg_s cn63xxp1; 485a7187a2fSDavid Daney }; 486a7187a2fSDavid Daney 487a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_int_en { 488a7187a2fSDavid Daney uint64_t u64; 489a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_int_en_s { 490a7187a2fSDavid Daney uint64_t reserved_20_63:44; 491a7187a2fSDavid Daney uint64_t pause_drp:1; 492aa32a955SDavid Daney uint64_t phy_dupx:1; 493aa32a955SDavid Daney uint64_t phy_spd:1; 494aa32a955SDavid Daney uint64_t phy_link:1; 495a7187a2fSDavid Daney uint64_t ifgerr:1; 496a7187a2fSDavid Daney uint64_t coldet:1; 497a7187a2fSDavid Daney uint64_t falerr:1; 498a7187a2fSDavid Daney uint64_t rsverr:1; 499a7187a2fSDavid Daney uint64_t pcterr:1; 500a7187a2fSDavid Daney uint64_t ovrerr:1; 501aa32a955SDavid Daney uint64_t niberr:1; 502a7187a2fSDavid Daney uint64_t skperr:1; 503a7187a2fSDavid Daney uint64_t rcverr:1; 504a7187a2fSDavid Daney uint64_t lenerr:1; 505a7187a2fSDavid Daney uint64_t alnerr:1; 506a7187a2fSDavid Daney uint64_t fcserr:1; 507a7187a2fSDavid Daney uint64_t jabber:1; 508a7187a2fSDavid Daney uint64_t maxerr:1; 509aa32a955SDavid Daney uint64_t carext:1; 510a7187a2fSDavid Daney uint64_t minerr:1; 511a7187a2fSDavid Daney } s; 512aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx { 513a7187a2fSDavid Daney uint64_t reserved_20_63:44; 514a7187a2fSDavid Daney uint64_t pause_drp:1; 515a7187a2fSDavid Daney uint64_t reserved_16_18:3; 516a7187a2fSDavid Daney uint64_t ifgerr:1; 517a7187a2fSDavid Daney uint64_t coldet:1; 518a7187a2fSDavid Daney uint64_t falerr:1; 519a7187a2fSDavid Daney uint64_t rsverr:1; 520a7187a2fSDavid Daney uint64_t pcterr:1; 521a7187a2fSDavid Daney uint64_t ovrerr:1; 522a7187a2fSDavid Daney uint64_t reserved_9_9:1; 523a7187a2fSDavid Daney uint64_t skperr:1; 524a7187a2fSDavid Daney uint64_t rcverr:1; 525a7187a2fSDavid Daney uint64_t lenerr:1; 526a7187a2fSDavid Daney uint64_t alnerr:1; 527a7187a2fSDavid Daney uint64_t fcserr:1; 528a7187a2fSDavid Daney uint64_t jabber:1; 529a7187a2fSDavid Daney uint64_t maxerr:1; 530a7187a2fSDavid Daney uint64_t reserved_1_1:1; 531a7187a2fSDavid Daney uint64_t minerr:1; 532aa32a955SDavid Daney } cn52xx; 533aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx cn52xxp1; 534aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xx; 535aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_cn52xx cn56xxp1; 536aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn63xx; 537aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_en_s cn63xxp1; 538aa32a955SDavid Daney }; 539aa32a955SDavid Daney 540aa32a955SDavid Daney union cvmx_agl_gmx_rxx_int_reg { 541aa32a955SDavid Daney uint64_t u64; 542aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s { 543aa32a955SDavid Daney uint64_t reserved_20_63:44; 544aa32a955SDavid Daney uint64_t pause_drp:1; 545aa32a955SDavid Daney uint64_t phy_dupx:1; 546aa32a955SDavid Daney uint64_t phy_spd:1; 547aa32a955SDavid Daney uint64_t phy_link:1; 548aa32a955SDavid Daney uint64_t ifgerr:1; 549aa32a955SDavid Daney uint64_t coldet:1; 550aa32a955SDavid Daney uint64_t falerr:1; 551aa32a955SDavid Daney uint64_t rsverr:1; 552aa32a955SDavid Daney uint64_t pcterr:1; 553aa32a955SDavid Daney uint64_t ovrerr:1; 554aa32a955SDavid Daney uint64_t niberr:1; 555aa32a955SDavid Daney uint64_t skperr:1; 556aa32a955SDavid Daney uint64_t rcverr:1; 557aa32a955SDavid Daney uint64_t lenerr:1; 558aa32a955SDavid Daney uint64_t alnerr:1; 559aa32a955SDavid Daney uint64_t fcserr:1; 560aa32a955SDavid Daney uint64_t jabber:1; 561aa32a955SDavid Daney uint64_t maxerr:1; 562aa32a955SDavid Daney uint64_t carext:1; 563aa32a955SDavid Daney uint64_t minerr:1; 564a7187a2fSDavid Daney } s; 565aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx { 566aa32a955SDavid Daney uint64_t reserved_20_63:44; 567aa32a955SDavid Daney uint64_t pause_drp:1; 568aa32a955SDavid Daney uint64_t reserved_16_18:3; 569aa32a955SDavid Daney uint64_t ifgerr:1; 570aa32a955SDavid Daney uint64_t coldet:1; 571aa32a955SDavid Daney uint64_t falerr:1; 572aa32a955SDavid Daney uint64_t rsverr:1; 573aa32a955SDavid Daney uint64_t pcterr:1; 574aa32a955SDavid Daney uint64_t ovrerr:1; 575aa32a955SDavid Daney uint64_t reserved_9_9:1; 576aa32a955SDavid Daney uint64_t skperr:1; 577aa32a955SDavid Daney uint64_t rcverr:1; 578aa32a955SDavid Daney uint64_t lenerr:1; 579aa32a955SDavid Daney uint64_t alnerr:1; 580aa32a955SDavid Daney uint64_t fcserr:1; 581aa32a955SDavid Daney uint64_t jabber:1; 582aa32a955SDavid Daney uint64_t maxerr:1; 583aa32a955SDavid Daney uint64_t reserved_1_1:1; 584aa32a955SDavid Daney uint64_t minerr:1; 585aa32a955SDavid Daney } cn52xx; 586aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn52xxp1; 587aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xx; 588aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_cn52xx cn56xxp1; 589aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn63xx; 590aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_int_reg_s cn63xxp1; 591a7187a2fSDavid Daney }; 592a7187a2fSDavid Daney 593a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_jabber { 594a7187a2fSDavid Daney uint64_t u64; 595a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s { 596a7187a2fSDavid Daney uint64_t reserved_16_63:48; 597a7187a2fSDavid Daney uint64_t cnt:16; 598a7187a2fSDavid Daney } s; 599a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn52xx; 600a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn52xxp1; 601a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn56xx; 602a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn56xxp1; 603aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn63xx; 604aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_jabber_s cn63xxp1; 605a7187a2fSDavid Daney }; 606a7187a2fSDavid Daney 607a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_pause_drop_time { 608a7187a2fSDavid Daney uint64_t u64; 609a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s { 610a7187a2fSDavid Daney uint64_t reserved_16_63:48; 611a7187a2fSDavid Daney uint64_t status:16; 612a7187a2fSDavid Daney } s; 613a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xx; 614a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn52xxp1; 615a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xx; 616a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn56xxp1; 617aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xx; 618aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_pause_drop_time_s cn63xxp1; 619aa32a955SDavid Daney }; 620aa32a955SDavid Daney 621aa32a955SDavid Daney union cvmx_agl_gmx_rxx_rx_inbnd { 622aa32a955SDavid Daney uint64_t u64; 623aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s { 624aa32a955SDavid Daney uint64_t reserved_4_63:60; 625aa32a955SDavid Daney uint64_t duplex:1; 626aa32a955SDavid Daney uint64_t speed:2; 627aa32a955SDavid Daney uint64_t status:1; 628aa32a955SDavid Daney } s; 629aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xx; 630aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_rx_inbnd_s cn63xxp1; 631a7187a2fSDavid Daney }; 632a7187a2fSDavid Daney 633a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_ctl { 634a7187a2fSDavid Daney uint64_t u64; 635a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s { 636a7187a2fSDavid Daney uint64_t reserved_1_63:63; 637a7187a2fSDavid Daney uint64_t rd_clr:1; 638a7187a2fSDavid Daney } s; 639a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xx; 640a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn52xxp1; 641a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xx; 642a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn56xxp1; 643aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xx; 644aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_ctl_s cn63xxp1; 645a7187a2fSDavid Daney }; 646a7187a2fSDavid Daney 647a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs { 648a7187a2fSDavid Daney uint64_t u64; 649a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s { 650a7187a2fSDavid Daney uint64_t reserved_48_63:16; 651a7187a2fSDavid Daney uint64_t cnt:48; 652a7187a2fSDavid Daney } s; 653a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn52xx; 654a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn52xxp1; 655a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn56xx; 656a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn56xxp1; 657aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn63xx; 658aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_s cn63xxp1; 659a7187a2fSDavid Daney }; 660a7187a2fSDavid Daney 661a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs_ctl { 662a7187a2fSDavid Daney uint64_t u64; 663a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s { 664a7187a2fSDavid Daney uint64_t reserved_48_63:16; 665a7187a2fSDavid Daney uint64_t cnt:48; 666a7187a2fSDavid Daney } s; 667a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xx; 668a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn52xxp1; 669a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xx; 670a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn56xxp1; 671aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xx; 672aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_ctl_s cn63xxp1; 673a7187a2fSDavid Daney }; 674a7187a2fSDavid Daney 675a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs_dmac { 676a7187a2fSDavid Daney uint64_t u64; 677a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s { 678a7187a2fSDavid Daney uint64_t reserved_48_63:16; 679a7187a2fSDavid Daney uint64_t cnt:48; 680a7187a2fSDavid Daney } s; 681a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xx; 682a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn52xxp1; 683a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xx; 684a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn56xxp1; 685aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xx; 686aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_dmac_s cn63xxp1; 687a7187a2fSDavid Daney }; 688a7187a2fSDavid Daney 689a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_octs_drp { 690a7187a2fSDavid Daney uint64_t u64; 691a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s { 692a7187a2fSDavid Daney uint64_t reserved_48_63:16; 693a7187a2fSDavid Daney uint64_t cnt:48; 694a7187a2fSDavid Daney } s; 695a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xx; 696a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn52xxp1; 697a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xx; 698a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn56xxp1; 699aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xx; 700aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_octs_drp_s cn63xxp1; 701a7187a2fSDavid Daney }; 702a7187a2fSDavid Daney 703a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts { 704a7187a2fSDavid Daney uint64_t u64; 705a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s { 706a7187a2fSDavid Daney uint64_t reserved_32_63:32; 707a7187a2fSDavid Daney uint64_t cnt:32; 708a7187a2fSDavid Daney } s; 709a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xx; 710a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn52xxp1; 711a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xx; 712a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn56xxp1; 713aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xx; 714aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_s cn63xxp1; 715a7187a2fSDavid Daney }; 716a7187a2fSDavid Daney 717a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_bad { 718a7187a2fSDavid Daney uint64_t u64; 719a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s { 720a7187a2fSDavid Daney uint64_t reserved_32_63:32; 721a7187a2fSDavid Daney uint64_t cnt:32; 722a7187a2fSDavid Daney } s; 723a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xx; 724a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn52xxp1; 725a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xx; 726a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn56xxp1; 727aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xx; 728aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_bad_s cn63xxp1; 729a7187a2fSDavid Daney }; 730a7187a2fSDavid Daney 731a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_ctl { 732a7187a2fSDavid Daney uint64_t u64; 733a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s { 734a7187a2fSDavid Daney uint64_t reserved_32_63:32; 735a7187a2fSDavid Daney uint64_t cnt:32; 736a7187a2fSDavid Daney } s; 737a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xx; 738a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn52xxp1; 739a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xx; 740a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn56xxp1; 741aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xx; 742aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_ctl_s cn63xxp1; 743a7187a2fSDavid Daney }; 744a7187a2fSDavid Daney 745a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_dmac { 746a7187a2fSDavid Daney uint64_t u64; 747a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s { 748a7187a2fSDavid Daney uint64_t reserved_32_63:32; 749a7187a2fSDavid Daney uint64_t cnt:32; 750a7187a2fSDavid Daney } s; 751a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xx; 752a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn52xxp1; 753a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xx; 754a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn56xxp1; 755aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xx; 756aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_dmac_s cn63xxp1; 757a7187a2fSDavid Daney }; 758a7187a2fSDavid Daney 759a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_stats_pkts_drp { 760a7187a2fSDavid Daney uint64_t u64; 761a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s { 762a7187a2fSDavid Daney uint64_t reserved_32_63:32; 763a7187a2fSDavid Daney uint64_t cnt:32; 764a7187a2fSDavid Daney } s; 765a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xx; 766a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn52xxp1; 767a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xx; 768a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn56xxp1; 769aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xx; 770aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_stats_pkts_drp_s cn63xxp1; 771a7187a2fSDavid Daney }; 772a7187a2fSDavid Daney 773a7187a2fSDavid Daney union cvmx_agl_gmx_rxx_udd_skp { 774a7187a2fSDavid Daney uint64_t u64; 775a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s { 776a7187a2fSDavid Daney uint64_t reserved_9_63:55; 777a7187a2fSDavid Daney uint64_t fcssel:1; 778a7187a2fSDavid Daney uint64_t reserved_7_7:1; 779a7187a2fSDavid Daney uint64_t len:7; 780a7187a2fSDavid Daney } s; 781a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn52xx; 782a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn52xxp1; 783a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn56xx; 784a7187a2fSDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn56xxp1; 785aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn63xx; 786aa32a955SDavid Daney struct cvmx_agl_gmx_rxx_udd_skp_s cn63xxp1; 787a7187a2fSDavid Daney }; 788a7187a2fSDavid Daney 789a7187a2fSDavid Daney union cvmx_agl_gmx_rx_bp_dropx { 790a7187a2fSDavid Daney uint64_t u64; 791a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s { 792a7187a2fSDavid Daney uint64_t reserved_6_63:58; 793a7187a2fSDavid Daney uint64_t mark:6; 794a7187a2fSDavid Daney } s; 795a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn52xx; 796a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn52xxp1; 797a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn56xx; 798a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn56xxp1; 799aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn63xx; 800aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_dropx_s cn63xxp1; 801a7187a2fSDavid Daney }; 802a7187a2fSDavid Daney 803a7187a2fSDavid Daney union cvmx_agl_gmx_rx_bp_offx { 804a7187a2fSDavid Daney uint64_t u64; 805a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s { 806a7187a2fSDavid Daney uint64_t reserved_6_63:58; 807a7187a2fSDavid Daney uint64_t mark:6; 808a7187a2fSDavid Daney } s; 809a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn52xx; 810a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn52xxp1; 811a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn56xx; 812a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn56xxp1; 813aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn63xx; 814aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_offx_s cn63xxp1; 815a7187a2fSDavid Daney }; 816a7187a2fSDavid Daney 817a7187a2fSDavid Daney union cvmx_agl_gmx_rx_bp_onx { 818a7187a2fSDavid Daney uint64_t u64; 819a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s { 820a7187a2fSDavid Daney uint64_t reserved_9_63:55; 821a7187a2fSDavid Daney uint64_t mark:9; 822a7187a2fSDavid Daney } s; 823a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn52xx; 824a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn52xxp1; 825a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn56xx; 826a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn56xxp1; 827aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn63xx; 828aa32a955SDavid Daney struct cvmx_agl_gmx_rx_bp_onx_s cn63xxp1; 829a7187a2fSDavid Daney }; 830a7187a2fSDavid Daney 831a7187a2fSDavid Daney union cvmx_agl_gmx_rx_prt_info { 832a7187a2fSDavid Daney uint64_t u64; 833a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_s { 834a7187a2fSDavid Daney uint64_t reserved_18_63:46; 835a7187a2fSDavid Daney uint64_t drop:2; 836a7187a2fSDavid Daney uint64_t reserved_2_15:14; 837a7187a2fSDavid Daney uint64_t commit:2; 838a7187a2fSDavid Daney } s; 839a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn52xx; 840a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn52xxp1; 841a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_cn56xx { 842a7187a2fSDavid Daney uint64_t reserved_17_63:47; 843a7187a2fSDavid Daney uint64_t drop:1; 844a7187a2fSDavid Daney uint64_t reserved_1_15:15; 845a7187a2fSDavid Daney uint64_t commit:1; 846a7187a2fSDavid Daney } cn56xx; 847a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_prt_info_cn56xx cn56xxp1; 848aa32a955SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn63xx; 849aa32a955SDavid Daney struct cvmx_agl_gmx_rx_prt_info_s cn63xxp1; 850a7187a2fSDavid Daney }; 851a7187a2fSDavid Daney 852a7187a2fSDavid Daney union cvmx_agl_gmx_rx_tx_status { 853a7187a2fSDavid Daney uint64_t u64; 854a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_s { 855a7187a2fSDavid Daney uint64_t reserved_6_63:58; 856a7187a2fSDavid Daney uint64_t tx:2; 857a7187a2fSDavid Daney uint64_t reserved_2_3:2; 858a7187a2fSDavid Daney uint64_t rx:2; 859a7187a2fSDavid Daney } s; 860a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn52xx; 861a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn52xxp1; 862a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_cn56xx { 863a7187a2fSDavid Daney uint64_t reserved_5_63:59; 864a7187a2fSDavid Daney uint64_t tx:1; 865a7187a2fSDavid Daney uint64_t reserved_1_3:3; 866a7187a2fSDavid Daney uint64_t rx:1; 867a7187a2fSDavid Daney } cn56xx; 868a7187a2fSDavid Daney struct cvmx_agl_gmx_rx_tx_status_cn56xx cn56xxp1; 869aa32a955SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn63xx; 870aa32a955SDavid Daney struct cvmx_agl_gmx_rx_tx_status_s cn63xxp1; 871a7187a2fSDavid Daney }; 872a7187a2fSDavid Daney 873a7187a2fSDavid Daney union cvmx_agl_gmx_smacx { 874a7187a2fSDavid Daney uint64_t u64; 875a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s { 876a7187a2fSDavid Daney uint64_t reserved_48_63:16; 877a7187a2fSDavid Daney uint64_t smac:48; 878a7187a2fSDavid Daney } s; 879a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn52xx; 880a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn52xxp1; 881a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn56xx; 882a7187a2fSDavid Daney struct cvmx_agl_gmx_smacx_s cn56xxp1; 883aa32a955SDavid Daney struct cvmx_agl_gmx_smacx_s cn63xx; 884aa32a955SDavid Daney struct cvmx_agl_gmx_smacx_s cn63xxp1; 885a7187a2fSDavid Daney }; 886a7187a2fSDavid Daney 887a7187a2fSDavid Daney union cvmx_agl_gmx_stat_bp { 888a7187a2fSDavid Daney uint64_t u64; 889a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s { 890a7187a2fSDavid Daney uint64_t reserved_17_63:47; 891a7187a2fSDavid Daney uint64_t bp:1; 892a7187a2fSDavid Daney uint64_t cnt:16; 893a7187a2fSDavid Daney } s; 894a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn52xx; 895a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn52xxp1; 896a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn56xx; 897a7187a2fSDavid Daney struct cvmx_agl_gmx_stat_bp_s cn56xxp1; 898aa32a955SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn63xx; 899aa32a955SDavid Daney struct cvmx_agl_gmx_stat_bp_s cn63xxp1; 900a7187a2fSDavid Daney }; 901a7187a2fSDavid Daney 902a7187a2fSDavid Daney union cvmx_agl_gmx_txx_append { 903a7187a2fSDavid Daney uint64_t u64; 904a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s { 905a7187a2fSDavid Daney uint64_t reserved_4_63:60; 906a7187a2fSDavid Daney uint64_t force_fcs:1; 907a7187a2fSDavid Daney uint64_t fcs:1; 908a7187a2fSDavid Daney uint64_t pad:1; 909a7187a2fSDavid Daney uint64_t preamble:1; 910a7187a2fSDavid Daney } s; 911a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn52xx; 912a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn52xxp1; 913a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn56xx; 914a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_append_s cn56xxp1; 915aa32a955SDavid Daney struct cvmx_agl_gmx_txx_append_s cn63xx; 916aa32a955SDavid Daney struct cvmx_agl_gmx_txx_append_s cn63xxp1; 917aa32a955SDavid Daney }; 918aa32a955SDavid Daney 919aa32a955SDavid Daney union cvmx_agl_gmx_txx_clk { 920aa32a955SDavid Daney uint64_t u64; 921aa32a955SDavid Daney struct cvmx_agl_gmx_txx_clk_s { 922aa32a955SDavid Daney uint64_t reserved_6_63:58; 923aa32a955SDavid Daney uint64_t clk_cnt:6; 924aa32a955SDavid Daney } s; 925aa32a955SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn63xx; 926aa32a955SDavid Daney struct cvmx_agl_gmx_txx_clk_s cn63xxp1; 927a7187a2fSDavid Daney }; 928a7187a2fSDavid Daney 929a7187a2fSDavid Daney union cvmx_agl_gmx_txx_ctl { 930a7187a2fSDavid Daney uint64_t u64; 931a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s { 932a7187a2fSDavid Daney uint64_t reserved_2_63:62; 933a7187a2fSDavid Daney uint64_t xsdef_en:1; 934a7187a2fSDavid Daney uint64_t xscol_en:1; 935a7187a2fSDavid Daney } s; 936a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn52xx; 937a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn52xxp1; 938a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn56xx; 939a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn56xxp1; 940aa32a955SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn63xx; 941aa32a955SDavid Daney struct cvmx_agl_gmx_txx_ctl_s cn63xxp1; 942a7187a2fSDavid Daney }; 943a7187a2fSDavid Daney 944a7187a2fSDavid Daney union cvmx_agl_gmx_txx_min_pkt { 945a7187a2fSDavid Daney uint64_t u64; 946a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s { 947a7187a2fSDavid Daney uint64_t reserved_8_63:56; 948a7187a2fSDavid Daney uint64_t min_size:8; 949a7187a2fSDavid Daney } s; 950a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn52xx; 951a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn52xxp1; 952a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn56xx; 953a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn56xxp1; 954aa32a955SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn63xx; 955aa32a955SDavid Daney struct cvmx_agl_gmx_txx_min_pkt_s cn63xxp1; 956a7187a2fSDavid Daney }; 957a7187a2fSDavid Daney 958a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_pkt_interval { 959a7187a2fSDavid Daney uint64_t u64; 960a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s { 961a7187a2fSDavid Daney uint64_t reserved_16_63:48; 962a7187a2fSDavid Daney uint64_t interval:16; 963a7187a2fSDavid Daney } s; 964a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xx; 965a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn52xxp1; 966a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xx; 967a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn56xxp1; 968aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xx; 969aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_interval_s cn63xxp1; 970a7187a2fSDavid Daney }; 971a7187a2fSDavid Daney 972a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_pkt_time { 973a7187a2fSDavid Daney uint64_t u64; 974a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s { 975a7187a2fSDavid Daney uint64_t reserved_16_63:48; 976a7187a2fSDavid Daney uint64_t time:16; 977a7187a2fSDavid Daney } s; 978a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xx; 979a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn52xxp1; 980a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xx; 981a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn56xxp1; 982aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xx; 983aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_pkt_time_s cn63xxp1; 984a7187a2fSDavid Daney }; 985a7187a2fSDavid Daney 986a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_togo { 987a7187a2fSDavid Daney uint64_t u64; 988a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s { 989a7187a2fSDavid Daney uint64_t reserved_16_63:48; 990a7187a2fSDavid Daney uint64_t time:16; 991a7187a2fSDavid Daney } s; 992a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn52xx; 993a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn52xxp1; 994a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn56xx; 995a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn56xxp1; 996aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn63xx; 997aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_togo_s cn63xxp1; 998a7187a2fSDavid Daney }; 999a7187a2fSDavid Daney 1000a7187a2fSDavid Daney union cvmx_agl_gmx_txx_pause_zero { 1001a7187a2fSDavid Daney uint64_t u64; 1002a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s { 1003a7187a2fSDavid Daney uint64_t reserved_1_63:63; 1004a7187a2fSDavid Daney uint64_t send:1; 1005a7187a2fSDavid Daney } s; 1006a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn52xx; 1007a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn52xxp1; 1008a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn56xx; 1009a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn56xxp1; 1010aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn63xx; 1011aa32a955SDavid Daney struct cvmx_agl_gmx_txx_pause_zero_s cn63xxp1; 1012a7187a2fSDavid Daney }; 1013a7187a2fSDavid Daney 1014a7187a2fSDavid Daney union cvmx_agl_gmx_txx_soft_pause { 1015a7187a2fSDavid Daney uint64_t u64; 1016a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s { 1017a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1018a7187a2fSDavid Daney uint64_t time:16; 1019a7187a2fSDavid Daney } s; 1020a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn52xx; 1021a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn52xxp1; 1022a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn56xx; 1023a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn56xxp1; 1024aa32a955SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn63xx; 1025aa32a955SDavid Daney struct cvmx_agl_gmx_txx_soft_pause_s cn63xxp1; 1026a7187a2fSDavid Daney }; 1027a7187a2fSDavid Daney 1028a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat0 { 1029a7187a2fSDavid Daney uint64_t u64; 1030a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s { 1031a7187a2fSDavid Daney uint64_t xsdef:32; 1032a7187a2fSDavid Daney uint64_t xscol:32; 1033a7187a2fSDavid Daney } s; 1034a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn52xx; 1035a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn52xxp1; 1036a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn56xx; 1037a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn56xxp1; 1038aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn63xx; 1039aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat0_s cn63xxp1; 1040a7187a2fSDavid Daney }; 1041a7187a2fSDavid Daney 1042a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat1 { 1043a7187a2fSDavid Daney uint64_t u64; 1044a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s { 1045a7187a2fSDavid Daney uint64_t scol:32; 1046a7187a2fSDavid Daney uint64_t mcol:32; 1047a7187a2fSDavid Daney } s; 1048a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn52xx; 1049a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn52xxp1; 1050a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn56xx; 1051a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn56xxp1; 1052aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn63xx; 1053aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat1_s cn63xxp1; 1054a7187a2fSDavid Daney }; 1055a7187a2fSDavid Daney 1056a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat2 { 1057a7187a2fSDavid Daney uint64_t u64; 1058a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s { 1059a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1060a7187a2fSDavid Daney uint64_t octs:48; 1061a7187a2fSDavid Daney } s; 1062a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn52xx; 1063a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn52xxp1; 1064a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn56xx; 1065a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn56xxp1; 1066aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn63xx; 1067aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat2_s cn63xxp1; 1068a7187a2fSDavid Daney }; 1069a7187a2fSDavid Daney 1070a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat3 { 1071a7187a2fSDavid Daney uint64_t u64; 1072a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s { 1073a7187a2fSDavid Daney uint64_t reserved_32_63:32; 1074a7187a2fSDavid Daney uint64_t pkts:32; 1075a7187a2fSDavid Daney } s; 1076a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn52xx; 1077a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn52xxp1; 1078a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn56xx; 1079a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn56xxp1; 1080aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn63xx; 1081aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat3_s cn63xxp1; 1082a7187a2fSDavid Daney }; 1083a7187a2fSDavid Daney 1084a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat4 { 1085a7187a2fSDavid Daney uint64_t u64; 1086a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s { 1087a7187a2fSDavid Daney uint64_t hist1:32; 1088a7187a2fSDavid Daney uint64_t hist0:32; 1089a7187a2fSDavid Daney } s; 1090a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn52xx; 1091a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn52xxp1; 1092a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn56xx; 1093a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn56xxp1; 1094aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn63xx; 1095aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat4_s cn63xxp1; 1096a7187a2fSDavid Daney }; 1097a7187a2fSDavid Daney 1098a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat5 { 1099a7187a2fSDavid Daney uint64_t u64; 1100a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s { 1101a7187a2fSDavid Daney uint64_t hist3:32; 1102a7187a2fSDavid Daney uint64_t hist2:32; 1103a7187a2fSDavid Daney } s; 1104a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn52xx; 1105a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn52xxp1; 1106a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn56xx; 1107a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn56xxp1; 1108aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn63xx; 1109aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat5_s cn63xxp1; 1110a7187a2fSDavid Daney }; 1111a7187a2fSDavid Daney 1112a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat6 { 1113a7187a2fSDavid Daney uint64_t u64; 1114a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s { 1115a7187a2fSDavid Daney uint64_t hist5:32; 1116a7187a2fSDavid Daney uint64_t hist4:32; 1117a7187a2fSDavid Daney } s; 1118a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn52xx; 1119a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn52xxp1; 1120a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn56xx; 1121a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn56xxp1; 1122aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn63xx; 1123aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat6_s cn63xxp1; 1124a7187a2fSDavid Daney }; 1125a7187a2fSDavid Daney 1126a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat7 { 1127a7187a2fSDavid Daney uint64_t u64; 1128a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s { 1129a7187a2fSDavid Daney uint64_t hist7:32; 1130a7187a2fSDavid Daney uint64_t hist6:32; 1131a7187a2fSDavid Daney } s; 1132a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn52xx; 1133a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn52xxp1; 1134a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn56xx; 1135a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn56xxp1; 1136aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn63xx; 1137aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat7_s cn63xxp1; 1138a7187a2fSDavid Daney }; 1139a7187a2fSDavid Daney 1140a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat8 { 1141a7187a2fSDavid Daney uint64_t u64; 1142a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s { 1143a7187a2fSDavid Daney uint64_t mcst:32; 1144a7187a2fSDavid Daney uint64_t bcst:32; 1145a7187a2fSDavid Daney } s; 1146a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn52xx; 1147a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn52xxp1; 1148a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn56xx; 1149a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn56xxp1; 1150aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn63xx; 1151aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat8_s cn63xxp1; 1152a7187a2fSDavid Daney }; 1153a7187a2fSDavid Daney 1154a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stat9 { 1155a7187a2fSDavid Daney uint64_t u64; 1156a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s { 1157a7187a2fSDavid Daney uint64_t undflw:32; 1158a7187a2fSDavid Daney uint64_t ctl:32; 1159a7187a2fSDavid Daney } s; 1160a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn52xx; 1161a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn52xxp1; 1162a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn56xx; 1163a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn56xxp1; 1164aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn63xx; 1165aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stat9_s cn63xxp1; 1166a7187a2fSDavid Daney }; 1167a7187a2fSDavid Daney 1168a7187a2fSDavid Daney union cvmx_agl_gmx_txx_stats_ctl { 1169a7187a2fSDavid Daney uint64_t u64; 1170a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s { 1171a7187a2fSDavid Daney uint64_t reserved_1_63:63; 1172a7187a2fSDavid Daney uint64_t rd_clr:1; 1173a7187a2fSDavid Daney } s; 1174a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn52xx; 1175a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn52xxp1; 1176a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn56xx; 1177a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn56xxp1; 1178aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn63xx; 1179aa32a955SDavid Daney struct cvmx_agl_gmx_txx_stats_ctl_s cn63xxp1; 1180a7187a2fSDavid Daney }; 1181a7187a2fSDavid Daney 1182a7187a2fSDavid Daney union cvmx_agl_gmx_txx_thresh { 1183a7187a2fSDavid Daney uint64_t u64; 1184a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s { 1185a7187a2fSDavid Daney uint64_t reserved_6_63:58; 1186a7187a2fSDavid Daney uint64_t cnt:6; 1187a7187a2fSDavid Daney } s; 1188a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn52xx; 1189a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn52xxp1; 1190a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn56xx; 1191a7187a2fSDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn56xxp1; 1192aa32a955SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn63xx; 1193aa32a955SDavid Daney struct cvmx_agl_gmx_txx_thresh_s cn63xxp1; 1194a7187a2fSDavid Daney }; 1195a7187a2fSDavid Daney 1196a7187a2fSDavid Daney union cvmx_agl_gmx_tx_bp { 1197a7187a2fSDavid Daney uint64_t u64; 1198a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_s { 1199a7187a2fSDavid Daney uint64_t reserved_2_63:62; 1200a7187a2fSDavid Daney uint64_t bp:2; 1201a7187a2fSDavid Daney } s; 1202a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_s cn52xx; 1203a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_s cn52xxp1; 1204a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_cn56xx { 1205a7187a2fSDavid Daney uint64_t reserved_1_63:63; 1206a7187a2fSDavid Daney uint64_t bp:1; 1207a7187a2fSDavid Daney } cn56xx; 1208a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_bp_cn56xx cn56xxp1; 1209aa32a955SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn63xx; 1210aa32a955SDavid Daney struct cvmx_agl_gmx_tx_bp_s cn63xxp1; 1211a7187a2fSDavid Daney }; 1212a7187a2fSDavid Daney 1213a7187a2fSDavid Daney union cvmx_agl_gmx_tx_col_attempt { 1214a7187a2fSDavid Daney uint64_t u64; 1215a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s { 1216a7187a2fSDavid Daney uint64_t reserved_5_63:59; 1217a7187a2fSDavid Daney uint64_t limit:5; 1218a7187a2fSDavid Daney } s; 1219a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn52xx; 1220a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn52xxp1; 1221a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn56xx; 1222a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn56xxp1; 1223aa32a955SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn63xx; 1224aa32a955SDavid Daney struct cvmx_agl_gmx_tx_col_attempt_s cn63xxp1; 1225a7187a2fSDavid Daney }; 1226a7187a2fSDavid Daney 1227a7187a2fSDavid Daney union cvmx_agl_gmx_tx_ifg { 1228a7187a2fSDavid Daney uint64_t u64; 1229a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s { 1230a7187a2fSDavid Daney uint64_t reserved_8_63:56; 1231a7187a2fSDavid Daney uint64_t ifg2:4; 1232a7187a2fSDavid Daney uint64_t ifg1:4; 1233a7187a2fSDavid Daney } s; 1234a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn52xx; 1235a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn52xxp1; 1236a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn56xx; 1237a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn56xxp1; 1238aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn63xx; 1239aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ifg_s cn63xxp1; 1240a7187a2fSDavid Daney }; 1241a7187a2fSDavid Daney 1242a7187a2fSDavid Daney union cvmx_agl_gmx_tx_int_en { 1243a7187a2fSDavid Daney uint64_t u64; 1244a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_en_s { 1245aa32a955SDavid Daney uint64_t reserved_22_63:42; 1246aa32a955SDavid Daney uint64_t ptp_lost:2; 1247aa32a955SDavid Daney uint64_t reserved_18_19:2; 1248a7187a2fSDavid Daney uint64_t late_col:2; 1249a7187a2fSDavid Daney uint64_t reserved_14_15:2; 1250a7187a2fSDavid Daney uint64_t xsdef:2; 1251a7187a2fSDavid Daney uint64_t reserved_10_11:2; 1252a7187a2fSDavid Daney uint64_t xscol:2; 1253a7187a2fSDavid Daney uint64_t reserved_4_7:4; 1254a7187a2fSDavid Daney uint64_t undflw:2; 1255a7187a2fSDavid Daney uint64_t reserved_1_1:1; 1256a7187a2fSDavid Daney uint64_t pko_nxa:1; 1257a7187a2fSDavid Daney } s; 1258aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_cn52xx { 1259aa32a955SDavid Daney uint64_t reserved_18_63:46; 1260aa32a955SDavid Daney uint64_t late_col:2; 1261aa32a955SDavid Daney uint64_t reserved_14_15:2; 1262aa32a955SDavid Daney uint64_t xsdef:2; 1263aa32a955SDavid Daney uint64_t reserved_10_11:2; 1264aa32a955SDavid Daney uint64_t xscol:2; 1265aa32a955SDavid Daney uint64_t reserved_4_7:4; 1266aa32a955SDavid Daney uint64_t undflw:2; 1267aa32a955SDavid Daney uint64_t reserved_1_1:1; 1268aa32a955SDavid Daney uint64_t pko_nxa:1; 1269aa32a955SDavid Daney } cn52xx; 1270aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_cn52xx cn52xxp1; 1271a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_en_cn56xx { 1272a7187a2fSDavid Daney uint64_t reserved_17_63:47; 1273a7187a2fSDavid Daney uint64_t late_col:1; 1274a7187a2fSDavid Daney uint64_t reserved_13_15:3; 1275a7187a2fSDavid Daney uint64_t xsdef:1; 1276a7187a2fSDavid Daney uint64_t reserved_9_11:3; 1277a7187a2fSDavid Daney uint64_t xscol:1; 1278a7187a2fSDavid Daney uint64_t reserved_3_7:5; 1279a7187a2fSDavid Daney uint64_t undflw:1; 1280a7187a2fSDavid Daney uint64_t reserved_1_1:1; 1281a7187a2fSDavid Daney uint64_t pko_nxa:1; 1282a7187a2fSDavid Daney } cn56xx; 1283a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_en_cn56xx cn56xxp1; 1284aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn63xx; 1285aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_en_s cn63xxp1; 1286a7187a2fSDavid Daney }; 1287a7187a2fSDavid Daney 1288a7187a2fSDavid Daney union cvmx_agl_gmx_tx_int_reg { 1289a7187a2fSDavid Daney uint64_t u64; 1290a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_reg_s { 1291aa32a955SDavid Daney uint64_t reserved_22_63:42; 1292aa32a955SDavid Daney uint64_t ptp_lost:2; 1293aa32a955SDavid Daney uint64_t reserved_18_19:2; 1294a7187a2fSDavid Daney uint64_t late_col:2; 1295a7187a2fSDavid Daney uint64_t reserved_14_15:2; 1296a7187a2fSDavid Daney uint64_t xsdef:2; 1297a7187a2fSDavid Daney uint64_t reserved_10_11:2; 1298a7187a2fSDavid Daney uint64_t xscol:2; 1299a7187a2fSDavid Daney uint64_t reserved_4_7:4; 1300a7187a2fSDavid Daney uint64_t undflw:2; 1301a7187a2fSDavid Daney uint64_t reserved_1_1:1; 1302a7187a2fSDavid Daney uint64_t pko_nxa:1; 1303a7187a2fSDavid Daney } s; 1304aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn52xx { 1305aa32a955SDavid Daney uint64_t reserved_18_63:46; 1306aa32a955SDavid Daney uint64_t late_col:2; 1307aa32a955SDavid Daney uint64_t reserved_14_15:2; 1308aa32a955SDavid Daney uint64_t xsdef:2; 1309aa32a955SDavid Daney uint64_t reserved_10_11:2; 1310aa32a955SDavid Daney uint64_t xscol:2; 1311aa32a955SDavid Daney uint64_t reserved_4_7:4; 1312aa32a955SDavid Daney uint64_t undflw:2; 1313aa32a955SDavid Daney uint64_t reserved_1_1:1; 1314aa32a955SDavid Daney uint64_t pko_nxa:1; 1315aa32a955SDavid Daney } cn52xx; 1316aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn52xx cn52xxp1; 1317a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn56xx { 1318a7187a2fSDavid Daney uint64_t reserved_17_63:47; 1319a7187a2fSDavid Daney uint64_t late_col:1; 1320a7187a2fSDavid Daney uint64_t reserved_13_15:3; 1321a7187a2fSDavid Daney uint64_t xsdef:1; 1322a7187a2fSDavid Daney uint64_t reserved_9_11:3; 1323a7187a2fSDavid Daney uint64_t xscol:1; 1324a7187a2fSDavid Daney uint64_t reserved_3_7:5; 1325a7187a2fSDavid Daney uint64_t undflw:1; 1326a7187a2fSDavid Daney uint64_t reserved_1_1:1; 1327a7187a2fSDavid Daney uint64_t pko_nxa:1; 1328a7187a2fSDavid Daney } cn56xx; 1329a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_int_reg_cn56xx cn56xxp1; 1330aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn63xx; 1331aa32a955SDavid Daney struct cvmx_agl_gmx_tx_int_reg_s cn63xxp1; 1332a7187a2fSDavid Daney }; 1333a7187a2fSDavid Daney 1334a7187a2fSDavid Daney union cvmx_agl_gmx_tx_jam { 1335a7187a2fSDavid Daney uint64_t u64; 1336a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s { 1337a7187a2fSDavid Daney uint64_t reserved_8_63:56; 1338a7187a2fSDavid Daney uint64_t jam:8; 1339a7187a2fSDavid Daney } s; 1340a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn52xx; 1341a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn52xxp1; 1342a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn56xx; 1343a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_jam_s cn56xxp1; 1344aa32a955SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn63xx; 1345aa32a955SDavid Daney struct cvmx_agl_gmx_tx_jam_s cn63xxp1; 1346a7187a2fSDavid Daney }; 1347a7187a2fSDavid Daney 1348a7187a2fSDavid Daney union cvmx_agl_gmx_tx_lfsr { 1349a7187a2fSDavid Daney uint64_t u64; 1350a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s { 1351a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1352a7187a2fSDavid Daney uint64_t lfsr:16; 1353a7187a2fSDavid Daney } s; 1354a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn52xx; 1355a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn52xxp1; 1356a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn56xx; 1357a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn56xxp1; 1358aa32a955SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn63xx; 1359aa32a955SDavid Daney struct cvmx_agl_gmx_tx_lfsr_s cn63xxp1; 1360a7187a2fSDavid Daney }; 1361a7187a2fSDavid Daney 1362a7187a2fSDavid Daney union cvmx_agl_gmx_tx_ovr_bp { 1363a7187a2fSDavid Daney uint64_t u64; 1364a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s { 1365a7187a2fSDavid Daney uint64_t reserved_10_63:54; 1366a7187a2fSDavid Daney uint64_t en:2; 1367a7187a2fSDavid Daney uint64_t reserved_6_7:2; 1368a7187a2fSDavid Daney uint64_t bp:2; 1369a7187a2fSDavid Daney uint64_t reserved_2_3:2; 1370a7187a2fSDavid Daney uint64_t ign_full:2; 1371a7187a2fSDavid Daney } s; 1372a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn52xx; 1373a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn52xxp1; 1374a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_cn56xx { 1375a7187a2fSDavid Daney uint64_t reserved_9_63:55; 1376a7187a2fSDavid Daney uint64_t en:1; 1377a7187a2fSDavid Daney uint64_t reserved_5_7:3; 1378a7187a2fSDavid Daney uint64_t bp:1; 1379a7187a2fSDavid Daney uint64_t reserved_1_3:3; 1380a7187a2fSDavid Daney uint64_t ign_full:1; 1381a7187a2fSDavid Daney } cn56xx; 1382a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_cn56xx cn56xxp1; 1383aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn63xx; 1384aa32a955SDavid Daney struct cvmx_agl_gmx_tx_ovr_bp_s cn63xxp1; 1385a7187a2fSDavid Daney }; 1386a7187a2fSDavid Daney 1387a7187a2fSDavid Daney union cvmx_agl_gmx_tx_pause_pkt_dmac { 1388a7187a2fSDavid Daney uint64_t u64; 1389a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s { 1390a7187a2fSDavid Daney uint64_t reserved_48_63:16; 1391a7187a2fSDavid Daney uint64_t dmac:48; 1392a7187a2fSDavid Daney } s; 1393a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xx; 1394a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn52xxp1; 1395a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xx; 1396a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn56xxp1; 1397aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xx; 1398aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_dmac_s cn63xxp1; 1399a7187a2fSDavid Daney }; 1400a7187a2fSDavid Daney 1401a7187a2fSDavid Daney union cvmx_agl_gmx_tx_pause_pkt_type { 1402a7187a2fSDavid Daney uint64_t u64; 1403a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s { 1404a7187a2fSDavid Daney uint64_t reserved_16_63:48; 1405a7187a2fSDavid Daney uint64_t type:16; 1406a7187a2fSDavid Daney } s; 1407a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xx; 1408a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn52xxp1; 1409a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xx; 1410a7187a2fSDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn56xxp1; 1411aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xx; 1412aa32a955SDavid Daney struct cvmx_agl_gmx_tx_pause_pkt_type_s cn63xxp1; 1413aa32a955SDavid Daney }; 1414aa32a955SDavid Daney 1415aa32a955SDavid Daney union cvmx_agl_prtx_ctl { 1416aa32a955SDavid Daney uint64_t u64; 1417aa32a955SDavid Daney struct cvmx_agl_prtx_ctl_s { 1418aa32a955SDavid Daney uint64_t drv_byp:1; 1419aa32a955SDavid Daney uint64_t reserved_62_62:1; 1420aa32a955SDavid Daney uint64_t cmp_pctl:6; 1421aa32a955SDavid Daney uint64_t reserved_54_55:2; 1422aa32a955SDavid Daney uint64_t cmp_nctl:6; 1423aa32a955SDavid Daney uint64_t reserved_46_47:2; 1424aa32a955SDavid Daney uint64_t drv_pctl:6; 1425aa32a955SDavid Daney uint64_t reserved_38_39:2; 1426aa32a955SDavid Daney uint64_t drv_nctl:6; 1427aa32a955SDavid Daney uint64_t reserved_29_31:3; 1428aa32a955SDavid Daney uint64_t clk_set:5; 1429aa32a955SDavid Daney uint64_t clkrx_byp:1; 1430aa32a955SDavid Daney uint64_t reserved_21_22:2; 1431aa32a955SDavid Daney uint64_t clkrx_set:5; 1432aa32a955SDavid Daney uint64_t clktx_byp:1; 1433aa32a955SDavid Daney uint64_t reserved_13_14:2; 1434aa32a955SDavid Daney uint64_t clktx_set:5; 1435aa32a955SDavid Daney uint64_t reserved_5_7:3; 1436aa32a955SDavid Daney uint64_t dllrst:1; 1437aa32a955SDavid Daney uint64_t comp:1; 1438aa32a955SDavid Daney uint64_t enable:1; 1439aa32a955SDavid Daney uint64_t clkrst:1; 1440aa32a955SDavid Daney uint64_t mode:1; 1441aa32a955SDavid Daney } s; 1442aa32a955SDavid Daney struct cvmx_agl_prtx_ctl_s cn63xx; 1443aa32a955SDavid Daney struct cvmx_agl_prtx_ctl_s cn63xxp1; 1444a7187a2fSDavid Daney }; 1445a7187a2fSDavid Daney 1446a7187a2fSDavid Daney #endif 1447