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