linux/arch/mips/include/asm/octeon/cvmx-pko-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_PKO_DEFS_H__
  29#define __CVMX_PKO_DEFS_H__
  30
  31#define CVMX_PKO_MEM_COUNT0 (CVMX_ADD_IO_SEG(0x0001180050001080ull))
  32#define CVMX_PKO_MEM_COUNT1 (CVMX_ADD_IO_SEG(0x0001180050001088ull))
  33#define CVMX_PKO_MEM_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050001100ull))
  34#define CVMX_PKO_MEM_DEBUG1 (CVMX_ADD_IO_SEG(0x0001180050001108ull))
  35#define CVMX_PKO_MEM_DEBUG10 (CVMX_ADD_IO_SEG(0x0001180050001150ull))
  36#define CVMX_PKO_MEM_DEBUG11 (CVMX_ADD_IO_SEG(0x0001180050001158ull))
  37#define CVMX_PKO_MEM_DEBUG12 (CVMX_ADD_IO_SEG(0x0001180050001160ull))
  38#define CVMX_PKO_MEM_DEBUG13 (CVMX_ADD_IO_SEG(0x0001180050001168ull))
  39#define CVMX_PKO_MEM_DEBUG14 (CVMX_ADD_IO_SEG(0x0001180050001170ull))
  40#define CVMX_PKO_MEM_DEBUG2 (CVMX_ADD_IO_SEG(0x0001180050001110ull))
  41#define CVMX_PKO_MEM_DEBUG3 (CVMX_ADD_IO_SEG(0x0001180050001118ull))
  42#define CVMX_PKO_MEM_DEBUG4 (CVMX_ADD_IO_SEG(0x0001180050001120ull))
  43#define CVMX_PKO_MEM_DEBUG5 (CVMX_ADD_IO_SEG(0x0001180050001128ull))
  44#define CVMX_PKO_MEM_DEBUG6 (CVMX_ADD_IO_SEG(0x0001180050001130ull))
  45#define CVMX_PKO_MEM_DEBUG7 (CVMX_ADD_IO_SEG(0x0001180050001138ull))
  46#define CVMX_PKO_MEM_DEBUG8 (CVMX_ADD_IO_SEG(0x0001180050001140ull))
  47#define CVMX_PKO_MEM_DEBUG9 (CVMX_ADD_IO_SEG(0x0001180050001148ull))
  48#define CVMX_PKO_MEM_IPORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001030ull))
  49#define CVMX_PKO_MEM_IPORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001038ull))
  50#define CVMX_PKO_MEM_IQUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001040ull))
  51#define CVMX_PKO_MEM_IQUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001048ull))
  52#define CVMX_PKO_MEM_PORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001010ull))
  53#define CVMX_PKO_MEM_PORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001018ull))
  54#define CVMX_PKO_MEM_PORT_RATE0 (CVMX_ADD_IO_SEG(0x0001180050001020ull))
  55#define CVMX_PKO_MEM_PORT_RATE1 (CVMX_ADD_IO_SEG(0x0001180050001028ull))
  56#define CVMX_PKO_MEM_QUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001000ull))
  57#define CVMX_PKO_MEM_QUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001008ull))
  58#define CVMX_PKO_MEM_THROTTLE_INT (CVMX_ADD_IO_SEG(0x0001180050001058ull))
  59#define CVMX_PKO_MEM_THROTTLE_PIPE (CVMX_ADD_IO_SEG(0x0001180050001050ull))
  60#define CVMX_PKO_REG_BIST_RESULT (CVMX_ADD_IO_SEG(0x0001180050000080ull))
  61#define CVMX_PKO_REG_CMD_BUF (CVMX_ADD_IO_SEG(0x0001180050000010ull))
  62#define CVMX_PKO_REG_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180050000028ull) + ((offset) & 1) * 8)
  63#define CVMX_PKO_REG_CRC_ENABLE (CVMX_ADD_IO_SEG(0x0001180050000020ull))
  64#define CVMX_PKO_REG_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x0001180050000038ull) + ((offset) & 1) * 8)
  65#define CVMX_PKO_REG_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050000098ull))
  66#define CVMX_PKO_REG_DEBUG1 (CVMX_ADD_IO_SEG(0x00011800500000A0ull))
  67#define CVMX_PKO_REG_DEBUG2 (CVMX_ADD_IO_SEG(0x00011800500000A8ull))
  68#define CVMX_PKO_REG_DEBUG3 (CVMX_ADD_IO_SEG(0x00011800500000B0ull))
  69#define CVMX_PKO_REG_DEBUG4 (CVMX_ADD_IO_SEG(0x00011800500000B8ull))
  70#define CVMX_PKO_REG_ENGINE_INFLIGHT (CVMX_ADD_IO_SEG(0x0001180050000050ull))
  71#define CVMX_PKO_REG_ENGINE_INFLIGHT1 (CVMX_ADD_IO_SEG(0x0001180050000318ull))
  72#define CVMX_PKO_REG_ENGINE_STORAGEX(offset) (CVMX_ADD_IO_SEG(0x0001180050000300ull) + ((offset) & 1) * 8)
  73#define CVMX_PKO_REG_ENGINE_THRESH (CVMX_ADD_IO_SEG(0x0001180050000058ull))
  74#define CVMX_PKO_REG_ERROR (CVMX_ADD_IO_SEG(0x0001180050000088ull))
  75#define CVMX_PKO_REG_FLAGS (CVMX_ADD_IO_SEG(0x0001180050000000ull))
  76#define CVMX_PKO_REG_GMX_PORT_MODE (CVMX_ADD_IO_SEG(0x0001180050000018ull))
  77#define CVMX_PKO_REG_INT_MASK (CVMX_ADD_IO_SEG(0x0001180050000090ull))
  78#define CVMX_PKO_REG_LOOPBACK_BPID (CVMX_ADD_IO_SEG(0x0001180050000118ull))
  79#define CVMX_PKO_REG_LOOPBACK_PKIND (CVMX_ADD_IO_SEG(0x0001180050000068ull))
  80#define CVMX_PKO_REG_MIN_PKT (CVMX_ADD_IO_SEG(0x0001180050000070ull))
  81#define CVMX_PKO_REG_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000110ull))
  82#define CVMX_PKO_REG_QUEUE_MODE (CVMX_ADD_IO_SEG(0x0001180050000048ull))
  83#define CVMX_PKO_REG_QUEUE_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000108ull))
  84#define CVMX_PKO_REG_QUEUE_PTRS1 (CVMX_ADD_IO_SEG(0x0001180050000100ull))
  85#define CVMX_PKO_REG_READ_IDX (CVMX_ADD_IO_SEG(0x0001180050000008ull))
  86#define CVMX_PKO_REG_THROTTLE (CVMX_ADD_IO_SEG(0x0001180050000078ull))
  87#define CVMX_PKO_REG_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001180050000060ull))
  88
  89union cvmx_pko_mem_count0 {
  90        uint64_t u64;
  91        struct cvmx_pko_mem_count0_s {
  92#ifdef __BIG_ENDIAN_BITFIELD
  93                uint64_t reserved_32_63:32;
  94                uint64_t count:32;
  95#else
  96                uint64_t count:32;
  97                uint64_t reserved_32_63:32;
  98#endif
  99        } s;
 100        struct cvmx_pko_mem_count0_s cn30xx;
 101        struct cvmx_pko_mem_count0_s cn31xx;
 102        struct cvmx_pko_mem_count0_s cn38xx;
 103        struct cvmx_pko_mem_count0_s cn38xxp2;
 104        struct cvmx_pko_mem_count0_s cn50xx;
 105        struct cvmx_pko_mem_count0_s cn52xx;
 106        struct cvmx_pko_mem_count0_s cn52xxp1;
 107        struct cvmx_pko_mem_count0_s cn56xx;
 108        struct cvmx_pko_mem_count0_s cn56xxp1;
 109        struct cvmx_pko_mem_count0_s cn58xx;
 110        struct cvmx_pko_mem_count0_s cn58xxp1;
 111        struct cvmx_pko_mem_count0_s cn61xx;
 112        struct cvmx_pko_mem_count0_s cn63xx;
 113        struct cvmx_pko_mem_count0_s cn63xxp1;
 114        struct cvmx_pko_mem_count0_s cn66xx;
 115        struct cvmx_pko_mem_count0_s cn68xx;
 116        struct cvmx_pko_mem_count0_s cn68xxp1;
 117        struct cvmx_pko_mem_count0_s cnf71xx;
 118};
 119
 120union cvmx_pko_mem_count1 {
 121        uint64_t u64;
 122        struct cvmx_pko_mem_count1_s {
 123#ifdef __BIG_ENDIAN_BITFIELD
 124                uint64_t reserved_48_63:16;
 125                uint64_t count:48;
 126#else
 127                uint64_t count:48;
 128                uint64_t reserved_48_63:16;
 129#endif
 130        } s;
 131        struct cvmx_pko_mem_count1_s cn30xx;
 132        struct cvmx_pko_mem_count1_s cn31xx;
 133        struct cvmx_pko_mem_count1_s cn38xx;
 134        struct cvmx_pko_mem_count1_s cn38xxp2;
 135        struct cvmx_pko_mem_count1_s cn50xx;
 136        struct cvmx_pko_mem_count1_s cn52xx;
 137        struct cvmx_pko_mem_count1_s cn52xxp1;
 138        struct cvmx_pko_mem_count1_s cn56xx;
 139        struct cvmx_pko_mem_count1_s cn56xxp1;
 140        struct cvmx_pko_mem_count1_s cn58xx;
 141        struct cvmx_pko_mem_count1_s cn58xxp1;
 142        struct cvmx_pko_mem_count1_s cn61xx;
 143        struct cvmx_pko_mem_count1_s cn63xx;
 144        struct cvmx_pko_mem_count1_s cn63xxp1;
 145        struct cvmx_pko_mem_count1_s cn66xx;
 146        struct cvmx_pko_mem_count1_s cn68xx;
 147        struct cvmx_pko_mem_count1_s cn68xxp1;
 148        struct cvmx_pko_mem_count1_s cnf71xx;
 149};
 150
 151union cvmx_pko_mem_debug0 {
 152        uint64_t u64;
 153        struct cvmx_pko_mem_debug0_s {
 154#ifdef __BIG_ENDIAN_BITFIELD
 155                uint64_t fau:28;
 156                uint64_t cmd:14;
 157                uint64_t segs:6;
 158                uint64_t size:16;
 159#else
 160                uint64_t size:16;
 161                uint64_t segs:6;
 162                uint64_t cmd:14;
 163                uint64_t fau:28;
 164#endif
 165        } s;
 166        struct cvmx_pko_mem_debug0_s cn30xx;
 167        struct cvmx_pko_mem_debug0_s cn31xx;
 168        struct cvmx_pko_mem_debug0_s cn38xx;
 169        struct cvmx_pko_mem_debug0_s cn38xxp2;
 170        struct cvmx_pko_mem_debug0_s cn50xx;
 171        struct cvmx_pko_mem_debug0_s cn52xx;
 172        struct cvmx_pko_mem_debug0_s cn52xxp1;
 173        struct cvmx_pko_mem_debug0_s cn56xx;
 174        struct cvmx_pko_mem_debug0_s cn56xxp1;
 175        struct cvmx_pko_mem_debug0_s cn58xx;
 176        struct cvmx_pko_mem_debug0_s cn58xxp1;
 177        struct cvmx_pko_mem_debug0_s cn61xx;
 178        struct cvmx_pko_mem_debug0_s cn63xx;
 179        struct cvmx_pko_mem_debug0_s cn63xxp1;
 180        struct cvmx_pko_mem_debug0_s cn66xx;
 181        struct cvmx_pko_mem_debug0_s cn68xx;
 182        struct cvmx_pko_mem_debug0_s cn68xxp1;
 183        struct cvmx_pko_mem_debug0_s cnf71xx;
 184};
 185
 186union cvmx_pko_mem_debug1 {
 187        uint64_t u64;
 188        struct cvmx_pko_mem_debug1_s {
 189#ifdef __BIG_ENDIAN_BITFIELD
 190                uint64_t i:1;
 191                uint64_t back:4;
 192                uint64_t pool:3;
 193                uint64_t size:16;
 194                uint64_t ptr:40;
 195#else
 196                uint64_t ptr:40;
 197                uint64_t size:16;
 198                uint64_t pool:3;
 199                uint64_t back:4;
 200                uint64_t i:1;
 201#endif
 202        } s;
 203        struct cvmx_pko_mem_debug1_s cn30xx;
 204        struct cvmx_pko_mem_debug1_s cn31xx;
 205        struct cvmx_pko_mem_debug1_s cn38xx;
 206        struct cvmx_pko_mem_debug1_s cn38xxp2;
 207        struct cvmx_pko_mem_debug1_s cn50xx;
 208        struct cvmx_pko_mem_debug1_s cn52xx;
 209        struct cvmx_pko_mem_debug1_s cn52xxp1;
 210        struct cvmx_pko_mem_debug1_s cn56xx;
 211        struct cvmx_pko_mem_debug1_s cn56xxp1;
 212        struct cvmx_pko_mem_debug1_s cn58xx;
 213        struct cvmx_pko_mem_debug1_s cn58xxp1;
 214        struct cvmx_pko_mem_debug1_s cn61xx;
 215        struct cvmx_pko_mem_debug1_s cn63xx;
 216        struct cvmx_pko_mem_debug1_s cn63xxp1;
 217        struct cvmx_pko_mem_debug1_s cn66xx;
 218        struct cvmx_pko_mem_debug1_s cn68xx;
 219        struct cvmx_pko_mem_debug1_s cn68xxp1;
 220        struct cvmx_pko_mem_debug1_s cnf71xx;
 221};
 222
 223union cvmx_pko_mem_debug10 {
 224        uint64_t u64;
 225        struct cvmx_pko_mem_debug10_s {
 226#ifdef __BIG_ENDIAN_BITFIELD
 227                uint64_t reserved_0_63:64;
 228#else
 229                uint64_t reserved_0_63:64;
 230#endif
 231        } s;
 232        struct cvmx_pko_mem_debug10_cn30xx {
 233#ifdef __BIG_ENDIAN_BITFIELD
 234                uint64_t fau:28;
 235                uint64_t cmd:14;
 236                uint64_t segs:6;
 237                uint64_t size:16;
 238#else
 239                uint64_t size:16;
 240                uint64_t segs:6;
 241                uint64_t cmd:14;
 242                uint64_t fau:28;
 243#endif
 244        } cn30xx;
 245        struct cvmx_pko_mem_debug10_cn30xx cn31xx;
 246        struct cvmx_pko_mem_debug10_cn30xx cn38xx;
 247        struct cvmx_pko_mem_debug10_cn30xx cn38xxp2;
 248        struct cvmx_pko_mem_debug10_cn50xx {
 249#ifdef __BIG_ENDIAN_BITFIELD
 250                uint64_t reserved_49_63:15;
 251                uint64_t ptrs1:17;
 252                uint64_t reserved_17_31:15;
 253                uint64_t ptrs2:17;
 254#else
 255                uint64_t ptrs2:17;
 256                uint64_t reserved_17_31:15;
 257                uint64_t ptrs1:17;
 258                uint64_t reserved_49_63:15;
 259#endif
 260        } cn50xx;
 261        struct cvmx_pko_mem_debug10_cn50xx cn52xx;
 262        struct cvmx_pko_mem_debug10_cn50xx cn52xxp1;
 263        struct cvmx_pko_mem_debug10_cn50xx cn56xx;
 264        struct cvmx_pko_mem_debug10_cn50xx cn56xxp1;
 265        struct cvmx_pko_mem_debug10_cn50xx cn58xx;
 266        struct cvmx_pko_mem_debug10_cn50xx cn58xxp1;
 267        struct cvmx_pko_mem_debug10_cn50xx cn61xx;
 268        struct cvmx_pko_mem_debug10_cn50xx cn63xx;
 269        struct cvmx_pko_mem_debug10_cn50xx cn63xxp1;
 270        struct cvmx_pko_mem_debug10_cn50xx cn66xx;
 271        struct cvmx_pko_mem_debug10_cn50xx cn68xx;
 272        struct cvmx_pko_mem_debug10_cn50xx cn68xxp1;
 273        struct cvmx_pko_mem_debug10_cn50xx cnf71xx;
 274};
 275
 276union cvmx_pko_mem_debug11 {
 277        uint64_t u64;
 278        struct cvmx_pko_mem_debug11_s {
 279#ifdef __BIG_ENDIAN_BITFIELD
 280                uint64_t i:1;
 281                uint64_t back:4;
 282                uint64_t pool:3;
 283                uint64_t size:16;
 284                uint64_t reserved_0_39:40;
 285#else
 286                uint64_t reserved_0_39:40;
 287                uint64_t size:16;
 288                uint64_t pool:3;
 289                uint64_t back:4;
 290                uint64_t i:1;
 291#endif
 292        } s;
 293        struct cvmx_pko_mem_debug11_cn30xx {
 294#ifdef __BIG_ENDIAN_BITFIELD
 295                uint64_t i:1;
 296                uint64_t back:4;
 297                uint64_t pool:3;
 298                uint64_t size:16;
 299                uint64_t ptr:40;
 300#else
 301                uint64_t ptr:40;
 302                uint64_t size:16;
 303                uint64_t pool:3;
 304                uint64_t back:4;
 305                uint64_t i:1;
 306#endif
 307        } cn30xx;
 308        struct cvmx_pko_mem_debug11_cn30xx cn31xx;
 309        struct cvmx_pko_mem_debug11_cn30xx cn38xx;
 310        struct cvmx_pko_mem_debug11_cn30xx cn38xxp2;
 311        struct cvmx_pko_mem_debug11_cn50xx {
 312#ifdef __BIG_ENDIAN_BITFIELD
 313                uint64_t reserved_23_63:41;
 314                uint64_t maj:1;
 315                uint64_t uid:3;
 316                uint64_t sop:1;
 317                uint64_t len:1;
 318                uint64_t chk:1;
 319                uint64_t cnt:13;
 320                uint64_t mod:3;
 321#else
 322                uint64_t mod:3;
 323                uint64_t cnt:13;
 324                uint64_t chk:1;
 325                uint64_t len:1;
 326                uint64_t sop:1;
 327                uint64_t uid:3;
 328                uint64_t maj:1;
 329                uint64_t reserved_23_63:41;
 330#endif
 331        } cn50xx;
 332        struct cvmx_pko_mem_debug11_cn50xx cn52xx;
 333        struct cvmx_pko_mem_debug11_cn50xx cn52xxp1;
 334        struct cvmx_pko_mem_debug11_cn50xx cn56xx;
 335        struct cvmx_pko_mem_debug11_cn50xx cn56xxp1;
 336        struct cvmx_pko_mem_debug11_cn50xx cn58xx;
 337        struct cvmx_pko_mem_debug11_cn50xx cn58xxp1;
 338        struct cvmx_pko_mem_debug11_cn50xx cn61xx;
 339        struct cvmx_pko_mem_debug11_cn50xx cn63xx;
 340        struct cvmx_pko_mem_debug11_cn50xx cn63xxp1;
 341        struct cvmx_pko_mem_debug11_cn50xx cn66xx;
 342        struct cvmx_pko_mem_debug11_cn50xx cn68xx;
 343        struct cvmx_pko_mem_debug11_cn50xx cn68xxp1;
 344        struct cvmx_pko_mem_debug11_cn50xx cnf71xx;
 345};
 346
 347union cvmx_pko_mem_debug12 {
 348        uint64_t u64;
 349        struct cvmx_pko_mem_debug12_s {
 350#ifdef __BIG_ENDIAN_BITFIELD
 351                uint64_t reserved_0_63:64;
 352#else
 353                uint64_t reserved_0_63:64;
 354#endif
 355        } s;
 356        struct cvmx_pko_mem_debug12_cn30xx {
 357#ifdef __BIG_ENDIAN_BITFIELD
 358                uint64_t data:64;
 359#else
 360                uint64_t data:64;
 361#endif
 362        } cn30xx;
 363        struct cvmx_pko_mem_debug12_cn30xx cn31xx;
 364        struct cvmx_pko_mem_debug12_cn30xx cn38xx;
 365        struct cvmx_pko_mem_debug12_cn30xx cn38xxp2;
 366        struct cvmx_pko_mem_debug12_cn50xx {
 367#ifdef __BIG_ENDIAN_BITFIELD
 368                uint64_t fau:28;
 369                uint64_t cmd:14;
 370                uint64_t segs:6;
 371                uint64_t size:16;
 372#else
 373                uint64_t size:16;
 374                uint64_t segs:6;
 375                uint64_t cmd:14;
 376                uint64_t fau:28;
 377#endif
 378        } cn50xx;
 379        struct cvmx_pko_mem_debug12_cn50xx cn52xx;
 380        struct cvmx_pko_mem_debug12_cn50xx cn52xxp1;
 381        struct cvmx_pko_mem_debug12_cn50xx cn56xx;
 382        struct cvmx_pko_mem_debug12_cn50xx cn56xxp1;
 383        struct cvmx_pko_mem_debug12_cn50xx cn58xx;
 384        struct cvmx_pko_mem_debug12_cn50xx cn58xxp1;
 385        struct cvmx_pko_mem_debug12_cn50xx cn61xx;
 386        struct cvmx_pko_mem_debug12_cn50xx cn63xx;
 387        struct cvmx_pko_mem_debug12_cn50xx cn63xxp1;
 388        struct cvmx_pko_mem_debug12_cn50xx cn66xx;
 389        struct cvmx_pko_mem_debug12_cn68xx {
 390#ifdef __BIG_ENDIAN_BITFIELD
 391                uint64_t state:64;
 392#else
 393                uint64_t state:64;
 394#endif
 395        } cn68xx;
 396        struct cvmx_pko_mem_debug12_cn68xx cn68xxp1;
 397        struct cvmx_pko_mem_debug12_cn50xx cnf71xx;
 398};
 399
 400union cvmx_pko_mem_debug13 {
 401        uint64_t u64;
 402        struct cvmx_pko_mem_debug13_s {
 403#ifdef __BIG_ENDIAN_BITFIELD
 404                uint64_t reserved_0_63:64;
 405#else
 406                uint64_t reserved_0_63:64;
 407#endif
 408        } s;
 409        struct cvmx_pko_mem_debug13_cn30xx {
 410#ifdef __BIG_ENDIAN_BITFIELD
 411                uint64_t reserved_51_63:13;
 412                uint64_t widx:17;
 413                uint64_t ridx2:17;
 414                uint64_t widx2:17;
 415#else
 416                uint64_t widx2:17;
 417                uint64_t ridx2:17;
 418                uint64_t widx:17;
 419                uint64_t reserved_51_63:13;
 420#endif
 421        } cn30xx;
 422        struct cvmx_pko_mem_debug13_cn30xx cn31xx;
 423        struct cvmx_pko_mem_debug13_cn30xx cn38xx;
 424        struct cvmx_pko_mem_debug13_cn30xx cn38xxp2;
 425        struct cvmx_pko_mem_debug13_cn50xx {
 426#ifdef __BIG_ENDIAN_BITFIELD
 427                uint64_t i:1;
 428                uint64_t back:4;
 429                uint64_t pool:3;
 430                uint64_t size:16;
 431                uint64_t ptr:40;
 432#else
 433                uint64_t ptr:40;
 434                uint64_t size:16;
 435                uint64_t pool:3;
 436                uint64_t back:4;
 437                uint64_t i:1;
 438#endif
 439        } cn50xx;
 440        struct cvmx_pko_mem_debug13_cn50xx cn52xx;
 441        struct cvmx_pko_mem_debug13_cn50xx cn52xxp1;
 442        struct cvmx_pko_mem_debug13_cn50xx cn56xx;
 443        struct cvmx_pko_mem_debug13_cn50xx cn56xxp1;
 444        struct cvmx_pko_mem_debug13_cn50xx cn58xx;
 445        struct cvmx_pko_mem_debug13_cn50xx cn58xxp1;
 446        struct cvmx_pko_mem_debug13_cn50xx cn61xx;
 447        struct cvmx_pko_mem_debug13_cn50xx cn63xx;
 448        struct cvmx_pko_mem_debug13_cn50xx cn63xxp1;
 449        struct cvmx_pko_mem_debug13_cn50xx cn66xx;
 450        struct cvmx_pko_mem_debug13_cn68xx {
 451#ifdef __BIG_ENDIAN_BITFIELD
 452                uint64_t state:64;
 453#else
 454                uint64_t state:64;
 455#endif
 456        } cn68xx;
 457        struct cvmx_pko_mem_debug13_cn68xx cn68xxp1;
 458        struct cvmx_pko_mem_debug13_cn50xx cnf71xx;
 459};
 460
 461union cvmx_pko_mem_debug14 {
 462        uint64_t u64;
 463        struct cvmx_pko_mem_debug14_s {
 464#ifdef __BIG_ENDIAN_BITFIELD
 465                uint64_t reserved_0_63:64;
 466#else
 467                uint64_t reserved_0_63:64;
 468#endif
 469        } s;
 470        struct cvmx_pko_mem_debug14_cn30xx {
 471#ifdef __BIG_ENDIAN_BITFIELD
 472                uint64_t reserved_17_63:47;
 473                uint64_t ridx:17;
 474#else
 475                uint64_t ridx:17;
 476                uint64_t reserved_17_63:47;
 477#endif
 478        } cn30xx;
 479        struct cvmx_pko_mem_debug14_cn30xx cn31xx;
 480        struct cvmx_pko_mem_debug14_cn30xx cn38xx;
 481        struct cvmx_pko_mem_debug14_cn30xx cn38xxp2;
 482        struct cvmx_pko_mem_debug14_cn52xx {
 483#ifdef __BIG_ENDIAN_BITFIELD
 484                uint64_t data:64;
 485#else
 486                uint64_t data:64;
 487#endif
 488        } cn52xx;
 489        struct cvmx_pko_mem_debug14_cn52xx cn52xxp1;
 490        struct cvmx_pko_mem_debug14_cn52xx cn56xx;
 491        struct cvmx_pko_mem_debug14_cn52xx cn56xxp1;
 492        struct cvmx_pko_mem_debug14_cn52xx cn61xx;
 493        struct cvmx_pko_mem_debug14_cn52xx cn63xx;
 494        struct cvmx_pko_mem_debug14_cn52xx cn63xxp1;
 495        struct cvmx_pko_mem_debug14_cn52xx cn66xx;
 496        struct cvmx_pko_mem_debug14_cn52xx cnf71xx;
 497};
 498
 499union cvmx_pko_mem_debug2 {
 500        uint64_t u64;
 501        struct cvmx_pko_mem_debug2_s {
 502#ifdef __BIG_ENDIAN_BITFIELD
 503                uint64_t i:1;
 504                uint64_t back:4;
 505                uint64_t pool:3;
 506                uint64_t size:16;
 507                uint64_t ptr:40;
 508#else
 509                uint64_t ptr:40;
 510                uint64_t size:16;
 511                uint64_t pool:3;
 512                uint64_t back:4;
 513                uint64_t i:1;
 514#endif
 515        } s;
 516        struct cvmx_pko_mem_debug2_s cn30xx;
 517        struct cvmx_pko_mem_debug2_s cn31xx;
 518        struct cvmx_pko_mem_debug2_s cn38xx;
 519        struct cvmx_pko_mem_debug2_s cn38xxp2;
 520        struct cvmx_pko_mem_debug2_s cn50xx;
 521        struct cvmx_pko_mem_debug2_s cn52xx;
 522        struct cvmx_pko_mem_debug2_s cn52xxp1;
 523        struct cvmx_pko_mem_debug2_s cn56xx;
 524        struct cvmx_pko_mem_debug2_s cn56xxp1;
 525        struct cvmx_pko_mem_debug2_s cn58xx;
 526        struct cvmx_pko_mem_debug2_s cn58xxp1;
 527        struct cvmx_pko_mem_debug2_s cn61xx;
 528        struct cvmx_pko_mem_debug2_s cn63xx;
 529        struct cvmx_pko_mem_debug2_s cn63xxp1;
 530        struct cvmx_pko_mem_debug2_s cn66xx;
 531        struct cvmx_pko_mem_debug2_s cn68xx;
 532        struct cvmx_pko_mem_debug2_s cn68xxp1;
 533        struct cvmx_pko_mem_debug2_s cnf71xx;
 534};
 535
 536union cvmx_pko_mem_debug3 {
 537        uint64_t u64;
 538        struct cvmx_pko_mem_debug3_s {
 539#ifdef __BIG_ENDIAN_BITFIELD
 540                uint64_t reserved_0_63:64;
 541#else
 542                uint64_t reserved_0_63:64;
 543#endif
 544        } s;
 545        struct cvmx_pko_mem_debug3_cn30xx {
 546#ifdef __BIG_ENDIAN_BITFIELD
 547                uint64_t i:1;
 548                uint64_t back:4;
 549                uint64_t pool:3;
 550                uint64_t size:16;
 551                uint64_t ptr:40;
 552#else
 553                uint64_t ptr:40;
 554                uint64_t size:16;
 555                uint64_t pool:3;
 556                uint64_t back:4;
 557                uint64_t i:1;
 558#endif
 559        } cn30xx;
 560        struct cvmx_pko_mem_debug3_cn30xx cn31xx;
 561        struct cvmx_pko_mem_debug3_cn30xx cn38xx;
 562        struct cvmx_pko_mem_debug3_cn30xx cn38xxp2;
 563        struct cvmx_pko_mem_debug3_cn50xx {
 564#ifdef __BIG_ENDIAN_BITFIELD
 565                uint64_t data:64;
 566#else
 567                uint64_t data:64;
 568#endif
 569        } cn50xx;
 570        struct cvmx_pko_mem_debug3_cn50xx cn52xx;
 571        struct cvmx_pko_mem_debug3_cn50xx cn52xxp1;
 572        struct cvmx_pko_mem_debug3_cn50xx cn56xx;
 573        struct cvmx_pko_mem_debug3_cn50xx cn56xxp1;
 574        struct cvmx_pko_mem_debug3_cn50xx cn58xx;
 575        struct cvmx_pko_mem_debug3_cn50xx cn58xxp1;
 576        struct cvmx_pko_mem_debug3_cn50xx cn61xx;
 577        struct cvmx_pko_mem_debug3_cn50xx cn63xx;
 578        struct cvmx_pko_mem_debug3_cn50xx cn63xxp1;
 579        struct cvmx_pko_mem_debug3_cn50xx cn66xx;
 580        struct cvmx_pko_mem_debug3_cn50xx cn68xx;
 581        struct cvmx_pko_mem_debug3_cn50xx cn68xxp1;
 582        struct cvmx_pko_mem_debug3_cn50xx cnf71xx;
 583};
 584
 585union cvmx_pko_mem_debug4 {
 586        uint64_t u64;
 587        struct cvmx_pko_mem_debug4_s {
 588#ifdef __BIG_ENDIAN_BITFIELD
 589                uint64_t reserved_0_63:64;
 590#else
 591                uint64_t reserved_0_63:64;
 592#endif
 593        } s;
 594        struct cvmx_pko_mem_debug4_cn30xx {
 595#ifdef __BIG_ENDIAN_BITFIELD
 596                uint64_t data:64;
 597#else
 598                uint64_t data:64;
 599#endif
 600        } cn30xx;
 601        struct cvmx_pko_mem_debug4_cn30xx cn31xx;
 602        struct cvmx_pko_mem_debug4_cn30xx cn38xx;
 603        struct cvmx_pko_mem_debug4_cn30xx cn38xxp2;
 604        struct cvmx_pko_mem_debug4_cn50xx {
 605#ifdef __BIG_ENDIAN_BITFIELD
 606                uint64_t cmnd_segs:3;
 607                uint64_t cmnd_siz:16;
 608                uint64_t cmnd_off:6;
 609                uint64_t uid:3;
 610                uint64_t dread_sop:1;
 611                uint64_t init_dwrite:1;
 612                uint64_t chk_once:1;
 613                uint64_t chk_mode:1;
 614                uint64_t active:1;
 615                uint64_t static_p:1;
 616                uint64_t qos:3;
 617                uint64_t qcb_ridx:5;
 618                uint64_t qid_off_max:4;
 619                uint64_t qid_off:4;
 620                uint64_t qid_base:8;
 621                uint64_t wait:1;
 622                uint64_t minor:2;
 623                uint64_t major:3;
 624#else
 625                uint64_t major:3;
 626                uint64_t minor:2;
 627                uint64_t wait:1;
 628                uint64_t qid_base:8;
 629                uint64_t qid_off:4;
 630                uint64_t qid_off_max:4;
 631                uint64_t qcb_ridx:5;
 632                uint64_t qos:3;
 633                uint64_t static_p:1;
 634                uint64_t active:1;
 635                uint64_t chk_mode:1;
 636                uint64_t chk_once:1;
 637                uint64_t init_dwrite:1;
 638                uint64_t dread_sop:1;
 639                uint64_t uid:3;
 640                uint64_t cmnd_off:6;
 641                uint64_t cmnd_siz:16;
 642                uint64_t cmnd_segs:3;
 643#endif
 644        } cn50xx;
 645        struct cvmx_pko_mem_debug4_cn52xx {
 646#ifdef __BIG_ENDIAN_BITFIELD
 647                uint64_t curr_siz:8;
 648                uint64_t curr_off:16;
 649                uint64_t cmnd_segs:6;
 650                uint64_t cmnd_siz:16;
 651                uint64_t cmnd_off:6;
 652                uint64_t uid:2;
 653                uint64_t dread_sop:1;
 654                uint64_t init_dwrite:1;
 655                uint64_t chk_once:1;
 656                uint64_t chk_mode:1;
 657                uint64_t wait:1;
 658                uint64_t minor:2;
 659                uint64_t major:3;
 660#else
 661                uint64_t major:3;
 662                uint64_t minor:2;
 663                uint64_t wait:1;
 664                uint64_t chk_mode:1;
 665                uint64_t chk_once:1;
 666                uint64_t init_dwrite:1;
 667                uint64_t dread_sop:1;
 668                uint64_t uid:2;
 669                uint64_t cmnd_off:6;
 670                uint64_t cmnd_siz:16;
 671                uint64_t cmnd_segs:6;
 672                uint64_t curr_off:16;
 673                uint64_t curr_siz:8;
 674#endif
 675        } cn52xx;
 676        struct cvmx_pko_mem_debug4_cn52xx cn52xxp1;
 677        struct cvmx_pko_mem_debug4_cn52xx cn56xx;
 678        struct cvmx_pko_mem_debug4_cn52xx cn56xxp1;
 679        struct cvmx_pko_mem_debug4_cn50xx cn58xx;
 680        struct cvmx_pko_mem_debug4_cn50xx cn58xxp1;
 681        struct cvmx_pko_mem_debug4_cn52xx cn61xx;
 682        struct cvmx_pko_mem_debug4_cn52xx cn63xx;
 683        struct cvmx_pko_mem_debug4_cn52xx cn63xxp1;
 684        struct cvmx_pko_mem_debug4_cn52xx cn66xx;
 685        struct cvmx_pko_mem_debug4_cn52xx cn68xx;
 686        struct cvmx_pko_mem_debug4_cn52xx cn68xxp1;
 687        struct cvmx_pko_mem_debug4_cn52xx cnf71xx;
 688};
 689
 690union cvmx_pko_mem_debug5 {
 691        uint64_t u64;
 692        struct cvmx_pko_mem_debug5_s {
 693#ifdef __BIG_ENDIAN_BITFIELD
 694                uint64_t reserved_0_63:64;
 695#else
 696                uint64_t reserved_0_63:64;
 697#endif
 698        } s;
 699        struct cvmx_pko_mem_debug5_cn30xx {
 700#ifdef __BIG_ENDIAN_BITFIELD
 701                uint64_t dwri_mod:1;
 702                uint64_t dwri_sop:1;
 703                uint64_t dwri_len:1;
 704                uint64_t dwri_cnt:13;
 705                uint64_t cmnd_siz:16;
 706                uint64_t uid:1;
 707                uint64_t xfer_wor:1;
 708                uint64_t xfer_dwr:1;
 709                uint64_t cbuf_fre:1;
 710                uint64_t reserved_27_27:1;
 711                uint64_t chk_mode:1;
 712                uint64_t active:1;
 713                uint64_t qos:3;
 714                uint64_t qcb_ridx:5;
 715                uint64_t qid_off:3;
 716                uint64_t qid_base:7;
 717                uint64_t wait:1;
 718                uint64_t minor:2;
 719                uint64_t major:4;
 720#else
 721                uint64_t major:4;
 722                uint64_t minor:2;
 723                uint64_t wait:1;
 724                uint64_t qid_base:7;
 725                uint64_t qid_off:3;
 726                uint64_t qcb_ridx:5;
 727                uint64_t qos:3;
 728                uint64_t active:1;
 729                uint64_t chk_mode:1;
 730                uint64_t reserved_27_27:1;
 731                uint64_t cbuf_fre:1;
 732                uint64_t xfer_dwr:1;
 733                uint64_t xfer_wor:1;
 734                uint64_t uid:1;
 735                uint64_t cmnd_siz:16;
 736                uint64_t dwri_cnt:13;
 737                uint64_t dwri_len:1;
 738                uint64_t dwri_sop:1;
 739                uint64_t dwri_mod:1;
 740#endif
 741        } cn30xx;
 742        struct cvmx_pko_mem_debug5_cn30xx cn31xx;
 743        struct cvmx_pko_mem_debug5_cn30xx cn38xx;
 744        struct cvmx_pko_mem_debug5_cn30xx cn38xxp2;
 745        struct cvmx_pko_mem_debug5_cn50xx {
 746#ifdef __BIG_ENDIAN_BITFIELD
 747                uint64_t curr_ptr:29;
 748                uint64_t curr_siz:16;
 749                uint64_t curr_off:16;
 750                uint64_t cmnd_segs:3;
 751#else
 752                uint64_t cmnd_segs:3;
 753                uint64_t curr_off:16;
 754                uint64_t curr_siz:16;
 755                uint64_t curr_ptr:29;
 756#endif
 757        } cn50xx;
 758        struct cvmx_pko_mem_debug5_cn52xx {
 759#ifdef __BIG_ENDIAN_BITFIELD
 760                uint64_t reserved_54_63:10;
 761                uint64_t nxt_inflt:6;
 762                uint64_t curr_ptr:40;
 763                uint64_t curr_siz:8;
 764#else
 765                uint64_t curr_siz:8;
 766                uint64_t curr_ptr:40;
 767                uint64_t nxt_inflt:6;
 768                uint64_t reserved_54_63:10;
 769#endif
 770        } cn52xx;
 771        struct cvmx_pko_mem_debug5_cn52xx cn52xxp1;
 772        struct cvmx_pko_mem_debug5_cn52xx cn56xx;
 773        struct cvmx_pko_mem_debug5_cn52xx cn56xxp1;
 774        struct cvmx_pko_mem_debug5_cn50xx cn58xx;
 775        struct cvmx_pko_mem_debug5_cn50xx cn58xxp1;
 776        struct cvmx_pko_mem_debug5_cn61xx {
 777#ifdef __BIG_ENDIAN_BITFIELD
 778                uint64_t reserved_56_63:8;
 779                uint64_t ptp:1;
 780                uint64_t major_3:1;
 781                uint64_t nxt_inflt:6;
 782                uint64_t curr_ptr:40;
 783                uint64_t curr_siz:8;
 784#else
 785                uint64_t curr_siz:8;
 786                uint64_t curr_ptr:40;
 787                uint64_t nxt_inflt:6;
 788                uint64_t major_3:1;
 789                uint64_t ptp:1;
 790                uint64_t reserved_56_63:8;
 791#endif
 792        } cn61xx;
 793        struct cvmx_pko_mem_debug5_cn61xx cn63xx;
 794        struct cvmx_pko_mem_debug5_cn61xx cn63xxp1;
 795        struct cvmx_pko_mem_debug5_cn61xx cn66xx;
 796        struct cvmx_pko_mem_debug5_cn68xx {
 797#ifdef __BIG_ENDIAN_BITFIELD
 798                uint64_t reserved_57_63:7;
 799                uint64_t uid_2:1;
 800                uint64_t ptp:1;
 801                uint64_t major_3:1;
 802                uint64_t nxt_inflt:6;
 803                uint64_t curr_ptr:40;
 804                uint64_t curr_siz:8;
 805#else
 806                uint64_t curr_siz:8;
 807                uint64_t curr_ptr:40;
 808                uint64_t nxt_inflt:6;
 809                uint64_t major_3:1;
 810                uint64_t ptp:1;
 811                uint64_t uid_2:1;
 812                uint64_t reserved_57_63:7;
 813#endif
 814        } cn68xx;
 815        struct cvmx_pko_mem_debug5_cn68xx cn68xxp1;
 816        struct cvmx_pko_mem_debug5_cn61xx cnf71xx;
 817};
 818
 819union cvmx_pko_mem_debug6 {
 820        uint64_t u64;
 821        struct cvmx_pko_mem_debug6_s {
 822#ifdef __BIG_ENDIAN_BITFIELD
 823                uint64_t reserved_37_63:27;
 824                uint64_t qid_offres:4;
 825                uint64_t qid_offths:4;
 826                uint64_t preempter:1;
 827                uint64_t preemptee:1;
 828                uint64_t preempted:1;
 829                uint64_t active:1;
 830                uint64_t statc:1;
 831                uint64_t qos:3;
 832                uint64_t qcb_ridx:5;
 833                uint64_t qid_offmax:4;
 834                uint64_t reserved_0_11:12;
 835#else
 836                uint64_t reserved_0_11:12;
 837                uint64_t qid_offmax:4;
 838                uint64_t qcb_ridx:5;
 839                uint64_t qos:3;
 840                uint64_t statc:1;
 841                uint64_t active:1;
 842                uint64_t preempted:1;
 843                uint64_t preemptee:1;
 844                uint64_t preempter:1;
 845                uint64_t qid_offths:4;
 846                uint64_t qid_offres:4;
 847                uint64_t reserved_37_63:27;
 848#endif
 849        } s;
 850        struct cvmx_pko_mem_debug6_cn30xx {
 851#ifdef __BIG_ENDIAN_BITFIELD
 852                uint64_t reserved_11_63:53;
 853                uint64_t qid_offm:3;
 854                uint64_t static_p:1;
 855                uint64_t work_min:3;
 856                uint64_t dwri_chk:1;
 857                uint64_t dwri_uid:1;
 858                uint64_t dwri_mod:2;
 859#else
 860                uint64_t dwri_mod:2;
 861                uint64_t dwri_uid:1;
 862                uint64_t dwri_chk:1;
 863                uint64_t work_min:3;
 864                uint64_t static_p:1;
 865                uint64_t qid_offm:3;
 866                uint64_t reserved_11_63:53;
 867#endif
 868        } cn30xx;
 869        struct cvmx_pko_mem_debug6_cn30xx cn31xx;
 870        struct cvmx_pko_mem_debug6_cn30xx cn38xx;
 871        struct cvmx_pko_mem_debug6_cn30xx cn38xxp2;
 872        struct cvmx_pko_mem_debug6_cn50xx {
 873#ifdef __BIG_ENDIAN_BITFIELD
 874                uint64_t reserved_11_63:53;
 875                uint64_t curr_ptr:11;
 876#else
 877                uint64_t curr_ptr:11;
 878                uint64_t reserved_11_63:53;
 879#endif
 880        } cn50xx;
 881        struct cvmx_pko_mem_debug6_cn52xx {
 882#ifdef __BIG_ENDIAN_BITFIELD
 883                uint64_t reserved_37_63:27;
 884                uint64_t qid_offres:4;
 885                uint64_t qid_offths:4;
 886                uint64_t preempter:1;
 887                uint64_t preemptee:1;
 888                uint64_t preempted:1;
 889                uint64_t active:1;
 890                uint64_t statc:1;
 891                uint64_t qos:3;
 892                uint64_t qcb_ridx:5;
 893                uint64_t qid_offmax:4;
 894                uint64_t qid_off:4;
 895                uint64_t qid_base:8;
 896#else
 897                uint64_t qid_base:8;
 898                uint64_t qid_off:4;
 899                uint64_t qid_offmax:4;
 900                uint64_t qcb_ridx:5;
 901                uint64_t qos:3;
 902                uint64_t statc:1;
 903                uint64_t active:1;
 904                uint64_t preempted:1;
 905                uint64_t preemptee:1;
 906                uint64_t preempter:1;
 907                uint64_t qid_offths:4;
 908                uint64_t qid_offres:4;
 909                uint64_t reserved_37_63:27;
 910#endif
 911        } cn52xx;
 912        struct cvmx_pko_mem_debug6_cn52xx cn52xxp1;
 913        struct cvmx_pko_mem_debug6_cn52xx cn56xx;
 914        struct cvmx_pko_mem_debug6_cn52xx cn56xxp1;
 915        struct cvmx_pko_mem_debug6_cn50xx cn58xx;
 916        struct cvmx_pko_mem_debug6_cn50xx cn58xxp1;
 917        struct cvmx_pko_mem_debug6_cn52xx cn61xx;
 918        struct cvmx_pko_mem_debug6_cn52xx cn63xx;
 919        struct cvmx_pko_mem_debug6_cn52xx cn63xxp1;
 920        struct cvmx_pko_mem_debug6_cn52xx cn66xx;
 921        struct cvmx_pko_mem_debug6_cn52xx cn68xx;
 922        struct cvmx_pko_mem_debug6_cn52xx cn68xxp1;
 923        struct cvmx_pko_mem_debug6_cn52xx cnf71xx;
 924};
 925
 926union cvmx_pko_mem_debug7 {
 927        uint64_t u64;
 928        struct cvmx_pko_mem_debug7_s {
 929#ifdef __BIG_ENDIAN_BITFIELD
 930                uint64_t reserved_0_63:64;
 931#else
 932                uint64_t reserved_0_63:64;
 933#endif
 934        } s;
 935        struct cvmx_pko_mem_debug7_cn30xx {
 936#ifdef __BIG_ENDIAN_BITFIELD
 937                uint64_t reserved_58_63:6;
 938                uint64_t dwb:9;
 939                uint64_t start:33;
 940                uint64_t size:16;
 941#else
 942                uint64_t size:16;
 943                uint64_t start:33;
 944                uint64_t dwb:9;
 945                uint64_t reserved_58_63:6;
 946#endif
 947        } cn30xx;
 948        struct cvmx_pko_mem_debug7_cn30xx cn31xx;
 949        struct cvmx_pko_mem_debug7_cn30xx cn38xx;
 950        struct cvmx_pko_mem_debug7_cn30xx cn38xxp2;
 951        struct cvmx_pko_mem_debug7_cn50xx {
 952#ifdef __BIG_ENDIAN_BITFIELD
 953                uint64_t qos:5;
 954                uint64_t tail:1;
 955                uint64_t buf_siz:13;
 956                uint64_t buf_ptr:33;
 957                uint64_t qcb_widx:6;
 958                uint64_t qcb_ridx:6;
 959#else
 960                uint64_t qcb_ridx:6;
 961                uint64_t qcb_widx:6;
 962                uint64_t buf_ptr:33;
 963                uint64_t buf_siz:13;
 964                uint64_t tail:1;
 965                uint64_t qos:5;
 966#endif
 967        } cn50xx;
 968        struct cvmx_pko_mem_debug7_cn50xx cn52xx;
 969        struct cvmx_pko_mem_debug7_cn50xx cn52xxp1;
 970        struct cvmx_pko_mem_debug7_cn50xx cn56xx;
 971        struct cvmx_pko_mem_debug7_cn50xx cn56xxp1;
 972        struct cvmx_pko_mem_debug7_cn50xx cn58xx;
 973        struct cvmx_pko_mem_debug7_cn50xx cn58xxp1;
 974        struct cvmx_pko_mem_debug7_cn50xx cn61xx;
 975        struct cvmx_pko_mem_debug7_cn50xx cn63xx;
 976        struct cvmx_pko_mem_debug7_cn50xx cn63xxp1;
 977        struct cvmx_pko_mem_debug7_cn50xx cn66xx;
 978        struct cvmx_pko_mem_debug7_cn68xx {
 979#ifdef __BIG_ENDIAN_BITFIELD
 980                uint64_t qos:3;
 981                uint64_t tail:1;
 982                uint64_t buf_siz:13;
 983                uint64_t buf_ptr:33;
 984                uint64_t qcb_widx:7;
 985                uint64_t qcb_ridx:7;
 986#else
 987                uint64_t qcb_ridx:7;
 988                uint64_t qcb_widx:7;
 989                uint64_t buf_ptr:33;
 990                uint64_t buf_siz:13;
 991                uint64_t tail:1;
 992                uint64_t qos:3;
 993#endif
 994        } cn68xx;
 995        struct cvmx_pko_mem_debug7_cn68xx cn68xxp1;
 996        struct cvmx_pko_mem_debug7_cn50xx cnf71xx;
 997};
 998
 999union cvmx_pko_mem_debug8 {
1000        uint64_t u64;
1001        struct cvmx_pko_mem_debug8_s {
1002#ifdef __BIG_ENDIAN_BITFIELD
1003                uint64_t reserved_59_63:5;
1004                uint64_t tail:1;
1005                uint64_t buf_siz:13;
1006                uint64_t reserved_0_44:45;
1007#else
1008                uint64_t reserved_0_44:45;
1009                uint64_t buf_siz:13;
1010                uint64_t tail:1;
1011                uint64_t reserved_59_63:5;
1012#endif
1013        } s;
1014        struct cvmx_pko_mem_debug8_cn30xx {
1015#ifdef __BIG_ENDIAN_BITFIELD
1016                uint64_t qos:5;
1017                uint64_t tail:1;
1018                uint64_t buf_siz:13;
1019                uint64_t buf_ptr:33;
1020                uint64_t qcb_widx:6;
1021                uint64_t qcb_ridx:6;
1022#else
1023                uint64_t qcb_ridx:6;
1024                uint64_t qcb_widx:6;
1025                uint64_t buf_ptr:33;
1026                uint64_t buf_siz:13;
1027                uint64_t tail:1;
1028                uint64_t qos:5;
1029#endif
1030        } cn30xx;
1031        struct cvmx_pko_mem_debug8_cn30xx cn31xx;
1032        struct cvmx_pko_mem_debug8_cn30xx cn38xx;
1033        struct cvmx_pko_mem_debug8_cn30xx cn38xxp2;
1034        struct cvmx_pko_mem_debug8_cn50xx {
1035#ifdef __BIG_ENDIAN_BITFIELD
1036                uint64_t reserved_28_63:36;
1037                uint64_t doorbell:20;
1038                uint64_t reserved_6_7:2;
1039                uint64_t static_p:1;
1040                uint64_t s_tail:1;
1041                uint64_t static_q:1;
1042                uint64_t qos:3;
1043#else
1044                uint64_t qos:3;
1045                uint64_t static_q:1;
1046                uint64_t s_tail:1;
1047                uint64_t static_p:1;
1048                uint64_t reserved_6_7:2;
1049                uint64_t doorbell:20;
1050                uint64_t reserved_28_63:36;
1051#endif
1052        } cn50xx;
1053        struct cvmx_pko_mem_debug8_cn52xx {
1054#ifdef __BIG_ENDIAN_BITFIELD
1055                uint64_t reserved_29_63:35;
1056                uint64_t preempter:1;
1057                uint64_t doorbell:20;
1058                uint64_t reserved_7_7:1;
1059                uint64_t preemptee:1;
1060                uint64_t static_p:1;
1061                uint64_t s_tail:1;
1062                uint64_t static_q:1;
1063                uint64_t qos:3;
1064#else
1065                uint64_t qos:3;
1066                uint64_t static_q:1;
1067                uint64_t s_tail:1;
1068                uint64_t static_p:1;
1069                uint64_t preemptee:1;
1070                uint64_t reserved_7_7:1;
1071                uint64_t doorbell:20;
1072                uint64_t preempter:1;
1073                uint64_t reserved_29_63:35;
1074#endif
1075        } cn52xx;
1076        struct cvmx_pko_mem_debug8_cn52xx cn52xxp1;
1077        struct cvmx_pko_mem_debug8_cn52xx cn56xx;
1078        struct cvmx_pko_mem_debug8_cn52xx cn56xxp1;
1079        struct cvmx_pko_mem_debug8_cn50xx cn58xx;
1080        struct cvmx_pko_mem_debug8_cn50xx cn58xxp1;
1081        struct cvmx_pko_mem_debug8_cn61xx {
1082#ifdef __BIG_ENDIAN_BITFIELD
1083                uint64_t reserved_42_63:22;
1084                uint64_t qid_qqos:8;
1085                uint64_t reserved_33_33:1;
1086                uint64_t qid_idx:4;
1087                uint64_t preempter:1;
1088                uint64_t doorbell:20;
1089                uint64_t reserved_7_7:1;
1090                uint64_t preemptee:1;
1091                uint64_t static_p:1;
1092                uint64_t s_tail:1;
1093                uint64_t static_q:1;
1094                uint64_t qos:3;
1095#else
1096                uint64_t qos:3;
1097                uint64_t static_q:1;
1098                uint64_t s_tail:1;
1099                uint64_t static_p:1;
1100                uint64_t preemptee:1;
1101                uint64_t reserved_7_7:1;
1102                uint64_t doorbell:20;
1103                uint64_t preempter:1;
1104                uint64_t qid_idx:4;
1105                uint64_t reserved_33_33:1;
1106                uint64_t qid_qqos:8;
1107                uint64_t reserved_42_63:22;
1108#endif
1109        } cn61xx;
1110        struct cvmx_pko_mem_debug8_cn52xx cn63xx;
1111        struct cvmx_pko_mem_debug8_cn52xx cn63xxp1;
1112        struct cvmx_pko_mem_debug8_cn61xx cn66xx;
1113        struct cvmx_pko_mem_debug8_cn68xx {
1114#ifdef __BIG_ENDIAN_BITFIELD
1115                uint64_t reserved_37_63:27;
1116                uint64_t preempter:1;
1117                uint64_t doorbell:20;
1118                uint64_t reserved_9_15:7;
1119                uint64_t preemptee:1;
1120                uint64_t static_p:1;
1121                uint64_t s_tail:1;
1122                uint64_t static_q:1;
1123                uint64_t qos:5;
1124#else
1125                uint64_t qos:5;
1126                uint64_t static_q:1;
1127                uint64_t s_tail:1;
1128                uint64_t static_p:1;
1129                uint64_t preemptee:1;
1130                uint64_t reserved_9_15:7;
1131                uint64_t doorbell:20;
1132                uint64_t preempter:1;
1133                uint64_t reserved_37_63:27;
1134#endif
1135        } cn68xx;
1136        struct cvmx_pko_mem_debug8_cn68xx cn68xxp1;
1137        struct cvmx_pko_mem_debug8_cn61xx cnf71xx;
1138};
1139
1140union cvmx_pko_mem_debug9 {
1141        uint64_t u64;
1142        struct cvmx_pko_mem_debug9_s {
1143#ifdef __BIG_ENDIAN_BITFIELD
1144                uint64_t reserved_49_63:15;
1145                uint64_t ptrs0:17;
1146                uint64_t reserved_0_31:32;
1147#else
1148                uint64_t reserved_0_31:32;
1149                uint64_t ptrs0:17;
1150                uint64_t reserved_49_63:15;
1151#endif
1152        } s;
1153        struct cvmx_pko_mem_debug9_cn30xx {
1154#ifdef __BIG_ENDIAN_BITFIELD
1155                uint64_t reserved_28_63:36;
1156                uint64_t doorbell:20;
1157                uint64_t reserved_5_7:3;
1158                uint64_t s_tail:1;
1159                uint64_t static_q:1;
1160                uint64_t qos:3;
1161#else
1162                uint64_t qos:3;
1163                uint64_t static_q:1;
1164                uint64_t s_tail:1;
1165                uint64_t reserved_5_7:3;
1166                uint64_t doorbell:20;
1167                uint64_t reserved_28_63:36;
1168#endif
1169        } cn30xx;
1170        struct cvmx_pko_mem_debug9_cn30xx cn31xx;
1171        struct cvmx_pko_mem_debug9_cn38xx {
1172#ifdef __BIG_ENDIAN_BITFIELD
1173                uint64_t reserved_28_63:36;
1174                uint64_t doorbell:20;
1175                uint64_t reserved_6_7:2;
1176                uint64_t static_p:1;
1177                uint64_t s_tail:1;
1178                uint64_t static_q:1;
1179                uint64_t qos:3;
1180#else
1181                uint64_t qos:3;
1182                uint64_t static_q:1;
1183                uint64_t s_tail:1;
1184                uint64_t static_p:1;
1185                uint64_t reserved_6_7:2;
1186                uint64_t doorbell:20;
1187                uint64_t reserved_28_63:36;
1188#endif
1189        } cn38xx;
1190        struct cvmx_pko_mem_debug9_cn38xx cn38xxp2;
1191        struct cvmx_pko_mem_debug9_cn50xx {
1192#ifdef __BIG_ENDIAN_BITFIELD
1193                uint64_t reserved_49_63:15;
1194                uint64_t ptrs0:17;
1195                uint64_t reserved_17_31:15;
1196                uint64_t ptrs3:17;
1197#else
1198                uint64_t ptrs3:17;
1199                uint64_t reserved_17_31:15;
1200                uint64_t ptrs0:17;
1201                uint64_t reserved_49_63:15;
1202#endif
1203        } cn50xx;
1204        struct cvmx_pko_mem_debug9_cn50xx cn52xx;
1205        struct cvmx_pko_mem_debug9_cn50xx cn52xxp1;
1206        struct cvmx_pko_mem_debug9_cn50xx cn56xx;
1207        struct cvmx_pko_mem_debug9_cn50xx cn56xxp1;
1208        struct cvmx_pko_mem_debug9_cn50xx cn58xx;
1209        struct cvmx_pko_mem_debug9_cn50xx cn58xxp1;
1210        struct cvmx_pko_mem_debug9_cn50xx cn61xx;
1211        struct cvmx_pko_mem_debug9_cn50xx cn63xx;
1212        struct cvmx_pko_mem_debug9_cn50xx cn63xxp1;
1213        struct cvmx_pko_mem_debug9_cn50xx cn66xx;
1214        struct cvmx_pko_mem_debug9_cn50xx cn68xx;
1215        struct cvmx_pko_mem_debug9_cn50xx cn68xxp1;
1216        struct cvmx_pko_mem_debug9_cn50xx cnf71xx;
1217};
1218
1219union cvmx_pko_mem_iport_ptrs {
1220        uint64_t u64;
1221        struct cvmx_pko_mem_iport_ptrs_s {
1222#ifdef __BIG_ENDIAN_BITFIELD
1223                uint64_t reserved_63_63:1;
1224                uint64_t crc:1;
1225                uint64_t static_p:1;
1226                uint64_t qos_mask:8;
1227                uint64_t min_pkt:3;
1228                uint64_t reserved_31_49:19;
1229                uint64_t pipe:7;
1230                uint64_t reserved_21_23:3;
1231                uint64_t intr:5;
1232                uint64_t reserved_13_15:3;
1233                uint64_t eid:5;
1234                uint64_t reserved_7_7:1;
1235                uint64_t ipid:7;
1236#else
1237                uint64_t ipid:7;
1238                uint64_t reserved_7_7:1;
1239                uint64_t eid:5;
1240                uint64_t reserved_13_15:3;
1241                uint64_t intr:5;
1242                uint64_t reserved_21_23:3;
1243                uint64_t pipe:7;
1244                uint64_t reserved_31_49:19;
1245                uint64_t min_pkt:3;
1246                uint64_t qos_mask:8;
1247                uint64_t static_p:1;
1248                uint64_t crc:1;
1249                uint64_t reserved_63_63:1;
1250#endif
1251        } s;
1252        struct cvmx_pko_mem_iport_ptrs_s cn68xx;
1253        struct cvmx_pko_mem_iport_ptrs_s cn68xxp1;
1254};
1255
1256union cvmx_pko_mem_iport_qos {
1257        uint64_t u64;
1258        struct cvmx_pko_mem_iport_qos_s {
1259#ifdef __BIG_ENDIAN_BITFIELD
1260                uint64_t reserved_61_63:3;
1261                uint64_t qos_mask:8;
1262                uint64_t reserved_13_52:40;
1263                uint64_t eid:5;
1264                uint64_t reserved_7_7:1;
1265                uint64_t ipid:7;
1266#else
1267                uint64_t ipid:7;
1268                uint64_t reserved_7_7:1;
1269                uint64_t eid:5;
1270                uint64_t reserved_13_52:40;
1271                uint64_t qos_mask:8;
1272                uint64_t reserved_61_63:3;
1273#endif
1274        } s;
1275        struct cvmx_pko_mem_iport_qos_s cn68xx;
1276        struct cvmx_pko_mem_iport_qos_s cn68xxp1;
1277};
1278
1279union cvmx_pko_mem_iqueue_ptrs {
1280        uint64_t u64;
1281        struct cvmx_pko_mem_iqueue_ptrs_s {
1282#ifdef __BIG_ENDIAN_BITFIELD
1283                uint64_t s_tail:1;
1284                uint64_t static_p:1;
1285                uint64_t static_q:1;
1286                uint64_t qos_mask:8;
1287                uint64_t buf_ptr:31;
1288                uint64_t tail:1;
1289                uint64_t index:5;
1290                uint64_t reserved_15_15:1;
1291                uint64_t ipid:7;
1292                uint64_t qid:8;
1293#else
1294                uint64_t qid:8;
1295                uint64_t ipid:7;
1296                uint64_t reserved_15_15:1;
1297                uint64_t index:5;
1298                uint64_t tail:1;
1299                uint64_t buf_ptr:31;
1300                uint64_t qos_mask:8;
1301                uint64_t static_q:1;
1302                uint64_t static_p:1;
1303                uint64_t s_tail:1;
1304#endif
1305        } s;
1306        struct cvmx_pko_mem_iqueue_ptrs_s cn68xx;
1307        struct cvmx_pko_mem_iqueue_ptrs_s cn68xxp1;
1308};
1309
1310union cvmx_pko_mem_iqueue_qos {
1311        uint64_t u64;
1312        struct cvmx_pko_mem_iqueue_qos_s {
1313#ifdef __BIG_ENDIAN_BITFIELD
1314                uint64_t reserved_61_63:3;
1315                uint64_t qos_mask:8;
1316                uint64_t reserved_15_52:38;
1317                uint64_t ipid:7;
1318                uint64_t qid:8;
1319#else
1320                uint64_t qid:8;
1321                uint64_t ipid:7;
1322                uint64_t reserved_15_52:38;
1323                uint64_t qos_mask:8;
1324                uint64_t reserved_61_63:3;
1325#endif
1326        } s;
1327        struct cvmx_pko_mem_iqueue_qos_s cn68xx;
1328        struct cvmx_pko_mem_iqueue_qos_s cn68xxp1;
1329};
1330
1331union cvmx_pko_mem_port_ptrs {
1332        uint64_t u64;
1333        struct cvmx_pko_mem_port_ptrs_s {
1334#ifdef __BIG_ENDIAN_BITFIELD
1335                uint64_t reserved_62_63:2;
1336                uint64_t static_p:1;
1337                uint64_t qos_mask:8;
1338                uint64_t reserved_16_52:37;
1339                uint64_t bp_port:6;
1340                uint64_t eid:4;
1341                uint64_t pid:6;
1342#else
1343                uint64_t pid:6;
1344                uint64_t eid:4;
1345                uint64_t bp_port:6;
1346                uint64_t reserved_16_52:37;
1347                uint64_t qos_mask:8;
1348                uint64_t static_p:1;
1349                uint64_t reserved_62_63:2;
1350#endif
1351        } s;
1352        struct cvmx_pko_mem_port_ptrs_s cn52xx;
1353        struct cvmx_pko_mem_port_ptrs_s cn52xxp1;
1354        struct cvmx_pko_mem_port_ptrs_s cn56xx;
1355        struct cvmx_pko_mem_port_ptrs_s cn56xxp1;
1356        struct cvmx_pko_mem_port_ptrs_s cn61xx;
1357        struct cvmx_pko_mem_port_ptrs_s cn63xx;
1358        struct cvmx_pko_mem_port_ptrs_s cn63xxp1;
1359        struct cvmx_pko_mem_port_ptrs_s cn66xx;
1360        struct cvmx_pko_mem_port_ptrs_s cnf71xx;
1361};
1362
1363union cvmx_pko_mem_port_qos {
1364        uint64_t u64;
1365        struct cvmx_pko_mem_port_qos_s {
1366#ifdef __BIG_ENDIAN_BITFIELD
1367                uint64_t reserved_61_63:3;
1368                uint64_t qos_mask:8;
1369                uint64_t reserved_10_52:43;
1370                uint64_t eid:4;
1371                uint64_t pid:6;
1372#else
1373                uint64_t pid:6;
1374                uint64_t eid:4;
1375                uint64_t reserved_10_52:43;
1376                uint64_t qos_mask:8;
1377                uint64_t reserved_61_63:3;
1378#endif
1379        } s;
1380        struct cvmx_pko_mem_port_qos_s cn52xx;
1381        struct cvmx_pko_mem_port_qos_s cn52xxp1;
1382        struct cvmx_pko_mem_port_qos_s cn56xx;
1383        struct cvmx_pko_mem_port_qos_s cn56xxp1;
1384        struct cvmx_pko_mem_port_qos_s cn61xx;
1385        struct cvmx_pko_mem_port_qos_s cn63xx;
1386        struct cvmx_pko_mem_port_qos_s cn63xxp1;
1387        struct cvmx_pko_mem_port_qos_s cn66xx;
1388        struct cvmx_pko_mem_port_qos_s cnf71xx;
1389};
1390
1391union cvmx_pko_mem_port_rate0 {
1392        uint64_t u64;
1393        struct cvmx_pko_mem_port_rate0_s {
1394#ifdef __BIG_ENDIAN_BITFIELD
1395                uint64_t reserved_51_63:13;
1396                uint64_t rate_word:19;
1397                uint64_t rate_pkt:24;
1398                uint64_t reserved_7_7:1;
1399                uint64_t pid:7;
1400#else
1401                uint64_t pid:7;
1402                uint64_t reserved_7_7:1;
1403                uint64_t rate_pkt:24;
1404                uint64_t rate_word:19;
1405                uint64_t reserved_51_63:13;
1406#endif
1407        } s;
1408        struct cvmx_pko_mem_port_rate0_cn52xx {
1409#ifdef __BIG_ENDIAN_BITFIELD
1410                uint64_t reserved_51_63:13;
1411                uint64_t rate_word:19;
1412                uint64_t rate_pkt:24;
1413                uint64_t reserved_6_7:2;
1414                uint64_t pid:6;
1415#else
1416                uint64_t pid:6;
1417                uint64_t reserved_6_7:2;
1418                uint64_t rate_pkt:24;
1419                uint64_t rate_word:19;
1420                uint64_t reserved_51_63:13;
1421#endif
1422        } cn52xx;
1423        struct cvmx_pko_mem_port_rate0_cn52xx cn52xxp1;
1424        struct cvmx_pko_mem_port_rate0_cn52xx cn56xx;
1425        struct cvmx_pko_mem_port_rate0_cn52xx cn56xxp1;
1426        struct cvmx_pko_mem_port_rate0_cn52xx cn61xx;
1427        struct cvmx_pko_mem_port_rate0_cn52xx cn63xx;
1428        struct cvmx_pko_mem_port_rate0_cn52xx cn63xxp1;
1429        struct cvmx_pko_mem_port_rate0_cn52xx cn66xx;
1430        struct cvmx_pko_mem_port_rate0_s cn68xx;
1431        struct cvmx_pko_mem_port_rate0_s cn68xxp1;
1432        struct cvmx_pko_mem_port_rate0_cn52xx cnf71xx;
1433};
1434
1435union cvmx_pko_mem_port_rate1 {
1436        uint64_t u64;
1437        struct cvmx_pko_mem_port_rate1_s {
1438#ifdef __BIG_ENDIAN_BITFIELD
1439                uint64_t reserved_32_63:32;
1440                uint64_t rate_lim:24;
1441                uint64_t reserved_7_7:1;
1442                uint64_t pid:7;
1443#else
1444                uint64_t pid:7;
1445                uint64_t reserved_7_7:1;
1446                uint64_t rate_lim:24;
1447                uint64_t reserved_32_63:32;
1448#endif
1449        } s;
1450        struct cvmx_pko_mem_port_rate1_cn52xx {
1451#ifdef __BIG_ENDIAN_BITFIELD
1452                uint64_t reserved_32_63:32;
1453                uint64_t rate_lim:24;
1454                uint64_t reserved_6_7:2;
1455                uint64_t pid:6;
1456#else
1457                uint64_t pid:6;
1458                uint64_t reserved_6_7:2;
1459                uint64_t rate_lim:24;
1460                uint64_t reserved_32_63:32;
1461#endif
1462        } cn52xx;
1463        struct cvmx_pko_mem_port_rate1_cn52xx cn52xxp1;
1464        struct cvmx_pko_mem_port_rate1_cn52xx cn56xx;
1465        struct cvmx_pko_mem_port_rate1_cn52xx cn56xxp1;
1466        struct cvmx_pko_mem_port_rate1_cn52xx cn61xx;
1467        struct cvmx_pko_mem_port_rate1_cn52xx cn63xx;
1468        struct cvmx_pko_mem_port_rate1_cn52xx cn63xxp1;
1469        struct cvmx_pko_mem_port_rate1_cn52xx cn66xx;
1470        struct cvmx_pko_mem_port_rate1_s cn68xx;
1471        struct cvmx_pko_mem_port_rate1_s cn68xxp1;
1472        struct cvmx_pko_mem_port_rate1_cn52xx cnf71xx;
1473};
1474
1475union cvmx_pko_mem_queue_ptrs {
1476        uint64_t u64;
1477        struct cvmx_pko_mem_queue_ptrs_s {
1478#ifdef __BIG_ENDIAN_BITFIELD
1479                uint64_t s_tail:1;
1480                uint64_t static_p:1;
1481                uint64_t static_q:1;
1482                uint64_t qos_mask:8;
1483                uint64_t buf_ptr:36;
1484                uint64_t tail:1;
1485                uint64_t index:3;
1486                uint64_t port:6;
1487                uint64_t queue:7;
1488#else
1489                uint64_t queue:7;
1490                uint64_t port:6;
1491                uint64_t index:3;
1492                uint64_t tail:1;
1493                uint64_t buf_ptr:36;
1494                uint64_t qos_mask:8;
1495                uint64_t static_q:1;
1496                uint64_t static_p:1;
1497                uint64_t s_tail:1;
1498#endif
1499        } s;
1500        struct cvmx_pko_mem_queue_ptrs_s cn30xx;
1501        struct cvmx_pko_mem_queue_ptrs_s cn31xx;
1502        struct cvmx_pko_mem_queue_ptrs_s cn38xx;
1503        struct cvmx_pko_mem_queue_ptrs_s cn38xxp2;
1504        struct cvmx_pko_mem_queue_ptrs_s cn50xx;
1505        struct cvmx_pko_mem_queue_ptrs_s cn52xx;
1506        struct cvmx_pko_mem_queue_ptrs_s cn52xxp1;
1507        struct cvmx_pko_mem_queue_ptrs_s cn56xx;
1508        struct cvmx_pko_mem_queue_ptrs_s cn56xxp1;
1509        struct cvmx_pko_mem_queue_ptrs_s cn58xx;
1510        struct cvmx_pko_mem_queue_ptrs_s cn58xxp1;
1511        struct cvmx_pko_mem_queue_ptrs_s cn61xx;
1512        struct cvmx_pko_mem_queue_ptrs_s cn63xx;
1513        struct cvmx_pko_mem_queue_ptrs_s cn63xxp1;
1514        struct cvmx_pko_mem_queue_ptrs_s cn66xx;
1515        struct cvmx_pko_mem_queue_ptrs_s cnf71xx;
1516};
1517
1518union cvmx_pko_mem_queue_qos {
1519        uint64_t u64;
1520        struct cvmx_pko_mem_queue_qos_s {
1521#ifdef __BIG_ENDIAN_BITFIELD
1522                uint64_t reserved_61_63:3;
1523                uint64_t qos_mask:8;
1524                uint64_t reserved_13_52:40;
1525                uint64_t pid:6;
1526                uint64_t qid:7;
1527#else
1528                uint64_t qid:7;
1529                uint64_t pid:6;
1530                uint64_t reserved_13_52:40;
1531                uint64_t qos_mask:8;
1532                uint64_t reserved_61_63:3;
1533#endif
1534        } s;
1535        struct cvmx_pko_mem_queue_qos_s cn30xx;
1536        struct cvmx_pko_mem_queue_qos_s cn31xx;
1537        struct cvmx_pko_mem_queue_qos_s cn38xx;
1538        struct cvmx_pko_mem_queue_qos_s cn38xxp2;
1539        struct cvmx_pko_mem_queue_qos_s cn50xx;
1540        struct cvmx_pko_mem_queue_qos_s cn52xx;
1541        struct cvmx_pko_mem_queue_qos_s cn52xxp1;
1542        struct cvmx_pko_mem_queue_qos_s cn56xx;
1543        struct cvmx_pko_mem_queue_qos_s cn56xxp1;
1544        struct cvmx_pko_mem_queue_qos_s cn58xx;
1545        struct cvmx_pko_mem_queue_qos_s cn58xxp1;
1546        struct cvmx_pko_mem_queue_qos_s cn61xx;
1547        struct cvmx_pko_mem_queue_qos_s cn63xx;
1548        struct cvmx_pko_mem_queue_qos_s cn63xxp1;
1549        struct cvmx_pko_mem_queue_qos_s cn66xx;
1550        struct cvmx_pko_mem_queue_qos_s cnf71xx;
1551};
1552
1553union cvmx_pko_mem_throttle_int {
1554        uint64_t u64;
1555        struct cvmx_pko_mem_throttle_int_s {
1556#ifdef __BIG_ENDIAN_BITFIELD
1557                uint64_t reserved_47_63:17;
1558                uint64_t word:15;
1559                uint64_t reserved_14_31:18;
1560                uint64_t packet:6;
1561                uint64_t reserved_5_7:3;
1562                uint64_t intr:5;
1563#else
1564                uint64_t intr:5;
1565                uint64_t reserved_5_7:3;
1566                uint64_t packet:6;
1567                uint64_t reserved_14_31:18;
1568                uint64_t word:15;
1569                uint64_t reserved_47_63:17;
1570#endif
1571        } s;
1572        struct cvmx_pko_mem_throttle_int_s cn68xx;
1573        struct cvmx_pko_mem_throttle_int_s cn68xxp1;
1574};
1575
1576union cvmx_pko_mem_throttle_pipe {
1577        uint64_t u64;
1578        struct cvmx_pko_mem_throttle_pipe_s {
1579#ifdef __BIG_ENDIAN_BITFIELD
1580                uint64_t reserved_47_63:17;
1581                uint64_t word:15;
1582                uint64_t reserved_14_31:18;
1583                uint64_t packet:6;
1584                uint64_t reserved_7_7:1;
1585                uint64_t pipe:7;
1586#else
1587                uint64_t pipe:7;
1588                uint64_t reserved_7_7:1;
1589                uint64_t packet:6;
1590                uint64_t reserved_14_31:18;
1591                uint64_t word:15;
1592                uint64_t reserved_47_63:17;
1593#endif
1594        } s;
1595        struct cvmx_pko_mem_throttle_pipe_s cn68xx;
1596        struct cvmx_pko_mem_throttle_pipe_s cn68xxp1;
1597};
1598
1599union cvmx_pko_reg_bist_result {
1600        uint64_t u64;
1601        struct cvmx_pko_reg_bist_result_s {
1602#ifdef __BIG_ENDIAN_BITFIELD
1603                uint64_t reserved_0_63:64;
1604#else
1605                uint64_t reserved_0_63:64;
1606#endif
1607        } s;
1608        struct cvmx_pko_reg_bist_result_cn30xx {
1609#ifdef __BIG_ENDIAN_BITFIELD
1610                uint64_t reserved_27_63:37;
1611                uint64_t psb2:5;
1612                uint64_t count:1;
1613                uint64_t rif:1;
1614                uint64_t wif:1;
1615                uint64_t ncb:1;
1616                uint64_t out:1;
1617                uint64_t crc:1;
1618                uint64_t chk:1;
1619                uint64_t qsb:2;
1620                uint64_t qcb:2;
1621                uint64_t pdb:4;
1622                uint64_t psb:7;
1623#else
1624                uint64_t psb:7;
1625                uint64_t pdb:4;
1626                uint64_t qcb:2;
1627                uint64_t qsb:2;
1628                uint64_t chk:1;
1629                uint64_t crc:1;
1630                uint64_t out:1;
1631                uint64_t ncb:1;
1632                uint64_t wif:1;
1633                uint64_t rif:1;
1634                uint64_t count:1;
1635                uint64_t psb2:5;
1636                uint64_t reserved_27_63:37;
1637#endif
1638        } cn30xx;
1639        struct cvmx_pko_reg_bist_result_cn30xx cn31xx;
1640        struct cvmx_pko_reg_bist_result_cn30xx cn38xx;
1641        struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2;
1642        struct cvmx_pko_reg_bist_result_cn50xx {
1643#ifdef __BIG_ENDIAN_BITFIELD
1644                uint64_t reserved_33_63:31;
1645                uint64_t csr:1;
1646                uint64_t iob:1;
1647                uint64_t out_crc:1;
1648                uint64_t out_ctl:3;
1649                uint64_t out_sta:1;
1650                uint64_t out_wif:1;
1651                uint64_t prt_chk:3;
1652                uint64_t prt_nxt:1;
1653                uint64_t prt_psb:6;
1654                uint64_t ncb_inb:2;
1655                uint64_t prt_qcb:2;
1656                uint64_t prt_qsb:3;
1657                uint64_t dat_dat:4;
1658                uint64_t dat_ptr:4;
1659#else
1660                uint64_t dat_ptr:4;
1661                uint64_t dat_dat:4;
1662                uint64_t prt_qsb:3;
1663                uint64_t prt_qcb:2;
1664                uint64_t ncb_inb:2;
1665                uint64_t prt_psb:6;
1666                uint64_t prt_nxt:1;
1667                uint64_t prt_chk:3;
1668                uint64_t out_wif:1;
1669                uint64_t out_sta:1;
1670                uint64_t out_ctl:3;
1671                uint64_t out_crc:1;
1672                uint64_t iob:1;
1673                uint64_t csr:1;
1674                uint64_t reserved_33_63:31;
1675#endif
1676        } cn50xx;
1677        struct cvmx_pko_reg_bist_result_cn52xx {
1678#ifdef __BIG_ENDIAN_BITFIELD
1679                uint64_t reserved_35_63:29;
1680                uint64_t csr:1;
1681                uint64_t iob:1;
1682                uint64_t out_dat:1;
1683                uint64_t out_ctl:3;
1684                uint64_t out_sta:1;
1685                uint64_t out_wif:1;
1686                uint64_t prt_chk:3;
1687                uint64_t prt_nxt:1;
1688                uint64_t prt_psb:8;
1689                uint64_t ncb_inb:2;
1690                uint64_t prt_qcb:2;
1691                uint64_t prt_qsb:3;
1692                uint64_t prt_ctl:2;
1693                uint64_t dat_dat:2;
1694                uint64_t dat_ptr:4;
1695#else
1696                uint64_t dat_ptr:4;
1697                uint64_t dat_dat:2;
1698                uint64_t prt_ctl:2;
1699                uint64_t prt_qsb:3;
1700                uint64_t prt_qcb:2;
1701                uint64_t ncb_inb:2;
1702                uint64_t prt_psb:8;
1703                uint64_t prt_nxt:1;
1704                uint64_t prt_chk:3;
1705                uint64_t out_wif:1;
1706                uint64_t out_sta:1;
1707                uint64_t out_ctl:3;
1708                uint64_t out_dat:1;
1709                uint64_t iob:1;
1710                uint64_t csr:1;
1711                uint64_t reserved_35_63:29;
1712#endif
1713        } cn52xx;
1714        struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1;
1715        struct cvmx_pko_reg_bist_result_cn52xx cn56xx;
1716        struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1;
1717        struct cvmx_pko_reg_bist_result_cn50xx cn58xx;
1718        struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1;
1719        struct cvmx_pko_reg_bist_result_cn52xx cn61xx;
1720        struct cvmx_pko_reg_bist_result_cn52xx cn63xx;
1721        struct cvmx_pko_reg_bist_result_cn52xx cn63xxp1;
1722        struct cvmx_pko_reg_bist_result_cn52xx cn66xx;
1723        struct cvmx_pko_reg_bist_result_cn68xx {
1724#ifdef __BIG_ENDIAN_BITFIELD
1725                uint64_t reserved_36_63:28;
1726                uint64_t crc:1;
1727                uint64_t csr:1;
1728                uint64_t iob:1;
1729                uint64_t out_dat:1;
1730                uint64_t reserved_31_31:1;
1731                uint64_t out_ctl:2;
1732                uint64_t out_sta:1;
1733                uint64_t out_wif:1;
1734                uint64_t prt_chk:3;
1735                uint64_t prt_nxt:1;
1736                uint64_t prt_psb7:1;
1737                uint64_t reserved_21_21:1;
1738                uint64_t prt_psb:6;
1739                uint64_t ncb_inb:2;
1740                uint64_t prt_qcb:2;
1741                uint64_t prt_qsb:3;
1742                uint64_t prt_ctl:2;
1743                uint64_t dat_dat:2;
1744                uint64_t dat_ptr:4;
1745#else
1746                uint64_t dat_ptr:4;
1747                uint64_t dat_dat:2;
1748                uint64_t prt_ctl:2;
1749                uint64_t prt_qsb:3;
1750                uint64_t prt_qcb:2;
1751                uint64_t ncb_inb:2;
1752                uint64_t prt_psb:6;
1753                uint64_t reserved_21_21:1;
1754                uint64_t prt_psb7:1;
1755                uint64_t prt_nxt:1;
1756                uint64_t prt_chk:3;
1757                uint64_t out_wif:1;
1758                uint64_t out_sta:1;
1759                uint64_t out_ctl:2;
1760                uint64_t reserved_31_31:1;
1761                uint64_t out_dat:1;
1762                uint64_t iob:1;
1763                uint64_t csr:1;
1764                uint64_t crc:1;
1765                uint64_t reserved_36_63:28;
1766#endif
1767        } cn68xx;
1768        struct cvmx_pko_reg_bist_result_cn68xxp1 {
1769#ifdef __BIG_ENDIAN_BITFIELD
1770                uint64_t reserved_35_63:29;
1771                uint64_t csr:1;
1772                uint64_t iob:1;
1773                uint64_t out_dat:1;
1774                uint64_t reserved_31_31:1;
1775                uint64_t out_ctl:2;
1776                uint64_t out_sta:1;
1777                uint64_t out_wif:1;
1778                uint64_t prt_chk:3;
1779                uint64_t prt_nxt:1;
1780                uint64_t prt_psb7:1;
1781                uint64_t reserved_21_21:1;
1782                uint64_t prt_psb:6;
1783                uint64_t ncb_inb:2;
1784                uint64_t prt_qcb:2;
1785                uint64_t prt_qsb:3;
1786                uint64_t prt_ctl:2;
1787                uint64_t dat_dat:2;
1788                uint64_t dat_ptr:4;
1789#else
1790                uint64_t dat_ptr:4;
1791                uint64_t dat_dat:2;
1792                uint64_t prt_ctl:2;
1793                uint64_t prt_qsb:3;
1794                uint64_t prt_qcb:2;
1795                uint64_t ncb_inb:2;
1796                uint64_t prt_psb:6;
1797                uint64_t reserved_21_21:1;
1798                uint64_t prt_psb7:1;
1799                uint64_t prt_nxt:1;
1800                uint64_t prt_chk:3;
1801                uint64_t out_wif:1;
1802                uint64_t out_sta:1;
1803                uint64_t out_ctl:2;
1804                uint64_t reserved_31_31:1;
1805                uint64_t out_dat:1;
1806                uint64_t iob:1;
1807                uint64_t csr:1;
1808                uint64_t reserved_35_63:29;
1809#endif
1810        } cn68xxp1;
1811        struct cvmx_pko_reg_bist_result_cn52xx cnf71xx;
1812};
1813
1814union cvmx_pko_reg_cmd_buf {
1815        uint64_t u64;
1816        struct cvmx_pko_reg_cmd_buf_s {
1817#ifdef __BIG_ENDIAN_BITFIELD
1818                uint64_t reserved_23_63:41;
1819                uint64_t pool:3;
1820                uint64_t reserved_13_19:7;
1821                uint64_t size:13;
1822#else
1823                uint64_t size:13;
1824                uint64_t reserved_13_19:7;
1825                uint64_t pool:3;
1826                uint64_t reserved_23_63:41;
1827#endif
1828        } s;
1829        struct cvmx_pko_reg_cmd_buf_s cn30xx;
1830        struct cvmx_pko_reg_cmd_buf_s cn31xx;
1831        struct cvmx_pko_reg_cmd_buf_s cn38xx;
1832        struct cvmx_pko_reg_cmd_buf_s cn38xxp2;
1833        struct cvmx_pko_reg_cmd_buf_s cn50xx;
1834        struct cvmx_pko_reg_cmd_buf_s cn52xx;
1835        struct cvmx_pko_reg_cmd_buf_s cn52xxp1;
1836        struct cvmx_pko_reg_cmd_buf_s cn56xx;
1837        struct cvmx_pko_reg_cmd_buf_s cn56xxp1;
1838        struct cvmx_pko_reg_cmd_buf_s cn58xx;
1839        struct cvmx_pko_reg_cmd_buf_s cn58xxp1;
1840        struct cvmx_pko_reg_cmd_buf_s cn61xx;
1841        struct cvmx_pko_reg_cmd_buf_s cn63xx;
1842        struct cvmx_pko_reg_cmd_buf_s cn63xxp1;
1843        struct cvmx_pko_reg_cmd_buf_s cn66xx;
1844        struct cvmx_pko_reg_cmd_buf_s cn68xx;
1845        struct cvmx_pko_reg_cmd_buf_s cn68xxp1;
1846        struct cvmx_pko_reg_cmd_buf_s cnf71xx;
1847};
1848
1849union cvmx_pko_reg_crc_ctlx {
1850        uint64_t u64;
1851        struct cvmx_pko_reg_crc_ctlx_s {
1852#ifdef __BIG_ENDIAN_BITFIELD
1853                uint64_t reserved_2_63:62;
1854                uint64_t invres:1;
1855                uint64_t refin:1;
1856#else
1857                uint64_t refin:1;
1858                uint64_t invres:1;
1859                uint64_t reserved_2_63:62;
1860#endif
1861        } s;
1862        struct cvmx_pko_reg_crc_ctlx_s cn38xx;
1863        struct cvmx_pko_reg_crc_ctlx_s cn38xxp2;
1864        struct cvmx_pko_reg_crc_ctlx_s cn58xx;
1865        struct cvmx_pko_reg_crc_ctlx_s cn58xxp1;
1866};
1867
1868union cvmx_pko_reg_crc_enable {
1869        uint64_t u64;
1870        struct cvmx_pko_reg_crc_enable_s {
1871#ifdef __BIG_ENDIAN_BITFIELD
1872                uint64_t reserved_32_63:32;
1873                uint64_t enable:32;
1874#else
1875                uint64_t enable:32;
1876                uint64_t reserved_32_63:32;
1877#endif
1878        } s;
1879        struct cvmx_pko_reg_crc_enable_s cn38xx;
1880        struct cvmx_pko_reg_crc_enable_s cn38xxp2;
1881        struct cvmx_pko_reg_crc_enable_s cn58xx;
1882        struct cvmx_pko_reg_crc_enable_s cn58xxp1;
1883};
1884
1885union cvmx_pko_reg_crc_ivx {
1886        uint64_t u64;
1887        struct cvmx_pko_reg_crc_ivx_s {
1888#ifdef __BIG_ENDIAN_BITFIELD
1889                uint64_t reserved_32_63:32;
1890                uint64_t iv:32;
1891#else
1892                uint64_t iv:32;
1893                uint64_t reserved_32_63:32;
1894#endif
1895        } s;
1896        struct cvmx_pko_reg_crc_ivx_s cn38xx;
1897        struct cvmx_pko_reg_crc_ivx_s cn38xxp2;
1898        struct cvmx_pko_reg_crc_ivx_s cn58xx;
1899        struct cvmx_pko_reg_crc_ivx_s cn58xxp1;
1900};
1901
1902union cvmx_pko_reg_debug0 {
1903        uint64_t u64;
1904        struct cvmx_pko_reg_debug0_s {
1905#ifdef __BIG_ENDIAN_BITFIELD
1906                uint64_t asserts:64;
1907#else
1908                uint64_t asserts:64;
1909#endif
1910        } s;
1911        struct cvmx_pko_reg_debug0_cn30xx {
1912#ifdef __BIG_ENDIAN_BITFIELD
1913                uint64_t reserved_17_63:47;
1914                uint64_t asserts:17;
1915#else
1916                uint64_t asserts:17;
1917                uint64_t reserved_17_63:47;
1918#endif
1919        } cn30xx;
1920        struct cvmx_pko_reg_debug0_cn30xx cn31xx;
1921        struct cvmx_pko_reg_debug0_cn30xx cn38xx;
1922        struct cvmx_pko_reg_debug0_cn30xx cn38xxp2;
1923        struct cvmx_pko_reg_debug0_s cn50xx;
1924        struct cvmx_pko_reg_debug0_s cn52xx;
1925        struct cvmx_pko_reg_debug0_s cn52xxp1;
1926        struct cvmx_pko_reg_debug0_s cn56xx;
1927        struct cvmx_pko_reg_debug0_s cn56xxp1;
1928        struct cvmx_pko_reg_debug0_s cn58xx;
1929        struct cvmx_pko_reg_debug0_s cn58xxp1;
1930        struct cvmx_pko_reg_debug0_s cn61xx;
1931        struct cvmx_pko_reg_debug0_s cn63xx;
1932        struct cvmx_pko_reg_debug0_s cn63xxp1;
1933        struct cvmx_pko_reg_debug0_s cn66xx;
1934        struct cvmx_pko_reg_debug0_s cn68xx;
1935        struct cvmx_pko_reg_debug0_s cn68xxp1;
1936        struct cvmx_pko_reg_debug0_s cnf71xx;
1937};
1938
1939union cvmx_pko_reg_debug1 {
1940        uint64_t u64;
1941        struct cvmx_pko_reg_debug1_s {
1942#ifdef __BIG_ENDIAN_BITFIELD
1943                uint64_t asserts:64;
1944#else
1945                uint64_t asserts:64;
1946#endif
1947        } s;
1948        struct cvmx_pko_reg_debug1_s cn50xx;
1949        struct cvmx_pko_reg_debug1_s cn52xx;
1950        struct cvmx_pko_reg_debug1_s cn52xxp1;
1951        struct cvmx_pko_reg_debug1_s cn56xx;
1952        struct cvmx_pko_reg_debug1_s cn56xxp1;
1953        struct cvmx_pko_reg_debug1_s cn58xx;
1954        struct cvmx_pko_reg_debug1_s cn58xxp1;
1955        struct cvmx_pko_reg_debug1_s cn61xx;
1956        struct cvmx_pko_reg_debug1_s cn63xx;
1957        struct cvmx_pko_reg_debug1_s cn63xxp1;
1958        struct cvmx_pko_reg_debug1_s cn66xx;
1959        struct cvmx_pko_reg_debug1_s cn68xx;
1960        struct cvmx_pko_reg_debug1_s cn68xxp1;
1961        struct cvmx_pko_reg_debug1_s cnf71xx;
1962};
1963
1964union cvmx_pko_reg_debug2 {
1965        uint64_t u64;
1966        struct cvmx_pko_reg_debug2_s {
1967#ifdef __BIG_ENDIAN_BITFIELD
1968                uint64_t asserts:64;
1969#else
1970                uint64_t asserts:64;
1971#endif
1972        } s;
1973        struct cvmx_pko_reg_debug2_s cn50xx;
1974        struct cvmx_pko_reg_debug2_s cn52xx;
1975        struct cvmx_pko_reg_debug2_s cn52xxp1;
1976        struct cvmx_pko_reg_debug2_s cn56xx;
1977        struct cvmx_pko_reg_debug2_s cn56xxp1;
1978        struct cvmx_pko_reg_debug2_s cn58xx;
1979        struct cvmx_pko_reg_debug2_s cn58xxp1;
1980        struct cvmx_pko_reg_debug2_s cn61xx;
1981        struct cvmx_pko_reg_debug2_s cn63xx;
1982        struct cvmx_pko_reg_debug2_s cn63xxp1;
1983        struct cvmx_pko_reg_debug2_s cn66xx;
1984        struct cvmx_pko_reg_debug2_s cn68xx;
1985        struct cvmx_pko_reg_debug2_s cn68xxp1;
1986        struct cvmx_pko_reg_debug2_s cnf71xx;
1987};
1988
1989union cvmx_pko_reg_debug3 {
1990        uint64_t u64;
1991        struct cvmx_pko_reg_debug3_s {
1992#ifdef __BIG_ENDIAN_BITFIELD
1993                uint64_t asserts:64;
1994#else
1995                uint64_t asserts:64;
1996#endif
1997        } s;
1998        struct cvmx_pko_reg_debug3_s cn50xx;
1999        struct cvmx_pko_reg_debug3_s cn52xx;
2000        struct cvmx_pko_reg_debug3_s cn52xxp1;
2001        struct cvmx_pko_reg_debug3_s cn56xx;
2002        struct cvmx_pko_reg_debug3_s cn56xxp1;
2003        struct cvmx_pko_reg_debug3_s cn58xx;
2004        struct cvmx_pko_reg_debug3_s cn58xxp1;
2005        struct cvmx_pko_reg_debug3_s cn61xx;
2006        struct cvmx_pko_reg_debug3_s cn63xx;
2007        struct cvmx_pko_reg_debug3_s cn63xxp1;
2008        struct cvmx_pko_reg_debug3_s cn66xx;
2009        struct cvmx_pko_reg_debug3_s cn68xx;
2010        struct cvmx_pko_reg_debug3_s cn68xxp1;
2011        struct cvmx_pko_reg_debug3_s cnf71xx;
2012};
2013
2014union cvmx_pko_reg_debug4 {
2015        uint64_t u64;
2016        struct cvmx_pko_reg_debug4_s {
2017#ifdef __BIG_ENDIAN_BITFIELD
2018                uint64_t asserts:64;
2019#else
2020                uint64_t asserts:64;
2021#endif
2022        } s;
2023        struct cvmx_pko_reg_debug4_s cn68xx;
2024        struct cvmx_pko_reg_debug4_s cn68xxp1;
2025};
2026
2027union cvmx_pko_reg_engine_inflight {
2028        uint64_t u64;
2029        struct cvmx_pko_reg_engine_inflight_s {
2030#ifdef __BIG_ENDIAN_BITFIELD
2031                uint64_t engine15:4;
2032                uint64_t engine14:4;
2033                uint64_t engine13:4;
2034                uint64_t engine12:4;
2035                uint64_t engine11:4;
2036                uint64_t engine10:4;
2037                uint64_t engine9:4;
2038                uint64_t engine8:4;
2039                uint64_t engine7:4;
2040                uint64_t engine6:4;
2041                uint64_t engine5:4;
2042                uint64_t engine4:4;
2043                uint64_t engine3:4;
2044                uint64_t engine2:4;
2045                uint64_t engine1:4;
2046                uint64_t engine0:4;
2047#else
2048                uint64_t engine0:4;
2049                uint64_t engine1:4;
2050                uint64_t engine2:4;
2051                uint64_t engine3:4;
2052                uint64_t engine4:4;
2053                uint64_t engine5:4;
2054                uint64_t engine6:4;
2055                uint64_t engine7:4;
2056                uint64_t engine8:4;
2057                uint64_t engine9:4;
2058                uint64_t engine10:4;
2059                uint64_t engine11:4;
2060                uint64_t engine12:4;
2061                uint64_t engine13:4;
2062                uint64_t engine14:4;
2063                uint64_t engine15:4;
2064#endif
2065        } s;
2066        struct cvmx_pko_reg_engine_inflight_cn52xx {
2067#ifdef __BIG_ENDIAN_BITFIELD
2068                uint64_t reserved_40_63:24;
2069                uint64_t engine9:4;
2070                uint64_t engine8:4;
2071                uint64_t engine7:4;
2072                uint64_t engine6:4;
2073                uint64_t engine5:4;
2074                uint64_t engine4:4;
2075                uint64_t engine3:4;
2076                uint64_t engine2:4;
2077                uint64_t engine1:4;
2078                uint64_t engine0:4;
2079#else
2080                uint64_t engine0:4;
2081                uint64_t engine1:4;
2082                uint64_t engine2:4;
2083                uint64_t engine3:4;
2084                uint64_t engine4:4;
2085                uint64_t engine5:4;
2086                uint64_t engine6:4;
2087                uint64_t engine7:4;
2088                uint64_t engine8:4;
2089                uint64_t engine9:4;
2090                uint64_t reserved_40_63:24;
2091#endif
2092        } cn52xx;
2093        struct cvmx_pko_reg_engine_inflight_cn52xx cn52xxp1;
2094        struct cvmx_pko_reg_engine_inflight_cn52xx cn56xx;
2095        struct cvmx_pko_reg_engine_inflight_cn52xx cn56xxp1;
2096        struct cvmx_pko_reg_engine_inflight_cn61xx {
2097#ifdef __BIG_ENDIAN_BITFIELD
2098                uint64_t reserved_56_63:8;
2099                uint64_t engine13:4;
2100                uint64_t engine12:4;
2101                uint64_t engine11:4;
2102                uint64_t engine10:4;
2103                uint64_t engine9:4;
2104                uint64_t engine8:4;
2105                uint64_t engine7:4;
2106                uint64_t engine6:4;
2107                uint64_t engine5:4;
2108                uint64_t engine4:4;
2109                uint64_t engine3:4;
2110                uint64_t engine2:4;
2111                uint64_t engine1:4;
2112                uint64_t engine0:4;
2113#else
2114                uint64_t engine0:4;
2115                uint64_t engine1:4;
2116                uint64_t engine2:4;
2117                uint64_t engine3:4;
2118                uint64_t engine4:4;
2119                uint64_t engine5:4;
2120                uint64_t engine6:4;
2121                uint64_t engine7:4;
2122                uint64_t engine8:4;
2123                uint64_t engine9:4;
2124                uint64_t engine10:4;
2125                uint64_t engine11:4;
2126                uint64_t engine12:4;
2127                uint64_t engine13:4;
2128                uint64_t reserved_56_63:8;
2129#endif
2130        } cn61xx;
2131        struct cvmx_pko_reg_engine_inflight_cn63xx {
2132#ifdef __BIG_ENDIAN_BITFIELD
2133                uint64_t reserved_48_63:16;
2134                uint64_t engine11:4;
2135                uint64_t engine10:4;
2136                uint64_t engine9:4;
2137                uint64_t engine8:4;
2138                uint64_t engine7:4;
2139                uint64_t engine6:4;
2140                uint64_t engine5:4;
2141                uint64_t engine4:4;
2142                uint64_t engine3:4;
2143                uint64_t engine2:4;
2144                uint64_t engine1:4;
2145                uint64_t engine0:4;
2146#else
2147                uint64_t engine0:4;
2148                uint64_t engine1:4;
2149                uint64_t engine2:4;
2150                uint64_t engine3:4;
2151                uint64_t engine4:4;
2152                uint64_t engine5:4;
2153                uint64_t engine6:4;
2154                uint64_t engine7:4;
2155                uint64_t engine8:4;
2156                uint64_t engine9:4;
2157                uint64_t engine10:4;
2158                uint64_t engine11:4;
2159                uint64_t reserved_48_63:16;
2160#endif
2161        } cn63xx;
2162        struct cvmx_pko_reg_engine_inflight_cn63xx cn63xxp1;
2163        struct cvmx_pko_reg_engine_inflight_cn61xx cn66xx;
2164        struct cvmx_pko_reg_engine_inflight_s cn68xx;
2165        struct cvmx_pko_reg_engine_inflight_s cn68xxp1;
2166        struct cvmx_pko_reg_engine_inflight_cn61xx cnf71xx;
2167};
2168
2169union cvmx_pko_reg_engine_inflight1 {
2170        uint64_t u64;
2171        struct cvmx_pko_reg_engine_inflight1_s {
2172#ifdef __BIG_ENDIAN_BITFIELD
2173                uint64_t reserved_16_63:48;
2174                uint64_t engine19:4;
2175                uint64_t engine18:4;
2176                uint64_t engine17:4;
2177                uint64_t engine16:4;
2178#else
2179                uint64_t engine16:4;
2180                uint64_t engine17:4;
2181                uint64_t engine18:4;
2182                uint64_t engine19:4;
2183                uint64_t reserved_16_63:48;
2184#endif
2185        } s;
2186        struct cvmx_pko_reg_engine_inflight1_s cn68xx;
2187        struct cvmx_pko_reg_engine_inflight1_s cn68xxp1;
2188};
2189
2190union cvmx_pko_reg_engine_storagex {
2191        uint64_t u64;
2192        struct cvmx_pko_reg_engine_storagex_s {
2193#ifdef __BIG_ENDIAN_BITFIELD
2194                uint64_t engine15:4;
2195                uint64_t engine14:4;
2196                uint64_t engine13:4;
2197                uint64_t engine12:4;
2198                uint64_t engine11:4;
2199                uint64_t engine10:4;
2200                uint64_t engine9:4;
2201                uint64_t engine8:4;
2202                uint64_t engine7:4;
2203                uint64_t engine6:4;
2204                uint64_t engine5:4;
2205                uint64_t engine4:4;
2206                uint64_t engine3:4;
2207                uint64_t engine2:4;
2208                uint64_t engine1:4;
2209                uint64_t engine0:4;
2210#else
2211                uint64_t engine0:4;
2212                uint64_t engine1:4;
2213                uint64_t engine2:4;
2214                uint64_t engine3:4;
2215                uint64_t engine4:4;
2216                uint64_t engine5:4;
2217                uint64_t engine6:4;
2218                uint64_t engine7:4;
2219                uint64_t engine8:4;
2220                uint64_t engine9:4;
2221                uint64_t engine10:4;
2222                uint64_t engine11:4;
2223                uint64_t engine12:4;
2224                uint64_t engine13:4;
2225                uint64_t engine14:4;
2226                uint64_t engine15:4;
2227#endif
2228        } s;
2229        struct cvmx_pko_reg_engine_storagex_s cn68xx;
2230        struct cvmx_pko_reg_engine_storagex_s cn68xxp1;
2231};
2232
2233union cvmx_pko_reg_engine_thresh {
2234        uint64_t u64;
2235        struct cvmx_pko_reg_engine_thresh_s {
2236#ifdef __BIG_ENDIAN_BITFIELD
2237                uint64_t reserved_20_63:44;
2238                uint64_t mask:20;
2239#else
2240                uint64_t mask:20;
2241                uint64_t reserved_20_63:44;
2242#endif
2243        } s;
2244        struct cvmx_pko_reg_engine_thresh_cn52xx {
2245#ifdef __BIG_ENDIAN_BITFIELD
2246                uint64_t reserved_10_63:54;
2247                uint64_t mask:10;
2248#else
2249                uint64_t mask:10;
2250                uint64_t reserved_10_63:54;
2251#endif
2252        } cn52xx;
2253        struct cvmx_pko_reg_engine_thresh_cn52xx cn52xxp1;
2254        struct cvmx_pko_reg_engine_thresh_cn52xx cn56xx;
2255        struct cvmx_pko_reg_engine_thresh_cn52xx cn56xxp1;
2256        struct cvmx_pko_reg_engine_thresh_cn61xx {
2257#ifdef __BIG_ENDIAN_BITFIELD
2258                uint64_t reserved_14_63:50;
2259                uint64_t mask:14;
2260#else
2261                uint64_t mask:14;
2262                uint64_t reserved_14_63:50;
2263#endif
2264        } cn61xx;
2265        struct cvmx_pko_reg_engine_thresh_cn63xx {
2266#ifdef __BIG_ENDIAN_BITFIELD
2267                uint64_t reserved_12_63:52;
2268                uint64_t mask:12;
2269#else
2270                uint64_t mask:12;
2271                uint64_t reserved_12_63:52;
2272#endif
2273        } cn63xx;
2274        struct cvmx_pko_reg_engine_thresh_cn63xx cn63xxp1;
2275        struct cvmx_pko_reg_engine_thresh_cn61xx cn66xx;
2276        struct cvmx_pko_reg_engine_thresh_s cn68xx;
2277        struct cvmx_pko_reg_engine_thresh_s cn68xxp1;
2278        struct cvmx_pko_reg_engine_thresh_cn61xx cnf71xx;
2279};
2280
2281union cvmx_pko_reg_error {
2282        uint64_t u64;
2283        struct cvmx_pko_reg_error_s {
2284#ifdef __BIG_ENDIAN_BITFIELD
2285                uint64_t reserved_4_63:60;
2286                uint64_t loopback:1;
2287                uint64_t currzero:1;
2288                uint64_t doorbell:1;
2289                uint64_t parity:1;
2290#else
2291                uint64_t parity:1;
2292                uint64_t doorbell:1;
2293                uint64_t currzero:1;
2294                uint64_t loopback:1;
2295                uint64_t reserved_4_63:60;
2296#endif
2297        } s;
2298        struct cvmx_pko_reg_error_cn30xx {
2299#ifdef __BIG_ENDIAN_BITFIELD
2300                uint64_t reserved_2_63:62;
2301                uint64_t doorbell:1;
2302                uint64_t parity:1;
2303#else
2304                uint64_t parity:1;
2305                uint64_t doorbell:1;
2306                uint64_t reserved_2_63:62;
2307#endif
2308        } cn30xx;
2309        struct cvmx_pko_reg_error_cn30xx cn31xx;
2310        struct cvmx_pko_reg_error_cn30xx cn38xx;
2311        struct cvmx_pko_reg_error_cn30xx cn38xxp2;
2312        struct cvmx_pko_reg_error_cn50xx {
2313#ifdef __BIG_ENDIAN_BITFIELD
2314                uint64_t reserved_3_63:61;
2315                uint64_t currzero:1;
2316                uint64_t doorbell:1;
2317                uint64_t parity:1;
2318#else
2319                uint64_t parity:1;
2320                uint64_t doorbell:1;
2321                uint64_t currzero:1;
2322                uint64_t reserved_3_63:61;
2323#endif
2324        } cn50xx;
2325        struct cvmx_pko_reg_error_cn50xx cn52xx;
2326        struct cvmx_pko_reg_error_cn50xx cn52xxp1;
2327        struct cvmx_pko_reg_error_cn50xx cn56xx;
2328        struct cvmx_pko_reg_error_cn50xx cn56xxp1;
2329        struct cvmx_pko_reg_error_cn50xx cn58xx;
2330        struct cvmx_pko_reg_error_cn50xx cn58xxp1;
2331        struct cvmx_pko_reg_error_cn50xx cn61xx;
2332        struct cvmx_pko_reg_error_cn50xx cn63xx;
2333        struct cvmx_pko_reg_error_cn50xx cn63xxp1;
2334        struct cvmx_pko_reg_error_cn50xx cn66xx;
2335        struct cvmx_pko_reg_error_s cn68xx;
2336        struct cvmx_pko_reg_error_s cn68xxp1;
2337        struct cvmx_pko_reg_error_cn50xx cnf71xx;
2338};
2339
2340union cvmx_pko_reg_flags {
2341        uint64_t u64;
2342        struct cvmx_pko_reg_flags_s {
2343#ifdef __BIG_ENDIAN_BITFIELD
2344                uint64_t reserved_9_63:55;
2345                uint64_t dis_perf3:1;
2346                uint64_t dis_perf2:1;
2347                uint64_t dis_perf1:1;
2348                uint64_t dis_perf0:1;
2349                uint64_t ena_throttle:1;
2350                uint64_t reset:1;
2351                uint64_t store_be:1;
2352                uint64_t ena_dwb:1;
2353                uint64_t ena_pko:1;
2354#else
2355                uint64_t ena_pko:1;
2356                uint64_t ena_dwb:1;
2357                uint64_t store_be:1;
2358                uint64_t reset:1;
2359                uint64_t ena_throttle:1;
2360                uint64_t dis_perf0:1;
2361                uint64_t dis_perf1:1;
2362                uint64_t dis_perf2:1;
2363                uint64_t dis_perf3:1;
2364                uint64_t reserved_9_63:55;
2365#endif
2366        } s;
2367        struct cvmx_pko_reg_flags_cn30xx {
2368#ifdef __BIG_ENDIAN_BITFIELD
2369                uint64_t reserved_4_63:60;
2370                uint64_t reset:1;
2371                uint64_t store_be:1;
2372                uint64_t ena_dwb:1;
2373                uint64_t ena_pko:1;
2374#else
2375                uint64_t ena_pko:1;
2376                uint64_t ena_dwb:1;
2377                uint64_t store_be:1;
2378                uint64_t reset:1;
2379                uint64_t reserved_4_63:60;
2380#endif
2381        } cn30xx;
2382        struct cvmx_pko_reg_flags_cn30xx cn31xx;
2383        struct cvmx_pko_reg_flags_cn30xx cn38xx;
2384        struct cvmx_pko_reg_flags_cn30xx cn38xxp2;
2385        struct cvmx_pko_reg_flags_cn30xx cn50xx;
2386        struct cvmx_pko_reg_flags_cn30xx cn52xx;
2387        struct cvmx_pko_reg_flags_cn30xx cn52xxp1;
2388        struct cvmx_pko_reg_flags_cn30xx cn56xx;
2389        struct cvmx_pko_reg_flags_cn30xx cn56xxp1;
2390        struct cvmx_pko_reg_flags_cn30xx cn58xx;
2391        struct cvmx_pko_reg_flags_cn30xx cn58xxp1;
2392        struct cvmx_pko_reg_flags_cn61xx {
2393#ifdef __BIG_ENDIAN_BITFIELD
2394                uint64_t reserved_9_63:55;
2395                uint64_t dis_perf3:1;
2396                uint64_t dis_perf2:1;
2397                uint64_t reserved_4_6:3;
2398                uint64_t reset:1;
2399                uint64_t store_be:1;
2400                uint64_t ena_dwb:1;
2401                uint64_t ena_pko:1;
2402#else
2403                uint64_t ena_pko:1;
2404                uint64_t ena_dwb:1;
2405                uint64_t store_be:1;
2406                uint64_t reset:1;
2407                uint64_t reserved_4_6:3;
2408                uint64_t dis_perf2:1;
2409                uint64_t dis_perf3:1;
2410                uint64_t reserved_9_63:55;
2411#endif
2412        } cn61xx;
2413        struct cvmx_pko_reg_flags_cn30xx cn63xx;
2414        struct cvmx_pko_reg_flags_cn30xx cn63xxp1;
2415        struct cvmx_pko_reg_flags_cn61xx cn66xx;
2416        struct cvmx_pko_reg_flags_s cn68xx;
2417        struct cvmx_pko_reg_flags_cn68xxp1 {
2418#ifdef __BIG_ENDIAN_BITFIELD
2419                uint64_t reserved_7_63:57;
2420                uint64_t dis_perf1:1;
2421                uint64_t dis_perf0:1;
2422                uint64_t ena_throttle:1;
2423                uint64_t reset:1;
2424                uint64_t store_be:1;
2425                uint64_t ena_dwb:1;
2426                uint64_t ena_pko:1;
2427#else
2428                uint64_t ena_pko:1;
2429                uint64_t ena_dwb:1;
2430                uint64_t store_be:1;
2431                uint64_t reset:1;
2432                uint64_t ena_throttle:1;
2433                uint64_t dis_perf0:1;
2434                uint64_t dis_perf1:1;
2435                uint64_t reserved_7_63:57;
2436#endif
2437        } cn68xxp1;
2438        struct cvmx_pko_reg_flags_cn61xx cnf71xx;
2439};
2440
2441union cvmx_pko_reg_gmx_port_mode {
2442        uint64_t u64;
2443        struct cvmx_pko_reg_gmx_port_mode_s {
2444#ifdef __BIG_ENDIAN_BITFIELD
2445                uint64_t reserved_6_63:58;
2446                uint64_t mode1:3;
2447                uint64_t mode0:3;
2448#else
2449                uint64_t mode0:3;
2450                uint64_t mode1:3;
2451                uint64_t reserved_6_63:58;
2452#endif
2453        } s;
2454        struct cvmx_pko_reg_gmx_port_mode_s cn30xx;
2455        struct cvmx_pko_reg_gmx_port_mode_s cn31xx;
2456        struct cvmx_pko_reg_gmx_port_mode_s cn38xx;
2457        struct cvmx_pko_reg_gmx_port_mode_s cn38xxp2;
2458        struct cvmx_pko_reg_gmx_port_mode_s cn50xx;
2459        struct cvmx_pko_reg_gmx_port_mode_s cn52xx;
2460        struct cvmx_pko_reg_gmx_port_mode_s cn52xxp1;
2461        struct cvmx_pko_reg_gmx_port_mode_s cn56xx;
2462        struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1;
2463        struct cvmx_pko_reg_gmx_port_mode_s cn58xx;
2464        struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1;
2465        struct cvmx_pko_reg_gmx_port_mode_s cn61xx;
2466        struct cvmx_pko_reg_gmx_port_mode_s cn63xx;
2467        struct cvmx_pko_reg_gmx_port_mode_s cn63xxp1;
2468        struct cvmx_pko_reg_gmx_port_mode_s cn66xx;
2469        struct cvmx_pko_reg_gmx_port_mode_s cnf71xx;
2470};
2471
2472union cvmx_pko_reg_int_mask {
2473        uint64_t u64;
2474        struct cvmx_pko_reg_int_mask_s {
2475#ifdef __BIG_ENDIAN_BITFIELD
2476                uint64_t reserved_4_63:60;
2477                uint64_t loopback:1;
2478                uint64_t currzero:1;
2479                uint64_t doorbell:1;
2480                uint64_t parity:1;
2481#else
2482                uint64_t parity:1;
2483                uint64_t doorbell:1;
2484                uint64_t currzero:1;
2485                uint64_t loopback:1;
2486                uint64_t reserved_4_63:60;
2487#endif
2488        } s;
2489        struct cvmx_pko_reg_int_mask_cn30xx {
2490#ifdef __BIG_ENDIAN_BITFIELD
2491                uint64_t reserved_2_63:62;
2492                uint64_t doorbell:1;
2493                uint64_t parity:1;
2494#else
2495                uint64_t parity:1;
2496                uint64_t doorbell:1;
2497                uint64_t reserved_2_63:62;
2498#endif
2499        } cn30xx;
2500        struct cvmx_pko_reg_int_mask_cn30xx cn31xx;
2501        struct cvmx_pko_reg_int_mask_cn30xx cn38xx;
2502        struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2;
2503        struct cvmx_pko_reg_int_mask_cn50xx {
2504#ifdef __BIG_ENDIAN_BITFIELD
2505                uint64_t reserved_3_63:61;
2506                uint64_t currzero:1;
2507                uint64_t doorbell:1;
2508                uint64_t parity:1;
2509#else
2510                uint64_t parity:1;
2511                uint64_t doorbell:1;
2512                uint64_t currzero:1;
2513                uint64_t reserved_3_63:61;
2514#endif
2515        } cn50xx;
2516        struct cvmx_pko_reg_int_mask_cn50xx cn52xx;
2517        struct cvmx_pko_reg_int_mask_cn50xx cn52xxp1;
2518        struct cvmx_pko_reg_int_mask_cn50xx cn56xx;
2519        struct cvmx_pko_reg_int_mask_cn50xx cn56xxp1;
2520        struct cvmx_pko_reg_int_mask_cn50xx cn58xx;
2521        struct cvmx_pko_reg_int_mask_cn50xx cn58xxp1;
2522        struct cvmx_pko_reg_int_mask_cn50xx cn61xx;
2523        struct cvmx_pko_reg_int_mask_cn50xx cn63xx;
2524        struct cvmx_pko_reg_int_mask_cn50xx cn63xxp1;
2525        struct cvmx_pko_reg_int_mask_cn50xx cn66xx;
2526        struct cvmx_pko_reg_int_mask_s cn68xx;
2527        struct cvmx_pko_reg_int_mask_s cn68xxp1;
2528        struct cvmx_pko_reg_int_mask_cn50xx cnf71xx;
2529};
2530
2531union cvmx_pko_reg_loopback_bpid {
2532        uint64_t u64;
2533        struct cvmx_pko_reg_loopback_bpid_s {
2534#ifdef __BIG_ENDIAN_BITFIELD
2535                uint64_t reserved_59_63:5;
2536                uint64_t bpid7:6;
2537                uint64_t reserved_52_52:1;
2538                uint64_t bpid6:6;
2539                uint64_t reserved_45_45:1;
2540                uint64_t bpid5:6;
2541                uint64_t reserved_38_38:1;
2542                uint64_t bpid4:6;
2543                uint64_t reserved_31_31:1;
2544                uint64_t bpid3:6;
2545                uint64_t reserved_24_24:1;
2546                uint64_t bpid2:6;
2547                uint64_t reserved_17_17:1;
2548                uint64_t bpid1:6;
2549                uint64_t reserved_10_10:1;
2550                uint64_t bpid0:6;
2551                uint64_t reserved_0_3:4;
2552#else
2553                uint64_t reserved_0_3:4;
2554                uint64_t bpid0:6;
2555                uint64_t reserved_10_10:1;
2556                uint64_t bpid1:6;
2557                uint64_t reserved_17_17:1;
2558                uint64_t bpid2:6;
2559                uint64_t reserved_24_24:1;
2560                uint64_t bpid3:6;
2561                uint64_t reserved_31_31:1;
2562                uint64_t bpid4:6;
2563                uint64_t reserved_38_38:1;
2564                uint64_t bpid5:6;
2565                uint64_t reserved_45_45:1;
2566                uint64_t bpid6:6;
2567                uint64_t reserved_52_52:1;
2568                uint64_t bpid7:6;
2569                uint64_t reserved_59_63:5;
2570#endif
2571        } s;
2572        struct cvmx_pko_reg_loopback_bpid_s cn68xx;
2573        struct cvmx_pko_reg_loopback_bpid_s cn68xxp1;
2574};
2575
2576union cvmx_pko_reg_loopback_pkind {
2577        uint64_t u64;
2578        struct cvmx_pko_reg_loopback_pkind_s {
2579#ifdef __BIG_ENDIAN_BITFIELD
2580                uint64_t reserved_59_63:5;
2581                uint64_t pkind7:6;
2582                uint64_t reserved_52_52:1;
2583                uint64_t pkind6:6;
2584                uint64_t reserved_45_45:1;
2585                uint64_t pkind5:6;
2586                uint64_t reserved_38_38:1;
2587                uint64_t pkind4:6;
2588                uint64_t reserved_31_31:1;
2589                uint64_t pkind3:6;
2590                uint64_t reserved_24_24:1;
2591                uint64_t pkind2:6;
2592                uint64_t reserved_17_17:1;
2593                uint64_t pkind1:6;
2594                uint64_t reserved_10_10:1;
2595                uint64_t pkind0:6;
2596                uint64_t num_ports:4;
2597#else
2598                uint64_t num_ports:4;
2599                uint64_t pkind0:6;
2600                uint64_t reserved_10_10:1;
2601                uint64_t pkind1:6;
2602                uint64_t reserved_17_17:1;
2603                uint64_t pkind2:6;
2604                uint64_t reserved_24_24:1;
2605                uint64_t pkind3:6;
2606                uint64_t reserved_31_31:1;
2607                uint64_t pkind4:6;
2608                uint64_t reserved_38_38:1;
2609                uint64_t pkind5:6;
2610                uint64_t reserved_45_45:1;
2611                uint64_t pkind6:6;
2612                uint64_t reserved_52_52:1;
2613                uint64_t pkind7:6;
2614                uint64_t reserved_59_63:5;
2615#endif
2616        } s;
2617        struct cvmx_pko_reg_loopback_pkind_s cn68xx;
2618        struct cvmx_pko_reg_loopback_pkind_s cn68xxp1;
2619};
2620
2621union cvmx_pko_reg_min_pkt {
2622        uint64_t u64;
2623        struct cvmx_pko_reg_min_pkt_s {
2624#ifdef __BIG_ENDIAN_BITFIELD
2625                uint64_t size7:8;
2626                uint64_t size6:8;
2627                uint64_t size5:8;
2628                uint64_t size4:8;
2629                uint64_t size3:8;
2630                uint64_t size2:8;
2631                uint64_t size1:8;
2632                uint64_t size0:8;
2633#else
2634                uint64_t size0:8;
2635                uint64_t size1:8;
2636                uint64_t size2:8;
2637                uint64_t size3:8;
2638                uint64_t size4:8;
2639                uint64_t size5:8;
2640                uint64_t size6:8;
2641                uint64_t size7:8;
2642#endif
2643        } s;
2644        struct cvmx_pko_reg_min_pkt_s cn68xx;
2645        struct cvmx_pko_reg_min_pkt_s cn68xxp1;
2646};
2647
2648union cvmx_pko_reg_preempt {
2649        uint64_t u64;
2650        struct cvmx_pko_reg_preempt_s {
2651#ifdef __BIG_ENDIAN_BITFIELD
2652                uint64_t reserved_16_63:48;
2653                uint64_t min_size:16;
2654#else
2655                uint64_t min_size:16;
2656                uint64_t reserved_16_63:48;
2657#endif
2658        } s;
2659        struct cvmx_pko_reg_preempt_s cn52xx;
2660        struct cvmx_pko_reg_preempt_s cn52xxp1;
2661        struct cvmx_pko_reg_preempt_s cn56xx;
2662        struct cvmx_pko_reg_preempt_s cn56xxp1;
2663        struct cvmx_pko_reg_preempt_s cn61xx;
2664        struct cvmx_pko_reg_preempt_s cn63xx;
2665        struct cvmx_pko_reg_preempt_s cn63xxp1;
2666        struct cvmx_pko_reg_preempt_s cn66xx;
2667        struct cvmx_pko_reg_preempt_s cn68xx;
2668        struct cvmx_pko_reg_preempt_s cn68xxp1;
2669        struct cvmx_pko_reg_preempt_s cnf71xx;
2670};
2671
2672union cvmx_pko_reg_queue_mode {
2673        uint64_t u64;
2674        struct cvmx_pko_reg_queue_mode_s {
2675#ifdef __BIG_ENDIAN_BITFIELD
2676                uint64_t reserved_2_63:62;
2677                uint64_t mode:2;
2678#else
2679                uint64_t mode:2;
2680                uint64_t reserved_2_63:62;
2681#endif
2682        } s;
2683        struct cvmx_pko_reg_queue_mode_s cn30xx;
2684        struct cvmx_pko_reg_queue_mode_s cn31xx;
2685        struct cvmx_pko_reg_queue_mode_s cn38xx;
2686        struct cvmx_pko_reg_queue_mode_s cn38xxp2;
2687        struct cvmx_pko_reg_queue_mode_s cn50xx;
2688        struct cvmx_pko_reg_queue_mode_s cn52xx;
2689        struct cvmx_pko_reg_queue_mode_s cn52xxp1;
2690        struct cvmx_pko_reg_queue_mode_s cn56xx;
2691        struct cvmx_pko_reg_queue_mode_s cn56xxp1;
2692        struct cvmx_pko_reg_queue_mode_s cn58xx;
2693        struct cvmx_pko_reg_queue_mode_s cn58xxp1;
2694        struct cvmx_pko_reg_queue_mode_s cn61xx;
2695        struct cvmx_pko_reg_queue_mode_s cn63xx;
2696        struct cvmx_pko_reg_queue_mode_s cn63xxp1;
2697        struct cvmx_pko_reg_queue_mode_s cn66xx;
2698        struct cvmx_pko_reg_queue_mode_s cn68xx;
2699        struct cvmx_pko_reg_queue_mode_s cn68xxp1;
2700        struct cvmx_pko_reg_queue_mode_s cnf71xx;
2701};
2702
2703union cvmx_pko_reg_queue_preempt {
2704        uint64_t u64;
2705        struct cvmx_pko_reg_queue_preempt_s {
2706#ifdef __BIG_ENDIAN_BITFIELD
2707                uint64_t reserved_2_63:62;
2708                uint64_t preemptee:1;
2709                uint64_t preempter:1;
2710#else
2711                uint64_t preempter:1;
2712                uint64_t preemptee:1;
2713                uint64_t reserved_2_63:62;
2714#endif
2715        } s;
2716        struct cvmx_pko_reg_queue_preempt_s cn52xx;
2717        struct cvmx_pko_reg_queue_preempt_s cn52xxp1;
2718        struct cvmx_pko_reg_queue_preempt_s cn56xx;
2719        struct cvmx_pko_reg_queue_preempt_s cn56xxp1;
2720        struct cvmx_pko_reg_queue_preempt_s cn61xx;
2721        struct cvmx_pko_reg_queue_preempt_s cn63xx;
2722        struct cvmx_pko_reg_queue_preempt_s cn63xxp1;
2723        struct cvmx_pko_reg_queue_preempt_s cn66xx;
2724        struct cvmx_pko_reg_queue_preempt_s cn68xx;
2725        struct cvmx_pko_reg_queue_preempt_s cn68xxp1;
2726        struct cvmx_pko_reg_queue_preempt_s cnf71xx;
2727};
2728
2729union cvmx_pko_reg_queue_ptrs1 {
2730        uint64_t u64;
2731        struct cvmx_pko_reg_queue_ptrs1_s {
2732#ifdef __BIG_ENDIAN_BITFIELD
2733                uint64_t reserved_2_63:62;
2734                uint64_t idx3:1;
2735                uint64_t qid7:1;
2736#else
2737                uint64_t qid7:1;
2738                uint64_t idx3:1;
2739                uint64_t reserved_2_63:62;
2740#endif
2741        } s;
2742        struct cvmx_pko_reg_queue_ptrs1_s cn50xx;
2743        struct cvmx_pko_reg_queue_ptrs1_s cn52xx;
2744        struct cvmx_pko_reg_queue_ptrs1_s cn52xxp1;
2745        struct cvmx_pko_reg_queue_ptrs1_s cn56xx;
2746        struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1;
2747        struct cvmx_pko_reg_queue_ptrs1_s cn58xx;
2748        struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1;
2749        struct cvmx_pko_reg_queue_ptrs1_s cn61xx;
2750        struct cvmx_pko_reg_queue_ptrs1_s cn63xx;
2751        struct cvmx_pko_reg_queue_ptrs1_s cn63xxp1;
2752        struct cvmx_pko_reg_queue_ptrs1_s cn66xx;
2753        struct cvmx_pko_reg_queue_ptrs1_s cnf71xx;
2754};
2755
2756union cvmx_pko_reg_read_idx {
2757        uint64_t u64;
2758        struct cvmx_pko_reg_read_idx_s {
2759#ifdef __BIG_ENDIAN_BITFIELD
2760                uint64_t reserved_16_63:48;
2761                uint64_t inc:8;
2762                uint64_t index:8;
2763#else
2764                uint64_t index:8;
2765                uint64_t inc:8;
2766                uint64_t reserved_16_63:48;
2767#endif
2768        } s;
2769        struct cvmx_pko_reg_read_idx_s cn30xx;
2770        struct cvmx_pko_reg_read_idx_s cn31xx;
2771        struct cvmx_pko_reg_read_idx_s cn38xx;
2772        struct cvmx_pko_reg_read_idx_s cn38xxp2;
2773        struct cvmx_pko_reg_read_idx_s cn50xx;
2774        struct cvmx_pko_reg_read_idx_s cn52xx;
2775        struct cvmx_pko_reg_read_idx_s cn52xxp1;
2776        struct cvmx_pko_reg_read_idx_s cn56xx;
2777        struct cvmx_pko_reg_read_idx_s cn56xxp1;
2778        struct cvmx_pko_reg_read_idx_s cn58xx;
2779        struct cvmx_pko_reg_read_idx_s cn58xxp1;
2780        struct cvmx_pko_reg_read_idx_s cn61xx;
2781        struct cvmx_pko_reg_read_idx_s cn63xx;
2782        struct cvmx_pko_reg_read_idx_s cn63xxp1;
2783        struct cvmx_pko_reg_read_idx_s cn66xx;
2784        struct cvmx_pko_reg_read_idx_s cn68xx;
2785        struct cvmx_pko_reg_read_idx_s cn68xxp1;
2786        struct cvmx_pko_reg_read_idx_s cnf71xx;
2787};
2788
2789union cvmx_pko_reg_throttle {
2790        uint64_t u64;
2791        struct cvmx_pko_reg_throttle_s {
2792#ifdef __BIG_ENDIAN_BITFIELD
2793                uint64_t reserved_32_63:32;
2794                uint64_t int_mask:32;
2795#else
2796                uint64_t int_mask:32;
2797                uint64_t reserved_32_63:32;
2798#endif
2799        } s;
2800        struct cvmx_pko_reg_throttle_s cn68xx;
2801        struct cvmx_pko_reg_throttle_s cn68xxp1;
2802};
2803
2804union cvmx_pko_reg_timestamp {
2805        uint64_t u64;
2806        struct cvmx_pko_reg_timestamp_s {
2807#ifdef __BIG_ENDIAN_BITFIELD
2808                uint64_t reserved_4_63:60;
2809                uint64_t wqe_word:4;
2810#else
2811                uint64_t wqe_word:4;
2812                uint64_t reserved_4_63:60;
2813#endif
2814        } s;
2815        struct cvmx_pko_reg_timestamp_s cn61xx;
2816        struct cvmx_pko_reg_timestamp_s cn63xx;
2817        struct cvmx_pko_reg_timestamp_s cn63xxp1;
2818        struct cvmx_pko_reg_timestamp_s cn66xx;
2819        struct cvmx_pko_reg_timestamp_s cn68xx;
2820        struct cvmx_pko_reg_timestamp_s cn68xxp1;
2821        struct cvmx_pko_reg_timestamp_s cnf71xx;
2822};
2823
2824#endif
2825