linux/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h
<<
>>
Prefs
   1/***********************license start***************
   2 * Author: Cavium Networks
   3 *
   4 * Contact: support@caviumnetworks.com
   5 * This file is part of the OCTEON SDK
   6 *
   7 * Copyright (c) 2003-2012 Cavium Networks
   8 *
   9 * This file is free software; you can redistribute it and/or modify
  10 * it under the terms of the GNU General Public License, Version 2, as
  11 * published by the Free Software Foundation.
  12 *
  13 * This file is distributed in the hope that it will be useful, but
  14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
  15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
  16 * NONINFRINGEMENT.  See the GNU General Public License for more
  17 * details.
  18 *
  19 * You should have received a copy of the GNU General Public License
  20 * along with this file; if not, write to the Free Software
  21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  22 * or visit http://www.gnu.org/licenses/.
  23 *
  24 * This file may also be available under a different license from Cavium.
  25 * Contact Cavium Networks for more information
  26 ***********************license end**************************************/
  27
  28#ifndef __CVMX_GMXX_DEFS_H__
  29#define __CVMX_GMXX_DEFS_H__
  30
  31static inline uint64_t CVMX_GMXX_BAD_REG(unsigned long block_id)
  32{
  33        switch (cvmx_get_octeon_family()) {
  34        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
  35        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
  36        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  37        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
  38        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
  39        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
  40                return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
  41        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
  42        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
  43        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
  44        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
  45        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
  46                return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
  47        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  48                return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x1000000ull;
  49        }
  50        return CVMX_ADD_IO_SEG(0x0001180008000518ull) + (block_id) * 0x8000000ull;
  51}
  52
  53static inline uint64_t CVMX_GMXX_BIST(unsigned long block_id)
  54{
  55        switch (cvmx_get_octeon_family()) {
  56        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
  57        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
  58        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
  59        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
  60        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
  61        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
  62                return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
  63        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
  64        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
  65        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
  66        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
  67        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
  68                return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
  69        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  70                return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x1000000ull;
  71        }
  72        return CVMX_ADD_IO_SEG(0x0001180008000400ull) + (block_id) * 0x8000000ull;
  73}
  74
  75#define CVMX_GMXX_BPID_MAPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000680ull) + (((offset) & 15) + ((block_id) & 7) * 0x200000ull) * 8)
  76#define CVMX_GMXX_BPID_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000700ull) + ((block_id) & 7) * 0x1000000ull)
  77static inline uint64_t CVMX_GMXX_CLK_EN(unsigned long block_id)
  78{
  79        switch (cvmx_get_octeon_family()) {
  80        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
  81        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
  82        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
  83                return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
  84        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
  85        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
  86        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
  87                return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
  88        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
  89                return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x1000000ull;
  90        }
  91        return CVMX_ADD_IO_SEG(0x00011800080007F0ull) + (block_id) * 0x8000000ull;
  92}
  93
  94#define CVMX_GMXX_EBP_DIS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000608ull) + ((block_id) & 7) * 0x1000000ull)
  95#define CVMX_GMXX_EBP_MSK(block_id) (CVMX_ADD_IO_SEG(0x0001180008000600ull) + ((block_id) & 7) * 0x1000000ull)
  96static inline uint64_t CVMX_GMXX_HG2_CONTROL(unsigned long block_id)
  97{
  98        switch (cvmx_get_octeon_family()) {
  99        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 100        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 101        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 102                return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
 103        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 104        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 105        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 106                return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
 107        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 108                return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x1000000ull;
 109        }
 110        return CVMX_ADD_IO_SEG(0x0001180008000550ull) + (block_id) * 0x8000000ull;
 111}
 112
 113static inline uint64_t CVMX_GMXX_INF_MODE(unsigned long block_id)
 114{
 115        switch (cvmx_get_octeon_family()) {
 116        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 117        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 118        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 119        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 120        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 121        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 122                return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
 123        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 124        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 125        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 126        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 127        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 128                return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
 129        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 130                return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x1000000ull;
 131        }
 132        return CVMX_ADD_IO_SEG(0x00011800080007F8ull) + (block_id) * 0x8000000ull;
 133}
 134
 135static inline uint64_t CVMX_GMXX_NXA_ADR(unsigned long block_id)
 136{
 137        switch (cvmx_get_octeon_family()) {
 138        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 139        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 140        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 141        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 142        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 143        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 144                return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
 145        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 146        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 147        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 148        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 149        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 150                return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
 151        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 152                return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x1000000ull;
 153        }
 154        return CVMX_ADD_IO_SEG(0x0001180008000510ull) + (block_id) * 0x8000000ull;
 155}
 156
 157#define CVMX_GMXX_PIPE_STATUS(block_id) (CVMX_ADD_IO_SEG(0x0001180008000760ull) + ((block_id) & 7) * 0x1000000ull)
 158static inline uint64_t CVMX_GMXX_PRTX_CBFC_CTL(unsigned long offset, unsigned long block_id)
 159{
 160        switch (cvmx_get_octeon_family()) {
 161        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 162        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 163        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 164                return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
 165        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 166        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 167        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 168                return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
 169        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 170                return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x1000000ull;
 171        }
 172        return CVMX_ADD_IO_SEG(0x0001180008000580ull) + (block_id) * 0x8000000ull;
 173}
 174
 175static inline uint64_t CVMX_GMXX_PRTX_CFG(unsigned long offset, unsigned long block_id)
 176{
 177        switch (cvmx_get_octeon_family()) {
 178        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 179                return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 180        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 181        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 182                return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 183        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 184        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 185                return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 186        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 187        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 188        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 189        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 190        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 191                return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 192        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 193                return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 194        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 195                return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 196        }
 197        return CVMX_ADD_IO_SEG(0x0001180008000010ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 198}
 199
 200#define CVMX_GMXX_RXAUI_CTL(block_id) (CVMX_ADD_IO_SEG(0x0001180008000740ull) + ((block_id) & 7) * 0x1000000ull)
 201static inline uint64_t CVMX_GMXX_RXX_ADR_CAM0(unsigned long offset, unsigned long block_id)
 202{
 203        switch (cvmx_get_octeon_family()) {
 204        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 205        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 206        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 207                return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 208        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 209        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 210                return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 211        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 212        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 213        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 214        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 215        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 216                return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 217        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 218                return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 219        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 220                return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 221        }
 222        return CVMX_ADD_IO_SEG(0x0001180008000180ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 223}
 224
 225static inline uint64_t CVMX_GMXX_RXX_ADR_CAM1(unsigned long offset, unsigned long block_id)
 226{
 227        switch (cvmx_get_octeon_family()) {
 228        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 229        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 230        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 231                return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 232        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 233        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 234                return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 235        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 236        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 237        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 238        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 239        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 240                return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 241        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 242                return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 243        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 244                return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 245        }
 246        return CVMX_ADD_IO_SEG(0x0001180008000188ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 247}
 248
 249static inline uint64_t CVMX_GMXX_RXX_ADR_CAM2(unsigned long offset, unsigned long block_id)
 250{
 251        switch (cvmx_get_octeon_family()) {
 252        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 253        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 254        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 255                return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 256        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 257        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 258                return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 259        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 260        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 261        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 262        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 263        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 264                return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 265        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 266                return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 267        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 268                return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 269        }
 270        return CVMX_ADD_IO_SEG(0x0001180008000190ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 271}
 272
 273static inline uint64_t CVMX_GMXX_RXX_ADR_CAM3(unsigned long offset, unsigned long block_id)
 274{
 275        switch (cvmx_get_octeon_family()) {
 276        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 277        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 278        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 279                return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 280        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 281        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 282                return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 283        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 284        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 285        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 286        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 287        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 288                return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 289        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 290                return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 291        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 292                return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 293        }
 294        return CVMX_ADD_IO_SEG(0x0001180008000198ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 295}
 296
 297static inline uint64_t CVMX_GMXX_RXX_ADR_CAM4(unsigned long offset, unsigned long block_id)
 298{
 299        switch (cvmx_get_octeon_family()) {
 300        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 301        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 302        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 303                return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 304        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 305        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 306                return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 307        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 308        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 309        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 310        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 311        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 312                return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 313        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 314                return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 315        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 316                return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 317        }
 318        return CVMX_ADD_IO_SEG(0x00011800080001A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 319}
 320
 321static inline uint64_t CVMX_GMXX_RXX_ADR_CAM5(unsigned long offset, unsigned long block_id)
 322{
 323        switch (cvmx_get_octeon_family()) {
 324        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 325        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 326        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 327                return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 328        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 329        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 330                return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 331        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 332        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 333        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 334        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 335        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 336                return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 337        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 338                return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 339        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 340                return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 341        }
 342        return CVMX_ADD_IO_SEG(0x00011800080001A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 343}
 344
 345static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_ALL_EN(unsigned long offset, unsigned long block_id)
 346{
 347        switch (cvmx_get_octeon_family()) {
 348        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 349        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 350                return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 351        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 352                return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 353        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 354                return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 355        }
 356        return CVMX_ADD_IO_SEG(0x0001180008000110ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 357}
 358
 359static inline uint64_t CVMX_GMXX_RXX_ADR_CAM_EN(unsigned long offset, unsigned long block_id)
 360{
 361        switch (cvmx_get_octeon_family()) {
 362        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 363                return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 364        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 365        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 366                return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 367        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 368        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 369                return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 370        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 371        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 372        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 373        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 374        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 375                return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 376        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 377                return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 378        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 379                return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 380        }
 381        return CVMX_ADD_IO_SEG(0x0001180008000108ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 382}
 383
 384static inline uint64_t CVMX_GMXX_RXX_ADR_CTL(unsigned long offset, unsigned long block_id)
 385{
 386        switch (cvmx_get_octeon_family()) {
 387        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 388                return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 389        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 390        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 391                return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 392        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 393        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 394                return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 395        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 396        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 397        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 398        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 399        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 400                return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 401        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 402                return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 403        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 404                return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 405        }
 406        return CVMX_ADD_IO_SEG(0x0001180008000100ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 407}
 408
 409static inline uint64_t CVMX_GMXX_RXX_DECISION(unsigned long offset, unsigned long block_id)
 410{
 411        switch (cvmx_get_octeon_family()) {
 412        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 413                return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 414        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 415        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 416                return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 417        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 418        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 419                return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 420        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 421        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 422        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 423        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 424        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 425                return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 426        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 427                return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 428        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 429                return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 430        }
 431        return CVMX_ADD_IO_SEG(0x0001180008000040ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 432}
 433
 434static inline uint64_t CVMX_GMXX_RXX_FRM_CHK(unsigned long offset, unsigned long block_id)
 435{
 436        switch (cvmx_get_octeon_family()) {
 437        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 438                return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 439        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 440        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 441                return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 442        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 443        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 444                return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 445        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 446        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 447        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 448        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 449        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 450                return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 451        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 452                return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 453        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 454                return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 455        }
 456        return CVMX_ADD_IO_SEG(0x0001180008000020ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 457}
 458
 459static inline uint64_t CVMX_GMXX_RXX_FRM_CTL(unsigned long offset, unsigned long block_id)
 460{
 461        switch (cvmx_get_octeon_family()) {
 462        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 463                return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 464        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 465        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 466                return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 467        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 468        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 469                return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 470        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 471        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 472        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 473        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 474        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 475                return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 476        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 477                return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 478        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 479                return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 480        }
 481        return CVMX_ADD_IO_SEG(0x0001180008000018ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 482}
 483
 484#define CVMX_GMXX_RXX_FRM_MAX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000030ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 485#define CVMX_GMXX_RXX_FRM_MIN(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000028ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 486static inline uint64_t CVMX_GMXX_RXX_IFG(unsigned long offset, unsigned long block_id)
 487{
 488        switch (cvmx_get_octeon_family()) {
 489        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 490                return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 491        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 492        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 493                return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 494        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 495        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 496                return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 497        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 498        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 499        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 500        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 501        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 502                return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 503        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 504                return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 505        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 506                return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 507        }
 508        return CVMX_ADD_IO_SEG(0x0001180008000058ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 509}
 510
 511static inline uint64_t CVMX_GMXX_RXX_INT_EN(unsigned long offset, unsigned long block_id)
 512{
 513        switch (cvmx_get_octeon_family()) {
 514        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 515                return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 516        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 517        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 518                return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 519        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 520        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 521                return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 522        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 523        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 524        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 525        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 526        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 527                return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 528        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 529                return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 530        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 531                return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 532        }
 533        return CVMX_ADD_IO_SEG(0x0001180008000008ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 534}
 535
 536static inline uint64_t CVMX_GMXX_RXX_INT_REG(unsigned long offset, unsigned long block_id)
 537{
 538        switch (cvmx_get_octeon_family()) {
 539        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 540                return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 541        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 542        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 543                return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 544        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 545        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 546                return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 547        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 548        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 549        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 550        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 551        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 552                return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 553        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 554                return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 555        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 556                return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 557        }
 558        return CVMX_ADD_IO_SEG(0x0001180008000000ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 559}
 560
 561static inline uint64_t CVMX_GMXX_RXX_JABBER(unsigned long offset, unsigned long block_id)
 562{
 563        switch (cvmx_get_octeon_family()) {
 564        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 565                return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 566        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 567        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 568                return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 569        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 570        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 571                return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 572        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 573        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 574        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 575        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 576        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 577                return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 578        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 579                return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 580        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 581                return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 582        }
 583        return CVMX_ADD_IO_SEG(0x0001180008000038ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 584}
 585
 586static inline uint64_t CVMX_GMXX_RXX_PAUSE_DROP_TIME(unsigned long offset, unsigned long block_id)
 587{
 588        switch (cvmx_get_octeon_family()) {
 589        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 590                return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 591        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 592                return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 593        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 594                return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 595        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 596        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 597        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 598        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 599                return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 600        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 601                return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 602        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 603                return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 604        }
 605        return CVMX_ADD_IO_SEG(0x0001180008000068ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 606}
 607
 608#define CVMX_GMXX_RXX_RX_INBND(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000060ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
 609static inline uint64_t CVMX_GMXX_RXX_STATS_CTL(unsigned long offset, unsigned long block_id)
 610{
 611        switch (cvmx_get_octeon_family()) {
 612        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 613                return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 614        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 615        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 616                return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 617        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 618        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 619                return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 620        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 621        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 622        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 623        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 624        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 625                return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 626        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 627                return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 628        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 629                return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 630        }
 631        return CVMX_ADD_IO_SEG(0x0001180008000050ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 632}
 633
 634static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS(unsigned long offset, unsigned long block_id)
 635{
 636        switch (cvmx_get_octeon_family()) {
 637        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 638                return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 639        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 640        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 641                return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 642        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 643        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 644                return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 645        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 646        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 647        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 648        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 649        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 650                return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 651        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 652                return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 653        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 654                return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 655        }
 656        return CVMX_ADD_IO_SEG(0x0001180008000088ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 657}
 658
 659static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_CTL(unsigned long offset, unsigned long block_id)
 660{
 661        switch (cvmx_get_octeon_family()) {
 662        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 663                return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 664        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 665        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 666                return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 667        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 668        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 669                return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 670        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 671        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 672        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 673        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 674        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 675                return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 676        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 677                return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 678        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 679                return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 680        }
 681        return CVMX_ADD_IO_SEG(0x0001180008000098ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 682}
 683
 684static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DMAC(unsigned long offset, unsigned long block_id)
 685{
 686        switch (cvmx_get_octeon_family()) {
 687        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 688                return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 689        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 690        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 691                return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 692        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 693        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 694                return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 695        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 696        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 697        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 698        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 699        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 700                return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 701        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 702                return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 703        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 704                return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 705        }
 706        return CVMX_ADD_IO_SEG(0x00011800080000A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 707}
 708
 709static inline uint64_t CVMX_GMXX_RXX_STATS_OCTS_DRP(unsigned long offset, unsigned long block_id)
 710{
 711        switch (cvmx_get_octeon_family()) {
 712        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 713                return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 714        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 715        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 716                return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 717        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 718        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 719                return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 720        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 721        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 722        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 723        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 724        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 725                return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 726        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 727                return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 728        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 729                return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 730        }
 731        return CVMX_ADD_IO_SEG(0x00011800080000B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 732}
 733
 734static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS(unsigned long offset, unsigned long block_id)
 735{
 736        switch (cvmx_get_octeon_family()) {
 737        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 738                return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 739        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 740        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 741                return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 742        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 743        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 744                return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 745        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 746        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 747        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 748        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 749        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 750                return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 751        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 752                return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 753        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 754                return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 755        }
 756        return CVMX_ADD_IO_SEG(0x0001180008000080ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 757}
 758
 759static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_BAD(unsigned long offset, unsigned long block_id)
 760{
 761        switch (cvmx_get_octeon_family()) {
 762        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 763                return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 764        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 765        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 766                return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 767        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 768        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 769                return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 770        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 771        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 772        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 773        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 774        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 775                return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 776        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 777                return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 778        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 779                return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 780        }
 781        return CVMX_ADD_IO_SEG(0x00011800080000C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 782}
 783
 784static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_CTL(unsigned long offset, unsigned long block_id)
 785{
 786        switch (cvmx_get_octeon_family()) {
 787        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 788                return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 789        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 790        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 791                return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 792        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 793        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 794                return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 795        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 796        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 797        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 798        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 799        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 800                return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 801        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 802                return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 803        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 804                return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 805        }
 806        return CVMX_ADD_IO_SEG(0x0001180008000090ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 807}
 808
 809static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DMAC(unsigned long offset, unsigned long block_id)
 810{
 811        switch (cvmx_get_octeon_family()) {
 812        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 813                return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 814        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 815        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 816                return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 817        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 818        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 819                return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 820        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 821        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 822        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 823        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 824        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 825                return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 826        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 827                return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 828        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 829                return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 830        }
 831        return CVMX_ADD_IO_SEG(0x00011800080000A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 832}
 833
 834static inline uint64_t CVMX_GMXX_RXX_STATS_PKTS_DRP(unsigned long offset, unsigned long block_id)
 835{
 836        switch (cvmx_get_octeon_family()) {
 837        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 838                return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 839        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 840        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 841                return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 842        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 843        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 844                return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 845        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 846        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 847        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 848        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 849        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 850                return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 851        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 852                return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 853        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 854                return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 855        }
 856        return CVMX_ADD_IO_SEG(0x00011800080000B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 857}
 858
 859static inline uint64_t CVMX_GMXX_RXX_UDD_SKP(unsigned long offset, unsigned long block_id)
 860{
 861        switch (cvmx_get_octeon_family()) {
 862        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 863                return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 864        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 865        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 866                return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 867        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 868        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 869                return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 870        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 871        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 872        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 873        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 874        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 875                return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 876        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 877                return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x0ull) * 2048;
 878        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 879                return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
 880        }
 881        return CVMX_ADD_IO_SEG(0x0001180008000048ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
 882}
 883
 884static inline uint64_t CVMX_GMXX_RX_BP_DROPX(unsigned long offset, unsigned long block_id)
 885{
 886        switch (cvmx_get_octeon_family()) {
 887        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 888                return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 889        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 890        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 891                return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 892        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 893        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 894                return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 895        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 896        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 897        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 898        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 899        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 900                return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 901        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 902                return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x0ull) * 8;
 903        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 904                return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x200000ull) * 8;
 905        }
 906        return CVMX_ADD_IO_SEG(0x0001180008000420ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 907}
 908
 909static inline uint64_t CVMX_GMXX_RX_BP_OFFX(unsigned long offset, unsigned long block_id)
 910{
 911        switch (cvmx_get_octeon_family()) {
 912        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 913                return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 914        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 915        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 916                return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 917        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 918        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 919                return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 920        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 921        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 922        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 923        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 924        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 925                return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 926        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 927                return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x0ull) * 8;
 928        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 929                return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x200000ull) * 8;
 930        }
 931        return CVMX_ADD_IO_SEG(0x0001180008000460ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 932}
 933
 934static inline uint64_t CVMX_GMXX_RX_BP_ONX(unsigned long offset, unsigned long block_id)
 935{
 936        switch (cvmx_get_octeon_family()) {
 937        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 938                return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 939        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 940        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 941                return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 942        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 943        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 944                return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 945        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 946        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 947        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 948        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 949        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 950                return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 951        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 952                return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x0ull) * 8;
 953        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 954                return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x200000ull) * 8;
 955        }
 956        return CVMX_ADD_IO_SEG(0x0001180008000440ull) + ((offset) + (block_id) * 0x1000000ull) * 8;
 957}
 958
 959static inline uint64_t CVMX_GMXX_RX_HG2_STATUS(unsigned long block_id)
 960{
 961        switch (cvmx_get_octeon_family()) {
 962        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 963        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 964        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 965                return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull;
 966        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 967        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 968        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 969                return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull;
 970        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 971                return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x1000000ull;
 972        }
 973        return CVMX_ADD_IO_SEG(0x0001180008000548ull) + (block_id) * 0x8000000ull;
 974}
 975
 976#define CVMX_GMXX_RX_PASS_EN(block_id) (CVMX_ADD_IO_SEG(0x00011800080005F8ull) + ((block_id) & 1) * 0x8000000ull)
 977#define CVMX_GMXX_RX_PASS_MAPX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000600ull) + (((offset) & 15) + ((block_id) & 1) * 0x1000000ull) * 8)
 978static inline uint64_t CVMX_GMXX_RX_PRTS(unsigned long block_id)
 979{
 980        switch (cvmx_get_octeon_family()) {
 981        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
 982        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
 983        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
 984        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
 985        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
 986        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
 987                return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
 988        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
 989        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
 990        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
 991        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
 992        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
 993                return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
 994        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
 995                return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x1000000ull;
 996        }
 997        return CVMX_ADD_IO_SEG(0x0001180008000410ull) + (block_id) * 0x8000000ull;
 998}
 999
1000static inline uint64_t CVMX_GMXX_RX_PRT_INFO(unsigned long block_id)
1001{
1002        switch (cvmx_get_octeon_family()) {
1003        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1004        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1005        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1006        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1007        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1008        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1009                return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull;
1010        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1011        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1012        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1013        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1014        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1015                return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull;
1016        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1017                return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x1000000ull;
1018        }
1019        return CVMX_ADD_IO_SEG(0x00011800080004E8ull) + (block_id) * 0x8000000ull;
1020}
1021
1022#define CVMX_GMXX_RX_TX_STATUS(block_id) (CVMX_ADD_IO_SEG(0x00011800080007E8ull))
1023static inline uint64_t CVMX_GMXX_RX_XAUI_BAD_COL(unsigned long block_id)
1024{
1025        switch (cvmx_get_octeon_family()) {
1026        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1027        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1028        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1029                return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull;
1030        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1031        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1032        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1033                return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull;
1034        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1035                return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x1000000ull;
1036        }
1037        return CVMX_ADD_IO_SEG(0x0001180008000538ull) + (block_id) * 0x8000000ull;
1038}
1039
1040static inline uint64_t CVMX_GMXX_RX_XAUI_CTL(unsigned long block_id)
1041{
1042        switch (cvmx_get_octeon_family()) {
1043        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1044        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1045        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1046                return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
1047        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1048        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1049        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1050                return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
1051        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1052                return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x1000000ull;
1053        }
1054        return CVMX_ADD_IO_SEG(0x0001180008000530ull) + (block_id) * 0x8000000ull;
1055}
1056
1057static inline uint64_t CVMX_GMXX_SMACX(unsigned long offset, unsigned long block_id)
1058{
1059        switch (cvmx_get_octeon_family()) {
1060        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1061                return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1062        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1063        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1064                return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1065        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1066        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1067                return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1068        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1069        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1070        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1071        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1072        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1073                return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1074        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1075                return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1076        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1077                return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1078        }
1079        return CVMX_ADD_IO_SEG(0x0001180008000230ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1080}
1081
1082static inline uint64_t CVMX_GMXX_SOFT_BIST(unsigned long block_id)
1083{
1084        switch (cvmx_get_octeon_family()) {
1085        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1086                return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x8000000ull;
1087        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1088                return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x8000000ull;
1089        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1090                return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x1000000ull;
1091        }
1092        return CVMX_ADD_IO_SEG(0x00011800080007E8ull) + (block_id) * 0x1000000ull;
1093}
1094
1095static inline uint64_t CVMX_GMXX_STAT_BP(unsigned long block_id)
1096{
1097        switch (cvmx_get_octeon_family()) {
1098        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1099        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1100        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1101        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1102        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1103        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1104                return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull;
1105        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1106        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1107        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1108        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1109        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1110                return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull;
1111        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1112                return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x1000000ull;
1113        }
1114        return CVMX_ADD_IO_SEG(0x0001180008000520ull) + (block_id) * 0x8000000ull;
1115}
1116
1117static inline uint64_t CVMX_GMXX_TB_REG(unsigned long block_id)
1118{
1119        switch (cvmx_get_octeon_family()) {
1120        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1121        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1122                return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull;
1123        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1124                return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull;
1125        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1126                return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x1000000ull;
1127        }
1128        return CVMX_ADD_IO_SEG(0x00011800080007E0ull) + (block_id) * 0x8000000ull;
1129}
1130
1131static inline uint64_t CVMX_GMXX_TXX_APPEND(unsigned long offset, unsigned long block_id)
1132{
1133        switch (cvmx_get_octeon_family()) {
1134        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1135                return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1136        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1137        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1138                return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1139        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1140        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1141                return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1142        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1143        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1144        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1145        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1146        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1147                return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1148        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1149                return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1150        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1151                return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1152        }
1153        return CVMX_ADD_IO_SEG(0x0001180008000218ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1154}
1155
1156static inline uint64_t CVMX_GMXX_TXX_BURST(unsigned long offset, unsigned long block_id)
1157{
1158        switch (cvmx_get_octeon_family()) {
1159        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1160                return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1161        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1162        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1163                return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1164        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1165        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1166                return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1167        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1168        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1169        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1170        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1171        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1172                return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1173        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1174                return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1175        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1176                return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1177        }
1178        return CVMX_ADD_IO_SEG(0x0001180008000228ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1179}
1180
1181static inline uint64_t CVMX_GMXX_TXX_CBFC_XOFF(unsigned long offset, unsigned long block_id)
1182{
1183        switch (cvmx_get_octeon_family()) {
1184        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1185        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1186        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1187                return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull;
1188        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1189        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1190        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1191                return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull;
1192        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1193                return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x1000000ull;
1194        }
1195        return CVMX_ADD_IO_SEG(0x00011800080005A0ull) + (block_id) * 0x8000000ull;
1196}
1197
1198static inline uint64_t CVMX_GMXX_TXX_CBFC_XON(unsigned long offset, unsigned long block_id)
1199{
1200        switch (cvmx_get_octeon_family()) {
1201        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1202        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1203        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1204                return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull;
1205        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1206        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1207        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1208                return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull;
1209        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1210                return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x1000000ull;
1211        }
1212        return CVMX_ADD_IO_SEG(0x00011800080005C0ull) + (block_id) * 0x8000000ull;
1213}
1214
1215#define CVMX_GMXX_TXX_CLK(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000208ull) + (((offset) & 3) + ((block_id) & 1) * 0x10000ull) * 2048)
1216static inline uint64_t CVMX_GMXX_TXX_CTL(unsigned long offset, unsigned long block_id)
1217{
1218        switch (cvmx_get_octeon_family()) {
1219        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1220                return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1221        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1222        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1223                return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1224        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1225        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1226                return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1227        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1228        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1229        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1230        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1231        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1232                return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1233        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1234                return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1235        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1236                return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1237        }
1238        return CVMX_ADD_IO_SEG(0x0001180008000270ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1239}
1240
1241static inline uint64_t CVMX_GMXX_TXX_MIN_PKT(unsigned long offset, unsigned long block_id)
1242{
1243        switch (cvmx_get_octeon_family()) {
1244        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1245                return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1246        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1247        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1248                return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1249        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1250        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1251                return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1252        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1253        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1254        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1255        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1256        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1257                return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1258        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1259                return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1260        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1261                return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1262        }
1263        return CVMX_ADD_IO_SEG(0x0001180008000240ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1264}
1265
1266static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_INTERVAL(unsigned long offset, unsigned long block_id)
1267{
1268        switch (cvmx_get_octeon_family()) {
1269        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1270                return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1271        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1272        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1273                return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1274        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1275        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1276                return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1277        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1278        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1279        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1280        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1281        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1282                return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1283        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1284                return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1285        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1286                return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1287        }
1288        return CVMX_ADD_IO_SEG(0x0001180008000248ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1289}
1290
1291static inline uint64_t CVMX_GMXX_TXX_PAUSE_PKT_TIME(unsigned long offset, unsigned long block_id)
1292{
1293        switch (cvmx_get_octeon_family()) {
1294        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1295                return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1296        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1297        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1298                return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1299        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1300        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1301                return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1302        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1303        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1304        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1305        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1306        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1307                return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1308        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1309                return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1310        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1311                return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1312        }
1313        return CVMX_ADD_IO_SEG(0x0001180008000238ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1314}
1315
1316static inline uint64_t CVMX_GMXX_TXX_PAUSE_TOGO(unsigned long offset, unsigned long block_id)
1317{
1318        switch (cvmx_get_octeon_family()) {
1319        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1320                return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1321        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1322        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1323                return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1324        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1325        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1326                return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1327        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1328        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1329        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1330        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1331        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1332                return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1333        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1334                return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1335        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1336                return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1337        }
1338        return CVMX_ADD_IO_SEG(0x0001180008000258ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1339}
1340
1341static inline uint64_t CVMX_GMXX_TXX_PAUSE_ZERO(unsigned long offset, unsigned long block_id)
1342{
1343        switch (cvmx_get_octeon_family()) {
1344        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1345                return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1346        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1347        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1348                return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1349        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1350        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1351                return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1352        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1353        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1354        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1355        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1356        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1357                return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1358        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1359                return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1360        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1361                return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1362        }
1363        return CVMX_ADD_IO_SEG(0x0001180008000260ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1364}
1365
1366#define CVMX_GMXX_TXX_PIPE(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000310ull) + (((offset) & 3) + ((block_id) & 7) * 0x2000ull) * 2048)
1367static inline uint64_t CVMX_GMXX_TXX_SGMII_CTL(unsigned long offset, unsigned long block_id)
1368{
1369        switch (cvmx_get_octeon_family()) {
1370        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1371                return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1372        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1373        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1374                return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1375        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1376        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1377        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1378                return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1379        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1380                return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1381        }
1382        return CVMX_ADD_IO_SEG(0x0001180008000300ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1383}
1384
1385static inline uint64_t CVMX_GMXX_TXX_SLOT(unsigned long offset, unsigned long block_id)
1386{
1387        switch (cvmx_get_octeon_family()) {
1388        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1389                return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1390        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1391        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1392                return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1393        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1394        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1395                return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1396        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1397        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1398        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1399        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1400        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1401                return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1402        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1403                return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1404        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1405                return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1406        }
1407        return CVMX_ADD_IO_SEG(0x0001180008000220ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1408}
1409
1410static inline uint64_t CVMX_GMXX_TXX_SOFT_PAUSE(unsigned long offset, unsigned long block_id)
1411{
1412        switch (cvmx_get_octeon_family()) {
1413        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1414                return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1415        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1416        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1417                return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1418        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1419        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1420                return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1421        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1422        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1423        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1424        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1425        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1426                return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1427        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1428                return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1429        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1430                return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1431        }
1432        return CVMX_ADD_IO_SEG(0x0001180008000250ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1433}
1434
1435static inline uint64_t CVMX_GMXX_TXX_STAT0(unsigned long offset, unsigned long block_id)
1436{
1437        switch (cvmx_get_octeon_family()) {
1438        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1439                return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1440        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1441        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1442                return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1443        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1444        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1445                return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1446        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1447        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1448        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1449        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1450        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1451                return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1452        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1453                return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1454        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1455                return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1456        }
1457        return CVMX_ADD_IO_SEG(0x0001180008000280ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1458}
1459
1460static inline uint64_t CVMX_GMXX_TXX_STAT1(unsigned long offset, unsigned long block_id)
1461{
1462        switch (cvmx_get_octeon_family()) {
1463        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1464                return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1465        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1466        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1467                return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1468        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1469        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1470                return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1471        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1472        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1473        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1474        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1475        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1476                return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1477        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1478                return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1479        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1480                return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1481        }
1482        return CVMX_ADD_IO_SEG(0x0001180008000288ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1483}
1484
1485static inline uint64_t CVMX_GMXX_TXX_STAT2(unsigned long offset, unsigned long block_id)
1486{
1487        switch (cvmx_get_octeon_family()) {
1488        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1489                return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1490        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1491        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1492                return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1493        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1494        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1495                return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1496        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1497        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1498        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1499        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1500        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1501                return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1502        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1503                return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1504        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1505                return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1506        }
1507        return CVMX_ADD_IO_SEG(0x0001180008000290ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1508}
1509
1510static inline uint64_t CVMX_GMXX_TXX_STAT3(unsigned long offset, unsigned long block_id)
1511{
1512        switch (cvmx_get_octeon_family()) {
1513        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1514                return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1515        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1516        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1517                return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1518        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1519        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1520                return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1521        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1522        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1523        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1524        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1525        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1526                return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1527        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1528                return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1529        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1530                return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1531        }
1532        return CVMX_ADD_IO_SEG(0x0001180008000298ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1533}
1534
1535static inline uint64_t CVMX_GMXX_TXX_STAT4(unsigned long offset, unsigned long block_id)
1536{
1537        switch (cvmx_get_octeon_family()) {
1538        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1539                return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1540        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1541        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1542                return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1543        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1544        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1545                return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1546        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1547        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1548        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1549        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1550        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1551                return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1552        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1553                return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1554        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1555                return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1556        }
1557        return CVMX_ADD_IO_SEG(0x00011800080002A0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1558}
1559
1560static inline uint64_t CVMX_GMXX_TXX_STAT5(unsigned long offset, unsigned long block_id)
1561{
1562        switch (cvmx_get_octeon_family()) {
1563        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1564                return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1565        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1566        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1567                return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1568        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1569        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1570                return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1571        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1572        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1573        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1574        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1575        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1576                return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1577        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1578                return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1579        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1580                return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1581        }
1582        return CVMX_ADD_IO_SEG(0x00011800080002A8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1583}
1584
1585static inline uint64_t CVMX_GMXX_TXX_STAT6(unsigned long offset, unsigned long block_id)
1586{
1587        switch (cvmx_get_octeon_family()) {
1588        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1589                return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1590        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1591        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1592                return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1593        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1594        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1595                return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1596        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1597        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1598        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1599        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1600        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1601                return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1602        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1603                return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1604        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1605                return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1606        }
1607        return CVMX_ADD_IO_SEG(0x00011800080002B0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1608}
1609
1610static inline uint64_t CVMX_GMXX_TXX_STAT7(unsigned long offset, unsigned long block_id)
1611{
1612        switch (cvmx_get_octeon_family()) {
1613        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1614                return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1615        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1616        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1617                return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1618        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1619        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1620                return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1621        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1622        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1623        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1624        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1625        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1626                return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1627        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1628                return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1629        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1630                return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1631        }
1632        return CVMX_ADD_IO_SEG(0x00011800080002B8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1633}
1634
1635static inline uint64_t CVMX_GMXX_TXX_STAT8(unsigned long offset, unsigned long block_id)
1636{
1637        switch (cvmx_get_octeon_family()) {
1638        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1639                return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1640        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1641        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1642                return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1643        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1644        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1645                return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1646        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1647        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1648        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1649        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1650        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1651                return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1652        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1653                return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1654        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1655                return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1656        }
1657        return CVMX_ADD_IO_SEG(0x00011800080002C0ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1658}
1659
1660static inline uint64_t CVMX_GMXX_TXX_STAT9(unsigned long offset, unsigned long block_id)
1661{
1662        switch (cvmx_get_octeon_family()) {
1663        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1664                return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1665        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1666        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1667                return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1668        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1669        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1670                return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1671        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1672        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1673        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1674        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1675        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1676                return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1677        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1678                return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1679        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1680                return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1681        }
1682        return CVMX_ADD_IO_SEG(0x00011800080002C8ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1683}
1684
1685static inline uint64_t CVMX_GMXX_TXX_STATS_CTL(unsigned long offset, unsigned long block_id)
1686{
1687        switch (cvmx_get_octeon_family()) {
1688        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1689                return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1690        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1691        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1692                return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1693        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1694        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1695                return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1696        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1697        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1698        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1699        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1700        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1701                return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1702        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1703                return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1704        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1705                return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1706        }
1707        return CVMX_ADD_IO_SEG(0x0001180008000268ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1708}
1709
1710static inline uint64_t CVMX_GMXX_TXX_THRESH(unsigned long offset, unsigned long block_id)
1711{
1712        switch (cvmx_get_octeon_family()) {
1713        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1714                return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1715        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1716        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1717                return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1718        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1719        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1720                return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1721        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1722        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1723        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1724        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1725        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1726                return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1727        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1728                return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x0ull) * 2048;
1729        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1730                return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x2000ull) * 2048;
1731        }
1732        return CVMX_ADD_IO_SEG(0x0001180008000210ull) + ((offset) + (block_id) * 0x10000ull) * 2048;
1733}
1734
1735static inline uint64_t CVMX_GMXX_TX_BP(unsigned long block_id)
1736{
1737        switch (cvmx_get_octeon_family()) {
1738        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1739        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1740        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1741        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1742        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1743        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1744                return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull;
1745        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1746        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1747        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1748        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1749        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1750                return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull;
1751        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1752                return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x1000000ull;
1753        }
1754        return CVMX_ADD_IO_SEG(0x00011800080004D0ull) + (block_id) * 0x8000000ull;
1755}
1756
1757#define CVMX_GMXX_TX_CLK_MSKX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000780ull) + (((offset) & 1) + ((block_id) & 0) * 0x0ull) * 8)
1758static inline uint64_t CVMX_GMXX_TX_COL_ATTEMPT(unsigned long block_id)
1759{
1760        switch (cvmx_get_octeon_family()) {
1761        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1762        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1763        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1764        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1765        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1766        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1767                return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull;
1768        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1769        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1770        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1771        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1772        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1773                return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull;
1774        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1775                return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x1000000ull;
1776        }
1777        return CVMX_ADD_IO_SEG(0x0001180008000498ull) + (block_id) * 0x8000000ull;
1778}
1779
1780static inline uint64_t CVMX_GMXX_TX_CORRUPT(unsigned long block_id)
1781{
1782        switch (cvmx_get_octeon_family()) {
1783        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1784        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1785        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1786        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1787        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1788        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1789                return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull;
1790        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1791        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1792        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1793        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1794        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1795                return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull;
1796        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1797                return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x1000000ull;
1798        }
1799        return CVMX_ADD_IO_SEG(0x00011800080004D8ull) + (block_id) * 0x8000000ull;
1800}
1801
1802static inline uint64_t CVMX_GMXX_TX_HG2_REG1(unsigned long block_id)
1803{
1804        switch (cvmx_get_octeon_family()) {
1805        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1806        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1807        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1808                return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull;
1809        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1810        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1811        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1812                return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull;
1813        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1814                return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x1000000ull;
1815        }
1816        return CVMX_ADD_IO_SEG(0x0001180008000558ull) + (block_id) * 0x8000000ull;
1817}
1818
1819static inline uint64_t CVMX_GMXX_TX_HG2_REG2(unsigned long block_id)
1820{
1821        switch (cvmx_get_octeon_family()) {
1822        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1823        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1824        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1825                return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull;
1826        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1827        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1828        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1829                return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull;
1830        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1831                return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x1000000ull;
1832        }
1833        return CVMX_ADD_IO_SEG(0x0001180008000560ull) + (block_id) * 0x8000000ull;
1834}
1835
1836static inline uint64_t CVMX_GMXX_TX_IFG(unsigned long block_id)
1837{
1838        switch (cvmx_get_octeon_family()) {
1839        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1840        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1841        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1842        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1843        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1844        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1845                return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull;
1846        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1847        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1848        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1849        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1850        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1851                return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull;
1852        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1853                return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x1000000ull;
1854        }
1855        return CVMX_ADD_IO_SEG(0x0001180008000488ull) + (block_id) * 0x8000000ull;
1856}
1857
1858static inline uint64_t CVMX_GMXX_TX_INT_EN(unsigned long block_id)
1859{
1860        switch (cvmx_get_octeon_family()) {
1861        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1862        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1863        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1864        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1865        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1866        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1867                return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
1868        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1869        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1870        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1871        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1872        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1873                return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
1874        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1875                return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x1000000ull;
1876        }
1877        return CVMX_ADD_IO_SEG(0x0001180008000508ull) + (block_id) * 0x8000000ull;
1878}
1879
1880static inline uint64_t CVMX_GMXX_TX_INT_REG(unsigned long block_id)
1881{
1882        switch (cvmx_get_octeon_family()) {
1883        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1884        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1885        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1886        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1887        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1888        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1889                return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
1890        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1891        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1892        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1893        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1894        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1895                return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
1896        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1897                return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x1000000ull;
1898        }
1899        return CVMX_ADD_IO_SEG(0x0001180008000500ull) + (block_id) * 0x8000000ull;
1900}
1901
1902static inline uint64_t CVMX_GMXX_TX_JAM(unsigned long block_id)
1903{
1904        switch (cvmx_get_octeon_family()) {
1905        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1906        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1907        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1908        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1909        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1910        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1911                return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull;
1912        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1913        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1914        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1915        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1916        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1917                return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull;
1918        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1919                return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x1000000ull;
1920        }
1921        return CVMX_ADD_IO_SEG(0x0001180008000490ull) + (block_id) * 0x8000000ull;
1922}
1923
1924static inline uint64_t CVMX_GMXX_TX_LFSR(unsigned long block_id)
1925{
1926        switch (cvmx_get_octeon_family()) {
1927        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1928        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1929        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1930        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1931        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1932        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1933                return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull;
1934        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1935        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1936        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1937        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1938        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1939                return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull;
1940        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1941                return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x1000000ull;
1942        }
1943        return CVMX_ADD_IO_SEG(0x00011800080004F8ull) + (block_id) * 0x8000000ull;
1944}
1945
1946static inline uint64_t CVMX_GMXX_TX_OVR_BP(unsigned long block_id)
1947{
1948        switch (cvmx_get_octeon_family()) {
1949        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1950        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1951        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1952        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1953        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1954        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1955                return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
1956        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1957        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1958        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1959        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1960        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1961                return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
1962        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1963                return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x1000000ull;
1964        }
1965        return CVMX_ADD_IO_SEG(0x00011800080004C8ull) + (block_id) * 0x8000000ull;
1966}
1967
1968static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_DMAC(unsigned long block_id)
1969{
1970        switch (cvmx_get_octeon_family()) {
1971        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1972        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1973        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1974        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1975        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1976        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1977                return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull;
1978        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
1979        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
1980        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
1981        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
1982        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1983                return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull;
1984        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
1985                return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x1000000ull;
1986        }
1987        return CVMX_ADD_IO_SEG(0x00011800080004A0ull) + (block_id) * 0x8000000ull;
1988}
1989
1990static inline uint64_t CVMX_GMXX_TX_PAUSE_PKT_TYPE(unsigned long block_id)
1991{
1992        switch (cvmx_get_octeon_family()) {
1993        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
1994        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
1995        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
1996        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
1997        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
1998        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
1999                return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull;
2000        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2001        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2002        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
2003        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
2004        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2005                return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull;
2006        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2007                return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x1000000ull;
2008        }
2009        return CVMX_ADD_IO_SEG(0x00011800080004A8ull) + (block_id) * 0x8000000ull;
2010}
2011
2012static inline uint64_t CVMX_GMXX_TX_PRTS(unsigned long block_id)
2013{
2014        switch (cvmx_get_octeon_family()) {
2015        case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
2016        case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
2017        case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
2018        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
2019        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
2020        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
2021                return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
2022        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2023        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2024        case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
2025        case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
2026        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2027                return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
2028        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2029                return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x1000000ull;
2030        }
2031        return CVMX_ADD_IO_SEG(0x0001180008000480ull) + (block_id) * 0x8000000ull;
2032}
2033
2034#define CVMX_GMXX_TX_SPI_CTL(block_id) (CVMX_ADD_IO_SEG(0x00011800080004C0ull) + ((block_id) & 1) * 0x8000000ull)
2035#define CVMX_GMXX_TX_SPI_DRAIN(block_id) (CVMX_ADD_IO_SEG(0x00011800080004E0ull) + ((block_id) & 1) * 0x8000000ull)
2036#define CVMX_GMXX_TX_SPI_MAX(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B0ull) + ((block_id) & 1) * 0x8000000ull)
2037#define CVMX_GMXX_TX_SPI_ROUNDX(offset, block_id) (CVMX_ADD_IO_SEG(0x0001180008000680ull) + (((offset) & 31) + ((block_id) & 1) * 0x1000000ull) * 8)
2038#define CVMX_GMXX_TX_SPI_THRESH(block_id) (CVMX_ADD_IO_SEG(0x00011800080004B8ull) + ((block_id) & 1) * 0x8000000ull)
2039static inline uint64_t CVMX_GMXX_TX_XAUI_CTL(unsigned long block_id)
2040{
2041        switch (cvmx_get_octeon_family()) {
2042        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
2043        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
2044        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
2045                return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
2046        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2047        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2048        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2049                return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
2050        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2051                return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x1000000ull;
2052        }
2053        return CVMX_ADD_IO_SEG(0x0001180008000528ull) + (block_id) * 0x8000000ull;
2054}
2055
2056static inline uint64_t CVMX_GMXX_XAUI_EXT_LOOPBACK(unsigned long block_id)
2057{
2058        switch (cvmx_get_octeon_family()) {
2059        case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
2060        case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
2061        case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
2062                return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull;
2063        case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
2064        case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
2065        case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
2066                return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull;
2067        case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
2068                return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x1000000ull;
2069        }
2070        return CVMX_ADD_IO_SEG(0x0001180008000540ull) + (block_id) * 0x8000000ull;
2071}
2072
2073union cvmx_gmxx_bad_reg {
2074        uint64_t u64;
2075        struct cvmx_gmxx_bad_reg_s {
2076#ifdef __BIG_ENDIAN_BITFIELD
2077                uint64_t reserved_31_63:33;
2078                uint64_t inb_nxa:4;
2079                uint64_t statovr:1;
2080                uint64_t loststat:4;
2081                uint64_t reserved_18_21:4;
2082                uint64_t out_ovr:16;
2083                uint64_t ncb_ovr:1;
2084                uint64_t out_col:1;
2085#else
2086                uint64_t out_col:1;
2087                uint64_t ncb_ovr:1;
2088                uint64_t out_ovr:16;
2089                uint64_t reserved_18_21:4;
2090                uint64_t loststat:4;
2091                uint64_t statovr:1;
2092                uint64_t inb_nxa:4;
2093                uint64_t reserved_31_63:33;
2094#endif
2095        } s;
2096        struct cvmx_gmxx_bad_reg_cn30xx {
2097#ifdef __BIG_ENDIAN_BITFIELD
2098                uint64_t reserved_31_63:33;
2099                uint64_t inb_nxa:4;
2100                uint64_t statovr:1;
2101                uint64_t reserved_25_25:1;
2102                uint64_t loststat:3;
2103                uint64_t reserved_5_21:17;
2104                uint64_t out_ovr:3;
2105                uint64_t reserved_0_1:2;
2106#else
2107                uint64_t reserved_0_1:2;
2108                uint64_t out_ovr:3;
2109                uint64_t reserved_5_21:17;
2110                uint64_t loststat:3;
2111                uint64_t reserved_25_25:1;
2112                uint64_t statovr:1;
2113                uint64_t inb_nxa:4;
2114                uint64_t reserved_31_63:33;
2115#endif
2116        } cn30xx;
2117        struct cvmx_gmxx_bad_reg_cn30xx cn31xx;
2118        struct cvmx_gmxx_bad_reg_s cn38xx;
2119        struct cvmx_gmxx_bad_reg_s cn38xxp2;
2120        struct cvmx_gmxx_bad_reg_cn30xx cn50xx;
2121        struct cvmx_gmxx_bad_reg_cn52xx {
2122#ifdef __BIG_ENDIAN_BITFIELD
2123                uint64_t reserved_31_63:33;
2124                uint64_t inb_nxa:4;
2125                uint64_t statovr:1;
2126                uint64_t loststat:4;
2127                uint64_t reserved_6_21:16;
2128                uint64_t out_ovr:4;
2129                uint64_t reserved_0_1:2;
2130#else
2131                uint64_t reserved_0_1:2;
2132                uint64_t out_ovr:4;
2133                uint64_t reserved_6_21:16;
2134                uint64_t loststat:4;
2135                uint64_t statovr:1;
2136                uint64_t inb_nxa:4;
2137                uint64_t reserved_31_63:33;
2138#endif
2139        } cn52xx;
2140        struct cvmx_gmxx_bad_reg_cn52xx cn52xxp1;
2141        struct cvmx_gmxx_bad_reg_cn52xx cn56xx;
2142        struct cvmx_gmxx_bad_reg_cn52xx cn56xxp1;
2143        struct cvmx_gmxx_bad_reg_s cn58xx;
2144        struct cvmx_gmxx_bad_reg_s cn58xxp1;
2145        struct cvmx_gmxx_bad_reg_cn52xx cn61xx;
2146        struct cvmx_gmxx_bad_reg_cn52xx cn63xx;
2147        struct cvmx_gmxx_bad_reg_cn52xx cn63xxp1;
2148        struct cvmx_gmxx_bad_reg_cn52xx cn66xx;
2149        struct cvmx_gmxx_bad_reg_cn52xx cn68xx;
2150        struct cvmx_gmxx_bad_reg_cn52xx cn68xxp1;
2151        struct cvmx_gmxx_bad_reg_cn52xx cnf71xx;
2152};
2153
2154union cvmx_gmxx_bist {
2155        uint64_t u64;
2156        struct cvmx_gmxx_bist_s {
2157#ifdef __BIG_ENDIAN_BITFIELD
2158                uint64_t reserved_25_63:39;
2159                uint64_t status:25;
2160#else
2161                uint64_t status:25;
2162                uint64_t reserved_25_63:39;
2163#endif
2164        } s;
2165        struct cvmx_gmxx_bist_cn30xx {
2166#ifdef __BIG_ENDIAN_BITFIELD
2167                uint64_t reserved_10_63:54;
2168                uint64_t status:10;
2169#else
2170                uint64_t status:10;
2171                uint64_t reserved_10_63:54;
2172#endif
2173        } cn30xx;
2174        struct cvmx_gmxx_bist_cn30xx cn31xx;
2175        struct cvmx_gmxx_bist_cn30xx cn38xx;
2176        struct cvmx_gmxx_bist_cn30xx cn38xxp2;
2177        struct cvmx_gmxx_bist_cn50xx {
2178#ifdef __BIG_ENDIAN_BITFIELD
2179                uint64_t reserved_12_63:52;
2180                uint64_t status:12;
2181#else
2182                uint64_t status:12;
2183                uint64_t reserved_12_63:52;
2184#endif
2185        } cn50xx;
2186        struct cvmx_gmxx_bist_cn52xx {
2187#ifdef __BIG_ENDIAN_BITFIELD
2188                uint64_t reserved_16_63:48;
2189                uint64_t status:16;
2190#else
2191                uint64_t status:16;
2192                uint64_t reserved_16_63:48;
2193#endif
2194        } cn52xx;
2195        struct cvmx_gmxx_bist_cn52xx cn52xxp1;
2196        struct cvmx_gmxx_bist_cn52xx cn56xx;
2197        struct cvmx_gmxx_bist_cn52xx cn56xxp1;
2198        struct cvmx_gmxx_bist_cn58xx {
2199#ifdef __BIG_ENDIAN_BITFIELD
2200                uint64_t reserved_17_63:47;
2201                uint64_t status:17;
2202#else
2203                uint64_t status:17;
2204                uint64_t reserved_17_63:47;
2205#endif
2206        } cn58xx;
2207        struct cvmx_gmxx_bist_cn58xx cn58xxp1;
2208        struct cvmx_gmxx_bist_s cn61xx;
2209        struct cvmx_gmxx_bist_s cn63xx;
2210        struct cvmx_gmxx_bist_s cn63xxp1;
2211        struct cvmx_gmxx_bist_s cn66xx;
2212        struct cvmx_gmxx_bist_s cn68xx;
2213        struct cvmx_gmxx_bist_s cn68xxp1;
2214        struct cvmx_gmxx_bist_s cnf71xx;
2215};
2216
2217union cvmx_gmxx_bpid_mapx {
2218        uint64_t u64;
2219        struct cvmx_gmxx_bpid_mapx_s {
2220#ifdef __BIG_ENDIAN_BITFIELD
2221                uint64_t reserved_17_63:47;
2222                uint64_t status:1;
2223                uint64_t reserved_9_15:7;
2224                uint64_t val:1;
2225                uint64_t reserved_6_7:2;
2226                uint64_t bpid:6;
2227#else
2228                uint64_t bpid:6;
2229                uint64_t reserved_6_7:2;
2230                uint64_t val:1;
2231                uint64_t reserved_9_15:7;
2232                uint64_t status:1;
2233                uint64_t reserved_17_63:47;
2234#endif
2235        } s;
2236        struct cvmx_gmxx_bpid_mapx_s cn68xx;
2237        struct cvmx_gmxx_bpid_mapx_s cn68xxp1;
2238};
2239
2240union cvmx_gmxx_bpid_msk {
2241        uint64_t u64;
2242        struct cvmx_gmxx_bpid_msk_s {
2243#ifdef __BIG_ENDIAN_BITFIELD
2244                uint64_t reserved_48_63:16;
2245                uint64_t msk_or:16;
2246                uint64_t reserved_16_31:16;
2247                uint64_t msk_and:16;
2248#else
2249                uint64_t msk_and:16;
2250                uint64_t reserved_16_31:16;
2251                uint64_t msk_or:16;
2252                uint64_t reserved_48_63:16;
2253#endif
2254        } s;
2255        struct cvmx_gmxx_bpid_msk_s cn68xx;
2256        struct cvmx_gmxx_bpid_msk_s cn68xxp1;
2257};
2258
2259union cvmx_gmxx_clk_en {
2260        uint64_t u64;
2261        struct cvmx_gmxx_clk_en_s {
2262#ifdef __BIG_ENDIAN_BITFIELD
2263                uint64_t reserved_1_63:63;
2264                uint64_t clk_en:1;
2265#else
2266                uint64_t clk_en:1;
2267                uint64_t reserved_1_63:63;
2268#endif
2269        } s;
2270        struct cvmx_gmxx_clk_en_s cn52xx;
2271        struct cvmx_gmxx_clk_en_s cn52xxp1;
2272        struct cvmx_gmxx_clk_en_s cn56xx;
2273        struct cvmx_gmxx_clk_en_s cn56xxp1;
2274        struct cvmx_gmxx_clk_en_s cn61xx;
2275        struct cvmx_gmxx_clk_en_s cn63xx;
2276        struct cvmx_gmxx_clk_en_s cn63xxp1;
2277        struct cvmx_gmxx_clk_en_s cn66xx;
2278        struct cvmx_gmxx_clk_en_s cn68xx;
2279        struct cvmx_gmxx_clk_en_s cn68xxp1;
2280        struct cvmx_gmxx_clk_en_s cnf71xx;
2281};
2282
2283union cvmx_gmxx_ebp_dis {
2284        uint64_t u64;
2285        struct cvmx_gmxx_ebp_dis_s {
2286#ifdef __BIG_ENDIAN_BITFIELD
2287                uint64_t reserved_16_63:48;
2288                uint64_t dis:16;
2289#else
2290                uint64_t dis:16;
2291                uint64_t reserved_16_63:48;
2292#endif
2293        } s;
2294        struct cvmx_gmxx_ebp_dis_s cn68xx;
2295        struct cvmx_gmxx_ebp_dis_s cn68xxp1;
2296};
2297
2298union cvmx_gmxx_ebp_msk {
2299        uint64_t u64;
2300        struct cvmx_gmxx_ebp_msk_s {
2301#ifdef __BIG_ENDIAN_BITFIELD
2302                uint64_t reserved_16_63:48;
2303                uint64_t msk:16;
2304#else
2305                uint64_t msk:16;
2306                uint64_t reserved_16_63:48;
2307#endif
2308        } s;
2309        struct cvmx_gmxx_ebp_msk_s cn68xx;
2310        struct cvmx_gmxx_ebp_msk_s cn68xxp1;
2311};
2312
2313union cvmx_gmxx_hg2_control {
2314        uint64_t u64;
2315        struct cvmx_gmxx_hg2_control_s {
2316#ifdef __BIG_ENDIAN_BITFIELD
2317                uint64_t reserved_19_63:45;
2318                uint64_t hg2tx_en:1;
2319                uint64_t hg2rx_en:1;
2320                uint64_t phys_en:1;
2321                uint64_t logl_en:16;
2322#else
2323                uint64_t logl_en:16;
2324                uint64_t phys_en:1;
2325                uint64_t hg2rx_en:1;
2326                uint64_t hg2tx_en:1;
2327                uint64_t reserved_19_63:45;
2328#endif
2329        } s;
2330        struct cvmx_gmxx_hg2_control_s cn52xx;
2331        struct cvmx_gmxx_hg2_control_s cn52xxp1;
2332        struct cvmx_gmxx_hg2_control_s cn56xx;
2333        struct cvmx_gmxx_hg2_control_s cn61xx;
2334        struct cvmx_gmxx_hg2_control_s cn63xx;
2335        struct cvmx_gmxx_hg2_control_s cn63xxp1;
2336        struct cvmx_gmxx_hg2_control_s cn66xx;
2337        struct cvmx_gmxx_hg2_control_s cn68xx;
2338        struct cvmx_gmxx_hg2_control_s cn68xxp1;
2339        struct cvmx_gmxx_hg2_control_s cnf71xx;
2340};
2341
2342union cvmx_gmxx_inf_mode {
2343        uint64_t u64;
2344        struct cvmx_gmxx_inf_mode_s {
2345#ifdef __BIG_ENDIAN_BITFIELD
2346                uint64_t reserved_20_63:44;
2347                uint64_t rate:4;
2348                uint64_t reserved_12_15:4;
2349                uint64_t speed:4;
2350                uint64_t reserved_7_7:1;
2351                uint64_t mode:3;
2352                uint64_t reserved_3_3:1;
2353                uint64_t p0mii:1;
2354                uint64_t en:1;
2355                uint64_t type:1;
2356#else
2357                uint64_t type:1;
2358                uint64_t en:1;
2359                uint64_t p0mii:1;
2360                uint64_t reserved_3_3:1;
2361                uint64_t mode:3;
2362                uint64_t reserved_7_7:1;
2363                uint64_t speed:4;
2364                uint64_t reserved_12_15:4;
2365                uint64_t rate:4;
2366                uint64_t reserved_20_63:44;
2367#endif
2368        } s;
2369        struct cvmx_gmxx_inf_mode_cn30xx {
2370#ifdef __BIG_ENDIAN_BITFIELD
2371                uint64_t reserved_3_63:61;
2372                uint64_t p0mii:1;
2373                uint64_t en:1;
2374                uint64_t type:1;
2375#else
2376                uint64_t type:1;
2377                uint64_t en:1;
2378                uint64_t p0mii:1;
2379                uint64_t reserved_3_63:61;
2380#endif
2381        } cn30xx;
2382        struct cvmx_gmxx_inf_mode_cn31xx {
2383#ifdef __BIG_ENDIAN_BITFIELD
2384                uint64_t reserved_2_63:62;
2385                uint64_t en:1;
2386                uint64_t type:1;
2387#else
2388                uint64_t type:1;
2389                uint64_t en:1;
2390                uint64_t reserved_2_63:62;
2391#endif
2392        } cn31xx;
2393        struct cvmx_gmxx_inf_mode_cn31xx cn38xx;
2394        struct cvmx_gmxx_inf_mode_cn31xx cn38xxp2;
2395        struct cvmx_gmxx_inf_mode_cn30xx cn50xx;
2396        struct cvmx_gmxx_inf_mode_cn52xx {
2397#ifdef __BIG_ENDIAN_BITFIELD
2398                uint64_t reserved_10_63:54;
2399                uint64_t speed:2;
2400                uint64_t reserved_6_7:2;
2401                uint64_t mode:2;
2402                uint64_t reserved_2_3:2;
2403                uint64_t en:1;
2404                uint64_t type:1;
2405#else
2406                uint64_t type:1;
2407                uint64_t en:1;
2408                uint64_t reserved_2_3:2;
2409                uint64_t mode:2;
2410                uint64_t reserved_6_7:2;
2411                uint64_t speed:2;
2412                uint64_t reserved_10_63:54;
2413#endif
2414        } cn52xx;
2415        struct cvmx_gmxx_inf_mode_cn52xx cn52xxp1;
2416        struct cvmx_gmxx_inf_mode_cn52xx cn56xx;
2417        struct cvmx_gmxx_inf_mode_cn52xx cn56xxp1;
2418        struct cvmx_gmxx_inf_mode_cn31xx cn58xx;
2419        struct cvmx_gmxx_inf_mode_cn31xx cn58xxp1;
2420        struct cvmx_gmxx_inf_mode_cn61xx {
2421#ifdef __BIG_ENDIAN_BITFIELD
2422                uint64_t reserved_12_63:52;
2423                uint64_t speed:4;
2424                uint64_t reserved_5_7:3;
2425                uint64_t mode:1;
2426                uint64_t reserved_2_3:2;
2427                uint64_t en:1;
2428                uint64_t type:1;
2429#else
2430                uint64_t type:1;
2431                uint64_t en:1;
2432                uint64_t reserved_2_3:2;
2433                uint64_t mode:1;
2434                uint64_t reserved_5_7:3;
2435                uint64_t speed:4;
2436                uint64_t reserved_12_63:52;
2437#endif
2438        } cn61xx;
2439        struct cvmx_gmxx_inf_mode_cn61xx cn63xx;
2440        struct cvmx_gmxx_inf_mode_cn61xx cn63xxp1;
2441        struct cvmx_gmxx_inf_mode_cn66xx {
2442#ifdef __BIG_ENDIAN_BITFIELD
2443                uint64_t reserved_20_63:44;
2444                uint64_t rate:4;
2445                uint64_t reserved_12_15:4;
2446                uint64_t speed:4;
2447                uint64_t reserved_5_7:3;
2448                uint64_t mode:1;
2449                uint64_t reserved_2_3:2;
2450                uint64_t en:1;
2451                uint64_t type:1;
2452#else
2453                uint64_t type:1;
2454                uint64_t en:1;
2455                uint64_t reserved_2_3:2;
2456                uint64_t mode:1;
2457                uint64_t reserved_5_7:3;
2458                uint64_t speed:4;
2459                uint64_t reserved_12_15:4;
2460                uint64_t rate:4;
2461                uint64_t reserved_20_63:44;
2462#endif
2463        } cn66xx;
2464        struct cvmx_gmxx_inf_mode_cn68xx {
2465#ifdef __BIG_ENDIAN_BITFIELD
2466                uint64_t reserved_12_63:52;
2467                uint64_t speed:4;
2468                uint64_t reserved_7_7:1;
2469                uint64_t mode:3;
2470                uint64_t reserved_2_3:2;
2471                uint64_t en:1;
2472                uint64_t type:1;
2473#else
2474                uint64_t type:1;
2475                uint64_t en:1;
2476                uint64_t reserved_2_3:2;
2477                uint64_t mode:3;
2478                uint64_t reserved_7_7:1;
2479                uint64_t speed:4;
2480                uint64_t reserved_12_63:52;
2481#endif
2482        } cn68xx;
2483        struct cvmx_gmxx_inf_mode_cn68xx cn68xxp1;
2484        struct cvmx_gmxx_inf_mode_cn61xx cnf71xx;
2485};
2486
2487union cvmx_gmxx_nxa_adr {
2488        uint64_t u64;
2489        struct cvmx_gmxx_nxa_adr_s {
2490#ifdef __BIG_ENDIAN_BITFIELD
2491                uint64_t reserved_23_63:41;
2492                uint64_t pipe:7;
2493                uint64_t reserved_6_15:10;
2494                uint64_t prt:6;
2495#else
2496                uint64_t prt:6;
2497                uint64_t reserved_6_15:10;
2498                uint64_t pipe:7;
2499                uint64_t reserved_23_63:41;
2500#endif
2501        } s;
2502        struct cvmx_gmxx_nxa_adr_cn30xx {
2503#ifdef __BIG_ENDIAN_BITFIELD
2504                uint64_t reserved_6_63:58;
2505                uint64_t prt:6;
2506#else
2507                uint64_t prt:6;
2508                uint64_t reserved_6_63:58;
2509#endif
2510        } cn30xx;
2511        struct cvmx_gmxx_nxa_adr_cn30xx cn31xx;
2512        struct cvmx_gmxx_nxa_adr_cn30xx cn38xx;
2513        struct cvmx_gmxx_nxa_adr_cn30xx cn38xxp2;
2514        struct cvmx_gmxx_nxa_adr_cn30xx cn50xx;
2515        struct cvmx_gmxx_nxa_adr_cn30xx cn52xx;
2516        struct cvmx_gmxx_nxa_adr_cn30xx cn52xxp1;
2517        struct cvmx_gmxx_nxa_adr_cn30xx cn56xx;
2518        struct cvmx_gmxx_nxa_adr_cn30xx cn56xxp1;
2519        struct cvmx_gmxx_nxa_adr_cn30xx cn58xx;
2520        struct cvmx_gmxx_nxa_adr_cn30xx cn58xxp1;
2521        struct cvmx_gmxx_nxa_adr_cn30xx cn61xx;
2522        struct cvmx_gmxx_nxa_adr_cn30xx cn63xx;
2523        struct cvmx_gmxx_nxa_adr_cn30xx cn63xxp1;
2524        struct cvmx_gmxx_nxa_adr_cn30xx cn66xx;
2525        struct cvmx_gmxx_nxa_adr_s cn68xx;
2526        struct cvmx_gmxx_nxa_adr_s cn68xxp1;
2527        struct cvmx_gmxx_nxa_adr_cn30xx cnf71xx;
2528};
2529
2530union cvmx_gmxx_pipe_status {
2531        uint64_t u64;
2532        struct cvmx_gmxx_pipe_status_s {
2533#ifdef __BIG_ENDIAN_BITFIELD
2534                uint64_t reserved_20_63:44;
2535                uint64_t ovr:4;
2536                uint64_t reserved_12_15:4;
2537                uint64_t bp:4;
2538                uint64_t reserved_4_7:4;
2539                uint64_t stop:4;
2540#else
2541                uint64_t stop:4;
2542                uint64_t reserved_4_7:4;
2543                uint64_t bp:4;
2544                uint64_t reserved_12_15:4;
2545                uint64_t ovr:4;
2546                uint64_t reserved_20_63:44;
2547#endif
2548        } s;
2549        struct cvmx_gmxx_pipe_status_s cn68xx;
2550        struct cvmx_gmxx_pipe_status_s cn68xxp1;
2551};
2552
2553union cvmx_gmxx_prtx_cbfc_ctl {
2554        uint64_t u64;
2555        struct cvmx_gmxx_prtx_cbfc_ctl_s {
2556#ifdef __BIG_ENDIAN_BITFIELD
2557                uint64_t phys_en:16;
2558                uint64_t logl_en:16;
2559                uint64_t phys_bp:16;
2560                uint64_t reserved_4_15:12;
2561                uint64_t bck_en:1;
2562                uint64_t drp_en:1;
2563                uint64_t tx_en:1;
2564                uint64_t rx_en:1;
2565#else
2566                uint64_t rx_en:1;
2567                uint64_t tx_en:1;
2568                uint64_t drp_en:1;
2569                uint64_t bck_en:1;
2570                uint64_t reserved_4_15:12;
2571                uint64_t phys_bp:16;
2572                uint64_t logl_en:16;
2573                uint64_t phys_en:16;
2574#endif
2575        } s;
2576        struct cvmx_gmxx_prtx_cbfc_ctl_s cn52xx;
2577        struct cvmx_gmxx_prtx_cbfc_ctl_s cn56xx;
2578        struct cvmx_gmxx_prtx_cbfc_ctl_s cn61xx;
2579        struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xx;
2580        struct cvmx_gmxx_prtx_cbfc_ctl_s cn63xxp1;
2581        struct cvmx_gmxx_prtx_cbfc_ctl_s cn66xx;
2582        struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xx;
2583        struct cvmx_gmxx_prtx_cbfc_ctl_s cn68xxp1;
2584        struct cvmx_gmxx_prtx_cbfc_ctl_s cnf71xx;
2585};
2586
2587union cvmx_gmxx_prtx_cfg {
2588        uint64_t u64;
2589        struct cvmx_gmxx_prtx_cfg_s {
2590#ifdef __BIG_ENDIAN_BITFIELD
2591                uint64_t reserved_22_63:42;
2592                uint64_t pknd:6;
2593                uint64_t reserved_14_15:2;
2594                uint64_t tx_idle:1;
2595                uint64_t rx_idle:1;
2596                uint64_t reserved_9_11:3;
2597                uint64_t speed_msb:1;
2598                uint64_t reserved_4_7:4;
2599                uint64_t slottime:1;
2600                uint64_t duplex:1;
2601                uint64_t speed:1;
2602                uint64_t en:1;
2603#else
2604                uint64_t en:1;
2605                uint64_t speed:1;
2606                uint64_t duplex:1;
2607                uint64_t slottime:1;
2608                uint64_t reserved_4_7:4;
2609                uint64_t speed_msb:1;
2610                uint64_t reserved_9_11:3;
2611                uint64_t rx_idle:1;
2612                uint64_t tx_idle:1;
2613                uint64_t reserved_14_15:2;
2614                uint64_t pknd:6;
2615                uint64_t reserved_22_63:42;
2616#endif
2617        } s;
2618        struct cvmx_gmxx_prtx_cfg_cn30xx {
2619#ifdef __BIG_ENDIAN_BITFIELD
2620                uint64_t reserved_4_63:60;
2621                uint64_t slottime:1;
2622                uint64_t duplex:1;
2623                uint64_t speed:1;
2624                uint64_t en:1;
2625#else
2626                uint64_t en:1;
2627                uint64_t speed:1;
2628                uint64_t duplex:1;
2629                uint64_t slottime:1;
2630                uint64_t reserved_4_63:60;
2631#endif
2632        } cn30xx;
2633        struct cvmx_gmxx_prtx_cfg_cn30xx cn31xx;
2634        struct cvmx_gmxx_prtx_cfg_cn30xx cn38xx;
2635        struct cvmx_gmxx_prtx_cfg_cn30xx cn38xxp2;
2636        struct cvmx_gmxx_prtx_cfg_cn30xx cn50xx;
2637        struct cvmx_gmxx_prtx_cfg_cn52xx {
2638#ifdef __BIG_ENDIAN_BITFIELD
2639                uint64_t reserved_14_63:50;
2640                uint64_t tx_idle:1;
2641                uint64_t rx_idle:1;
2642                uint64_t reserved_9_11:3;
2643                uint64_t speed_msb:1;
2644                uint64_t reserved_4_7:4;
2645                uint64_t slottime:1;
2646                uint64_t duplex:1;
2647                uint64_t speed:1;
2648                uint64_t en:1;
2649#else
2650                uint64_t en:1;
2651                uint64_t speed:1;
2652                uint64_t duplex:1;
2653                uint64_t slottime:1;
2654                uint64_t reserved_4_7:4;
2655                uint64_t speed_msb:1;
2656                uint64_t reserved_9_11:3;
2657                uint64_t rx_idle:1;
2658                uint64_t tx_idle:1;
2659                uint64_t reserved_14_63:50;
2660#endif
2661        } cn52xx;
2662        struct cvmx_gmxx_prtx_cfg_cn52xx cn52xxp1;
2663        struct cvmx_gmxx_prtx_cfg_cn52xx cn56xx;
2664        struct cvmx_gmxx_prtx_cfg_cn52xx cn56xxp1;
2665        struct cvmx_gmxx_prtx_cfg_cn30xx cn58xx;
2666        struct cvmx_gmxx_prtx_cfg_cn30xx cn58xxp1;
2667        struct cvmx_gmxx_prtx_cfg_cn52xx cn61xx;
2668        struct cvmx_gmxx_prtx_cfg_cn52xx cn63xx;
2669        struct cvmx_gmxx_prtx_cfg_cn52xx cn63xxp1;
2670        struct cvmx_gmxx_prtx_cfg_cn52xx cn66xx;
2671        struct cvmx_gmxx_prtx_cfg_s cn68xx;
2672        struct cvmx_gmxx_prtx_cfg_s cn68xxp1;
2673        struct cvmx_gmxx_prtx_cfg_cn52xx cnf71xx;
2674};
2675
2676union cvmx_gmxx_rxx_adr_cam0 {
2677        uint64_t u64;
2678        struct cvmx_gmxx_rxx_adr_cam0_s {
2679#ifdef __BIG_ENDIAN_BITFIELD
2680                uint64_t adr:64;
2681#else
2682                uint64_t adr:64;
2683#endif
2684        } s;
2685        struct cvmx_gmxx_rxx_adr_cam0_s cn30xx;
2686        struct cvmx_gmxx_rxx_adr_cam0_s cn31xx;
2687        struct cvmx_gmxx_rxx_adr_cam0_s cn38xx;
2688        struct cvmx_gmxx_rxx_adr_cam0_s cn38xxp2;
2689        struct cvmx_gmxx_rxx_adr_cam0_s cn50xx;
2690        struct cvmx_gmxx_rxx_adr_cam0_s cn52xx;
2691        struct cvmx_gmxx_rxx_adr_cam0_s cn52xxp1;
2692        struct cvmx_gmxx_rxx_adr_cam0_s cn56xx;
2693        struct cvmx_gmxx_rxx_adr_cam0_s cn56xxp1;
2694        struct cvmx_gmxx_rxx_adr_cam0_s cn58xx;
2695        struct cvmx_gmxx_rxx_adr_cam0_s cn58xxp1;
2696        struct cvmx_gmxx_rxx_adr_cam0_s cn61xx;
2697        struct cvmx_gmxx_rxx_adr_cam0_s cn63xx;
2698        struct cvmx_gmxx_rxx_adr_cam0_s cn63xxp1;
2699        struct cvmx_gmxx_rxx_adr_cam0_s cn66xx;
2700        struct cvmx_gmxx_rxx_adr_cam0_s cn68xx;
2701        struct cvmx_gmxx_rxx_adr_cam0_s cn68xxp1;
2702        struct cvmx_gmxx_rxx_adr_cam0_s cnf71xx;
2703};
2704
2705union cvmx_gmxx_rxx_adr_cam1 {
2706        uint64_t u64;
2707        struct cvmx_gmxx_rxx_adr_cam1_s {
2708#ifdef __BIG_ENDIAN_BITFIELD
2709                uint64_t adr:64;
2710#else
2711                uint64_t adr:64;
2712#endif
2713        } s;
2714        struct cvmx_gmxx_rxx_adr_cam1_s cn30xx;
2715        struct cvmx_gmxx_rxx_adr_cam1_s cn31xx;
2716        struct cvmx_gmxx_rxx_adr_cam1_s cn38xx;
2717        struct cvmx_gmxx_rxx_adr_cam1_s cn38xxp2;
2718        struct cvmx_gmxx_rxx_adr_cam1_s cn50xx;
2719        struct cvmx_gmxx_rxx_adr_cam1_s cn52xx;
2720        struct cvmx_gmxx_rxx_adr_cam1_s cn52xxp1;
2721        struct cvmx_gmxx_rxx_adr_cam1_s cn56xx;
2722        struct cvmx_gmxx_rxx_adr_cam1_s cn56xxp1;
2723        struct cvmx_gmxx_rxx_adr_cam1_s cn58xx;
2724        struct cvmx_gmxx_rxx_adr_cam1_s cn58xxp1;
2725        struct cvmx_gmxx_rxx_adr_cam1_s cn61xx;
2726        struct cvmx_gmxx_rxx_adr_cam1_s cn63xx;
2727        struct cvmx_gmxx_rxx_adr_cam1_s cn63xxp1;
2728        struct cvmx_gmxx_rxx_adr_cam1_s cn66xx;
2729        struct cvmx_gmxx_rxx_adr_cam1_s cn68xx;
2730        struct cvmx_gmxx_rxx_adr_cam1_s cn68xxp1;
2731        struct cvmx_gmxx_rxx_adr_cam1_s cnf71xx;
2732};
2733
2734union cvmx_gmxx_rxx_adr_cam2 {
2735        uint64_t u64;
2736        struct cvmx_gmxx_rxx_adr_cam2_s {
2737#ifdef __BIG_ENDIAN_BITFIELD
2738                uint64_t adr:64;
2739#else
2740                uint64_t adr:64;
2741#endif
2742        } s;
2743        struct cvmx_gmxx_rxx_adr_cam2_s cn30xx;
2744        struct cvmx_gmxx_rxx_adr_cam2_s cn31xx;
2745        struct cvmx_gmxx_rxx_adr_cam2_s cn38xx;
2746        struct cvmx_gmxx_rxx_adr_cam2_s cn38xxp2;
2747        struct cvmx_gmxx_rxx_adr_cam2_s cn50xx;
2748        struct cvmx_gmxx_rxx_adr_cam2_s cn52xx;
2749        struct cvmx_gmxx_rxx_adr_cam2_s cn52xxp1;
2750        struct cvmx_gmxx_rxx_adr_cam2_s cn56xx;
2751        struct cvmx_gmxx_rxx_adr_cam2_s cn56xxp1;
2752        struct cvmx_gmxx_rxx_adr_cam2_s cn58xx;
2753        struct cvmx_gmxx_rxx_adr_cam2_s cn58xxp1;
2754        struct cvmx_gmxx_rxx_adr_cam2_s cn61xx;
2755        struct cvmx_gmxx_rxx_adr_cam2_s cn63xx;
2756        struct cvmx_gmxx_rxx_adr_cam2_s cn63xxp1;
2757        struct cvmx_gmxx_rxx_adr_cam2_s cn66xx;
2758        struct cvmx_gmxx_rxx_adr_cam2_s cn68xx;
2759        struct cvmx_gmxx_rxx_adr_cam2_s cn68xxp1;
2760        struct cvmx_gmxx_rxx_adr_cam2_s cnf71xx;
2761};
2762
2763union cvmx_gmxx_rxx_adr_cam3 {
2764        uint64_t u64;
2765        struct cvmx_gmxx_rxx_adr_cam3_s {
2766#ifdef __BIG_ENDIAN_BITFIELD
2767                uint64_t adr:64;
2768#else
2769                uint64_t adr:64;
2770#endif
2771        } s;
2772        struct cvmx_gmxx_rxx_adr_cam3_s cn30xx;
2773        struct cvmx_gmxx_rxx_adr_cam3_s cn31xx;
2774        struct cvmx_gmxx_rxx_adr_cam3_s cn38xx;
2775        struct cvmx_gmxx_rxx_adr_cam3_s cn38xxp2;
2776        struct cvmx_gmxx_rxx_adr_cam3_s cn50xx;
2777        struct cvmx_gmxx_rxx_adr_cam3_s cn52xx;
2778        struct cvmx_gmxx_rxx_adr_cam3_s cn52xxp1;
2779        struct cvmx_gmxx_rxx_adr_cam3_s cn56xx;
2780        struct cvmx_gmxx_rxx_adr_cam3_s cn56xxp1;
2781        struct cvmx_gmxx_rxx_adr_cam3_s cn58xx;
2782        struct cvmx_gmxx_rxx_adr_cam3_s cn58xxp1;
2783        struct cvmx_gmxx_rxx_adr_cam3_s cn61xx;
2784        struct cvmx_gmxx_rxx_adr_cam3_s cn63xx;
2785        struct cvmx_gmxx_rxx_adr_cam3_s cn63xxp1;
2786        struct cvmx_gmxx_rxx_adr_cam3_s cn66xx;
2787        struct cvmx_gmxx_rxx_adr_cam3_s cn68xx;
2788        struct cvmx_gmxx_rxx_adr_cam3_s cn68xxp1;
2789        struct cvmx_gmxx_rxx_adr_cam3_s cnf71xx;
2790};
2791
2792union cvmx_gmxx_rxx_adr_cam4 {
2793        uint64_t u64;
2794        struct cvmx_gmxx_rxx_adr_cam4_s {
2795#ifdef __BIG_ENDIAN_BITFIELD
2796                uint64_t adr:64;
2797#else
2798                uint64_t adr:64;
2799#endif
2800        } s;
2801        struct cvmx_gmxx_rxx_adr_cam4_s cn30xx;
2802        struct cvmx_gmxx_rxx_adr_cam4_s cn31xx;
2803        struct cvmx_gmxx_rxx_adr_cam4_s cn38xx;
2804        struct cvmx_gmxx_rxx_adr_cam4_s cn38xxp2;
2805        struct cvmx_gmxx_rxx_adr_cam4_s cn50xx;
2806        struct cvmx_gmxx_rxx_adr_cam4_s cn52xx;
2807        struct cvmx_gmxx_rxx_adr_cam4_s cn52xxp1;
2808        struct cvmx_gmxx_rxx_adr_cam4_s cn56xx;
2809        struct cvmx_gmxx_rxx_adr_cam4_s cn56xxp1;
2810        struct cvmx_gmxx_rxx_adr_cam4_s cn58xx;
2811        struct cvmx_gmxx_rxx_adr_cam4_s cn58xxp1;
2812        struct cvmx_gmxx_rxx_adr_cam4_s cn61xx;
2813        struct cvmx_gmxx_rxx_adr_cam4_s cn63xx;
2814        struct cvmx_gmxx_rxx_adr_cam4_s cn63xxp1;
2815        struct cvmx_gmxx_rxx_adr_cam4_s cn66xx;
2816        struct cvmx_gmxx_rxx_adr_cam4_s cn68xx;
2817        struct cvmx_gmxx_rxx_adr_cam4_s cn68xxp1;
2818        struct cvmx_gmxx_rxx_adr_cam4_s cnf71xx;
2819};
2820
2821union cvmx_gmxx_rxx_adr_cam5 {
2822        uint64_t u64;
2823        struct cvmx_gmxx_rxx_adr_cam5_s {
2824#ifdef __BIG_ENDIAN_BITFIELD
2825                uint64_t adr:64;
2826#else
2827                uint64_t adr:64;
2828#endif
2829        } s;
2830        struct cvmx_gmxx_rxx_adr_cam5_s cn30xx;
2831        struct cvmx_gmxx_rxx_adr_cam5_s cn31xx;
2832        struct cvmx_gmxx_rxx_adr_cam5_s cn38xx;
2833        struct cvmx_gmxx_rxx_adr_cam5_s cn38xxp2;
2834        struct cvmx_gmxx_rxx_adr_cam5_s cn50xx;
2835        struct cvmx_gmxx_rxx_adr_cam5_s cn52xx;
2836        struct cvmx_gmxx_rxx_adr_cam5_s cn52xxp1;
2837        struct cvmx_gmxx_rxx_adr_cam5_s cn56xx;
2838        struct cvmx_gmxx_rxx_adr_cam5_s cn56xxp1;
2839        struct cvmx_gmxx_rxx_adr_cam5_s cn58xx;
2840        struct cvmx_gmxx_rxx_adr_cam5_s cn58xxp1;
2841        struct cvmx_gmxx_rxx_adr_cam5_s cn61xx;
2842        struct cvmx_gmxx_rxx_adr_cam5_s cn63xx;
2843        struct cvmx_gmxx_rxx_adr_cam5_s cn63xxp1;
2844        struct cvmx_gmxx_rxx_adr_cam5_s cn66xx;
2845        struct cvmx_gmxx_rxx_adr_cam5_s cn68xx;
2846        struct cvmx_gmxx_rxx_adr_cam5_s cn68xxp1;
2847        struct cvmx_gmxx_rxx_adr_cam5_s cnf71xx;
2848};
2849
2850union cvmx_gmxx_rxx_adr_cam_all_en {
2851        uint64_t u64;
2852        struct cvmx_gmxx_rxx_adr_cam_all_en_s {
2853#ifdef __BIG_ENDIAN_BITFIELD
2854                uint64_t reserved_32_63:32;
2855                uint64_t en:32;
2856#else
2857                uint64_t en:32;
2858                uint64_t reserved_32_63:32;
2859#endif
2860        } s;
2861        struct cvmx_gmxx_rxx_adr_cam_all_en_s cn61xx;
2862        struct cvmx_gmxx_rxx_adr_cam_all_en_s cn66xx;
2863        struct cvmx_gmxx_rxx_adr_cam_all_en_s cn68xx;
2864        struct cvmx_gmxx_rxx_adr_cam_all_en_s cnf71xx;
2865};
2866
2867union cvmx_gmxx_rxx_adr_cam_en {
2868        uint64_t u64;
2869        struct cvmx_gmxx_rxx_adr_cam_en_s {
2870#ifdef __BIG_ENDIAN_BITFIELD
2871                uint64_t reserved_8_63:56;
2872                uint64_t en:8;
2873#else
2874                uint64_t en:8;
2875                uint64_t reserved_8_63:56;
2876#endif
2877        } s;
2878        struct cvmx_gmxx_rxx_adr_cam_en_s cn30xx;
2879        struct cvmx_gmxx_rxx_adr_cam_en_s cn31xx;
2880        struct cvmx_gmxx_rxx_adr_cam_en_s cn38xx;
2881        struct cvmx_gmxx_rxx_adr_cam_en_s cn38xxp2;
2882        struct cvmx_gmxx_rxx_adr_cam_en_s cn50xx;
2883        struct cvmx_gmxx_rxx_adr_cam_en_s cn52xx;
2884        struct cvmx_gmxx_rxx_adr_cam_en_s cn52xxp1;
2885        struct cvmx_gmxx_rxx_adr_cam_en_s cn56xx;
2886        struct cvmx_gmxx_rxx_adr_cam_en_s cn56xxp1;
2887        struct cvmx_gmxx_rxx_adr_cam_en_s cn58xx;
2888        struct cvmx_gmxx_rxx_adr_cam_en_s cn58xxp1;
2889        struct cvmx_gmxx_rxx_adr_cam_en_s cn61xx;
2890        struct cvmx_gmxx_rxx_adr_cam_en_s cn63xx;
2891        struct cvmx_gmxx_rxx_adr_cam_en_s cn63xxp1;
2892        struct cvmx_gmxx_rxx_adr_cam_en_s cn66xx;
2893        struct cvmx_gmxx_rxx_adr_cam_en_s cn68xx;
2894        struct cvmx_gmxx_rxx_adr_cam_en_s cn68xxp1;
2895        struct cvmx_gmxx_rxx_adr_cam_en_s cnf71xx;
2896};
2897
2898union cvmx_gmxx_rxx_adr_ctl {
2899        uint64_t u64;
2900        struct cvmx_gmxx_rxx_adr_ctl_s {
2901#ifdef __BIG_ENDIAN_BITFIELD
2902                uint64_t reserved_4_63:60;
2903                uint64_t cam_mode:1;
2904                uint64_t mcst:2;
2905                uint64_t bcst:1;
2906#else
2907                uint64_t bcst:1;
2908                uint64_t mcst:2;
2909                uint64_t cam_mode:1;
2910                uint64_t reserved_4_63:60;
2911#endif
2912        } s;
2913        struct cvmx_gmxx_rxx_adr_ctl_s cn30xx;
2914        struct cvmx_gmxx_rxx_adr_ctl_s cn31xx;
2915        struct cvmx_gmxx_rxx_adr_ctl_s cn38xx;
2916        struct cvmx_gmxx_rxx_adr_ctl_s cn38xxp2;
2917        struct cvmx_gmxx_rxx_adr_ctl_s cn50xx;
2918        struct cvmx_gmxx_rxx_adr_ctl_s cn52xx;
2919        struct cvmx_gmxx_rxx_adr_ctl_s cn52xxp1;
2920        struct cvmx_gmxx_rxx_adr_ctl_s cn56xx;
2921        struct cvmx_gmxx_rxx_adr_ctl_s cn56xxp1;
2922        struct cvmx_gmxx_rxx_adr_ctl_s cn58xx;
2923        struct cvmx_gmxx_rxx_adr_ctl_s cn58xxp1;
2924        struct cvmx_gmxx_rxx_adr_ctl_s cn61xx;
2925        struct cvmx_gmxx_rxx_adr_ctl_s cn63xx;
2926        struct cvmx_gmxx_rxx_adr_ctl_s cn63xxp1;
2927        struct cvmx_gmxx_rxx_adr_ctl_s cn66xx;
2928        struct cvmx_gmxx_rxx_adr_ctl_s cn68xx;
2929        struct cvmx_gmxx_rxx_adr_ctl_s cn68xxp1;
2930        struct cvmx_gmxx_rxx_adr_ctl_s cnf71xx;
2931};
2932
2933union cvmx_gmxx_rxx_decision {
2934        uint64_t u64;
2935        struct cvmx_gmxx_rxx_decision_s {
2936#ifdef __BIG_ENDIAN_BITFIELD
2937                uint64_t reserved_5_63:59;
2938                uint64_t cnt:5;
2939#else
2940                uint64_t cnt:5;
2941                uint64_t reserved_5_63:59;
2942#endif
2943        } s;
2944        struct cvmx_gmxx_rxx_decision_s cn30xx;
2945        struct cvmx_gmxx_rxx_decision_s cn31xx;
2946        struct cvmx_gmxx_rxx_decision_s cn38xx;
2947        struct cvmx_gmxx_rxx_decision_s cn38xxp2;
2948        struct cvmx_gmxx_rxx_decision_s cn50xx;
2949        struct cvmx_gmxx_rxx_decision_s cn52xx;
2950        struct cvmx_gmxx_rxx_decision_s cn52xxp1;
2951        struct cvmx_gmxx_rxx_decision_s cn56xx;
2952        struct cvmx_gmxx_rxx_decision_s cn56xxp1;
2953        struct cvmx_gmxx_rxx_decision_s cn58xx;
2954        struct cvmx_gmxx_rxx_decision_s cn58xxp1;
2955        struct cvmx_gmxx_rxx_decision_s cn61xx;
2956        struct cvmx_gmxx_rxx_decision_s cn63xx;
2957        struct cvmx_gmxx_rxx_decision_s cn63xxp1;
2958        struct cvmx_gmxx_rxx_decision_s cn66xx;
2959        struct cvmx_gmxx_rxx_decision_s cn68xx;
2960        struct cvmx_gmxx_rxx_decision_s cn68xxp1;
2961        struct cvmx_gmxx_rxx_decision_s cnf71xx;
2962};
2963
2964union cvmx_gmxx_rxx_frm_chk {
2965        uint64_t u64;
2966        struct cvmx_gmxx_rxx_frm_chk_s {
2967#ifdef __BIG_ENDIAN_BITFIELD
2968                uint64_t reserved_10_63:54;
2969                uint64_t niberr:1;
2970                uint64_t skperr:1;
2971                uint64_t rcverr:1;
2972                uint64_t lenerr:1;
2973                uint64_t alnerr:1;
2974                uint64_t fcserr:1;
2975                uint64_t jabber:1;
2976                uint64_t maxerr:1;
2977                uint64_t carext:1;
2978                uint64_t minerr:1;
2979#else
2980                uint64_t minerr:1;
2981                uint64_t carext:1;
2982                uint64_t maxerr:1;
2983                uint64_t jabber:1;
2984                uint64_t fcserr:1;
2985                uint64_t alnerr:1;
2986                uint64_t lenerr:1;
2987                uint64_t rcverr:1;
2988                uint64_t skperr:1;
2989                uint64_t niberr:1;
2990                uint64_t reserved_10_63:54;
2991#endif
2992        } s;
2993        struct cvmx_gmxx_rxx_frm_chk_s cn30xx;
2994        struct cvmx_gmxx_rxx_frm_chk_s cn31xx;
2995        struct cvmx_gmxx_rxx_frm_chk_s cn38xx;
2996        struct cvmx_gmxx_rxx_frm_chk_s cn38xxp2;
2997        struct cvmx_gmxx_rxx_frm_chk_cn50xx {
2998#ifdef __BIG_ENDIAN_BITFIELD
2999                uint64_t reserved_10_63:54;
3000                uint64_t niberr:1;
3001                uint64_t skperr:1;
3002                uint64_t rcverr:1;
3003                uint64_t reserved_6_6:1;
3004                uint64_t alnerr:1;
3005                uint64_t fcserr:1;
3006                uint64_t jabber:1;
3007                uint64_t reserved_2_2:1;
3008                uint64_t carext:1;
3009                uint64_t reserved_0_0:1;
3010#else
3011                uint64_t reserved_0_0:1;
3012                uint64_t carext:1;
3013                uint64_t reserved_2_2:1;
3014                uint64_t jabber:1;
3015                uint64_t fcserr:1;
3016                uint64_t alnerr:1;
3017                uint64_t reserved_6_6:1;
3018                uint64_t rcverr:1;
3019                uint64_t skperr:1;
3020                uint64_t niberr:1;
3021                uint64_t reserved_10_63:54;
3022#endif
3023        } cn50xx;
3024        struct cvmx_gmxx_rxx_frm_chk_cn52xx {
3025#ifdef __BIG_ENDIAN_BITFIELD
3026                uint64_t reserved_9_63:55;
3027                uint64_t skperr:1;
3028                uint64_t rcverr:1;
3029                uint64_t reserved_5_6:2;
3030                uint64_t fcserr:1;
3031                uint64_t jabber:1;
3032                uint64_t reserved_2_2:1;
3033                uint64_t carext:1;
3034                uint64_t reserved_0_0:1;
3035#else
3036                uint64_t reserved_0_0:1;
3037                uint64_t carext:1;
3038                uint64_t reserved_2_2:1;
3039                uint64_t jabber:1;
3040                uint64_t fcserr:1;
3041                uint64_t reserved_5_6:2;
3042                uint64_t rcverr:1;
3043                uint64_t skperr:1;
3044                uint64_t reserved_9_63:55;
3045#endif
3046        } cn52xx;
3047        struct cvmx_gmxx_rxx_frm_chk_cn52xx cn52xxp1;
3048        struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xx;
3049        struct cvmx_gmxx_rxx_frm_chk_cn52xx cn56xxp1;
3050        struct cvmx_gmxx_rxx_frm_chk_s cn58xx;
3051        struct cvmx_gmxx_rxx_frm_chk_s cn58xxp1;
3052        struct cvmx_gmxx_rxx_frm_chk_cn61xx {
3053#ifdef __BIG_ENDIAN_BITFIELD
3054                uint64_t reserved_9_63:55;
3055                uint64_t skperr:1;
3056                uint64_t rcverr:1;
3057                uint64_t reserved_5_6:2;
3058                uint64_t fcserr:1;
3059                uint64_t jabber:1;
3060                uint64_t reserved_2_2:1;
3061                uint64_t carext:1;
3062                uint64_t minerr:1;
3063#else
3064                uint64_t minerr:1;
3065                uint64_t carext:1;
3066                uint64_t reserved_2_2:1;
3067                uint64_t jabber:1;
3068                uint64_t fcserr:1;
3069                uint64_t reserved_5_6:2;
3070                uint64_t rcverr:1;
3071                uint64_t skperr:1;
3072                uint64_t reserved_9_63:55;
3073#endif
3074        } cn61xx;
3075        struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xx;
3076        struct cvmx_gmxx_rxx_frm_chk_cn61xx cn63xxp1;
3077        struct cvmx_gmxx_rxx_frm_chk_cn61xx cn66xx;
3078        struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xx;
3079        struct cvmx_gmxx_rxx_frm_chk_cn61xx cn68xxp1;
3080        struct cvmx_gmxx_rxx_frm_chk_cn61xx cnf71xx;
3081};
3082
3083union cvmx_gmxx_rxx_frm_ctl {
3084        uint64_t u64;
3085        struct cvmx_gmxx_rxx_frm_ctl_s {
3086#ifdef __BIG_ENDIAN_BITFIELD
3087                uint64_t reserved_13_63:51;
3088                uint64_t ptp_mode:1;
3089                uint64_t reserved_11_11:1;
3090                uint64_t null_dis:1;
3091                uint64_t pre_align:1;
3092                uint64_t pad_len:1;
3093                uint64_t vlan_len:1;
3094                uint64_t pre_free:1;
3095                uint64_t ctl_smac:1;
3096                uint64_t ctl_mcst:1;
3097                uint64_t ctl_bck:1;
3098                uint64_t ctl_drp:1;
3099                uint64_t pre_strp:1;
3100                uint64_t pre_chk:1;
3101#else
3102                uint64_t pre_chk:1;
3103                uint64_t pre_strp:1;
3104                uint64_t ctl_drp:1;
3105                uint64_t ctl_bck:1;
3106                uint64_t ctl_mcst:1;
3107                uint64_t ctl_smac:1;
3108                uint64_t pre_free:1;
3109                uint64_t vlan_len:1;
3110                uint64_t pad_len:1;
3111                uint64_t pre_align:1;
3112                uint64_t null_dis:1;
3113                uint64_t reserved_11_11:1;
3114                uint64_t ptp_mode:1;
3115                uint64_t reserved_13_63:51;
3116#endif
3117        } s;
3118        struct cvmx_gmxx_rxx_frm_ctl_cn30xx {
3119#ifdef __BIG_ENDIAN_BITFIELD
3120                uint64_t reserved_9_63:55;
3121                uint64_t pad_len:1;
3122                uint64_t vlan_len:1;
3123                uint64_t pre_free:1;
3124                uint64_t ctl_smac:1;
3125                uint64_t ctl_mcst:1;
3126                uint64_t ctl_bck:1;
3127                uint64_t ctl_drp:1;
3128                uint64_t pre_strp:1;
3129                uint64_t pre_chk:1;
3130#else
3131                uint64_t pre_chk:1;
3132                uint64_t pre_strp:1;
3133                uint64_t ctl_drp:1;
3134                uint64_t ctl_bck:1;
3135                uint64_t ctl_mcst:1;
3136                uint64_t ctl_smac:1;
3137                uint64_t pre_free:1;
3138                uint64_t vlan_len:1;
3139                uint64_t pad_len:1;
3140                uint64_t reserved_9_63:55;
3141#endif
3142        } cn30xx;
3143        struct cvmx_gmxx_rxx_frm_ctl_cn31xx {
3144#ifdef __BIG_ENDIAN_BITFIELD
3145                uint64_t reserved_8_63:56;
3146                uint64_t vlan_len:1;
3147                uint64_t pre_free:1;
3148                uint64_t ctl_smac:1;
3149                uint64_t ctl_mcst:1;
3150                uint64_t ctl_bck:1;
3151                uint64_t ctl_drp:1;
3152                uint64_t pre_strp:1;
3153                uint64_t pre_chk:1;
3154#else
3155                uint64_t pre_chk:1;
3156                uint64_t pre_strp:1;
3157                uint64_t ctl_drp:1;
3158                uint64_t ctl_bck:1;
3159                uint64_t ctl_mcst:1;
3160                uint64_t ctl_smac:1;
3161                uint64_t pre_free:1;
3162                uint64_t vlan_len:1;
3163                uint64_t reserved_8_63:56;
3164#endif
3165        } cn31xx;
3166        struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn38xx;
3167        struct cvmx_gmxx_rxx_frm_ctl_cn31xx cn38xxp2;
3168        struct cvmx_gmxx_rxx_frm_ctl_cn50xx {
3169#ifdef __BIG_ENDIAN_BITFIELD
3170                uint64_t reserved_11_63:53;
3171                uint64_t null_dis:1;
3172                uint64_t pre_align:1;
3173                uint64_t reserved_7_8:2;
3174                uint64_t pre_free:1;
3175                uint64_t ctl_smac:1;
3176                uint64_t ctl_mcst:1;
3177                uint64_t ctl_bck:1;
3178                uint64_t ctl_drp:1;
3179                uint64_t pre_strp:1;
3180                uint64_t pre_chk:1;
3181#else
3182                uint64_t pre_chk:1;
3183                uint64_t pre_strp:1;
3184                uint64_t ctl_drp:1;
3185                uint64_t ctl_bck:1;
3186                uint64_t ctl_mcst:1;
3187                uint64_t ctl_smac:1;
3188                uint64_t pre_free:1;
3189                uint64_t reserved_7_8:2;
3190                uint64_t pre_align:1;
3191                uint64_t null_dis:1;
3192                uint64_t reserved_11_63:53;
3193#endif
3194        } cn50xx;
3195        struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xx;
3196        struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn52xxp1;
3197        struct cvmx_gmxx_rxx_frm_ctl_cn50xx cn56xx;
3198        struct cvmx_gmxx_rxx_frm_ctl_cn56xxp1 {
3199#ifdef __BIG_ENDIAN_BITFIELD
3200                uint64_t reserved_10_63:54;
3201                uint64_t pre_align:1;
3202                uint64_t reserved_7_8:2;
3203                uint64_t pre_free:1;
3204                uint64_t ctl_smac:1;
3205                uint64_t ctl_mcst:1;
3206                uint64_t ctl_bck:1;
3207                uint64_t ctl_drp:1;
3208                uint64_t pre_strp:1;
3209                uint64_t pre_chk:1;
3210#else
3211                uint64_t pre_chk:1;
3212                uint64_t pre_strp:1;
3213                uint64_t ctl_drp:1;
3214                uint64_t ctl_bck:1;
3215                uint64_t ctl_mcst:1;
3216                uint64_t ctl_smac:1;
3217                uint64_t pre_free:1;
3218                uint64_t reserved_7_8:2;
3219                uint64_t pre_align:1;
3220                uint64_t reserved_10_63:54;
3221#endif
3222        } cn56xxp1;
3223        struct cvmx_gmxx_rxx_frm_ctl_cn58xx {
3224#ifdef __BIG_ENDIAN_BITFIELD
3225                uint64_t reserved_11_63:53;
3226                uint64_t null_dis:1;
3227                uint64_t pre_align:1;
3228                uint64_t pad_len:1;
3229                uint64_t vlan_len:1;
3230                uint64_t pre_free:1;
3231                uint64_t ctl_smac:1;
3232                uint64_t ctl_mcst:1;
3233                uint64_t ctl_bck:1;
3234                uint64_t ctl_drp:1;
3235                uint64_t pre_strp:1;
3236                uint64_t pre_chk:1;
3237#else
3238                uint64_t pre_chk:1;
3239                uint64_t pre_strp:1;
3240                uint64_t ctl_drp:1;
3241                uint64_t ctl_bck:1;
3242                uint64_t ctl_mcst:1;
3243                uint64_t ctl_smac:1;
3244                uint64_t pre_free:1;
3245                uint64_t vlan_len:1;
3246                uint64_t pad_len:1;
3247                uint64_t pre_align:1;
3248                uint64_t null_dis:1;
3249                uint64_t reserved_11_63:53;
3250#endif
3251        } cn58xx;
3252        struct cvmx_gmxx_rxx_frm_ctl_cn30xx cn58xxp1;
3253        struct cvmx_gmxx_rxx_frm_ctl_cn61xx {
3254#ifdef __BIG_ENDIAN_BITFIELD
3255                uint64_t reserved_13_63:51;
3256                uint64_t ptp_mode:1;
3257                uint64_t reserved_11_11:1;
3258                uint64_t null_dis:1;
3259                uint64_t pre_align:1;
3260                uint64_t reserved_7_8:2;
3261                uint64_t pre_free:1;
3262                uint64_t ctl_smac:1;
3263                uint64_t ctl_mcst:1;
3264                uint64_t ctl_bck:1;
3265                uint64_t ctl_drp:1;
3266                uint64_t pre_strp:1;
3267                uint64_t pre_chk:1;
3268#else
3269                uint64_t pre_chk:1;
3270                uint64_t pre_strp:1;
3271                uint64_t ctl_drp:1;
3272                uint64_t ctl_bck:1;
3273                uint64_t ctl_mcst:1;
3274                uint64_t ctl_smac:1;
3275                uint64_t pre_free:1;
3276                uint64_t reserved_7_8:2;
3277                uint64_t pre_align:1;
3278                uint64_t null_dis:1;
3279                uint64_t reserved_11_11:1;
3280                uint64_t ptp_mode:1;
3281                uint64_t reserved_13_63:51;
3282#endif
3283        } cn61xx;
3284        struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xx;
3285        struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn63xxp1;
3286        struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn66xx;
3287        struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xx;
3288        struct cvmx_gmxx_rxx_frm_ctl_cn61xx cn68xxp1;
3289        struct cvmx_gmxx_rxx_frm_ctl_cn61xx cnf71xx;
3290};
3291
3292union cvmx_gmxx_rxx_frm_max {
3293        uint64_t u64;
3294        struct cvmx_gmxx_rxx_frm_max_s {
3295#ifdef __BIG_ENDIAN_BITFIELD
3296                uint64_t reserved_16_63:48;
3297                uint64_t len:16;
3298#else
3299                uint64_t len:16;
3300                uint64_t reserved_16_63:48;
3301#endif
3302        } s;
3303        struct cvmx_gmxx_rxx_frm_max_s cn30xx;
3304        struct cvmx_gmxx_rxx_frm_max_s cn31xx;
3305        struct cvmx_gmxx_rxx_frm_max_s cn38xx;
3306        struct cvmx_gmxx_rxx_frm_max_s cn38xxp2;
3307        struct cvmx_gmxx_rxx_frm_max_s cn58xx;
3308        struct cvmx_gmxx_rxx_frm_max_s cn58xxp1;
3309};
3310
3311union cvmx_gmxx_rxx_frm_min {
3312        uint64_t u64;
3313        struct cvmx_gmxx_rxx_frm_min_s {
3314#ifdef __BIG_ENDIAN_BITFIELD
3315                uint64_t reserved_16_63:48;
3316                uint64_t len:16;
3317#else
3318                uint64_t len:16;
3319                uint64_t reserved_16_63:48;
3320#endif
3321        } s;
3322        struct cvmx_gmxx_rxx_frm_min_s cn30xx;
3323        struct cvmx_gmxx_rxx_frm_min_s cn31xx;
3324        struct cvmx_gmxx_rxx_frm_min_s cn38xx;
3325        struct cvmx_gmxx_rxx_frm_min_s cn38xxp2;
3326        struct cvmx_gmxx_rxx_frm_min_s cn58xx;
3327        struct cvmx_gmxx_rxx_frm_min_s cn58xxp1;
3328};
3329
3330union cvmx_gmxx_rxx_ifg {
3331        uint64_t u64;
3332        struct cvmx_gmxx_rxx_ifg_s {
3333#ifdef __BIG_ENDIAN_BITFIELD
3334                uint64_t reserved_4_63:60;
3335                uint64_t ifg:4;
3336#else
3337                uint64_t ifg:4;
3338                uint64_t reserved_4_63:60;
3339#endif
3340        } s;
3341        struct cvmx_gmxx_rxx_ifg_s cn30xx;
3342        struct cvmx_gmxx_rxx_ifg_s cn31xx;
3343        struct cvmx_gmxx_rxx_ifg_s cn38xx;
3344        struct cvmx_gmxx_rxx_ifg_s cn38xxp2;
3345        struct cvmx_gmxx_rxx_ifg_s cn50xx;
3346        struct cvmx_gmxx_rxx_ifg_s cn52xx;
3347        struct cvmx_gmxx_rxx_ifg_s cn52xxp1;
3348        struct cvmx_gmxx_rxx_ifg_s cn56xx;
3349        struct cvmx_gmxx_rxx_ifg_s cn56xxp1;
3350        struct cvmx_gmxx_rxx_ifg_s cn58xx;
3351        struct cvmx_gmxx_rxx_ifg_s cn58xxp1;
3352        struct cvmx_gmxx_rxx_ifg_s cn61xx;
3353        struct cvmx_gmxx_rxx_ifg_s cn63xx;
3354        struct cvmx_gmxx_rxx_ifg_s cn63xxp1;
3355        struct cvmx_gmxx_rxx_ifg_s cn66xx;
3356        struct cvmx_gmxx_rxx_ifg_s cn68xx;
3357        struct cvmx_gmxx_rxx_ifg_s cn68xxp1;
3358        struct cvmx_gmxx_rxx_ifg_s cnf71xx;
3359};
3360
3361union cvmx_gmxx_rxx_int_en {
3362        uint64_t u64;
3363        struct cvmx_gmxx_rxx_int_en_s {
3364#ifdef __BIG_ENDIAN_BITFIELD
3365                uint64_t reserved_29_63:35;
3366                uint64_t hg2cc:1;
3367                uint64_t hg2fld:1;
3368                uint64_t undat:1;
3369                uint64_t uneop:1;
3370                uint64_t unsop:1;
3371                uint64_t bad_term:1;
3372                uint64_t bad_seq:1;
3373                uint64_t rem_fault:1;
3374                uint64_t loc_fault:1;
3375                uint64_t pause_drp:1;
3376                uint64_t phy_dupx:1;
3377                uint64_t phy_spd:1;
3378                uint64_t phy_link:1;
3379                uint64_t ifgerr:1;
3380                uint64_t coldet:1;
3381                uint64_t falerr:1;
3382                uint64_t rsverr:1;
3383                uint64_t pcterr:1;
3384                uint64_t ovrerr:1;
3385                uint64_t niberr:1;
3386                uint64_t skperr:1;
3387                uint64_t rcverr:1;
3388                uint64_t lenerr:1;
3389                uint64_t alnerr:1;
3390                uint64_t fcserr:1;
3391                uint64_t jabber:1;
3392                uint64_t maxerr:1;
3393                uint64_t carext:1;
3394                uint64_t minerr:1;
3395#else
3396                uint64_t minerr:1;
3397                uint64_t carext:1;
3398                uint64_t maxerr:1;
3399                uint64_t jabber:1;
3400                uint64_t fcserr:1;
3401                uint64_t alnerr:1;
3402                uint64_t lenerr:1;
3403                uint64_t rcverr:1;
3404                uint64_t skperr:1;
3405                uint64_t niberr:1;
3406                uint64_t ovrerr:1;
3407                uint64_t pcterr:1;
3408                uint64_t rsverr:1;
3409                uint64_t falerr:1;
3410                uint64_t coldet:1;
3411                uint64_t ifgerr:1;
3412                uint64_t phy_link:1;
3413                uint64_t phy_spd:1;
3414                uint64_t phy_dupx:1;
3415                uint64_t pause_drp:1;
3416                uint64_t loc_fault:1;
3417                uint64_t rem_fault:1;
3418                uint64_t bad_seq:1;
3419                uint64_t bad_term:1;
3420                uint64_t unsop:1;
3421                uint64_t uneop:1;
3422                uint64_t undat:1;
3423                uint64_t hg2fld:1;
3424                uint64_t hg2cc:1;
3425                uint64_t reserved_29_63:35;
3426#endif
3427        } s;
3428        struct cvmx_gmxx_rxx_int_en_cn30xx {
3429#ifdef __BIG_ENDIAN_BITFIELD
3430                uint64_t reserved_19_63:45;
3431                uint64_t phy_dupx:1;
3432                uint64_t phy_spd:1;
3433                uint64_t phy_link:1;
3434                uint64_t ifgerr:1;
3435                uint64_t coldet:1;
3436                uint64_t falerr:1;
3437                uint64_t rsverr:1;
3438                uint64_t pcterr:1;
3439                uint64_t ovrerr:1;
3440                uint64_t niberr:1;
3441                uint64_t skperr:1;
3442                uint64_t rcverr:1;
3443                uint64_t lenerr:1;
3444                uint64_t alnerr:1;
3445                uint64_t fcserr:1;
3446                uint64_t jabber:1;
3447                uint64_t maxerr:1;
3448                uint64_t carext:1;
3449                uint64_t minerr:1;
3450#else
3451                uint64_t minerr:1;
3452                uint64_t carext:1;
3453                uint64_t maxerr:1;
3454                uint64_t jabber:1;
3455                uint64_t fcserr:1;
3456                uint64_t alnerr:1;
3457                uint64_t lenerr:1;
3458                uint64_t rcverr:1;
3459                uint64_t skperr:1;
3460                uint64_t niberr:1;
3461                uint64_t ovrerr:1;
3462                uint64_t pcterr:1;
3463                uint64_t rsverr:1;
3464                uint64_t falerr:1;
3465                uint64_t coldet:1;
3466                uint64_t ifgerr:1;
3467                uint64_t phy_link:1;
3468                uint64_t phy_spd:1;
3469                uint64_t phy_dupx:1;
3470                uint64_t reserved_19_63:45;
3471#endif
3472        } cn30xx;
3473        struct cvmx_gmxx_rxx_int_en_cn30xx cn31xx;
3474        struct cvmx_gmxx_rxx_int_en_cn30xx cn38xx;
3475        struct cvmx_gmxx_rxx_int_en_cn30xx cn38xxp2;
3476        struct cvmx_gmxx_rxx_int_en_cn50xx {
3477#ifdef __BIG_ENDIAN_BITFIELD
3478                uint64_t reserved_20_63:44;
3479                uint64_t pause_drp:1;
3480                uint64_t phy_dupx:1;
3481                uint64_t phy_spd:1;
3482                uint64_t phy_link:1;
3483                uint64_t ifgerr:1;
3484                uint64_t coldet:1;
3485                uint64_t falerr:1;
3486                uint64_t rsverr:1;
3487                uint64_t pcterr:1;
3488                uint64_t ovrerr:1;
3489                uint64_t niberr:1;
3490                uint64_t skperr:1;
3491                uint64_t rcverr:1;
3492                uint64_t reserved_6_6:1;
3493                uint64_t alnerr:1;
3494                uint64_t fcserr:1;
3495                uint64_t jabber:1;
3496                uint64_t reserved_2_2:1;
3497                uint64_t carext:1;
3498                uint64_t reserved_0_0:1;
3499#else
3500                uint64_t reserved_0_0:1;
3501                uint64_t carext:1;
3502                uint64_t reserved_2_2:1;
3503                uint64_t jabber:1;
3504                uint64_t fcserr:1;
3505                uint64_t alnerr:1;
3506                uint64_t reserved_6_6:1;
3507                uint64_t rcverr:1;
3508                uint64_t skperr:1;
3509                uint64_t niberr:1;
3510                uint64_t ovrerr:1;
3511                uint64_t pcterr:1;
3512                uint64_t rsverr:1;
3513                uint64_t falerr:1;
3514                uint64_t coldet:1;
3515                uint64_t ifgerr:1;
3516                uint64_t phy_link:1;
3517                uint64_t phy_spd:1;
3518                uint64_t phy_dupx:1;
3519                uint64_t pause_drp:1;
3520                uint64_t reserved_20_63:44;
3521#endif
3522        } cn50xx;
3523        struct cvmx_gmxx_rxx_int_en_cn52xx {
3524#ifdef __BIG_ENDIAN_BITFIELD
3525                uint64_t reserved_29_63:35;
3526                uint64_t hg2cc:1;
3527                uint64_t hg2fld:1;
3528                uint64_t undat:1;
3529                uint64_t uneop:1;
3530                uint64_t unsop:1;
3531                uint64_t bad_term:1;
3532                uint64_t bad_seq:1;
3533                uint64_t rem_fault:1;
3534                uint64_t loc_fault:1;
3535                uint64_t pause_drp:1;
3536                uint64_t reserved_16_18:3;
3537                uint64_t ifgerr:1;
3538                uint64_t coldet:1;
3539                uint64_t falerr:1;
3540                uint64_t rsverr:1;
3541                uint64_t pcterr:1;
3542                uint64_t ovrerr:1;
3543                uint64_t reserved_9_9:1;
3544                uint64_t skperr:1;
3545                uint64_t rcverr:1;
3546                uint64_t reserved_5_6:2;
3547                uint64_t fcserr:1;
3548                uint64_t jabber:1;
3549                uint64_t reserved_2_2:1;
3550                uint64_t carext:1;
3551                uint64_t reserved_0_0:1;
3552#else
3553                uint64_t reserved_0_0:1;
3554                uint64_t carext:1;
3555                uint64_t reserved_2_2:1;
3556                uint64_t jabber:1;
3557                uint64_t fcserr:1;
3558                uint64_t reserved_5_6:2;
3559                uint64_t rcverr:1;
3560                uint64_t skperr:1;
3561                uint64_t reserved_9_9:1;
3562                uint64_t ovrerr:1;
3563                uint64_t pcterr:1;
3564                uint64_t rsverr:1;
3565                uint64_t falerr:1;
3566                uint64_t coldet:1;
3567                uint64_t ifgerr:1;
3568                uint64_t reserved_16_18:3;
3569                uint64_t pause_drp:1;
3570                uint64_t loc_fault:1;
3571                uint64_t rem_fault:1;
3572                uint64_t bad_seq:1;
3573                uint64_t bad_term:1;
3574                uint64_t unsop:1;
3575                uint64_t uneop:1;
3576                uint64_t undat:1;
3577                uint64_t hg2fld:1;
3578                uint64_t hg2cc:1;
3579                uint64_t reserved_29_63:35;
3580#endif
3581        } cn52xx;
3582        struct cvmx_gmxx_rxx_int_en_cn52xx cn52xxp1;
3583        struct cvmx_gmxx_rxx_int_en_cn52xx cn56xx;
3584        struct cvmx_gmxx_rxx_int_en_cn56xxp1 {
3585#ifdef __BIG_ENDIAN_BITFIELD
3586                uint64_t reserved_27_63:37;
3587                uint64_t undat:1;
3588                uint64_t uneop:1;
3589                uint64_t unsop:1;
3590                uint64_t bad_term:1;
3591                uint64_t bad_seq:1;
3592                uint64_t rem_fault:1;
3593                uint64_t loc_fault:1;
3594                uint64_t pause_drp:1;
3595                uint64_t reserved_16_18:3;
3596                uint64_t ifgerr:1;
3597                uint64_t coldet:1;
3598                uint64_t falerr:1;
3599                uint64_t rsverr:1;
3600                uint64_t pcterr:1;
3601                uint64_t ovrerr:1;
3602                uint64_t reserved_9_9:1;
3603                uint64_t skperr:1;
3604                uint64_t rcverr:1;
3605                uint64_t reserved_5_6:2;
3606                uint64_t fcserr:1;
3607                uint64_t jabber:1;
3608                uint64_t reserved_2_2:1;
3609                uint64_t carext:1;
3610                uint64_t reserved_0_0:1;
3611#else
3612                uint64_t reserved_0_0:1;
3613                uint64_t carext:1;
3614                uint64_t reserved_2_2:1;
3615                uint64_t jabber:1;
3616                uint64_t fcserr:1;
3617                uint64_t reserved_5_6:2;
3618                uint64_t rcverr:1;
3619                uint64_t skperr:1;
3620                uint64_t reserved_9_9:1;
3621                uint64_t ovrerr:1;
3622                uint64_t pcterr:1;
3623                uint64_t rsverr:1;
3624                uint64_t falerr:1;
3625                uint64_t coldet:1;
3626                uint64_t ifgerr:1;
3627                uint64_t reserved_16_18:3;
3628                uint64_t pause_drp:1;
3629                uint64_t loc_fault:1;
3630                uint64_t rem_fault:1;
3631                uint64_t bad_seq:1;
3632                uint64_t bad_term:1;
3633                uint64_t unsop:1;
3634                uint64_t uneop:1;
3635                uint64_t undat:1;
3636                uint64_t reserved_27_63:37;
3637#endif
3638        } cn56xxp1;
3639        struct cvmx_gmxx_rxx_int_en_cn58xx {
3640#ifdef __BIG_ENDIAN_BITFIELD
3641                uint64_t reserved_20_63:44;
3642                uint64_t pause_drp:1;
3643                uint64_t phy_dupx:1;
3644                uint64_t phy_spd:1;
3645                uint64_t phy_link:1;
3646                uint64_t ifgerr:1;
3647                uint64_t coldet:1;
3648                uint64_t falerr:1;
3649                uint64_t rsverr:1;
3650                uint64_t pcterr:1;
3651                uint64_t ovrerr:1;
3652                uint64_t niberr:1;
3653                uint64_t skperr:1;
3654                uint64_t rcverr:1;
3655                uint64_t lenerr:1;
3656                uint64_t alnerr:1;
3657                uint64_t fcserr:1;
3658                uint64_t jabber:1;
3659                uint64_t maxerr:1;
3660                uint64_t carext:1;
3661                uint64_t minerr:1;
3662#else
3663                uint64_t minerr:1;
3664                uint64_t carext:1;
3665                uint64_t maxerr:1;
3666                uint64_t jabber:1;
3667                uint64_t fcserr:1;
3668                uint64_t alnerr:1;
3669                uint64_t lenerr:1;
3670                uint64_t rcverr:1;
3671                uint64_t skperr:1;
3672                uint64_t niberr:1;
3673                uint64_t ovrerr:1;
3674                uint64_t pcterr:1;
3675                uint64_t rsverr:1;
3676                uint64_t falerr:1;
3677                uint64_t coldet:1;
3678                uint64_t ifgerr:1;
3679                uint64_t phy_link:1;
3680                uint64_t phy_spd:1;
3681                uint64_t phy_dupx:1;
3682                uint64_t pause_drp:1;
3683                uint64_t reserved_20_63:44;
3684#endif
3685        } cn58xx;
3686        struct cvmx_gmxx_rxx_int_en_cn58xx cn58xxp1;
3687        struct cvmx_gmxx_rxx_int_en_cn61xx {
3688#ifdef __BIG_ENDIAN_BITFIELD
3689                uint64_t reserved_29_63:35;
3690                uint64_t hg2cc:1;
3691                uint64_t hg2fld:1;
3692                uint64_t undat:1;
3693                uint64_t uneop:1;
3694                uint64_t unsop:1;
3695                uint64_t bad_term:1;
3696                uint64_t bad_seq:1;
3697                uint64_t rem_fault:1;
3698                uint64_t loc_fault:1;
3699                uint64_t pause_drp:1;
3700                uint64_t reserved_16_18:3;
3701                uint64_t ifgerr:1;
3702                uint64_t coldet:1;
3703                uint64_t falerr:1;
3704                uint64_t rsverr:1;
3705                uint64_t pcterr:1;
3706                uint64_t ovrerr:1;
3707                uint64_t reserved_9_9:1;
3708                uint64_t skperr:1;
3709                uint64_t rcverr:1;
3710                uint64_t reserved_5_6:2;
3711                uint64_t fcserr:1;
3712                uint64_t jabber:1;
3713                uint64_t reserved_2_2:1;
3714                uint64_t carext:1;
3715                uint64_t minerr:1;
3716#else
3717                uint64_t minerr:1;
3718                uint64_t carext:1;
3719                uint64_t reserved_2_2:1;
3720                uint64_t jabber:1;
3721                uint64_t fcserr:1;
3722                uint64_t reserved_5_6:2;
3723                uint64_t rcverr:1;
3724                uint64_t skperr:1;
3725                uint64_t reserved_9_9:1;
3726                uint64_t ovrerr:1;
3727                uint64_t pcterr:1;
3728                uint64_t rsverr:1;
3729                uint64_t falerr:1;
3730                uint64_t coldet:1;
3731                uint64_t ifgerr:1;
3732                uint64_t reserved_16_18:3;
3733                uint64_t pause_drp:1;
3734                uint64_t loc_fault:1;
3735                uint64_t rem_fault:1;
3736                uint64_t bad_seq:1;
3737                uint64_t bad_term:1;
3738                uint64_t unsop:1;
3739                uint64_t uneop:1;
3740                uint64_t undat:1;
3741                uint64_t hg2fld:1;
3742                uint64_t hg2cc:1;
3743                uint64_t reserved_29_63:35;
3744#endif
3745        } cn61xx;
3746        struct cvmx_gmxx_rxx_int_en_cn61xx cn63xx;
3747        struct cvmx_gmxx_rxx_int_en_cn61xx cn63xxp1;
3748        struct cvmx_gmxx_rxx_int_en_cn61xx cn66xx;
3749        struct cvmx_gmxx_rxx_int_en_cn61xx cn68xx;
3750        struct cvmx_gmxx_rxx_int_en_cn61xx cn68xxp1;
3751        struct cvmx_gmxx_rxx_int_en_cn61xx cnf71xx;
3752};
3753
3754union cvmx_gmxx_rxx_int_reg {
3755        uint64_t u64;
3756        struct cvmx_gmxx_rxx_int_reg_s {
3757#ifdef __BIG_ENDIAN_BITFIELD
3758                uint64_t reserved_29_63:35;
3759                uint64_t hg2cc:1;
3760                uint64_t hg2fld:1;
3761                uint64_t undat:1;
3762                uint64_t uneop:1;
3763                uint64_t unsop:1;
3764                uint64_t bad_term:1;
3765                uint64_t bad_seq:1;
3766                uint64_t rem_fault:1;
3767                uint64_t loc_fault:1;
3768                uint64_t pause_drp:1;
3769                uint64_t phy_dupx:1;
3770                uint64_t phy_spd:1;
3771                uint64_t phy_link:1;
3772                uint64_t ifgerr:1;
3773                uint64_t coldet:1;
3774                uint64_t falerr:1;
3775                uint64_t rsverr:1;
3776                uint64_t pcterr:1;
3777                uint64_t ovrerr:1;
3778                uint64_t niberr:1;
3779                uint64_t skperr:1;
3780                uint64_t rcverr:1;
3781                uint64_t lenerr:1;
3782                uint64_t alnerr:1;
3783                uint64_t fcserr:1;
3784                uint64_t jabber:1;
3785                uint64_t maxerr:1;
3786                uint64_t carext:1;
3787                uint64_t minerr:1;
3788#else
3789                uint64_t minerr:1;
3790                uint64_t carext:1;
3791                uint64_t maxerr:1;
3792                uint64_t jabber:1;
3793                uint64_t fcserr:1;
3794                uint64_t alnerr:1;
3795                uint64_t lenerr:1;
3796                uint64_t rcverr:1;
3797                uint64_t skperr:1;
3798                uint64_t niberr:1;
3799                uint64_t ovrerr:1;
3800                uint64_t pcterr:1;
3801                uint64_t rsverr:1;
3802                uint64_t falerr:1;
3803                uint64_t coldet:1;
3804                uint64_t ifgerr:1;
3805                uint64_t phy_link:1;
3806                uint64_t phy_spd:1;
3807                uint64_t phy_dupx:1;
3808                uint64_t pause_drp:1;
3809                uint64_t loc_fault:1;
3810                uint64_t rem_fault:1;
3811                uint64_t bad_seq:1;
3812                uint64_t bad_term:1;
3813                uint64_t unsop:1;
3814                uint64_t uneop:1;
3815                uint64_t undat:1;
3816                uint64_t hg2fld:1;
3817                uint64_t hg2cc:1;
3818                uint64_t reserved_29_63:35;
3819#endif
3820        } s;
3821        struct cvmx_gmxx_rxx_int_reg_cn30xx {
3822#ifdef __BIG_ENDIAN_BITFIELD
3823                uint64_t reserved_19_63:45;
3824                uint64_t phy_dupx:1;
3825                uint64_t phy_spd:1;
3826                uint64_t phy_link:1;
3827                uint64_t ifgerr:1;
3828                uint64_t coldet:1;
3829                uint64_t falerr:1;
3830                uint64_t rsverr:1;
3831                uint64_t pcterr:1;
3832                uint64_t ovrerr:1;
3833                uint64_t niberr:1;
3834                uint64_t skperr:1;
3835                uint64_t rcverr:1;
3836                uint64_t lenerr:1;
3837                uint64_t alnerr:1;
3838                uint64_t fcserr:1;
3839                uint64_t jabber:1;
3840                uint64_t maxerr:1;
3841                uint64_t carext:1;
3842                uint64_t minerr:1;
3843#else
3844                uint64_t minerr:1;
3845                uint64_t carext:1;
3846                uint64_t maxerr:1;
3847                uint64_t jabber:1;
3848                uint64_t fcserr:1;
3849                uint64_t alnerr:1;
3850                uint64_t lenerr:1;
3851                uint64_t rcverr:1;
3852                uint64_t skperr:1;
3853                uint64_t niberr:1;
3854                uint64_t ovrerr:1;
3855                uint64_t pcterr:1;
3856                uint64_t rsverr:1;
3857                uint64_t falerr:1;
3858                uint64_t coldet:1;
3859                uint64_t ifgerr:1;
3860                uint64_t phy_link:1;
3861                uint64_t phy_spd:1;
3862                uint64_t phy_dupx:1;
3863                uint64_t reserved_19_63:45;
3864#endif
3865        } cn30xx;
3866        struct cvmx_gmxx_rxx_int_reg_cn30xx cn31xx;
3867        struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xx;
3868        struct cvmx_gmxx_rxx_int_reg_cn30xx cn38xxp2;
3869        struct cvmx_gmxx_rxx_int_reg_cn50xx {
3870#ifdef __BIG_ENDIAN_BITFIELD
3871                uint64_t reserved_20_63:44;
3872                uint64_t pause_drp:1;
3873                uint64_t phy_dupx:1;
3874                uint64_t phy_spd:1;
3875                uint64_t phy_link:1;
3876                uint64_t ifgerr:1;
3877                uint64_t coldet:1;
3878                uint64_t falerr:1;
3879                uint64_t rsverr:1;
3880                uint64_t pcterr:1;
3881                uint64_t ovrerr:1;
3882                uint64_t niberr:1;
3883                uint64_t skperr:1;
3884                uint64_t rcverr:1;
3885                uint64_t reserved_6_6:1;
3886                uint64_t alnerr:1;
3887                uint64_t fcserr:1;
3888                uint64_t jabber:1;
3889                uint64_t reserved_2_2:1;
3890                uint64_t carext:1;
3891                uint64_t reserved_0_0:1;
3892#else
3893                uint64_t reserved_0_0:1;
3894                uint64_t carext:1;
3895                uint64_t reserved_2_2:1;
3896                uint64_t jabber:1;
3897                uint64_t fcserr:1;
3898                uint64_t alnerr:1;
3899                uint64_t reserved_6_6:1;
3900                uint64_t rcverr:1;
3901                uint64_t skperr:1;
3902                uint64_t niberr:1;
3903                uint64_t ovrerr:1;
3904                uint64_t pcterr:1;
3905                uint64_t rsverr:1;
3906                uint64_t falerr:1;
3907                uint64_t coldet:1;
3908                uint64_t ifgerr:1;
3909                uint64_t phy_link:1;
3910                uint64_t phy_spd:1;
3911                uint64_t phy_dupx:1;
3912                uint64_t pause_drp:1;
3913                uint64_t reserved_20_63:44;
3914#endif
3915        } cn50xx;
3916        struct cvmx_gmxx_rxx_int_reg_cn52xx {
3917#ifdef __BIG_ENDIAN_BITFIELD
3918                uint64_t reserved_29_63:35;
3919                uint64_t hg2cc:1;
3920                uint64_t hg2fld:1;
3921                uint64_t undat:1;
3922                uint64_t uneop:1;
3923                uint64_t unsop:1;
3924                uint64_t bad_term:1;
3925                uint64_t bad_seq:1;
3926                uint64_t rem_fault:1;
3927                uint64_t loc_fault:1;
3928                uint64_t pause_drp:1;
3929                uint64_t reserved_16_18:3;
3930                uint64_t ifgerr:1;
3931                uint64_t coldet:1;
3932                uint64_t falerr:1;
3933                uint64_t rsverr:1;
3934                uint64_t pcterr:1;
3935                uint64_t ovrerr:1;
3936                uint64_t reserved_9_9:1;
3937                uint64_t skperr:1;
3938                uint64_t rcverr:1;
3939                uint64_t reserved_5_6:2;
3940                uint64_t fcserr:1;
3941                uint64_t jabber:1;
3942                uint64_t reserved_2_2:1;
3943                uint64_t carext:1;
3944                uint64_t reserved_0_0:1;
3945#else
3946                uint64_t reserved_0_0:1;
3947                uint64_t carext:1;
3948                uint64_t reserved_2_2:1;
3949                uint64_t jabber:1;
3950                uint64_t fcserr:1;
3951                uint64_t reserved_5_6:2;
3952                uint64_t rcverr:1;
3953                uint64_t skperr:1;
3954                uint64_t reserved_9_9:1;
3955                uint64_t ovrerr:1;
3956                uint64_t pcterr:1;
3957                uint64_t rsverr:1;
3958                uint64_t falerr:1;
3959                uint64_t coldet:1;
3960                uint64_t ifgerr:1;
3961                uint64_t reserved_16_18:3;
3962                uint64_t pause_drp:1;
3963                uint64_t loc_fault:1;
3964                uint64_t rem_fault:1;
3965                uint64_t bad_seq:1;
3966                uint64_t bad_term:1;
3967                uint64_t unsop:1;
3968                uint64_t uneop:1;
3969                uint64_t undat:1;
3970                uint64_t hg2fld:1;
3971                uint64_t hg2cc:1;
3972                uint64_t reserved_29_63:35;
3973#endif
3974        } cn52xx;
3975        struct cvmx_gmxx_rxx_int_reg_cn52xx cn52xxp1;
3976        struct cvmx_gmxx_rxx_int_reg_cn52xx cn56xx;
3977        struct cvmx_gmxx_rxx_int_reg_cn56xxp1 {
3978#ifdef __BIG_ENDIAN_BITFIELD
3979                uint64_t reserved_27_63:37;
3980                uint64_t undat:1;
3981                uint64_t uneop:1;
3982                uint64_t unsop:1;
3983                uint64_t bad_term:1;
3984                uint64_t bad_seq:1;
3985                uint64_t rem_fault:1;
3986                uint64_t loc_fault:1;
3987                uint64_t pause_drp:1;
3988                uint64_t reserved_16_18:3;
3989                uint64_t ifgerr:1;
3990                uint64_t coldet:1;
3991                uint64_t falerr:1;
3992                uint64_t rsverr:1;
3993                uint64_t pcterr:1;
3994                uint64_t ovrerr:1;
3995                uint64_t reserved_9_9:1;
3996                uint64_t skperr:1;
3997                uint64_t rcverr:1;
3998                uint64_t reserved_5_6:2;
3999                uint64_t fcserr:1;
4000                uint64_t jabber:1;
4001                uint64_t reserved_2_2:1;
4002                uint64_t carext:1;
4003                uint64_t reserved_0_0:1;
4004#else
4005                uint64_t reserved_0_0:1;
4006                uint64_t carext:1;
4007                uint64_t reserved_2_2:1;
4008                uint64_t jabber:1;
4009                uint64_t fcserr:1;
4010                uint64_t reserved_5_6:2;
4011                uint64_t rcverr:1;
4012                uint64_t skperr:1;
4013                uint64_t reserved_9_9:1;
4014                uint64_t ovrerr:1;
4015                uint64_t pcterr:1;
4016                uint64_t rsverr:1;
4017                uint64_t falerr:1;
4018                uint64_t coldet:1;
4019                uint64_t ifgerr:1;
4020                uint64_t reserved_16_18:3;
4021                uint64_t pause_drp:1;
4022                uint64_t loc_fault:1;
4023                uint64_t rem_fault:1;
4024                uint64_t bad_seq:1;
4025                uint64_t bad_term:1;
4026                uint64_t unsop:1;
4027                uint64_t uneop:1;
4028                uint64_t undat:1;
4029                uint64_t reserved_27_63:37;
4030#endif
4031        } cn56xxp1;
4032        struct cvmx_gmxx_rxx_int_reg_cn58xx {
4033#ifdef __BIG_ENDIAN_BITFIELD
4034                uint64_t reserved_20_63:44;
4035                uint64_t pause_drp:1;
4036                uint64_t phy_dupx:1;
4037                uint64_t phy_spd:1;
4038                uint64_t phy_link:1;
4039                uint64_t ifgerr:1;
4040                uint64_t coldet:1;
4041                uint64_t falerr:1;
4042                uint64_t rsverr:1;
4043                uint64_t pcterr:1;
4044                uint64_t ovrerr:1;
4045                uint64_t niberr:1;
4046                uint64_t skperr:1;
4047                uint64_t rcverr:1;
4048                uint64_t lenerr:1;
4049                uint64_t alnerr:1;
4050                uint64_t fcserr:1;
4051                uint64_t jabber:1;
4052                uint64_t maxerr:1;
4053                uint64_t carext:1;
4054                uint64_t minerr:1;
4055#else
4056                uint64_t minerr:1;
4057                uint64_t carext:1;
4058                uint64_t maxerr:1;
4059                uint64_t jabber:1;
4060                uint64_t fcserr:1;
4061                uint64_t alnerr:1;
4062                uint64_t lenerr:1;
4063                uint64_t rcverr:1;
4064                uint64_t skperr:1;
4065                uint64_t niberr:1;
4066                uint64_t ovrerr:1;
4067                uint64_t pcterr:1;
4068                uint64_t rsverr:1;
4069                uint64_t falerr:1;
4070                uint64_t coldet:1;
4071                uint64_t ifgerr:1;
4072                uint64_t phy_link:1;
4073                uint64_t phy_spd:1;
4074                uint64_t phy_dupx:1;
4075                uint64_t pause_drp:1;
4076                uint64_t reserved_20_63:44;
4077#endif
4078        } cn58xx;
4079        struct cvmx_gmxx_rxx_int_reg_cn58xx cn58xxp1;
4080        struct cvmx_gmxx_rxx_int_reg_cn61xx {
4081#ifdef __BIG_ENDIAN_BITFIELD
4082                uint64_t reserved_29_63:35;
4083                uint64_t hg2cc:1;
4084                uint64_t hg2fld:1;
4085                uint64_t undat:1;
4086                uint64_t uneop:1;
4087                uint64_t unsop:1;
4088                uint64_t bad_term:1;
4089                uint64_t bad_seq:1;
4090                uint64_t rem_fault:1;
4091                uint64_t loc_fault:1;
4092                uint64_t pause_drp:1;
4093                uint64_t reserved_16_18:3;
4094                uint64_t ifgerr:1;
4095                uint64_t coldet:1;
4096                uint64_t falerr:1;
4097                uint64_t rsverr:1;
4098                uint64_t pcterr:1;
4099                uint64_t ovrerr:1;
4100                uint64_t reserved_9_9:1;
4101                uint64_t skperr:1;
4102                uint64_t rcverr:1;
4103                uint64_t reserved_5_6:2;
4104                uint64_t fcserr:1;
4105                uint64_t jabber:1;
4106                uint64_t reserved_2_2:1;
4107                uint64_t carext:1;
4108                uint64_t minerr:1;
4109#else
4110                uint64_t minerr:1;
4111                uint64_t carext:1;
4112                uint64_t reserved_2_2:1;
4113                uint64_t jabber:1;
4114                uint64_t fcserr:1;
4115                uint64_t reserved_5_6:2;
4116                uint64_t rcverr:1;
4117                uint64_t skperr:1;
4118                uint64_t reserved_9_9:1;
4119                uint64_t ovrerr:1;
4120                uint64_t pcterr:1;
4121                uint64_t rsverr:1;
4122                uint64_t falerr:1;
4123                uint64_t coldet:1;
4124                uint64_t ifgerr:1;
4125                uint64_t reserved_16_18:3;
4126                uint64_t pause_drp:1;
4127                uint64_t loc_fault:1;
4128                uint64_t rem_fault:1;
4129                uint64_t bad_seq:1;
4130                uint64_t bad_term:1;
4131                uint64_t unsop:1;
4132                uint64_t uneop:1;
4133                uint64_t undat:1;
4134                uint64_t hg2fld:1;
4135                uint64_t hg2cc:1;
4136                uint64_t reserved_29_63:35;
4137#endif
4138        } cn61xx;
4139        struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xx;
4140        struct cvmx_gmxx_rxx_int_reg_cn61xx cn63xxp1;
4141        struct cvmx_gmxx_rxx_int_reg_cn61xx cn66xx;
4142        struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xx;
4143        struct cvmx_gmxx_rxx_int_reg_cn61xx cn68xxp1;
4144        struct cvmx_gmxx_rxx_int_reg_cn61xx cnf71xx;
4145};
4146
4147union cvmx_gmxx_rxx_jabber {
4148        uint64_t u64;
4149        struct cvmx_gmxx_rxx_jabber_s {
4150#ifdef __BIG_ENDIAN_BITFIELD
4151                uint64_t reserved_16_63:48;
4152                uint64_t cnt:16;
4153#else
4154                uint64_t cnt:16;
4155                uint64_t reserved_16_63:48;
4156#endif
4157        } s;
4158        struct cvmx_gmxx_rxx_jabber_s cn30xx;
4159        struct cvmx_gmxx_rxx_jabber_s cn31xx;
4160        struct cvmx_gmxx_rxx_jabber_s cn38xx;
4161        struct cvmx_gmxx_rxx_jabber_s cn38xxp2;
4162        struct cvmx_gmxx_rxx_jabber_s cn50xx;
4163        struct cvmx_gmxx_rxx_jabber_s cn52xx;
4164        struct cvmx_gmxx_rxx_jabber_s cn52xxp1;
4165        struct cvmx_gmxx_rxx_jabber_s cn56xx;
4166        struct cvmx_gmxx_rxx_jabber_s cn56xxp1;
4167        struct cvmx_gmxx_rxx_jabber_s cn58xx;
4168        struct cvmx_gmxx_rxx_jabber_s cn58xxp1;
4169        struct cvmx_gmxx_rxx_jabber_s cn61xx;
4170        struct cvmx_gmxx_rxx_jabber_s cn63xx;
4171        struct cvmx_gmxx_rxx_jabber_s cn63xxp1;
4172        struct cvmx_gmxx_rxx_jabber_s cn66xx;
4173        struct cvmx_gmxx_rxx_jabber_s cn68xx;
4174        struct cvmx_gmxx_rxx_jabber_s cn68xxp1;
4175        struct cvmx_gmxx_rxx_jabber_s cnf71xx;
4176};
4177
4178union cvmx_gmxx_rxx_pause_drop_time {
4179        uint64_t u64;
4180        struct cvmx_gmxx_rxx_pause_drop_time_s {
4181#ifdef __BIG_ENDIAN_BITFIELD
4182                uint64_t reserved_16_63:48;
4183                uint64_t status:16;
4184#else
4185                uint64_t status:16;
4186                uint64_t reserved_16_63:48;
4187#endif
4188        } s;
4189        struct cvmx_gmxx_rxx_pause_drop_time_s cn50xx;
4190        struct cvmx_gmxx_rxx_pause_drop_time_s cn52xx;
4191        struct cvmx_gmxx_rxx_pause_drop_time_s cn52xxp1;
4192        struct cvmx_gmxx_rxx_pause_drop_time_s cn56xx;
4193        struct cvmx_gmxx_rxx_pause_drop_time_s cn56xxp1;
4194        struct cvmx_gmxx_rxx_pause_drop_time_s cn58xx;
4195        struct cvmx_gmxx_rxx_pause_drop_time_s cn58xxp1;
4196        struct cvmx_gmxx_rxx_pause_drop_time_s cn61xx;
4197        struct cvmx_gmxx_rxx_pause_drop_time_s cn63xx;
4198        struct cvmx_gmxx_rxx_pause_drop_time_s cn63xxp1;
4199        struct cvmx_gmxx_rxx_pause_drop_time_s cn66xx;
4200        struct cvmx_gmxx_rxx_pause_drop_time_s cn68xx;
4201        struct cvmx_gmxx_rxx_pause_drop_time_s cn68xxp1;
4202        struct cvmx_gmxx_rxx_pause_drop_time_s cnf71xx;
4203};
4204
4205union cvmx_gmxx_rxx_rx_inbnd {
4206        uint64_t u64;
4207        struct cvmx_gmxx_rxx_rx_inbnd_s {
4208#ifdef __BIG_ENDIAN_BITFIELD
4209                uint64_t reserved_4_63:60;
4210                uint64_t duplex:1;
4211                uint64_t speed:2;
4212                uint64_t status:1;
4213#else
4214                uint64_t status:1;
4215                uint64_t speed:2;
4216                uint64_t duplex:1;
4217                uint64_t reserved_4_63:60;
4218#endif
4219        } s;
4220        struct cvmx_gmxx_rxx_rx_inbnd_s cn30xx;
4221        struct cvmx_gmxx_rxx_rx_inbnd_s cn31xx;
4222        struct cvmx_gmxx_rxx_rx_inbnd_s cn38xx;
4223        struct cvmx_gmxx_rxx_rx_inbnd_s cn38xxp2;
4224        struct cvmx_gmxx_rxx_rx_inbnd_s cn50xx;
4225        struct cvmx_gmxx_rxx_rx_inbnd_s cn58xx;
4226        struct cvmx_gmxx_rxx_rx_inbnd_s cn58xxp1;
4227};
4228
4229union cvmx_gmxx_rxx_stats_ctl {
4230        uint64_t u64;
4231        struct cvmx_gmxx_rxx_stats_ctl_s {
4232#ifdef __BIG_ENDIAN_BITFIELD
4233                uint64_t reserved_1_63:63;
4234                uint64_t rd_clr:1;
4235#else
4236                uint64_t rd_clr:1;
4237                uint64_t reserved_1_63:63;
4238#endif
4239        } s;
4240        struct cvmx_gmxx_rxx_stats_ctl_s cn30xx;
4241        struct cvmx_gmxx_rxx_stats_ctl_s cn31xx;
4242        struct cvmx_gmxx_rxx_stats_ctl_s cn38xx;
4243        struct cvmx_gmxx_rxx_stats_ctl_s cn38xxp2;
4244        struct cvmx_gmxx_rxx_stats_ctl_s cn50xx;
4245        struct cvmx_gmxx_rxx_stats_ctl_s cn52xx;
4246        struct cvmx_gmxx_rxx_stats_ctl_s cn52xxp1;
4247        struct cvmx_gmxx_rxx_stats_ctl_s cn56xx;
4248        struct cvmx_gmxx_rxx_stats_ctl_s cn56xxp1;
4249        struct cvmx_gmxx_rxx_stats_ctl_s cn58xx;
4250        struct cvmx_gmxx_rxx_stats_ctl_s cn58xxp1;
4251        struct cvmx_gmxx_rxx_stats_ctl_s cn61xx;
4252        struct cvmx_gmxx_rxx_stats_ctl_s cn63xx;
4253        struct cvmx_gmxx_rxx_stats_ctl_s cn63xxp1;
4254        struct cvmx_gmxx_rxx_stats_ctl_s cn66xx;
4255        struct cvmx_gmxx_rxx_stats_ctl_s cn68xx;
4256        struct cvmx_gmxx_rxx_stats_ctl_s cn68xxp1;
4257        struct cvmx_gmxx_rxx_stats_ctl_s cnf71xx;
4258};
4259
4260union cvmx_gmxx_rxx_stats_octs {
4261        uint64_t u64;
4262        struct cvmx_gmxx_rxx_stats_octs_s {
4263#ifdef __BIG_ENDIAN_BITFIELD
4264                uint64_t reserved_48_63:16;
4265                uint64_t cnt:48;
4266#else
4267                uint64_t cnt:48;
4268                uint64_t reserved_48_63:16;
4269#endif
4270        } s;
4271        struct cvmx_gmxx_rxx_stats_octs_s cn30xx;
4272        struct cvmx_gmxx_rxx_stats_octs_s cn31xx;
4273        struct cvmx_gmxx_rxx_stats_octs_s cn38xx;
4274        struct cvmx_gmxx_rxx_stats_octs_s cn38xxp2;
4275        struct cvmx_gmxx_rxx_stats_octs_s cn50xx;
4276        struct cvmx_gmxx_rxx_stats_octs_s cn52xx;
4277        struct cvmx_gmxx_rxx_stats_octs_s cn52xxp1;
4278        struct cvmx_gmxx_rxx_stats_octs_s cn56xx;
4279        struct cvmx_gmxx_rxx_stats_octs_s cn56xxp1;
4280        struct cvmx_gmxx_rxx_stats_octs_s cn58xx;
4281        struct cvmx_gmxx_rxx_stats_octs_s cn58xxp1;
4282        struct cvmx_gmxx_rxx_stats_octs_s cn61xx;
4283        struct cvmx_gmxx_rxx_stats_octs_s cn63xx;
4284        struct cvmx_gmxx_rxx_stats_octs_s cn63xxp1;
4285        struct cvmx_gmxx_rxx_stats_octs_s cn66xx;
4286        struct cvmx_gmxx_rxx_stats_octs_s cn68xx;
4287        struct cvmx_gmxx_rxx_stats_octs_s cn68xxp1;
4288        struct cvmx_gmxx_rxx_stats_octs_s cnf71xx;
4289};
4290
4291union cvmx_gmxx_rxx_stats_octs_ctl {
4292        uint64_t u64;
4293        struct cvmx_gmxx_rxx_stats_octs_ctl_s {
4294#ifdef __BIG_ENDIAN_BITFIELD
4295                uint64_t reserved_48_63:16;
4296                uint64_t cnt:48;
4297#else
4298                uint64_t cnt:48;
4299                uint64_t reserved_48_63:16;
4300#endif
4301        } s;
4302        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn30xx;
4303        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn31xx;
4304        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xx;
4305        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn38xxp2;
4306        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn50xx;
4307        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xx;
4308        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn52xxp1;
4309        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xx;
4310        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn56xxp1;
4311        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xx;
4312        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn58xxp1;
4313        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn61xx;
4314        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xx;
4315        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn63xxp1;
4316        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn66xx;
4317        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xx;
4318        struct cvmx_gmxx_rxx_stats_octs_ctl_s cn68xxp1;
4319        struct cvmx_gmxx_rxx_stats_octs_ctl_s cnf71xx;
4320};
4321
4322union cvmx_gmxx_rxx_stats_octs_dmac {
4323        uint64_t u64;
4324        struct cvmx_gmxx_rxx_stats_octs_dmac_s {
4325#ifdef __BIG_ENDIAN_BITFIELD
4326                uint64_t reserved_48_63:16;
4327                uint64_t cnt:48;
4328#else
4329                uint64_t cnt:48;
4330                uint64_t reserved_48_63:16;
4331#endif
4332        } s;
4333        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn30xx;
4334        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn31xx;
4335        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xx;
4336        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn38xxp2;
4337        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn50xx;
4338        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xx;
4339        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn52xxp1;
4340        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xx;
4341        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn56xxp1;
4342        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xx;
4343        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn58xxp1;
4344        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn61xx;
4345        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xx;
4346        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn63xxp1;
4347        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn66xx;
4348        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xx;
4349        struct cvmx_gmxx_rxx_stats_octs_dmac_s cn68xxp1;
4350        struct cvmx_gmxx_rxx_stats_octs_dmac_s cnf71xx;
4351};
4352
4353union cvmx_gmxx_rxx_stats_octs_drp {
4354        uint64_t u64;
4355        struct cvmx_gmxx_rxx_stats_octs_drp_s {
4356#ifdef __BIG_ENDIAN_BITFIELD
4357                uint64_t reserved_48_63:16;
4358                uint64_t cnt:48;
4359#else
4360                uint64_t cnt:48;
4361                uint64_t reserved_48_63:16;
4362#endif
4363        } s;
4364        struct cvmx_gmxx_rxx_stats_octs_drp_s cn30xx;
4365        struct cvmx_gmxx_rxx_stats_octs_drp_s cn31xx;
4366        struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xx;
4367        struct cvmx_gmxx_rxx_stats_octs_drp_s cn38xxp2;
4368        struct cvmx_gmxx_rxx_stats_octs_drp_s cn50xx;
4369        struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xx;
4370        struct cvmx_gmxx_rxx_stats_octs_drp_s cn52xxp1;
4371        struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xx;
4372        struct cvmx_gmxx_rxx_stats_octs_drp_s cn56xxp1;
4373        struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xx;
4374        struct cvmx_gmxx_rxx_stats_octs_drp_s cn58xxp1;
4375        struct cvmx_gmxx_rxx_stats_octs_drp_s cn61xx;
4376        struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xx;
4377        struct cvmx_gmxx_rxx_stats_octs_drp_s cn63xxp1;
4378        struct cvmx_gmxx_rxx_stats_octs_drp_s cn66xx;
4379        struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xx;
4380        struct cvmx_gmxx_rxx_stats_octs_drp_s cn68xxp1;
4381        struct cvmx_gmxx_rxx_stats_octs_drp_s cnf71xx;
4382};
4383
4384union cvmx_gmxx_rxx_stats_pkts {
4385        uint64_t u64;
4386        struct cvmx_gmxx_rxx_stats_pkts_s {
4387#ifdef __BIG_ENDIAN_BITFIELD
4388                uint64_t reserved_32_63:32;
4389                uint64_t cnt:32;
4390#else
4391                uint64_t cnt:32;
4392                uint64_t reserved_32_63:32;
4393#endif
4394        } s;
4395        struct cvmx_gmxx_rxx_stats_pkts_s cn30xx;
4396        struct cvmx_gmxx_rxx_stats_pkts_s cn31xx;
4397        struct cvmx_gmxx_rxx_stats_pkts_s cn38xx;
4398        struct cvmx_gmxx_rxx_stats_pkts_s cn38xxp2;
4399        struct cvmx_gmxx_rxx_stats_pkts_s cn50xx;
4400        struct cvmx_gmxx_rxx_stats_pkts_s cn52xx;
4401        struct cvmx_gmxx_rxx_stats_pkts_s cn52xxp1;
4402        struct cvmx_gmxx_rxx_stats_pkts_s cn56xx;
4403        struct cvmx_gmxx_rxx_stats_pkts_s cn56xxp1;
4404        struct cvmx_gmxx_rxx_stats_pkts_s cn58xx;
4405        struct cvmx_gmxx_rxx_stats_pkts_s cn58xxp1;
4406        struct cvmx_gmxx_rxx_stats_pkts_s cn61xx;
4407        struct cvmx_gmxx_rxx_stats_pkts_s cn63xx;
4408        struct cvmx_gmxx_rxx_stats_pkts_s cn63xxp1;
4409        struct cvmx_gmxx_rxx_stats_pkts_s cn66xx;
4410        struct cvmx_gmxx_rxx_stats_pkts_s cn68xx;
4411        struct cvmx_gmxx_rxx_stats_pkts_s cn68xxp1;
4412        struct cvmx_gmxx_rxx_stats_pkts_s cnf71xx;
4413};
4414
4415union cvmx_gmxx_rxx_stats_pkts_bad {
4416        uint64_t u64;
4417        struct cvmx_gmxx_rxx_stats_pkts_bad_s {
4418#ifdef __BIG_ENDIAN_BITFIELD
4419                uint64_t reserved_32_63:32;
4420                uint64_t cnt:32;
4421#else
4422                uint64_t cnt:32;
4423                uint64_t reserved_32_63:32;
4424#endif
4425        } s;
4426        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn30xx;
4427        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn31xx;
4428        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xx;
4429        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn38xxp2;
4430        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn50xx;
4431        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xx;
4432        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn52xxp1;
4433        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xx;
4434        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn56xxp1;
4435        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xx;
4436        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn58xxp1;
4437        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn61xx;
4438        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xx;
4439        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn63xxp1;
4440        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn66xx;
4441        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xx;
4442        struct cvmx_gmxx_rxx_stats_pkts_bad_s cn68xxp1;
4443        struct cvmx_gmxx_rxx_stats_pkts_bad_s cnf71xx;
4444};
4445
4446union cvmx_gmxx_rxx_stats_pkts_ctl {
4447        uint64_t u64;
4448        struct cvmx_gmxx_rxx_stats_pkts_ctl_s {
4449#ifdef __BIG_ENDIAN_BITFIELD
4450                uint64_t reserved_32_63:32;
4451                uint64_t cnt:32;
4452#else
4453                uint64_t cnt:32;
4454                uint64_t reserved_32_63:32;
4455#endif
4456        } s;
4457        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn30xx;
4458        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn31xx;
4459        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xx;
4460        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn38xxp2;
4461        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn50xx;
4462        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xx;
4463        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn52xxp1;
4464        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xx;
4465        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn56xxp1;
4466        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xx;
4467        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn58xxp1;
4468        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn61xx;
4469        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xx;
4470        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn63xxp1;
4471        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn66xx;
4472        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xx;
4473        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cn68xxp1;
4474        struct cvmx_gmxx_rxx_stats_pkts_ctl_s cnf71xx;
4475};
4476
4477union cvmx_gmxx_rxx_stats_pkts_dmac {
4478        uint64_t u64;
4479        struct cvmx_gmxx_rxx_stats_pkts_dmac_s {
4480#ifdef __BIG_ENDIAN_BITFIELD
4481                uint64_t reserved_32_63:32;
4482                uint64_t cnt:32;
4483#else
4484                uint64_t cnt:32;
4485                uint64_t reserved_32_63:32;
4486#endif
4487        } s;
4488        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn30xx;
4489        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn31xx;
4490        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xx;
4491        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn38xxp2;
4492        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn50xx;
4493        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xx;
4494        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn52xxp1;
4495        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xx;
4496        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn56xxp1;
4497        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xx;
4498        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn58xxp1;
4499        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn61xx;
4500        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xx;
4501        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn63xxp1;
4502        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn66xx;
4503        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xx;
4504        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cn68xxp1;
4505        struct cvmx_gmxx_rxx_stats_pkts_dmac_s cnf71xx;
4506};
4507
4508union cvmx_gmxx_rxx_stats_pkts_drp {
4509        uint64_t u64;
4510        struct cvmx_gmxx_rxx_stats_pkts_drp_s {
4511#ifdef __BIG_ENDIAN_BITFIELD
4512                uint64_t reserved_32_63:32;
4513                uint64_t cnt:32;
4514#else
4515                uint64_t cnt:32;
4516                uint64_t reserved_32_63:32;
4517#endif
4518        } s;
4519        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn30xx;
4520        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn31xx;
4521        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xx;
4522        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn38xxp2;
4523        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn50xx;
4524        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xx;
4525        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn52xxp1;
4526        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xx;
4527        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn56xxp1;
4528        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xx;
4529        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn58xxp1;
4530        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn61xx;
4531        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xx;
4532        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn63xxp1;
4533        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn66xx;
4534        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xx;
4535        struct cvmx_gmxx_rxx_stats_pkts_drp_s cn68xxp1;
4536        struct cvmx_gmxx_rxx_stats_pkts_drp_s cnf71xx;
4537};
4538
4539union cvmx_gmxx_rxx_udd_skp {
4540        uint64_t u64;
4541        struct cvmx_gmxx_rxx_udd_skp_s {
4542#ifdef __BIG_ENDIAN_BITFIELD
4543                uint64_t reserved_9_63:55;
4544                uint64_t fcssel:1;
4545                uint64_t reserved_7_7:1;
4546                uint64_t len:7;
4547#else
4548                uint64_t len:7;
4549                uint64_t reserved_7_7:1;
4550                uint64_t fcssel:1;
4551                uint64_t reserved_9_63:55;
4552#endif
4553        } s;
4554        struct cvmx_gmxx_rxx_udd_skp_s cn30xx;
4555        struct cvmx_gmxx_rxx_udd_skp_s cn31xx;
4556        struct cvmx_gmxx_rxx_udd_skp_s cn38xx;
4557        struct cvmx_gmxx_rxx_udd_skp_s cn38xxp2;
4558        struct cvmx_gmxx_rxx_udd_skp_s cn50xx;
4559        struct cvmx_gmxx_rxx_udd_skp_s cn52xx;
4560        struct cvmx_gmxx_rxx_udd_skp_s cn52xxp1;
4561        struct cvmx_gmxx_rxx_udd_skp_s cn56xx;
4562        struct cvmx_gmxx_rxx_udd_skp_s cn56xxp1;
4563        struct cvmx_gmxx_rxx_udd_skp_s cn58xx;
4564        struct cvmx_gmxx_rxx_udd_skp_s cn58xxp1;
4565        struct cvmx_gmxx_rxx_udd_skp_s cn61xx;
4566        struct cvmx_gmxx_rxx_udd_skp_s cn63xx;
4567        struct cvmx_gmxx_rxx_udd_skp_s cn63xxp1;
4568        struct cvmx_gmxx_rxx_udd_skp_s cn66xx;
4569        struct cvmx_gmxx_rxx_udd_skp_s cn68xx;
4570        struct cvmx_gmxx_rxx_udd_skp_s cn68xxp1;
4571        struct cvmx_gmxx_rxx_udd_skp_s cnf71xx;
4572};
4573
4574union cvmx_gmxx_rx_bp_dropx {
4575        uint64_t u64;
4576        struct cvmx_gmxx_rx_bp_dropx_s {
4577#ifdef __BIG_ENDIAN_BITFIELD
4578                uint64_t reserved_6_63:58;
4579                uint64_t mark:6;
4580#else
4581                uint64_t mark:6;
4582                uint64_t reserved_6_63:58;
4583#endif
4584        } s;
4585        struct cvmx_gmxx_rx_bp_dropx_s cn30xx;
4586        struct cvmx_gmxx_rx_bp_dropx_s cn31xx;
4587        struct cvmx_gmxx_rx_bp_dropx_s cn38xx;
4588        struct cvmx_gmxx_rx_bp_dropx_s cn38xxp2;
4589        struct cvmx_gmxx_rx_bp_dropx_s cn50xx;
4590        struct cvmx_gmxx_rx_bp_dropx_s cn52xx;
4591        struct cvmx_gmxx_rx_bp_dropx_s cn52xxp1;
4592        struct cvmx_gmxx_rx_bp_dropx_s cn56xx;
4593        struct cvmx_gmxx_rx_bp_dropx_s cn56xxp1;
4594        struct cvmx_gmxx_rx_bp_dropx_s cn58xx;
4595        struct cvmx_gmxx_rx_bp_dropx_s cn58xxp1;
4596        struct cvmx_gmxx_rx_bp_dropx_s cn61xx;
4597        struct cvmx_gmxx_rx_bp_dropx_s cn63xx;
4598        struct cvmx_gmxx_rx_bp_dropx_s cn63xxp1;
4599        struct cvmx_gmxx_rx_bp_dropx_s cn66xx;
4600        struct cvmx_gmxx_rx_bp_dropx_s cn68xx;
4601        struct cvmx_gmxx_rx_bp_dropx_s cn68xxp1;
4602        struct cvmx_gmxx_rx_bp_dropx_s cnf71xx;
4603};
4604
4605union cvmx_gmxx_rx_bp_offx {
4606        uint64_t u64;
4607        struct cvmx_gmxx_rx_bp_offx_s {
4608#ifdef __BIG_ENDIAN_BITFIELD
4609                uint64_t reserved_6_63:58;
4610                uint64_t mark:6;
4611#else
4612                uint64_t mark:6;
4613                uint64_t reserved_6_63:58;
4614#endif
4615        } s;
4616        struct cvmx_gmxx_rx_bp_offx_s cn30xx;
4617        struct cvmx_gmxx_rx_bp_offx_s cn31xx;
4618        struct cvmx_gmxx_rx_bp_offx_s cn38xx;
4619        struct cvmx_gmxx_rx_bp_offx_s cn38xxp2;
4620        struct cvmx_gmxx_rx_bp_offx_s cn50xx;
4621        struct cvmx_gmxx_rx_bp_offx_s cn52xx;
4622        struct cvmx_gmxx_rx_bp_offx_s cn52xxp1;
4623        struct cvmx_gmxx_rx_bp_offx_s cn56xx;
4624        struct cvmx_gmxx_rx_bp_offx_s cn56xxp1;
4625        struct cvmx_gmxx_rx_bp_offx_s cn58xx;
4626        struct cvmx_gmxx_rx_bp_offx_s cn58xxp1;
4627        struct cvmx_gmxx_rx_bp_offx_s cn61xx;
4628        struct cvmx_gmxx_rx_bp_offx_s cn63xx;
4629        struct cvmx_gmxx_rx_bp_offx_s cn63xxp1;
4630        struct cvmx_gmxx_rx_bp_offx_s cn66xx;
4631        struct cvmx_gmxx_rx_bp_offx_s cn68xx;
4632        struct cvmx_gmxx_rx_bp_offx_s cn68xxp1;
4633        struct cvmx_gmxx_rx_bp_offx_s cnf71xx;
4634};
4635
4636union cvmx_gmxx_rx_bp_onx {
4637        uint64_t u64;
4638        struct cvmx_gmxx_rx_bp_onx_s {
4639#ifdef __BIG_ENDIAN_BITFIELD
4640                uint64_t reserved_11_63:53;
4641                uint64_t mark:11;
4642#else
4643                uint64_t mark:11;
4644                uint64_t reserved_11_63:53;
4645#endif
4646        } s;
4647        struct cvmx_gmxx_rx_bp_onx_cn30xx {
4648#ifdef __BIG_ENDIAN_BITFIELD
4649                uint64_t reserved_9_63:55;
4650                uint64_t mark:9;
4651#else
4652                uint64_t mark:9;
4653                uint64_t reserved_9_63:55;
4654#endif
4655        } cn30xx;
4656        struct cvmx_gmxx_rx_bp_onx_cn30xx cn31xx;
4657        struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xx;
4658        struct cvmx_gmxx_rx_bp_onx_cn30xx cn38xxp2;
4659        struct cvmx_gmxx_rx_bp_onx_cn30xx cn50xx;
4660        struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xx;
4661        struct cvmx_gmxx_rx_bp_onx_cn30xx cn52xxp1;
4662        struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xx;
4663        struct cvmx_gmxx_rx_bp_onx_cn30xx cn56xxp1;
4664        struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xx;
4665        struct cvmx_gmxx_rx_bp_onx_cn30xx cn58xxp1;
4666        struct cvmx_gmxx_rx_bp_onx_cn30xx cn61xx;
4667        struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xx;
4668        struct cvmx_gmxx_rx_bp_onx_cn30xx cn63xxp1;
4669        struct cvmx_gmxx_rx_bp_onx_cn30xx cn66xx;
4670        struct cvmx_gmxx_rx_bp_onx_s cn68xx;
4671        struct cvmx_gmxx_rx_bp_onx_s cn68xxp1;
4672        struct cvmx_gmxx_rx_bp_onx_cn30xx cnf71xx;
4673};
4674
4675union cvmx_gmxx_rx_hg2_status {
4676        uint64_t u64;
4677        struct cvmx_gmxx_rx_hg2_status_s {
4678#ifdef __BIG_ENDIAN_BITFIELD
4679                uint64_t reserved_48_63:16;
4680                uint64_t phtim2go:16;
4681                uint64_t xof:16;
4682                uint64_t lgtim2go:16;
4683#else
4684                uint64_t lgtim2go:16;
4685                uint64_t xof:16;
4686                uint64_t phtim2go:16;
4687                uint64_t reserved_48_63:16;
4688#endif
4689        } s;
4690        struct cvmx_gmxx_rx_hg2_status_s cn52xx;
4691        struct cvmx_gmxx_rx_hg2_status_s cn52xxp1;
4692        struct cvmx_gmxx_rx_hg2_status_s cn56xx;
4693        struct cvmx_gmxx_rx_hg2_status_s cn61xx;
4694        struct cvmx_gmxx_rx_hg2_status_s cn63xx;
4695        struct cvmx_gmxx_rx_hg2_status_s cn63xxp1;
4696        struct cvmx_gmxx_rx_hg2_status_s cn66xx;
4697        struct cvmx_gmxx_rx_hg2_status_s cn68xx;
4698        struct cvmx_gmxx_rx_hg2_status_s cn68xxp1;
4699        struct cvmx_gmxx_rx_hg2_status_s cnf71xx;
4700};
4701
4702union cvmx_gmxx_rx_pass_en {
4703        uint64_t u64;
4704        struct cvmx_gmxx_rx_pass_en_s {
4705#ifdef __BIG_ENDIAN_BITFIELD
4706                uint64_t reserved_16_63:48;
4707                uint64_t en:16;
4708#else
4709                uint64_t en:16;
4710                uint64_t reserved_16_63:48;
4711#endif
4712        } s;
4713        struct cvmx_gmxx_rx_pass_en_s cn38xx;
4714        struct cvmx_gmxx_rx_pass_en_s cn38xxp2;
4715        struct cvmx_gmxx_rx_pass_en_s cn58xx;
4716        struct cvmx_gmxx_rx_pass_en_s cn58xxp1;
4717};
4718
4719union cvmx_gmxx_rx_pass_mapx {
4720        uint64_t u64;
4721        struct cvmx_gmxx_rx_pass_mapx_s {
4722#ifdef __BIG_ENDIAN_BITFIELD
4723                uint64_t reserved_4_63:60;
4724                uint64_t dprt:4;
4725#else
4726                uint64_t dprt:4;
4727                uint64_t reserved_4_63:60;
4728#endif
4729        } s;
4730        struct cvmx_gmxx_rx_pass_mapx_s cn38xx;
4731        struct cvmx_gmxx_rx_pass_mapx_s cn38xxp2;
4732        struct cvmx_gmxx_rx_pass_mapx_s cn58xx;
4733        struct cvmx_gmxx_rx_pass_mapx_s cn58xxp1;
4734};
4735
4736union cvmx_gmxx_rx_prt_info {
4737        uint64_t u64;
4738        struct cvmx_gmxx_rx_prt_info_s {
4739#ifdef __BIG_ENDIAN_BITFIELD
4740                uint64_t reserved_32_63:32;
4741                uint64_t drop:16;
4742                uint64_t commit:16;
4743#else
4744                uint64_t commit:16;
4745                uint64_t drop:16;
4746                uint64_t reserved_32_63:32;
4747#endif
4748        } s;
4749        struct cvmx_gmxx_rx_prt_info_cn30xx {
4750#ifdef __BIG_ENDIAN_BITFIELD
4751                uint64_t reserved_19_63:45;
4752                uint64_t drop:3;
4753                uint64_t reserved_3_15:13;
4754                uint64_t commit:3;
4755#else
4756                uint64_t commit:3;
4757                uint64_t reserved_3_15:13;
4758                uint64_t drop:3;
4759                uint64_t reserved_19_63:45;
4760#endif
4761        } cn30xx;
4762        struct cvmx_gmxx_rx_prt_info_cn30xx cn31xx;
4763        struct cvmx_gmxx_rx_prt_info_s cn38xx;
4764        struct cvmx_gmxx_rx_prt_info_cn30xx cn50xx;
4765        struct cvmx_gmxx_rx_prt_info_cn52xx {
4766#ifdef __BIG_ENDIAN_BITFIELD
4767                uint64_t reserved_20_63:44;
4768                uint64_t drop:4;
4769                uint64_t reserved_4_15:12;
4770                uint64_t commit:4;
4771#else
4772                uint64_t commit:4;
4773                uint64_t reserved_4_15:12;
4774                uint64_t drop:4;
4775                uint64_t reserved_20_63:44;
4776#endif
4777        } cn52xx;
4778        struct cvmx_gmxx_rx_prt_info_cn52xx cn52xxp1;
4779        struct cvmx_gmxx_rx_prt_info_cn52xx cn56xx;
4780        struct cvmx_gmxx_rx_prt_info_cn52xx cn56xxp1;
4781        struct cvmx_gmxx_rx_prt_info_s cn58xx;
4782        struct cvmx_gmxx_rx_prt_info_s cn58xxp1;
4783        struct cvmx_gmxx_rx_prt_info_cn52xx cn61xx;
4784        struct cvmx_gmxx_rx_prt_info_cn52xx cn63xx;
4785        struct cvmx_gmxx_rx_prt_info_cn52xx cn63xxp1;
4786        struct cvmx_gmxx_rx_prt_info_cn52xx cn66xx;
4787        struct cvmx_gmxx_rx_prt_info_cn52xx cn68xx;
4788        struct cvmx_gmxx_rx_prt_info_cn52xx cn68xxp1;
4789        struct cvmx_gmxx_rx_prt_info_cnf71xx {
4790#ifdef __BIG_ENDIAN_BITFIELD
4791                uint64_t reserved_18_63:46;
4792                uint64_t drop:2;
4793                uint64_t reserved_2_15:14;
4794                uint64_t commit:2;
4795#else
4796                uint64_t commit:2;
4797                uint64_t reserved_2_15:14;
4798                uint64_t drop:2;
4799                uint64_t reserved_18_63:46;
4800#endif
4801        } cnf71xx;
4802};
4803
4804union cvmx_gmxx_rx_prts {
4805        uint64_t u64;
4806        struct cvmx_gmxx_rx_prts_s {
4807#ifdef __BIG_ENDIAN_BITFIELD
4808                uint64_t reserved_3_63:61;
4809                uint64_t prts:3;
4810#else
4811                uint64_t prts:3;
4812                uint64_t reserved_3_63:61;
4813#endif
4814        } s;
4815        struct cvmx_gmxx_rx_prts_s cn30xx;
4816        struct cvmx_gmxx_rx_prts_s cn31xx;
4817        struct cvmx_gmxx_rx_prts_s cn38xx;
4818        struct cvmx_gmxx_rx_prts_s cn38xxp2;
4819        struct cvmx_gmxx_rx_prts_s cn50xx;
4820        struct cvmx_gmxx_rx_prts_s cn52xx;
4821        struct cvmx_gmxx_rx_prts_s cn52xxp1;
4822        struct cvmx_gmxx_rx_prts_s cn56xx;
4823        struct cvmx_gmxx_rx_prts_s cn56xxp1;
4824        struct cvmx_gmxx_rx_prts_s cn58xx;
4825        struct cvmx_gmxx_rx_prts_s cn58xxp1;
4826        struct cvmx_gmxx_rx_prts_s cn61xx;
4827        struct cvmx_gmxx_rx_prts_s cn63xx;
4828        struct cvmx_gmxx_rx_prts_s cn63xxp1;
4829        struct cvmx_gmxx_rx_prts_s cn66xx;
4830        struct cvmx_gmxx_rx_prts_s cn68xx;
4831        struct cvmx_gmxx_rx_prts_s cn68xxp1;
4832        struct cvmx_gmxx_rx_prts_s cnf71xx;
4833};
4834
4835union cvmx_gmxx_rx_tx_status {
4836        uint64_t u64;
4837        struct cvmx_gmxx_rx_tx_status_s {
4838#ifdef __BIG_ENDIAN_BITFIELD
4839                uint64_t reserved_7_63:57;
4840                uint64_t tx:3;
4841                uint64_t reserved_3_3:1;
4842                uint64_t rx:3;
4843#else
4844                uint64_t rx:3;
4845                uint64_t reserved_3_3:1;
4846                uint64_t tx:3;
4847                uint64_t reserved_7_63:57;
4848#endif
4849        } s;
4850        struct cvmx_gmxx_rx_tx_status_s cn30xx;
4851        struct cvmx_gmxx_rx_tx_status_s cn31xx;
4852        struct cvmx_gmxx_rx_tx_status_s cn50xx;
4853};
4854
4855union cvmx_gmxx_rx_xaui_bad_col {
4856        uint64_t u64;
4857        struct cvmx_gmxx_rx_xaui_bad_col_s {
4858#ifdef __BIG_ENDIAN_BITFIELD
4859                uint64_t reserved_40_63:24;
4860                uint64_t val:1;
4861                uint64_t state:3;
4862                uint64_t lane_rxc:4;
4863                uint64_t lane_rxd:32;
4864#else
4865                uint64_t lane_rxd:32;
4866                uint64_t lane_rxc:4;
4867                uint64_t state:3;
4868                uint64_t val:1;
4869                uint64_t reserved_40_63:24;
4870#endif
4871        } s;
4872        struct cvmx_gmxx_rx_xaui_bad_col_s cn52xx;
4873        struct cvmx_gmxx_rx_xaui_bad_col_s cn52xxp1;
4874        struct cvmx_gmxx_rx_xaui_bad_col_s cn56xx;
4875        struct cvmx_gmxx_rx_xaui_bad_col_s cn56xxp1;
4876        struct cvmx_gmxx_rx_xaui_bad_col_s cn61xx;
4877        struct cvmx_gmxx_rx_xaui_bad_col_s cn63xx;
4878        struct cvmx_gmxx_rx_xaui_bad_col_s cn63xxp1;
4879        struct cvmx_gmxx_rx_xaui_bad_col_s cn66xx;
4880        struct cvmx_gmxx_rx_xaui_bad_col_s cn68xx;
4881        struct cvmx_gmxx_rx_xaui_bad_col_s cn68xxp1;
4882        struct cvmx_gmxx_rx_xaui_bad_col_s cnf71xx;
4883};
4884
4885union cvmx_gmxx_rx_xaui_ctl {
4886        uint64_t u64;
4887        struct cvmx_gmxx_rx_xaui_ctl_s {
4888#ifdef __BIG_ENDIAN_BITFIELD
4889                uint64_t reserved_2_63:62;
4890                uint64_t status:2;
4891#else
4892                uint64_t status:2;
4893                uint64_t reserved_2_63:62;
4894#endif
4895        } s;
4896        struct cvmx_gmxx_rx_xaui_ctl_s cn52xx;
4897        struct cvmx_gmxx_rx_xaui_ctl_s cn52xxp1;
4898        struct cvmx_gmxx_rx_xaui_ctl_s cn56xx;
4899        struct cvmx_gmxx_rx_xaui_ctl_s cn56xxp1;
4900        struct cvmx_gmxx_rx_xaui_ctl_s cn61xx;
4901        struct cvmx_gmxx_rx_xaui_ctl_s cn63xx;
4902        struct cvmx_gmxx_rx_xaui_ctl_s cn63xxp1;
4903        struct cvmx_gmxx_rx_xaui_ctl_s cn66xx;
4904        struct cvmx_gmxx_rx_xaui_ctl_s cn68xx;
4905        struct cvmx_gmxx_rx_xaui_ctl_s cn68xxp1;
4906        struct cvmx_gmxx_rx_xaui_ctl_s cnf71xx;
4907};
4908
4909union cvmx_gmxx_rxaui_ctl {
4910        uint64_t u64;
4911        struct cvmx_gmxx_rxaui_ctl_s {
4912#ifdef __BIG_ENDIAN_BITFIELD
4913                uint64_t reserved_1_63:63;
4914                uint64_t disparity:1;
4915#else
4916                uint64_t disparity:1;
4917                uint64_t reserved_1_63:63;
4918#endif
4919        } s;
4920        struct cvmx_gmxx_rxaui_ctl_s cn68xx;
4921        struct cvmx_gmxx_rxaui_ctl_s cn68xxp1;
4922};
4923
4924union cvmx_gmxx_smacx {
4925        uint64_t u64;
4926        struct cvmx_gmxx_smacx_s {
4927#ifdef __BIG_ENDIAN_BITFIELD
4928                uint64_t reserved_48_63:16;
4929                uint64_t smac:48;
4930#else
4931                uint64_t smac:48;
4932                uint64_t reserved_48_63:16;
4933#endif
4934        } s;
4935        struct cvmx_gmxx_smacx_s cn30xx;
4936        struct cvmx_gmxx_smacx_s cn31xx;
4937        struct cvmx_gmxx_smacx_s cn38xx;
4938        struct cvmx_gmxx_smacx_s cn38xxp2;
4939        struct cvmx_gmxx_smacx_s cn50xx;
4940        struct cvmx_gmxx_smacx_s cn52xx;
4941        struct cvmx_gmxx_smacx_s cn52xxp1;
4942        struct cvmx_gmxx_smacx_s cn56xx;
4943        struct cvmx_gmxx_smacx_s cn56xxp1;
4944        struct cvmx_gmxx_smacx_s cn58xx;
4945        struct cvmx_gmxx_smacx_s cn58xxp1;
4946        struct cvmx_gmxx_smacx_s cn61xx;
4947        struct cvmx_gmxx_smacx_s cn63xx;
4948        struct cvmx_gmxx_smacx_s cn63xxp1;
4949        struct cvmx_gmxx_smacx_s cn66xx;
4950        struct cvmx_gmxx_smacx_s cn68xx;
4951        struct cvmx_gmxx_smacx_s cn68xxp1;
4952        struct cvmx_gmxx_smacx_s cnf71xx;
4953};
4954
4955union cvmx_gmxx_soft_bist {
4956        uint64_t u64;
4957        struct cvmx_gmxx_soft_bist_s {
4958#ifdef __BIG_ENDIAN_BITFIELD
4959                uint64_t reserved_2_63:62;
4960                uint64_t start_bist:1;
4961                uint64_t clear_bist:1;
4962#else
4963                uint64_t clear_bist:1;
4964                uint64_t start_bist:1;
4965                uint64_t reserved_2_63:62;
4966#endif
4967        } s;
4968        struct cvmx_gmxx_soft_bist_s cn63xx;
4969        struct cvmx_gmxx_soft_bist_s cn63xxp1;
4970        struct cvmx_gmxx_soft_bist_s cn66xx;
4971        struct cvmx_gmxx_soft_bist_s cn68xx;
4972        struct cvmx_gmxx_soft_bist_s cn68xxp1;
4973};
4974
4975union cvmx_gmxx_stat_bp {
4976        uint64_t u64;
4977        struct cvmx_gmxx_stat_bp_s {
4978#ifdef __BIG_ENDIAN_BITFIELD
4979                uint64_t reserved_17_63:47;
4980                uint64_t bp:1;
4981                uint64_t cnt:16;
4982#else
4983                uint64_t cnt:16;
4984                uint64_t bp:1;
4985                uint64_t reserved_17_63:47;
4986#endif
4987        } s;
4988        struct cvmx_gmxx_stat_bp_s cn30xx;
4989        struct cvmx_gmxx_stat_bp_s cn31xx;
4990        struct cvmx_gmxx_stat_bp_s cn38xx;
4991        struct cvmx_gmxx_stat_bp_s cn38xxp2;
4992        struct cvmx_gmxx_stat_bp_s cn50xx;
4993        struct cvmx_gmxx_stat_bp_s cn52xx;
4994        struct cvmx_gmxx_stat_bp_s cn52xxp1;
4995        struct cvmx_gmxx_stat_bp_s cn56xx;
4996        struct cvmx_gmxx_stat_bp_s cn56xxp1;
4997        struct cvmx_gmxx_stat_bp_s cn58xx;
4998        struct cvmx_gmxx_stat_bp_s cn58xxp1;
4999        struct cvmx_gmxx_stat_bp_s cn61xx;
5000        struct cvmx_gmxx_stat_bp_s cn63xx;
5001        struct cvmx_gmxx_stat_bp_s cn63xxp1;
5002        struct cvmx_gmxx_stat_bp_s cn66xx;
5003        struct cvmx_gmxx_stat_bp_s cn68xx;
5004        struct cvmx_gmxx_stat_bp_s cn68xxp1;
5005        struct cvmx_gmxx_stat_bp_s cnf71xx;
5006};
5007
5008union cvmx_gmxx_tb_reg {
5009        uint64_t u64;
5010        struct cvmx_gmxx_tb_reg_s {
5011#ifdef __BIG_ENDIAN_BITFIELD
5012                uint64_t reserved_1_63:63;
5013                uint64_t wr_magic:1;
5014#else
5015                uint64_t wr_magic:1;
5016                uint64_t reserved_1_63:63;
5017#endif
5018        } s;
5019        struct cvmx_gmxx_tb_reg_s cn61xx;
5020        struct cvmx_gmxx_tb_reg_s cn66xx;
5021        struct cvmx_gmxx_tb_reg_s cn68xx;
5022        struct cvmx_gmxx_tb_reg_s cnf71xx;
5023};
5024
5025union cvmx_gmxx_txx_append {
5026        uint64_t u64;
5027        struct cvmx_gmxx_txx_append_s {
5028#ifdef __BIG_ENDIAN_BITFIELD
5029                uint64_t reserved_4_63:60;
5030                uint64_t force_fcs:1;
5031                uint64_t fcs:1;
5032                uint64_t pad:1;
5033                uint64_t preamble:1;
5034#else
5035                uint64_t preamble:1;
5036                uint64_t pad:1;
5037                uint64_t fcs:1;
5038                uint64_t force_fcs:1;
5039                uint64_t reserved_4_63:60;
5040#endif
5041        } s;
5042        struct cvmx_gmxx_txx_append_s cn30xx;
5043        struct cvmx_gmxx_txx_append_s cn31xx;
5044        struct cvmx_gmxx_txx_append_s cn38xx;
5045        struct cvmx_gmxx_txx_append_s cn38xxp2;
5046        struct cvmx_gmxx_txx_append_s cn50xx;
5047        struct cvmx_gmxx_txx_append_s cn52xx;
5048        struct cvmx_gmxx_txx_append_s cn52xxp1;
5049        struct cvmx_gmxx_txx_append_s cn56xx;
5050        struct cvmx_gmxx_txx_append_s cn56xxp1;
5051        struct cvmx_gmxx_txx_append_s cn58xx;
5052        struct cvmx_gmxx_txx_append_s cn58xxp1;
5053        struct cvmx_gmxx_txx_append_s cn61xx;
5054        struct cvmx_gmxx_txx_append_s cn63xx;
5055        struct cvmx_gmxx_txx_append_s cn63xxp1;
5056        struct cvmx_gmxx_txx_append_s cn66xx;
5057        struct cvmx_gmxx_txx_append_s cn68xx;
5058        struct cvmx_gmxx_txx_append_s cn68xxp1;
5059        struct cvmx_gmxx_txx_append_s cnf71xx;
5060};
5061
5062union cvmx_gmxx_txx_burst {
5063        uint64_t u64;
5064        struct cvmx_gmxx_txx_burst_s {
5065#ifdef __BIG_ENDIAN_BITFIELD
5066                uint64_t reserved_16_63:48;
5067                uint64_t burst:16;
5068#else
5069                uint64_t burst:16;
5070                uint64_t reserved_16_63:48;
5071#endif
5072        } s;
5073        struct cvmx_gmxx_txx_burst_s cn30xx;
5074        struct cvmx_gmxx_txx_burst_s cn31xx;
5075        struct cvmx_gmxx_txx_burst_s cn38xx;
5076        struct cvmx_gmxx_txx_burst_s cn38xxp2;
5077        struct cvmx_gmxx_txx_burst_s cn50xx;
5078        struct cvmx_gmxx_txx_burst_s cn52xx;
5079        struct cvmx_gmxx_txx_burst_s cn52xxp1;
5080        struct cvmx_gmxx_txx_burst_s cn56xx;
5081        struct cvmx_gmxx_txx_burst_s cn56xxp1;
5082        struct cvmx_gmxx_txx_burst_s cn58xx;
5083        struct cvmx_gmxx_txx_burst_s cn58xxp1;
5084        struct cvmx_gmxx_txx_burst_s cn61xx;
5085        struct cvmx_gmxx_txx_burst_s cn63xx;
5086        struct cvmx_gmxx_txx_burst_s cn63xxp1;
5087        struct cvmx_gmxx_txx_burst_s cn66xx;
5088        struct cvmx_gmxx_txx_burst_s cn68xx;
5089        struct cvmx_gmxx_txx_burst_s cn68xxp1;
5090        struct cvmx_gmxx_txx_burst_s cnf71xx;
5091};
5092
5093union cvmx_gmxx_txx_cbfc_xoff {
5094        uint64_t u64;
5095        struct cvmx_gmxx_txx_cbfc_xoff_s {
5096#ifdef __BIG_ENDIAN_BITFIELD
5097                uint64_t reserved_16_63:48;
5098                uint64_t xoff:16;
5099#else
5100                uint64_t xoff:16;
5101                uint64_t reserved_16_63:48;
5102#endif
5103        } s;
5104        struct cvmx_gmxx_txx_cbfc_xoff_s cn52xx;
5105        struct cvmx_gmxx_txx_cbfc_xoff_s cn56xx;
5106        struct cvmx_gmxx_txx_cbfc_xoff_s cn61xx;
5107        struct cvmx_gmxx_txx_cbfc_xoff_s cn63xx;
5108        struct cvmx_gmxx_txx_cbfc_xoff_s cn63xxp1;
5109        struct cvmx_gmxx_txx_cbfc_xoff_s cn66xx;
5110        struct cvmx_gmxx_txx_cbfc_xoff_s cn68xx;
5111        struct cvmx_gmxx_txx_cbfc_xoff_s cn68xxp1;
5112        struct cvmx_gmxx_txx_cbfc_xoff_s cnf71xx;
5113};
5114
5115union cvmx_gmxx_txx_cbfc_xon {
5116        uint64_t u64;
5117        struct cvmx_gmxx_txx_cbfc_xon_s {
5118#ifdef __BIG_ENDIAN_BITFIELD
5119                uint64_t reserved_16_63:48;
5120                uint64_t xon:16;
5121#else
5122                uint64_t xon:16;
5123                uint64_t reserved_16_63:48;
5124#endif
5125        } s;
5126        struct cvmx_gmxx_txx_cbfc_xon_s cn52xx;
5127        struct cvmx_gmxx_txx_cbfc_xon_s cn56xx;
5128        struct cvmx_gmxx_txx_cbfc_xon_s cn61xx;
5129        struct cvmx_gmxx_txx_cbfc_xon_s cn63xx;
5130        struct cvmx_gmxx_txx_cbfc_xon_s cn63xxp1;
5131        struct cvmx_gmxx_txx_cbfc_xon_s cn66xx;
5132        struct cvmx_gmxx_txx_cbfc_xon_s cn68xx;
5133        struct cvmx_gmxx_txx_cbfc_xon_s cn68xxp1;
5134        struct cvmx_gmxx_txx_cbfc_xon_s cnf71xx;
5135};
5136
5137union cvmx_gmxx_txx_clk {
5138        uint64_t u64;
5139        struct cvmx_gmxx_txx_clk_s {
5140#ifdef __BIG_ENDIAN_BITFIELD
5141                uint64_t reserved_6_63:58;
5142                uint64_t clk_cnt:6;
5143#else
5144                uint64_t clk_cnt:6;
5145                uint64_t reserved_6_63:58;
5146#endif
5147        } s;
5148        struct cvmx_gmxx_txx_clk_s cn30xx;
5149        struct cvmx_gmxx_txx_clk_s cn31xx;
5150        struct cvmx_gmxx_txx_clk_s cn38xx;
5151        struct cvmx_gmxx_txx_clk_s cn38xxp2;
5152        struct cvmx_gmxx_txx_clk_s cn50xx;
5153        struct cvmx_gmxx_txx_clk_s cn58xx;
5154        struct cvmx_gmxx_txx_clk_s cn58xxp1;
5155};
5156
5157union cvmx_gmxx_txx_ctl {
5158        uint64_t u64;
5159        struct cvmx_gmxx_txx_ctl_s {
5160#ifdef __BIG_ENDIAN_BITFIELD
5161                uint64_t reserved_2_63:62;
5162                uint64_t xsdef_en:1;
5163                uint64_t xscol_en:1;
5164#else
5165                uint64_t xscol_en:1;
5166                uint64_t xsdef_en:1;
5167                uint64_t reserved_2_63:62;
5168#endif
5169        } s;
5170        struct cvmx_gmxx_txx_ctl_s cn30xx;
5171        struct cvmx_gmxx_txx_ctl_s cn31xx;
5172        struct cvmx_gmxx_txx_ctl_s cn38xx;
5173        struct cvmx_gmxx_txx_ctl_s cn38xxp2;
5174        struct cvmx_gmxx_txx_ctl_s cn50xx;
5175        struct cvmx_gmxx_txx_ctl_s cn52xx;
5176        struct cvmx_gmxx_txx_ctl_s cn52xxp1;
5177        struct cvmx_gmxx_txx_ctl_s cn56xx;
5178        struct cvmx_gmxx_txx_ctl_s cn56xxp1;
5179        struct cvmx_gmxx_txx_ctl_s cn58xx;
5180        struct cvmx_gmxx_txx_ctl_s cn58xxp1;
5181        struct cvmx_gmxx_txx_ctl_s cn61xx;
5182        struct cvmx_gmxx_txx_ctl_s cn63xx;
5183        struct cvmx_gmxx_txx_ctl_s cn63xxp1;
5184        struct cvmx_gmxx_txx_ctl_s cn66xx;
5185        struct cvmx_gmxx_txx_ctl_s cn68xx;
5186        struct cvmx_gmxx_txx_ctl_s cn68xxp1;
5187        struct cvmx_gmxx_txx_ctl_s cnf71xx;
5188};
5189
5190union cvmx_gmxx_txx_min_pkt {
5191        uint64_t u64;
5192        struct cvmx_gmxx_txx_min_pkt_s {
5193#ifdef __BIG_ENDIAN_BITFIELD
5194                uint64_t reserved_8_63:56;
5195                uint64_t min_size:8;
5196#else
5197                uint64_t min_size:8;
5198                uint64_t reserved_8_63:56;
5199#endif
5200        } s;
5201        struct cvmx_gmxx_txx_min_pkt_s cn30xx;
5202        struct cvmx_gmxx_txx_min_pkt_s cn31xx;
5203        struct cvmx_gmxx_txx_min_pkt_s cn38xx;
5204        struct cvmx_gmxx_txx_min_pkt_s cn38xxp2;
5205        struct cvmx_gmxx_txx_min_pkt_s cn50xx;
5206        struct cvmx_gmxx_txx_min_pkt_s cn52xx;
5207        struct cvmx_gmxx_txx_min_pkt_s cn52xxp1;
5208        struct cvmx_gmxx_txx_min_pkt_s cn56xx;
5209        struct cvmx_gmxx_txx_min_pkt_s cn56xxp1;
5210        struct cvmx_gmxx_txx_min_pkt_s cn58xx;
5211        struct cvmx_gmxx_txx_min_pkt_s cn58xxp1;
5212        struct cvmx_gmxx_txx_min_pkt_s cn61xx;
5213        struct cvmx_gmxx_txx_min_pkt_s cn63xx;
5214        struct cvmx_gmxx_txx_min_pkt_s cn63xxp1;
5215        struct cvmx_gmxx_txx_min_pkt_s cn66xx;
5216        struct cvmx_gmxx_txx_min_pkt_s cn68xx;
5217        struct cvmx_gmxx_txx_min_pkt_s cn68xxp1;
5218        struct cvmx_gmxx_txx_min_pkt_s cnf71xx;
5219};
5220
5221union cvmx_gmxx_txx_pause_pkt_interval {
5222        uint64_t u64;
5223        struct cvmx_gmxx_txx_pause_pkt_interval_s {
5224#ifdef __BIG_ENDIAN_BITFIELD
5225                uint64_t reserved_16_63:48;
5226                uint64_t interval:16;
5227#else
5228                uint64_t interval:16;
5229                uint64_t reserved_16_63:48;
5230#endif
5231        } s;
5232        struct cvmx_gmxx_txx_pause_pkt_interval_s cn30xx;
5233        struct cvmx_gmxx_txx_pause_pkt_interval_s cn31xx;
5234        struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xx;
5235        struct cvmx_gmxx_txx_pause_pkt_interval_s cn38xxp2;
5236        struct cvmx_gmxx_txx_pause_pkt_interval_s cn50xx;
5237        struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xx;
5238        struct cvmx_gmxx_txx_pause_pkt_interval_s cn52xxp1;
5239        struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xx;
5240        struct cvmx_gmxx_txx_pause_pkt_interval_s cn56xxp1;
5241        struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xx;
5242        struct cvmx_gmxx_txx_pause_pkt_interval_s cn58xxp1;
5243        struct cvmx_gmxx_txx_pause_pkt_interval_s cn61xx;
5244        struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xx;
5245        struct cvmx_gmxx_txx_pause_pkt_interval_s cn63xxp1;
5246        struct cvmx_gmxx_txx_pause_pkt_interval_s cn66xx;
5247        struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xx;
5248        struct cvmx_gmxx_txx_pause_pkt_interval_s cn68xxp1;
5249        struct cvmx_gmxx_txx_pause_pkt_interval_s cnf71xx;
5250};
5251
5252union cvmx_gmxx_txx_pause_pkt_time {
5253        uint64_t u64;
5254        struct cvmx_gmxx_txx_pause_pkt_time_s {
5255#ifdef __BIG_ENDIAN_BITFIELD
5256                uint64_t reserved_16_63:48;
5257                uint64_t time:16;
5258#else
5259                uint64_t time:16;
5260                uint64_t reserved_16_63:48;
5261#endif
5262        } s;
5263        struct cvmx_gmxx_txx_pause_pkt_time_s cn30xx;
5264        struct cvmx_gmxx_txx_pause_pkt_time_s cn31xx;
5265        struct cvmx_gmxx_txx_pause_pkt_time_s cn38xx;
5266        struct cvmx_gmxx_txx_pause_pkt_time_s cn38xxp2;
5267        struct cvmx_gmxx_txx_pause_pkt_time_s cn50xx;
5268        struct cvmx_gmxx_txx_pause_pkt_time_s cn52xx;
5269        struct cvmx_gmxx_txx_pause_pkt_time_s cn52xxp1;
5270        struct cvmx_gmxx_txx_pause_pkt_time_s cn56xx;
5271        struct cvmx_gmxx_txx_pause_pkt_time_s cn56xxp1;
5272        struct cvmx_gmxx_txx_pause_pkt_time_s cn58xx;
5273        struct cvmx_gmxx_txx_pause_pkt_time_s cn58xxp1;
5274        struct cvmx_gmxx_txx_pause_pkt_time_s cn61xx;
5275        struct cvmx_gmxx_txx_pause_pkt_time_s cn63xx;
5276        struct cvmx_gmxx_txx_pause_pkt_time_s cn63xxp1;
5277        struct cvmx_gmxx_txx_pause_pkt_time_s cn66xx;
5278        struct cvmx_gmxx_txx_pause_pkt_time_s cn68xx;
5279        struct cvmx_gmxx_txx_pause_pkt_time_s cn68xxp1;
5280        struct cvmx_gmxx_txx_pause_pkt_time_s cnf71xx;
5281};
5282
5283union cvmx_gmxx_txx_pause_togo {
5284        uint64_t u64;
5285        struct cvmx_gmxx_txx_pause_togo_s {
5286#ifdef __BIG_ENDIAN_BITFIELD
5287                uint64_t reserved_32_63:32;
5288                uint64_t msg_time:16;
5289                uint64_t time:16;
5290#else
5291                uint64_t time:16;
5292                uint64_t msg_time:16;
5293                uint64_t reserved_32_63:32;
5294#endif
5295        } s;
5296        struct cvmx_gmxx_txx_pause_togo_cn30xx {
5297#ifdef __BIG_ENDIAN_BITFIELD
5298                uint64_t reserved_16_63:48;
5299                uint64_t time:16;
5300#else
5301                uint64_t time:16;
5302                uint64_t reserved_16_63:48;
5303#endif
5304        } cn30xx;
5305        struct cvmx_gmxx_txx_pause_togo_cn30xx cn31xx;
5306        struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xx;
5307        struct cvmx_gmxx_txx_pause_togo_cn30xx cn38xxp2;
5308        struct cvmx_gmxx_txx_pause_togo_cn30xx cn50xx;
5309        struct cvmx_gmxx_txx_pause_togo_s cn52xx;
5310        struct cvmx_gmxx_txx_pause_togo_s cn52xxp1;
5311        struct cvmx_gmxx_txx_pause_togo_s cn56xx;
5312        struct cvmx_gmxx_txx_pause_togo_cn30xx cn56xxp1;
5313        struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xx;
5314        struct cvmx_gmxx_txx_pause_togo_cn30xx cn58xxp1;
5315        struct cvmx_gmxx_txx_pause_togo_s cn61xx;
5316        struct cvmx_gmxx_txx_pause_togo_s cn63xx;
5317        struct cvmx_gmxx_txx_pause_togo_s cn63xxp1;
5318        struct cvmx_gmxx_txx_pause_togo_s cn66xx;
5319        struct cvmx_gmxx_txx_pause_togo_s cn68xx;
5320        struct cvmx_gmxx_txx_pause_togo_s cn68xxp1;
5321        struct cvmx_gmxx_txx_pause_togo_s cnf71xx;
5322};
5323
5324union cvmx_gmxx_txx_pause_zero {
5325        uint64_t u64;
5326        struct cvmx_gmxx_txx_pause_zero_s {
5327#ifdef __BIG_ENDIAN_BITFIELD
5328                uint64_t reserved_1_63:63;
5329                uint64_t send:1;
5330#else
5331                uint64_t send:1;
5332                uint64_t reserved_1_63:63;
5333#endif
5334        } s;
5335        struct cvmx_gmxx_txx_pause_zero_s cn30xx;
5336        struct cvmx_gmxx_txx_pause_zero_s cn31xx;
5337        struct cvmx_gmxx_txx_pause_zero_s cn38xx;
5338        struct cvmx_gmxx_txx_pause_zero_s cn38xxp2;
5339        struct cvmx_gmxx_txx_pause_zero_s cn50xx;
5340        struct cvmx_gmxx_txx_pause_zero_s cn52xx;
5341        struct cvmx_gmxx_txx_pause_zero_s cn52xxp1;
5342        struct cvmx_gmxx_txx_pause_zero_s cn56xx;
5343        struct cvmx_gmxx_txx_pause_zero_s cn56xxp1;
5344        struct cvmx_gmxx_txx_pause_zero_s cn58xx;
5345        struct cvmx_gmxx_txx_pause_zero_s cn58xxp1;
5346        struct cvmx_gmxx_txx_pause_zero_s cn61xx;
5347        struct cvmx_gmxx_txx_pause_zero_s cn63xx;
5348        struct cvmx_gmxx_txx_pause_zero_s cn63xxp1;
5349        struct cvmx_gmxx_txx_pause_zero_s cn66xx;
5350        struct cvmx_gmxx_txx_pause_zero_s cn68xx;
5351        struct cvmx_gmxx_txx_pause_zero_s cn68xxp1;
5352        struct cvmx_gmxx_txx_pause_zero_s cnf71xx;
5353};
5354
5355union cvmx_gmxx_txx_pipe {
5356        uint64_t u64;
5357        struct cvmx_gmxx_txx_pipe_s {
5358#ifdef __BIG_ENDIAN_BITFIELD
5359                uint64_t reserved_33_63:31;
5360                uint64_t ign_bp:1;
5361                uint64_t reserved_21_31:11;
5362                uint64_t nump:5;
5363                uint64_t reserved_7_15:9;
5364                uint64_t base:7;
5365#else
5366                uint64_t base:7;
5367                uint64_t reserved_7_15:9;
5368                uint64_t nump:5;
5369                uint64_t reserved_21_31:11;
5370                uint64_t ign_bp:1;
5371                uint64_t reserved_33_63:31;
5372#endif
5373        } s;
5374        struct cvmx_gmxx_txx_pipe_s cn68xx;
5375        struct cvmx_gmxx_txx_pipe_s cn68xxp1;
5376};
5377
5378union cvmx_gmxx_txx_sgmii_ctl {
5379        uint64_t u64;
5380        struct cvmx_gmxx_txx_sgmii_ctl_s {
5381#ifdef __BIG_ENDIAN_BITFIELD
5382                uint64_t reserved_1_63:63;
5383                uint64_t align:1;
5384#else
5385                uint64_t align:1;
5386                uint64_t reserved_1_63:63;
5387#endif
5388        } s;
5389        struct cvmx_gmxx_txx_sgmii_ctl_s cn52xx;
5390        struct cvmx_gmxx_txx_sgmii_ctl_s cn52xxp1;
5391        struct cvmx_gmxx_txx_sgmii_ctl_s cn56xx;
5392        struct cvmx_gmxx_txx_sgmii_ctl_s cn56xxp1;
5393        struct cvmx_gmxx_txx_sgmii_ctl_s cn61xx;
5394        struct cvmx_gmxx_txx_sgmii_ctl_s cn63xx;
5395        struct cvmx_gmxx_txx_sgmii_ctl_s cn63xxp1;
5396        struct cvmx_gmxx_txx_sgmii_ctl_s cn66xx;
5397        struct cvmx_gmxx_txx_sgmii_ctl_s cn68xx;
5398        struct cvmx_gmxx_txx_sgmii_ctl_s cn68xxp1;
5399        struct cvmx_gmxx_txx_sgmii_ctl_s cnf71xx;
5400};
5401
5402union cvmx_gmxx_txx_slot {
5403        uint64_t u64;
5404        struct cvmx_gmxx_txx_slot_s {
5405#ifdef __BIG_ENDIAN_BITFIELD
5406                uint64_t reserved_10_63:54;
5407                uint64_t slot:10;
5408#else
5409                uint64_t slot:10;
5410                uint64_t reserved_10_63:54;
5411#endif
5412        } s;
5413        struct cvmx_gmxx_txx_slot_s cn30xx;
5414        struct cvmx_gmxx_txx_slot_s cn31xx;
5415        struct cvmx_gmxx_txx_slot_s cn38xx;
5416        struct cvmx_gmxx_txx_slot_s cn38xxp2;
5417        struct cvmx_gmxx_txx_slot_s cn50xx;
5418        struct cvmx_gmxx_txx_slot_s cn52xx;
5419        struct cvmx_gmxx_txx_slot_s cn52xxp1;
5420        struct cvmx_gmxx_txx_slot_s cn56xx;
5421        struct cvmx_gmxx_txx_slot_s cn56xxp1;
5422        struct cvmx_gmxx_txx_slot_s cn58xx;
5423        struct cvmx_gmxx_txx_slot_s cn58xxp1;
5424        struct cvmx_gmxx_txx_slot_s cn61xx;
5425        struct cvmx_gmxx_txx_slot_s cn63xx;
5426        struct cvmx_gmxx_txx_slot_s cn63xxp1;
5427        struct cvmx_gmxx_txx_slot_s cn66xx;
5428        struct cvmx_gmxx_txx_slot_s cn68xx;
5429        struct cvmx_gmxx_txx_slot_s cn68xxp1;
5430        struct cvmx_gmxx_txx_slot_s cnf71xx;
5431};
5432
5433union cvmx_gmxx_txx_soft_pause {
5434        uint64_t u64;
5435        struct cvmx_gmxx_txx_soft_pause_s {
5436#ifdef __BIG_ENDIAN_BITFIELD
5437                uint64_t reserved_16_63:48;
5438                uint64_t time:16;
5439#else
5440                uint64_t time:16;
5441                uint64_t reserved_16_63:48;
5442#endif
5443        } s;
5444        struct cvmx_gmxx_txx_soft_pause_s cn30xx;
5445        struct cvmx_gmxx_txx_soft_pause_s cn31xx;
5446        struct cvmx_gmxx_txx_soft_pause_s cn38xx;
5447        struct cvmx_gmxx_txx_soft_pause_s cn38xxp2;
5448        struct cvmx_gmxx_txx_soft_pause_s cn50xx;
5449        struct cvmx_gmxx_txx_soft_pause_s cn52xx;
5450        struct cvmx_gmxx_txx_soft_pause_s cn52xxp1;
5451        struct cvmx_gmxx_txx_soft_pause_s cn56xx;
5452        struct cvmx_gmxx_txx_soft_pause_s cn56xxp1;
5453        struct cvmx_gmxx_txx_soft_pause_s cn58xx;
5454        struct cvmx_gmxx_txx_soft_pause_s cn58xxp1;
5455        struct cvmx_gmxx_txx_soft_pause_s cn61xx;
5456        struct cvmx_gmxx_txx_soft_pause_s cn63xx;
5457        struct cvmx_gmxx_txx_soft_pause_s cn63xxp1;
5458        struct cvmx_gmxx_txx_soft_pause_s cn66xx;
5459        struct cvmx_gmxx_txx_soft_pause_s cn68xx;
5460        struct cvmx_gmxx_txx_soft_pause_s cn68xxp1;
5461        struct cvmx_gmxx_txx_soft_pause_s cnf71xx;
5462};
5463
5464union cvmx_gmxx_txx_stat0 {
5465        uint64_t u64;
5466        struct cvmx_gmxx_txx_stat0_s {
5467#ifdef __BIG_ENDIAN_BITFIELD
5468                uint64_t xsdef:32;
5469                uint64_t xscol:32;
5470#else
5471                uint64_t xscol:32;
5472                uint64_t xsdef:32;
5473#endif
5474        } s;
5475        struct cvmx_gmxx_txx_stat0_s cn30xx;
5476        struct cvmx_gmxx_txx_stat0_s cn31xx;
5477        struct cvmx_gmxx_txx_stat0_s cn38xx;
5478        struct cvmx_gmxx_txx_stat0_s cn38xxp2;
5479        struct cvmx_gmxx_txx_stat0_s cn50xx;
5480        struct cvmx_gmxx_txx_stat0_s cn52xx;
5481        struct cvmx_gmxx_txx_stat0_s cn52xxp1;
5482        struct cvmx_gmxx_txx_stat0_s cn56xx;
5483        struct cvmx_gmxx_txx_stat0_s cn56xxp1;
5484        struct cvmx_gmxx_txx_stat0_s cn58xx;
5485        struct cvmx_gmxx_txx_stat0_s cn58xxp1;
5486        struct cvmx_gmxx_txx_stat0_s cn61xx;
5487        struct cvmx_gmxx_txx_stat0_s cn63xx;
5488        struct cvmx_gmxx_txx_stat0_s cn63xxp1;
5489        struct cvmx_gmxx_txx_stat0_s cn66xx;
5490        struct cvmx_gmxx_txx_stat0_s cn68xx;
5491        struct cvmx_gmxx_txx_stat0_s cn68xxp1;
5492        struct cvmx_gmxx_txx_stat0_s cnf71xx;
5493};
5494
5495union cvmx_gmxx_txx_stat1 {
5496        uint64_t u64;
5497        struct cvmx_gmxx_txx_stat1_s {
5498#ifdef __BIG_ENDIAN_BITFIELD
5499                uint64_t scol:32;
5500                uint64_t mcol:32;
5501#else
5502                uint64_t mcol:32;
5503                uint64_t scol:32;
5504#endif
5505        } s;
5506        struct cvmx_gmxx_txx_stat1_s cn30xx;
5507        struct cvmx_gmxx_txx_stat1_s cn31xx;
5508        struct cvmx_gmxx_txx_stat1_s cn38xx;
5509        struct cvmx_gmxx_txx_stat1_s cn38xxp2;
5510        struct cvmx_gmxx_txx_stat1_s cn50xx;
5511        struct cvmx_gmxx_txx_stat1_s cn52xx;
5512        struct cvmx_gmxx_txx_stat1_s cn52xxp1;
5513        struct cvmx_gmxx_txx_stat1_s cn56xx;
5514        struct cvmx_gmxx_txx_stat1_s cn56xxp1;
5515        struct cvmx_gmxx_txx_stat1_s cn58xx;
5516        struct cvmx_gmxx_txx_stat1_s cn58xxp1;
5517        struct cvmx_gmxx_txx_stat1_s cn61xx;
5518        struct cvmx_gmxx_txx_stat1_s cn63xx;
5519        struct cvmx_gmxx_txx_stat1_s cn63xxp1;
5520        struct cvmx_gmxx_txx_stat1_s cn66xx;
5521        struct cvmx_gmxx_txx_stat1_s cn68xx;
5522        struct cvmx_gmxx_txx_stat1_s cn68xxp1;
5523        struct cvmx_gmxx_txx_stat1_s cnf71xx;
5524};
5525
5526union cvmx_gmxx_txx_stat2 {
5527        uint64_t u64;
5528        struct cvmx_gmxx_txx_stat2_s {
5529#ifdef __BIG_ENDIAN_BITFIELD
5530                uint64_t reserved_48_63:16;
5531                uint64_t octs:48;
5532#else
5533                uint64_t octs:48;
5534                uint64_t reserved_48_63:16;
5535#endif
5536        } s;
5537        struct cvmx_gmxx_txx_stat2_s cn30xx;
5538        struct cvmx_gmxx_txx_stat2_s cn31xx;
5539        struct cvmx_gmxx_txx_stat2_s cn38xx;
5540        struct cvmx_gmxx_txx_stat2_s cn38xxp2;
5541        struct cvmx_gmxx_txx_stat2_s cn50xx;
5542        struct cvmx_gmxx_txx_stat2_s cn52xx;
5543        struct cvmx_gmxx_txx_stat2_s cn52xxp1;
5544        struct cvmx_gmxx_txx_stat2_s cn56xx;
5545        struct cvmx_gmxx_txx_stat2_s cn56xxp1;
5546        struct cvmx_gmxx_txx_stat2_s cn58xx;
5547        struct cvmx_gmxx_txx_stat2_s cn58xxp1;
5548        struct cvmx_gmxx_txx_stat2_s cn61xx;
5549        struct cvmx_gmxx_txx_stat2_s cn63xx;
5550        struct cvmx_gmxx_txx_stat2_s cn63xxp1;
5551        struct cvmx_gmxx_txx_stat2_s cn66xx;
5552        struct cvmx_gmxx_txx_stat2_s cn68xx;
5553        struct cvmx_gmxx_txx_stat2_s cn68xxp1;
5554        struct cvmx_gmxx_txx_stat2_s cnf71xx;
5555};
5556
5557union cvmx_gmxx_txx_stat3 {
5558        uint64_t u64;
5559        struct cvmx_gmxx_txx_stat3_s {
5560#ifdef __BIG_ENDIAN_BITFIELD
5561                uint64_t reserved_32_63:32;
5562                uint64_t pkts:32;
5563#else
5564                uint64_t pkts:32;
5565                uint64_t reserved_32_63:32;
5566#endif
5567        } s;
5568        struct cvmx_gmxx_txx_stat3_s cn30xx;
5569        struct cvmx_gmxx_txx_stat3_s cn31xx;
5570        struct cvmx_gmxx_txx_stat3_s cn38xx;
5571        struct cvmx_gmxx_txx_stat3_s cn38xxp2;
5572        struct cvmx_gmxx_txx_stat3_s cn50xx;
5573        struct cvmx_gmxx_txx_stat3_s cn52xx;
5574        struct cvmx_gmxx_txx_stat3_s cn52xxp1;
5575        struct cvmx_gmxx_txx_stat3_s cn56xx;
5576        struct cvmx_gmxx_txx_stat3_s cn56xxp1;
5577        struct cvmx_gmxx_txx_stat3_s cn58xx;
5578        struct cvmx_gmxx_txx_stat3_s cn58xxp1;
5579        struct cvmx_gmxx_txx_stat3_s cn61xx;
5580        struct cvmx_gmxx_txx_stat3_s cn63xx;
5581        struct cvmx_gmxx_txx_stat3_s cn63xxp1;
5582        struct cvmx_gmxx_txx_stat3_s cn66xx;
5583        struct cvmx_gmxx_txx_stat3_s cn68xx;
5584        struct cvmx_gmxx_txx_stat3_s cn68xxp1;
5585        struct cvmx_gmxx_txx_stat3_s cnf71xx;
5586};
5587
5588union cvmx_gmxx_txx_stat4 {
5589        uint64_t u64;
5590        struct cvmx_gmxx_txx_stat4_s {
5591#ifdef __BIG_ENDIAN_BITFIELD
5592                uint64_t hist1:32;
5593                uint64_t hist0:32;
5594#else
5595                uint64_t hist0:32;
5596                uint64_t hist1:32;
5597#endif
5598        } s;
5599        struct cvmx_gmxx_txx_stat4_s cn30xx;
5600        struct cvmx_gmxx_txx_stat4_s cn31xx;
5601        struct cvmx_gmxx_txx_stat4_s cn38xx;
5602        struct cvmx_gmxx_txx_stat4_s cn38xxp2;
5603        struct cvmx_gmxx_txx_stat4_s cn50xx;
5604        struct cvmx_gmxx_txx_stat4_s cn52xx;
5605        struct cvmx_gmxx_txx_stat4_s cn52xxp1;
5606        struct cvmx_gmxx_txx_stat4_s cn56xx;
5607        struct cvmx_gmxx_txx_stat4_s cn56xxp1;
5608        struct cvmx_gmxx_txx_stat4_s cn58xx;
5609        struct cvmx_gmxx_txx_stat4_s cn58xxp1;
5610        struct cvmx_gmxx_txx_stat4_s cn61xx;
5611        struct cvmx_gmxx_txx_stat4_s cn63xx;
5612        struct cvmx_gmxx_txx_stat4_s cn63xxp1;
5613        struct cvmx_gmxx_txx_stat4_s cn66xx;
5614        struct cvmx_gmxx_txx_stat4_s cn68xx;
5615        struct cvmx_gmxx_txx_stat4_s cn68xxp1;
5616        struct cvmx_gmxx_txx_stat4_s cnf71xx;
5617};
5618
5619union cvmx_gmxx_txx_stat5 {
5620        uint64_t u64;
5621        struct cvmx_gmxx_txx_stat5_s {
5622#ifdef __BIG_ENDIAN_BITFIELD
5623                uint64_t hist3:32;
5624                uint64_t hist2:32;
5625#else
5626                uint64_t hist2:32;
5627                uint64_t hist3:32;
5628#endif
5629        } s;
5630        struct cvmx_gmxx_txx_stat5_s cn30xx;
5631        struct cvmx_gmxx_txx_stat5_s cn31xx;
5632        struct cvmx_gmxx_txx_stat5_s cn38xx;
5633        struct cvmx_gmxx_txx_stat5_s cn38xxp2;
5634        struct cvmx_gmxx_txx_stat5_s cn50xx;
5635        struct cvmx_gmxx_txx_stat5_s cn52xx;
5636        struct cvmx_gmxx_txx_stat5_s cn52xxp1;
5637        struct cvmx_gmxx_txx_stat5_s cn56xx;
5638        struct cvmx_gmxx_txx_stat5_s cn56xxp1;
5639        struct cvmx_gmxx_txx_stat5_s cn58xx;
5640        struct cvmx_gmxx_txx_stat5_s cn58xxp1;
5641        struct cvmx_gmxx_txx_stat5_s cn61xx;
5642        struct cvmx_gmxx_txx_stat5_s cn63xx;
5643        struct cvmx_gmxx_txx_stat5_s cn63xxp1;
5644        struct cvmx_gmxx_txx_stat5_s cn66xx;
5645        struct cvmx_gmxx_txx_stat5_s cn68xx;
5646        struct cvmx_gmxx_txx_stat5_s cn68xxp1;
5647        struct cvmx_gmxx_txx_stat5_s cnf71xx;
5648};
5649
5650union cvmx_gmxx_txx_stat6 {
5651        uint64_t u64;
5652        struct cvmx_gmxx_txx_stat6_s {
5653#ifdef __BIG_ENDIAN_BITFIELD
5654                uint64_t hist5:32;
5655                uint64_t hist4:32;
5656#else
5657                uint64_t hist4:32;
5658                uint64_t hist5:32;
5659#endif
5660        } s;
5661        struct cvmx_gmxx_txx_stat6_s cn30xx;
5662        struct cvmx_gmxx_txx_stat6_s cn31xx;
5663        struct cvmx_gmxx_txx_stat6_s cn38xx;
5664        struct cvmx_gmxx_txx_stat6_s cn38xxp2;
5665        struct cvmx_gmxx_txx_stat6_s cn50xx;
5666        struct cvmx_gmxx_txx_stat6_s cn52xx;
5667        struct cvmx_gmxx_txx_stat6_s cn52xxp1;
5668        struct cvmx_gmxx_txx_stat6_s cn56xx;
5669        struct cvmx_gmxx_txx_stat6_s cn56xxp1;
5670        struct cvmx_gmxx_txx_stat6_s cn58xx;
5671        struct cvmx_gmxx_txx_stat6_s cn58xxp1;
5672        struct cvmx_gmxx_txx_stat6_s cn61xx;
5673        struct cvmx_gmxx_txx_stat6_s cn63xx;
5674        struct cvmx_gmxx_txx_stat6_s cn63xxp1;
5675        struct cvmx_gmxx_txx_stat6_s cn66xx;
5676        struct cvmx_gmxx_txx_stat6_s cn68xx;
5677        struct cvmx_gmxx_txx_stat6_s cn68xxp1;
5678        struct cvmx_gmxx_txx_stat6_s cnf71xx;
5679};
5680
5681union cvmx_gmxx_txx_stat7 {
5682        uint64_t u64;
5683        struct cvmx_gmxx_txx_stat7_s {
5684#ifdef __BIG_ENDIAN_BITFIELD
5685                uint64_t hist7:32;
5686                uint64_t hist6:32;
5687#else
5688                uint64_t hist6:32;
5689                uint64_t hist7:32;
5690#endif
5691        } s;
5692        struct cvmx_gmxx_txx_stat7_s cn30xx;
5693        struct cvmx_gmxx_txx_stat7_s cn31xx;
5694        struct cvmx_gmxx_txx_stat7_s cn38xx;
5695        struct cvmx_gmxx_txx_stat7_s cn38xxp2;
5696        struct cvmx_gmxx_txx_stat7_s cn50xx;
5697        struct cvmx_gmxx_txx_stat7_s cn52xx;
5698        struct cvmx_gmxx_txx_stat7_s cn52xxp1;
5699        struct cvmx_gmxx_txx_stat7_s cn56xx;
5700        struct cvmx_gmxx_txx_stat7_s cn56xxp1;
5701        struct cvmx_gmxx_txx_stat7_s cn58xx;
5702        struct cvmx_gmxx_txx_stat7_s cn58xxp1;
5703        struct cvmx_gmxx_txx_stat7_s cn61xx;
5704        struct cvmx_gmxx_txx_stat7_s cn63xx;
5705        struct cvmx_gmxx_txx_stat7_s cn63xxp1;
5706        struct cvmx_gmxx_txx_stat7_s cn66xx;
5707        struct cvmx_gmxx_txx_stat7_s cn68xx;
5708        struct cvmx_gmxx_txx_stat7_s cn68xxp1;
5709        struct cvmx_gmxx_txx_stat7_s cnf71xx;
5710};
5711
5712union cvmx_gmxx_txx_stat8 {
5713        uint64_t u64;
5714        struct cvmx_gmxx_txx_stat8_s {
5715#ifdef __BIG_ENDIAN_BITFIELD
5716                uint64_t mcst:32;
5717                uint64_t bcst:32;
5718#else
5719                uint64_t bcst:32;
5720                uint64_t mcst:32;
5721#endif
5722        } s;
5723        struct cvmx_gmxx_txx_stat8_s cn30xx;
5724        struct cvmx_gmxx_txx_stat8_s cn31xx;
5725        struct cvmx_gmxx_txx_stat8_s cn38xx;
5726        struct cvmx_gmxx_txx_stat8_s cn38xxp2;
5727        struct cvmx_gmxx_txx_stat8_s cn50xx;
5728        struct cvmx_gmxx_txx_stat8_s cn52xx;
5729        struct cvmx_gmxx_txx_stat8_s cn52xxp1;
5730        struct cvmx_gmxx_txx_stat8_s cn56xx;
5731        struct cvmx_gmxx_txx_stat8_s cn56xxp1;
5732        struct cvmx_gmxx_txx_stat8_s cn58xx;
5733        struct cvmx_gmxx_txx_stat8_s cn58xxp1;
5734        struct cvmx_gmxx_txx_stat8_s cn61xx;
5735        struct cvmx_gmxx_txx_stat8_s cn63xx;
5736        struct cvmx_gmxx_txx_stat8_s cn63xxp1;
5737        struct cvmx_gmxx_txx_stat8_s cn66xx;
5738        struct cvmx_gmxx_txx_stat8_s cn68xx;
5739        struct cvmx_gmxx_txx_stat8_s cn68xxp1;
5740        struct cvmx_gmxx_txx_stat8_s cnf71xx;
5741};
5742
5743union cvmx_gmxx_txx_stat9 {
5744        uint64_t u64;
5745        struct cvmx_gmxx_txx_stat9_s {
5746#ifdef __BIG_ENDIAN_BITFIELD
5747                uint64_t undflw:32;
5748                uint64_t ctl:32;
5749#else
5750                uint64_t ctl:32;
5751                uint64_t undflw:32;
5752#endif
5753        } s;
5754        struct cvmx_gmxx_txx_stat9_s cn30xx;
5755        struct cvmx_gmxx_txx_stat9_s cn31xx;
5756        struct cvmx_gmxx_txx_stat9_s cn38xx;
5757        struct cvmx_gmxx_txx_stat9_s cn38xxp2;
5758        struct cvmx_gmxx_txx_stat9_s cn50xx;
5759        struct cvmx_gmxx_txx_stat9_s cn52xx;
5760        struct cvmx_gmxx_txx_stat9_s cn52xxp1;
5761        struct cvmx_gmxx_txx_stat9_s cn56xx;
5762        struct cvmx_gmxx_txx_stat9_s cn56xxp1;
5763        struct cvmx_gmxx_txx_stat9_s cn58xx;
5764        struct cvmx_gmxx_txx_stat9_s cn58xxp1;
5765        struct cvmx_gmxx_txx_stat9_s cn61xx;
5766        struct cvmx_gmxx_txx_stat9_s cn63xx;
5767        struct cvmx_gmxx_txx_stat9_s cn63xxp1;
5768        struct cvmx_gmxx_txx_stat9_s cn66xx;
5769        struct cvmx_gmxx_txx_stat9_s cn68xx;
5770        struct cvmx_gmxx_txx_stat9_s cn68xxp1;
5771        struct cvmx_gmxx_txx_stat9_s cnf71xx;
5772};
5773
5774union cvmx_gmxx_txx_stats_ctl {
5775        uint64_t u64;
5776        struct cvmx_gmxx_txx_stats_ctl_s {
5777#ifdef __BIG_ENDIAN_BITFIELD
5778                uint64_t reserved_1_63:63;
5779                uint64_t rd_clr:1;
5780#else
5781                uint64_t rd_clr:1;
5782                uint64_t reserved_1_63:63;
5783#endif
5784        } s;
5785        struct cvmx_gmxx_txx_stats_ctl_s cn30xx;
5786        struct cvmx_gmxx_txx_stats_ctl_s cn31xx;
5787        struct cvmx_gmxx_txx_stats_ctl_s cn38xx;
5788        struct cvmx_gmxx_txx_stats_ctl_s cn38xxp2;
5789        struct cvmx_gmxx_txx_stats_ctl_s cn50xx;
5790        struct cvmx_gmxx_txx_stats_ctl_s cn52xx;
5791        struct cvmx_gmxx_txx_stats_ctl_s cn52xxp1;
5792        struct cvmx_gmxx_txx_stats_ctl_s cn56xx;
5793        struct cvmx_gmxx_txx_stats_ctl_s cn56xxp1;
5794        struct cvmx_gmxx_txx_stats_ctl_s cn58xx;
5795        struct cvmx_gmxx_txx_stats_ctl_s cn58xxp1;
5796        struct cvmx_gmxx_txx_stats_ctl_s cn61xx;
5797        struct cvmx_gmxx_txx_stats_ctl_s cn63xx;
5798        struct cvmx_gmxx_txx_stats_ctl_s cn63xxp1;
5799        struct cvmx_gmxx_txx_stats_ctl_s cn66xx;
5800        struct cvmx_gmxx_txx_stats_ctl_s cn68xx;
5801        struct cvmx_gmxx_txx_stats_ctl_s cn68xxp1;
5802        struct cvmx_gmxx_txx_stats_ctl_s cnf71xx;
5803};
5804
5805union cvmx_gmxx_txx_thresh {
5806        uint64_t u64;
5807        struct cvmx_gmxx_txx_thresh_s {
5808#ifdef __BIG_ENDIAN_BITFIELD
5809                uint64_t reserved_10_63:54;
5810                uint64_t cnt:10;
5811#else
5812                uint64_t cnt:10;
5813                uint64_t reserved_10_63:54;
5814#endif
5815        } s;
5816        struct cvmx_gmxx_txx_thresh_cn30xx {
5817#ifdef __BIG_ENDIAN_BITFIELD
5818                uint64_t reserved_7_63:57;
5819                uint64_t cnt:7;
5820#else
5821                uint64_t cnt:7;
5822                uint64_t reserved_7_63:57;
5823#endif
5824        } cn30xx;
5825        struct cvmx_gmxx_txx_thresh_cn30xx cn31xx;
5826        struct cvmx_gmxx_txx_thresh_cn38xx {
5827#ifdef __BIG_ENDIAN_BITFIELD
5828                uint64_t reserved_9_63:55;
5829                uint64_t cnt:9;
5830#else
5831                uint64_t cnt:9;
5832                uint64_t reserved_9_63:55;
5833#endif
5834        } cn38xx;
5835        struct cvmx_gmxx_txx_thresh_cn38xx cn38xxp2;
5836        struct cvmx_gmxx_txx_thresh_cn30xx cn50xx;
5837        struct cvmx_gmxx_txx_thresh_cn38xx cn52xx;
5838        struct cvmx_gmxx_txx_thresh_cn38xx cn52xxp1;
5839        struct cvmx_gmxx_txx_thresh_cn38xx cn56xx;
5840        struct cvmx_gmxx_txx_thresh_cn38xx cn56xxp1;
5841        struct cvmx_gmxx_txx_thresh_cn38xx cn58xx;
5842        struct cvmx_gmxx_txx_thresh_cn38xx cn58xxp1;
5843        struct cvmx_gmxx_txx_thresh_cn38xx cn61xx;
5844        struct cvmx_gmxx_txx_thresh_cn38xx cn63xx;
5845        struct cvmx_gmxx_txx_thresh_cn38xx cn63xxp1;
5846        struct cvmx_gmxx_txx_thresh_cn38xx cn66xx;
5847        struct cvmx_gmxx_txx_thresh_s cn68xx;
5848        struct cvmx_gmxx_txx_thresh_s cn68xxp1;
5849        struct cvmx_gmxx_txx_thresh_cn38xx cnf71xx;
5850};
5851
5852union cvmx_gmxx_tx_bp {
5853        uint64_t u64;
5854        struct cvmx_gmxx_tx_bp_s {
5855#ifdef __BIG_ENDIAN_BITFIELD
5856                uint64_t reserved_4_63:60;
5857                uint64_t bp:4;
5858#else
5859                uint64_t bp:4;
5860                uint64_t reserved_4_63:60;
5861#endif
5862        } s;
5863        struct cvmx_gmxx_tx_bp_cn30xx {
5864#ifdef __BIG_ENDIAN_BITFIELD
5865                uint64_t reserved_3_63:61;
5866                uint64_t bp:3;
5867#else
5868                uint64_t bp:3;
5869                uint64_t reserved_3_63:61;
5870#endif
5871        } cn30xx;
5872        struct cvmx_gmxx_tx_bp_cn30xx cn31xx;
5873        struct cvmx_gmxx_tx_bp_s cn38xx;
5874        struct cvmx_gmxx_tx_bp_s cn38xxp2;
5875        struct cvmx_gmxx_tx_bp_cn30xx cn50xx;
5876        struct cvmx_gmxx_tx_bp_s cn52xx;
5877        struct cvmx_gmxx_tx_bp_s cn52xxp1;
5878        struct cvmx_gmxx_tx_bp_s cn56xx;
5879        struct cvmx_gmxx_tx_bp_s cn56xxp1;
5880        struct cvmx_gmxx_tx_bp_s cn58xx;
5881        struct cvmx_gmxx_tx_bp_s cn58xxp1;
5882        struct cvmx_gmxx_tx_bp_s cn61xx;
5883        struct cvmx_gmxx_tx_bp_s cn63xx;
5884        struct cvmx_gmxx_tx_bp_s cn63xxp1;
5885        struct cvmx_gmxx_tx_bp_s cn66xx;
5886        struct cvmx_gmxx_tx_bp_s cn68xx;
5887        struct cvmx_gmxx_tx_bp_s cn68xxp1;
5888        struct cvmx_gmxx_tx_bp_cnf71xx {
5889#ifdef __BIG_ENDIAN_BITFIELD
5890                uint64_t reserved_2_63:62;
5891                uint64_t bp:2;
5892#else
5893                uint64_t bp:2;
5894                uint64_t reserved_2_63:62;
5895#endif
5896        } cnf71xx;
5897};
5898
5899union cvmx_gmxx_tx_clk_mskx {
5900        uint64_t u64;
5901        struct cvmx_gmxx_tx_clk_mskx_s {
5902#ifdef __BIG_ENDIAN_BITFIELD
5903                uint64_t reserved_1_63:63;
5904                uint64_t msk:1;
5905#else
5906                uint64_t msk:1;
5907                uint64_t reserved_1_63:63;
5908#endif
5909        } s;
5910        struct cvmx_gmxx_tx_clk_mskx_s cn30xx;
5911        struct cvmx_gmxx_tx_clk_mskx_s cn50xx;
5912};
5913
5914union cvmx_gmxx_tx_col_attempt {
5915        uint64_t u64;
5916        struct cvmx_gmxx_tx_col_attempt_s {
5917#ifdef __BIG_ENDIAN_BITFIELD
5918                uint64_t reserved_5_63:59;
5919                uint64_t limit:5;
5920#else
5921                uint64_t limit:5;
5922                uint64_t reserved_5_63:59;
5923#endif
5924        } s;
5925        struct cvmx_gmxx_tx_col_attempt_s cn30xx;
5926        struct cvmx_gmxx_tx_col_attempt_s cn31xx;
5927        struct cvmx_gmxx_tx_col_attempt_s cn38xx;
5928        struct cvmx_gmxx_tx_col_attempt_s cn38xxp2;
5929        struct cvmx_gmxx_tx_col_attempt_s cn50xx;
5930        struct cvmx_gmxx_tx_col_attempt_s cn52xx;
5931        struct cvmx_gmxx_tx_col_attempt_s cn52xxp1;
5932        struct cvmx_gmxx_tx_col_attempt_s cn56xx;
5933        struct cvmx_gmxx_tx_col_attempt_s cn56xxp1;
5934        struct cvmx_gmxx_tx_col_attempt_s cn58xx;
5935        struct cvmx_gmxx_tx_col_attempt_s cn58xxp1;
5936        struct cvmx_gmxx_tx_col_attempt_s cn61xx;
5937        struct cvmx_gmxx_tx_col_attempt_s cn63xx;
5938        struct cvmx_gmxx_tx_col_attempt_s cn63xxp1;
5939        struct cvmx_gmxx_tx_col_attempt_s cn66xx;
5940        struct cvmx_gmxx_tx_col_attempt_s cn68xx;
5941        struct cvmx_gmxx_tx_col_attempt_s cn68xxp1;
5942        struct cvmx_gmxx_tx_col_attempt_s cnf71xx;
5943};
5944
5945union cvmx_gmxx_tx_corrupt {
5946        uint64_t u64;
5947        struct cvmx_gmxx_tx_corrupt_s {
5948#ifdef __BIG_ENDIAN_BITFIELD
5949                uint64_t reserved_4_63:60;
5950                uint64_t corrupt:4;
5951#else
5952                uint64_t corrupt:4;
5953                uint64_t reserved_4_63:60;
5954#endif
5955        } s;
5956        struct cvmx_gmxx_tx_corrupt_cn30xx {
5957#ifdef __BIG_ENDIAN_BITFIELD
5958                uint64_t reserved_3_63:61;
5959                uint64_t corrupt:3;
5960#else
5961                uint64_t corrupt:3;
5962                uint64_t reserved_3_63:61;
5963#endif
5964        } cn30xx;
5965        struct cvmx_gmxx_tx_corrupt_cn30xx cn31xx;
5966        struct cvmx_gmxx_tx_corrupt_s cn38xx;
5967        struct cvmx_gmxx_tx_corrupt_s cn38xxp2;
5968        struct cvmx_gmxx_tx_corrupt_cn30xx cn50xx;
5969        struct cvmx_gmxx_tx_corrupt_s cn52xx;
5970        struct cvmx_gmxx_tx_corrupt_s cn52xxp1;
5971        struct cvmx_gmxx_tx_corrupt_s cn56xx;
5972        struct cvmx_gmxx_tx_corrupt_s cn56xxp1;
5973        struct cvmx_gmxx_tx_corrupt_s cn58xx;
5974        struct cvmx_gmxx_tx_corrupt_s cn58xxp1;
5975        struct cvmx_gmxx_tx_corrupt_s cn61xx;
5976        struct cvmx_gmxx_tx_corrupt_s cn63xx;
5977        struct cvmx_gmxx_tx_corrupt_s cn63xxp1;
5978        struct cvmx_gmxx_tx_corrupt_s cn66xx;
5979        struct cvmx_gmxx_tx_corrupt_s cn68xx;
5980        struct cvmx_gmxx_tx_corrupt_s cn68xxp1;
5981        struct cvmx_gmxx_tx_corrupt_cnf71xx {
5982#ifdef __BIG_ENDIAN_BITFIELD
5983                uint64_t reserved_2_63:62;
5984                uint64_t corrupt:2;
5985#else
5986                uint64_t corrupt:2;
5987                uint64_t reserved_2_63:62;
5988#endif
5989        } cnf71xx;
5990};
5991
5992union cvmx_gmxx_tx_hg2_reg1 {
5993        uint64_t u64;
5994        struct cvmx_gmxx_tx_hg2_reg1_s {
5995#ifdef __BIG_ENDIAN_BITFIELD
5996                uint64_t reserved_16_63:48;
5997                uint64_t tx_xof:16;
5998#else
5999                uint64_t tx_xof:16;
6000                uint64_t reserved_16_63:48;
6001#endif
6002        } s;
6003        struct cvmx_gmxx_tx_hg2_reg1_s cn52xx;
6004        struct cvmx_gmxx_tx_hg2_reg1_s cn52xxp1;
6005        struct cvmx_gmxx_tx_hg2_reg1_s cn56xx;
6006        struct cvmx_gmxx_tx_hg2_reg1_s cn61xx;
6007        struct cvmx_gmxx_tx_hg2_reg1_s cn63xx;
6008        struct cvmx_gmxx_tx_hg2_reg1_s cn63xxp1;
6009        struct cvmx_gmxx_tx_hg2_reg1_s cn66xx;
6010        struct cvmx_gmxx_tx_hg2_reg1_s cn68xx;
6011        struct cvmx_gmxx_tx_hg2_reg1_s cn68xxp1;
6012        struct cvmx_gmxx_tx_hg2_reg1_s cnf71xx;
6013};
6014
6015union cvmx_gmxx_tx_hg2_reg2 {
6016        uint64_t u64;
6017        struct cvmx_gmxx_tx_hg2_reg2_s {
6018#ifdef __BIG_ENDIAN_BITFIELD
6019                uint64_t reserved_16_63:48;
6020                uint64_t tx_xon:16;
6021#else
6022                uint64_t tx_xon:16;
6023                uint64_t reserved_16_63:48;
6024#endif
6025        } s;
6026        struct cvmx_gmxx_tx_hg2_reg2_s cn52xx;
6027        struct cvmx_gmxx_tx_hg2_reg2_s cn52xxp1;
6028        struct cvmx_gmxx_tx_hg2_reg2_s cn56xx;
6029        struct cvmx_gmxx_tx_hg2_reg2_s cn61xx;
6030        struct cvmx_gmxx_tx_hg2_reg2_s cn63xx;
6031        struct cvmx_gmxx_tx_hg2_reg2_s cn63xxp1;
6032        struct cvmx_gmxx_tx_hg2_reg2_s cn66xx;
6033        struct cvmx_gmxx_tx_hg2_reg2_s cn68xx;
6034        struct cvmx_gmxx_tx_hg2_reg2_s cn68xxp1;
6035        struct cvmx_gmxx_tx_hg2_reg2_s cnf71xx;
6036};
6037
6038union cvmx_gmxx_tx_ifg {
6039        uint64_t u64;
6040        struct cvmx_gmxx_tx_ifg_s {
6041#ifdef __BIG_ENDIAN_BITFIELD
6042                uint64_t reserved_8_63:56;
6043                uint64_t ifg2:4;
6044                uint64_t ifg1:4;
6045#else
6046                uint64_t ifg1:4;
6047                uint64_t ifg2:4;
6048                uint64_t reserved_8_63:56;
6049#endif
6050        } s;
6051        struct cvmx_gmxx_tx_ifg_s cn30xx;
6052        struct cvmx_gmxx_tx_ifg_s cn31xx;
6053        struct cvmx_gmxx_tx_ifg_s cn38xx;
6054        struct cvmx_gmxx_tx_ifg_s cn38xxp2;
6055        struct cvmx_gmxx_tx_ifg_s cn50xx;
6056        struct cvmx_gmxx_tx_ifg_s cn52xx;
6057        struct cvmx_gmxx_tx_ifg_s cn52xxp1;
6058        struct cvmx_gmxx_tx_ifg_s cn56xx;
6059        struct cvmx_gmxx_tx_ifg_s cn56xxp1;
6060        struct cvmx_gmxx_tx_ifg_s cn58xx;
6061        struct cvmx_gmxx_tx_ifg_s cn58xxp1;
6062        struct cvmx_gmxx_tx_ifg_s cn61xx;
6063        struct cvmx_gmxx_tx_ifg_s cn63xx;
6064        struct cvmx_gmxx_tx_ifg_s cn63xxp1;
6065        struct cvmx_gmxx_tx_ifg_s cn66xx;
6066        struct cvmx_gmxx_tx_ifg_s cn68xx;
6067        struct cvmx_gmxx_tx_ifg_s cn68xxp1;
6068        struct cvmx_gmxx_tx_ifg_s cnf71xx;
6069};
6070
6071union cvmx_gmxx_tx_int_en {
6072        uint64_t u64;
6073        struct cvmx_gmxx_tx_int_en_s {
6074#ifdef __BIG_ENDIAN_BITFIELD
6075                uint64_t reserved_25_63:39;
6076                uint64_t xchange:1;
6077                uint64_t ptp_lost:4;
6078                uint64_t late_col:4;
6079                uint64_t xsdef:4;
6080                uint64_t xscol:4;
6081                uint64_t reserved_6_7:2;
6082                uint64_t undflw:4;
6083                uint64_t reserved_1_1:1;
6084                uint64_t pko_nxa:1;
6085#else
6086                uint64_t pko_nxa:1;
6087                uint64_t reserved_1_1:1;
6088                uint64_t undflw:4;
6089                uint64_t reserved_6_7:2;
6090                uint64_t xscol:4;
6091                uint64_t xsdef:4;
6092                uint64_t late_col:4;
6093                uint64_t ptp_lost:4;
6094                uint64_t xchange:1;
6095                uint64_t reserved_25_63:39;
6096#endif
6097        } s;
6098        struct cvmx_gmxx_tx_int_en_cn30xx {
6099#ifdef __BIG_ENDIAN_BITFIELD
6100                uint64_t reserved_19_63:45;
6101                uint64_t late_col:3;
6102                uint64_t reserved_15_15:1;
6103                uint64_t xsdef:3;
6104                uint64_t reserved_11_11:1;
6105                uint64_t xscol:3;
6106                uint64_t reserved_5_7:3;
6107                uint64_t undflw:3;
6108                uint64_t reserved_1_1:1;
6109                uint64_t pko_nxa:1;
6110#else
6111                uint64_t pko_nxa:1;
6112                uint64_t reserved_1_1:1;
6113                uint64_t undflw:3;
6114                uint64_t reserved_5_7:3;
6115                uint64_t xscol:3;
6116                uint64_t reserved_11_11:1;
6117                uint64_t xsdef:3;
6118                uint64_t reserved_15_15:1;
6119                uint64_t late_col:3;
6120                uint64_t reserved_19_63:45;
6121#endif
6122        } cn30xx;
6123        struct cvmx_gmxx_tx_int_en_cn31xx {
6124#ifdef __BIG_ENDIAN_BITFIELD
6125                uint64_t reserved_15_63:49;
6126                uint64_t xsdef:3;
6127                uint64_t reserved_11_11:1;
6128                uint64_t xscol:3;
6129                uint64_t reserved_5_7:3;
6130                uint64_t undflw:3;
6131                uint64_t reserved_1_1:1;
6132                uint64_t pko_nxa:1;
6133#else
6134                uint64_t pko_nxa:1;
6135                uint64_t reserved_1_1:1;
6136                uint64_t undflw:3;
6137                uint64_t reserved_5_7:3;
6138                uint64_t xscol:3;
6139                uint64_t reserved_11_11:1;
6140                uint64_t xsdef:3;
6141                uint64_t reserved_15_63:49;
6142#endif
6143        } cn31xx;
6144        struct cvmx_gmxx_tx_int_en_cn38xx {
6145#ifdef __BIG_ENDIAN_BITFIELD
6146                uint64_t reserved_20_63:44;
6147                uint64_t late_col:4;
6148                uint64_t xsdef:4;
6149                uint64_t xscol:4;
6150                uint64_t reserved_6_7:2;
6151                uint64_t undflw:4;
6152                uint64_t ncb_nxa:1;
6153                uint64_t pko_nxa:1;
6154#else
6155                uint64_t pko_nxa:1;
6156                uint64_t ncb_nxa:1;
6157                uint64_t undflw:4;
6158                uint64_t reserved_6_7:2;
6159                uint64_t xscol:4;
6160                uint64_t xsdef:4;
6161                uint64_t late_col:4;
6162                uint64_t reserved_20_63:44;
6163#endif
6164        } cn38xx;
6165        struct cvmx_gmxx_tx_int_en_cn38xxp2 {
6166#ifdef __BIG_ENDIAN_BITFIELD
6167                uint64_t reserved_16_63:48;
6168                uint64_t xsdef:4;
6169                uint64_t xscol:4;
6170                uint64_t reserved_6_7:2;
6171                uint64_t undflw:4;
6172                uint64_t ncb_nxa:1;
6173                uint64_t pko_nxa:1;
6174#else
6175                uint64_t pko_nxa:1;
6176                uint64_t ncb_nxa:1;
6177                uint64_t undflw:4;
6178                uint64_t reserved_6_7:2;
6179                uint64_t xscol:4;
6180                uint64_t xsdef:4;
6181                uint64_t reserved_16_63:48;
6182#endif
6183        } cn38xxp2;
6184        struct cvmx_gmxx_tx_int_en_cn30xx cn50xx;
6185        struct cvmx_gmxx_tx_int_en_cn52xx {
6186#ifdef __BIG_ENDIAN_BITFIELD
6187                uint64_t reserved_20_63:44;
6188                uint64_t late_col:4;
6189                uint64_t xsdef:4;
6190                uint64_t xscol:4;
6191                uint64_t reserved_6_7:2;
6192                uint64_t undflw:4;
6193                uint64_t reserved_1_1:1;
6194                uint64_t pko_nxa:1;
6195#else
6196                uint64_t pko_nxa:1;
6197                uint64_t reserved_1_1:1;
6198                uint64_t undflw:4;
6199                uint64_t reserved_6_7:2;
6200                uint64_t xscol:4;
6201                uint64_t xsdef:4;
6202                uint64_t late_col:4;
6203                uint64_t reserved_20_63:44;
6204#endif
6205        } cn52xx;
6206        struct cvmx_gmxx_tx_int_en_cn52xx cn52xxp1;
6207        struct cvmx_gmxx_tx_int_en_cn52xx cn56xx;
6208        struct cvmx_gmxx_tx_int_en_cn52xx cn56xxp1;
6209        struct cvmx_gmxx_tx_int_en_cn38xx cn58xx;
6210        struct cvmx_gmxx_tx_int_en_cn38xx cn58xxp1;
6211        struct cvmx_gmxx_tx_int_en_s cn61xx;
6212        struct cvmx_gmxx_tx_int_en_cn63xx {
6213#ifdef __BIG_ENDIAN_BITFIELD
6214                uint64_t reserved_24_63:40;
6215                uint64_t ptp_lost:4;
6216                uint64_t late_col:4;
6217                uint64_t xsdef:4;
6218                uint64_t xscol:4;
6219                uint64_t reserved_6_7:2;
6220                uint64_t undflw:4;
6221                uint64_t reserved_1_1:1;
6222                uint64_t pko_nxa:1;
6223#else
6224                uint64_t pko_nxa:1;
6225                uint64_t reserved_1_1:1;
6226                uint64_t undflw:4;
6227                uint64_t reserved_6_7:2;
6228                uint64_t xscol:4;
6229                uint64_t xsdef:4;
6230                uint64_t late_col:4;
6231                uint64_t ptp_lost:4;
6232                uint64_t reserved_24_63:40;
6233#endif
6234        } cn63xx;
6235        struct cvmx_gmxx_tx_int_en_cn63xx cn63xxp1;
6236        struct cvmx_gmxx_tx_int_en_s cn66xx;
6237        struct cvmx_gmxx_tx_int_en_cn68xx {
6238#ifdef __BIG_ENDIAN_BITFIELD
6239                uint64_t reserved_25_63:39;
6240                uint64_t xchange:1;
6241                uint64_t ptp_lost:4;
6242                uint64_t late_col:4;
6243                uint64_t xsdef:4;
6244                uint64_t xscol:4;
6245                uint64_t reserved_6_7:2;
6246                uint64_t undflw:4;
6247                uint64_t pko_nxp:1;
6248                uint64_t pko_nxa:1;
6249#else
6250                uint64_t pko_nxa:1;
6251                uint64_t pko_nxp:1;
6252                uint64_t undflw:4;
6253                uint64_t reserved_6_7:2;
6254                uint64_t xscol:4;
6255                uint64_t xsdef:4;
6256                uint64_t late_col:4;
6257                uint64_t ptp_lost:4;
6258                uint64_t xchange:1;
6259                uint64_t reserved_25_63:39;
6260#endif
6261        } cn68xx;
6262        struct cvmx_gmxx_tx_int_en_cn68xx cn68xxp1;
6263        struct cvmx_gmxx_tx_int_en_cnf71xx {
6264#ifdef __BIG_ENDIAN_BITFIELD
6265                uint64_t reserved_25_63:39;
6266                uint64_t xchange:1;
6267                uint64_t reserved_22_23:2;
6268                uint64_t ptp_lost:2;
6269                uint64_t reserved_18_19:2;
6270                uint64_t late_col:2;
6271                uint64_t reserved_14_15:2;
6272                uint64_t xsdef:2;
6273                uint64_t reserved_10_11:2;
6274                uint64_t xscol:2;
6275                uint64_t reserved_4_7:4;
6276                uint64_t undflw:2;
6277                uint64_t reserved_1_1:1;
6278                uint64_t pko_nxa:1;
6279#else
6280                uint64_t pko_nxa:1;
6281                uint64_t reserved_1_1:1;
6282                uint64_t undflw:2;
6283                uint64_t reserved_4_7:4;
6284                uint64_t xscol:2;
6285                uint64_t reserved_10_11:2;
6286                uint64_t xsdef:2;
6287                uint64_t reserved_14_15:2;
6288                uint64_t late_col:2;
6289                uint64_t reserved_18_19:2;
6290                uint64_t ptp_lost:2;
6291                uint64_t reserved_22_23:2;
6292                uint64_t xchange:1;
6293                uint64_t reserved_25_63:39;
6294#endif
6295        } cnf71xx;
6296};
6297
6298union cvmx_gmxx_tx_int_reg {
6299        uint64_t u64;
6300        struct cvmx_gmxx_tx_int_reg_s {
6301#ifdef __BIG_ENDIAN_BITFIELD
6302                uint64_t reserved_25_63:39;
6303                uint64_t xchange:1;
6304                uint64_t ptp_lost:4;
6305                uint64_t late_col:4;
6306                uint64_t xsdef:4;
6307                uint64_t xscol:4;
6308                uint64_t reserved_6_7:2;
6309                uint64_t undflw:4;
6310                uint64_t reserved_1_1:1;
6311                uint64_t pko_nxa:1;
6312#else
6313                uint64_t pko_nxa:1;
6314                uint64_t reserved_1_1:1;
6315                uint64_t undflw:4;
6316                uint64_t reserved_6_7:2;
6317                uint64_t xscol:4;
6318                uint64_t xsdef:4;
6319                uint64_t late_col:4;
6320                uint64_t ptp_lost:4;
6321                uint64_t xchange:1;
6322                uint64_t reserved_25_63:39;
6323#endif
6324        } s;
6325        struct cvmx_gmxx_tx_int_reg_cn30xx {
6326#ifdef __BIG_ENDIAN_BITFIELD
6327                uint64_t reserved_19_63:45;
6328                uint64_t late_col:3;
6329                uint64_t reserved_15_15:1;
6330                uint64_t xsdef:3;
6331                uint64_t reserved_11_11:1;
6332                uint64_t xscol:3;
6333                uint64_t reserved_5_7:3;
6334                uint64_t undflw:3;
6335                uint64_t reserved_1_1:1;
6336                uint64_t pko_nxa:1;
6337#else
6338                uint64_t pko_nxa:1;
6339                uint64_t reserved_1_1:1;
6340                uint64_t undflw:3;
6341                uint64_t reserved_5_7:3;
6342                uint64_t xscol:3;
6343                uint64_t reserved_11_11:1;
6344                uint64_t xsdef:3;
6345                uint64_t reserved_15_15:1;
6346                uint64_t late_col:3;
6347                uint64_t reserved_19_63:45;
6348#endif
6349        } cn30xx;
6350        struct cvmx_gmxx_tx_int_reg_cn31xx {
6351#ifdef __BIG_ENDIAN_BITFIELD
6352                uint64_t reserved_15_63:49;
6353                uint64_t xsdef:3;
6354                uint64_t reserved_11_11:1;
6355                uint64_t xscol:3;
6356                uint64_t reserved_5_7:3;
6357                uint64_t undflw:3;
6358                uint64_t reserved_1_1:1;
6359                uint64_t pko_nxa:1;
6360#else
6361                uint64_t pko_nxa:1;
6362                uint64_t reserved_1_1:1;
6363                uint64_t undflw:3;
6364                uint64_t reserved_5_7:3;
6365                uint64_t xscol:3;
6366                uint64_t reserved_11_11:1;
6367                uint64_t xsdef:3;
6368                uint64_t reserved_15_63:49;
6369#endif
6370        } cn31xx;
6371        struct cvmx_gmxx_tx_int_reg_cn38xx {
6372#ifdef __BIG_ENDIAN_BITFIELD
6373                uint64_t reserved_20_63:44;
6374                uint64_t late_col:4;
6375                uint64_t xsdef:4;
6376                uint64_t xscol:4;
6377                uint64_t reserved_6_7:2;
6378                uint64_t undflw:4;
6379                uint64_t ncb_nxa:1;
6380                uint64_t pko_nxa:1;
6381#else
6382                uint64_t pko_nxa:1;
6383                uint64_t ncb_nxa:1;
6384                uint64_t undflw:4;
6385                uint64_t reserved_6_7:2;
6386                uint64_t xscol:4;
6387                uint64_t xsdef:4;
6388                uint64_t late_col:4;
6389                uint64_t reserved_20_63:44;
6390#endif
6391        } cn38xx;
6392        struct cvmx_gmxx_tx_int_reg_cn38xxp2 {
6393#ifdef __BIG_ENDIAN_BITFIELD
6394                uint64_t reserved_16_63:48;
6395                uint64_t xsdef:4;
6396                uint64_t xscol:4;
6397                uint64_t reserved_6_7:2;
6398                uint64_t undflw:4;
6399                uint64_t ncb_nxa:1;
6400                uint64_t pko_nxa:1;
6401#else
6402                uint64_t pko_nxa:1;
6403                uint64_t ncb_nxa:1;
6404                uint64_t undflw:4;
6405                uint64_t reserved_6_7:2;
6406                uint64_t xscol:4;
6407                uint64_t xsdef:4;
6408                uint64_t reserved_16_63:48;
6409#endif
6410        } cn38xxp2;
6411        struct cvmx_gmxx_tx_int_reg_cn30xx cn50xx;
6412        struct cvmx_gmxx_tx_int_reg_cn52xx {
6413#ifdef __BIG_ENDIAN_BITFIELD
6414                uint64_t reserved_20_63:44;
6415                uint64_t late_col:4;
6416                uint64_t xsdef:4;
6417                uint64_t xscol:4;
6418                uint64_t reserved_6_7:2;
6419                uint64_t undflw:4;
6420                uint64_t reserved_1_1:1;
6421                uint64_t pko_nxa:1;
6422#else
6423                uint64_t pko_nxa:1;
6424                uint64_t reserved_1_1:1;
6425                uint64_t undflw:4;
6426                uint64_t reserved_6_7:2;
6427                uint64_t xscol:4;
6428                uint64_t xsdef:4;
6429                uint64_t late_col:4;
6430                uint64_t reserved_20_63:44;
6431#endif
6432        } cn52xx;
6433        struct cvmx_gmxx_tx_int_reg_cn52xx cn52xxp1;
6434        struct cvmx_gmxx_tx_int_reg_cn52xx cn56xx;
6435        struct cvmx_gmxx_tx_int_reg_cn52xx cn56xxp1;
6436        struct cvmx_gmxx_tx_int_reg_cn38xx cn58xx;
6437        struct cvmx_gmxx_tx_int_reg_cn38xx cn58xxp1;
6438        struct cvmx_gmxx_tx_int_reg_s cn61xx;
6439        struct cvmx_gmxx_tx_int_reg_cn63xx {
6440#ifdef __BIG_ENDIAN_BITFIELD
6441                uint64_t reserved_24_63:40;
6442                uint64_t ptp_lost:4;
6443                uint64_t late_col:4;
6444                uint64_t xsdef:4;
6445                uint64_t xscol:4;
6446                uint64_t reserved_6_7:2;
6447                uint64_t undflw:4;
6448                uint64_t reserved_1_1:1;
6449                uint64_t pko_nxa:1;
6450#else
6451                uint64_t pko_nxa:1;
6452                uint64_t reserved_1_1:1;
6453                uint64_t undflw:4;
6454                uint64_t reserved_6_7:2;
6455                uint64_t xscol:4;
6456                uint64_t xsdef:4;
6457                uint64_t late_col:4;
6458                uint64_t ptp_lost:4;
6459                uint64_t reserved_24_63:40;
6460#endif
6461        } cn63xx;
6462        struct cvmx_gmxx_tx_int_reg_cn63xx cn63xxp1;
6463        struct cvmx_gmxx_tx_int_reg_s cn66xx;
6464        struct cvmx_gmxx_tx_int_reg_cn68xx {
6465#ifdef __BIG_ENDIAN_BITFIELD
6466                uint64_t reserved_25_63:39;
6467                uint64_t xchange:1;
6468                uint64_t ptp_lost:4;
6469                uint64_t late_col:4;
6470                uint64_t xsdef:4;
6471                uint64_t xscol:4;
6472                uint64_t reserved_6_7:2;
6473                uint64_t undflw:4;
6474                uint64_t pko_nxp:1;
6475                uint64_t pko_nxa:1;
6476#else
6477                uint64_t pko_nxa:1;
6478                uint64_t pko_nxp:1;
6479                uint64_t undflw:4;
6480                uint64_t reserved_6_7:2;
6481                uint64_t xscol:4;
6482                uint64_t xsdef:4;
6483                uint64_t late_col:4;
6484                uint64_t ptp_lost:4;
6485                uint64_t xchange:1;
6486                uint64_t reserved_25_63:39;
6487#endif
6488        } cn68xx;
6489        struct cvmx_gmxx_tx_int_reg_cn68xx cn68xxp1;
6490        struct cvmx_gmxx_tx_int_reg_cnf71xx {
6491#ifdef __BIG_ENDIAN_BITFIELD
6492                uint64_t reserved_25_63:39;
6493                uint64_t xchange:1;
6494                uint64_t reserved_22_23:2;
6495                uint64_t ptp_lost:2;
6496                uint64_t reserved_18_19:2;
6497                uint64_t late_col:2;
6498                uint64_t reserved_14_15:2;
6499                uint64_t xsdef:2;
6500                uint64_t reserved_10_11:2;
6501                uint64_t xscol:2;
6502                uint64_t reserved_4_7:4;
6503                uint64_t undflw:2;
6504                uint64_t reserved_1_1:1;
6505                uint64_t pko_nxa:1;
6506#else
6507                uint64_t pko_nxa:1;
6508                uint64_t reserved_1_1:1;
6509                uint64_t undflw:2;
6510                uint64_t reserved_4_7:4;
6511                uint64_t xscol:2;
6512                uint64_t reserved_10_11:2;
6513                uint64_t xsdef:2;
6514                uint64_t reserved_14_15:2;
6515                uint64_t late_col:2;
6516                uint64_t reserved_18_19:2;
6517                uint64_t ptp_lost:2;
6518                uint64_t reserved_22_23:2;
6519                uint64_t xchange:1;
6520                uint64_t reserved_25_63:39;
6521#endif
6522        } cnf71xx;
6523};
6524
6525union cvmx_gmxx_tx_jam {
6526        uint64_t u64;
6527        struct cvmx_gmxx_tx_jam_s {
6528#ifdef __BIG_ENDIAN_BITFIELD
6529                uint64_t reserved_8_63:56;
6530                uint64_t jam:8;
6531#else
6532                uint64_t jam:8;
6533                uint64_t reserved_8_63:56;
6534#endif
6535        } s;
6536        struct cvmx_gmxx_tx_jam_s cn30xx;
6537        struct cvmx_gmxx_tx_jam_s cn31xx;
6538        struct cvmx_gmxx_tx_jam_s cn38xx;
6539        struct cvmx_gmxx_tx_jam_s cn38xxp2;
6540        struct cvmx_gmxx_tx_jam_s cn50xx;
6541        struct cvmx_gmxx_tx_jam_s cn52xx;
6542        struct cvmx_gmxx_tx_jam_s cn52xxp1;
6543        struct cvmx_gmxx_tx_jam_s cn56xx;
6544        struct cvmx_gmxx_tx_jam_s cn56xxp1;
6545        struct cvmx_gmxx_tx_jam_s cn58xx;
6546        struct cvmx_gmxx_tx_jam_s cn58xxp1;
6547        struct cvmx_gmxx_tx_jam_s cn61xx;
6548        struct cvmx_gmxx_tx_jam_s cn63xx;
6549        struct cvmx_gmxx_tx_jam_s cn63xxp1;
6550        struct cvmx_gmxx_tx_jam_s cn66xx;
6551        struct cvmx_gmxx_tx_jam_s cn68xx;
6552        struct cvmx_gmxx_tx_jam_s cn68xxp1;
6553        struct cvmx_gmxx_tx_jam_s cnf71xx;
6554};
6555
6556union cvmx_gmxx_tx_lfsr {
6557        uint64_t u64;
6558        struct cvmx_gmxx_tx_lfsr_s {
6559#ifdef __BIG_ENDIAN_BITFIELD
6560                uint64_t reserved_16_63:48;
6561                uint64_t lfsr:16;
6562#else
6563                uint64_t lfsr:16;
6564                uint64_t reserved_16_63:48;
6565#endif
6566        } s;
6567        struct cvmx_gmxx_tx_lfsr_s cn30xx;
6568        struct cvmx_gmxx_tx_lfsr_s cn31xx;
6569        struct cvmx_gmxx_tx_lfsr_s cn38xx;
6570        struct cvmx_gmxx_tx_lfsr_s cn38xxp2;
6571        struct cvmx_gmxx_tx_lfsr_s cn50xx;
6572        struct cvmx_gmxx_tx_lfsr_s cn52xx;
6573        struct cvmx_gmxx_tx_lfsr_s cn52xxp1;
6574        struct cvmx_gmxx_tx_lfsr_s cn56xx;
6575        struct cvmx_gmxx_tx_lfsr_s cn56xxp1;
6576        struct cvmx_gmxx_tx_lfsr_s cn58xx;
6577        struct cvmx_gmxx_tx_lfsr_s cn58xxp1;
6578        struct cvmx_gmxx_tx_lfsr_s cn61xx;
6579        struct cvmx_gmxx_tx_lfsr_s cn63xx;
6580        struct cvmx_gmxx_tx_lfsr_s cn63xxp1;
6581        struct cvmx_gmxx_tx_lfsr_s cn66xx;
6582        struct cvmx_gmxx_tx_lfsr_s cn68xx;
6583        struct cvmx_gmxx_tx_lfsr_s cn68xxp1;
6584        struct cvmx_gmxx_tx_lfsr_s cnf71xx;
6585};
6586
6587union cvmx_gmxx_tx_ovr_bp {
6588        uint64_t u64;
6589        struct cvmx_gmxx_tx_ovr_bp_s {
6590#ifdef __BIG_ENDIAN_BITFIELD
6591                uint64_t reserved_48_63:16;
6592                uint64_t tx_prt_bp:16;
6593                uint64_t reserved_12_31:20;
6594                uint64_t en:4;
6595                uint64_t bp:4;
6596                uint64_t ign_full:4;
6597#else
6598                uint64_t ign_full:4;
6599                uint64_t bp:4;
6600                uint64_t en:4;
6601                uint64_t reserved_12_31:20;
6602                uint64_t tx_prt_bp:16;
6603                uint64_t reserved_48_63:16;
6604#endif
6605        } s;
6606        struct cvmx_gmxx_tx_ovr_bp_cn30xx {
6607#ifdef __BIG_ENDIAN_BITFIELD
6608                uint64_t reserved_11_63:53;
6609                uint64_t en:3;
6610                uint64_t reserved_7_7:1;
6611                uint64_t bp:3;
6612                uint64_t reserved_3_3:1;
6613                uint64_t ign_full:3;
6614#else
6615                uint64_t ign_full:3;
6616                uint64_t reserved_3_3:1;
6617                uint64_t bp:3;
6618                uint64_t reserved_7_7:1;
6619                uint64_t en:3;
6620                uint64_t reserved_11_63:53;
6621#endif
6622        } cn30xx;
6623        struct cvmx_gmxx_tx_ovr_bp_cn30xx cn31xx;
6624        struct cvmx_gmxx_tx_ovr_bp_cn38xx {
6625#ifdef __BIG_ENDIAN_BITFIELD
6626                uint64_t reserved_12_63:52;
6627                uint64_t en:4;
6628                uint64_t bp:4;
6629                uint64_t ign_full:4;
6630#else
6631                uint64_t ign_full:4;
6632                uint64_t bp:4;
6633                uint64_t en:4;
6634                uint64_t reserved_12_63:52;
6635#endif
6636        } cn38xx;
6637        struct cvmx_gmxx_tx_ovr_bp_cn38xx cn38xxp2;
6638        struct cvmx_gmxx_tx_ovr_bp_cn30xx cn50xx;
6639        struct cvmx_gmxx_tx_ovr_bp_s cn52xx;
6640        struct cvmx_gmxx_tx_ovr_bp_s cn52xxp1;
6641        struct cvmx_gmxx_tx_ovr_bp_s cn56xx;
6642        struct cvmx_gmxx_tx_ovr_bp_s cn56xxp1;
6643        struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xx;
6644        struct cvmx_gmxx_tx_ovr_bp_cn38xx cn58xxp1;
6645        struct cvmx_gmxx_tx_ovr_bp_s cn61xx;
6646        struct cvmx_gmxx_tx_ovr_bp_s cn63xx;
6647        struct cvmx_gmxx_tx_ovr_bp_s cn63xxp1;
6648        struct cvmx_gmxx_tx_ovr_bp_s cn66xx;
6649        struct cvmx_gmxx_tx_ovr_bp_s cn68xx;
6650        struct cvmx_gmxx_tx_ovr_bp_s cn68xxp1;
6651        struct cvmx_gmxx_tx_ovr_bp_cnf71xx {
6652#ifdef __BIG_ENDIAN_BITFIELD
6653                uint64_t reserved_48_63:16;
6654                uint64_t tx_prt_bp:16;
6655                uint64_t reserved_10_31:22;
6656                uint64_t en:2;
6657                uint64_t reserved_6_7:2;
6658                uint64_t bp:2;
6659                uint64_t reserved_2_3:2;
6660                uint64_t ign_full:2;
6661#else
6662                uint64_t ign_full:2;
6663                uint64_t reserved_2_3:2;
6664                uint64_t bp:2;
6665                uint64_t reserved_6_7:2;
6666                uint64_t en:2;
6667                uint64_t reserved_10_31:22;
6668                uint64_t tx_prt_bp:16;
6669                uint64_t reserved_48_63:16;
6670#endif
6671        } cnf71xx;
6672};
6673
6674union cvmx_gmxx_tx_pause_pkt_dmac {
6675        uint64_t u64;
6676        struct cvmx_gmxx_tx_pause_pkt_dmac_s {
6677#ifdef __BIG_ENDIAN_BITFIELD
6678                uint64_t reserved_48_63:16;
6679                uint64_t dmac:48;
6680#else
6681                uint64_t dmac:48;
6682                uint64_t reserved_48_63:16;
6683#endif
6684        } s;
6685        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn30xx;
6686        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn31xx;
6687        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xx;
6688        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn38xxp2;
6689        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn50xx;
6690        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xx;
6691        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn52xxp1;
6692        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xx;
6693        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn56xxp1;
6694        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xx;
6695        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn58xxp1;
6696        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn61xx;
6697        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xx;
6698        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn63xxp1;
6699        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn66xx;
6700        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xx;
6701        struct cvmx_gmxx_tx_pause_pkt_dmac_s cn68xxp1;
6702        struct cvmx_gmxx_tx_pause_pkt_dmac_s cnf71xx;
6703};
6704
6705union cvmx_gmxx_tx_pause_pkt_type {
6706        uint64_t u64;
6707        struct cvmx_gmxx_tx_pause_pkt_type_s {
6708#ifdef __BIG_ENDIAN_BITFIELD
6709                uint64_t reserved_16_63:48;
6710                uint64_t type:16;
6711#else
6712                uint64_t type:16;
6713                uint64_t reserved_16_63:48;
6714#endif
6715        } s;
6716        struct cvmx_gmxx_tx_pause_pkt_type_s cn30xx;
6717        struct cvmx_gmxx_tx_pause_pkt_type_s cn31xx;
6718        struct cvmx_gmxx_tx_pause_pkt_type_s cn38xx;
6719        struct cvmx_gmxx_tx_pause_pkt_type_s cn38xxp2;
6720        struct cvmx_gmxx_tx_pause_pkt_type_s cn50xx;
6721        struct cvmx_gmxx_tx_pause_pkt_type_s cn52xx;
6722        struct cvmx_gmxx_tx_pause_pkt_type_s cn52xxp1;
6723        struct cvmx_gmxx_tx_pause_pkt_type_s cn56xx;
6724        struct cvmx_gmxx_tx_pause_pkt_type_s cn56xxp1;
6725        struct cvmx_gmxx_tx_pause_pkt_type_s cn58xx;
6726        struct cvmx_gmxx_tx_pause_pkt_type_s cn58xxp1;
6727        struct cvmx_gmxx_tx_pause_pkt_type_s cn61xx;
6728        struct cvmx_gmxx_tx_pause_pkt_type_s cn63xx;
6729        struct cvmx_gmxx_tx_pause_pkt_type_s cn63xxp1;
6730        struct cvmx_gmxx_tx_pause_pkt_type_s cn66xx;
6731        struct cvmx_gmxx_tx_pause_pkt_type_s cn68xx;
6732        struct cvmx_gmxx_tx_pause_pkt_type_s cn68xxp1;
6733        struct cvmx_gmxx_tx_pause_pkt_type_s cnf71xx;
6734};
6735
6736union cvmx_gmxx_tx_prts {
6737        uint64_t u64;
6738        struct cvmx_gmxx_tx_prts_s {
6739#ifdef __BIG_ENDIAN_BITFIELD
6740                uint64_t reserved_5_63:59;
6741                uint64_t prts:5;
6742#else
6743                uint64_t prts:5;
6744                uint64_t reserved_5_63:59;
6745#endif
6746        } s;
6747        struct cvmx_gmxx_tx_prts_s cn30xx;
6748        struct cvmx_gmxx_tx_prts_s cn31xx;
6749        struct cvmx_gmxx_tx_prts_s cn38xx;
6750        struct cvmx_gmxx_tx_prts_s cn38xxp2;
6751        struct cvmx_gmxx_tx_prts_s cn50xx;
6752        struct cvmx_gmxx_tx_prts_s cn52xx;
6753        struct cvmx_gmxx_tx_prts_s cn52xxp1;
6754        struct cvmx_gmxx_tx_prts_s cn56xx;
6755        struct cvmx_gmxx_tx_prts_s cn56xxp1;
6756        struct cvmx_gmxx_tx_prts_s cn58xx;
6757        struct cvmx_gmxx_tx_prts_s cn58xxp1;
6758        struct cvmx_gmxx_tx_prts_s cn61xx;
6759        struct cvmx_gmxx_tx_prts_s cn63xx;
6760        struct cvmx_gmxx_tx_prts_s cn63xxp1;
6761        struct cvmx_gmxx_tx_prts_s cn66xx;
6762        struct cvmx_gmxx_tx_prts_s cn68xx;
6763        struct cvmx_gmxx_tx_prts_s cn68xxp1;
6764        struct cvmx_gmxx_tx_prts_s cnf71xx;
6765};
6766
6767union cvmx_gmxx_tx_spi_ctl {
6768        uint64_t u64;
6769        struct cvmx_gmxx_tx_spi_ctl_s {
6770#ifdef __BIG_ENDIAN_BITFIELD
6771                uint64_t reserved_2_63:62;
6772                uint64_t tpa_clr:1;
6773                uint64_t cont_pkt:1;
6774#else
6775                uint64_t cont_pkt:1;
6776                uint64_t tpa_clr:1;
6777                uint64_t reserved_2_63:62;
6778#endif
6779        } s;
6780        struct cvmx_gmxx_tx_spi_ctl_s cn38xx;
6781        struct cvmx_gmxx_tx_spi_ctl_s cn38xxp2;
6782        struct cvmx_gmxx_tx_spi_ctl_s cn58xx;
6783        struct cvmx_gmxx_tx_spi_ctl_s cn58xxp1;
6784};
6785
6786union cvmx_gmxx_tx_spi_drain {
6787        uint64_t u64;
6788        struct cvmx_gmxx_tx_spi_drain_s {
6789#ifdef __BIG_ENDIAN_BITFIELD
6790                uint64_t reserved_16_63:48;
6791                uint64_t drain:16;
6792#else
6793                uint64_t drain:16;
6794                uint64_t reserved_16_63:48;
6795#endif
6796        } s;
6797        struct cvmx_gmxx_tx_spi_drain_s cn38xx;
6798        struct cvmx_gmxx_tx_spi_drain_s cn58xx;
6799        struct cvmx_gmxx_tx_spi_drain_s cn58xxp1;
6800};
6801
6802union cvmx_gmxx_tx_spi_max {
6803        uint64_t u64;
6804        struct cvmx_gmxx_tx_spi_max_s {
6805#ifdef __BIG_ENDIAN_BITFIELD
6806                uint64_t reserved_23_63:41;
6807                uint64_t slice:7;
6808                uint64_t max2:8;
6809                uint64_t max1:8;
6810#else
6811                uint64_t max1:8;
6812                uint64_t max2:8;
6813                uint64_t slice:7;
6814                uint64_t reserved_23_63:41;
6815#endif
6816        } s;
6817        struct cvmx_gmxx_tx_spi_max_cn38xx {
6818#ifdef __BIG_ENDIAN_BITFIELD
6819                uint64_t reserved_16_63:48;
6820                uint64_t max2:8;
6821                uint64_t max1:8;
6822#else
6823                uint64_t max1:8;
6824                uint64_t max2:8;
6825                uint64_t reserved_16_63:48;
6826#endif
6827        } cn38xx;
6828        struct cvmx_gmxx_tx_spi_max_cn38xx cn38xxp2;
6829        struct cvmx_gmxx_tx_spi_max_s cn58xx;
6830        struct cvmx_gmxx_tx_spi_max_s cn58xxp1;
6831};
6832
6833union cvmx_gmxx_tx_spi_roundx {
6834        uint64_t u64;
6835        struct cvmx_gmxx_tx_spi_roundx_s {
6836#ifdef __BIG_ENDIAN_BITFIELD
6837                uint64_t reserved_16_63:48;
6838                uint64_t round:16;
6839#else
6840                uint64_t round:16;
6841                uint64_t reserved_16_63:48;
6842#endif
6843        } s;
6844        struct cvmx_gmxx_tx_spi_roundx_s cn58xx;
6845        struct cvmx_gmxx_tx_spi_roundx_s cn58xxp1;
6846};
6847
6848union cvmx_gmxx_tx_spi_thresh {
6849        uint64_t u64;
6850        struct cvmx_gmxx_tx_spi_thresh_s {
6851#ifdef __BIG_ENDIAN_BITFIELD
6852                uint64_t reserved_6_63:58;
6853                uint64_t thresh:6;
6854#else
6855                uint64_t thresh:6;
6856                uint64_t reserved_6_63:58;
6857#endif
6858        } s;
6859        struct cvmx_gmxx_tx_spi_thresh_s cn38xx;
6860        struct cvmx_gmxx_tx_spi_thresh_s cn38xxp2;
6861        struct cvmx_gmxx_tx_spi_thresh_s cn58xx;
6862        struct cvmx_gmxx_tx_spi_thresh_s cn58xxp1;
6863};
6864
6865union cvmx_gmxx_tx_xaui_ctl {
6866        uint64_t u64;
6867        struct cvmx_gmxx_tx_xaui_ctl_s {
6868#ifdef __BIG_ENDIAN_BITFIELD
6869                uint64_t reserved_11_63:53;
6870                uint64_t hg_pause_hgi:2;
6871                uint64_t hg_en:1;
6872                uint64_t reserved_7_7:1;
6873                uint64_t ls_byp:1;
6874                uint64_t ls:2;
6875                uint64_t reserved_2_3:2;
6876                uint64_t uni_en:1;
6877                uint64_t dic_en:1;
6878#else
6879                uint64_t dic_en:1;
6880                uint64_t uni_en:1;
6881                uint64_t reserved_2_3:2;
6882                uint64_t ls:2;
6883                uint64_t ls_byp:1;
6884                uint64_t reserved_7_7:1;
6885                uint64_t hg_en:1;
6886                uint64_t hg_pause_hgi:2;
6887                uint64_t reserved_11_63:53;
6888#endif
6889        } s;
6890        struct cvmx_gmxx_tx_xaui_ctl_s cn52xx;
6891        struct cvmx_gmxx_tx_xaui_ctl_s cn52xxp1;
6892        struct cvmx_gmxx_tx_xaui_ctl_s cn56xx;
6893        struct cvmx_gmxx_tx_xaui_ctl_s cn56xxp1;
6894        struct cvmx_gmxx_tx_xaui_ctl_s cn61xx;
6895        struct cvmx_gmxx_tx_xaui_ctl_s cn63xx;
6896        struct cvmx_gmxx_tx_xaui_ctl_s cn63xxp1;
6897        struct cvmx_gmxx_tx_xaui_ctl_s cn66xx;
6898        struct cvmx_gmxx_tx_xaui_ctl_s cn68xx;
6899        struct cvmx_gmxx_tx_xaui_ctl_s cn68xxp1;
6900        struct cvmx_gmxx_tx_xaui_ctl_s cnf71xx;
6901};
6902
6903union cvmx_gmxx_xaui_ext_loopback {
6904        uint64_t u64;
6905        struct cvmx_gmxx_xaui_ext_loopback_s {
6906#ifdef __BIG_ENDIAN_BITFIELD
6907                uint64_t reserved_5_63:59;
6908                uint64_t en:1;
6909                uint64_t thresh:4;
6910#else
6911                uint64_t thresh:4;
6912                uint64_t en:1;
6913                uint64_t reserved_5_63:59;
6914#endif
6915        } s;
6916        struct cvmx_gmxx_xaui_ext_loopback_s cn52xx;
6917        struct cvmx_gmxx_xaui_ext_loopback_s cn52xxp1;
6918        struct cvmx_gmxx_xaui_ext_loopback_s cn56xx;
6919        struct cvmx_gmxx_xaui_ext_loopback_s cn56xxp1;
6920        struct cvmx_gmxx_xaui_ext_loopback_s cn61xx;
6921        struct cvmx_gmxx_xaui_ext_loopback_s cn63xx;
6922        struct cvmx_gmxx_xaui_ext_loopback_s cn63xxp1;
6923        struct cvmx_gmxx_xaui_ext_loopback_s cn66xx;
6924        struct cvmx_gmxx_xaui_ext_loopback_s cn68xx;
6925        struct cvmx_gmxx_xaui_ext_loopback_s cn68xxp1;
6926        struct cvmx_gmxx_xaui_ext_loopback_s cnf71xx;
6927};
6928
6929#endif
6930