Linux Audio

Check our new training course

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