Linux Audio

Check our new training course

Loading...
v5.4
   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-2018 Cavium, Inc.
   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
  31static inline uint64_t CVMX_GMXX_HG2_CONTROL(unsigned long block_id)
  32{
  33	switch (cvmx_get_octeon_family()) {
  34	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  35		return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x1000000ull;
  36	}
  37	return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
  38}
  39
  40static inline uint64_t CVMX_GMXX_INF_MODE(unsigned long block_id)
  41{
  42	switch (cvmx_get_octeon_family()) {
  43	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  44		return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x1000000ull;
  45	}
  46	return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
  47}
  48
  49static inline uint64_t CVMX_GMXX_PRTX_CFG(unsigned long offset, unsigned long block_id)
  50{
  51	switch (cvmx_get_octeon_family()) {
  52	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  53		return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  54	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  55		return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  56	}
  57	return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  58}
  59
  60static inline uint64_t CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id)
  61{
  62	switch (cvmx_get_octeon_family()) {
  63	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  64		return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  65	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  66		return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  67	}
  68	return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  69}
  70
  71static inline uint64_t CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id)
  72{
  73	switch (cvmx_get_octeon_family()) {
  74	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  75		return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  76	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  77		return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  78	}
  79	return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  80}
  81
  82static inline uint64_t CVMX_GMXX_RXX_ADR_CAM2(unsigned long offset, unsigned long block_id)
  83{
  84	switch (cvmx_get_octeon_family()) {
  85	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  86		return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  87	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  88		return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  89	}
  90	return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  91}
  92
  93static inline uint64_t CVMX_GMXX_RXX_ADR_CAM3(unsigned long offset, unsigned long block_id)
  94{
  95	switch (cvmx_get_octeon_family()) {
  96	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  97		return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  98	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  99		return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 100	}
 101	return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 102}
 103
 104static inline uint64_t CVMX_GMXX_RXX_ADR_CAM4(unsigned long offset, unsigned long block_id)
 105{
 106	switch (cvmx_get_octeon_family()) {
 107	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 108		return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 109	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 110		return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 111	}
 112	return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 113}
 114
 115static inline uint64_t CVMX_GMXX_RXX_ADR_CAM5(unsigned long offset, unsigned long block_id)
 116{
 117	switch (cvmx_get_octeon_family()) {
 118	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 119		return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 120	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 121		return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 122	}
 123	return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 124}
 125
 126static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_EN(unsigned long offset, unsigned long block_id)
 127{
 128	switch (cvmx_get_octeon_family()) {
 129	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 130		return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 131	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 132		return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 133	}
 134	return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 135}
 136
 137static inline uint64_t CVMX_GMXX_RXX_ADR_CTL(unsigned long offset, unsigned long block_id)
 138{
 139	switch (cvmx_get_octeon_family()) {
 140	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 141		return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 142	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 143		return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 144	}
 145	return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 146}
 147
 148static inline uint64_t CVMX_GMXX_RXX_FRM_CTL(unsigned long offset, unsigned long block_id)
 149{
 150	switch (cvmx_get_octeon_family()) {
 151	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 152		return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 153	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 154		return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 155	}
 156	return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 157}
 158
 159#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000030ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 160#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000028ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 161
 162static inline uint64_t CVMX_GMXX_RXX_INT_EN(unsigned long offset, unsigned long block_id)
 163{
 164	switch (cvmx_get_octeon_family()) {
 165	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 166		return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 167	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 168		return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 169	}
 170	return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 171}
 172
 173static inline uint64_t CVMX_GMXX_RXX_INT_REG(unsigned long offset, unsigned long block_id)
 174{
 175	switch (cvmx_get_octeon_family()) {
 176	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 177		return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 178	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 179		return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 180	}
 181	return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 182}
 183
 184static inline uint64_t CVMX_GMXX_RXX_JABBER(unsigned long offset, unsigned long block_id)
 185{
 186	switch (cvmx_get_octeon_family()) {
 187	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 188		return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 189	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 190		return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 191	}
 192	return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 193}
 194
 195#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000060ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 196
 197static inline uint64_t CVMX_GMXX_RX_PRTS(unsigned long block_id)
 198{
 199	switch (cvmx_get_octeon_family()) {
 200	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 201		return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x1000000ull;
 202	}
 203	return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
 204}
 205
 206static inline uint64_t CVMX_GMXX_RX_XAUI_CTL(unsigned long block_id)
 207{
 208	switch (cvmx_get_octeon_family()) {
 209	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 210		return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x1000000ull;
 211	}
 212	return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
 213}
 214
 215static inline uint64_t CVMX_GMXX_SMACX(unsigned long offset, unsigned long block_id)
 216{
 217	switch (cvmx_get_octeon_family()) {
 218	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 219		return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 220	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 221		return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 222	}
 223	return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 224}
 225
 226static inline uint64_t CVMX_GMXX_TXX_BURST(unsigned long offset, unsigned long block_id)
 227{
 228	switch (cvmx_get_octeon_family()) {
 229	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 230		return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 231	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 232		return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 233	}
 234	return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 235}
 236
 237#define CVMX_GMXX_TXX_CLK(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000208ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 238static inline uint64_t CVMX_GMXX_TXX_CTL(unsigned long offset, unsigned long block_id)
 239{
 240	switch (cvmx_get_octeon_family()) {
 241	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 242		return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 243	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 244		return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 245	}
 246	return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 247}
 248
 249static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset, unsigned long block_id)
 250{
 251	switch (cvmx_get_octeon_family()) {
 252	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 253		return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 254	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 255		return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 256	}
 257	return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 258}
 259
 260static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_TIME(unsigned long offset, unsigned long block_id)
 261{
 262	switch (cvmx_get_octeon_family()) {
 263	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 264		return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 265	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 266		return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 267	}
 268	return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 269}
 270
 271static inline uint64_t CVMX_GMXX_TXX_SLOT(unsigned long offset, unsigned long block_id)
 272{
 273	switch (cvmx_get_octeon_family()) {
 274	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 275		return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 276	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 277		return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 278	}
 279	return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 280}
 281
 282static inline uint64_t CVMX_GMXX_TXX_THRESH(unsigned long offset, unsigned long block_id)
 283{
 284	switch (cvmx_get_octeon_family()) {
 285	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 286		return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 287	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 288		return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 289	}
 290	return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 291}
 292
 293static inline uint64_t CVMX_GMXX_TX_INT_EN(unsigned long block_id)
 294{
 295	switch (cvmx_get_octeon_family()) {
 296	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 297		return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x1000000ull;
 298	}
 299	return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
 300}
 301
 302static inline uint64_t CVMX_GMXX_TX_INT_REG(unsigned long block_id)
 303{
 304	switch (cvmx_get_octeon_family()) {
 305	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 306		return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x1000000ull;
 307	}
 308	return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
 309}
 310
 311static inline uint64_t CVMX_GMXX_TX_OVR_BP(unsigned long block_id)
 312{
 313	switch (cvmx_get_octeon_family()) {
 314	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 315		return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x1000000ull;
 316	}
 317	return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
 318}
 319
 320static inline uint64_t CVMX_GMXX_TX_PRTS(unsigned long block_id)
 321{
 322	switch (cvmx_get_octeon_family()) {
 323	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 324		return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x1000000ull;
 325	}
 326	return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
 327}
 328
 329#define CVMX_GMXX_TX_SPI_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800080004C0ull) + ((block_id) & 1) * 0x8000000ull)
 330#define CVMX_GMXX_TX_SPI_MAX(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B0ull) + ((block_id) & 1) * 0x8000000ull)
 331#define CVMX_GMXX_TX_SPI_THRESH(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B8ull) + ((block_id) & 1) * 0x8000000ull)
 332static inline uint64_t CVMX_GMXX_TX_XAUI_CTL(unsigned long block_id)
 333{
 334	switch (cvmx_get_octeon_family()) {
 335	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 336		return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x1000000ull;
 337	}
 338	return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
 339}
 340
 341void __cvmx_interrupt_gmxx_enable(int interface);
 342
 343union cvmx_gmxx_hg2_control {
 344	uint64_t u64;
 345	struct cvmx_gmxx_hg2_control_s {
 346#ifdef __BIG_ENDIAN_BITFIELD
 347		uint64_t reserved_19_63:45;
 348		uint64_t hg2tx_en:1;
 349		uint64_t hg2rx_en:1;
 350		uint64_t phys_en:1;
 351		uint64_t logl_en:16;
 352#else
 353		uint64_t logl_en:16;
 354		uint64_t phys_en:1;
 355		uint64_t hg2rx_en:1;
 356		uint64_t hg2tx_en:1;
 357		uint64_t reserved_19_63:45;
 358#endif
 359	} s;
 360};
 361
 362union cvmx_gmxx_inf_mode {
 363	uint64_t u64;
 364	struct cvmx_gmxx_inf_mode_s {
 365#ifdef __BIG_ENDIAN_BITFIELD
 366		uint64_t reserved_20_63:44;
 367		uint64_t rate:4;
 368		uint64_t reserved_12_15:4;
 369		uint64_t speed:4;
 370		uint64_t reserved_7_7:1;
 371		uint64_t mode:3;
 372		uint64_t reserved_3_3:1;
 373		uint64_t p0mii:1;
 374		uint64_t en:1;
 375		uint64_t type:1;
 376#else
 377		uint64_t type:1;
 378		uint64_t en:1;
 379		uint64_t p0mii:1;
 380		uint64_t reserved_3_3:1;
 381		uint64_t mode:3;
 382		uint64_t reserved_7_7:1;
 383		uint64_t speed:4;
 384		uint64_t reserved_12_15:4;
 385		uint64_t rate:4;
 386		uint64_t reserved_20_63:44;
 387#endif
 388	} s;
 389	struct cvmx_gmxx_inf_mode_cn30xx {
 390#ifdef __BIG_ENDIAN_BITFIELD
 391		uint64_t reserved_3_63:61;
 392		uint64_t p0mii:1;
 393		uint64_t en:1;
 394		uint64_t type:1;
 395#else
 396		uint64_t type:1;
 397		uint64_t en:1;
 398		uint64_t p0mii:1;
 399		uint64_t reserved_3_63:61;
 400#endif
 401	} cn30xx;
 402	struct cvmx_gmxx_inf_mode_cn31xx {
 403#ifdef __BIG_ENDIAN_BITFIELD
 404		uint64_t reserved_2_63:62;
 405		uint64_t en:1;
 406		uint64_t type:1;
 407#else
 408		uint64_t type:1;
 409		uint64_t en:1;
 410		uint64_t reserved_2_63:62;
 411#endif
 412	} cn31xx;
 413	struct cvmx_gmxx_inf_mode_cn52xx {
 414#ifdef __BIG_ENDIAN_BITFIELD
 415		uint64_t reserved_10_63:54;
 416		uint64_t speed:2;
 417		uint64_t reserved_6_7:2;
 418		uint64_t mode:2;
 419		uint64_t reserved_2_3:2;
 420		uint64_t en:1;
 421		uint64_t type:1;
 422#else
 423		uint64_t type:1;
 424		uint64_t en:1;
 425		uint64_t reserved_2_3:2;
 426		uint64_t mode:2;
 427		uint64_t reserved_6_7:2;
 428		uint64_t speed:2;
 429		uint64_t reserved_10_63:54;
 430#endif
 431	} cn52xx;
 432	struct cvmx_gmxx_inf_mode_cn61xx {
 433#ifdef __BIG_ENDIAN_BITFIELD
 434		uint64_t reserved_12_63:52;
 435		uint64_t speed:4;
 436		uint64_t reserved_5_7:3;
 437		uint64_t mode:1;
 438		uint64_t reserved_2_3:2;
 439		uint64_t en:1;
 440		uint64_t type:1;
 441#else
 442		uint64_t type:1;
 443		uint64_t en:1;
 444		uint64_t reserved_2_3:2;
 445		uint64_t mode:1;
 446		uint64_t reserved_5_7:3;
 447		uint64_t speed:4;
 448		uint64_t reserved_12_63:52;
 449#endif
 450	} cn61xx;
 451	struct cvmx_gmxx_inf_mode_cn66xx {
 452#ifdef __BIG_ENDIAN_BITFIELD
 453		uint64_t reserved_20_63:44;
 454		uint64_t rate:4;
 455		uint64_t reserved_12_15:4;
 456		uint64_t speed:4;
 457		uint64_t reserved_5_7:3;
 458		uint64_t mode:1;
 459		uint64_t reserved_2_3:2;
 460		uint64_t en:1;
 461		uint64_t type:1;
 462#else
 463		uint64_t type:1;
 464		uint64_t en:1;
 465		uint64_t reserved_2_3:2;
 466		uint64_t mode:1;
 467		uint64_t reserved_5_7:3;
 468		uint64_t speed:4;
 469		uint64_t reserved_12_15:4;
 470		uint64_t rate:4;
 471		uint64_t reserved_20_63:44;
 472#endif
 473	} cn66xx;
 474	struct cvmx_gmxx_inf_mode_cn68xx {
 475#ifdef __BIG_ENDIAN_BITFIELD
 476		uint64_t reserved_12_63:52;
 477		uint64_t speed:4;
 478		uint64_t reserved_7_7:1;
 479		uint64_t mode:3;
 480		uint64_t reserved_2_3:2;
 481		uint64_t en:1;
 482		uint64_t type:1;
 483#else
 484		uint64_t type:1;
 485		uint64_t en:1;
 486		uint64_t reserved_2_3:2;
 487		uint64_t mode:3;
 488		uint64_t reserved_7_7:1;
 489		uint64_t speed:4;
 490		uint64_t reserved_12_63:52;
 491#endif
 492	} cn68xx;
 493};
 494
 495union cvmx_gmxx_prtx_cfg {
 496	uint64_t u64;
 497	struct cvmx_gmxx_prtx_cfg_s {
 498#ifdef __BIG_ENDIAN_BITFIELD
 499		uint64_t reserved_22_63:42;
 500		uint64_t pknd:6;
 501		uint64_t reserved_14_15:2;
 502		uint64_t tx_idle:1;
 503		uint64_t rx_idle:1;
 504		uint64_t reserved_9_11:3;
 505		uint64_t speed_msb:1;
 506		uint64_t reserved_4_7:4;
 507		uint64_t slottime:1;
 508		uint64_t duplex:1;
 509		uint64_t speed:1;
 510		uint64_t en:1;
 511#else
 512		uint64_t en:1;
 513		uint64_t speed:1;
 514		uint64_t duplex:1;
 515		uint64_t slottime:1;
 516		uint64_t reserved_4_7:4;
 517		uint64_t speed_msb:1;
 518		uint64_t reserved_9_11:3;
 519		uint64_t rx_idle:1;
 520		uint64_t tx_idle:1;
 521		uint64_t reserved_14_15:2;
 522		uint64_t pknd:6;
 523		uint64_t reserved_22_63:42;
 524#endif
 525	} s;
 526	struct cvmx_gmxx_prtx_cfg_cn30xx {
 527#ifdef __BIG_ENDIAN_BITFIELD
 528		uint64_t reserved_4_63:60;
 529		uint64_t slottime:1;
 530		uint64_t duplex:1;
 531		uint64_t speed:1;
 532		uint64_t en:1;
 533#else
 534		uint64_t en:1;
 535		uint64_t speed:1;
 536		uint64_t duplex:1;
 537		uint64_t slottime:1;
 538		uint64_t reserved_4_63:60;
 539#endif
 540	} cn30xx;
 541	struct cvmx_gmxx_prtx_cfg_cn52xx {
 542#ifdef __BIG_ENDIAN_BITFIELD
 543		uint64_t reserved_14_63:50;
 544		uint64_t tx_idle:1;
 545		uint64_t rx_idle:1;
 546		uint64_t reserved_9_11:3;
 547		uint64_t speed_msb:1;
 548		uint64_t reserved_4_7:4;
 549		uint64_t slottime:1;
 550		uint64_t duplex:1;
 551		uint64_t speed:1;
 552		uint64_t en:1;
 553#else
 554		uint64_t en:1;
 555		uint64_t speed:1;
 556		uint64_t duplex:1;
 557		uint64_t slottime:1;
 558		uint64_t reserved_4_7:4;
 559		uint64_t speed_msb:1;
 560		uint64_t reserved_9_11:3;
 561		uint64_t rx_idle:1;
 562		uint64_t tx_idle:1;
 563		uint64_t reserved_14_63:50;
 564#endif
 565	} cn52xx;
 566};
 567
 568union cvmx_gmxx_rxx_adr_ctl {
 569	uint64_t u64;
 570	struct cvmx_gmxx_rxx_adr_ctl_s {
 571#ifdef __BIG_ENDIAN_BITFIELD
 572		uint64_t reserved_4_63:60;
 573		uint64_t cam_mode:1;
 574		uint64_t mcst:2;
 575		uint64_t bcst:1;
 576#else
 577		uint64_t bcst:1;
 578		uint64_t mcst:2;
 579		uint64_t cam_mode:1;
 580		uint64_t reserved_4_63:60;
 581#endif
 582	} s;
 583};
 584
 585union cvmx_gmxx_rxx_frm_ctl {
 586	uint64_t u64;
 587	struct cvmx_gmxx_rxx_frm_ctl_s {
 588#ifdef __BIG_ENDIAN_BITFIELD
 589		uint64_t reserved_13_63:51;
 590		uint64_t ptp_mode:1;
 591		uint64_t reserved_11_11:1;
 592		uint64_t null_dis:1;
 593		uint64_t pre_align:1;
 594		uint64_t pad_len:1;
 595		uint64_t vlan_len:1;
 596		uint64_t pre_free:1;
 597		uint64_t ctl_smac:1;
 598		uint64_t ctl_mcst:1;
 599		uint64_t ctl_bck:1;
 600		uint64_t ctl_drp:1;
 601		uint64_t pre_strp:1;
 602		uint64_t pre_chk:1;
 603#else
 604		uint64_t pre_chk:1;
 605		uint64_t pre_strp:1;
 606		uint64_t ctl_drp:1;
 607		uint64_t ctl_bck:1;
 608		uint64_t ctl_mcst:1;
 609		uint64_t ctl_smac:1;
 610		uint64_t pre_free:1;
 611		uint64_t vlan_len:1;
 612		uint64_t pad_len:1;
 613		uint64_t pre_align:1;
 614		uint64_t null_dis:1;
 615		uint64_t reserved_11_11:1;
 616		uint64_t ptp_mode:1;
 617		uint64_t reserved_13_63:51;
 618#endif
 619	} s;
 620	struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
 621#ifdef __BIG_ENDIAN_BITFIELD
 622		uint64_t reserved_9_63:55;
 623		uint64_t pad_len:1;
 624		uint64_t vlan_len:1;
 625		uint64_t pre_free:1;
 626		uint64_t ctl_smac:1;
 627		uint64_t ctl_mcst:1;
 628		uint64_t ctl_bck:1;
 629		uint64_t ctl_drp:1;
 630		uint64_t pre_strp:1;
 631		uint64_t pre_chk:1;
 632#else
 633		uint64_t pre_chk:1;
 634		uint64_t pre_strp:1;
 635		uint64_t ctl_drp:1;
 636		uint64_t ctl_bck:1;
 637		uint64_t ctl_mcst:1;
 638		uint64_t ctl_smac:1;
 639		uint64_t pre_free:1;
 640		uint64_t vlan_len:1;
 641		uint64_t pad_len:1;
 642		uint64_t reserved_9_63:55;
 643#endif
 644	} cn30xx;
 645	struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
 646#ifdef __BIG_ENDIAN_BITFIELD
 647		uint64_t reserved_8_63:56;
 648		uint64_t vlan_len:1;
 649		uint64_t pre_free:1;
 650		uint64_t ctl_smac:1;
 651		uint64_t ctl_mcst:1;
 652		uint64_t ctl_bck:1;
 653		uint64_t ctl_drp:1;
 654		uint64_t pre_strp:1;
 655		uint64_t pre_chk:1;
 656#else
 657		uint64_t pre_chk:1;
 658		uint64_t pre_strp:1;
 659		uint64_t ctl_drp:1;
 660		uint64_t ctl_bck:1;
 661		uint64_t ctl_mcst:1;
 662		uint64_t ctl_smac:1;
 663		uint64_t pre_free:1;
 664		uint64_t vlan_len:1;
 665		uint64_t reserved_8_63:56;
 666#endif
 667	} cn31xx;
 668	struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
 669#ifdef __BIG_ENDIAN_BITFIELD
 670		uint64_t reserved_11_63:53;
 671		uint64_t null_dis:1;
 672		uint64_t pre_align:1;
 673		uint64_t reserved_7_8:2;
 674		uint64_t pre_free:1;
 675		uint64_t ctl_smac:1;
 676		uint64_t ctl_mcst:1;
 677		uint64_t ctl_bck:1;
 678		uint64_t ctl_drp:1;
 679		uint64_t pre_strp:1;
 680		uint64_t pre_chk:1;
 681#else
 682		uint64_t pre_chk:1;
 683		uint64_t pre_strp:1;
 684		uint64_t ctl_drp:1;
 685		uint64_t ctl_bck:1;
 686		uint64_t ctl_mcst:1;
 687		uint64_t ctl_smac:1;
 688		uint64_t pre_free:1;
 689		uint64_t reserved_7_8:2;
 690		uint64_t pre_align:1;
 691		uint64_t null_dis:1;
 692		uint64_t reserved_11_63:53;
 693#endif
 694	} cn50xx;
 695	struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
 696#ifdef __BIG_ENDIAN_BITFIELD
 697		uint64_t reserved_10_63:54;
 698		uint64_t pre_align:1;
 699		uint64_t reserved_7_8:2;
 700		uint64_t pre_free:1;
 701		uint64_t ctl_smac:1;
 702		uint64_t ctl_mcst:1;
 703		uint64_t ctl_bck:1;
 704		uint64_t ctl_drp:1;
 705		uint64_t pre_strp:1;
 706		uint64_t pre_chk:1;
 707#else
 708		uint64_t pre_chk:1;
 709		uint64_t pre_strp:1;
 710		uint64_t ctl_drp:1;
 711		uint64_t ctl_bck:1;
 712		uint64_t ctl_mcst:1;
 713		uint64_t ctl_smac:1;
 714		uint64_t pre_free:1;
 715		uint64_t reserved_7_8:2;
 716		uint64_t pre_align:1;
 717		uint64_t reserved_10_63:54;
 718#endif
 719	} cn56xxp1;
 720	struct cvmx_gmxx_rxx_frm_ctl_cn58xx {
 721#ifdef __BIG_ENDIAN_BITFIELD
 722		uint64_t reserved_11_63:53;
 723		uint64_t null_dis:1;
 724		uint64_t pre_align:1;
 725		uint64_t pad_len:1;
 726		uint64_t vlan_len:1;
 727		uint64_t pre_free:1;
 728		uint64_t ctl_smac:1;
 729		uint64_t ctl_mcst:1;
 730		uint64_t ctl_bck:1;
 731		uint64_t ctl_drp:1;
 732		uint64_t pre_strp:1;
 733		uint64_t pre_chk:1;
 734#else
 735		uint64_t pre_chk:1;
 736		uint64_t pre_strp:1;
 737		uint64_t ctl_drp:1;
 738		uint64_t ctl_bck:1;
 739		uint64_t ctl_mcst:1;
 740		uint64_t ctl_smac:1;
 741		uint64_t pre_free:1;
 742		uint64_t vlan_len:1;
 743		uint64_t pad_len:1;
 744		uint64_t pre_align:1;
 745		uint64_t null_dis:1;
 746		uint64_t reserved_11_63:53;
 747#endif
 748	} cn58xx;
 749	struct cvmx_gmxx_rxx_frm_ctl_cn61xx {
 750#ifdef __BIG_ENDIAN_BITFIELD
 751		uint64_t reserved_13_63:51;
 752		uint64_t ptp_mode:1;
 753		uint64_t reserved_11_11:1;
 754		uint64_t null_dis:1;
 755		uint64_t pre_align:1;
 756		uint64_t reserved_7_8:2;
 757		uint64_t pre_free:1;
 758		uint64_t ctl_smac:1;
 759		uint64_t ctl_mcst:1;
 760		uint64_t ctl_bck:1;
 761		uint64_t ctl_drp:1;
 762		uint64_t pre_strp:1;
 763		uint64_t pre_chk:1;
 764#else
 765		uint64_t pre_chk:1;
 766		uint64_t pre_strp:1;
 767		uint64_t ctl_drp:1;
 768		uint64_t ctl_bck:1;
 769		uint64_t ctl_mcst:1;
 770		uint64_t ctl_smac:1;
 771		uint64_t pre_free:1;
 772		uint64_t reserved_7_8:2;
 773		uint64_t pre_align:1;
 774		uint64_t null_dis:1;
 775		uint64_t reserved_11_11:1;
 776		uint64_t ptp_mode:1;
 777		uint64_t reserved_13_63:51;
 778#endif
 779	} cn61xx;
 780};
 781
 782union cvmx_gmxx_rxx_frm_max {
 783	uint64_t u64;
 784	struct cvmx_gmxx_rxx_frm_max_s {
 785#ifdef __BIG_ENDIAN_BITFIELD
 786		uint64_t reserved_16_63:48;
 787		uint64_t len:16;
 788#else
 789		uint64_t len:16;
 790		uint64_t reserved_16_63:48;
 791#endif
 792	} s;
 793};
 794
 795union cvmx_gmxx_rxx_frm_min {
 796	uint64_t u64;
 797	struct cvmx_gmxx_rxx_frm_min_s {
 798#ifdef __BIG_ENDIAN_BITFIELD
 799		uint64_t reserved_16_63:48;
 800		uint64_t len:16;
 801#else
 802		uint64_t len:16;
 803		uint64_t reserved_16_63:48;
 804#endif
 805	} s;
 806};
 807
 808union cvmx_gmxx_rxx_int_en {
 809	uint64_t u64;
 810	struct cvmx_gmxx_rxx_int_en_s {
 811#ifdef __BIG_ENDIAN_BITFIELD
 812		uint64_t reserved_29_63:35;
 813		uint64_t hg2cc:1;
 814		uint64_t hg2fld:1;
 815		uint64_t undat:1;
 816		uint64_t uneop:1;
 817		uint64_t unsop:1;
 818		uint64_t bad_term:1;
 819		uint64_t bad_seq:1;
 820		uint64_t rem_fault:1;
 821		uint64_t loc_fault:1;
 822		uint64_t pause_drp:1;
 823		uint64_t phy_dupx:1;
 824		uint64_t phy_spd:1;
 825		uint64_t phy_link:1;
 826		uint64_t ifgerr:1;
 827		uint64_t coldet:1;
 828		uint64_t falerr:1;
 829		uint64_t rsverr:1;
 830		uint64_t pcterr:1;
 831		uint64_t ovrerr:1;
 832		uint64_t niberr:1;
 833		uint64_t skperr:1;
 834		uint64_t rcverr:1;
 835		uint64_t lenerr:1;
 836		uint64_t alnerr:1;
 837		uint64_t fcserr:1;
 838		uint64_t jabber:1;
 839		uint64_t maxerr:1;
 840		uint64_t carext:1;
 841		uint64_t minerr:1;
 842#else
 843		uint64_t minerr:1;
 844		uint64_t carext:1;
 845		uint64_t maxerr:1;
 846		uint64_t jabber:1;
 847		uint64_t fcserr:1;
 848		uint64_t alnerr:1;
 849		uint64_t lenerr:1;
 850		uint64_t rcverr:1;
 851		uint64_t skperr:1;
 852		uint64_t niberr:1;
 853		uint64_t ovrerr:1;
 854		uint64_t pcterr:1;
 855		uint64_t rsverr:1;
 856		uint64_t falerr:1;
 857		uint64_t coldet:1;
 858		uint64_t ifgerr:1;
 859		uint64_t phy_link:1;
 860		uint64_t phy_spd:1;
 861		uint64_t phy_dupx:1;
 862		uint64_t pause_drp:1;
 863		uint64_t loc_fault:1;
 864		uint64_t rem_fault:1;
 865		uint64_t bad_seq:1;
 866		uint64_t bad_term:1;
 867		uint64_t unsop:1;
 868		uint64_t uneop:1;
 869		uint64_t undat:1;
 870		uint64_t hg2fld:1;
 871		uint64_t hg2cc:1;
 872		uint64_t reserved_29_63:35;
 873#endif
 874	} s;
 875	struct cvmx_gmxx_rxx_int_en_cn30xx {
 876#ifdef __BIG_ENDIAN_BITFIELD
 877		uint64_t reserved_19_63:45;
 878		uint64_t phy_dupx:1;
 879		uint64_t phy_spd:1;
 880		uint64_t phy_link:1;
 881		uint64_t ifgerr:1;
 882		uint64_t coldet:1;
 883		uint64_t falerr:1;
 884		uint64_t rsverr:1;
 885		uint64_t pcterr:1;
 886		uint64_t ovrerr:1;
 887		uint64_t niberr:1;
 888		uint64_t skperr:1;
 889		uint64_t rcverr:1;
 890		uint64_t lenerr:1;
 891		uint64_t alnerr:1;
 892		uint64_t fcserr:1;
 893		uint64_t jabber:1;
 894		uint64_t maxerr:1;
 895		uint64_t carext:1;
 896		uint64_t minerr:1;
 897#else
 898		uint64_t minerr:1;
 899		uint64_t carext:1;
 900		uint64_t maxerr:1;
 901		uint64_t jabber:1;
 902		uint64_t fcserr:1;
 903		uint64_t alnerr:1;
 904		uint64_t lenerr:1;
 905		uint64_t rcverr:1;
 906		uint64_t skperr:1;
 907		uint64_t niberr:1;
 908		uint64_t ovrerr:1;
 909		uint64_t pcterr:1;
 910		uint64_t rsverr:1;
 911		uint64_t falerr:1;
 912		uint64_t coldet:1;
 913		uint64_t ifgerr:1;
 914		uint64_t phy_link:1;
 915		uint64_t phy_spd:1;
 916		uint64_t phy_dupx:1;
 917		uint64_t reserved_19_63:45;
 918#endif
 919	} cn30xx;
 920	struct cvmx_gmxx_rxx_int_en_cn50xx {
 921#ifdef __BIG_ENDIAN_BITFIELD
 922		uint64_t reserved_20_63:44;
 923		uint64_t pause_drp:1;
 924		uint64_t phy_dupx:1;
 925		uint64_t phy_spd:1;
 926		uint64_t phy_link:1;
 927		uint64_t ifgerr:1;
 928		uint64_t coldet:1;
 929		uint64_t falerr:1;
 930		uint64_t rsverr:1;
 931		uint64_t pcterr:1;
 932		uint64_t ovrerr:1;
 933		uint64_t niberr:1;
 934		uint64_t skperr:1;
 935		uint64_t rcverr:1;
 936		uint64_t reserved_6_6:1;
 937		uint64_t alnerr:1;
 938		uint64_t fcserr:1;
 939		uint64_t jabber:1;
 940		uint64_t reserved_2_2:1;
 941		uint64_t carext:1;
 942		uint64_t reserved_0_0:1;
 943#else
 944		uint64_t reserved_0_0:1;
 945		uint64_t carext:1;
 946		uint64_t reserved_2_2:1;
 947		uint64_t jabber:1;
 948		uint64_t fcserr:1;
 949		uint64_t alnerr:1;
 950		uint64_t reserved_6_6:1;
 951		uint64_t rcverr:1;
 952		uint64_t skperr:1;
 953		uint64_t niberr:1;
 954		uint64_t ovrerr:1;
 955		uint64_t pcterr:1;
 956		uint64_t rsverr:1;
 957		uint64_t falerr:1;
 958		uint64_t coldet:1;
 959		uint64_t ifgerr:1;
 960		uint64_t phy_link:1;
 961		uint64_t phy_spd:1;
 962		uint64_t phy_dupx:1;
 963		uint64_t pause_drp:1;
 964		uint64_t reserved_20_63:44;
 965#endif
 966	} cn50xx;
 967	struct cvmx_gmxx_rxx_int_en_cn52xx {
 968#ifdef __BIG_ENDIAN_BITFIELD
 969		uint64_t reserved_29_63:35;
 970		uint64_t hg2cc:1;
 971		uint64_t hg2fld:1;
 972		uint64_t undat:1;
 973		uint64_t uneop:1;
 974		uint64_t unsop:1;
 975		uint64_t bad_term:1;
 976		uint64_t bad_seq:1;
 977		uint64_t rem_fault:1;
 978		uint64_t loc_fault:1;
 979		uint64_t pause_drp:1;
 980		uint64_t reserved_16_18:3;
 981		uint64_t ifgerr:1;
 982		uint64_t coldet:1;
 983		uint64_t falerr:1;
 984		uint64_t rsverr:1;
 985		uint64_t pcterr:1;
 986		uint64_t ovrerr:1;
 987		uint64_t reserved_9_9:1;
 988		uint64_t skperr:1;
 989		uint64_t rcverr:1;
 990		uint64_t reserved_5_6:2;
 991		uint64_t fcserr:1;
 992		uint64_t jabber:1;
 993		uint64_t reserved_2_2:1;
 994		uint64_t carext:1;
 995		uint64_t reserved_0_0:1;
 996#else
 997		uint64_t reserved_0_0:1;
 998		uint64_t carext:1;
 999		uint64_t reserved_2_2:1;
1000		uint64_t jabber:1;
1001		uint64_t fcserr:1;
1002		uint64_t reserved_5_6:2;
1003		uint64_t rcverr:1;
1004		uint64_t skperr:1;
1005		uint64_t reserved_9_9:1;
1006		uint64_t ovrerr:1;
1007		uint64_t pcterr:1;
1008		uint64_t rsverr:1;
1009		uint64_t falerr:1;
1010		uint64_t coldet:1;
1011		uint64_t ifgerr:1;
1012		uint64_t reserved_16_18:3;
1013		uint64_t pause_drp:1;
1014		uint64_t loc_fault:1;
1015		uint64_t rem_fault:1;
1016		uint64_t bad_seq:1;
1017		uint64_t bad_term:1;
1018		uint64_t unsop:1;
1019		uint64_t uneop:1;
1020		uint64_t undat:1;
1021		uint64_t hg2fld:1;
1022		uint64_t hg2cc:1;
1023		uint64_t reserved_29_63:35;
1024#endif
1025	} cn52xx;
1026	struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
1027#ifdef __BIG_ENDIAN_BITFIELD
1028		uint64_t reserved_27_63:37;
1029		uint64_t undat:1;
1030		uint64_t uneop:1;
1031		uint64_t unsop:1;
1032		uint64_t bad_term:1;
1033		uint64_t bad_seq:1;
1034		uint64_t rem_fault:1;
1035		uint64_t loc_fault:1;
1036		uint64_t pause_drp:1;
1037		uint64_t reserved_16_18:3;
1038		uint64_t ifgerr:1;
1039		uint64_t coldet:1;
1040		uint64_t falerr:1;
1041		uint64_t rsverr:1;
1042		uint64_t pcterr:1;
1043		uint64_t ovrerr:1;
1044		uint64_t reserved_9_9:1;
1045		uint64_t skperr:1;
1046		uint64_t rcverr:1;
1047		uint64_t reserved_5_6:2;
1048		uint64_t fcserr:1;
1049		uint64_t jabber:1;
1050		uint64_t reserved_2_2:1;
1051		uint64_t carext:1;
1052		uint64_t reserved_0_0:1;
1053#else
1054		uint64_t reserved_0_0:1;
1055		uint64_t carext:1;
1056		uint64_t reserved_2_2:1;
1057		uint64_t jabber:1;
1058		uint64_t fcserr:1;
1059		uint64_t reserved_5_6:2;
1060		uint64_t rcverr:1;
1061		uint64_t skperr:1;
1062		uint64_t reserved_9_9:1;
1063		uint64_t ovrerr:1;
1064		uint64_t pcterr:1;
1065		uint64_t rsverr:1;
1066		uint64_t falerr:1;
1067		uint64_t coldet:1;
1068		uint64_t ifgerr:1;
1069		uint64_t reserved_16_18:3;
1070		uint64_t pause_drp:1;
1071		uint64_t loc_fault:1;
1072		uint64_t rem_fault:1;
1073		uint64_t bad_seq:1;
1074		uint64_t bad_term:1;
1075		uint64_t unsop:1;
1076		uint64_t uneop:1;
1077		uint64_t undat:1;
1078		uint64_t reserved_27_63:37;
1079#endif
1080	} cn56xxp1;
1081	struct cvmx_gmxx_rxx_int_en_cn58xx {
1082#ifdef __BIG_ENDIAN_BITFIELD
1083		uint64_t reserved_20_63:44;
1084		uint64_t pause_drp:1;
1085		uint64_t phy_dupx:1;
1086		uint64_t phy_spd:1;
1087		uint64_t phy_link:1;
1088		uint64_t ifgerr:1;
1089		uint64_t coldet:1;
1090		uint64_t falerr:1;
1091		uint64_t rsverr:1;
1092		uint64_t pcterr:1;
1093		uint64_t ovrerr:1;
1094		uint64_t niberr:1;
1095		uint64_t skperr:1;
1096		uint64_t rcverr:1;
1097		uint64_t lenerr:1;
1098		uint64_t alnerr:1;
1099		uint64_t fcserr:1;
1100		uint64_t jabber:1;
1101		uint64_t maxerr:1;
1102		uint64_t carext:1;
1103		uint64_t minerr:1;
1104#else
1105		uint64_t minerr:1;
1106		uint64_t carext:1;
1107		uint64_t maxerr:1;
1108		uint64_t jabber:1;
1109		uint64_t fcserr:1;
1110		uint64_t alnerr:1;
1111		uint64_t lenerr:1;
1112		uint64_t rcverr:1;
1113		uint64_t skperr:1;
1114		uint64_t niberr:1;
1115		uint64_t ovrerr:1;
1116		uint64_t pcterr:1;
1117		uint64_t rsverr:1;
1118		uint64_t falerr:1;
1119		uint64_t coldet:1;
1120		uint64_t ifgerr:1;
1121		uint64_t phy_link:1;
1122		uint64_t phy_spd:1;
1123		uint64_t phy_dupx:1;
1124		uint64_t pause_drp:1;
1125		uint64_t reserved_20_63:44;
1126#endif
1127	} cn58xx;
1128	struct cvmx_gmxx_rxx_int_en_cn61xx {
1129#ifdef __BIG_ENDIAN_BITFIELD
1130		uint64_t reserved_29_63:35;
1131		uint64_t hg2cc:1;
1132		uint64_t hg2fld:1;
1133		uint64_t undat:1;
1134		uint64_t uneop:1;
1135		uint64_t unsop:1;
1136		uint64_t bad_term:1;
1137		uint64_t bad_seq:1;
1138		uint64_t rem_fault:1;
1139		uint64_t loc_fault:1;
1140		uint64_t pause_drp:1;
1141		uint64_t reserved_16_18:3;
1142		uint64_t ifgerr:1;
1143		uint64_t coldet:1;
1144		uint64_t falerr:1;
1145		uint64_t rsverr:1;
1146		uint64_t pcterr:1;
1147		uint64_t ovrerr:1;
1148		uint64_t reserved_9_9:1;
1149		uint64_t skperr:1;
1150		uint64_t rcverr:1;
1151		uint64_t reserved_5_6:2;
1152		uint64_t fcserr:1;
1153		uint64_t jabber:1;
1154		uint64_t reserved_2_2:1;
1155		uint64_t carext:1;
1156		uint64_t minerr:1;
1157#else
1158		uint64_t minerr:1;
1159		uint64_t carext:1;
1160		uint64_t reserved_2_2:1;
1161		uint64_t jabber:1;
1162		uint64_t fcserr:1;
1163		uint64_t reserved_5_6:2;
1164		uint64_t rcverr:1;
1165		uint64_t skperr:1;
1166		uint64_t reserved_9_9:1;
1167		uint64_t ovrerr:1;
1168		uint64_t pcterr:1;
1169		uint64_t rsverr:1;
1170		uint64_t falerr:1;
1171		uint64_t coldet:1;
1172		uint64_t ifgerr:1;
1173		uint64_t reserved_16_18:3;
1174		uint64_t pause_drp:1;
1175		uint64_t loc_fault:1;
1176		uint64_t rem_fault:1;
1177		uint64_t bad_seq:1;
1178		uint64_t bad_term:1;
1179		uint64_t unsop:1;
1180		uint64_t uneop:1;
1181		uint64_t undat:1;
1182		uint64_t hg2fld:1;
1183		uint64_t hg2cc:1;
1184		uint64_t reserved_29_63:35;
1185#endif
1186	} cn61xx;
1187};
1188
1189union cvmx_gmxx_rxx_int_reg {
1190	uint64_t u64;
1191	struct cvmx_gmxx_rxx_int_reg_s {
1192#ifdef __BIG_ENDIAN_BITFIELD
1193		uint64_t reserved_29_63:35;
1194		uint64_t hg2cc:1;
1195		uint64_t hg2fld:1;
1196		uint64_t undat:1;
1197		uint64_t uneop:1;
1198		uint64_t unsop:1;
1199		uint64_t bad_term:1;
1200		uint64_t bad_seq:1;
1201		uint64_t rem_fault:1;
1202		uint64_t loc_fault:1;
1203		uint64_t pause_drp:1;
1204		uint64_t phy_dupx:1;
1205		uint64_t phy_spd:1;
1206		uint64_t phy_link:1;
1207		uint64_t ifgerr:1;
1208		uint64_t coldet:1;
1209		uint64_t falerr:1;
1210		uint64_t rsverr:1;
1211		uint64_t pcterr:1;
1212		uint64_t ovrerr:1;
1213		uint64_t niberr:1;
1214		uint64_t skperr:1;
1215		uint64_t rcverr:1;
1216		uint64_t lenerr:1;
1217		uint64_t alnerr:1;
1218		uint64_t fcserr:1;
1219		uint64_t jabber:1;
1220		uint64_t maxerr:1;
1221		uint64_t carext:1;
1222		uint64_t minerr:1;
1223#else
1224		uint64_t minerr:1;
1225		uint64_t carext:1;
1226		uint64_t maxerr:1;
1227		uint64_t jabber:1;
1228		uint64_t fcserr:1;
1229		uint64_t alnerr:1;
1230		uint64_t lenerr:1;
1231		uint64_t rcverr:1;
1232		uint64_t skperr:1;
1233		uint64_t niberr:1;
1234		uint64_t ovrerr:1;
1235		uint64_t pcterr:1;
1236		uint64_t rsverr:1;
1237		uint64_t falerr:1;
1238		uint64_t coldet:1;
1239		uint64_t ifgerr:1;
1240		uint64_t phy_link:1;
1241		uint64_t phy_spd:1;
1242		uint64_t phy_dupx:1;
1243		uint64_t pause_drp:1;
1244		uint64_t loc_fault:1;
1245		uint64_t rem_fault:1;
1246		uint64_t bad_seq:1;
1247		uint64_t bad_term:1;
1248		uint64_t unsop:1;
1249		uint64_t uneop:1;
1250		uint64_t undat:1;
1251		uint64_t hg2fld:1;
1252		uint64_t hg2cc:1;
1253		uint64_t reserved_29_63:35;
1254#endif
1255	} s;
1256	struct cvmx_gmxx_rxx_int_reg_cn30xx {
1257#ifdef __BIG_ENDIAN_BITFIELD
1258		uint64_t reserved_19_63:45;
1259		uint64_t phy_dupx:1;
1260		uint64_t phy_spd:1;
1261		uint64_t phy_link:1;
1262		uint64_t ifgerr:1;
1263		uint64_t coldet:1;
1264		uint64_t falerr:1;
1265		uint64_t rsverr:1;
1266		uint64_t pcterr:1;
1267		uint64_t ovrerr:1;
1268		uint64_t niberr:1;
1269		uint64_t skperr:1;
1270		uint64_t rcverr:1;
1271		uint64_t lenerr:1;
1272		uint64_t alnerr:1;
1273		uint64_t fcserr:1;
1274		uint64_t jabber:1;
1275		uint64_t maxerr:1;
1276		uint64_t carext:1;
1277		uint64_t minerr:1;
1278#else
1279		uint64_t minerr:1;
1280		uint64_t carext:1;
1281		uint64_t maxerr:1;
1282		uint64_t jabber:1;
1283		uint64_t fcserr:1;
1284		uint64_t alnerr:1;
1285		uint64_t lenerr:1;
1286		uint64_t rcverr:1;
1287		uint64_t skperr:1;
1288		uint64_t niberr:1;
1289		uint64_t ovrerr:1;
1290		uint64_t pcterr:1;
1291		uint64_t rsverr:1;
1292		uint64_t falerr:1;
1293		uint64_t coldet:1;
1294		uint64_t ifgerr:1;
1295		uint64_t phy_link:1;
1296		uint64_t phy_spd:1;
1297		uint64_t phy_dupx:1;
1298		uint64_t reserved_19_63:45;
1299#endif
1300	} cn30xx;
1301	struct cvmx_gmxx_rxx_int_reg_cn50xx {
1302#ifdef __BIG_ENDIAN_BITFIELD
1303		uint64_t reserved_20_63:44;
1304		uint64_t pause_drp:1;
1305		uint64_t phy_dupx:1;
1306		uint64_t phy_spd:1;
1307		uint64_t phy_link:1;
1308		uint64_t ifgerr:1;
1309		uint64_t coldet:1;
1310		uint64_t falerr:1;
1311		uint64_t rsverr:1;
1312		uint64_t pcterr:1;
1313		uint64_t ovrerr:1;
1314		uint64_t niberr:1;
1315		uint64_t skperr:1;
1316		uint64_t rcverr:1;
1317		uint64_t reserved_6_6:1;
1318		uint64_t alnerr:1;
1319		uint64_t fcserr:1;
1320		uint64_t jabber:1;
1321		uint64_t reserved_2_2:1;
1322		uint64_t carext:1;
1323		uint64_t reserved_0_0:1;
1324#else
1325		uint64_t reserved_0_0:1;
1326		uint64_t carext:1;
1327		uint64_t reserved_2_2:1;
1328		uint64_t jabber:1;
1329		uint64_t fcserr:1;
1330		uint64_t alnerr:1;
1331		uint64_t reserved_6_6:1;
1332		uint64_t rcverr:1;
1333		uint64_t skperr:1;
1334		uint64_t niberr:1;
1335		uint64_t ovrerr:1;
1336		uint64_t pcterr:1;
1337		uint64_t rsverr:1;
1338		uint64_t falerr:1;
1339		uint64_t coldet:1;
1340		uint64_t ifgerr:1;
1341		uint64_t phy_link:1;
1342		uint64_t phy_spd:1;
1343		uint64_t phy_dupx:1;
1344		uint64_t pause_drp:1;
1345		uint64_t reserved_20_63:44;
1346#endif
1347	} cn50xx;
1348	struct cvmx_gmxx_rxx_int_reg_cn52xx {
1349#ifdef __BIG_ENDIAN_BITFIELD
1350		uint64_t reserved_29_63:35;
1351		uint64_t hg2cc:1;
1352		uint64_t hg2fld:1;
1353		uint64_t undat:1;
1354		uint64_t uneop:1;
1355		uint64_t unsop:1;
1356		uint64_t bad_term:1;
1357		uint64_t bad_seq:1;
1358		uint64_t rem_fault:1;
1359		uint64_t loc_fault:1;
1360		uint64_t pause_drp:1;
1361		uint64_t reserved_16_18:3;
1362		uint64_t ifgerr:1;
1363		uint64_t coldet:1;
1364		uint64_t falerr:1;
1365		uint64_t rsverr:1;
1366		uint64_t pcterr:1;
1367		uint64_t ovrerr:1;
1368		uint64_t reserved_9_9:1;
1369		uint64_t skperr:1;
1370		uint64_t rcverr:1;
1371		uint64_t reserved_5_6:2;
1372		uint64_t fcserr:1;
1373		uint64_t jabber:1;
1374		uint64_t reserved_2_2:1;
1375		uint64_t carext:1;
1376		uint64_t reserved_0_0:1;
1377#else
1378		uint64_t reserved_0_0:1;
1379		uint64_t carext:1;
1380		uint64_t reserved_2_2:1;
1381		uint64_t jabber:1;
1382		uint64_t fcserr:1;
1383		uint64_t reserved_5_6:2;
1384		uint64_t rcverr:1;
1385		uint64_t skperr:1;
1386		uint64_t reserved_9_9:1;
1387		uint64_t ovrerr:1;
1388		uint64_t pcterr:1;
1389		uint64_t rsverr:1;
1390		uint64_t falerr:1;
1391		uint64_t coldet:1;
1392		uint64_t ifgerr:1;
1393		uint64_t reserved_16_18:3;
1394		uint64_t pause_drp:1;
1395		uint64_t loc_fault:1;
1396		uint64_t rem_fault:1;
1397		uint64_t bad_seq:1;
1398		uint64_t bad_term:1;
1399		uint64_t unsop:1;
1400		uint64_t uneop:1;
1401		uint64_t undat:1;
1402		uint64_t hg2fld:1;
1403		uint64_t hg2cc:1;
1404		uint64_t reserved_29_63:35;
1405#endif
1406	} cn52xx;
1407	struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
1408#ifdef __BIG_ENDIAN_BITFIELD
1409		uint64_t reserved_27_63:37;
1410		uint64_t undat:1;
1411		uint64_t uneop:1;
1412		uint64_t unsop:1;
1413		uint64_t bad_term:1;
1414		uint64_t bad_seq:1;
1415		uint64_t rem_fault:1;
1416		uint64_t loc_fault:1;
1417		uint64_t pause_drp:1;
1418		uint64_t reserved_16_18:3;
1419		uint64_t ifgerr:1;
1420		uint64_t coldet:1;
1421		uint64_t falerr:1;
1422		uint64_t rsverr:1;
1423		uint64_t pcterr:1;
1424		uint64_t ovrerr:1;
1425		uint64_t reserved_9_9:1;
1426		uint64_t skperr:1;
1427		uint64_t rcverr:1;
1428		uint64_t reserved_5_6:2;
1429		uint64_t fcserr:1;
1430		uint64_t jabber:1;
1431		uint64_t reserved_2_2:1;
1432		uint64_t carext:1;
1433		uint64_t reserved_0_0:1;
1434#else
1435		uint64_t reserved_0_0:1;
1436		uint64_t carext:1;
1437		uint64_t reserved_2_2:1;
1438		uint64_t jabber:1;
1439		uint64_t fcserr:1;
1440		uint64_t reserved_5_6:2;
1441		uint64_t rcverr:1;
1442		uint64_t skperr:1;
1443		uint64_t reserved_9_9:1;
1444		uint64_t ovrerr:1;
1445		uint64_t pcterr:1;
1446		uint64_t rsverr:1;
1447		uint64_t falerr:1;
1448		uint64_t coldet:1;
1449		uint64_t ifgerr:1;
1450		uint64_t reserved_16_18:3;
1451		uint64_t pause_drp:1;
1452		uint64_t loc_fault:1;
1453		uint64_t rem_fault:1;
1454		uint64_t bad_seq:1;
1455		uint64_t bad_term:1;
1456		uint64_t unsop:1;
1457		uint64_t uneop:1;
1458		uint64_t undat:1;
1459		uint64_t reserved_27_63:37;
1460#endif
1461	} cn56xxp1;
1462	struct cvmx_gmxx_rxx_int_reg_cn58xx {
1463#ifdef __BIG_ENDIAN_BITFIELD
1464		uint64_t reserved_20_63:44;
1465		uint64_t pause_drp:1;
1466		uint64_t phy_dupx:1;
1467		uint64_t phy_spd:1;
1468		uint64_t phy_link:1;
1469		uint64_t ifgerr:1;
1470		uint64_t coldet:1;
1471		uint64_t falerr:1;
1472		uint64_t rsverr:1;
1473		uint64_t pcterr:1;
1474		uint64_t ovrerr:1;
1475		uint64_t niberr:1;
1476		uint64_t skperr:1;
1477		uint64_t rcverr:1;
1478		uint64_t lenerr:1;
1479		uint64_t alnerr:1;
1480		uint64_t fcserr:1;
1481		uint64_t jabber:1;
1482		uint64_t maxerr:1;
1483		uint64_t carext:1;
1484		uint64_t minerr:1;
1485#else
1486		uint64_t minerr:1;
1487		uint64_t carext:1;
1488		uint64_t maxerr:1;
1489		uint64_t jabber:1;
1490		uint64_t fcserr:1;
1491		uint64_t alnerr:1;
1492		uint64_t lenerr:1;
1493		uint64_t rcverr:1;
1494		uint64_t skperr:1;
1495		uint64_t niberr:1;
1496		uint64_t ovrerr:1;
1497		uint64_t pcterr:1;
1498		uint64_t rsverr:1;
1499		uint64_t falerr:1;
1500		uint64_t coldet:1;
1501		uint64_t ifgerr:1;
1502		uint64_t phy_link:1;
1503		uint64_t phy_spd:1;
1504		uint64_t phy_dupx:1;
1505		uint64_t pause_drp:1;
1506		uint64_t reserved_20_63:44;
1507#endif
1508	} cn58xx;
1509	struct cvmx_gmxx_rxx_int_reg_cn61xx {
1510#ifdef __BIG_ENDIAN_BITFIELD
1511		uint64_t reserved_29_63:35;
1512		uint64_t hg2cc:1;
1513		uint64_t hg2fld:1;
1514		uint64_t undat:1;
1515		uint64_t uneop:1;
1516		uint64_t unsop:1;
1517		uint64_t bad_term:1;
1518		uint64_t bad_seq:1;
1519		uint64_t rem_fault:1;
1520		uint64_t loc_fault:1;
1521		uint64_t pause_drp:1;
1522		uint64_t reserved_16_18:3;
1523		uint64_t ifgerr:1;
1524		uint64_t coldet:1;
1525		uint64_t falerr:1;
1526		uint64_t rsverr:1;
1527		uint64_t pcterr:1;
1528		uint64_t ovrerr:1;
1529		uint64_t reserved_9_9:1;
1530		uint64_t skperr:1;
1531		uint64_t rcverr:1;
1532		uint64_t reserved_5_6:2;
1533		uint64_t fcserr:1;
1534		uint64_t jabber:1;
1535		uint64_t reserved_2_2:1;
1536		uint64_t carext:1;
1537		uint64_t minerr:1;
1538#else
1539		uint64_t minerr:1;
1540		uint64_t carext:1;
1541		uint64_t reserved_2_2:1;
1542		uint64_t jabber:1;
1543		uint64_t fcserr:1;
1544		uint64_t reserved_5_6:2;
1545		uint64_t rcverr:1;
1546		uint64_t skperr:1;
1547		uint64_t reserved_9_9:1;
1548		uint64_t ovrerr:1;
1549		uint64_t pcterr:1;
1550		uint64_t rsverr:1;
1551		uint64_t falerr:1;
1552		uint64_t coldet:1;
1553		uint64_t ifgerr:1;
1554		uint64_t reserved_16_18:3;
1555		uint64_t pause_drp:1;
1556		uint64_t loc_fault:1;
1557		uint64_t rem_fault:1;
1558		uint64_t bad_seq:1;
1559		uint64_t bad_term:1;
1560		uint64_t unsop:1;
1561		uint64_t uneop:1;
1562		uint64_t undat:1;
1563		uint64_t hg2fld:1;
1564		uint64_t hg2cc:1;
1565		uint64_t reserved_29_63:35;
1566#endif
1567	} cn61xx;
1568};
1569
1570union cvmx_gmxx_rxx_jabber {
1571	uint64_t u64;
1572	struct cvmx_gmxx_rxx_jabber_s {
1573#ifdef __BIG_ENDIAN_BITFIELD
1574		uint64_t reserved_16_63:48;
1575		uint64_t cnt:16;
1576#else
1577		uint64_t cnt:16;
1578		uint64_t reserved_16_63:48;
1579#endif
1580	} s;
1581};
1582
1583union cvmx_gmxx_rxx_rx_inbnd {
1584	uint64_t u64;
1585	struct cvmx_gmxx_rxx_rx_inbnd_s {
1586#ifdef __BIG_ENDIAN_BITFIELD
1587		uint64_t reserved_4_63:60;
1588		uint64_t duplex:1;
1589		uint64_t speed:2;
1590		uint64_t status:1;
1591#else
1592		uint64_t status:1;
1593		uint64_t speed:2;
1594		uint64_t duplex:1;
1595		uint64_t reserved_4_63:60;
1596#endif
1597	} s;
1598};
1599
1600union cvmx_gmxx_rx_prts {
1601	uint64_t u64;
1602	struct cvmx_gmxx_rx_prts_s {
1603#ifdef __BIG_ENDIAN_BITFIELD
1604		uint64_t reserved_3_63:61;
1605		uint64_t prts:3;
1606#else
1607		uint64_t prts:3;
1608		uint64_t reserved_3_63:61;
1609#endif
1610	} s;
1611};
1612
1613union cvmx_gmxx_rx_xaui_ctl {
1614	uint64_t u64;
1615	struct cvmx_gmxx_rx_xaui_ctl_s {
1616#ifdef __BIG_ENDIAN_BITFIELD
1617		uint64_t reserved_2_63:62;
1618		uint64_t status:2;
1619#else
1620		uint64_t status:2;
1621		uint64_t reserved_2_63:62;
1622#endif
1623	} s;
1624};
1625
1626union cvmx_gmxx_txx_thresh {
1627	uint64_t u64;
1628	struct cvmx_gmxx_txx_thresh_s {
1629#ifdef __BIG_ENDIAN_BITFIELD
1630		uint64_t reserved_10_63:54;
1631		uint64_t cnt:10;
1632#else
1633		uint64_t cnt:10;
1634		uint64_t reserved_10_63:54;
1635#endif
1636	} s;
1637	struct cvmx_gmxx_txx_thresh_cn30xx {
1638#ifdef __BIG_ENDIAN_BITFIELD
1639		uint64_t reserved_7_63:57;
1640		uint64_t cnt:7;
1641#else
1642		uint64_t cnt:7;
1643		uint64_t reserved_7_63:57;
1644#endif
1645	} cn30xx;
1646	struct cvmx_gmxx_txx_thresh_cn38xx {
1647#ifdef __BIG_ENDIAN_BITFIELD
1648		uint64_t reserved_9_63:55;
1649		uint64_t cnt:9;
1650#else
1651		uint64_t cnt:9;
1652		uint64_t reserved_9_63:55;
1653#endif
1654	} cn38xx;
1655};
1656
1657union cvmx_gmxx_tx_int_en {
1658	uint64_t u64;
1659	struct cvmx_gmxx_tx_int_en_s {
1660#ifdef __BIG_ENDIAN_BITFIELD
1661		uint64_t reserved_25_63:39;
1662		uint64_t xchange:1;
1663		uint64_t ptp_lost:4;
1664		uint64_t late_col:4;
1665		uint64_t xsdef:4;
1666		uint64_t xscol:4;
1667		uint64_t reserved_6_7:2;
1668		uint64_t undflw:4;
1669		uint64_t reserved_1_1:1;
1670		uint64_t pko_nxa:1;
1671#else
1672		uint64_t pko_nxa:1;
1673		uint64_t reserved_1_1:1;
1674		uint64_t undflw:4;
1675		uint64_t reserved_6_7:2;
1676		uint64_t xscol:4;
1677		uint64_t xsdef:4;
1678		uint64_t late_col:4;
1679		uint64_t ptp_lost:4;
1680		uint64_t xchange:1;
1681		uint64_t reserved_25_63:39;
1682#endif
1683	} s;
1684	struct cvmx_gmxx_tx_int_en_cn30xx {
1685#ifdef __BIG_ENDIAN_BITFIELD
1686		uint64_t reserved_19_63:45;
1687		uint64_t late_col:3;
1688		uint64_t reserved_15_15:1;
1689		uint64_t xsdef:3;
1690		uint64_t reserved_11_11:1;
1691		uint64_t xscol:3;
1692		uint64_t reserved_5_7:3;
1693		uint64_t undflw:3;
1694		uint64_t reserved_1_1:1;
1695		uint64_t pko_nxa:1;
1696#else
1697		uint64_t pko_nxa:1;
1698		uint64_t reserved_1_1:1;
1699		uint64_t undflw:3;
1700		uint64_t reserved_5_7:3;
1701		uint64_t xscol:3;
1702		uint64_t reserved_11_11:1;
1703		uint64_t xsdef:3;
1704		uint64_t reserved_15_15:1;
1705		uint64_t late_col:3;
1706		uint64_t reserved_19_63:45;
1707#endif
1708	} cn30xx;
1709	struct cvmx_gmxx_tx_int_en_cn31xx {
1710#ifdef __BIG_ENDIAN_BITFIELD
1711		uint64_t reserved_15_63:49;
1712		uint64_t xsdef:3;
1713		uint64_t reserved_11_11:1;
1714		uint64_t xscol:3;
1715		uint64_t reserved_5_7:3;
1716		uint64_t undflw:3;
1717		uint64_t reserved_1_1:1;
1718		uint64_t pko_nxa:1;
1719#else
1720		uint64_t pko_nxa:1;
1721		uint64_t reserved_1_1:1;
1722		uint64_t undflw:3;
1723		uint64_t reserved_5_7:3;
1724		uint64_t xscol:3;
1725		uint64_t reserved_11_11:1;
1726		uint64_t xsdef:3;
1727		uint64_t reserved_15_63:49;
1728#endif
1729	} cn31xx;
1730	struct cvmx_gmxx_tx_int_en_cn38xx {
1731#ifdef __BIG_ENDIAN_BITFIELD
1732		uint64_t reserved_20_63:44;
1733		uint64_t late_col:4;
1734		uint64_t xsdef:4;
1735		uint64_t xscol:4;
1736		uint64_t reserved_6_7:2;
1737		uint64_t undflw:4;
1738		uint64_t ncb_nxa:1;
1739		uint64_t pko_nxa:1;
1740#else
1741		uint64_t pko_nxa:1;
1742		uint64_t ncb_nxa:1;
1743		uint64_t undflw:4;
1744		uint64_t reserved_6_7:2;
1745		uint64_t xscol:4;
1746		uint64_t xsdef:4;
1747		uint64_t late_col:4;
1748		uint64_t reserved_20_63:44;
1749#endif
1750	} cn38xx;
1751	struct cvmx_gmxx_tx_int_en_cn38xxp2 {
1752#ifdef __BIG_ENDIAN_BITFIELD
1753		uint64_t reserved_16_63:48;
1754		uint64_t xsdef:4;
1755		uint64_t xscol:4;
1756		uint64_t reserved_6_7:2;
1757		uint64_t undflw:4;
1758		uint64_t ncb_nxa:1;
1759		uint64_t pko_nxa:1;
1760#else
1761		uint64_t pko_nxa:1;
1762		uint64_t ncb_nxa:1;
1763		uint64_t undflw:4;
1764		uint64_t reserved_6_7:2;
1765		uint64_t xscol:4;
1766		uint64_t xsdef:4;
1767		uint64_t reserved_16_63:48;
1768#endif
1769	} cn38xxp2;
1770	struct cvmx_gmxx_tx_int_en_cn52xx {
1771#ifdef __BIG_ENDIAN_BITFIELD
1772		uint64_t reserved_20_63:44;
1773		uint64_t late_col:4;
1774		uint64_t xsdef:4;
1775		uint64_t xscol:4;
1776		uint64_t reserved_6_7:2;
1777		uint64_t undflw:4;
1778		uint64_t reserved_1_1:1;
1779		uint64_t pko_nxa:1;
1780#else
1781		uint64_t pko_nxa:1;
1782		uint64_t reserved_1_1:1;
1783		uint64_t undflw:4;
1784		uint64_t reserved_6_7:2;
1785		uint64_t xscol:4;
1786		uint64_t xsdef:4;
1787		uint64_t late_col:4;
1788		uint64_t reserved_20_63:44;
1789#endif
1790	} cn52xx;
1791	struct cvmx_gmxx_tx_int_en_cn63xx {
1792#ifdef __BIG_ENDIAN_BITFIELD
1793		uint64_t reserved_24_63:40;
1794		uint64_t ptp_lost:4;
1795		uint64_t late_col:4;
1796		uint64_t xsdef:4;
1797		uint64_t xscol:4;
1798		uint64_t reserved_6_7:2;
1799		uint64_t undflw:4;
1800		uint64_t reserved_1_1:1;
1801		uint64_t pko_nxa:1;
1802#else
1803		uint64_t pko_nxa:1;
1804		uint64_t reserved_1_1:1;
1805		uint64_t undflw:4;
1806		uint64_t reserved_6_7:2;
1807		uint64_t xscol:4;
1808		uint64_t xsdef:4;
1809		uint64_t late_col:4;
1810		uint64_t ptp_lost:4;
1811		uint64_t reserved_24_63:40;
1812#endif
1813	} cn63xx;
1814	struct cvmx_gmxx_tx_int_en_cn68xx {
1815#ifdef __BIG_ENDIAN_BITFIELD
1816		uint64_t reserved_25_63:39;
1817		uint64_t xchange:1;
1818		uint64_t ptp_lost:4;
1819		uint64_t late_col:4;
1820		uint64_t xsdef:4;
1821		uint64_t xscol:4;
1822		uint64_t reserved_6_7:2;
1823		uint64_t undflw:4;
1824		uint64_t pko_nxp:1;
1825		uint64_t pko_nxa:1;
1826#else
1827		uint64_t pko_nxa:1;
1828		uint64_t pko_nxp:1;
1829		uint64_t undflw:4;
1830		uint64_t reserved_6_7:2;
1831		uint64_t xscol:4;
1832		uint64_t xsdef:4;
1833		uint64_t late_col:4;
1834		uint64_t ptp_lost:4;
1835		uint64_t xchange:1;
1836		uint64_t reserved_25_63:39;
1837#endif
1838	} cn68xx;
1839	struct cvmx_gmxx_tx_int_en_cnf71xx {
1840#ifdef __BIG_ENDIAN_BITFIELD
1841		uint64_t reserved_25_63:39;
1842		uint64_t xchange:1;
1843		uint64_t reserved_22_23:2;
1844		uint64_t ptp_lost:2;
1845		uint64_t reserved_18_19:2;
1846		uint64_t late_col:2;
1847		uint64_t reserved_14_15:2;
1848		uint64_t xsdef:2;
1849		uint64_t reserved_10_11:2;
1850		uint64_t xscol:2;
1851		uint64_t reserved_4_7:4;
1852		uint64_t undflw:2;
1853		uint64_t reserved_1_1:1;
1854		uint64_t pko_nxa:1;
1855#else
1856		uint64_t pko_nxa:1;
1857		uint64_t reserved_1_1:1;
1858		uint64_t undflw:2;
1859		uint64_t reserved_4_7:4;
1860		uint64_t xscol:2;
1861		uint64_t reserved_10_11:2;
1862		uint64_t xsdef:2;
1863		uint64_t reserved_14_15:2;
1864		uint64_t late_col:2;
1865		uint64_t reserved_18_19:2;
1866		uint64_t ptp_lost:2;
1867		uint64_t reserved_22_23:2;
1868		uint64_t xchange:1;
1869		uint64_t reserved_25_63:39;
1870#endif
1871	} cnf71xx;
1872};
1873
1874union cvmx_gmxx_tx_int_reg {
1875	uint64_t u64;
1876	struct cvmx_gmxx_tx_int_reg_s {
1877#ifdef __BIG_ENDIAN_BITFIELD
1878		uint64_t reserved_25_63:39;
1879		uint64_t xchange:1;
1880		uint64_t ptp_lost:4;
1881		uint64_t late_col:4;
1882		uint64_t xsdef:4;
1883		uint64_t xscol:4;
1884		uint64_t reserved_6_7:2;
1885		uint64_t undflw:4;
1886		uint64_t reserved_1_1:1;
1887		uint64_t pko_nxa:1;
1888#else
1889		uint64_t pko_nxa:1;
1890		uint64_t reserved_1_1:1;
1891		uint64_t undflw:4;
1892		uint64_t reserved_6_7:2;
1893		uint64_t xscol:4;
1894		uint64_t xsdef:4;
1895		uint64_t late_col:4;
1896		uint64_t ptp_lost:4;
1897		uint64_t xchange:1;
1898		uint64_t reserved_25_63:39;
1899#endif
1900	} s;
1901	struct cvmx_gmxx_tx_int_reg_cn30xx {
1902#ifdef __BIG_ENDIAN_BITFIELD
1903		uint64_t reserved_19_63:45;
1904		uint64_t late_col:3;
1905		uint64_t reserved_15_15:1;
1906		uint64_t xsdef:3;
1907		uint64_t reserved_11_11:1;
1908		uint64_t xscol:3;
1909		uint64_t reserved_5_7:3;
1910		uint64_t undflw:3;
1911		uint64_t reserved_1_1:1;
1912		uint64_t pko_nxa:1;
1913#else
1914		uint64_t pko_nxa:1;
1915		uint64_t reserved_1_1:1;
1916		uint64_t undflw:3;
1917		uint64_t reserved_5_7:3;
1918		uint64_t xscol:3;
1919		uint64_t reserved_11_11:1;
1920		uint64_t xsdef:3;
1921		uint64_t reserved_15_15:1;
1922		uint64_t late_col:3;
1923		uint64_t reserved_19_63:45;
1924#endif
1925	} cn30xx;
1926	struct cvmx_gmxx_tx_int_reg_cn31xx {
1927#ifdef __BIG_ENDIAN_BITFIELD
1928		uint64_t reserved_15_63:49;
1929		uint64_t xsdef:3;
1930		uint64_t reserved_11_11:1;
1931		uint64_t xscol:3;
1932		uint64_t reserved_5_7:3;
1933		uint64_t undflw:3;
1934		uint64_t reserved_1_1:1;
1935		uint64_t pko_nxa:1;
1936#else
1937		uint64_t pko_nxa:1;
1938		uint64_t reserved_1_1:1;
1939		uint64_t undflw:3;
1940		uint64_t reserved_5_7:3;
1941		uint64_t xscol:3;
1942		uint64_t reserved_11_11:1;
1943		uint64_t xsdef:3;
1944		uint64_t reserved_15_63:49;
1945#endif
1946	} cn31xx;
1947	struct cvmx_gmxx_tx_int_reg_cn38xx {
1948#ifdef __BIG_ENDIAN_BITFIELD
1949		uint64_t reserved_20_63:44;
1950		uint64_t late_col:4;
1951		uint64_t xsdef:4;
1952		uint64_t xscol:4;
1953		uint64_t reserved_6_7:2;
1954		uint64_t undflw:4;
1955		uint64_t ncb_nxa:1;
1956		uint64_t pko_nxa:1;
1957#else
1958		uint64_t pko_nxa:1;
1959		uint64_t ncb_nxa:1;
1960		uint64_t undflw:4;
1961		uint64_t reserved_6_7:2;
1962		uint64_t xscol:4;
1963		uint64_t xsdef:4;
1964		uint64_t late_col:4;
1965		uint64_t reserved_20_63:44;
1966#endif
1967	} cn38xx;
1968	struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
1969#ifdef __BIG_ENDIAN_BITFIELD
1970		uint64_t reserved_16_63:48;
1971		uint64_t xsdef:4;
1972		uint64_t xscol:4;
1973		uint64_t reserved_6_7:2;
1974		uint64_t undflw:4;
1975		uint64_t ncb_nxa:1;
1976		uint64_t pko_nxa:1;
1977#else
1978		uint64_t pko_nxa:1;
1979		uint64_t ncb_nxa:1;
1980		uint64_t undflw:4;
1981		uint64_t reserved_6_7:2;
1982		uint64_t xscol:4;
1983		uint64_t xsdef:4;
1984		uint64_t reserved_16_63:48;
1985#endif
1986	} cn38xxp2;
1987	struct cvmx_gmxx_tx_int_reg_cn52xx {
1988#ifdef __BIG_ENDIAN_BITFIELD
1989		uint64_t reserved_20_63:44;
1990		uint64_t late_col:4;
1991		uint64_t xsdef:4;
1992		uint64_t xscol:4;
1993		uint64_t reserved_6_7:2;
1994		uint64_t undflw:4;
1995		uint64_t reserved_1_1:1;
1996		uint64_t pko_nxa:1;
1997#else
1998		uint64_t pko_nxa:1;
1999		uint64_t reserved_1_1:1;
2000		uint64_t undflw:4;
2001		uint64_t reserved_6_7:2;
2002		uint64_t xscol:4;
2003		uint64_t xsdef:4;
2004		uint64_t late_col:4;
2005		uint64_t reserved_20_63:44;
2006#endif
2007	} cn52xx;
2008	struct cvmx_gmxx_tx_int_reg_cn63xx {
2009#ifdef __BIG_ENDIAN_BITFIELD
2010		uint64_t reserved_24_63:40;
2011		uint64_t ptp_lost:4;
2012		uint64_t late_col:4;
2013		uint64_t xsdef:4;
2014		uint64_t xscol:4;
2015		uint64_t reserved_6_7:2;
2016		uint64_t undflw:4;
2017		uint64_t reserved_1_1:1;
2018		uint64_t pko_nxa:1;
2019#else
2020		uint64_t pko_nxa:1;
2021		uint64_t reserved_1_1:1;
2022		uint64_t undflw:4;
2023		uint64_t reserved_6_7:2;
2024		uint64_t xscol:4;
2025		uint64_t xsdef:4;
2026		uint64_t late_col:4;
2027		uint64_t ptp_lost:4;
2028		uint64_t reserved_24_63:40;
2029#endif
2030	} cn63xx;
2031	struct cvmx_gmxx_tx_int_reg_cn68xx {
2032#ifdef __BIG_ENDIAN_BITFIELD
2033		uint64_t reserved_25_63:39;
2034		uint64_t xchange:1;
2035		uint64_t ptp_lost:4;
2036		uint64_t late_col:4;
2037		uint64_t xsdef:4;
2038		uint64_t xscol:4;
2039		uint64_t reserved_6_7:2;
2040		uint64_t undflw:4;
2041		uint64_t pko_nxp:1;
2042		uint64_t pko_nxa:1;
2043#else
2044		uint64_t pko_nxa:1;
2045		uint64_t pko_nxp:1;
2046		uint64_t undflw:4;
2047		uint64_t reserved_6_7:2;
2048		uint64_t xscol:4;
2049		uint64_t xsdef:4;
2050		uint64_t late_col:4;
2051		uint64_t ptp_lost:4;
2052		uint64_t xchange:1;
2053		uint64_t reserved_25_63:39;
2054#endif
2055	} cn68xx;
2056	struct cvmx_gmxx_tx_int_reg_cnf71xx {
2057#ifdef __BIG_ENDIAN_BITFIELD
2058		uint64_t reserved_25_63:39;
2059		uint64_t xchange:1;
2060		uint64_t reserved_22_23:2;
2061		uint64_t ptp_lost:2;
2062		uint64_t reserved_18_19:2;
2063		uint64_t late_col:2;
2064		uint64_t reserved_14_15:2;
2065		uint64_t xsdef:2;
2066		uint64_t reserved_10_11:2;
2067		uint64_t xscol:2;
2068		uint64_t reserved_4_7:4;
2069		uint64_t undflw:2;
2070		uint64_t reserved_1_1:1;
2071		uint64_t pko_nxa:1;
2072#else
2073		uint64_t pko_nxa:1;
2074		uint64_t reserved_1_1:1;
2075		uint64_t undflw:2;
2076		uint64_t reserved_4_7:4;
2077		uint64_t xscol:2;
2078		uint64_t reserved_10_11:2;
2079		uint64_t xsdef:2;
2080		uint64_t reserved_14_15:2;
2081		uint64_t late_col:2;
2082		uint64_t reserved_18_19:2;
2083		uint64_t ptp_lost:2;
2084		uint64_t reserved_22_23:2;
2085		uint64_t xchange:1;
2086		uint64_t reserved_25_63:39;
2087#endif
2088	} cnf71xx;
2089};
2090
2091union cvmx_gmxx_tx_ovr_bp {
2092	uint64_t u64;
2093	struct cvmx_gmxx_tx_ovr_bp_s {
2094#ifdef __BIG_ENDIAN_BITFIELD
2095		uint64_t reserved_48_63:16;
2096		uint64_t tx_prt_bp:16;
2097		uint64_t reserved_12_31:20;
2098		uint64_t en:4;
2099		uint64_t bp:4;
2100		uint64_t ign_full:4;
2101#else
2102		uint64_t ign_full:4;
2103		uint64_t bp:4;
2104		uint64_t en:4;
2105		uint64_t reserved_12_31:20;
2106		uint64_t tx_prt_bp:16;
2107		uint64_t reserved_48_63:16;
2108#endif
2109	} s;
2110	struct cvmx_gmxx_tx_ovr_bp_cn30xx {
2111#ifdef __BIG_ENDIAN_BITFIELD
2112		uint64_t reserved_11_63:53;
2113		uint64_t en:3;
2114		uint64_t reserved_7_7:1;
2115		uint64_t bp:3;
2116		uint64_t reserved_3_3:1;
2117		uint64_t ign_full:3;
2118#else
2119		uint64_t ign_full:3;
2120		uint64_t reserved_3_3:1;
2121		uint64_t bp:3;
2122		uint64_t reserved_7_7:1;
2123		uint64_t en:3;
2124		uint64_t reserved_11_63:53;
2125#endif
2126	} cn30xx;
2127	struct cvmx_gmxx_tx_ovr_bp_cn38xx {
2128#ifdef __BIG_ENDIAN_BITFIELD
2129		uint64_t reserved_12_63:52;
2130		uint64_t en:4;
2131		uint64_t bp:4;
2132		uint64_t ign_full:4;
2133#else
2134		uint64_t ign_full:4;
2135		uint64_t bp:4;
2136		uint64_t en:4;
2137		uint64_t reserved_12_63:52;
2138#endif
2139	} cn38xx;
2140	struct cvmx_gmxx_tx_ovr_bp_cnf71xx {
2141#ifdef __BIG_ENDIAN_BITFIELD
2142		uint64_t reserved_48_63:16;
2143		uint64_t tx_prt_bp:16;
2144		uint64_t reserved_10_31:22;
2145		uint64_t en:2;
2146		uint64_t reserved_6_7:2;
2147		uint64_t bp:2;
2148		uint64_t reserved_2_3:2;
2149		uint64_t ign_full:2;
2150#else
2151		uint64_t ign_full:2;
2152		uint64_t reserved_2_3:2;
2153		uint64_t bp:2;
2154		uint64_t reserved_6_7:2;
2155		uint64_t en:2;
2156		uint64_t reserved_10_31:22;
2157		uint64_t tx_prt_bp:16;
2158		uint64_t reserved_48_63:16;
2159#endif
2160	} cnf71xx;
2161};
2162
2163union cvmx_gmxx_tx_prts {
2164	uint64_t u64;
2165	struct cvmx_gmxx_tx_prts_s {
2166#ifdef __BIG_ENDIAN_BITFIELD
2167		uint64_t reserved_5_63:59;
2168		uint64_t prts:5;
2169#else
2170		uint64_t prts:5;
2171		uint64_t reserved_5_63:59;
2172#endif
2173	} s;
2174};
2175
2176union cvmx_gmxx_tx_spi_ctl {
2177	uint64_t u64;
2178	struct cvmx_gmxx_tx_spi_ctl_s {
2179#ifdef __BIG_ENDIAN_BITFIELD
2180		uint64_t reserved_2_63:62;
2181		uint64_t tpa_clr:1;
2182		uint64_t cont_pkt:1;
2183#else
2184		uint64_t cont_pkt:1;
2185		uint64_t tpa_clr:1;
2186		uint64_t reserved_2_63:62;
2187#endif
2188	} s;
2189};
2190
2191union cvmx_gmxx_tx_spi_max {
2192	uint64_t u64;
2193	struct cvmx_gmxx_tx_spi_max_s {
2194#ifdef __BIG_ENDIAN_BITFIELD
2195		uint64_t reserved_23_63:41;
2196		uint64_t slice:7;
2197		uint64_t max2:8;
2198		uint64_t max1:8;
2199#else
2200		uint64_t max1:8;
2201		uint64_t max2:8;
2202		uint64_t slice:7;
2203		uint64_t reserved_23_63:41;
2204#endif
2205	} s;
2206	struct cvmx_gmxx_tx_spi_max_cn38xx {
2207#ifdef __BIG_ENDIAN_BITFIELD
2208		uint64_t reserved_16_63:48;
2209		uint64_t max2:8;
2210		uint64_t max1:8;
2211#else
2212		uint64_t max1:8;
2213		uint64_t max2:8;
2214		uint64_t reserved_16_63:48;
2215#endif
2216	} cn38xx;
2217};
2218
2219union cvmx_gmxx_tx_spi_thresh {
2220	uint64_t u64;
2221	struct cvmx_gmxx_tx_spi_thresh_s {
2222#ifdef __BIG_ENDIAN_BITFIELD
2223		uint64_t reserved_6_63:58;
2224		uint64_t thresh:6;
2225#else
2226		uint64_t thresh:6;
2227		uint64_t reserved_6_63:58;
2228#endif
2229	} s;
2230};
2231
2232union cvmx_gmxx_tx_xaui_ctl {
2233	uint64_t u64;
2234	struct cvmx_gmxx_tx_xaui_ctl_s {
2235#ifdef __BIG_ENDIAN_BITFIELD
2236		uint64_t reserved_11_63:53;
2237		uint64_t hg_pause_hgi:2;
2238		uint64_t hg_en:1;
2239		uint64_t reserved_7_7:1;
2240		uint64_t ls_byp:1;
2241		uint64_t ls:2;
2242		uint64_t reserved_2_3:2;
2243		uint64_t uni_en:1;
2244		uint64_t dic_en:1;
2245#else
2246		uint64_t dic_en:1;
2247		uint64_t uni_en:1;
2248		uint64_t reserved_2_3:2;
2249		uint64_t ls:2;
2250		uint64_t ls_byp:1;
2251		uint64_t reserved_7_7:1;
2252		uint64_t hg_en:1;
2253		uint64_t hg_pause_hgi:2;
2254		uint64_t reserved_11_63:53;
2255#endif
2256	} s;
2257};
2258
2259#endif
v6.8
   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-2018 Cavium, Inc.
   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
  31static inline uint64_t CVMX_GMXX_HG2_CONTROL(unsigned long block_id)
  32{
  33	switch (cvmx_get_octeon_family()) {
  34	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  35		return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x1000000ull;
  36	}
  37	return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
  38}
  39
  40static inline uint64_t CVMX_GMXX_INF_MODE(unsigned long block_id)
  41{
  42	switch (cvmx_get_octeon_family()) {
  43	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  44		return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x1000000ull;
  45	}
  46	return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
  47}
  48
  49static inline uint64_t CVMX_GMXX_PRTX_CFG(unsigned long offset, unsigned long block_id)
  50{
  51	switch (cvmx_get_octeon_family()) {
  52	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  53		return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  54	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  55		return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  56	}
  57	return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  58}
  59
  60static inline uint64_t CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id)
  61{
  62	switch (cvmx_get_octeon_family()) {
  63	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  64		return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  65	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  66		return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  67	}
  68	return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  69}
  70
  71static inline uint64_t CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id)
  72{
  73	switch (cvmx_get_octeon_family()) {
  74	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  75		return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  76	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  77		return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  78	}
  79	return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  80}
  81
  82static inline uint64_t CVMX_GMXX_RXX_ADR_CAM2(unsigned long offset, unsigned long block_id)
  83{
  84	switch (cvmx_get_octeon_family()) {
  85	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  86		return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  87	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  88		return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
  89	}
  90	return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
  91}
  92
  93static inline uint64_t CVMX_GMXX_RXX_ADR_CAM3(unsigned long offset, unsigned long block_id)
  94{
  95	switch (cvmx_get_octeon_family()) {
  96	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  97		return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x0ull) * 2048;
  98	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  99		return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 100	}
 101	return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 102}
 103
 104static inline uint64_t CVMX_GMXX_RXX_ADR_CAM4(unsigned long offset, unsigned long block_id)
 105{
 106	switch (cvmx_get_octeon_family()) {
 107	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 108		return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 109	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 110		return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 111	}
 112	return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 113}
 114
 115static inline uint64_t CVMX_GMXX_RXX_ADR_CAM5(unsigned long offset, unsigned long block_id)
 116{
 117	switch (cvmx_get_octeon_family()) {
 118	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 119		return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 120	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 121		return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 122	}
 123	return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 124}
 125
 126static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_EN(unsigned long offset, unsigned long block_id)
 127{
 128	switch (cvmx_get_octeon_family()) {
 129	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 130		return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 131	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 132		return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 133	}
 134	return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 135}
 136
 137static inline uint64_t CVMX_GMXX_RXX_ADR_CTL(unsigned long offset, unsigned long block_id)
 138{
 139	switch (cvmx_get_octeon_family()) {
 140	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 141		return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 142	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 143		return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 144	}
 145	return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 146}
 147
 148static inline uint64_t CVMX_GMXX_RXX_FRM_CTL(unsigned long offset, unsigned long block_id)
 149{
 150	switch (cvmx_get_octeon_family()) {
 151	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 152		return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 153	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 154		return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 155	}
 156	return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 157}
 158
 159#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000030ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 160#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000028ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 161
 162static inline uint64_t CVMX_GMXX_RXX_INT_EN(unsigned long offset, unsigned long block_id)
 163{
 164	switch (cvmx_get_octeon_family()) {
 165	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 166		return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 167	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 168		return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 169	}
 170	return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 171}
 172
 173static inline uint64_t CVMX_GMXX_RXX_INT_REG(unsigned long offset, unsigned long block_id)
 174{
 175	switch (cvmx_get_octeon_family()) {
 176	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 177		return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 178	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 179		return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 180	}
 181	return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 182}
 183
 184static inline uint64_t CVMX_GMXX_RXX_JABBER(unsigned long offset, unsigned long block_id)
 185{
 186	switch (cvmx_get_octeon_family()) {
 187	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 188		return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 189	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 190		return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 191	}
 192	return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 193}
 194
 195#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000060ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 196
 197static inline uint64_t CVMX_GMXX_RX_PRTS(unsigned long block_id)
 198{
 199	switch (cvmx_get_octeon_family()) {
 200	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 201		return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x1000000ull;
 202	}
 203	return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
 204}
 205
 206static inline uint64_t CVMX_GMXX_RX_XAUI_CTL(unsigned long block_id)
 207{
 208	switch (cvmx_get_octeon_family()) {
 209	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 210		return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x1000000ull;
 211	}
 212	return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
 213}
 214
 215static inline uint64_t CVMX_GMXX_SMACX(unsigned long offset, unsigned long block_id)
 216{
 217	switch (cvmx_get_octeon_family()) {
 218	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 219		return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 220	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 221		return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 222	}
 223	return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 224}
 225
 226static inline uint64_t CVMX_GMXX_TXX_BURST(unsigned long offset, unsigned long block_id)
 227{
 228	switch (cvmx_get_octeon_family()) {
 229	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 230		return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 231	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 232		return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 233	}
 234	return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 235}
 236
 237#define CVMX_GMXX_TXX_CLK(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000208ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 238static inline uint64_t CVMX_GMXX_TXX_CTL(unsigned long offset, unsigned long block_id)
 239{
 240	switch (cvmx_get_octeon_family()) {
 241	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 242		return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 243	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 244		return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 245	}
 246	return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 247}
 248
 249static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset, unsigned long block_id)
 250{
 251	switch (cvmx_get_octeon_family()) {
 252	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 253		return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 254	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 255		return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 256	}
 257	return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 258}
 259
 260static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_TIME(unsigned long offset, unsigned long block_id)
 261{
 262	switch (cvmx_get_octeon_family()) {
 263	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 264		return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 265	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 266		return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 267	}
 268	return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 269}
 270
 271static inline uint64_t CVMX_GMXX_TXX_SLOT(unsigned long offset, unsigned long block_id)
 272{
 273	switch (cvmx_get_octeon_family()) {
 274	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 275		return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 276	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 277		return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 278	}
 279	return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 280}
 281
 282static inline uint64_t CVMX_GMXX_TXX_THRESH(unsigned long offset, unsigned long block_id)
 283{
 284	switch (cvmx_get_octeon_family()) {
 285	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 286		return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 287	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 288		return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 289	}
 290	return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 291}
 292
 293static inline uint64_t CVMX_GMXX_TX_INT_EN(unsigned long block_id)
 294{
 295	switch (cvmx_get_octeon_family()) {
 296	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 297		return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x1000000ull;
 298	}
 299	return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
 300}
 301
 302static inline uint64_t CVMX_GMXX_TX_INT_REG(unsigned long block_id)
 303{
 304	switch (cvmx_get_octeon_family()) {
 305	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 306		return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x1000000ull;
 307	}
 308	return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
 309}
 310
 311static inline uint64_t CVMX_GMXX_TX_OVR_BP(unsigned long block_id)
 312{
 313	switch (cvmx_get_octeon_family()) {
 314	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 315		return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x1000000ull;
 316	}
 317	return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
 318}
 319
 320static inline uint64_t CVMX_GMXX_TX_PRTS(unsigned long block_id)
 321{
 322	switch (cvmx_get_octeon_family()) {
 323	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 324		return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x1000000ull;
 325	}
 326	return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
 327}
 328
 329#define CVMX_GMXX_TX_SPI_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800080004C0ull) + ((block_id) & 1) * 0x8000000ull)
 330#define CVMX_GMXX_TX_SPI_MAX(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B0ull) + ((block_id) & 1) * 0x8000000ull)
 331#define CVMX_GMXX_TX_SPI_THRESH(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B8ull) + ((block_id) & 1) * 0x8000000ull)
 332static inline uint64_t CVMX_GMXX_TX_XAUI_CTL(unsigned long block_id)
 333{
 334	switch (cvmx_get_octeon_family()) {
 335	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 336		return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x1000000ull;
 337	}
 338	return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
 339}
 340
 341void __cvmx_interrupt_gmxx_enable(int interface);
 342
 343union cvmx_gmxx_hg2_control {
 344	uint64_t u64;
 345	struct cvmx_gmxx_hg2_control_s {
 346#ifdef __BIG_ENDIAN_BITFIELD
 347		uint64_t reserved_19_63:45;
 348		uint64_t hg2tx_en:1;
 349		uint64_t hg2rx_en:1;
 350		uint64_t phys_en:1;
 351		uint64_t logl_en:16;
 352#else
 353		uint64_t logl_en:16;
 354		uint64_t phys_en:1;
 355		uint64_t hg2rx_en:1;
 356		uint64_t hg2tx_en:1;
 357		uint64_t reserved_19_63:45;
 358#endif
 359	} s;
 360};
 361
 362union cvmx_gmxx_inf_mode {
 363	uint64_t u64;
 364	struct cvmx_gmxx_inf_mode_s {
 365#ifdef __BIG_ENDIAN_BITFIELD
 366		uint64_t reserved_20_63:44;
 367		uint64_t rate:4;
 368		uint64_t reserved_12_15:4;
 369		uint64_t speed:4;
 370		uint64_t reserved_7_7:1;
 371		uint64_t mode:3;
 372		uint64_t reserved_3_3:1;
 373		uint64_t p0mii:1;
 374		uint64_t en:1;
 375		uint64_t type:1;
 376#else
 377		uint64_t type:1;
 378		uint64_t en:1;
 379		uint64_t p0mii:1;
 380		uint64_t reserved_3_3:1;
 381		uint64_t mode:3;
 382		uint64_t reserved_7_7:1;
 383		uint64_t speed:4;
 384		uint64_t reserved_12_15:4;
 385		uint64_t rate:4;
 386		uint64_t reserved_20_63:44;
 387#endif
 388	} s;
 389	struct cvmx_gmxx_inf_mode_cn30xx {
 390#ifdef __BIG_ENDIAN_BITFIELD
 391		uint64_t reserved_3_63:61;
 392		uint64_t p0mii:1;
 393		uint64_t en:1;
 394		uint64_t type:1;
 395#else
 396		uint64_t type:1;
 397		uint64_t en:1;
 398		uint64_t p0mii:1;
 399		uint64_t reserved_3_63:61;
 400#endif
 401	} cn30xx;
 402	struct cvmx_gmxx_inf_mode_cn31xx {
 403#ifdef __BIG_ENDIAN_BITFIELD
 404		uint64_t reserved_2_63:62;
 405		uint64_t en:1;
 406		uint64_t type:1;
 407#else
 408		uint64_t type:1;
 409		uint64_t en:1;
 410		uint64_t reserved_2_63:62;
 411#endif
 412	} cn31xx;
 413	struct cvmx_gmxx_inf_mode_cn52xx {
 414#ifdef __BIG_ENDIAN_BITFIELD
 415		uint64_t reserved_10_63:54;
 416		uint64_t speed:2;
 417		uint64_t reserved_6_7:2;
 418		uint64_t mode:2;
 419		uint64_t reserved_2_3:2;
 420		uint64_t en:1;
 421		uint64_t type:1;
 422#else
 423		uint64_t type:1;
 424		uint64_t en:1;
 425		uint64_t reserved_2_3:2;
 426		uint64_t mode:2;
 427		uint64_t reserved_6_7:2;
 428		uint64_t speed:2;
 429		uint64_t reserved_10_63:54;
 430#endif
 431	} cn52xx;
 432	struct cvmx_gmxx_inf_mode_cn61xx {
 433#ifdef __BIG_ENDIAN_BITFIELD
 434		uint64_t reserved_12_63:52;
 435		uint64_t speed:4;
 436		uint64_t reserved_5_7:3;
 437		uint64_t mode:1;
 438		uint64_t reserved_2_3:2;
 439		uint64_t en:1;
 440		uint64_t type:1;
 441#else
 442		uint64_t type:1;
 443		uint64_t en:1;
 444		uint64_t reserved_2_3:2;
 445		uint64_t mode:1;
 446		uint64_t reserved_5_7:3;
 447		uint64_t speed:4;
 448		uint64_t reserved_12_63:52;
 449#endif
 450	} cn61xx;
 451	struct cvmx_gmxx_inf_mode_cn66xx {
 452#ifdef __BIG_ENDIAN_BITFIELD
 453		uint64_t reserved_20_63:44;
 454		uint64_t rate:4;
 455		uint64_t reserved_12_15:4;
 456		uint64_t speed:4;
 457		uint64_t reserved_5_7:3;
 458		uint64_t mode:1;
 459		uint64_t reserved_2_3:2;
 460		uint64_t en:1;
 461		uint64_t type:1;
 462#else
 463		uint64_t type:1;
 464		uint64_t en:1;
 465		uint64_t reserved_2_3:2;
 466		uint64_t mode:1;
 467		uint64_t reserved_5_7:3;
 468		uint64_t speed:4;
 469		uint64_t reserved_12_15:4;
 470		uint64_t rate:4;
 471		uint64_t reserved_20_63:44;
 472#endif
 473	} cn66xx;
 474	struct cvmx_gmxx_inf_mode_cn68xx {
 475#ifdef __BIG_ENDIAN_BITFIELD
 476		uint64_t reserved_12_63:52;
 477		uint64_t speed:4;
 478		uint64_t reserved_7_7:1;
 479		uint64_t mode:3;
 480		uint64_t reserved_2_3:2;
 481		uint64_t en:1;
 482		uint64_t type:1;
 483#else
 484		uint64_t type:1;
 485		uint64_t en:1;
 486		uint64_t reserved_2_3:2;
 487		uint64_t mode:3;
 488		uint64_t reserved_7_7:1;
 489		uint64_t speed:4;
 490		uint64_t reserved_12_63:52;
 491#endif
 492	} cn68xx;
 493};
 494
 495union cvmx_gmxx_prtx_cfg {
 496	uint64_t u64;
 497	struct cvmx_gmxx_prtx_cfg_s {
 498#ifdef __BIG_ENDIAN_BITFIELD
 499		uint64_t reserved_22_63:42;
 500		uint64_t pknd:6;
 501		uint64_t reserved_14_15:2;
 502		uint64_t tx_idle:1;
 503		uint64_t rx_idle:1;
 504		uint64_t reserved_9_11:3;
 505		uint64_t speed_msb:1;
 506		uint64_t reserved_4_7:4;
 507		uint64_t slottime:1;
 508		uint64_t duplex:1;
 509		uint64_t speed:1;
 510		uint64_t en:1;
 511#else
 512		uint64_t en:1;
 513		uint64_t speed:1;
 514		uint64_t duplex:1;
 515		uint64_t slottime:1;
 516		uint64_t reserved_4_7:4;
 517		uint64_t speed_msb:1;
 518		uint64_t reserved_9_11:3;
 519		uint64_t rx_idle:1;
 520		uint64_t tx_idle:1;
 521		uint64_t reserved_14_15:2;
 522		uint64_t pknd:6;
 523		uint64_t reserved_22_63:42;
 524#endif
 525	} s;
 526	struct cvmx_gmxx_prtx_cfg_cn30xx {
 527#ifdef __BIG_ENDIAN_BITFIELD
 528		uint64_t reserved_4_63:60;
 529		uint64_t slottime:1;
 530		uint64_t duplex:1;
 531		uint64_t speed:1;
 532		uint64_t en:1;
 533#else
 534		uint64_t en:1;
 535		uint64_t speed:1;
 536		uint64_t duplex:1;
 537		uint64_t slottime:1;
 538		uint64_t reserved_4_63:60;
 539#endif
 540	} cn30xx;
 541	struct cvmx_gmxx_prtx_cfg_cn52xx {
 542#ifdef __BIG_ENDIAN_BITFIELD
 543		uint64_t reserved_14_63:50;
 544		uint64_t tx_idle:1;
 545		uint64_t rx_idle:1;
 546		uint64_t reserved_9_11:3;
 547		uint64_t speed_msb:1;
 548		uint64_t reserved_4_7:4;
 549		uint64_t slottime:1;
 550		uint64_t duplex:1;
 551		uint64_t speed:1;
 552		uint64_t en:1;
 553#else
 554		uint64_t en:1;
 555		uint64_t speed:1;
 556		uint64_t duplex:1;
 557		uint64_t slottime:1;
 558		uint64_t reserved_4_7:4;
 559		uint64_t speed_msb:1;
 560		uint64_t reserved_9_11:3;
 561		uint64_t rx_idle:1;
 562		uint64_t tx_idle:1;
 563		uint64_t reserved_14_63:50;
 564#endif
 565	} cn52xx;
 566};
 567
 568union cvmx_gmxx_rxx_adr_ctl {
 569	uint64_t u64;
 570	struct cvmx_gmxx_rxx_adr_ctl_s {
 571#ifdef __BIG_ENDIAN_BITFIELD
 572		uint64_t reserved_4_63:60;
 573		uint64_t cam_mode:1;
 574		uint64_t mcst:2;
 575		uint64_t bcst:1;
 576#else
 577		uint64_t bcst:1;
 578		uint64_t mcst:2;
 579		uint64_t cam_mode:1;
 580		uint64_t reserved_4_63:60;
 581#endif
 582	} s;
 583};
 584
 585union cvmx_gmxx_rxx_frm_ctl {
 586	uint64_t u64;
 587	struct cvmx_gmxx_rxx_frm_ctl_s {
 588#ifdef __BIG_ENDIAN_BITFIELD
 589		uint64_t reserved_13_63:51;
 590		uint64_t ptp_mode:1;
 591		uint64_t reserved_11_11:1;
 592		uint64_t null_dis:1;
 593		uint64_t pre_align:1;
 594		uint64_t pad_len:1;
 595		uint64_t vlan_len:1;
 596		uint64_t pre_free:1;
 597		uint64_t ctl_smac:1;
 598		uint64_t ctl_mcst:1;
 599		uint64_t ctl_bck:1;
 600		uint64_t ctl_drp:1;
 601		uint64_t pre_strp:1;
 602		uint64_t pre_chk:1;
 603#else
 604		uint64_t pre_chk:1;
 605		uint64_t pre_strp:1;
 606		uint64_t ctl_drp:1;
 607		uint64_t ctl_bck:1;
 608		uint64_t ctl_mcst:1;
 609		uint64_t ctl_smac:1;
 610		uint64_t pre_free:1;
 611		uint64_t vlan_len:1;
 612		uint64_t pad_len:1;
 613		uint64_t pre_align:1;
 614		uint64_t null_dis:1;
 615		uint64_t reserved_11_11:1;
 616		uint64_t ptp_mode:1;
 617		uint64_t reserved_13_63:51;
 618#endif
 619	} s;
 620	struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
 621#ifdef __BIG_ENDIAN_BITFIELD
 622		uint64_t reserved_9_63:55;
 623		uint64_t pad_len:1;
 624		uint64_t vlan_len:1;
 625		uint64_t pre_free:1;
 626		uint64_t ctl_smac:1;
 627		uint64_t ctl_mcst:1;
 628		uint64_t ctl_bck:1;
 629		uint64_t ctl_drp:1;
 630		uint64_t pre_strp:1;
 631		uint64_t pre_chk:1;
 632#else
 633		uint64_t pre_chk:1;
 634		uint64_t pre_strp:1;
 635		uint64_t ctl_drp:1;
 636		uint64_t ctl_bck:1;
 637		uint64_t ctl_mcst:1;
 638		uint64_t ctl_smac:1;
 639		uint64_t pre_free:1;
 640		uint64_t vlan_len:1;
 641		uint64_t pad_len:1;
 642		uint64_t reserved_9_63:55;
 643#endif
 644	} cn30xx;
 645	struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
 646#ifdef __BIG_ENDIAN_BITFIELD
 647		uint64_t reserved_8_63:56;
 648		uint64_t vlan_len:1;
 649		uint64_t pre_free:1;
 650		uint64_t ctl_smac:1;
 651		uint64_t ctl_mcst:1;
 652		uint64_t ctl_bck:1;
 653		uint64_t ctl_drp:1;
 654		uint64_t pre_strp:1;
 655		uint64_t pre_chk:1;
 656#else
 657		uint64_t pre_chk:1;
 658		uint64_t pre_strp:1;
 659		uint64_t ctl_drp:1;
 660		uint64_t ctl_bck:1;
 661		uint64_t ctl_mcst:1;
 662		uint64_t ctl_smac:1;
 663		uint64_t pre_free:1;
 664		uint64_t vlan_len:1;
 665		uint64_t reserved_8_63:56;
 666#endif
 667	} cn31xx;
 668	struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
 669#ifdef __BIG_ENDIAN_BITFIELD
 670		uint64_t reserved_11_63:53;
 671		uint64_t null_dis:1;
 672		uint64_t pre_align:1;
 673		uint64_t reserved_7_8:2;
 674		uint64_t pre_free:1;
 675		uint64_t ctl_smac:1;
 676		uint64_t ctl_mcst:1;
 677		uint64_t ctl_bck:1;
 678		uint64_t ctl_drp:1;
 679		uint64_t pre_strp:1;
 680		uint64_t pre_chk:1;
 681#else
 682		uint64_t pre_chk:1;
 683		uint64_t pre_strp:1;
 684		uint64_t ctl_drp:1;
 685		uint64_t ctl_bck:1;
 686		uint64_t ctl_mcst:1;
 687		uint64_t ctl_smac:1;
 688		uint64_t pre_free:1;
 689		uint64_t reserved_7_8:2;
 690		uint64_t pre_align:1;
 691		uint64_t null_dis:1;
 692		uint64_t reserved_11_63:53;
 693#endif
 694	} cn50xx;
 695	struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
 696#ifdef __BIG_ENDIAN_BITFIELD
 697		uint64_t reserved_10_63:54;
 698		uint64_t pre_align:1;
 699		uint64_t reserved_7_8:2;
 700		uint64_t pre_free:1;
 701		uint64_t ctl_smac:1;
 702		uint64_t ctl_mcst:1;
 703		uint64_t ctl_bck:1;
 704		uint64_t ctl_drp:1;
 705		uint64_t pre_strp:1;
 706		uint64_t pre_chk:1;
 707#else
 708		uint64_t pre_chk:1;
 709		uint64_t pre_strp:1;
 710		uint64_t ctl_drp:1;
 711		uint64_t ctl_bck:1;
 712		uint64_t ctl_mcst:1;
 713		uint64_t ctl_smac:1;
 714		uint64_t pre_free:1;
 715		uint64_t reserved_7_8:2;
 716		uint64_t pre_align:1;
 717		uint64_t reserved_10_63:54;
 718#endif
 719	} cn56xxp1;
 720	struct cvmx_gmxx_rxx_frm_ctl_cn58xx {
 721#ifdef __BIG_ENDIAN_BITFIELD
 722		uint64_t reserved_11_63:53;
 723		uint64_t null_dis:1;
 724		uint64_t pre_align:1;
 725		uint64_t pad_len:1;
 726		uint64_t vlan_len:1;
 727		uint64_t pre_free:1;
 728		uint64_t ctl_smac:1;
 729		uint64_t ctl_mcst:1;
 730		uint64_t ctl_bck:1;
 731		uint64_t ctl_drp:1;
 732		uint64_t pre_strp:1;
 733		uint64_t pre_chk:1;
 734#else
 735		uint64_t pre_chk:1;
 736		uint64_t pre_strp:1;
 737		uint64_t ctl_drp:1;
 738		uint64_t ctl_bck:1;
 739		uint64_t ctl_mcst:1;
 740		uint64_t ctl_smac:1;
 741		uint64_t pre_free:1;
 742		uint64_t vlan_len:1;
 743		uint64_t pad_len:1;
 744		uint64_t pre_align:1;
 745		uint64_t null_dis:1;
 746		uint64_t reserved_11_63:53;
 747#endif
 748	} cn58xx;
 749	struct cvmx_gmxx_rxx_frm_ctl_cn61xx {
 750#ifdef __BIG_ENDIAN_BITFIELD
 751		uint64_t reserved_13_63:51;
 752		uint64_t ptp_mode:1;
 753		uint64_t reserved_11_11:1;
 754		uint64_t null_dis:1;
 755		uint64_t pre_align:1;
 756		uint64_t reserved_7_8:2;
 757		uint64_t pre_free:1;
 758		uint64_t ctl_smac:1;
 759		uint64_t ctl_mcst:1;
 760		uint64_t ctl_bck:1;
 761		uint64_t ctl_drp:1;
 762		uint64_t pre_strp:1;
 763		uint64_t pre_chk:1;
 764#else
 765		uint64_t pre_chk:1;
 766		uint64_t pre_strp:1;
 767		uint64_t ctl_drp:1;
 768		uint64_t ctl_bck:1;
 769		uint64_t ctl_mcst:1;
 770		uint64_t ctl_smac:1;
 771		uint64_t pre_free:1;
 772		uint64_t reserved_7_8:2;
 773		uint64_t pre_align:1;
 774		uint64_t null_dis:1;
 775		uint64_t reserved_11_11:1;
 776		uint64_t ptp_mode:1;
 777		uint64_t reserved_13_63:51;
 778#endif
 779	} cn61xx;
 780};
 781
 782union cvmx_gmxx_rxx_frm_max {
 783	uint64_t u64;
 784	struct cvmx_gmxx_rxx_frm_max_s {
 785#ifdef __BIG_ENDIAN_BITFIELD
 786		uint64_t reserved_16_63:48;
 787		uint64_t len:16;
 788#else
 789		uint64_t len:16;
 790		uint64_t reserved_16_63:48;
 791#endif
 792	} s;
 793};
 794
 795union cvmx_gmxx_rxx_frm_min {
 796	uint64_t u64;
 797	struct cvmx_gmxx_rxx_frm_min_s {
 798#ifdef __BIG_ENDIAN_BITFIELD
 799		uint64_t reserved_16_63:48;
 800		uint64_t len:16;
 801#else
 802		uint64_t len:16;
 803		uint64_t reserved_16_63:48;
 804#endif
 805	} s;
 806};
 807
 808union cvmx_gmxx_rxx_int_en {
 809	uint64_t u64;
 810	struct cvmx_gmxx_rxx_int_en_s {
 811#ifdef __BIG_ENDIAN_BITFIELD
 812		uint64_t reserved_29_63:35;
 813		uint64_t hg2cc:1;
 814		uint64_t hg2fld:1;
 815		uint64_t undat:1;
 816		uint64_t uneop:1;
 817		uint64_t unsop:1;
 818		uint64_t bad_term:1;
 819		uint64_t bad_seq:1;
 820		uint64_t rem_fault:1;
 821		uint64_t loc_fault:1;
 822		uint64_t pause_drp:1;
 823		uint64_t phy_dupx:1;
 824		uint64_t phy_spd:1;
 825		uint64_t phy_link:1;
 826		uint64_t ifgerr:1;
 827		uint64_t coldet:1;
 828		uint64_t falerr:1;
 829		uint64_t rsverr:1;
 830		uint64_t pcterr:1;
 831		uint64_t ovrerr:1;
 832		uint64_t niberr:1;
 833		uint64_t skperr:1;
 834		uint64_t rcverr:1;
 835		uint64_t lenerr:1;
 836		uint64_t alnerr:1;
 837		uint64_t fcserr:1;
 838		uint64_t jabber:1;
 839		uint64_t maxerr:1;
 840		uint64_t carext:1;
 841		uint64_t minerr:1;
 842#else
 843		uint64_t minerr:1;
 844		uint64_t carext:1;
 845		uint64_t maxerr:1;
 846		uint64_t jabber:1;
 847		uint64_t fcserr:1;
 848		uint64_t alnerr:1;
 849		uint64_t lenerr:1;
 850		uint64_t rcverr:1;
 851		uint64_t skperr:1;
 852		uint64_t niberr:1;
 853		uint64_t ovrerr:1;
 854		uint64_t pcterr:1;
 855		uint64_t rsverr:1;
 856		uint64_t falerr:1;
 857		uint64_t coldet:1;
 858		uint64_t ifgerr:1;
 859		uint64_t phy_link:1;
 860		uint64_t phy_spd:1;
 861		uint64_t phy_dupx:1;
 862		uint64_t pause_drp:1;
 863		uint64_t loc_fault:1;
 864		uint64_t rem_fault:1;
 865		uint64_t bad_seq:1;
 866		uint64_t bad_term:1;
 867		uint64_t unsop:1;
 868		uint64_t uneop:1;
 869		uint64_t undat:1;
 870		uint64_t hg2fld:1;
 871		uint64_t hg2cc:1;
 872		uint64_t reserved_29_63:35;
 873#endif
 874	} s;
 875	struct cvmx_gmxx_rxx_int_en_cn30xx {
 876#ifdef __BIG_ENDIAN_BITFIELD
 877		uint64_t reserved_19_63:45;
 878		uint64_t phy_dupx:1;
 879		uint64_t phy_spd:1;
 880		uint64_t phy_link:1;
 881		uint64_t ifgerr:1;
 882		uint64_t coldet:1;
 883		uint64_t falerr:1;
 884		uint64_t rsverr:1;
 885		uint64_t pcterr:1;
 886		uint64_t ovrerr:1;
 887		uint64_t niberr:1;
 888		uint64_t skperr:1;
 889		uint64_t rcverr:1;
 890		uint64_t lenerr:1;
 891		uint64_t alnerr:1;
 892		uint64_t fcserr:1;
 893		uint64_t jabber:1;
 894		uint64_t maxerr:1;
 895		uint64_t carext:1;
 896		uint64_t minerr:1;
 897#else
 898		uint64_t minerr:1;
 899		uint64_t carext:1;
 900		uint64_t maxerr:1;
 901		uint64_t jabber:1;
 902		uint64_t fcserr:1;
 903		uint64_t alnerr:1;
 904		uint64_t lenerr:1;
 905		uint64_t rcverr:1;
 906		uint64_t skperr:1;
 907		uint64_t niberr:1;
 908		uint64_t ovrerr:1;
 909		uint64_t pcterr:1;
 910		uint64_t rsverr:1;
 911		uint64_t falerr:1;
 912		uint64_t coldet:1;
 913		uint64_t ifgerr:1;
 914		uint64_t phy_link:1;
 915		uint64_t phy_spd:1;
 916		uint64_t phy_dupx:1;
 917		uint64_t reserved_19_63:45;
 918#endif
 919	} cn30xx;
 920	struct cvmx_gmxx_rxx_int_en_cn50xx {
 921#ifdef __BIG_ENDIAN_BITFIELD
 922		uint64_t reserved_20_63:44;
 923		uint64_t pause_drp:1;
 924		uint64_t phy_dupx:1;
 925		uint64_t phy_spd:1;
 926		uint64_t phy_link:1;
 927		uint64_t ifgerr:1;
 928		uint64_t coldet:1;
 929		uint64_t falerr:1;
 930		uint64_t rsverr:1;
 931		uint64_t pcterr:1;
 932		uint64_t ovrerr:1;
 933		uint64_t niberr:1;
 934		uint64_t skperr:1;
 935		uint64_t rcverr:1;
 936		uint64_t reserved_6_6:1;
 937		uint64_t alnerr:1;
 938		uint64_t fcserr:1;
 939		uint64_t jabber:1;
 940		uint64_t reserved_2_2:1;
 941		uint64_t carext:1;
 942		uint64_t reserved_0_0:1;
 943#else
 944		uint64_t reserved_0_0:1;
 945		uint64_t carext:1;
 946		uint64_t reserved_2_2:1;
 947		uint64_t jabber:1;
 948		uint64_t fcserr:1;
 949		uint64_t alnerr:1;
 950		uint64_t reserved_6_6:1;
 951		uint64_t rcverr:1;
 952		uint64_t skperr:1;
 953		uint64_t niberr:1;
 954		uint64_t ovrerr:1;
 955		uint64_t pcterr:1;
 956		uint64_t rsverr:1;
 957		uint64_t falerr:1;
 958		uint64_t coldet:1;
 959		uint64_t ifgerr:1;
 960		uint64_t phy_link:1;
 961		uint64_t phy_spd:1;
 962		uint64_t phy_dupx:1;
 963		uint64_t pause_drp:1;
 964		uint64_t reserved_20_63:44;
 965#endif
 966	} cn50xx;
 967	struct cvmx_gmxx_rxx_int_en_cn52xx {
 968#ifdef __BIG_ENDIAN_BITFIELD
 969		uint64_t reserved_29_63:35;
 970		uint64_t hg2cc:1;
 971		uint64_t hg2fld:1;
 972		uint64_t undat:1;
 973		uint64_t uneop:1;
 974		uint64_t unsop:1;
 975		uint64_t bad_term:1;
 976		uint64_t bad_seq:1;
 977		uint64_t rem_fault:1;
 978		uint64_t loc_fault:1;
 979		uint64_t pause_drp:1;
 980		uint64_t reserved_16_18:3;
 981		uint64_t ifgerr:1;
 982		uint64_t coldet:1;
 983		uint64_t falerr:1;
 984		uint64_t rsverr:1;
 985		uint64_t pcterr:1;
 986		uint64_t ovrerr:1;
 987		uint64_t reserved_9_9:1;
 988		uint64_t skperr:1;
 989		uint64_t rcverr:1;
 990		uint64_t reserved_5_6:2;
 991		uint64_t fcserr:1;
 992		uint64_t jabber:1;
 993		uint64_t reserved_2_2:1;
 994		uint64_t carext:1;
 995		uint64_t reserved_0_0:1;
 996#else
 997		uint64_t reserved_0_0:1;
 998		uint64_t carext:1;
 999		uint64_t reserved_2_2:1;
1000		uint64_t jabber:1;
1001		uint64_t fcserr:1;
1002		uint64_t reserved_5_6:2;
1003		uint64_t rcverr:1;
1004		uint64_t skperr:1;
1005		uint64_t reserved_9_9:1;
1006		uint64_t ovrerr:1;
1007		uint64_t pcterr:1;
1008		uint64_t rsverr:1;
1009		uint64_t falerr:1;
1010		uint64_t coldet:1;
1011		uint64_t ifgerr:1;
1012		uint64_t reserved_16_18:3;
1013		uint64_t pause_drp:1;
1014		uint64_t loc_fault:1;
1015		uint64_t rem_fault:1;
1016		uint64_t bad_seq:1;
1017		uint64_t bad_term:1;
1018		uint64_t unsop:1;
1019		uint64_t uneop:1;
1020		uint64_t undat:1;
1021		uint64_t hg2fld:1;
1022		uint64_t hg2cc:1;
1023		uint64_t reserved_29_63:35;
1024#endif
1025	} cn52xx;
1026	struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
1027#ifdef __BIG_ENDIAN_BITFIELD
1028		uint64_t reserved_27_63:37;
1029		uint64_t undat:1;
1030		uint64_t uneop:1;
1031		uint64_t unsop:1;
1032		uint64_t bad_term:1;
1033		uint64_t bad_seq:1;
1034		uint64_t rem_fault:1;
1035		uint64_t loc_fault:1;
1036		uint64_t pause_drp:1;
1037		uint64_t reserved_16_18:3;
1038		uint64_t ifgerr:1;
1039		uint64_t coldet:1;
1040		uint64_t falerr:1;
1041		uint64_t rsverr:1;
1042		uint64_t pcterr:1;
1043		uint64_t ovrerr:1;
1044		uint64_t reserved_9_9:1;
1045		uint64_t skperr:1;
1046		uint64_t rcverr:1;
1047		uint64_t reserved_5_6:2;
1048		uint64_t fcserr:1;
1049		uint64_t jabber:1;
1050		uint64_t reserved_2_2:1;
1051		uint64_t carext:1;
1052		uint64_t reserved_0_0:1;
1053#else
1054		uint64_t reserved_0_0:1;
1055		uint64_t carext:1;
1056		uint64_t reserved_2_2:1;
1057		uint64_t jabber:1;
1058		uint64_t fcserr:1;
1059		uint64_t reserved_5_6:2;
1060		uint64_t rcverr:1;
1061		uint64_t skperr:1;
1062		uint64_t reserved_9_9:1;
1063		uint64_t ovrerr:1;
1064		uint64_t pcterr:1;
1065		uint64_t rsverr:1;
1066		uint64_t falerr:1;
1067		uint64_t coldet:1;
1068		uint64_t ifgerr:1;
1069		uint64_t reserved_16_18:3;
1070		uint64_t pause_drp:1;
1071		uint64_t loc_fault:1;
1072		uint64_t rem_fault:1;
1073		uint64_t bad_seq:1;
1074		uint64_t bad_term:1;
1075		uint64_t unsop:1;
1076		uint64_t uneop:1;
1077		uint64_t undat:1;
1078		uint64_t reserved_27_63:37;
1079#endif
1080	} cn56xxp1;
1081	struct cvmx_gmxx_rxx_int_en_cn58xx {
1082#ifdef __BIG_ENDIAN_BITFIELD
1083		uint64_t reserved_20_63:44;
1084		uint64_t pause_drp:1;
1085		uint64_t phy_dupx:1;
1086		uint64_t phy_spd:1;
1087		uint64_t phy_link:1;
1088		uint64_t ifgerr:1;
1089		uint64_t coldet:1;
1090		uint64_t falerr:1;
1091		uint64_t rsverr:1;
1092		uint64_t pcterr:1;
1093		uint64_t ovrerr:1;
1094		uint64_t niberr:1;
1095		uint64_t skperr:1;
1096		uint64_t rcverr:1;
1097		uint64_t lenerr:1;
1098		uint64_t alnerr:1;
1099		uint64_t fcserr:1;
1100		uint64_t jabber:1;
1101		uint64_t maxerr:1;
1102		uint64_t carext:1;
1103		uint64_t minerr:1;
1104#else
1105		uint64_t minerr:1;
1106		uint64_t carext:1;
1107		uint64_t maxerr:1;
1108		uint64_t jabber:1;
1109		uint64_t fcserr:1;
1110		uint64_t alnerr:1;
1111		uint64_t lenerr:1;
1112		uint64_t rcverr:1;
1113		uint64_t skperr:1;
1114		uint64_t niberr:1;
1115		uint64_t ovrerr:1;
1116		uint64_t pcterr:1;
1117		uint64_t rsverr:1;
1118		uint64_t falerr:1;
1119		uint64_t coldet:1;
1120		uint64_t ifgerr:1;
1121		uint64_t phy_link:1;
1122		uint64_t phy_spd:1;
1123		uint64_t phy_dupx:1;
1124		uint64_t pause_drp:1;
1125		uint64_t reserved_20_63:44;
1126#endif
1127	} cn58xx;
1128	struct cvmx_gmxx_rxx_int_en_cn61xx {
1129#ifdef __BIG_ENDIAN_BITFIELD
1130		uint64_t reserved_29_63:35;
1131		uint64_t hg2cc:1;
1132		uint64_t hg2fld:1;
1133		uint64_t undat:1;
1134		uint64_t uneop:1;
1135		uint64_t unsop:1;
1136		uint64_t bad_term:1;
1137		uint64_t bad_seq:1;
1138		uint64_t rem_fault:1;
1139		uint64_t loc_fault:1;
1140		uint64_t pause_drp:1;
1141		uint64_t reserved_16_18:3;
1142		uint64_t ifgerr:1;
1143		uint64_t coldet:1;
1144		uint64_t falerr:1;
1145		uint64_t rsverr:1;
1146		uint64_t pcterr:1;
1147		uint64_t ovrerr:1;
1148		uint64_t reserved_9_9:1;
1149		uint64_t skperr:1;
1150		uint64_t rcverr:1;
1151		uint64_t reserved_5_6:2;
1152		uint64_t fcserr:1;
1153		uint64_t jabber:1;
1154		uint64_t reserved_2_2:1;
1155		uint64_t carext:1;
1156		uint64_t minerr:1;
1157#else
1158		uint64_t minerr:1;
1159		uint64_t carext:1;
1160		uint64_t reserved_2_2:1;
1161		uint64_t jabber:1;
1162		uint64_t fcserr:1;
1163		uint64_t reserved_5_6:2;
1164		uint64_t rcverr:1;
1165		uint64_t skperr:1;
1166		uint64_t reserved_9_9:1;
1167		uint64_t ovrerr:1;
1168		uint64_t pcterr:1;
1169		uint64_t rsverr:1;
1170		uint64_t falerr:1;
1171		uint64_t coldet:1;
1172		uint64_t ifgerr:1;
1173		uint64_t reserved_16_18:3;
1174		uint64_t pause_drp:1;
1175		uint64_t loc_fault:1;
1176		uint64_t rem_fault:1;
1177		uint64_t bad_seq:1;
1178		uint64_t bad_term:1;
1179		uint64_t unsop:1;
1180		uint64_t uneop:1;
1181		uint64_t undat:1;
1182		uint64_t hg2fld:1;
1183		uint64_t hg2cc:1;
1184		uint64_t reserved_29_63:35;
1185#endif
1186	} cn61xx;
1187};
1188
1189union cvmx_gmxx_rxx_int_reg {
1190	uint64_t u64;
1191	struct cvmx_gmxx_rxx_int_reg_s {
1192#ifdef __BIG_ENDIAN_BITFIELD
1193		uint64_t reserved_29_63:35;
1194		uint64_t hg2cc:1;
1195		uint64_t hg2fld:1;
1196		uint64_t undat:1;
1197		uint64_t uneop:1;
1198		uint64_t unsop:1;
1199		uint64_t bad_term:1;
1200		uint64_t bad_seq:1;
1201		uint64_t rem_fault:1;
1202		uint64_t loc_fault:1;
1203		uint64_t pause_drp:1;
1204		uint64_t phy_dupx:1;
1205		uint64_t phy_spd:1;
1206		uint64_t phy_link:1;
1207		uint64_t ifgerr:1;
1208		uint64_t coldet:1;
1209		uint64_t falerr:1;
1210		uint64_t rsverr:1;
1211		uint64_t pcterr:1;
1212		uint64_t ovrerr:1;
1213		uint64_t niberr:1;
1214		uint64_t skperr:1;
1215		uint64_t rcverr:1;
1216		uint64_t lenerr:1;
1217		uint64_t alnerr:1;
1218		uint64_t fcserr:1;
1219		uint64_t jabber:1;
1220		uint64_t maxerr:1;
1221		uint64_t carext:1;
1222		uint64_t minerr:1;
1223#else
1224		uint64_t minerr:1;
1225		uint64_t carext:1;
1226		uint64_t maxerr:1;
1227		uint64_t jabber:1;
1228		uint64_t fcserr:1;
1229		uint64_t alnerr:1;
1230		uint64_t lenerr:1;
1231		uint64_t rcverr:1;
1232		uint64_t skperr:1;
1233		uint64_t niberr:1;
1234		uint64_t ovrerr:1;
1235		uint64_t pcterr:1;
1236		uint64_t rsverr:1;
1237		uint64_t falerr:1;
1238		uint64_t coldet:1;
1239		uint64_t ifgerr:1;
1240		uint64_t phy_link:1;
1241		uint64_t phy_spd:1;
1242		uint64_t phy_dupx:1;
1243		uint64_t pause_drp:1;
1244		uint64_t loc_fault:1;
1245		uint64_t rem_fault:1;
1246		uint64_t bad_seq:1;
1247		uint64_t bad_term:1;
1248		uint64_t unsop:1;
1249		uint64_t uneop:1;
1250		uint64_t undat:1;
1251		uint64_t hg2fld:1;
1252		uint64_t hg2cc:1;
1253		uint64_t reserved_29_63:35;
1254#endif
1255	} s;
1256	struct cvmx_gmxx_rxx_int_reg_cn30xx {
1257#ifdef __BIG_ENDIAN_BITFIELD
1258		uint64_t reserved_19_63:45;
1259		uint64_t phy_dupx:1;
1260		uint64_t phy_spd:1;
1261		uint64_t phy_link:1;
1262		uint64_t ifgerr:1;
1263		uint64_t coldet:1;
1264		uint64_t falerr:1;
1265		uint64_t rsverr:1;
1266		uint64_t pcterr:1;
1267		uint64_t ovrerr:1;
1268		uint64_t niberr:1;
1269		uint64_t skperr:1;
1270		uint64_t rcverr:1;
1271		uint64_t lenerr:1;
1272		uint64_t alnerr:1;
1273		uint64_t fcserr:1;
1274		uint64_t jabber:1;
1275		uint64_t maxerr:1;
1276		uint64_t carext:1;
1277		uint64_t minerr:1;
1278#else
1279		uint64_t minerr:1;
1280		uint64_t carext:1;
1281		uint64_t maxerr:1;
1282		uint64_t jabber:1;
1283		uint64_t fcserr:1;
1284		uint64_t alnerr:1;
1285		uint64_t lenerr:1;
1286		uint64_t rcverr:1;
1287		uint64_t skperr:1;
1288		uint64_t niberr:1;
1289		uint64_t ovrerr:1;
1290		uint64_t pcterr:1;
1291		uint64_t rsverr:1;
1292		uint64_t falerr:1;
1293		uint64_t coldet:1;
1294		uint64_t ifgerr:1;
1295		uint64_t phy_link:1;
1296		uint64_t phy_spd:1;
1297		uint64_t phy_dupx:1;
1298		uint64_t reserved_19_63:45;
1299#endif
1300	} cn30xx;
1301	struct cvmx_gmxx_rxx_int_reg_cn50xx {
1302#ifdef __BIG_ENDIAN_BITFIELD
1303		uint64_t reserved_20_63:44;
1304		uint64_t pause_drp:1;
1305		uint64_t phy_dupx:1;
1306		uint64_t phy_spd:1;
1307		uint64_t phy_link:1;
1308		uint64_t ifgerr:1;
1309		uint64_t coldet:1;
1310		uint64_t falerr:1;
1311		uint64_t rsverr:1;
1312		uint64_t pcterr:1;
1313		uint64_t ovrerr:1;
1314		uint64_t niberr:1;
1315		uint64_t skperr:1;
1316		uint64_t rcverr:1;
1317		uint64_t reserved_6_6:1;
1318		uint64_t alnerr:1;
1319		uint64_t fcserr:1;
1320		uint64_t jabber:1;
1321		uint64_t reserved_2_2:1;
1322		uint64_t carext:1;
1323		uint64_t reserved_0_0:1;
1324#else
1325		uint64_t reserved_0_0:1;
1326		uint64_t carext:1;
1327		uint64_t reserved_2_2:1;
1328		uint64_t jabber:1;
1329		uint64_t fcserr:1;
1330		uint64_t alnerr:1;
1331		uint64_t reserved_6_6:1;
1332		uint64_t rcverr:1;
1333		uint64_t skperr:1;
1334		uint64_t niberr:1;
1335		uint64_t ovrerr:1;
1336		uint64_t pcterr:1;
1337		uint64_t rsverr:1;
1338		uint64_t falerr:1;
1339		uint64_t coldet:1;
1340		uint64_t ifgerr:1;
1341		uint64_t phy_link:1;
1342		uint64_t phy_spd:1;
1343		uint64_t phy_dupx:1;
1344		uint64_t pause_drp:1;
1345		uint64_t reserved_20_63:44;
1346#endif
1347	} cn50xx;
1348	struct cvmx_gmxx_rxx_int_reg_cn52xx {
1349#ifdef __BIG_ENDIAN_BITFIELD
1350		uint64_t reserved_29_63:35;
1351		uint64_t hg2cc:1;
1352		uint64_t hg2fld:1;
1353		uint64_t undat:1;
1354		uint64_t uneop:1;
1355		uint64_t unsop:1;
1356		uint64_t bad_term:1;
1357		uint64_t bad_seq:1;
1358		uint64_t rem_fault:1;
1359		uint64_t loc_fault:1;
1360		uint64_t pause_drp:1;
1361		uint64_t reserved_16_18:3;
1362		uint64_t ifgerr:1;
1363		uint64_t coldet:1;
1364		uint64_t falerr:1;
1365		uint64_t rsverr:1;
1366		uint64_t pcterr:1;
1367		uint64_t ovrerr:1;
1368		uint64_t reserved_9_9:1;
1369		uint64_t skperr:1;
1370		uint64_t rcverr:1;
1371		uint64_t reserved_5_6:2;
1372		uint64_t fcserr:1;
1373		uint64_t jabber:1;
1374		uint64_t reserved_2_2:1;
1375		uint64_t carext:1;
1376		uint64_t reserved_0_0:1;
1377#else
1378		uint64_t reserved_0_0:1;
1379		uint64_t carext:1;
1380		uint64_t reserved_2_2:1;
1381		uint64_t jabber:1;
1382		uint64_t fcserr:1;
1383		uint64_t reserved_5_6:2;
1384		uint64_t rcverr:1;
1385		uint64_t skperr:1;
1386		uint64_t reserved_9_9:1;
1387		uint64_t ovrerr:1;
1388		uint64_t pcterr:1;
1389		uint64_t rsverr:1;
1390		uint64_t falerr:1;
1391		uint64_t coldet:1;
1392		uint64_t ifgerr:1;
1393		uint64_t reserved_16_18:3;
1394		uint64_t pause_drp:1;
1395		uint64_t loc_fault:1;
1396		uint64_t rem_fault:1;
1397		uint64_t bad_seq:1;
1398		uint64_t bad_term:1;
1399		uint64_t unsop:1;
1400		uint64_t uneop:1;
1401		uint64_t undat:1;
1402		uint64_t hg2fld:1;
1403		uint64_t hg2cc:1;
1404		uint64_t reserved_29_63:35;
1405#endif
1406	} cn52xx;
1407	struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
1408#ifdef __BIG_ENDIAN_BITFIELD
1409		uint64_t reserved_27_63:37;
1410		uint64_t undat:1;
1411		uint64_t uneop:1;
1412		uint64_t unsop:1;
1413		uint64_t bad_term:1;
1414		uint64_t bad_seq:1;
1415		uint64_t rem_fault:1;
1416		uint64_t loc_fault:1;
1417		uint64_t pause_drp:1;
1418		uint64_t reserved_16_18:3;
1419		uint64_t ifgerr:1;
1420		uint64_t coldet:1;
1421		uint64_t falerr:1;
1422		uint64_t rsverr:1;
1423		uint64_t pcterr:1;
1424		uint64_t ovrerr:1;
1425		uint64_t reserved_9_9:1;
1426		uint64_t skperr:1;
1427		uint64_t rcverr:1;
1428		uint64_t reserved_5_6:2;
1429		uint64_t fcserr:1;
1430		uint64_t jabber:1;
1431		uint64_t reserved_2_2:1;
1432		uint64_t carext:1;
1433		uint64_t reserved_0_0:1;
1434#else
1435		uint64_t reserved_0_0:1;
1436		uint64_t carext:1;
1437		uint64_t reserved_2_2:1;
1438		uint64_t jabber:1;
1439		uint64_t fcserr:1;
1440		uint64_t reserved_5_6:2;
1441		uint64_t rcverr:1;
1442		uint64_t skperr:1;
1443		uint64_t reserved_9_9:1;
1444		uint64_t ovrerr:1;
1445		uint64_t pcterr:1;
1446		uint64_t rsverr:1;
1447		uint64_t falerr:1;
1448		uint64_t coldet:1;
1449		uint64_t ifgerr:1;
1450		uint64_t reserved_16_18:3;
1451		uint64_t pause_drp:1;
1452		uint64_t loc_fault:1;
1453		uint64_t rem_fault:1;
1454		uint64_t bad_seq:1;
1455		uint64_t bad_term:1;
1456		uint64_t unsop:1;
1457		uint64_t uneop:1;
1458		uint64_t undat:1;
1459		uint64_t reserved_27_63:37;
1460#endif
1461	} cn56xxp1;
1462	struct cvmx_gmxx_rxx_int_reg_cn58xx {
1463#ifdef __BIG_ENDIAN_BITFIELD
1464		uint64_t reserved_20_63:44;
1465		uint64_t pause_drp:1;
1466		uint64_t phy_dupx:1;
1467		uint64_t phy_spd:1;
1468		uint64_t phy_link:1;
1469		uint64_t ifgerr:1;
1470		uint64_t coldet:1;
1471		uint64_t falerr:1;
1472		uint64_t rsverr:1;
1473		uint64_t pcterr:1;
1474		uint64_t ovrerr:1;
1475		uint64_t niberr:1;
1476		uint64_t skperr:1;
1477		uint64_t rcverr:1;
1478		uint64_t lenerr:1;
1479		uint64_t alnerr:1;
1480		uint64_t fcserr:1;
1481		uint64_t jabber:1;
1482		uint64_t maxerr:1;
1483		uint64_t carext:1;
1484		uint64_t minerr:1;
1485#else
1486		uint64_t minerr:1;
1487		uint64_t carext:1;
1488		uint64_t maxerr:1;
1489		uint64_t jabber:1;
1490		uint64_t fcserr:1;
1491		uint64_t alnerr:1;
1492		uint64_t lenerr:1;
1493		uint64_t rcverr:1;
1494		uint64_t skperr:1;
1495		uint64_t niberr:1;
1496		uint64_t ovrerr:1;
1497		uint64_t pcterr:1;
1498		uint64_t rsverr:1;
1499		uint64_t falerr:1;
1500		uint64_t coldet:1;
1501		uint64_t ifgerr:1;
1502		uint64_t phy_link:1;
1503		uint64_t phy_spd:1;
1504		uint64_t phy_dupx:1;
1505		uint64_t pause_drp:1;
1506		uint64_t reserved_20_63:44;
1507#endif
1508	} cn58xx;
1509	struct cvmx_gmxx_rxx_int_reg_cn61xx {
1510#ifdef __BIG_ENDIAN_BITFIELD
1511		uint64_t reserved_29_63:35;
1512		uint64_t hg2cc:1;
1513		uint64_t hg2fld:1;
1514		uint64_t undat:1;
1515		uint64_t uneop:1;
1516		uint64_t unsop:1;
1517		uint64_t bad_term:1;
1518		uint64_t bad_seq:1;
1519		uint64_t rem_fault:1;
1520		uint64_t loc_fault:1;
1521		uint64_t pause_drp:1;
1522		uint64_t reserved_16_18:3;
1523		uint64_t ifgerr:1;
1524		uint64_t coldet:1;
1525		uint64_t falerr:1;
1526		uint64_t rsverr:1;
1527		uint64_t pcterr:1;
1528		uint64_t ovrerr:1;
1529		uint64_t reserved_9_9:1;
1530		uint64_t skperr:1;
1531		uint64_t rcverr:1;
1532		uint64_t reserved_5_6:2;
1533		uint64_t fcserr:1;
1534		uint64_t jabber:1;
1535		uint64_t reserved_2_2:1;
1536		uint64_t carext:1;
1537		uint64_t minerr:1;
1538#else
1539		uint64_t minerr:1;
1540		uint64_t carext:1;
1541		uint64_t reserved_2_2:1;
1542		uint64_t jabber:1;
1543		uint64_t fcserr:1;
1544		uint64_t reserved_5_6:2;
1545		uint64_t rcverr:1;
1546		uint64_t skperr:1;
1547		uint64_t reserved_9_9:1;
1548		uint64_t ovrerr:1;
1549		uint64_t pcterr:1;
1550		uint64_t rsverr:1;
1551		uint64_t falerr:1;
1552		uint64_t coldet:1;
1553		uint64_t ifgerr:1;
1554		uint64_t reserved_16_18:3;
1555		uint64_t pause_drp:1;
1556		uint64_t loc_fault:1;
1557		uint64_t rem_fault:1;
1558		uint64_t bad_seq:1;
1559		uint64_t bad_term:1;
1560		uint64_t unsop:1;
1561		uint64_t uneop:1;
1562		uint64_t undat:1;
1563		uint64_t hg2fld:1;
1564		uint64_t hg2cc:1;
1565		uint64_t reserved_29_63:35;
1566#endif
1567	} cn61xx;
1568};
1569
1570union cvmx_gmxx_rxx_jabber {
1571	uint64_t u64;
1572	struct cvmx_gmxx_rxx_jabber_s {
1573#ifdef __BIG_ENDIAN_BITFIELD
1574		uint64_t reserved_16_63:48;
1575		uint64_t cnt:16;
1576#else
1577		uint64_t cnt:16;
1578		uint64_t reserved_16_63:48;
1579#endif
1580	} s;
1581};
1582
1583union cvmx_gmxx_rxx_rx_inbnd {
1584	uint64_t u64;
1585	struct cvmx_gmxx_rxx_rx_inbnd_s {
1586#ifdef __BIG_ENDIAN_BITFIELD
1587		uint64_t reserved_4_63:60;
1588		uint64_t duplex:1;
1589		uint64_t speed:2;
1590		uint64_t status:1;
1591#else
1592		uint64_t status:1;
1593		uint64_t speed:2;
1594		uint64_t duplex:1;
1595		uint64_t reserved_4_63:60;
1596#endif
1597	} s;
1598};
1599
1600union cvmx_gmxx_rx_prts {
1601	uint64_t u64;
1602	struct cvmx_gmxx_rx_prts_s {
1603#ifdef __BIG_ENDIAN_BITFIELD
1604		uint64_t reserved_3_63:61;
1605		uint64_t prts:3;
1606#else
1607		uint64_t prts:3;
1608		uint64_t reserved_3_63:61;
1609#endif
1610	} s;
1611};
1612
1613union cvmx_gmxx_rx_xaui_ctl {
1614	uint64_t u64;
1615	struct cvmx_gmxx_rx_xaui_ctl_s {
1616#ifdef __BIG_ENDIAN_BITFIELD
1617		uint64_t reserved_2_63:62;
1618		uint64_t status:2;
1619#else
1620		uint64_t status:2;
1621		uint64_t reserved_2_63:62;
1622#endif
1623	} s;
1624};
1625
1626union cvmx_gmxx_txx_thresh {
1627	uint64_t u64;
1628	struct cvmx_gmxx_txx_thresh_s {
1629#ifdef __BIG_ENDIAN_BITFIELD
1630		uint64_t reserved_10_63:54;
1631		uint64_t cnt:10;
1632#else
1633		uint64_t cnt:10;
1634		uint64_t reserved_10_63:54;
1635#endif
1636	} s;
1637	struct cvmx_gmxx_txx_thresh_cn30xx {
1638#ifdef __BIG_ENDIAN_BITFIELD
1639		uint64_t reserved_7_63:57;
1640		uint64_t cnt:7;
1641#else
1642		uint64_t cnt:7;
1643		uint64_t reserved_7_63:57;
1644#endif
1645	} cn30xx;
1646	struct cvmx_gmxx_txx_thresh_cn38xx {
1647#ifdef __BIG_ENDIAN_BITFIELD
1648		uint64_t reserved_9_63:55;
1649		uint64_t cnt:9;
1650#else
1651		uint64_t cnt:9;
1652		uint64_t reserved_9_63:55;
1653#endif
1654	} cn38xx;
1655};
1656
1657union cvmx_gmxx_tx_int_en {
1658	uint64_t u64;
1659	struct cvmx_gmxx_tx_int_en_s {
1660#ifdef __BIG_ENDIAN_BITFIELD
1661		uint64_t reserved_25_63:39;
1662		uint64_t xchange:1;
1663		uint64_t ptp_lost:4;
1664		uint64_t late_col:4;
1665		uint64_t xsdef:4;
1666		uint64_t xscol:4;
1667		uint64_t reserved_6_7:2;
1668		uint64_t undflw:4;
1669		uint64_t reserved_1_1:1;
1670		uint64_t pko_nxa:1;
1671#else
1672		uint64_t pko_nxa:1;
1673		uint64_t reserved_1_1:1;
1674		uint64_t undflw:4;
1675		uint64_t reserved_6_7:2;
1676		uint64_t xscol:4;
1677		uint64_t xsdef:4;
1678		uint64_t late_col:4;
1679		uint64_t ptp_lost:4;
1680		uint64_t xchange:1;
1681		uint64_t reserved_25_63:39;
1682#endif
1683	} s;
1684	struct cvmx_gmxx_tx_int_en_cn30xx {
1685#ifdef __BIG_ENDIAN_BITFIELD
1686		uint64_t reserved_19_63:45;
1687		uint64_t late_col:3;
1688		uint64_t reserved_15_15:1;
1689		uint64_t xsdef:3;
1690		uint64_t reserved_11_11:1;
1691		uint64_t xscol:3;
1692		uint64_t reserved_5_7:3;
1693		uint64_t undflw:3;
1694		uint64_t reserved_1_1:1;
1695		uint64_t pko_nxa:1;
1696#else
1697		uint64_t pko_nxa:1;
1698		uint64_t reserved_1_1:1;
1699		uint64_t undflw:3;
1700		uint64_t reserved_5_7:3;
1701		uint64_t xscol:3;
1702		uint64_t reserved_11_11:1;
1703		uint64_t xsdef:3;
1704		uint64_t reserved_15_15:1;
1705		uint64_t late_col:3;
1706		uint64_t reserved_19_63:45;
1707#endif
1708	} cn30xx;
1709	struct cvmx_gmxx_tx_int_en_cn31xx {
1710#ifdef __BIG_ENDIAN_BITFIELD
1711		uint64_t reserved_15_63:49;
1712		uint64_t xsdef:3;
1713		uint64_t reserved_11_11:1;
1714		uint64_t xscol:3;
1715		uint64_t reserved_5_7:3;
1716		uint64_t undflw:3;
1717		uint64_t reserved_1_1:1;
1718		uint64_t pko_nxa:1;
1719#else
1720		uint64_t pko_nxa:1;
1721		uint64_t reserved_1_1:1;
1722		uint64_t undflw:3;
1723		uint64_t reserved_5_7:3;
1724		uint64_t xscol:3;
1725		uint64_t reserved_11_11:1;
1726		uint64_t xsdef:3;
1727		uint64_t reserved_15_63:49;
1728#endif
1729	} cn31xx;
1730	struct cvmx_gmxx_tx_int_en_cn38xx {
1731#ifdef __BIG_ENDIAN_BITFIELD
1732		uint64_t reserved_20_63:44;
1733		uint64_t late_col:4;
1734		uint64_t xsdef:4;
1735		uint64_t xscol:4;
1736		uint64_t reserved_6_7:2;
1737		uint64_t undflw:4;
1738		uint64_t ncb_nxa:1;
1739		uint64_t pko_nxa:1;
1740#else
1741		uint64_t pko_nxa:1;
1742		uint64_t ncb_nxa:1;
1743		uint64_t undflw:4;
1744		uint64_t reserved_6_7:2;
1745		uint64_t xscol:4;
1746		uint64_t xsdef:4;
1747		uint64_t late_col:4;
1748		uint64_t reserved_20_63:44;
1749#endif
1750	} cn38xx;
1751	struct cvmx_gmxx_tx_int_en_cn38xxp2 {
1752#ifdef __BIG_ENDIAN_BITFIELD
1753		uint64_t reserved_16_63:48;
1754		uint64_t xsdef:4;
1755		uint64_t xscol:4;
1756		uint64_t reserved_6_7:2;
1757		uint64_t undflw:4;
1758		uint64_t ncb_nxa:1;
1759		uint64_t pko_nxa:1;
1760#else
1761		uint64_t pko_nxa:1;
1762		uint64_t ncb_nxa:1;
1763		uint64_t undflw:4;
1764		uint64_t reserved_6_7:2;
1765		uint64_t xscol:4;
1766		uint64_t xsdef:4;
1767		uint64_t reserved_16_63:48;
1768#endif
1769	} cn38xxp2;
1770	struct cvmx_gmxx_tx_int_en_cn52xx {
1771#ifdef __BIG_ENDIAN_BITFIELD
1772		uint64_t reserved_20_63:44;
1773		uint64_t late_col:4;
1774		uint64_t xsdef:4;
1775		uint64_t xscol:4;
1776		uint64_t reserved_6_7:2;
1777		uint64_t undflw:4;
1778		uint64_t reserved_1_1:1;
1779		uint64_t pko_nxa:1;
1780#else
1781		uint64_t pko_nxa:1;
1782		uint64_t reserved_1_1:1;
1783		uint64_t undflw:4;
1784		uint64_t reserved_6_7:2;
1785		uint64_t xscol:4;
1786		uint64_t xsdef:4;
1787		uint64_t late_col:4;
1788		uint64_t reserved_20_63:44;
1789#endif
1790	} cn52xx;
1791	struct cvmx_gmxx_tx_int_en_cn63xx {
1792#ifdef __BIG_ENDIAN_BITFIELD
1793		uint64_t reserved_24_63:40;
1794		uint64_t ptp_lost:4;
1795		uint64_t late_col:4;
1796		uint64_t xsdef:4;
1797		uint64_t xscol:4;
1798		uint64_t reserved_6_7:2;
1799		uint64_t undflw:4;
1800		uint64_t reserved_1_1:1;
1801		uint64_t pko_nxa:1;
1802#else
1803		uint64_t pko_nxa:1;
1804		uint64_t reserved_1_1:1;
1805		uint64_t undflw:4;
1806		uint64_t reserved_6_7:2;
1807		uint64_t xscol:4;
1808		uint64_t xsdef:4;
1809		uint64_t late_col:4;
1810		uint64_t ptp_lost:4;
1811		uint64_t reserved_24_63:40;
1812#endif
1813	} cn63xx;
1814	struct cvmx_gmxx_tx_int_en_cn68xx {
1815#ifdef __BIG_ENDIAN_BITFIELD
1816		uint64_t reserved_25_63:39;
1817		uint64_t xchange:1;
1818		uint64_t ptp_lost:4;
1819		uint64_t late_col:4;
1820		uint64_t xsdef:4;
1821		uint64_t xscol:4;
1822		uint64_t reserved_6_7:2;
1823		uint64_t undflw:4;
1824		uint64_t pko_nxp:1;
1825		uint64_t pko_nxa:1;
1826#else
1827		uint64_t pko_nxa:1;
1828		uint64_t pko_nxp:1;
1829		uint64_t undflw:4;
1830		uint64_t reserved_6_7:2;
1831		uint64_t xscol:4;
1832		uint64_t xsdef:4;
1833		uint64_t late_col:4;
1834		uint64_t ptp_lost:4;
1835		uint64_t xchange:1;
1836		uint64_t reserved_25_63:39;
1837#endif
1838	} cn68xx;
1839	struct cvmx_gmxx_tx_int_en_cnf71xx {
1840#ifdef __BIG_ENDIAN_BITFIELD
1841		uint64_t reserved_25_63:39;
1842		uint64_t xchange:1;
1843		uint64_t reserved_22_23:2;
1844		uint64_t ptp_lost:2;
1845		uint64_t reserved_18_19:2;
1846		uint64_t late_col:2;
1847		uint64_t reserved_14_15:2;
1848		uint64_t xsdef:2;
1849		uint64_t reserved_10_11:2;
1850		uint64_t xscol:2;
1851		uint64_t reserved_4_7:4;
1852		uint64_t undflw:2;
1853		uint64_t reserved_1_1:1;
1854		uint64_t pko_nxa:1;
1855#else
1856		uint64_t pko_nxa:1;
1857		uint64_t reserved_1_1:1;
1858		uint64_t undflw:2;
1859		uint64_t reserved_4_7:4;
1860		uint64_t xscol:2;
1861		uint64_t reserved_10_11:2;
1862		uint64_t xsdef:2;
1863		uint64_t reserved_14_15:2;
1864		uint64_t late_col:2;
1865		uint64_t reserved_18_19:2;
1866		uint64_t ptp_lost:2;
1867		uint64_t reserved_22_23:2;
1868		uint64_t xchange:1;
1869		uint64_t reserved_25_63:39;
1870#endif
1871	} cnf71xx;
1872};
1873
1874union cvmx_gmxx_tx_int_reg {
1875	uint64_t u64;
1876	struct cvmx_gmxx_tx_int_reg_s {
1877#ifdef __BIG_ENDIAN_BITFIELD
1878		uint64_t reserved_25_63:39;
1879		uint64_t xchange:1;
1880		uint64_t ptp_lost:4;
1881		uint64_t late_col:4;
1882		uint64_t xsdef:4;
1883		uint64_t xscol:4;
1884		uint64_t reserved_6_7:2;
1885		uint64_t undflw:4;
1886		uint64_t reserved_1_1:1;
1887		uint64_t pko_nxa:1;
1888#else
1889		uint64_t pko_nxa:1;
1890		uint64_t reserved_1_1:1;
1891		uint64_t undflw:4;
1892		uint64_t reserved_6_7:2;
1893		uint64_t xscol:4;
1894		uint64_t xsdef:4;
1895		uint64_t late_col:4;
1896		uint64_t ptp_lost:4;
1897		uint64_t xchange:1;
1898		uint64_t reserved_25_63:39;
1899#endif
1900	} s;
1901	struct cvmx_gmxx_tx_int_reg_cn30xx {
1902#ifdef __BIG_ENDIAN_BITFIELD
1903		uint64_t reserved_19_63:45;
1904		uint64_t late_col:3;
1905		uint64_t reserved_15_15:1;
1906		uint64_t xsdef:3;
1907		uint64_t reserved_11_11:1;
1908		uint64_t xscol:3;
1909		uint64_t reserved_5_7:3;
1910		uint64_t undflw:3;
1911		uint64_t reserved_1_1:1;
1912		uint64_t pko_nxa:1;
1913#else
1914		uint64_t pko_nxa:1;
1915		uint64_t reserved_1_1:1;
1916		uint64_t undflw:3;
1917		uint64_t reserved_5_7:3;
1918		uint64_t xscol:3;
1919		uint64_t reserved_11_11:1;
1920		uint64_t xsdef:3;
1921		uint64_t reserved_15_15:1;
1922		uint64_t late_col:3;
1923		uint64_t reserved_19_63:45;
1924#endif
1925	} cn30xx;
1926	struct cvmx_gmxx_tx_int_reg_cn31xx {
1927#ifdef __BIG_ENDIAN_BITFIELD
1928		uint64_t reserved_15_63:49;
1929		uint64_t xsdef:3;
1930		uint64_t reserved_11_11:1;
1931		uint64_t xscol:3;
1932		uint64_t reserved_5_7:3;
1933		uint64_t undflw:3;
1934		uint64_t reserved_1_1:1;
1935		uint64_t pko_nxa:1;
1936#else
1937		uint64_t pko_nxa:1;
1938		uint64_t reserved_1_1:1;
1939		uint64_t undflw:3;
1940		uint64_t reserved_5_7:3;
1941		uint64_t xscol:3;
1942		uint64_t reserved_11_11:1;
1943		uint64_t xsdef:3;
1944		uint64_t reserved_15_63:49;
1945#endif
1946	} cn31xx;
1947	struct cvmx_gmxx_tx_int_reg_cn38xx {
1948#ifdef __BIG_ENDIAN_BITFIELD
1949		uint64_t reserved_20_63:44;
1950		uint64_t late_col:4;
1951		uint64_t xsdef:4;
1952		uint64_t xscol:4;
1953		uint64_t reserved_6_7:2;
1954		uint64_t undflw:4;
1955		uint64_t ncb_nxa:1;
1956		uint64_t pko_nxa:1;
1957#else
1958		uint64_t pko_nxa:1;
1959		uint64_t ncb_nxa:1;
1960		uint64_t undflw:4;
1961		uint64_t reserved_6_7:2;
1962		uint64_t xscol:4;
1963		uint64_t xsdef:4;
1964		uint64_t late_col:4;
1965		uint64_t reserved_20_63:44;
1966#endif
1967	} cn38xx;
1968	struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
1969#ifdef __BIG_ENDIAN_BITFIELD
1970		uint64_t reserved_16_63:48;
1971		uint64_t xsdef:4;
1972		uint64_t xscol:4;
1973		uint64_t reserved_6_7:2;
1974		uint64_t undflw:4;
1975		uint64_t ncb_nxa:1;
1976		uint64_t pko_nxa:1;
1977#else
1978		uint64_t pko_nxa:1;
1979		uint64_t ncb_nxa:1;
1980		uint64_t undflw:4;
1981		uint64_t reserved_6_7:2;
1982		uint64_t xscol:4;
1983		uint64_t xsdef:4;
1984		uint64_t reserved_16_63:48;
1985#endif
1986	} cn38xxp2;
1987	struct cvmx_gmxx_tx_int_reg_cn52xx {
1988#ifdef __BIG_ENDIAN_BITFIELD
1989		uint64_t reserved_20_63:44;
1990		uint64_t late_col:4;
1991		uint64_t xsdef:4;
1992		uint64_t xscol:4;
1993		uint64_t reserved_6_7:2;
1994		uint64_t undflw:4;
1995		uint64_t reserved_1_1:1;
1996		uint64_t pko_nxa:1;
1997#else
1998		uint64_t pko_nxa:1;
1999		uint64_t reserved_1_1:1;
2000		uint64_t undflw:4;
2001		uint64_t reserved_6_7:2;
2002		uint64_t xscol:4;
2003		uint64_t xsdef:4;
2004		uint64_t late_col:4;
2005		uint64_t reserved_20_63:44;
2006#endif
2007	} cn52xx;
2008	struct cvmx_gmxx_tx_int_reg_cn63xx {
2009#ifdef __BIG_ENDIAN_BITFIELD
2010		uint64_t reserved_24_63:40;
2011		uint64_t ptp_lost:4;
2012		uint64_t late_col:4;
2013		uint64_t xsdef:4;
2014		uint64_t xscol:4;
2015		uint64_t reserved_6_7:2;
2016		uint64_t undflw:4;
2017		uint64_t reserved_1_1:1;
2018		uint64_t pko_nxa:1;
2019#else
2020		uint64_t pko_nxa:1;
2021		uint64_t reserved_1_1:1;
2022		uint64_t undflw:4;
2023		uint64_t reserved_6_7:2;
2024		uint64_t xscol:4;
2025		uint64_t xsdef:4;
2026		uint64_t late_col:4;
2027		uint64_t ptp_lost:4;
2028		uint64_t reserved_24_63:40;
2029#endif
2030	} cn63xx;
2031	struct cvmx_gmxx_tx_int_reg_cn68xx {
2032#ifdef __BIG_ENDIAN_BITFIELD
2033		uint64_t reserved_25_63:39;
2034		uint64_t xchange:1;
2035		uint64_t ptp_lost:4;
2036		uint64_t late_col:4;
2037		uint64_t xsdef:4;
2038		uint64_t xscol:4;
2039		uint64_t reserved_6_7:2;
2040		uint64_t undflw:4;
2041		uint64_t pko_nxp:1;
2042		uint64_t pko_nxa:1;
2043#else
2044		uint64_t pko_nxa:1;
2045		uint64_t pko_nxp:1;
2046		uint64_t undflw:4;
2047		uint64_t reserved_6_7:2;
2048		uint64_t xscol:4;
2049		uint64_t xsdef:4;
2050		uint64_t late_col:4;
2051		uint64_t ptp_lost:4;
2052		uint64_t xchange:1;
2053		uint64_t reserved_25_63:39;
2054#endif
2055	} cn68xx;
2056	struct cvmx_gmxx_tx_int_reg_cnf71xx {
2057#ifdef __BIG_ENDIAN_BITFIELD
2058		uint64_t reserved_25_63:39;
2059		uint64_t xchange:1;
2060		uint64_t reserved_22_23:2;
2061		uint64_t ptp_lost:2;
2062		uint64_t reserved_18_19:2;
2063		uint64_t late_col:2;
2064		uint64_t reserved_14_15:2;
2065		uint64_t xsdef:2;
2066		uint64_t reserved_10_11:2;
2067		uint64_t xscol:2;
2068		uint64_t reserved_4_7:4;
2069		uint64_t undflw:2;
2070		uint64_t reserved_1_1:1;
2071		uint64_t pko_nxa:1;
2072#else
2073		uint64_t pko_nxa:1;
2074		uint64_t reserved_1_1:1;
2075		uint64_t undflw:2;
2076		uint64_t reserved_4_7:4;
2077		uint64_t xscol:2;
2078		uint64_t reserved_10_11:2;
2079		uint64_t xsdef:2;
2080		uint64_t reserved_14_15:2;
2081		uint64_t late_col:2;
2082		uint64_t reserved_18_19:2;
2083		uint64_t ptp_lost:2;
2084		uint64_t reserved_22_23:2;
2085		uint64_t xchange:1;
2086		uint64_t reserved_25_63:39;
2087#endif
2088	} cnf71xx;
2089};
2090
2091union cvmx_gmxx_tx_ovr_bp {
2092	uint64_t u64;
2093	struct cvmx_gmxx_tx_ovr_bp_s {
2094#ifdef __BIG_ENDIAN_BITFIELD
2095		uint64_t reserved_48_63:16;
2096		uint64_t tx_prt_bp:16;
2097		uint64_t reserved_12_31:20;
2098		uint64_t en:4;
2099		uint64_t bp:4;
2100		uint64_t ign_full:4;
2101#else
2102		uint64_t ign_full:4;
2103		uint64_t bp:4;
2104		uint64_t en:4;
2105		uint64_t reserved_12_31:20;
2106		uint64_t tx_prt_bp:16;
2107		uint64_t reserved_48_63:16;
2108#endif
2109	} s;
2110	struct cvmx_gmxx_tx_ovr_bp_cn30xx {
2111#ifdef __BIG_ENDIAN_BITFIELD
2112		uint64_t reserved_11_63:53;
2113		uint64_t en:3;
2114		uint64_t reserved_7_7:1;
2115		uint64_t bp:3;
2116		uint64_t reserved_3_3:1;
2117		uint64_t ign_full:3;
2118#else
2119		uint64_t ign_full:3;
2120		uint64_t reserved_3_3:1;
2121		uint64_t bp:3;
2122		uint64_t reserved_7_7:1;
2123		uint64_t en:3;
2124		uint64_t reserved_11_63:53;
2125#endif
2126	} cn30xx;
2127	struct cvmx_gmxx_tx_ovr_bp_cn38xx {
2128#ifdef __BIG_ENDIAN_BITFIELD
2129		uint64_t reserved_12_63:52;
2130		uint64_t en:4;
2131		uint64_t bp:4;
2132		uint64_t ign_full:4;
2133#else
2134		uint64_t ign_full:4;
2135		uint64_t bp:4;
2136		uint64_t en:4;
2137		uint64_t reserved_12_63:52;
2138#endif
2139	} cn38xx;
2140	struct cvmx_gmxx_tx_ovr_bp_cnf71xx {
2141#ifdef __BIG_ENDIAN_BITFIELD
2142		uint64_t reserved_48_63:16;
2143		uint64_t tx_prt_bp:16;
2144		uint64_t reserved_10_31:22;
2145		uint64_t en:2;
2146		uint64_t reserved_6_7:2;
2147		uint64_t bp:2;
2148		uint64_t reserved_2_3:2;
2149		uint64_t ign_full:2;
2150#else
2151		uint64_t ign_full:2;
2152		uint64_t reserved_2_3:2;
2153		uint64_t bp:2;
2154		uint64_t reserved_6_7:2;
2155		uint64_t en:2;
2156		uint64_t reserved_10_31:22;
2157		uint64_t tx_prt_bp:16;
2158		uint64_t reserved_48_63:16;
2159#endif
2160	} cnf71xx;
2161};
2162
2163union cvmx_gmxx_tx_prts {
2164	uint64_t u64;
2165	struct cvmx_gmxx_tx_prts_s {
2166#ifdef __BIG_ENDIAN_BITFIELD
2167		uint64_t reserved_5_63:59;
2168		uint64_t prts:5;
2169#else
2170		uint64_t prts:5;
2171		uint64_t reserved_5_63:59;
2172#endif
2173	} s;
2174};
2175
2176union cvmx_gmxx_tx_spi_ctl {
2177	uint64_t u64;
2178	struct cvmx_gmxx_tx_spi_ctl_s {
2179#ifdef __BIG_ENDIAN_BITFIELD
2180		uint64_t reserved_2_63:62;
2181		uint64_t tpa_clr:1;
2182		uint64_t cont_pkt:1;
2183#else
2184		uint64_t cont_pkt:1;
2185		uint64_t tpa_clr:1;
2186		uint64_t reserved_2_63:62;
2187#endif
2188	} s;
2189};
2190
2191union cvmx_gmxx_tx_spi_max {
2192	uint64_t u64;
2193	struct cvmx_gmxx_tx_spi_max_s {
2194#ifdef __BIG_ENDIAN_BITFIELD
2195		uint64_t reserved_23_63:41;
2196		uint64_t slice:7;
2197		uint64_t max2:8;
2198		uint64_t max1:8;
2199#else
2200		uint64_t max1:8;
2201		uint64_t max2:8;
2202		uint64_t slice:7;
2203		uint64_t reserved_23_63:41;
2204#endif
2205	} s;
2206	struct cvmx_gmxx_tx_spi_max_cn38xx {
2207#ifdef __BIG_ENDIAN_BITFIELD
2208		uint64_t reserved_16_63:48;
2209		uint64_t max2:8;
2210		uint64_t max1:8;
2211#else
2212		uint64_t max1:8;
2213		uint64_t max2:8;
2214		uint64_t reserved_16_63:48;
2215#endif
2216	} cn38xx;
2217};
2218
2219union cvmx_gmxx_tx_spi_thresh {
2220	uint64_t u64;
2221	struct cvmx_gmxx_tx_spi_thresh_s {
2222#ifdef __BIG_ENDIAN_BITFIELD
2223		uint64_t reserved_6_63:58;
2224		uint64_t thresh:6;
2225#else
2226		uint64_t thresh:6;
2227		uint64_t reserved_6_63:58;
2228#endif
2229	} s;
2230};
2231
2232union cvmx_gmxx_tx_xaui_ctl {
2233	uint64_t u64;
2234	struct cvmx_gmxx_tx_xaui_ctl_s {
2235#ifdef __BIG_ENDIAN_BITFIELD
2236		uint64_t reserved_11_63:53;
2237		uint64_t hg_pause_hgi:2;
2238		uint64_t hg_en:1;
2239		uint64_t reserved_7_7:1;
2240		uint64_t ls_byp:1;
2241		uint64_t ls:2;
2242		uint64_t reserved_2_3:2;
2243		uint64_t uni_en:1;
2244		uint64_t dic_en:1;
2245#else
2246		uint64_t dic_en:1;
2247		uint64_t uni_en:1;
2248		uint64_t reserved_2_3:2;
2249		uint64_t ls:2;
2250		uint64_t ls_byp:1;
2251		uint64_t reserved_7_7:1;
2252		uint64_t hg_en:1;
2253		uint64_t hg_pause_hgi:2;
2254		uint64_t reserved_11_63:53;
2255#endif
2256	} s;
2257};
2258
2259#endif