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