Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
   1/***********************license start***************
   2 * Author: Cavium Networks
   3 *
   4 * Contact: support@caviumnetworks.com
   5 * This file is part of the OCTEON SDK
   6 *
   7 * Copyright (c) 2003-2008 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_GMXX_DEFS_H__
  29#define __CVMX_GMXX_DEFS_H__
  30
  31#define CVMX_GMXX_BAD_REG(block_id) \
  32	 CVMX_ADD_IO_SEG(0x0001180008000518ull + (((block_id) & 1) * 0x8000000ull))
  33#define CVMX_GMXX_BIST(block_id) \
  34	 CVMX_ADD_IO_SEG(0x0001180008000400ull + (((block_id) & 1) * 0x8000000ull))
  35#define CVMX_GMXX_CLK_EN(block_id) \
  36	 CVMX_ADD_IO_SEG(0x00011800080007F0ull + (((block_id) & 1) * 0x8000000ull))
  37#define CVMX_GMXX_HG2_CONTROL(block_id) \
  38	 CVMX_ADD_IO_SEG(0x0001180008000550ull + (((block_id) & 1) * 0x8000000ull))
  39#define CVMX_GMXX_INF_MODE(block_id) \
  40	 CVMX_ADD_IO_SEG(0x00011800080007F8ull + (((block_id) & 1) * 0x8000000ull))
  41#define CVMX_GMXX_NXA_ADR(block_id) \
  42	 CVMX_ADD_IO_SEG(0x0001180008000510ull + (((block_id) & 1) * 0x8000000ull))
  43#define CVMX_GMXX_PRTX_CBFC_CTL(offset, block_id) \
  44	 CVMX_ADD_IO_SEG(0x0001180008000580ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull))
  45#define CVMX_GMXX_PRTX_CFG(offset, block_id) \
  46	 CVMX_ADD_IO_SEG(0x0001180008000010ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  47#define CVMX_GMXX_RXX_ADR_CAM0(offset, block_id) \
  48	 CVMX_ADD_IO_SEG(0x0001180008000180ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  49#define CVMX_GMXX_RXX_ADR_CAM1(offset, block_id) \
  50	 CVMX_ADD_IO_SEG(0x0001180008000188ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  51#define CVMX_GMXX_RXX_ADR_CAM2(offset, block_id) \
  52	 CVMX_ADD_IO_SEG(0x0001180008000190ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  53#define CVMX_GMXX_RXX_ADR_CAM3(offset, block_id) \
  54	 CVMX_ADD_IO_SEG(0x0001180008000198ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  55#define CVMX_GMXX_RXX_ADR_CAM4(offset, block_id) \
  56	 CVMX_ADD_IO_SEG(0x00011800080001A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  57#define CVMX_GMXX_RXX_ADR_CAM5(offset, block_id) \
  58	 CVMX_ADD_IO_SEG(0x00011800080001A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  59#define CVMX_GMXX_RXX_ADR_CAM_EN(offset, block_id) \
  60	 CVMX_ADD_IO_SEG(0x0001180008000108ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  61#define CVMX_GMXX_RXX_ADR_CTL(offset, block_id) \
  62	 CVMX_ADD_IO_SEG(0x0001180008000100ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  63#define CVMX_GMXX_RXX_DECISION(offset, block_id) \
  64	 CVMX_ADD_IO_SEG(0x0001180008000040ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  65#define CVMX_GMXX_RXX_FRM_CHK(offset, block_id) \
  66	 CVMX_ADD_IO_SEG(0x0001180008000020ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  67#define CVMX_GMXX_RXX_FRM_CTL(offset, block_id) \
  68	 CVMX_ADD_IO_SEG(0x0001180008000018ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  69#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) \
  70	 CVMX_ADD_IO_SEG(0x0001180008000030ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  71#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) \
  72	 CVMX_ADD_IO_SEG(0x0001180008000028ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  73#define CVMX_GMXX_RXX_IFG(offset, block_id) \
  74	 CVMX_ADD_IO_SEG(0x0001180008000058ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  75#define CVMX_GMXX_RXX_INT_EN(offset, block_id) \
  76	 CVMX_ADD_IO_SEG(0x0001180008000008ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  77#define CVMX_GMXX_RXX_INT_REG(offset, block_id) \
  78	 CVMX_ADD_IO_SEG(0x0001180008000000ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  79#define CVMX_GMXX_RXX_JABBER(offset, block_id) \
  80	 CVMX_ADD_IO_SEG(0x0001180008000038ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  81#define CVMX_GMXX_RXX_PAUSE_DROP_TIME(offset, block_id) \
  82	 CVMX_ADD_IO_SEG(0x0001180008000068ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  83#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) \
  84	 CVMX_ADD_IO_SEG(0x0001180008000060ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  85#define CVMX_GMXX_RXX_STATS_CTL(offset, block_id) \
  86	 CVMX_ADD_IO_SEG(0x0001180008000050ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  87#define CVMX_GMXX_RXX_STATS_OCTS(offset, block_id) \
  88	 CVMX_ADD_IO_SEG(0x0001180008000088ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  89#define CVMX_GMXX_RXX_STATS_OCTS_CTL(offset, block_id) \
  90	 CVMX_ADD_IO_SEG(0x0001180008000098ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  91#define CVMX_GMXX_RXX_STATS_OCTS_DMAC(offset, block_id) \
  92	 CVMX_ADD_IO_SEG(0x00011800080000A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  93#define CVMX_GMXX_RXX_STATS_OCTS_DRP(offset, block_id) \
  94	 CVMX_ADD_IO_SEG(0x00011800080000B8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  95#define CVMX_GMXX_RXX_STATS_PKTS(offset, block_id) \
  96	 CVMX_ADD_IO_SEG(0x0001180008000080ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  97#define CVMX_GMXX_RXX_STATS_PKTS_BAD(offset, block_id) \
  98	 CVMX_ADD_IO_SEG(0x00011800080000C0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
  99#define CVMX_GMXX_RXX_STATS_PKTS_CTL(offset, block_id) \
 100	 CVMX_ADD_IO_SEG(0x0001180008000090ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 101#define CVMX_GMXX_RXX_STATS_PKTS_DMAC(offset, block_id) \
 102	 CVMX_ADD_IO_SEG(0x00011800080000A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 103#define CVMX_GMXX_RXX_STATS_PKTS_DRP(offset, block_id) \
 104	 CVMX_ADD_IO_SEG(0x00011800080000B0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 105#define CVMX_GMXX_RXX_UDD_SKP(offset, block_id) \
 106	 CVMX_ADD_IO_SEG(0x0001180008000048ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 107#define CVMX_GMXX_RX_BP_DROPX(offset, block_id) \
 108	 CVMX_ADD_IO_SEG(0x0001180008000420ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
 109#define CVMX_GMXX_RX_BP_OFFX(offset, block_id) \
 110	 CVMX_ADD_IO_SEG(0x0001180008000460ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
 111#define CVMX_GMXX_RX_BP_ONX(offset, block_id) \
 112	 CVMX_ADD_IO_SEG(0x0001180008000440ull + (((offset) & 3) * 8) + (((block_id) & 1) * 0x8000000ull))
 113#define CVMX_GMXX_RX_HG2_STATUS(block_id) \
 114	 CVMX_ADD_IO_SEG(0x0001180008000548ull + (((block_id) & 1) * 0x8000000ull))
 115#define CVMX_GMXX_RX_PASS_EN(block_id) \
 116	 CVMX_ADD_IO_SEG(0x00011800080005F8ull + (((block_id) & 1) * 0x8000000ull))
 117#define CVMX_GMXX_RX_PASS_MAPX(offset, block_id) \
 118	 CVMX_ADD_IO_SEG(0x0001180008000600ull + (((offset) & 15) * 8) + (((block_id) & 1) * 0x8000000ull))
 119#define CVMX_GMXX_RX_PRTS(block_id) \
 120	 CVMX_ADD_IO_SEG(0x0001180008000410ull + (((block_id) & 1) * 0x8000000ull))
 121#define CVMX_GMXX_RX_PRT_INFO(block_id) \
 122	 CVMX_ADD_IO_SEG(0x00011800080004E8ull + (((block_id) & 1) * 0x8000000ull))
 123#define CVMX_GMXX_RX_TX_STATUS(block_id) \
 124	 CVMX_ADD_IO_SEG(0x00011800080007E8ull + (((block_id) & 0) * 0x8000000ull))
 125#define CVMX_GMXX_RX_XAUI_BAD_COL(block_id) \
 126	 CVMX_ADD_IO_SEG(0x0001180008000538ull + (((block_id) & 1) * 0x8000000ull))
 127#define CVMX_GMXX_RX_XAUI_CTL(block_id) \
 128	 CVMX_ADD_IO_SEG(0x0001180008000530ull + (((block_id) & 1) * 0x8000000ull))
 129#define CVMX_GMXX_SMACX(offset, block_id) \
 130	 CVMX_ADD_IO_SEG(0x0001180008000230ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 131#define CVMX_GMXX_STAT_BP(block_id) \
 132	 CVMX_ADD_IO_SEG(0x0001180008000520ull + (((block_id) & 1) * 0x8000000ull))
 133#define CVMX_GMXX_TXX_APPEND(offset, block_id) \
 134	 CVMX_ADD_IO_SEG(0x0001180008000218ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 135#define CVMX_GMXX_TXX_BURST(offset, block_id) \
 136	 CVMX_ADD_IO_SEG(0x0001180008000228ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 137#define CVMX_GMXX_TXX_CBFC_XOFF(offset, block_id) \
 138	 CVMX_ADD_IO_SEG(0x00011800080005A0ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull))
 139#define CVMX_GMXX_TXX_CBFC_XON(offset, block_id) \
 140	 CVMX_ADD_IO_SEG(0x00011800080005C0ull + (((offset) & 0) * 8) + (((block_id) & 1) * 0x8000000ull))
 141#define CVMX_GMXX_TXX_CLK(offset, block_id) \
 142	 CVMX_ADD_IO_SEG(0x0001180008000208ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 143#define CVMX_GMXX_TXX_CTL(offset, block_id) \
 144	 CVMX_ADD_IO_SEG(0x0001180008000270ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 145#define CVMX_GMXX_TXX_MIN_PKT(offset, block_id) \
 146	 CVMX_ADD_IO_SEG(0x0001180008000240ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 147#define CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(offset, block_id) \
 148	 CVMX_ADD_IO_SEG(0x0001180008000248ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 149#define CVMX_GMXX_TXX_PAUSE_PKT_TIME(offset, block_id) \
 150	 CVMX_ADD_IO_SEG(0x0001180008000238ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 151#define CVMX_GMXX_TXX_PAUSE_TOGO(offset, block_id) \
 152	 CVMX_ADD_IO_SEG(0x0001180008000258ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 153#define CVMX_GMXX_TXX_PAUSE_ZERO(offset, block_id) \
 154	 CVMX_ADD_IO_SEG(0x0001180008000260ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 155#define CVMX_GMXX_TXX_SGMII_CTL(offset, block_id) \
 156	 CVMX_ADD_IO_SEG(0x0001180008000300ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 157#define CVMX_GMXX_TXX_SLOT(offset, block_id) \
 158	 CVMX_ADD_IO_SEG(0x0001180008000220ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 159#define CVMX_GMXX_TXX_SOFT_PAUSE(offset, block_id) \
 160	 CVMX_ADD_IO_SEG(0x0001180008000250ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 161#define CVMX_GMXX_TXX_STAT0(offset, block_id) \
 162	 CVMX_ADD_IO_SEG(0x0001180008000280ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 163#define CVMX_GMXX_TXX_STAT1(offset, block_id) \
 164	 CVMX_ADD_IO_SEG(0x0001180008000288ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 165#define CVMX_GMXX_TXX_STAT2(offset, block_id) \
 166	 CVMX_ADD_IO_SEG(0x0001180008000290ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 167#define CVMX_GMXX_TXX_STAT3(offset, block_id) \
 168	 CVMX_ADD_IO_SEG(0x0001180008000298ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 169#define CVMX_GMXX_TXX_STAT4(offset, block_id) \
 170	 CVMX_ADD_IO_SEG(0x00011800080002A0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 171#define CVMX_GMXX_TXX_STAT5(offset, block_id) \
 172	 CVMX_ADD_IO_SEG(0x00011800080002A8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 173#define CVMX_GMXX_TXX_STAT6(offset, block_id) \
 174	 CVMX_ADD_IO_SEG(0x00011800080002B0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 175#define CVMX_GMXX_TXX_STAT7(offset, block_id) \
 176	 CVMX_ADD_IO_SEG(0x00011800080002B8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 177#define CVMX_GMXX_TXX_STAT8(offset, block_id) \
 178	 CVMX_ADD_IO_SEG(0x00011800080002C0ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 179#define CVMX_GMXX_TXX_STAT9(offset, block_id) \
 180	 CVMX_ADD_IO_SEG(0x00011800080002C8ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 181#define CVMX_GMXX_TXX_STATS_CTL(offset, block_id) \
 182	 CVMX_ADD_IO_SEG(0x0001180008000268ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 183#define CVMX_GMXX_TXX_THRESH(offset, block_id) \
 184	 CVMX_ADD_IO_SEG(0x0001180008000210ull + (((offset) & 3) * 2048) + (((block_id) & 1) * 0x8000000ull))
 185#define CVMX_GMXX_TX_BP(block_id) \
 186	 CVMX_ADD_IO_SEG(0x00011800080004D0ull + (((block_id) & 1) * 0x8000000ull))
 187#define CVMX_GMXX_TX_CLK_MSKX(offset, block_id) \
 188	 CVMX_ADD_IO_SEG(0x0001180008000780ull + (((offset) & 1) * 8) + (((block_id) & 0) * 0x0ull))
 189#define CVMX_GMXX_TX_COL_ATTEMPT(block_id) \
 190	 CVMX_ADD_IO_SEG(0x0001180008000498ull + (((block_id) & 1) * 0x8000000ull))
 191#define CVMX_GMXX_TX_CORRUPT(block_id) \
 192	 CVMX_ADD_IO_SEG(0x00011800080004D8ull + (((block_id) & 1) * 0x8000000ull))
 193#define CVMX_GMXX_TX_HG2_REG1(block_id) \
 194	 CVMX_ADD_IO_SEG(0x0001180008000558ull + (((block_id) & 1) * 0x8000000ull))
 195#define CVMX_GMXX_TX_HG2_REG2(block_id) \
 196	 CVMX_ADD_IO_SEG(0x0001180008000560ull + (((block_id) & 1) * 0x8000000ull))
 197#define CVMX_GMXX_TX_IFG(block_id) \
 198	 CVMX_ADD_IO_SEG(0x0001180008000488ull + (((block_id) & 1) * 0x8000000ull))
 199#define CVMX_GMXX_TX_INT_EN(block_id) \
 200	 CVMX_ADD_IO_SEG(0x0001180008000508ull + (((block_id) & 1) * 0x8000000ull))
 201#define CVMX_GMXX_TX_INT_REG(block_id) \
 202	 CVMX_ADD_IO_SEG(0x0001180008000500ull + (((block_id) & 1) * 0x8000000ull))
 203#define CVMX_GMXX_TX_JAM(block_id) \
 204	 CVMX_ADD_IO_SEG(0x0001180008000490ull + (((block_id) & 1) * 0x8000000ull))
 205#define CVMX_GMXX_TX_LFSR(block_id) \
 206	 CVMX_ADD_IO_SEG(0x00011800080004F8ull + (((block_id) & 1) * 0x8000000ull))
 207#define CVMX_GMXX_TX_OVR_BP(block_id) \
 208	 CVMX_ADD_IO_SEG(0x00011800080004C8ull + (((block_id) & 1) * 0x8000000ull))
 209#define CVMX_GMXX_TX_PAUSE_PKT_DMAC(block_id) \
 210	 CVMX_ADD_IO_SEG(0x00011800080004A0ull + (((block_id) & 1) * 0x8000000ull))
 211#define CVMX_GMXX_TX_PAUSE_PKT_TYPE(block_id) \
 212	 CVMX_ADD_IO_SEG(0x00011800080004A8ull + (((block_id) & 1) * 0x8000000ull))
 213#define CVMX_GMXX_TX_PRTS(block_id) \
 214	 CVMX_ADD_IO_SEG(0x0001180008000480ull + (((block_id) & 1) * 0x8000000ull))
 215#define CVMX_GMXX_TX_SPI_CTL(block_id) \
 216	 CVMX_ADD_IO_SEG(0x00011800080004C0ull + (((block_id) & 1) * 0x8000000ull))
 217#define CVMX_GMXX_TX_SPI_DRAIN(block_id) \
 218	 CVMX_ADD_IO_SEG(0x00011800080004E0ull + (((block_id) & 1) * 0x8000000ull))
 219#define CVMX_GMXX_TX_SPI_MAX(block_id) \
 220	 CVMX_ADD_IO_SEG(0x00011800080004B0ull + (((block_id) & 1) * 0x8000000ull))
 221#define CVMX_GMXX_TX_SPI_ROUNDX(offset, block_id) \
 222	 CVMX_ADD_IO_SEG(0x0001180008000680ull + (((offset) & 31) * 8) + (((block_id) & 1) * 0x8000000ull))
 223#define CVMX_GMXX_TX_SPI_THRESH(block_id) \
 224	 CVMX_ADD_IO_SEG(0x00011800080004B8ull + (((block_id) & 1) * 0x8000000ull))
 225#define CVMX_GMXX_TX_XAUI_CTL(block_id) \
 226	 CVMX_ADD_IO_SEG(0x0001180008000528ull + (((block_id) & 1) * 0x8000000ull))
 227#define CVMX_GMXX_XAUI_EXT_LOOPBACK(block_id) \
 228	 CVMX_ADD_IO_SEG(0x0001180008000540ull + (((block_id) & 1) * 0x8000000ull))
 229
 230union cvmx_gmxx_bad_reg {
 231	uint64_t u64;
 232	struct cvmx_gmxx_bad_reg_s {
 233		uint64_t reserved_31_63:33;
 234		uint64_t inb_nxa:4;
 235		uint64_t statovr:1;
 236		uint64_t loststat:4;
 237		uint64_t reserved_18_21:4;
 238		uint64_t out_ovr:16;
 239		uint64_t ncb_ovr:1;
 240		uint64_t out_col:1;
 241	} s;
 242	struct cvmx_gmxx_bad_reg_cn30xx {
 243		uint64_t reserved_31_63:33;
 244		uint64_t inb_nxa:4;
 245		uint64_t statovr:1;
 246		uint64_t reserved_25_25:1;
 247		uint64_t loststat:3;
 248		uint64_t reserved_5_21:17;
 249		uint64_t out_ovr:3;
 250		uint64_t reserved_0_1:2;
 251	} cn30xx;
 252	struct cvmx_gmxx_bad_reg_cn30xx cn31xx;
 253	struct cvmx_gmxx_bad_reg_s cn38xx;
 254	struct cvmx_gmxx_bad_reg_s cn38xxp2;
 255	struct cvmx_gmxx_bad_reg_cn30xx cn50xx;
 256	struct cvmx_gmxx_bad_reg_cn52xx {
 257		uint64_t reserved_31_63:33;
 258		uint64_t inb_nxa:4;
 259		uint64_t statovr:1;
 260		uint64_t loststat:4;
 261		uint64_t reserved_6_21:16;
 262		uint64_t out_ovr:4;
 263		uint64_t reserved_0_1:2;
 264	} cn52xx;
 265	struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1;
 266	struct cvmx_gmxx_bad_reg_cn52xx cn56xx;
 267	struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1;
 268	struct cvmx_gmxx_bad_reg_s cn58xx;
 269	struct cvmx_gmxx_bad_reg_s cn58xxp1;
 270};
 271
 272union cvmx_gmxx_bist {
 273	uint64_t u64;
 274	struct cvmx_gmxx_bist_s {
 275		uint64_t reserved_17_63:47;
 276		uint64_t status:17;
 277	} s;
 278	struct cvmx_gmxx_bist_cn30xx {
 279		uint64_t reserved_10_63:54;
 280		uint64_t status:10;
 281	} cn30xx;
 282	struct cvmx_gmxx_bist_cn30xx cn31xx;
 283	struct cvmx_gmxx_bist_cn30xx cn38xx;
 284	struct cvmx_gmxx_bist_cn30xx cn38xxp2;
 285	struct cvmx_gmxx_bist_cn50xx {
 286		uint64_t reserved_12_63:52;
 287		uint64_t status:12;
 288	} cn50xx;
 289	struct cvmx_gmxx_bist_cn52xx {
 290		uint64_t reserved_16_63:48;
 291		uint64_t status:16;
 292	} cn52xx;
 293	struct cvmx_gmxx_bist_cn52xx cn52xxp1;
 294	struct cvmx_gmxx_bist_cn52xx cn56xx;
 295	struct cvmx_gmxx_bist_cn52xx cn56xxp1;
 296	struct cvmx_gmxx_bist_s cn58xx;
 297	struct cvmx_gmxx_bist_s cn58xxp1;
 298};
 299
 300union cvmx_gmxx_clk_en {
 301	uint64_t u64;
 302	struct cvmx_gmxx_clk_en_s {
 303		uint64_t reserved_1_63:63;
 304		uint64_t clk_en:1;
 305	} s;
 306	struct cvmx_gmxx_clk_en_s cn52xx;
 307	struct cvmx_gmxx_clk_en_s cn52xxp1;
 308	struct cvmx_gmxx_clk_en_s cn56xx;
 309	struct cvmx_gmxx_clk_en_s cn56xxp1;
 310};
 311
 312union cvmx_gmxx_hg2_control {
 313	uint64_t u64;
 314	struct cvmx_gmxx_hg2_control_s {
 315		uint64_t reserved_19_63:45;
 316		uint64_t hg2tx_en:1;
 317		uint64_t hg2rx_en:1;
 318		uint64_t phys_en:1;
 319		uint64_t logl_en:16;
 320	} s;
 321	struct cvmx_gmxx_hg2_control_s cn52xx;
 322	struct cvmx_gmxx_hg2_control_s cn52xxp1;
 323	struct cvmx_gmxx_hg2_control_s cn56xx;
 324};
 325
 326union cvmx_gmxx_inf_mode {
 327	uint64_t u64;
 328	struct cvmx_gmxx_inf_mode_s {
 329		uint64_t reserved_10_63:54;
 330		uint64_t speed:2;
 331		uint64_t reserved_6_7:2;
 332		uint64_t mode:2;
 333		uint64_t reserved_3_3:1;
 334		uint64_t p0mii:1;
 335		uint64_t en:1;
 336		uint64_t type:1;
 337	} s;
 338	struct cvmx_gmxx_inf_mode_cn30xx {
 339		uint64_t reserved_3_63:61;
 340		uint64_t p0mii:1;
 341		uint64_t en:1;
 342		uint64_t type:1;
 343	} cn30xx;
 344	struct cvmx_gmxx_inf_mode_cn31xx {
 345		uint64_t reserved_2_63:62;
 346		uint64_t en:1;
 347		uint64_t type:1;
 348	} cn31xx;
 349	struct cvmx_gmxx_inf_mode_cn31xx cn38xx;
 350	struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2;
 351	struct cvmx_gmxx_inf_mode_cn30xx cn50xx;
 352	struct cvmx_gmxx_inf_mode_cn52xx {
 353		uint64_t reserved_10_63:54;
 354		uint64_t speed:2;
 355		uint64_t reserved_6_7:2;
 356		uint64_t mode:2;
 357		uint64_t reserved_2_3:2;
 358		uint64_t en:1;
 359		uint64_t type:1;
 360	} cn52xx;
 361	struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1;
 362	struct cvmx_gmxx_inf_mode_cn52xx cn56xx;
 363	struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1;
 364	struct cvmx_gmxx_inf_mode_cn31xx cn58xx;
 365	struct cvmx_gmxx_inf_mode_cn31xx cn58xxp1;
 366};
 367
 368union cvmx_gmxx_nxa_adr {
 369	uint64_t u64;
 370	struct cvmx_gmxx_nxa_adr_s {
 371		uint64_t reserved_6_63:58;
 372		uint64_t prt:6;
 373	} s;
 374	struct cvmx_gmxx_nxa_adr_s cn30xx;
 375	struct cvmx_gmxx_nxa_adr_s cn31xx;
 376	struct cvmx_gmxx_nxa_adr_s cn38xx;
 377	struct cvmx_gmxx_nxa_adr_s cn38xxp2;
 378	struct cvmx_gmxx_nxa_adr_s cn50xx;
 379	struct cvmx_gmxx_nxa_adr_s cn52xx;
 380	struct cvmx_gmxx_nxa_adr_s cn52xxp1;
 381	struct cvmx_gmxx_nxa_adr_s cn56xx;
 382	struct cvmx_gmxx_nxa_adr_s cn56xxp1;
 383	struct cvmx_gmxx_nxa_adr_s cn58xx;
 384	struct cvmx_gmxx_nxa_adr_s cn58xxp1;
 385};
 386
 387union cvmx_gmxx_prtx_cbfc_ctl {
 388	uint64_t u64;
 389	struct cvmx_gmxx_prtx_cbfc_ctl_s {
 390		uint64_t phys_en:16;
 391		uint64_t logl_en:16;
 392		uint64_t phys_bp:16;
 393		uint64_t reserved_4_15:12;
 394		uint64_t bck_en:1;
 395		uint64_t drp_en:1;
 396		uint64_t tx_en:1;
 397		uint64_t rx_en:1;
 398	} s;
 399	struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx;
 400	struct cvmx_gmxx_prtx_cbfc_ctl_s cn56xx;
 401};
 402
 403union cvmx_gmxx_prtx_cfg {
 404	uint64_t u64;
 405	struct cvmx_gmxx_prtx_cfg_s {
 406		uint64_t reserved_14_63:50;
 407		uint64_t tx_idle:1;
 408		uint64_t rx_idle:1;
 409		uint64_t reserved_9_11:3;
 410		uint64_t speed_msb:1;
 411		uint64_t reserved_4_7:4;
 412		uint64_t slottime:1;
 413		uint64_t duplex:1;
 414		uint64_t speed:1;
 415		uint64_t en:1;
 416	} s;
 417	struct cvmx_gmxx_prtx_cfg_cn30xx {
 418		uint64_t reserved_4_63:60;
 419		uint64_t slottime:1;
 420		uint64_t duplex:1;
 421		uint64_t speed:1;
 422		uint64_t en:1;
 423	} cn30xx;
 424	struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx;
 425	struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx;
 426	struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2;
 427	struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx;
 428	struct cvmx_gmxx_prtx_cfg_s cn52xx;
 429	struct cvmx_gmxx_prtx_cfg_s cn52xxp1;
 430	struct cvmx_gmxx_prtx_cfg_s cn56xx;
 431	struct cvmx_gmxx_prtx_cfg_s cn56xxp1;
 432	struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx;
 433	struct cvmx_gmxx_prtx_cfg_cn30xx cn58xxp1;
 434};
 435
 436union cvmx_gmxx_rxx_adr_cam0 {
 437	uint64_t u64;
 438	struct cvmx_gmxx_rxx_adr_cam0_s {
 439		uint64_t adr:64;
 440	} s;
 441	struct cvmx_gmxx_rxx_adr_cam0_s cn30xx;
 442	struct cvmx_gmxx_rxx_adr_cam0_s cn31xx;
 443	struct cvmx_gmxx_rxx_adr_cam0_s cn38xx;
 444	struct cvmx_gmxx_rxx_adr_cam0_s cn38xxp2;
 445	struct cvmx_gmxx_rxx_adr_cam0_s cn50xx;
 446	struct cvmx_gmxx_rxx_adr_cam0_s cn52xx;
 447	struct cvmx_gmxx_rxx_adr_cam0_s cn52xxp1;
 448	struct cvmx_gmxx_rxx_adr_cam0_s cn56xx;
 449	struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1;
 450	struct cvmx_gmxx_rxx_adr_cam0_s cn58xx;
 451	struct cvmx_gmxx_rxx_adr_cam0_s cn58xxp1;
 452};
 453
 454union cvmx_gmxx_rxx_adr_cam1 {
 455	uint64_t u64;
 456	struct cvmx_gmxx_rxx_adr_cam1_s {
 457		uint64_t adr:64;
 458	} s;
 459	struct cvmx_gmxx_rxx_adr_cam1_s cn30xx;
 460	struct cvmx_gmxx_rxx_adr_cam1_s cn31xx;
 461	struct cvmx_gmxx_rxx_adr_cam1_s cn38xx;
 462	struct cvmx_gmxx_rxx_adr_cam1_s cn38xxp2;
 463	struct cvmx_gmxx_rxx_adr_cam1_s cn50xx;
 464	struct cvmx_gmxx_rxx_adr_cam1_s cn52xx;
 465	struct cvmx_gmxx_rxx_adr_cam1_s cn52xxp1;
 466	struct cvmx_gmxx_rxx_adr_cam1_s cn56xx;
 467	struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1;
 468	struct cvmx_gmxx_rxx_adr_cam1_s cn58xx;
 469	struct cvmx_gmxx_rxx_adr_cam1_s cn58xxp1;
 470};
 471
 472union cvmx_gmxx_rxx_adr_cam2 {
 473	uint64_t u64;
 474	struct cvmx_gmxx_rxx_adr_cam2_s {
 475		uint64_t adr:64;
 476	} s;
 477	struct cvmx_gmxx_rxx_adr_cam2_s cn30xx;
 478	struct cvmx_gmxx_rxx_adr_cam2_s cn31xx;
 479	struct cvmx_gmxx_rxx_adr_cam2_s cn38xx;
 480	struct cvmx_gmxx_rxx_adr_cam2_s cn38xxp2;
 481	struct cvmx_gmxx_rxx_adr_cam2_s cn50xx;
 482	struct cvmx_gmxx_rxx_adr_cam2_s cn52xx;
 483	struct cvmx_gmxx_rxx_adr_cam2_s cn52xxp1;
 484	struct cvmx_gmxx_rxx_adr_cam2_s cn56xx;
 485	struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1;
 486	struct cvmx_gmxx_rxx_adr_cam2_s cn58xx;
 487	struct cvmx_gmxx_rxx_adr_cam2_s cn58xxp1;
 488};
 489
 490union cvmx_gmxx_rxx_adr_cam3 {
 491	uint64_t u64;
 492	struct cvmx_gmxx_rxx_adr_cam3_s {
 493		uint64_t adr:64;
 494	} s;
 495	struct cvmx_gmxx_rxx_adr_cam3_s cn30xx;
 496	struct cvmx_gmxx_rxx_adr_cam3_s cn31xx;
 497	struct cvmx_gmxx_rxx_adr_cam3_s cn38xx;
 498	struct cvmx_gmxx_rxx_adr_cam3_s cn38xxp2;
 499	struct cvmx_gmxx_rxx_adr_cam3_s cn50xx;
 500	struct cvmx_gmxx_rxx_adr_cam3_s cn52xx;
 501	struct cvmx_gmxx_rxx_adr_cam3_s cn52xxp1;
 502	struct cvmx_gmxx_rxx_adr_cam3_s cn56xx;
 503	struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1;
 504	struct cvmx_gmxx_rxx_adr_cam3_s cn58xx;
 505	struct cvmx_gmxx_rxx_adr_cam3_s cn58xxp1;
 506};
 507
 508union cvmx_gmxx_rxx_adr_cam4 {
 509	uint64_t u64;
 510	struct cvmx_gmxx_rxx_adr_cam4_s {
 511		uint64_t adr:64;
 512	} s;
 513	struct cvmx_gmxx_rxx_adr_cam4_s cn30xx;
 514	struct cvmx_gmxx_rxx_adr_cam4_s cn31xx;
 515	struct cvmx_gmxx_rxx_adr_cam4_s cn38xx;
 516	struct cvmx_gmxx_rxx_adr_cam4_s cn38xxp2;
 517	struct cvmx_gmxx_rxx_adr_cam4_s cn50xx;
 518	struct cvmx_gmxx_rxx_adr_cam4_s cn52xx;
 519	struct cvmx_gmxx_rxx_adr_cam4_s cn52xxp1;
 520	struct cvmx_gmxx_rxx_adr_cam4_s cn56xx;
 521	struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1;
 522	struct cvmx_gmxx_rxx_adr_cam4_s cn58xx;
 523	struct cvmx_gmxx_rxx_adr_cam4_s cn58xxp1;
 524};
 525
 526union cvmx_gmxx_rxx_adr_cam5 {
 527	uint64_t u64;
 528	struct cvmx_gmxx_rxx_adr_cam5_s {
 529		uint64_t adr:64;
 530	} s;
 531	struct cvmx_gmxx_rxx_adr_cam5_s cn30xx;
 532	struct cvmx_gmxx_rxx_adr_cam5_s cn31xx;
 533	struct cvmx_gmxx_rxx_adr_cam5_s cn38xx;
 534	struct cvmx_gmxx_rxx_adr_cam5_s cn38xxp2;
 535	struct cvmx_gmxx_rxx_adr_cam5_s cn50xx;
 536	struct cvmx_gmxx_rxx_adr_cam5_s cn52xx;
 537	struct cvmx_gmxx_rxx_adr_cam5_s cn52xxp1;
 538	struct cvmx_gmxx_rxx_adr_cam5_s cn56xx;
 539	struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1;
 540	struct cvmx_gmxx_rxx_adr_cam5_s cn58xx;
 541	struct cvmx_gmxx_rxx_adr_cam5_s cn58xxp1;
 542};
 543
 544union cvmx_gmxx_rxx_adr_cam_en {
 545	uint64_t u64;
 546	struct cvmx_gmxx_rxx_adr_cam_en_s {
 547		uint64_t reserved_8_63:56;
 548		uint64_t en:8;
 549	} s;
 550	struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx;
 551	struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx;
 552	struct cvmx_gmxx_rxx_adr_cam_en_s cn38xx;
 553	struct cvmx_gmxx_rxx_adr_cam_en_s cn38xxp2;
 554	struct cvmx_gmxx_rxx_adr_cam_en_s cn50xx;
 555	struct cvmx_gmxx_rxx_adr_cam_en_s cn52xx;
 556	struct cvmx_gmxx_rxx_adr_cam_en_s cn52xxp1;
 557	struct cvmx_gmxx_rxx_adr_cam_en_s cn56xx;
 558	struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1;
 559	struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx;
 560	struct cvmx_gmxx_rxx_adr_cam_en_s cn58xxp1;
 561};
 562
 563union cvmx_gmxx_rxx_adr_ctl {
 564	uint64_t u64;
 565	struct cvmx_gmxx_rxx_adr_ctl_s {
 566		uint64_t reserved_4_63:60;
 567		uint64_t cam_mode:1;
 568		uint64_t mcst:2;
 569		uint64_t bcst:1;
 570	} s;
 571	struct cvmx_gmxx_rxx_adr_ctl_s cn30xx;
 572	struct cvmx_gmxx_rxx_adr_ctl_s cn31xx;
 573	struct cvmx_gmxx_rxx_adr_ctl_s cn38xx;
 574	struct cvmx_gmxx_rxx_adr_ctl_s cn38xxp2;
 575	struct cvmx_gmxx_rxx_adr_ctl_s cn50xx;
 576	struct cvmx_gmxx_rxx_adr_ctl_s cn52xx;
 577	struct cvmx_gmxx_rxx_adr_ctl_s cn52xxp1;
 578	struct cvmx_gmxx_rxx_adr_ctl_s cn56xx;
 579	struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1;
 580	struct cvmx_gmxx_rxx_adr_ctl_s cn58xx;
 581	struct cvmx_gmxx_rxx_adr_ctl_s cn58xxp1;
 582};
 583
 584union cvmx_gmxx_rxx_decision {
 585	uint64_t u64;
 586	struct cvmx_gmxx_rxx_decision_s {
 587		uint64_t reserved_5_63:59;
 588		uint64_t cnt:5;
 589	} s;
 590	struct cvmx_gmxx_rxx_decision_s cn30xx;
 591	struct cvmx_gmxx_rxx_decision_s cn31xx;
 592	struct cvmx_gmxx_rxx_decision_s cn38xx;
 593	struct cvmx_gmxx_rxx_decision_s cn38xxp2;
 594	struct cvmx_gmxx_rxx_decision_s cn50xx;
 595	struct cvmx_gmxx_rxx_decision_s cn52xx;
 596	struct cvmx_gmxx_rxx_decision_s cn52xxp1;
 597	struct cvmx_gmxx_rxx_decision_s cn56xx;
 598	struct cvmx_gmxx_rxx_decision_s cn56xxp1;
 599	struct cvmx_gmxx_rxx_decision_s cn58xx;
 600	struct cvmx_gmxx_rxx_decision_s cn58xxp1;
 601};
 602
 603union cvmx_gmxx_rxx_frm_chk {
 604	uint64_t u64;
 605	struct cvmx_gmxx_rxx_frm_chk_s {
 606		uint64_t reserved_10_63:54;
 607		uint64_t niberr:1;
 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 carext:1;
 616		uint64_t minerr:1;
 617	} s;
 618	struct cvmx_gmxx_rxx_frm_chk_s cn30xx;
 619	struct cvmx_gmxx_rxx_frm_chk_s cn31xx;
 620	struct cvmx_gmxx_rxx_frm_chk_s cn38xx;
 621	struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2;
 622	struct cvmx_gmxx_rxx_frm_chk_cn50xx {
 623		uint64_t reserved_10_63:54;
 624		uint64_t niberr:1;
 625		uint64_t skperr:1;
 626		uint64_t rcverr:1;
 627		uint64_t reserved_6_6:1;
 628		uint64_t alnerr:1;
 629		uint64_t fcserr:1;
 630		uint64_t jabber:1;
 631		uint64_t reserved_2_2:1;
 632		uint64_t carext:1;
 633		uint64_t reserved_0_0:1;
 634	} cn50xx;
 635	struct cvmx_gmxx_rxx_frm_chk_cn52xx {
 636		uint64_t reserved_9_63:55;
 637		uint64_t skperr:1;
 638		uint64_t rcverr:1;
 639		uint64_t reserved_5_6:2;
 640		uint64_t fcserr:1;
 641		uint64_t jabber:1;
 642		uint64_t reserved_2_2:1;
 643		uint64_t carext:1;
 644		uint64_t reserved_0_0:1;
 645	} cn52xx;
 646	struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1;
 647	struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx;
 648	struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1;
 649	struct cvmx_gmxx_rxx_frm_chk_s cn58xx;
 650	struct cvmx_gmxx_rxx_frm_chk_s cn58xxp1;
 651};
 652
 653union cvmx_gmxx_rxx_frm_ctl {
 654	uint64_t u64;
 655	struct cvmx_gmxx_rxx_frm_ctl_s {
 656		uint64_t reserved_11_63:53;
 657		uint64_t null_dis:1;
 658		uint64_t pre_align:1;
 659		uint64_t pad_len:1;
 660		uint64_t vlan_len:1;
 661		uint64_t pre_free:1;
 662		uint64_t ctl_smac:1;
 663		uint64_t ctl_mcst:1;
 664		uint64_t ctl_bck:1;
 665		uint64_t ctl_drp:1;
 666		uint64_t pre_strp:1;
 667		uint64_t pre_chk:1;
 668	} s;
 669	struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
 670		uint64_t reserved_9_63:55;
 671		uint64_t pad_len:1;
 672		uint64_t vlan_len:1;
 673		uint64_t pre_free:1;
 674		uint64_t ctl_smac:1;
 675		uint64_t ctl_mcst:1;
 676		uint64_t ctl_bck:1;
 677		uint64_t ctl_drp:1;
 678		uint64_t pre_strp:1;
 679		uint64_t pre_chk:1;
 680	} cn30xx;
 681	struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
 682		uint64_t reserved_8_63:56;
 683		uint64_t vlan_len:1;
 684		uint64_t pre_free:1;
 685		uint64_t ctl_smac:1;
 686		uint64_t ctl_mcst:1;
 687		uint64_t ctl_bck:1;
 688		uint64_t ctl_drp:1;
 689		uint64_t pre_strp:1;
 690		uint64_t pre_chk:1;
 691	} cn31xx;
 692	struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx;
 693	struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2;
 694	struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
 695		uint64_t reserved_11_63:53;
 696		uint64_t null_dis:1;
 697		uint64_t pre_align:1;
 698		uint64_t reserved_7_8:2;
 699		uint64_t pre_free:1;
 700		uint64_t ctl_smac:1;
 701		uint64_t ctl_mcst:1;
 702		uint64_t ctl_bck:1;
 703		uint64_t ctl_drp:1;
 704		uint64_t pre_strp:1;
 705		uint64_t pre_chk:1;
 706	} cn50xx;
 707	struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx;
 708	struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1;
 709	struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx;
 710	struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
 711		uint64_t reserved_10_63:54;
 712		uint64_t pre_align:1;
 713		uint64_t reserved_7_8:2;
 714		uint64_t pre_free:1;
 715		uint64_t ctl_smac:1;
 716		uint64_t ctl_mcst:1;
 717		uint64_t ctl_bck:1;
 718		uint64_t ctl_drp:1;
 719		uint64_t pre_strp:1;
 720		uint64_t pre_chk:1;
 721	} cn56xxp1;
 722	struct cvmx_gmxx_rxx_frm_ctl_s cn58xx;
 723	struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn58xxp1;
 724};
 725
 726union cvmx_gmxx_rxx_frm_max {
 727	uint64_t u64;
 728	struct cvmx_gmxx_rxx_frm_max_s {
 729		uint64_t reserved_16_63:48;
 730		uint64_t len:16;
 731	} s;
 732	struct cvmx_gmxx_rxx_frm_max_s cn30xx;
 733	struct cvmx_gmxx_rxx_frm_max_s cn31xx;
 734	struct cvmx_gmxx_rxx_frm_max_s cn38xx;
 735	struct cvmx_gmxx_rxx_frm_max_s cn38xxp2;
 736	struct cvmx_gmxx_rxx_frm_max_s cn58xx;
 737	struct cvmx_gmxx_rxx_frm_max_s cn58xxp1;
 738};
 739
 740union cvmx_gmxx_rxx_frm_min {
 741	uint64_t u64;
 742	struct cvmx_gmxx_rxx_frm_min_s {
 743		uint64_t reserved_16_63:48;
 744		uint64_t len:16;
 745	} s;
 746	struct cvmx_gmxx_rxx_frm_min_s cn30xx;
 747	struct cvmx_gmxx_rxx_frm_min_s cn31xx;
 748	struct cvmx_gmxx_rxx_frm_min_s cn38xx;
 749	struct cvmx_gmxx_rxx_frm_min_s cn38xxp2;
 750	struct cvmx_gmxx_rxx_frm_min_s cn58xx;
 751	struct cvmx_gmxx_rxx_frm_min_s cn58xxp1;
 752};
 753
 754union cvmx_gmxx_rxx_ifg {
 755	uint64_t u64;
 756	struct cvmx_gmxx_rxx_ifg_s {
 757		uint64_t reserved_4_63:60;
 758		uint64_t ifg:4;
 759	} s;
 760	struct cvmx_gmxx_rxx_ifg_s cn30xx;
 761	struct cvmx_gmxx_rxx_ifg_s cn31xx;
 762	struct cvmx_gmxx_rxx_ifg_s cn38xx;
 763	struct cvmx_gmxx_rxx_ifg_s cn38xxp2;
 764	struct cvmx_gmxx_rxx_ifg_s cn50xx;
 765	struct cvmx_gmxx_rxx_ifg_s cn52xx;
 766	struct cvmx_gmxx_rxx_ifg_s cn52xxp1;
 767	struct cvmx_gmxx_rxx_ifg_s cn56xx;
 768	struct cvmx_gmxx_rxx_ifg_s cn56xxp1;
 769	struct cvmx_gmxx_rxx_ifg_s cn58xx;
 770	struct cvmx_gmxx_rxx_ifg_s cn58xxp1;
 771};
 772
 773union cvmx_gmxx_rxx_int_en {
 774	uint64_t u64;
 775	struct cvmx_gmxx_rxx_int_en_s {
 776		uint64_t reserved_29_63:35;
 777		uint64_t hg2cc:1;
 778		uint64_t hg2fld:1;
 779		uint64_t undat:1;
 780		uint64_t uneop:1;
 781		uint64_t unsop:1;
 782		uint64_t bad_term:1;
 783		uint64_t bad_seq:1;
 784		uint64_t rem_fault:1;
 785		uint64_t loc_fault:1;
 786		uint64_t pause_drp:1;
 787		uint64_t phy_dupx:1;
 788		uint64_t phy_spd:1;
 789		uint64_t phy_link:1;
 790		uint64_t ifgerr:1;
 791		uint64_t coldet:1;
 792		uint64_t falerr:1;
 793		uint64_t rsverr:1;
 794		uint64_t pcterr:1;
 795		uint64_t ovrerr:1;
 796		uint64_t niberr:1;
 797		uint64_t skperr:1;
 798		uint64_t rcverr:1;
 799		uint64_t lenerr:1;
 800		uint64_t alnerr:1;
 801		uint64_t fcserr:1;
 802		uint64_t jabber:1;
 803		uint64_t maxerr:1;
 804		uint64_t carext:1;
 805		uint64_t minerr:1;
 806	} s;
 807	struct cvmx_gmxx_rxx_int_en_cn30xx {
 808		uint64_t reserved_19_63:45;
 809		uint64_t phy_dupx:1;
 810		uint64_t phy_spd:1;
 811		uint64_t phy_link:1;
 812		uint64_t ifgerr:1;
 813		uint64_t coldet:1;
 814		uint64_t falerr:1;
 815		uint64_t rsverr:1;
 816		uint64_t pcterr:1;
 817		uint64_t ovrerr:1;
 818		uint64_t niberr:1;
 819		uint64_t skperr:1;
 820		uint64_t rcverr:1;
 821		uint64_t lenerr:1;
 822		uint64_t alnerr:1;
 823		uint64_t fcserr:1;
 824		uint64_t jabber:1;
 825		uint64_t maxerr:1;
 826		uint64_t carext:1;
 827		uint64_t minerr:1;
 828	} cn30xx;
 829	struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx;
 830	struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx;
 831	struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2;
 832	struct cvmx_gmxx_rxx_int_en_cn50xx {
 833		uint64_t reserved_20_63:44;
 834		uint64_t pause_drp:1;
 835		uint64_t phy_dupx:1;
 836		uint64_t phy_spd:1;
 837		uint64_t phy_link:1;
 838		uint64_t ifgerr:1;
 839		uint64_t coldet:1;
 840		uint64_t falerr:1;
 841		uint64_t rsverr:1;
 842		uint64_t pcterr:1;
 843		uint64_t ovrerr:1;
 844		uint64_t niberr:1;
 845		uint64_t skperr:1;
 846		uint64_t rcverr:1;
 847		uint64_t reserved_6_6:1;
 848		uint64_t alnerr:1;
 849		uint64_t fcserr:1;
 850		uint64_t jabber:1;
 851		uint64_t reserved_2_2:1;
 852		uint64_t carext:1;
 853		uint64_t reserved_0_0:1;
 854	} cn50xx;
 855	struct cvmx_gmxx_rxx_int_en_cn52xx {
 856		uint64_t reserved_29_63:35;
 857		uint64_t hg2cc:1;
 858		uint64_t hg2fld:1;
 859		uint64_t undat:1;
 860		uint64_t uneop:1;
 861		uint64_t unsop:1;
 862		uint64_t bad_term:1;
 863		uint64_t bad_seq:1;
 864		uint64_t rem_fault:1;
 865		uint64_t loc_fault:1;
 866		uint64_t pause_drp:1;
 867		uint64_t reserved_16_18:3;
 868		uint64_t ifgerr:1;
 869		uint64_t coldet:1;
 870		uint64_t falerr:1;
 871		uint64_t rsverr:1;
 872		uint64_t pcterr:1;
 873		uint64_t ovrerr:1;
 874		uint64_t reserved_9_9:1;
 875		uint64_t skperr:1;
 876		uint64_t rcverr:1;
 877		uint64_t reserved_5_6:2;
 878		uint64_t fcserr:1;
 879		uint64_t jabber:1;
 880		uint64_t reserved_2_2:1;
 881		uint64_t carext:1;
 882		uint64_t reserved_0_0:1;
 883	} cn52xx;
 884	struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1;
 885	struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx;
 886	struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
 887		uint64_t reserved_27_63:37;
 888		uint64_t undat:1;
 889		uint64_t uneop:1;
 890		uint64_t unsop:1;
 891		uint64_t bad_term:1;
 892		uint64_t bad_seq:1;
 893		uint64_t rem_fault:1;
 894		uint64_t loc_fault:1;
 895		uint64_t pause_drp:1;
 896		uint64_t reserved_16_18:3;
 897		uint64_t ifgerr:1;
 898		uint64_t coldet:1;
 899		uint64_t falerr:1;
 900		uint64_t rsverr:1;
 901		uint64_t pcterr:1;
 902		uint64_t ovrerr:1;
 903		uint64_t reserved_9_9:1;
 904		uint64_t skperr:1;
 905		uint64_t rcverr:1;
 906		uint64_t reserved_5_6:2;
 907		uint64_t fcserr:1;
 908		uint64_t jabber:1;
 909		uint64_t reserved_2_2:1;
 910		uint64_t carext:1;
 911		uint64_t reserved_0_0:1;
 912	} cn56xxp1;
 913	struct cvmx_gmxx_rxx_int_en_cn58xx {
 914		uint64_t reserved_20_63:44;
 915		uint64_t pause_drp:1;
 916		uint64_t phy_dupx:1;
 917		uint64_t phy_spd:1;
 918		uint64_t phy_link:1;
 919		uint64_t ifgerr:1;
 920		uint64_t coldet:1;
 921		uint64_t falerr:1;
 922		uint64_t rsverr:1;
 923		uint64_t pcterr:1;
 924		uint64_t ovrerr:1;
 925		uint64_t niberr:1;
 926		uint64_t skperr:1;
 927		uint64_t rcverr:1;
 928		uint64_t lenerr:1;
 929		uint64_t alnerr:1;
 930		uint64_t fcserr:1;
 931		uint64_t jabber:1;
 932		uint64_t maxerr:1;
 933		uint64_t carext:1;
 934		uint64_t minerr:1;
 935	} cn58xx;
 936	struct cvmx_gmxx_rxx_int_en_cn58xx cn58xxp1;
 937};
 938
 939union cvmx_gmxx_rxx_int_reg {
 940	uint64_t u64;
 941	struct cvmx_gmxx_rxx_int_reg_s {
 942		uint64_t reserved_29_63:35;
 943		uint64_t hg2cc:1;
 944		uint64_t hg2fld:1;
 945		uint64_t undat:1;
 946		uint64_t uneop:1;
 947		uint64_t unsop:1;
 948		uint64_t bad_term:1;
 949		uint64_t bad_seq:1;
 950		uint64_t rem_fault:1;
 951		uint64_t loc_fault:1;
 952		uint64_t pause_drp:1;
 953		uint64_t phy_dupx:1;
 954		uint64_t phy_spd:1;
 955		uint64_t phy_link:1;
 956		uint64_t ifgerr:1;
 957		uint64_t coldet:1;
 958		uint64_t falerr:1;
 959		uint64_t rsverr:1;
 960		uint64_t pcterr:1;
 961		uint64_t ovrerr:1;
 962		uint64_t niberr:1;
 963		uint64_t skperr:1;
 964		uint64_t rcverr:1;
 965		uint64_t lenerr:1;
 966		uint64_t alnerr:1;
 967		uint64_t fcserr:1;
 968		uint64_t jabber:1;
 969		uint64_t maxerr:1;
 970		uint64_t carext:1;
 971		uint64_t minerr:1;
 972	} s;
 973	struct cvmx_gmxx_rxx_int_reg_cn30xx {
 974		uint64_t reserved_19_63:45;
 975		uint64_t phy_dupx:1;
 976		uint64_t phy_spd:1;
 977		uint64_t phy_link:1;
 978		uint64_t ifgerr:1;
 979		uint64_t coldet:1;
 980		uint64_t falerr:1;
 981		uint64_t rsverr:1;
 982		uint64_t pcterr:1;
 983		uint64_t ovrerr:1;
 984		uint64_t niberr:1;
 985		uint64_t skperr:1;
 986		uint64_t rcverr:1;
 987		uint64_t lenerr:1;
 988		uint64_t alnerr:1;
 989		uint64_t fcserr:1;
 990		uint64_t jabber:1;
 991		uint64_t maxerr:1;
 992		uint64_t carext:1;
 993		uint64_t minerr:1;
 994	} cn30xx;
 995	struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx;
 996	struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx;
 997	struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2;
 998	struct cvmx_gmxx_rxx_int_reg_cn50xx {
 999		uint64_t reserved_20_63:44;
1000		uint64_t pause_drp:1;
1001		uint64_t phy_dupx:1;
1002		uint64_t phy_spd:1;
1003		uint64_t phy_link:1;
1004		uint64_t ifgerr:1;
1005		uint64_t coldet:1;
1006		uint64_t falerr:1;
1007		uint64_t rsverr:1;
1008		uint64_t pcterr:1;
1009		uint64_t ovrerr:1;
1010		uint64_t niberr:1;
1011		uint64_t skperr:1;
1012		uint64_t rcverr:1;
1013		uint64_t reserved_6_6:1;
1014		uint64_t alnerr:1;
1015		uint64_t fcserr:1;
1016		uint64_t jabber:1;
1017		uint64_t reserved_2_2:1;
1018		uint64_t carext:1;
1019		uint64_t reserved_0_0:1;
1020	} cn50xx;
1021	struct cvmx_gmxx_rxx_int_reg_cn52xx {
1022		uint64_t reserved_29_63:35;
1023		uint64_t hg2cc:1;
1024		uint64_t hg2fld:1;
1025		uint64_t undat:1;
1026		uint64_t uneop:1;
1027		uint64_t unsop:1;
1028		uint64_t bad_term:1;
1029		uint64_t bad_seq:1;
1030		uint64_t rem_fault:1;
1031		uint64_t loc_fault:1;
1032		uint64_t pause_drp:1;
1033		uint64_t reserved_16_18:3;
1034		uint64_t ifgerr:1;
1035		uint64_t coldet:1;
1036		uint64_t falerr:1;
1037		uint64_t rsverr:1;
1038		uint64_t pcterr:1;
1039		uint64_t ovrerr:1;
1040		uint64_t reserved_9_9:1;
1041		uint64_t skperr:1;
1042		uint64_t rcverr:1;
1043		uint64_t reserved_5_6:2;
1044		uint64_t fcserr:1;
1045		uint64_t jabber:1;
1046		uint64_t reserved_2_2:1;
1047		uint64_t carext:1;
1048		uint64_t reserved_0_0:1;
1049	} cn52xx;
1050	struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1;
1051	struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx;
1052	struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
1053		uint64_t reserved_27_63:37;
1054		uint64_t undat:1;
1055		uint64_t uneop:1;
1056		uint64_t unsop:1;
1057		uint64_t bad_term:1;
1058		uint64_t bad_seq:1;
1059		uint64_t rem_fault:1;
1060		uint64_t loc_fault:1;
1061		uint64_t pause_drp:1;
1062		uint64_t reserved_16_18:3;
1063		uint64_t ifgerr:1;
1064		uint64_t coldet:1;
1065		uint64_t falerr:1;
1066		uint64_t rsverr:1;
1067		uint64_t pcterr:1;
1068		uint64_t ovrerr:1;
1069		uint64_t reserved_9_9:1;
1070		uint64_t skperr:1;
1071		uint64_t rcverr:1;
1072		uint64_t reserved_5_6:2;
1073		uint64_t fcserr:1;
1074		uint64_t jabber:1;
1075		uint64_t reserved_2_2:1;
1076		uint64_t carext:1;
1077		uint64_t reserved_0_0:1;
1078	} cn56xxp1;
1079	struct cvmx_gmxx_rxx_int_reg_cn58xx {
1080		uint64_t reserved_20_63:44;
1081		uint64_t pause_drp:1;
1082		uint64_t phy_dupx:1;
1083		uint64_t phy_spd:1;
1084		uint64_t phy_link:1;
1085		uint64_t ifgerr:1;
1086		uint64_t coldet:1;
1087		uint64_t falerr:1;
1088		uint64_t rsverr:1;
1089		uint64_t pcterr:1;
1090		uint64_t ovrerr:1;
1091		uint64_t niberr:1;
1092		uint64_t skperr:1;
1093		uint64_t rcverr:1;
1094		uint64_t lenerr:1;
1095		uint64_t alnerr:1;
1096		uint64_t fcserr:1;
1097		uint64_t jabber:1;
1098		uint64_t maxerr:1;
1099		uint64_t carext:1;
1100		uint64_t minerr:1;
1101	} cn58xx;
1102	struct cvmx_gmxx_rxx_int_reg_cn58xx cn58xxp1;
1103};
1104
1105union cvmx_gmxx_rxx_jabber {
1106	uint64_t u64;
1107	struct cvmx_gmxx_rxx_jabber_s {
1108		uint64_t reserved_16_63:48;
1109		uint64_t cnt:16;
1110	} s;
1111	struct cvmx_gmxx_rxx_jabber_s cn30xx;
1112	struct cvmx_gmxx_rxx_jabber_s cn31xx;
1113	struct cvmx_gmxx_rxx_jabber_s cn38xx;
1114	struct cvmx_gmxx_rxx_jabber_s cn38xxp2;
1115	struct cvmx_gmxx_rxx_jabber_s cn50xx;
1116	struct cvmx_gmxx_rxx_jabber_s cn52xx;
1117	struct cvmx_gmxx_rxx_jabber_s cn52xxp1;
1118	struct cvmx_gmxx_rxx_jabber_s cn56xx;
1119	struct cvmx_gmxx_rxx_jabber_s cn56xxp1;
1120	struct cvmx_gmxx_rxx_jabber_s cn58xx;
1121	struct cvmx_gmxx_rxx_jabber_s cn58xxp1;
1122};
1123
1124union cvmx_gmxx_rxx_pause_drop_time {
1125	uint64_t u64;
1126	struct cvmx_gmxx_rxx_pause_drop_time_s {
1127		uint64_t reserved_16_63:48;
1128		uint64_t status:16;
1129	} s;
1130	struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx;
1131	struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx;
1132	struct cvmx_gmxx_rxx_pause_drop_time_s cn52xxp1;
1133	struct cvmx_gmxx_rxx_pause_drop_time_s cn56xx;
1134	struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1;
1135	struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx;
1136	struct cvmx_gmxx_rxx_pause_drop_time_s cn58xxp1;
1137};
1138
1139union cvmx_gmxx_rxx_rx_inbnd {
1140	uint64_t u64;
1141	struct cvmx_gmxx_rxx_rx_inbnd_s {
1142		uint64_t reserved_4_63:60;
1143		uint64_t duplex:1;
1144		uint64_t speed:2;
1145		uint64_t status:1;
1146	} s;
1147	struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx;
1148	struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx;
1149	struct cvmx_gmxx_rxx_rx_inbnd_s cn38xx;
1150	struct cvmx_gmxx_rxx_rx_inbnd_s cn38xxp2;
1151	struct cvmx_gmxx_rxx_rx_inbnd_s cn50xx;
1152	struct cvmx_gmxx_rxx_rx_inbnd_s cn58xx;
1153	struct cvmx_gmxx_rxx_rx_inbnd_s cn58xxp1;
1154};
1155
1156union cvmx_gmxx_rxx_stats_ctl {
1157	uint64_t u64;
1158	struct cvmx_gmxx_rxx_stats_ctl_s {
1159		uint64_t reserved_1_63:63;
1160		uint64_t rd_clr:1;
1161	} s;
1162	struct cvmx_gmxx_rxx_stats_ctl_s cn30xx;
1163	struct cvmx_gmxx_rxx_stats_ctl_s cn31xx;
1164	struct cvmx_gmxx_rxx_stats_ctl_s cn38xx;
1165	struct cvmx_gmxx_rxx_stats_ctl_s cn38xxp2;
1166	struct cvmx_gmxx_rxx_stats_ctl_s cn50xx;
1167	struct cvmx_gmxx_rxx_stats_ctl_s cn52xx;
1168	struct cvmx_gmxx_rxx_stats_ctl_s cn52xxp1;
1169	struct cvmx_gmxx_rxx_stats_ctl_s cn56xx;
1170	struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1;
1171	struct cvmx_gmxx_rxx_stats_ctl_s cn58xx;
1172	struct cvmx_gmxx_rxx_stats_ctl_s cn58xxp1;
1173};
1174
1175union cvmx_gmxx_rxx_stats_octs {
1176	uint64_t u64;
1177	struct cvmx_gmxx_rxx_stats_octs_s {
1178		uint64_t reserved_48_63:16;
1179		uint64_t cnt:48;
1180	} s;
1181	struct cvmx_gmxx_rxx_stats_octs_s cn30xx;
1182	struct cvmx_gmxx_rxx_stats_octs_s cn31xx;
1183	struct cvmx_gmxx_rxx_stats_octs_s cn38xx;
1184	struct cvmx_gmxx_rxx_stats_octs_s cn38xxp2;
1185	struct cvmx_gmxx_rxx_stats_octs_s cn50xx;
1186	struct cvmx_gmxx_rxx_stats_octs_s cn52xx;
1187	struct cvmx_gmxx_rxx_stats_octs_s cn52xxp1;
1188	struct cvmx_gmxx_rxx_stats_octs_s cn56xx;
1189	struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1;
1190	struct cvmx_gmxx_rxx_stats_octs_s cn58xx;
1191	struct cvmx_gmxx_rxx_stats_octs_s cn58xxp1;
1192};
1193
1194union cvmx_gmxx_rxx_stats_octs_ctl {
1195	uint64_t u64;
1196	struct cvmx_gmxx_rxx_stats_octs_ctl_s {
1197		uint64_t reserved_48_63:16;
1198		uint64_t cnt:48;
1199	} s;
1200	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx;
1201	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx;
1202	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xx;
1203	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xxp2;
1204	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn50xx;
1205	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xx;
1206	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xxp1;
1207	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xx;
1208	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1;
1209	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx;
1210	struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xxp1;
1211};
1212
1213union cvmx_gmxx_rxx_stats_octs_dmac {
1214	uint64_t u64;
1215	struct cvmx_gmxx_rxx_stats_octs_dmac_s {
1216		uint64_t reserved_48_63:16;
1217		uint64_t cnt:48;
1218	} s;
1219	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx;
1220	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx;
1221	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xx;
1222	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xxp2;
1223	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn50xx;
1224	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xx;
1225	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xxp1;
1226	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xx;
1227	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1;
1228	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx;
1229	struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xxp1;
1230};
1231
1232union cvmx_gmxx_rxx_stats_octs_drp {
1233	uint64_t u64;
1234	struct cvmx_gmxx_rxx_stats_octs_drp_s {
1235		uint64_t reserved_48_63:16;
1236		uint64_t cnt:48;
1237	} s;
1238	struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx;
1239	struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx;
1240	struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xx;
1241	struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xxp2;
1242	struct cvmx_gmxx_rxx_stats_octs_drp_s cn50xx;
1243	struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xx;
1244	struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xxp1;
1245	struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xx;
1246	struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1;
1247	struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx;
1248	struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xxp1;
1249};
1250
1251union cvmx_gmxx_rxx_stats_pkts {
1252	uint64_t u64;
1253	struct cvmx_gmxx_rxx_stats_pkts_s {
1254		uint64_t reserved_32_63:32;
1255		uint64_t cnt:32;
1256	} s;
1257	struct cvmx_gmxx_rxx_stats_pkts_s cn30xx;
1258	struct cvmx_gmxx_rxx_stats_pkts_s cn31xx;
1259	struct cvmx_gmxx_rxx_stats_pkts_s cn38xx;
1260	struct cvmx_gmxx_rxx_stats_pkts_s cn38xxp2;
1261	struct cvmx_gmxx_rxx_stats_pkts_s cn50xx;
1262	struct cvmx_gmxx_rxx_stats_pkts_s cn52xx;
1263	struct cvmx_gmxx_rxx_stats_pkts_s cn52xxp1;
1264	struct cvmx_gmxx_rxx_stats_pkts_s cn56xx;
1265	struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1;
1266	struct cvmx_gmxx_rxx_stats_pkts_s cn58xx;
1267	struct cvmx_gmxx_rxx_stats_pkts_s cn58xxp1;
1268};
1269
1270union cvmx_gmxx_rxx_stats_pkts_bad {
1271	uint64_t u64;
1272	struct cvmx_gmxx_rxx_stats_pkts_bad_s {
1273		uint64_t reserved_32_63:32;
1274		uint64_t cnt:32;
1275	} s;
1276	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx;
1277	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx;
1278	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xx;
1279	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xxp2;
1280	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn50xx;
1281	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xx;
1282	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xxp1;
1283	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xx;
1284	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1;
1285	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx;
1286	struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xxp1;
1287};
1288
1289union cvmx_gmxx_rxx_stats_pkts_ctl {
1290	uint64_t u64;
1291	struct cvmx_gmxx_rxx_stats_pkts_ctl_s {
1292		uint64_t reserved_32_63:32;
1293		uint64_t cnt:32;
1294	} s;
1295	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx;
1296	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx;
1297	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xx;
1298	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xxp2;
1299	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn50xx;
1300	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xx;
1301	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xxp1;
1302	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xx;
1303	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1;
1304	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx;
1305	struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xxp1;
1306};
1307
1308union cvmx_gmxx_rxx_stats_pkts_dmac {
1309	uint64_t u64;
1310	struct cvmx_gmxx_rxx_stats_pkts_dmac_s {
1311		uint64_t reserved_32_63:32;
1312		uint64_t cnt:32;
1313	} s;
1314	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx;
1315	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx;
1316	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xx;
1317	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xxp2;
1318	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn50xx;
1319	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xx;
1320	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xxp1;
1321	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xx;
1322	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1;
1323	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx;
1324	struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xxp1;
1325};
1326
1327union cvmx_gmxx_rxx_stats_pkts_drp {
1328	uint64_t u64;
1329	struct cvmx_gmxx_rxx_stats_pkts_drp_s {
1330		uint64_t reserved_32_63:32;
1331		uint64_t cnt:32;
1332	} s;
1333	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx;
1334	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx;
1335	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xx;
1336	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xxp2;
1337	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn50xx;
1338	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xx;
1339	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xxp1;
1340	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xx;
1341	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1;
1342	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx;
1343	struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xxp1;
1344};
1345
1346union cvmx_gmxx_rxx_udd_skp {
1347	uint64_t u64;
1348	struct cvmx_gmxx_rxx_udd_skp_s {
1349		uint64_t reserved_9_63:55;
1350		uint64_t fcssel:1;
1351		uint64_t reserved_7_7:1;
1352		uint64_t len:7;
1353	} s;
1354	struct cvmx_gmxx_rxx_udd_skp_s cn30xx;
1355	struct cvmx_gmxx_rxx_udd_skp_s cn31xx;
1356	struct cvmx_gmxx_rxx_udd_skp_s cn38xx;
1357	struct cvmx_gmxx_rxx_udd_skp_s cn38xxp2;
1358	struct cvmx_gmxx_rxx_udd_skp_s cn50xx;
1359	struct cvmx_gmxx_rxx_udd_skp_s cn52xx;
1360	struct cvmx_gmxx_rxx_udd_skp_s cn52xxp1;
1361	struct cvmx_gmxx_rxx_udd_skp_s cn56xx;
1362	struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1;
1363	struct cvmx_gmxx_rxx_udd_skp_s cn58xx;
1364	struct cvmx_gmxx_rxx_udd_skp_s cn58xxp1;
1365};
1366
1367union cvmx_gmxx_rx_bp_dropx {
1368	uint64_t u64;
1369	struct cvmx_gmxx_rx_bp_dropx_s {
1370		uint64_t reserved_6_63:58;
1371		uint64_t mark:6;
1372	} s;
1373	struct cvmx_gmxx_rx_bp_dropx_s cn30xx;
1374	struct cvmx_gmxx_rx_bp_dropx_s cn31xx;
1375	struct cvmx_gmxx_rx_bp_dropx_s cn38xx;
1376	struct cvmx_gmxx_rx_bp_dropx_s cn38xxp2;
1377	struct cvmx_gmxx_rx_bp_dropx_s cn50xx;
1378	struct cvmx_gmxx_rx_bp_dropx_s cn52xx;
1379	struct cvmx_gmxx_rx_bp_dropx_s cn52xxp1;
1380	struct cvmx_gmxx_rx_bp_dropx_s cn56xx;
1381	struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1;
1382	struct cvmx_gmxx_rx_bp_dropx_s cn58xx;
1383	struct cvmx_gmxx_rx_bp_dropx_s cn58xxp1;
1384};
1385
1386union cvmx_gmxx_rx_bp_offx {
1387	uint64_t u64;
1388	struct cvmx_gmxx_rx_bp_offx_s {
1389		uint64_t reserved_6_63:58;
1390		uint64_t mark:6;
1391	} s;
1392	struct cvmx_gmxx_rx_bp_offx_s cn30xx;
1393	struct cvmx_gmxx_rx_bp_offx_s cn31xx;
1394	struct cvmx_gmxx_rx_bp_offx_s cn38xx;
1395	struct cvmx_gmxx_rx_bp_offx_s cn38xxp2;
1396	struct cvmx_gmxx_rx_bp_offx_s cn50xx;
1397	struct cvmx_gmxx_rx_bp_offx_s cn52xx;
1398	struct cvmx_gmxx_rx_bp_offx_s cn52xxp1;
1399	struct cvmx_gmxx_rx_bp_offx_s cn56xx;
1400	struct cvmx_gmxx_rx_bp_offx_s cn56xxp1;
1401	struct cvmx_gmxx_rx_bp_offx_s cn58xx;
1402	struct cvmx_gmxx_rx_bp_offx_s cn58xxp1;
1403};
1404
1405union cvmx_gmxx_rx_bp_onx {
1406	uint64_t u64;
1407	struct cvmx_gmxx_rx_bp_onx_s {
1408		uint64_t reserved_9_63:55;
1409		uint64_t mark:9;
1410	} s;
1411	struct cvmx_gmxx_rx_bp_onx_s cn30xx;
1412	struct cvmx_gmxx_rx_bp_onx_s cn31xx;
1413	struct cvmx_gmxx_rx_bp_onx_s cn38xx;
1414	struct cvmx_gmxx_rx_bp_onx_s cn38xxp2;
1415	struct cvmx_gmxx_rx_bp_onx_s cn50xx;
1416	struct cvmx_gmxx_rx_bp_onx_s cn52xx;
1417	struct cvmx_gmxx_rx_bp_onx_s cn52xxp1;
1418	struct cvmx_gmxx_rx_bp_onx_s cn56xx;
1419	struct cvmx_gmxx_rx_bp_onx_s cn56xxp1;
1420	struct cvmx_gmxx_rx_bp_onx_s cn58xx;
1421	struct cvmx_gmxx_rx_bp_onx_s cn58xxp1;
1422};
1423
1424union cvmx_gmxx_rx_hg2_status {
1425	uint64_t u64;
1426	struct cvmx_gmxx_rx_hg2_status_s {
1427		uint64_t reserved_48_63:16;
1428		uint64_t phtim2go:16;
1429		uint64_t xof:16;
1430		uint64_t lgtim2go:16;
1431	} s;
1432	struct cvmx_gmxx_rx_hg2_status_s cn52xx;
1433	struct cvmx_gmxx_rx_hg2_status_s cn52xxp1;
1434	struct cvmx_gmxx_rx_hg2_status_s cn56xx;
1435};
1436
1437union cvmx_gmxx_rx_pass_en {
1438	uint64_t u64;
1439	struct cvmx_gmxx_rx_pass_en_s {
1440		uint64_t reserved_16_63:48;
1441		uint64_t en:16;
1442	} s;
1443	struct cvmx_gmxx_rx_pass_en_s cn38xx;
1444	struct cvmx_gmxx_rx_pass_en_s cn38xxp2;
1445	struct cvmx_gmxx_rx_pass_en_s cn58xx;
1446	struct cvmx_gmxx_rx_pass_en_s cn58xxp1;
1447};
1448
1449union cvmx_gmxx_rx_pass_mapx {
1450	uint64_t u64;
1451	struct cvmx_gmxx_rx_pass_mapx_s {
1452		uint64_t reserved_4_63:60;
1453		uint64_t dprt:4;
1454	} s;
1455	struct cvmx_gmxx_rx_pass_mapx_s cn38xx;
1456	struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2;
1457	struct cvmx_gmxx_rx_pass_mapx_s cn58xx;
1458	struct cvmx_gmxx_rx_pass_mapx_s cn58xxp1;
1459};
1460
1461union cvmx_gmxx_rx_prt_info {
1462	uint64_t u64;
1463	struct cvmx_gmxx_rx_prt_info_s {
1464		uint64_t reserved_32_63:32;
1465		uint64_t drop:16;
1466		uint64_t commit:16;
1467	} s;
1468	struct cvmx_gmxx_rx_prt_info_cn30xx {
1469		uint64_t reserved_19_63:45;
1470		uint64_t drop:3;
1471		uint64_t reserved_3_15:13;
1472		uint64_t commit:3;
1473	} cn30xx;
1474	struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx;
1475	struct cvmx_gmxx_rx_prt_info_s cn38xx;
1476	struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx;
1477	struct cvmx_gmxx_rx_prt_info_cn52xx {
1478		uint64_t reserved_20_63:44;
1479		uint64_t drop:4;
1480		uint64_t reserved_4_15:12;
1481		uint64_t commit:4;
1482	} cn52xx;
1483	struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1;
1484	struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx;
1485	struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1;
1486	struct cvmx_gmxx_rx_prt_info_s cn58xx;
1487	struct cvmx_gmxx_rx_prt_info_s cn58xxp1;
1488};
1489
1490union cvmx_gmxx_rx_prts {
1491	uint64_t u64;
1492	struct cvmx_gmxx_rx_prts_s {
1493		uint64_t reserved_3_63:61;
1494		uint64_t prts:3;
1495	} s;
1496	struct cvmx_gmxx_rx_prts_s cn30xx;
1497	struct cvmx_gmxx_rx_prts_s cn31xx;
1498	struct cvmx_gmxx_rx_prts_s cn38xx;
1499	struct cvmx_gmxx_rx_prts_s cn38xxp2;
1500	struct cvmx_gmxx_rx_prts_s cn50xx;
1501	struct cvmx_gmxx_rx_prts_s cn52xx;
1502	struct cvmx_gmxx_rx_prts_s cn52xxp1;
1503	struct cvmx_gmxx_rx_prts_s cn56xx;
1504	struct cvmx_gmxx_rx_prts_s cn56xxp1;
1505	struct cvmx_gmxx_rx_prts_s cn58xx;
1506	struct cvmx_gmxx_rx_prts_s cn58xxp1;
1507};
1508
1509union cvmx_gmxx_rx_tx_status {
1510	uint64_t u64;
1511	struct cvmx_gmxx_rx_tx_status_s {
1512		uint64_t reserved_7_63:57;
1513		uint64_t tx:3;
1514		uint64_t reserved_3_3:1;
1515		uint64_t rx:3;
1516	} s;
1517	struct cvmx_gmxx_rx_tx_status_s cn30xx;
1518	struct cvmx_gmxx_rx_tx_status_s cn31xx;
1519	struct cvmx_gmxx_rx_tx_status_s cn50xx;
1520};
1521
1522union cvmx_gmxx_rx_xaui_bad_col {
1523	uint64_t u64;
1524	struct cvmx_gmxx_rx_xaui_bad_col_s {
1525		uint64_t reserved_40_63:24;
1526		uint64_t val:1;
1527		uint64_t state:3;
1528		uint64_t lane_rxc:4;
1529		uint64_t lane_rxd:32;
1530	} s;
1531	struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx;
1532	struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1;
1533	struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx;
1534	struct cvmx_gmxx_rx_xaui_bad_col_s cn56xxp1;
1535};
1536
1537union cvmx_gmxx_rx_xaui_ctl {
1538	uint64_t u64;
1539	struct cvmx_gmxx_rx_xaui_ctl_s {
1540		uint64_t reserved_2_63:62;
1541		uint64_t status:2;
1542	} s;
1543	struct cvmx_gmxx_rx_xaui_ctl_s cn52xx;
1544	struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1;
1545	struct cvmx_gmxx_rx_xaui_ctl_s cn56xx;
1546	struct cvmx_gmxx_rx_xaui_ctl_s cn56xxp1;
1547};
1548
1549union cvmx_gmxx_smacx {
1550	uint64_t u64;
1551	struct cvmx_gmxx_smacx_s {
1552		uint64_t reserved_48_63:16;
1553		uint64_t smac:48;
1554	} s;
1555	struct cvmx_gmxx_smacx_s cn30xx;
1556	struct cvmx_gmxx_smacx_s cn31xx;
1557	struct cvmx_gmxx_smacx_s cn38xx;
1558	struct cvmx_gmxx_smacx_s cn38xxp2;
1559	struct cvmx_gmxx_smacx_s cn50xx;
1560	struct cvmx_gmxx_smacx_s cn52xx;
1561	struct cvmx_gmxx_smacx_s cn52xxp1;
1562	struct cvmx_gmxx_smacx_s cn56xx;
1563	struct cvmx_gmxx_smacx_s cn56xxp1;
1564	struct cvmx_gmxx_smacx_s cn58xx;
1565	struct cvmx_gmxx_smacx_s cn58xxp1;
1566};
1567
1568union cvmx_gmxx_stat_bp {
1569	uint64_t u64;
1570	struct cvmx_gmxx_stat_bp_s {
1571		uint64_t reserved_17_63:47;
1572		uint64_t bp:1;
1573		uint64_t cnt:16;
1574	} s;
1575	struct cvmx_gmxx_stat_bp_s cn30xx;
1576	struct cvmx_gmxx_stat_bp_s cn31xx;
1577	struct cvmx_gmxx_stat_bp_s cn38xx;
1578	struct cvmx_gmxx_stat_bp_s cn38xxp2;
1579	struct cvmx_gmxx_stat_bp_s cn50xx;
1580	struct cvmx_gmxx_stat_bp_s cn52xx;
1581	struct cvmx_gmxx_stat_bp_s cn52xxp1;
1582	struct cvmx_gmxx_stat_bp_s cn56xx;
1583	struct cvmx_gmxx_stat_bp_s cn56xxp1;
1584	struct cvmx_gmxx_stat_bp_s cn58xx;
1585	struct cvmx_gmxx_stat_bp_s cn58xxp1;
1586};
1587
1588union cvmx_gmxx_txx_append {
1589	uint64_t u64;
1590	struct cvmx_gmxx_txx_append_s {
1591		uint64_t reserved_4_63:60;
1592		uint64_t force_fcs:1;
1593		uint64_t fcs:1;
1594		uint64_t pad:1;
1595		uint64_t preamble:1;
1596	} s;
1597	struct cvmx_gmxx_txx_append_s cn30xx;
1598	struct cvmx_gmxx_txx_append_s cn31xx;
1599	struct cvmx_gmxx_txx_append_s cn38xx;
1600	struct cvmx_gmxx_txx_append_s cn38xxp2;
1601	struct cvmx_gmxx_txx_append_s cn50xx;
1602	struct cvmx_gmxx_txx_append_s cn52xx;
1603	struct cvmx_gmxx_txx_append_s cn52xxp1;
1604	struct cvmx_gmxx_txx_append_s cn56xx;
1605	struct cvmx_gmxx_txx_append_s cn56xxp1;
1606	struct cvmx_gmxx_txx_append_s cn58xx;
1607	struct cvmx_gmxx_txx_append_s cn58xxp1;
1608};
1609
1610union cvmx_gmxx_txx_burst {
1611	uint64_t u64;
1612	struct cvmx_gmxx_txx_burst_s {
1613		uint64_t reserved_16_63:48;
1614		uint64_t burst:16;
1615	} s;
1616	struct cvmx_gmxx_txx_burst_s cn30xx;
1617	struct cvmx_gmxx_txx_burst_s cn31xx;
1618	struct cvmx_gmxx_txx_burst_s cn38xx;
1619	struct cvmx_gmxx_txx_burst_s cn38xxp2;
1620	struct cvmx_gmxx_txx_burst_s cn50xx;
1621	struct cvmx_gmxx_txx_burst_s cn52xx;
1622	struct cvmx_gmxx_txx_burst_s cn52xxp1;
1623	struct cvmx_gmxx_txx_burst_s cn56xx;
1624	struct cvmx_gmxx_txx_burst_s cn56xxp1;
1625	struct cvmx_gmxx_txx_burst_s cn58xx;
1626	struct cvmx_gmxx_txx_burst_s cn58xxp1;
1627};
1628
1629union cvmx_gmxx_txx_cbfc_xoff {
1630	uint64_t u64;
1631	struct cvmx_gmxx_txx_cbfc_xoff_s {
1632		uint64_t reserved_16_63:48;
1633		uint64_t xoff:16;
1634	} s;
1635	struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx;
1636	struct cvmx_gmxx_txx_cbfc_xoff_s cn56xx;
1637};
1638
1639union cvmx_gmxx_txx_cbfc_xon {
1640	uint64_t u64;
1641	struct cvmx_gmxx_txx_cbfc_xon_s {
1642		uint64_t reserved_16_63:48;
1643		uint64_t xon:16;
1644	} s;
1645	struct cvmx_gmxx_txx_cbfc_xon_s cn52xx;
1646	struct cvmx_gmxx_txx_cbfc_xon_s cn56xx;
1647};
1648
1649union cvmx_gmxx_txx_clk {
1650	uint64_t u64;
1651	struct cvmx_gmxx_txx_clk_s {
1652		uint64_t reserved_6_63:58;
1653		uint64_t clk_cnt:6;
1654	} s;
1655	struct cvmx_gmxx_txx_clk_s cn30xx;
1656	struct cvmx_gmxx_txx_clk_s cn31xx;
1657	struct cvmx_gmxx_txx_clk_s cn38xx;
1658	struct cvmx_gmxx_txx_clk_s cn38xxp2;
1659	struct cvmx_gmxx_txx_clk_s cn50xx;
1660	struct cvmx_gmxx_txx_clk_s cn58xx;
1661	struct cvmx_gmxx_txx_clk_s cn58xxp1;
1662};
1663
1664union cvmx_gmxx_txx_ctl {
1665	uint64_t u64;
1666	struct cvmx_gmxx_txx_ctl_s {
1667		uint64_t reserved_2_63:62;
1668		uint64_t xsdef_en:1;
1669		uint64_t xscol_en:1;
1670	} s;
1671	struct cvmx_gmxx_txx_ctl_s cn30xx;
1672	struct cvmx_gmxx_txx_ctl_s cn31xx;
1673	struct cvmx_gmxx_txx_ctl_s cn38xx;
1674	struct cvmx_gmxx_txx_ctl_s cn38xxp2;
1675	struct cvmx_gmxx_txx_ctl_s cn50xx;
1676	struct cvmx_gmxx_txx_ctl_s cn52xx;
1677	struct cvmx_gmxx_txx_ctl_s cn52xxp1;
1678	struct cvmx_gmxx_txx_ctl_s cn56xx;
1679	struct cvmx_gmxx_txx_ctl_s cn56xxp1;
1680	struct cvmx_gmxx_txx_ctl_s cn58xx;
1681	struct cvmx_gmxx_txx_ctl_s cn58xxp1;
1682};
1683
1684union cvmx_gmxx_txx_min_pkt {
1685	uint64_t u64;
1686	struct cvmx_gmxx_txx_min_pkt_s {
1687		uint64_t reserved_8_63:56;
1688		uint64_t min_size:8;
1689	} s;
1690	struct cvmx_gmxx_txx_min_pkt_s cn30xx;
1691	struct cvmx_gmxx_txx_min_pkt_s cn31xx;
1692	struct cvmx_gmxx_txx_min_pkt_s cn38xx;
1693	struct cvmx_gmxx_txx_min_pkt_s cn38xxp2;
1694	struct cvmx_gmxx_txx_min_pkt_s cn50xx;
1695	struct cvmx_gmxx_txx_min_pkt_s cn52xx;
1696	struct cvmx_gmxx_txx_min_pkt_s cn52xxp1;
1697	struct cvmx_gmxx_txx_min_pkt_s cn56xx;
1698	struct cvmx_gmxx_txx_min_pkt_s cn56xxp1;
1699	struct cvmx_gmxx_txx_min_pkt_s cn58xx;
1700	struct cvmx_gmxx_txx_min_pkt_s cn58xxp1;
1701};
1702
1703union cvmx_gmxx_txx_pause_pkt_interval {
1704	uint64_t u64;
1705	struct cvmx_gmxx_txx_pause_pkt_interval_s {
1706		uint64_t reserved_16_63:48;
1707		uint64_t interval:16;
1708	} s;
1709	struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx;
1710	struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx;
1711	struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xx;
1712	struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xxp2;
1713	struct cvmx_gmxx_txx_pause_pkt_interval_s cn50xx;
1714	struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xx;
1715	struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xxp1;
1716	struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xx;
1717	struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1;
1718	struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx;
1719	struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xxp1;
1720};
1721
1722union cvmx_gmxx_txx_pause_pkt_time {
1723	uint64_t u64;
1724	struct cvmx_gmxx_txx_pause_pkt_time_s {
1725		uint64_t reserved_16_63:48;
1726		uint64_t time:16;
1727	} s;
1728	struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx;
1729	struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx;
1730	struct cvmx_gmxx_txx_pause_pkt_time_s cn38xx;
1731	struct cvmx_gmxx_txx_pause_pkt_time_s cn38xxp2;
1732	struct cvmx_gmxx_txx_pause_pkt_time_s cn50xx;
1733	struct cvmx_gmxx_txx_pause_pkt_time_s cn52xx;
1734	struct cvmx_gmxx_txx_pause_pkt_time_s cn52xxp1;
1735	struct cvmx_gmxx_txx_pause_pkt_time_s cn56xx;
1736	struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1;
1737	struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx;
1738	struct cvmx_gmxx_txx_pause_pkt_time_s cn58xxp1;
1739};
1740
1741union cvmx_gmxx_txx_pause_togo {
1742	uint64_t u64;
1743	struct cvmx_gmxx_txx_pause_togo_s {
1744		uint64_t reserved_32_63:32;
1745		uint64_t msg_time:16;
1746		uint64_t time:16;
1747	} s;
1748	struct cvmx_gmxx_txx_pause_togo_cn30xx {
1749		uint64_t reserved_16_63:48;
1750		uint64_t time:16;
1751	} cn30xx;
1752	struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx;
1753	struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx;
1754	struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xxp2;
1755	struct cvmx_gmxx_txx_pause_togo_cn30xx cn50xx;
1756	struct cvmx_gmxx_txx_pause_togo_s cn52xx;
1757	struct cvmx_gmxx_txx_pause_togo_s cn52xxp1;
1758	struct cvmx_gmxx_txx_pause_togo_s cn56xx;
1759	struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1;
1760	struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx;
1761	struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xxp1;
1762};
1763
1764union cvmx_gmxx_txx_pause_zero {
1765	uint64_t u64;
1766	struct cvmx_gmxx_txx_pause_zero_s {
1767		uint64_t reserved_1_63:63;
1768		uint64_t send:1;
1769	} s;
1770	struct cvmx_gmxx_txx_pause_zero_s cn30xx;
1771	struct cvmx_gmxx_txx_pause_zero_s cn31xx;
1772	struct cvmx_gmxx_txx_pause_zero_s cn38xx;
1773	struct cvmx_gmxx_txx_pause_zero_s cn38xxp2;
1774	struct cvmx_gmxx_txx_pause_zero_s cn50xx;
1775	struct cvmx_gmxx_txx_pause_zero_s cn52xx;
1776	struct cvmx_gmxx_txx_pause_zero_s cn52xxp1;
1777	struct cvmx_gmxx_txx_pause_zero_s cn56xx;
1778	struct cvmx_gmxx_txx_pause_zero_s cn56xxp1;
1779	struct cvmx_gmxx_txx_pause_zero_s cn58xx;
1780	struct cvmx_gmxx_txx_pause_zero_s cn58xxp1;
1781};
1782
1783union cvmx_gmxx_txx_sgmii_ctl {
1784	uint64_t u64;
1785	struct cvmx_gmxx_txx_sgmii_ctl_s {
1786		uint64_t reserved_1_63:63;
1787		uint64_t align:1;
1788	} s;
1789	struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx;
1790	struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1;
1791	struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx;
1792	struct cvmx_gmxx_txx_sgmii_ctl_s cn56xxp1;
1793};
1794
1795union cvmx_gmxx_txx_slot {
1796	uint64_t u64;
1797	struct cvmx_gmxx_txx_slot_s {
1798		uint64_t reserved_10_63:54;
1799		uint64_t slot:10;
1800	} s;
1801	struct cvmx_gmxx_txx_slot_s cn30xx;
1802	struct cvmx_gmxx_txx_slot_s cn31xx;
1803	struct cvmx_gmxx_txx_slot_s cn38xx;
1804	struct cvmx_gmxx_txx_slot_s cn38xxp2;
1805	struct cvmx_gmxx_txx_slot_s cn50xx;
1806	struct cvmx_gmxx_txx_slot_s cn52xx;
1807	struct cvmx_gmxx_txx_slot_s cn52xxp1;
1808	struct cvmx_gmxx_txx_slot_s cn56xx;
1809	struct cvmx_gmxx_txx_slot_s cn56xxp1;
1810	struct cvmx_gmxx_txx_slot_s cn58xx;
1811	struct cvmx_gmxx_txx_slot_s cn58xxp1;
1812};
1813
1814union cvmx_gmxx_txx_soft_pause {
1815	uint64_t u64;
1816	struct cvmx_gmxx_txx_soft_pause_s {
1817		uint64_t reserved_16_63:48;
1818		uint64_t time:16;
1819	} s;
1820	struct cvmx_gmxx_txx_soft_pause_s cn30xx;
1821	struct cvmx_gmxx_txx_soft_pause_s cn31xx;
1822	struct cvmx_gmxx_txx_soft_pause_s cn38xx;
1823	struct cvmx_gmxx_txx_soft_pause_s cn38xxp2;
1824	struct cvmx_gmxx_txx_soft_pause_s cn50xx;
1825	struct cvmx_gmxx_txx_soft_pause_s cn52xx;
1826	struct cvmx_gmxx_txx_soft_pause_s cn52xxp1;
1827	struct cvmx_gmxx_txx_soft_pause_s cn56xx;
1828	struct cvmx_gmxx_txx_soft_pause_s cn56xxp1;
1829	struct cvmx_gmxx_txx_soft_pause_s cn58xx;
1830	struct cvmx_gmxx_txx_soft_pause_s cn58xxp1;
1831};
1832
1833union cvmx_gmxx_txx_stat0 {
1834	uint64_t u64;
1835	struct cvmx_gmxx_txx_stat0_s {
1836		uint64_t xsdef:32;
1837		uint64_t xscol:32;
1838	} s;
1839	struct cvmx_gmxx_txx_stat0_s cn30xx;
1840	struct cvmx_gmxx_txx_stat0_s cn31xx;
1841	struct cvmx_gmxx_txx_stat0_s cn38xx;
1842	struct cvmx_gmxx_txx_stat0_s cn38xxp2;
1843	struct cvmx_gmxx_txx_stat0_s cn50xx;
1844	struct cvmx_gmxx_txx_stat0_s cn52xx;
1845	struct cvmx_gmxx_txx_stat0_s cn52xxp1;
1846	struct cvmx_gmxx_txx_stat0_s cn56xx;
1847	struct cvmx_gmxx_txx_stat0_s cn56xxp1;
1848	struct cvmx_gmxx_txx_stat0_s cn58xx;
1849	struct cvmx_gmxx_txx_stat0_s cn58xxp1;
1850};
1851
1852union cvmx_gmxx_txx_stat1 {
1853	uint64_t u64;
1854	struct cvmx_gmxx_txx_stat1_s {
1855		uint64_t scol:32;
1856		uint64_t mcol:32;
1857	} s;
1858	struct cvmx_gmxx_txx_stat1_s cn30xx;
1859	struct cvmx_gmxx_txx_stat1_s cn31xx;
1860	struct cvmx_gmxx_txx_stat1_s cn38xx;
1861	struct cvmx_gmxx_txx_stat1_s cn38xxp2;
1862	struct cvmx_gmxx_txx_stat1_s cn50xx;
1863	struct cvmx_gmxx_txx_stat1_s cn52xx;
1864	struct cvmx_gmxx_txx_stat1_s cn52xxp1;
1865	struct cvmx_gmxx_txx_stat1_s cn56xx;
1866	struct cvmx_gmxx_txx_stat1_s cn56xxp1;
1867	struct cvmx_gmxx_txx_stat1_s cn58xx;
1868	struct cvmx_gmxx_txx_stat1_s cn58xxp1;
1869};
1870
1871union cvmx_gmxx_txx_stat2 {
1872	uint64_t u64;
1873	struct cvmx_gmxx_txx_stat2_s {
1874		uint64_t reserved_48_63:16;
1875		uint64_t octs:48;
1876	} s;
1877	struct cvmx_gmxx_txx_stat2_s cn30xx;
1878	struct cvmx_gmxx_txx_stat2_s cn31xx;
1879	struct cvmx_gmxx_txx_stat2_s cn38xx;
1880	struct cvmx_gmxx_txx_stat2_s cn38xxp2;
1881	struct cvmx_gmxx_txx_stat2_s cn50xx;
1882	struct cvmx_gmxx_txx_stat2_s cn52xx;
1883	struct cvmx_gmxx_txx_stat2_s cn52xxp1;
1884	struct cvmx_gmxx_txx_stat2_s cn56xx;
1885	struct cvmx_gmxx_txx_stat2_s cn56xxp1;
1886	struct cvmx_gmxx_txx_stat2_s cn58xx;
1887	struct cvmx_gmxx_txx_stat2_s cn58xxp1;
1888};
1889
1890union cvmx_gmxx_txx_stat3 {
1891	uint64_t u64;
1892	struct cvmx_gmxx_txx_stat3_s {
1893		uint64_t reserved_32_63:32;
1894		uint64_t pkts:32;
1895	} s;
1896	struct cvmx_gmxx_txx_stat3_s cn30xx;
1897	struct cvmx_gmxx_txx_stat3_s cn31xx;
1898	struct cvmx_gmxx_txx_stat3_s cn38xx;
1899	struct cvmx_gmxx_txx_stat3_s cn38xxp2;
1900	struct cvmx_gmxx_txx_stat3_s cn50xx;
1901	struct cvmx_gmxx_txx_stat3_s cn52xx;
1902	struct cvmx_gmxx_txx_stat3_s cn52xxp1;
1903	struct cvmx_gmxx_txx_stat3_s cn56xx;
1904	struct cvmx_gmxx_txx_stat3_s cn56xxp1;
1905	struct cvmx_gmxx_txx_stat3_s cn58xx;
1906	struct cvmx_gmxx_txx_stat3_s cn58xxp1;
1907};
1908
1909union cvmx_gmxx_txx_stat4 {
1910	uint64_t u64;
1911	struct cvmx_gmxx_txx_stat4_s {
1912		uint64_t hist1:32;
1913		uint64_t hist0:32;
1914	} s;
1915	struct cvmx_gmxx_txx_stat4_s cn30xx;
1916	struct cvmx_gmxx_txx_stat4_s cn31xx;
1917	struct cvmx_gmxx_txx_stat4_s cn38xx;
1918	struct cvmx_gmxx_txx_stat4_s cn38xxp2;
1919	struct cvmx_gmxx_txx_stat4_s cn50xx;
1920	struct cvmx_gmxx_txx_stat4_s cn52xx;
1921	struct cvmx_gmxx_txx_stat4_s cn52xxp1;
1922	struct cvmx_gmxx_txx_stat4_s cn56xx;
1923	struct cvmx_gmxx_txx_stat4_s cn56xxp1;
1924	struct cvmx_gmxx_txx_stat4_s cn58xx;
1925	struct cvmx_gmxx_txx_stat4_s cn58xxp1;
1926};
1927
1928union cvmx_gmxx_txx_stat5 {
1929	uint64_t u64;
1930	struct cvmx_gmxx_txx_stat5_s {
1931		uint64_t hist3:32;
1932		uint64_t hist2:32;
1933	} s;
1934	struct cvmx_gmxx_txx_stat5_s cn30xx;
1935	struct cvmx_gmxx_txx_stat5_s cn31xx;
1936	struct cvmx_gmxx_txx_stat5_s cn38xx;
1937	struct cvmx_gmxx_txx_stat5_s cn38xxp2;
1938	struct cvmx_gmxx_txx_stat5_s cn50xx;
1939	struct cvmx_gmxx_txx_stat5_s cn52xx;
1940	struct cvmx_gmxx_txx_stat5_s cn52xxp1;
1941	struct cvmx_gmxx_txx_stat5_s cn56xx;
1942	struct cvmx_gmxx_txx_stat5_s cn56xxp1;
1943	struct cvmx_gmxx_txx_stat5_s cn58xx;
1944	struct cvmx_gmxx_txx_stat5_s cn58xxp1;
1945};
1946
1947union cvmx_gmxx_txx_stat6 {
1948	uint64_t u64;
1949	struct cvmx_gmxx_txx_stat6_s {
1950		uint64_t hist5:32;
1951		uint64_t hist4:32;
1952	} s;
1953	struct cvmx_gmxx_txx_stat6_s cn30xx;
1954	struct cvmx_gmxx_txx_stat6_s cn31xx;
1955	struct cvmx_gmxx_txx_stat6_s cn38xx;
1956	struct cvmx_gmxx_txx_stat6_s cn38xxp2;
1957	struct cvmx_gmxx_txx_stat6_s cn50xx;
1958	struct cvmx_gmxx_txx_stat6_s cn52xx;
1959	struct cvmx_gmxx_txx_stat6_s cn52xxp1;
1960	struct cvmx_gmxx_txx_stat6_s cn56xx;
1961	struct cvmx_gmxx_txx_stat6_s cn56xxp1;
1962	struct cvmx_gmxx_txx_stat6_s cn58xx;
1963	struct cvmx_gmxx_txx_stat6_s cn58xxp1;
1964};
1965
1966union cvmx_gmxx_txx_stat7 {
1967	uint64_t u64;
1968	struct cvmx_gmxx_txx_stat7_s {
1969		uint64_t hist7:32;
1970		uint64_t hist6:32;
1971	} s;
1972	struct cvmx_gmxx_txx_stat7_s cn30xx;
1973	struct cvmx_gmxx_txx_stat7_s cn31xx;
1974	struct cvmx_gmxx_txx_stat7_s cn38xx;
1975	struct cvmx_gmxx_txx_stat7_s cn38xxp2;
1976	struct cvmx_gmxx_txx_stat7_s cn50xx;
1977	struct cvmx_gmxx_txx_stat7_s cn52xx;
1978	struct cvmx_gmxx_txx_stat7_s cn52xxp1;
1979	struct cvmx_gmxx_txx_stat7_s cn56xx;
1980	struct cvmx_gmxx_txx_stat7_s cn56xxp1;
1981	struct cvmx_gmxx_txx_stat7_s cn58xx;
1982	struct cvmx_gmxx_txx_stat7_s cn58xxp1;
1983};
1984
1985union cvmx_gmxx_txx_stat8 {
1986	uint64_t u64;
1987	struct cvmx_gmxx_txx_stat8_s {
1988		uint64_t mcst:32;
1989		uint64_t bcst:32;
1990	} s;
1991	struct cvmx_gmxx_txx_stat8_s cn30xx;
1992	struct cvmx_gmxx_txx_stat8_s cn31xx;
1993	struct cvmx_gmxx_txx_stat8_s cn38xx;
1994	struct cvmx_gmxx_txx_stat8_s cn38xxp2;
1995	struct cvmx_gmxx_txx_stat8_s cn50xx;
1996	struct cvmx_gmxx_txx_stat8_s cn52xx;
1997	struct cvmx_gmxx_txx_stat8_s cn52xxp1;
1998	struct cvmx_gmxx_txx_stat8_s cn56xx;
1999	struct cvmx_gmxx_txx_stat8_s cn56xxp1;
2000	struct cvmx_gmxx_txx_stat8_s cn58xx;
2001	struct cvmx_gmxx_txx_stat8_s cn58xxp1;
2002};
2003
2004union cvmx_gmxx_txx_stat9 {
2005	uint64_t u64;
2006	struct cvmx_gmxx_txx_stat9_s {
2007		uint64_t undflw:32;
2008		uint64_t ctl:32;
2009	} s;
2010	struct cvmx_gmxx_txx_stat9_s cn30xx;
2011	struct cvmx_gmxx_txx_stat9_s cn31xx;
2012	struct cvmx_gmxx_txx_stat9_s cn38xx;
2013	struct cvmx_gmxx_txx_stat9_s cn38xxp2;
2014	struct cvmx_gmxx_txx_stat9_s cn50xx;
2015	struct cvmx_gmxx_txx_stat9_s cn52xx;
2016	struct cvmx_gmxx_txx_stat9_s cn52xxp1;
2017	struct cvmx_gmxx_txx_stat9_s cn56xx;
2018	struct cvmx_gmxx_txx_stat9_s cn56xxp1;
2019	struct cvmx_gmxx_txx_stat9_s cn58xx;
2020	struct cvmx_gmxx_txx_stat9_s cn58xxp1;
2021};
2022
2023union cvmx_gmxx_txx_stats_ctl {
2024	uint64_t u64;
2025	struct cvmx_gmxx_txx_stats_ctl_s {
2026		uint64_t reserved_1_63:63;
2027		uint64_t rd_clr:1;
2028	} s;
2029	struct cvmx_gmxx_txx_stats_ctl_s cn30xx;
2030	struct cvmx_gmxx_txx_stats_ctl_s cn31xx;
2031	struct cvmx_gmxx_txx_stats_ctl_s cn38xx;
2032	struct cvmx_gmxx_txx_stats_ctl_s cn38xxp2;
2033	struct cvmx_gmxx_txx_stats_ctl_s cn50xx;
2034	struct cvmx_gmxx_txx_stats_ctl_s cn52xx;
2035	struct cvmx_gmxx_txx_stats_ctl_s cn52xxp1;
2036	struct cvmx_gmxx_txx_stats_ctl_s cn56xx;
2037	struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1;
2038	struct cvmx_gmxx_txx_stats_ctl_s cn58xx;
2039	struct cvmx_gmxx_txx_stats_ctl_s cn58xxp1;
2040};
2041
2042union cvmx_gmxx_txx_thresh {
2043	uint64_t u64;
2044	struct cvmx_gmxx_txx_thresh_s {
2045		uint64_t reserved_9_63:55;
2046		uint64_t cnt:9;
2047	} s;
2048	struct cvmx_gmxx_txx_thresh_cn30xx {
2049		uint64_t reserved_7_63:57;
2050		uint64_t cnt:7;
2051	} cn30xx;
2052	struct cvmx_gmxx_txx_thresh_cn30xx cn31xx;
2053	struct cvmx_gmxx_txx_thresh_s cn38xx;
2054	struct cvmx_gmxx_txx_thresh_s cn38xxp2;
2055	struct cvmx_gmxx_txx_thresh_cn30xx cn50xx;
2056	struct cvmx_gmxx_txx_thresh_s cn52xx;
2057	struct cvmx_gmxx_txx_thresh_s cn52xxp1;
2058	struct cvmx_gmxx_txx_thresh_s cn56xx;
2059	struct cvmx_gmxx_txx_thresh_s cn56xxp1;
2060	struct cvmx_gmxx_txx_thresh_s cn58xx;
2061	struct cvmx_gmxx_txx_thresh_s cn58xxp1;
2062};
2063
2064union cvmx_gmxx_tx_bp {
2065	uint64_t u64;
2066	struct cvmx_gmxx_tx_bp_s {
2067		uint64_t reserved_4_63:60;
2068		uint64_t bp:4;
2069	} s;
2070	struct cvmx_gmxx_tx_bp_cn30xx {
2071		uint64_t reserved_3_63:61;
2072		uint64_t bp:3;
2073	} cn30xx;
2074	struct cvmx_gmxx_tx_bp_cn30xx cn31xx;
2075	struct cvmx_gmxx_tx_bp_s cn38xx;
2076	struct cvmx_gmxx_tx_bp_s cn38xxp2;
2077	struct cvmx_gmxx_tx_bp_cn30xx cn50xx;
2078	struct cvmx_gmxx_tx_bp_s cn52xx;
2079	struct cvmx_gmxx_tx_bp_s cn52xxp1;
2080	struct cvmx_gmxx_tx_bp_s cn56xx;
2081	struct cvmx_gmxx_tx_bp_s cn56xxp1;
2082	struct cvmx_gmxx_tx_bp_s cn58xx;
2083	struct cvmx_gmxx_tx_bp_s cn58xxp1;
2084};
2085
2086union cvmx_gmxx_tx_clk_mskx {
2087	uint64_t u64;
2088	struct cvmx_gmxx_tx_clk_mskx_s {
2089		uint64_t reserved_1_63:63;
2090		uint64_t msk:1;
2091	} s;
2092	struct cvmx_gmxx_tx_clk_mskx_s cn30xx;
2093	struct cvmx_gmxx_tx_clk_mskx_s cn50xx;
2094};
2095
2096union cvmx_gmxx_tx_col_attempt {
2097	uint64_t u64;
2098	struct cvmx_gmxx_tx_col_attempt_s {
2099		uint64_t reserved_5_63:59;
2100		uint64_t limit:5;
2101	} s;
2102	struct cvmx_gmxx_tx_col_attempt_s cn30xx;
2103	struct cvmx_gmxx_tx_col_attempt_s cn31xx;
2104	struct cvmx_gmxx_tx_col_attempt_s cn38xx;
2105	struct cvmx_gmxx_tx_col_attempt_s cn38xxp2;
2106	struct cvmx_gmxx_tx_col_attempt_s cn50xx;
2107	struct cvmx_gmxx_tx_col_attempt_s cn52xx;
2108	struct cvmx_gmxx_tx_col_attempt_s cn52xxp1;
2109	struct cvmx_gmxx_tx_col_attempt_s cn56xx;
2110	struct cvmx_gmxx_tx_col_attempt_s cn56xxp1;
2111	struct cvmx_gmxx_tx_col_attempt_s cn58xx;
2112	struct cvmx_gmxx_tx_col_attempt_s cn58xxp1;
2113};
2114
2115union cvmx_gmxx_tx_corrupt {
2116	uint64_t u64;
2117	struct cvmx_gmxx_tx_corrupt_s {
2118		uint64_t reserved_4_63:60;
2119		uint64_t corrupt:4;
2120	} s;
2121	struct cvmx_gmxx_tx_corrupt_cn30xx {
2122		uint64_t reserved_3_63:61;
2123		uint64_t corrupt:3;
2124	} cn30xx;
2125	struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx;
2126	struct cvmx_gmxx_tx_corrupt_s cn38xx;
2127	struct cvmx_gmxx_tx_corrupt_s cn38xxp2;
2128	struct cvmx_gmxx_tx_corrupt_cn30xx cn50xx;
2129	struct cvmx_gmxx_tx_corrupt_s cn52xx;
2130	struct cvmx_gmxx_tx_corrupt_s cn52xxp1;
2131	struct cvmx_gmxx_tx_corrupt_s cn56xx;
2132	struct cvmx_gmxx_tx_corrupt_s cn56xxp1;
2133	struct cvmx_gmxx_tx_corrupt_s cn58xx;
2134	struct cvmx_gmxx_tx_corrupt_s cn58xxp1;
2135};
2136
2137union cvmx_gmxx_tx_hg2_reg1 {
2138	uint64_t u64;
2139	struct cvmx_gmxx_tx_hg2_reg1_s {
2140		uint64_t reserved_16_63:48;
2141		uint64_t tx_xof:16;
2142	} s;
2143	struct cvmx_gmxx_tx_hg2_reg1_s cn52xx;
2144	struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1;
2145	struct cvmx_gmxx_tx_hg2_reg1_s cn56xx;
2146};
2147
2148union cvmx_gmxx_tx_hg2_reg2 {
2149	uint64_t u64;
2150	struct cvmx_gmxx_tx_hg2_reg2_s {
2151		uint64_t reserved_16_63:48;
2152		uint64_t tx_xon:16;
2153	} s;
2154	struct cvmx_gmxx_tx_hg2_reg2_s cn52xx;
2155	struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1;
2156	struct cvmx_gmxx_tx_hg2_reg2_s cn56xx;
2157};
2158
2159union cvmx_gmxx_tx_ifg {
2160	uint64_t u64;
2161	struct cvmx_gmxx_tx_ifg_s {
2162		uint64_t reserved_8_63:56;
2163		uint64_t ifg2:4;
2164		uint64_t ifg1:4;
2165	} s;
2166	struct cvmx_gmxx_tx_ifg_s cn30xx;
2167	struct cvmx_gmxx_tx_ifg_s cn31xx;
2168	struct cvmx_gmxx_tx_ifg_s cn38xx;
2169	struct cvmx_gmxx_tx_ifg_s cn38xxp2;
2170	struct cvmx_gmxx_tx_ifg_s cn50xx;
2171	struct cvmx_gmxx_tx_ifg_s cn52xx;
2172	struct cvmx_gmxx_tx_ifg_s cn52xxp1;
2173	struct cvmx_gmxx_tx_ifg_s cn56xx;
2174	struct cvmx_gmxx_tx_ifg_s cn56xxp1;
2175	struct cvmx_gmxx_tx_ifg_s cn58xx;
2176	struct cvmx_gmxx_tx_ifg_s cn58xxp1;
2177};
2178
2179union cvmx_gmxx_tx_int_en {
2180	uint64_t u64;
2181	struct cvmx_gmxx_tx_int_en_s {
2182		uint64_t reserved_20_63:44;
2183		uint64_t late_col:4;
2184		uint64_t xsdef:4;
2185		uint64_t xscol:4;
2186		uint64_t reserved_6_7:2;
2187		uint64_t undflw:4;
2188		uint64_t ncb_nxa:1;
2189		uint64_t pko_nxa:1;
2190	} s;
2191	struct cvmx_gmxx_tx_int_en_cn30xx {
2192		uint64_t reserved_19_63:45;
2193		uint64_t late_col:3;
2194		uint64_t reserved_15_15:1;
2195		uint64_t xsdef:3;
2196		uint64_t reserved_11_11:1;
2197		uint64_t xscol:3;
2198		uint64_t reserved_5_7:3;
2199		uint64_t undflw:3;
2200		uint64_t reserved_1_1:1;
2201		uint64_t pko_nxa:1;
2202	} cn30xx;
2203	struct cvmx_gmxx_tx_int_en_cn31xx {
2204		uint64_t reserved_15_63:49;
2205		uint64_t xsdef:3;
2206		uint64_t reserved_11_11:1;
2207		uint64_t xscol:3;
2208		uint64_t reserved_5_7:3;
2209		uint64_t undflw:3;
2210		uint64_t reserved_1_1:1;
2211		uint64_t pko_nxa:1;
2212	} cn31xx;
2213	struct cvmx_gmxx_tx_int_en_s cn38xx;
2214	struct cvmx_gmxx_tx_int_en_cn38xxp2 {
2215		uint64_t reserved_16_63:48;
2216		uint64_t xsdef:4;
2217		uint64_t xscol:4;
2218		uint64_t reserved_6_7:2;
2219		uint64_t undflw:4;
2220		uint64_t ncb_nxa:1;
2221		uint64_t pko_nxa:1;
2222	} cn38xxp2;
2223	struct cvmx_gmxx_tx_int_en_cn30xx cn50xx;
2224	struct cvmx_gmxx_tx_int_en_cn52xx {
2225		uint64_t reserved_20_63:44;
2226		uint64_t late_col:4;
2227		uint64_t xsdef:4;
2228		uint64_t xscol:4;
2229		uint64_t reserved_6_7:2;
2230		uint64_t undflw:4;
2231		uint64_t reserved_1_1:1;
2232		uint64_t pko_nxa:1;
2233	} cn52xx;
2234	struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1;
2235	struct cvmx_gmxx_tx_int_en_cn52xx cn56xx;
2236	struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1;
2237	struct cvmx_gmxx_tx_int_en_s cn58xx;
2238	struct cvmx_gmxx_tx_int_en_s cn58xxp1;
2239};
2240
2241union cvmx_gmxx_tx_int_reg {
2242	uint64_t u64;
2243	struct cvmx_gmxx_tx_int_reg_s {
2244		uint64_t reserved_20_63:44;
2245		uint64_t late_col:4;
2246		uint64_t xsdef:4;
2247		uint64_t xscol:4;
2248		uint64_t reserved_6_7:2;
2249		uint64_t undflw:4;
2250		uint64_t ncb_nxa:1;
2251		uint64_t pko_nxa:1;
2252	} s;
2253	struct cvmx_gmxx_tx_int_reg_cn30xx {
2254		uint64_t reserved_19_63:45;
2255		uint64_t late_col:3;
2256		uint64_t reserved_15_15:1;
2257		uint64_t xsdef:3;
2258		uint64_t reserved_11_11:1;
2259		uint64_t xscol:3;
2260		uint64_t reserved_5_7:3;
2261		uint64_t undflw:3;
2262		uint64_t reserved_1_1:1;
2263		uint64_t pko_nxa:1;
2264	} cn30xx;
2265	struct cvmx_gmxx_tx_int_reg_cn31xx {
2266		uint64_t reserved_15_63:49;
2267		uint64_t xsdef:3;
2268		uint64_t reserved_11_11:1;
2269		uint64_t xscol:3;
2270		uint64_t reserved_5_7:3;
2271		uint64_t undflw:3;
2272		uint64_t reserved_1_1:1;
2273		uint64_t pko_nxa:1;
2274	} cn31xx;
2275	struct cvmx_gmxx_tx_int_reg_s cn38xx;
2276	struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
2277		uint64_t reserved_16_63:48;
2278		uint64_t xsdef:4;
2279		uint64_t xscol:4;
2280		uint64_t reserved_6_7:2;
2281		uint64_t undflw:4;
2282		uint64_t ncb_nxa:1;
2283		uint64_t pko_nxa:1;
2284	} cn38xxp2;
2285	struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx;
2286	struct cvmx_gmxx_tx_int_reg_cn52xx {
2287		uint64_t reserved_20_63:44;
2288		uint64_t late_col:4;
2289		uint64_t xsdef:4;
2290		uint64_t xscol:4;
2291		uint64_t reserved_6_7:2;
2292		uint64_t undflw:4;
2293		uint64_t reserved_1_1:1;
2294		uint64_t pko_nxa:1;
2295	} cn52xx;
2296	struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1;
2297	struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx;
2298	struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1;
2299	struct cvmx_gmxx_tx_int_reg_s cn58xx;
2300	struct cvmx_gmxx_tx_int_reg_s cn58xxp1;
2301};
2302
2303union cvmx_gmxx_tx_jam {
2304	uint64_t u64;
2305	struct cvmx_gmxx_tx_jam_s {
2306		uint64_t reserved_8_63:56;
2307		uint64_t jam:8;
2308	} s;
2309	struct cvmx_gmxx_tx_jam_s cn30xx;
2310	struct cvmx_gmxx_tx_jam_s cn31xx;
2311	struct cvmx_gmxx_tx_jam_s cn38xx;
2312	struct cvmx_gmxx_tx_jam_s cn38xxp2;
2313	struct cvmx_gmxx_tx_jam_s cn50xx;
2314	struct cvmx_gmxx_tx_jam_s cn52xx;
2315	struct cvmx_gmxx_tx_jam_s cn52xxp1;
2316	struct cvmx_gmxx_tx_jam_s cn56xx;
2317	struct cvmx_gmxx_tx_jam_s cn56xxp1;
2318	struct cvmx_gmxx_tx_jam_s cn58xx;
2319	struct cvmx_gmxx_tx_jam_s cn58xxp1;
2320};
2321
2322union cvmx_gmxx_tx_lfsr {
2323	uint64_t u64;
2324	struct cvmx_gmxx_tx_lfsr_s {
2325		uint64_t reserved_16_63:48;
2326		uint64_t lfsr:16;
2327	} s;
2328	struct cvmx_gmxx_tx_lfsr_s cn30xx;
2329	struct cvmx_gmxx_tx_lfsr_s cn31xx;
2330	struct cvmx_gmxx_tx_lfsr_s cn38xx;
2331	struct cvmx_gmxx_tx_lfsr_s cn38xxp2;
2332	struct cvmx_gmxx_tx_lfsr_s cn50xx;
2333	struct cvmx_gmxx_tx_lfsr_s cn52xx;
2334	struct cvmx_gmxx_tx_lfsr_s cn52xxp1;
2335	struct cvmx_gmxx_tx_lfsr_s cn56xx;
2336	struct cvmx_gmxx_tx_lfsr_s cn56xxp1;
2337	struct cvmx_gmxx_tx_lfsr_s cn58xx;
2338	struct cvmx_gmxx_tx_lfsr_s cn58xxp1;
2339};
2340
2341union cvmx_gmxx_tx_ovr_bp {
2342	uint64_t u64;
2343	struct cvmx_gmxx_tx_ovr_bp_s {
2344		uint64_t reserved_48_63:16;
2345		uint64_t tx_prt_bp:16;
2346		uint64_t reserved_12_31:20;
2347		uint64_t en:4;
2348		uint64_t bp:4;
2349		uint64_t ign_full:4;
2350	} s;
2351	struct cvmx_gmxx_tx_ovr_bp_cn30xx {
2352		uint64_t reserved_11_63:53;
2353		uint64_t en:3;
2354		uint64_t reserved_7_7:1;
2355		uint64_t bp:3;
2356		uint64_t reserved_3_3:1;
2357		uint64_t ign_full:3;
2358	} cn30xx;
2359	struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx;
2360	struct cvmx_gmxx_tx_ovr_bp_cn38xx {
2361		uint64_t reserved_12_63:52;
2362		uint64_t en:4;
2363		uint64_t bp:4;
2364		uint64_t ign_full:4;
2365	} cn38xx;
2366	struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2;
2367	struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx;
2368	struct cvmx_gmxx_tx_ovr_bp_s cn52xx;
2369	struct cvmx_gmxx_tx_ovr_bp_s cn52xxp1;
2370	struct cvmx_gmxx_tx_ovr_bp_s cn56xx;
2371	struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1;
2372	struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx;
2373	struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xxp1;
2374};
2375
2376union cvmx_gmxx_tx_pause_pkt_dmac {
2377	uint64_t u64;
2378	struct cvmx_gmxx_tx_pause_pkt_dmac_s {
2379		uint64_t reserved_48_63:16;
2380		uint64_t dmac:48;
2381	} s;
2382	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx;
2383	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx;
2384	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xx;
2385	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xxp2;
2386	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn50xx;
2387	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xx;
2388	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xxp1;
2389	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xx;
2390	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1;
2391	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx;
2392	struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xxp1;
2393};
2394
2395union cvmx_gmxx_tx_pause_pkt_type {
2396	uint64_t u64;
2397	struct cvmx_gmxx_tx_pause_pkt_type_s {
2398		uint64_t reserved_16_63:48;
2399		uint64_t type:16;
2400	} s;
2401	struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx;
2402	struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx;
2403	struct cvmx_gmxx_tx_pause_pkt_type_s cn38xx;
2404	struct cvmx_gmxx_tx_pause_pkt_type_s cn38xxp2;
2405	struct cvmx_gmxx_tx_pause_pkt_type_s cn50xx;
2406	struct cvmx_gmxx_tx_pause_pkt_type_s cn52xx;
2407	struct cvmx_gmxx_tx_pause_pkt_type_s cn52xxp1;
2408	struct cvmx_gmxx_tx_pause_pkt_type_s cn56xx;
2409	struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1;
2410	struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx;
2411	struct cvmx_gmxx_tx_pause_pkt_type_s cn58xxp1;
2412};
2413
2414union cvmx_gmxx_tx_prts {
2415	uint64_t u64;
2416	struct cvmx_gmxx_tx_prts_s {
2417		uint64_t reserved_5_63:59;
2418		uint64_t prts:5;
2419	} s;
2420	struct cvmx_gmxx_tx_prts_s cn30xx;
2421	struct cvmx_gmxx_tx_prts_s cn31xx;
2422	struct cvmx_gmxx_tx_prts_s cn38xx;
2423	struct cvmx_gmxx_tx_prts_s cn38xxp2;
2424	struct cvmx_gmxx_tx_prts_s cn50xx;
2425	struct cvmx_gmxx_tx_prts_s cn52xx;
2426	struct cvmx_gmxx_tx_prts_s cn52xxp1;
2427	struct cvmx_gmxx_tx_prts_s cn56xx;
2428	struct cvmx_gmxx_tx_prts_s cn56xxp1;
2429	struct cvmx_gmxx_tx_prts_s cn58xx;
2430	struct cvmx_gmxx_tx_prts_s cn58xxp1;
2431};
2432
2433union cvmx_gmxx_tx_spi_ctl {
2434	uint64_t u64;
2435	struct cvmx_gmxx_tx_spi_ctl_s {
2436		uint64_t reserved_2_63:62;
2437		uint64_t tpa_clr:1;
2438		uint64_t cont_pkt:1;
2439	} s;
2440	struct cvmx_gmxx_tx_spi_ctl_s cn38xx;
2441	struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2;
2442	struct cvmx_gmxx_tx_spi_ctl_s cn58xx;
2443	struct cvmx_gmxx_tx_spi_ctl_s cn58xxp1;
2444};
2445
2446union cvmx_gmxx_tx_spi_drain {
2447	uint64_t u64;
2448	struct cvmx_gmxx_tx_spi_drain_s {
2449		uint64_t reserved_16_63:48;
2450		uint64_t drain:16;
2451	} s;
2452	struct cvmx_gmxx_tx_spi_drain_s cn38xx;
2453	struct cvmx_gmxx_tx_spi_drain_s cn58xx;
2454	struct cvmx_gmxx_tx_spi_drain_s cn58xxp1;
2455};
2456
2457union cvmx_gmxx_tx_spi_max {
2458	uint64_t u64;
2459	struct cvmx_gmxx_tx_spi_max_s {
2460		uint64_t reserved_23_63:41;
2461		uint64_t slice:7;
2462		uint64_t max2:8;
2463		uint64_t max1:8;
2464	} s;
2465	struct cvmx_gmxx_tx_spi_max_cn38xx {
2466		uint64_t reserved_16_63:48;
2467		uint64_t max2:8;
2468		uint64_t max1:8;
2469	} cn38xx;
2470	struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2;
2471	struct cvmx_gmxx_tx_spi_max_s cn58xx;
2472	struct cvmx_gmxx_tx_spi_max_s cn58xxp1;
2473};
2474
2475union cvmx_gmxx_tx_spi_roundx {
2476	uint64_t u64;
2477	struct cvmx_gmxx_tx_spi_roundx_s {
2478		uint64_t reserved_16_63:48;
2479		uint64_t round:16;
2480	} s;
2481	struct cvmx_gmxx_tx_spi_roundx_s cn58xx;
2482	struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1;
2483};
2484
2485union cvmx_gmxx_tx_spi_thresh {
2486	uint64_t u64;
2487	struct cvmx_gmxx_tx_spi_thresh_s {
2488		uint64_t reserved_6_63:58;
2489		uint64_t thresh:6;
2490	} s;
2491	struct cvmx_gmxx_tx_spi_thresh_s cn38xx;
2492	struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2;
2493	struct cvmx_gmxx_tx_spi_thresh_s cn58xx;
2494	struct cvmx_gmxx_tx_spi_thresh_s cn58xxp1;
2495};
2496
2497union cvmx_gmxx_tx_xaui_ctl {
2498	uint64_t u64;
2499	struct cvmx_gmxx_tx_xaui_ctl_s {
2500		uint64_t reserved_11_63:53;
2501		uint64_t hg_pause_hgi:2;
2502		uint64_t hg_en:1;
2503		uint64_t reserved_7_7:1;
2504		uint64_t ls_byp:1;
2505		uint64_t ls:2;
2506		uint64_t reserved_2_3:2;
2507		uint64_t uni_en:1;
2508		uint64_t dic_en:1;
2509	} s;
2510	struct cvmx_gmxx_tx_xaui_ctl_s cn52xx;
2511	struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1;
2512	struct cvmx_gmxx_tx_xaui_ctl_s cn56xx;
2513	struct cvmx_gmxx_tx_xaui_ctl_s cn56xxp1;
2514};
2515
2516union cvmx_gmxx_xaui_ext_loopback {
2517	uint64_t u64;
2518	struct cvmx_gmxx_xaui_ext_loopback_s {
2519		uint64_t reserved_5_63:59;
2520		uint64_t en:1;
2521		uint64_t thresh:4;
2522	} s;
2523	struct cvmx_gmxx_xaui_ext_loopback_s cn52xx;
2524	struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1;
2525	struct cvmx_gmxx_xaui_ext_loopback_s cn56xx;
2526	struct cvmx_gmxx_xaui_ext_loopback_s cn56xxp1;
2527};
2528
2529#endif