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};
 101
 102union cvmx_pko_mem_count1 {
 103        uint64_t u64;
 104        struct cvmx_pko_mem_count1_s {
 105#ifdef __BIG_ENDIAN_BITFIELD
 106                uint64_t reserved_48_63:16;
 107                uint64_t count:48;
 108#else
 109                uint64_t count:48;
 110                uint64_t reserved_48_63:16;
 111#endif
 112        } s;
 113};
 114
 115union cvmx_pko_mem_debug0 {
 116        uint64_t u64;
 117        struct cvmx_pko_mem_debug0_s {
 118#ifdef __BIG_ENDIAN_BITFIELD
 119                uint64_t fau:28;
 120                uint64_t cmd:14;
 121                uint64_t segs:6;
 122                uint64_t size:16;
 123#else
 124                uint64_t size:16;
 125                uint64_t segs:6;
 126                uint64_t cmd:14;
 127                uint64_t fau:28;
 128#endif
 129        } s;
 130};
 131
 132union cvmx_pko_mem_debug1 {
 133        uint64_t u64;
 134        struct cvmx_pko_mem_debug1_s {
 135#ifdef __BIG_ENDIAN_BITFIELD
 136                uint64_t i:1;
 137                uint64_t back:4;
 138                uint64_t pool:3;
 139                uint64_t size:16;
 140                uint64_t ptr:40;
 141#else
 142                uint64_t ptr:40;
 143                uint64_t size:16;
 144                uint64_t pool:3;
 145                uint64_t back:4;
 146                uint64_t i:1;
 147#endif
 148        } s;
 149};
 150
 151union cvmx_pko_mem_debug10 {
 152        uint64_t u64;
 153        struct cvmx_pko_mem_debug10_s {
 154#ifdef __BIG_ENDIAN_BITFIELD
 155                uint64_t reserved_0_63:64;
 156#else
 157                uint64_t reserved_0_63:64;
 158#endif
 159        } s;
 160        struct cvmx_pko_mem_debug10_cn30xx {
 161#ifdef __BIG_ENDIAN_BITFIELD
 162                uint64_t fau:28;
 163                uint64_t cmd:14;
 164                uint64_t segs:6;
 165                uint64_t size:16;
 166#else
 167                uint64_t size:16;
 168                uint64_t segs:6;
 169                uint64_t cmd:14;
 170                uint64_t fau:28;
 171#endif
 172        } cn30xx;
 173        struct cvmx_pko_mem_debug10_cn50xx {
 174#ifdef __BIG_ENDIAN_BITFIELD
 175                uint64_t reserved_49_63:15;
 176                uint64_t ptrs1:17;
 177                uint64_t reserved_17_31:15;
 178                uint64_t ptrs2:17;
 179#else
 180                uint64_t ptrs2:17;
 181                uint64_t reserved_17_31:15;
 182                uint64_t ptrs1:17;
 183                uint64_t reserved_49_63:15;
 184#endif
 185        } cn50xx;
 186};
 187
 188union cvmx_pko_mem_debug11 {
 189        uint64_t u64;
 190        struct cvmx_pko_mem_debug11_s {
 191#ifdef __BIG_ENDIAN_BITFIELD
 192                uint64_t i:1;
 193                uint64_t back:4;
 194                uint64_t pool:3;
 195                uint64_t size:16;
 196                uint64_t reserved_0_39:40;
 197#else
 198                uint64_t reserved_0_39:40;
 199                uint64_t size:16;
 200                uint64_t pool:3;
 201                uint64_t back:4;
 202                uint64_t i:1;
 203#endif
 204        } s;
 205        struct cvmx_pko_mem_debug11_cn30xx {
 206#ifdef __BIG_ENDIAN_BITFIELD
 207                uint64_t i:1;
 208                uint64_t back:4;
 209                uint64_t pool:3;
 210                uint64_t size:16;
 211                uint64_t ptr:40;
 212#else
 213                uint64_t ptr:40;
 214                uint64_t size:16;
 215                uint64_t pool:3;
 216                uint64_t back:4;
 217                uint64_t i:1;
 218#endif
 219        } cn30xx;
 220        struct cvmx_pko_mem_debug11_cn50xx {
 221#ifdef __BIG_ENDIAN_BITFIELD
 222                uint64_t reserved_23_63:41;
 223                uint64_t maj:1;
 224                uint64_t uid:3;
 225                uint64_t sop:1;
 226                uint64_t len:1;
 227                uint64_t chk:1;
 228                uint64_t cnt:13;
 229                uint64_t mod:3;
 230#else
 231                uint64_t mod:3;
 232                uint64_t cnt:13;
 233                uint64_t chk:1;
 234                uint64_t len:1;
 235                uint64_t sop:1;
 236                uint64_t uid:3;
 237                uint64_t maj:1;
 238                uint64_t reserved_23_63:41;
 239#endif
 240        } cn50xx;
 241};
 242
 243union cvmx_pko_mem_debug12 {
 244        uint64_t u64;
 245        struct cvmx_pko_mem_debug12_s {
 246#ifdef __BIG_ENDIAN_BITFIELD
 247                uint64_t reserved_0_63:64;
 248#else
 249                uint64_t reserved_0_63:64;
 250#endif
 251        } s;
 252        struct cvmx_pko_mem_debug12_cn30xx {
 253#ifdef __BIG_ENDIAN_BITFIELD
 254                uint64_t data:64;
 255#else
 256                uint64_t data:64;
 257#endif
 258        } cn30xx;
 259        struct cvmx_pko_mem_debug12_cn50xx {
 260#ifdef __BIG_ENDIAN_BITFIELD
 261                uint64_t fau:28;
 262                uint64_t cmd:14;
 263                uint64_t segs:6;
 264                uint64_t size:16;
 265#else
 266                uint64_t size:16;
 267                uint64_t segs:6;
 268                uint64_t cmd:14;
 269                uint64_t fau:28;
 270#endif
 271        } cn50xx;
 272        struct cvmx_pko_mem_debug12_cn68xx {
 273#ifdef __BIG_ENDIAN_BITFIELD
 274                uint64_t state:64;
 275#else
 276                uint64_t state:64;
 277#endif
 278        } cn68xx;
 279};
 280
 281union cvmx_pko_mem_debug13 {
 282        uint64_t u64;
 283        struct cvmx_pko_mem_debug13_s {
 284#ifdef __BIG_ENDIAN_BITFIELD
 285                uint64_t reserved_0_63:64;
 286#else
 287                uint64_t reserved_0_63:64;
 288#endif
 289        } s;
 290        struct cvmx_pko_mem_debug13_cn30xx {
 291#ifdef __BIG_ENDIAN_BITFIELD
 292                uint64_t reserved_51_63:13;
 293                uint64_t widx:17;
 294                uint64_t ridx2:17;
 295                uint64_t widx2:17;
 296#else
 297                uint64_t widx2:17;
 298                uint64_t ridx2:17;
 299                uint64_t widx:17;
 300                uint64_t reserved_51_63:13;
 301#endif
 302        } cn30xx;
 303        struct cvmx_pko_mem_debug13_cn50xx {
 304#ifdef __BIG_ENDIAN_BITFIELD
 305                uint64_t i:1;
 306                uint64_t back:4;
 307                uint64_t pool:3;
 308                uint64_t size:16;
 309                uint64_t ptr:40;
 310#else
 311                uint64_t ptr:40;
 312                uint64_t size:16;
 313                uint64_t pool:3;
 314                uint64_t back:4;
 315                uint64_t i:1;
 316#endif
 317        } cn50xx;
 318        struct cvmx_pko_mem_debug13_cn68xx {
 319#ifdef __BIG_ENDIAN_BITFIELD
 320                uint64_t state:64;
 321#else
 322                uint64_t state:64;
 323#endif
 324        } cn68xx;
 325};
 326
 327union cvmx_pko_mem_debug14 {
 328        uint64_t u64;
 329        struct cvmx_pko_mem_debug14_s {
 330#ifdef __BIG_ENDIAN_BITFIELD
 331                uint64_t reserved_0_63:64;
 332#else
 333                uint64_t reserved_0_63:64;
 334#endif
 335        } s;
 336        struct cvmx_pko_mem_debug14_cn30xx {
 337#ifdef __BIG_ENDIAN_BITFIELD
 338                uint64_t reserved_17_63:47;
 339                uint64_t ridx:17;
 340#else
 341                uint64_t ridx:17;
 342                uint64_t reserved_17_63:47;
 343#endif
 344        } cn30xx;
 345        struct cvmx_pko_mem_debug14_cn52xx {
 346#ifdef __BIG_ENDIAN_BITFIELD
 347                uint64_t data:64;
 348#else
 349                uint64_t data:64;
 350#endif
 351        } cn52xx;
 352};
 353
 354union cvmx_pko_mem_debug2 {
 355        uint64_t u64;
 356        struct cvmx_pko_mem_debug2_s {
 357#ifdef __BIG_ENDIAN_BITFIELD
 358                uint64_t i:1;
 359                uint64_t back:4;
 360                uint64_t pool:3;
 361                uint64_t size:16;
 362                uint64_t ptr:40;
 363#else
 364                uint64_t ptr:40;
 365                uint64_t size:16;
 366                uint64_t pool:3;
 367                uint64_t back:4;
 368                uint64_t i:1;
 369#endif
 370        } s;
 371};
 372
 373union cvmx_pko_mem_debug3 {
 374        uint64_t u64;
 375        struct cvmx_pko_mem_debug3_s {
 376#ifdef __BIG_ENDIAN_BITFIELD
 377                uint64_t reserved_0_63:64;
 378#else
 379                uint64_t reserved_0_63:64;
 380#endif
 381        } s;
 382        struct cvmx_pko_mem_debug3_cn30xx {
 383#ifdef __BIG_ENDIAN_BITFIELD
 384                uint64_t i:1;
 385                uint64_t back:4;
 386                uint64_t pool:3;
 387                uint64_t size:16;
 388                uint64_t ptr:40;
 389#else
 390                uint64_t ptr:40;
 391                uint64_t size:16;
 392                uint64_t pool:3;
 393                uint64_t back:4;
 394                uint64_t i:1;
 395#endif
 396        } cn30xx;
 397        struct cvmx_pko_mem_debug3_cn50xx {
 398#ifdef __BIG_ENDIAN_BITFIELD
 399                uint64_t data:64;
 400#else
 401                uint64_t data:64;
 402#endif
 403        } cn50xx;
 404};
 405
 406union cvmx_pko_mem_debug4 {
 407        uint64_t u64;
 408        struct cvmx_pko_mem_debug4_s {
 409#ifdef __BIG_ENDIAN_BITFIELD
 410                uint64_t reserved_0_63:64;
 411#else
 412                uint64_t reserved_0_63:64;
 413#endif
 414        } s;
 415        struct cvmx_pko_mem_debug4_cn30xx {
 416#ifdef __BIG_ENDIAN_BITFIELD
 417                uint64_t data:64;
 418#else
 419                uint64_t data:64;
 420#endif
 421        } cn30xx;
 422        struct cvmx_pko_mem_debug4_cn50xx {
 423#ifdef __BIG_ENDIAN_BITFIELD
 424                uint64_t cmnd_segs:3;
 425                uint64_t cmnd_siz:16;
 426                uint64_t cmnd_off:6;
 427                uint64_t uid:3;
 428                uint64_t dread_sop:1;
 429                uint64_t init_dwrite:1;
 430                uint64_t chk_once:1;
 431                uint64_t chk_mode:1;
 432                uint64_t active:1;
 433                uint64_t static_p:1;
 434                uint64_t qos:3;
 435                uint64_t qcb_ridx:5;
 436                uint64_t qid_off_max:4;
 437                uint64_t qid_off:4;
 438                uint64_t qid_base:8;
 439                uint64_t wait:1;
 440                uint64_t minor:2;
 441                uint64_t major:3;
 442#else
 443                uint64_t major:3;
 444                uint64_t minor:2;
 445                uint64_t wait:1;
 446                uint64_t qid_base:8;
 447                uint64_t qid_off:4;
 448                uint64_t qid_off_max:4;
 449                uint64_t qcb_ridx:5;
 450                uint64_t qos:3;
 451                uint64_t static_p:1;
 452                uint64_t active:1;
 453                uint64_t chk_mode:1;
 454                uint64_t chk_once:1;
 455                uint64_t init_dwrite:1;
 456                uint64_t dread_sop:1;
 457                uint64_t uid:3;
 458                uint64_t cmnd_off:6;
 459                uint64_t cmnd_siz:16;
 460                uint64_t cmnd_segs:3;
 461#endif
 462        } cn50xx;
 463        struct cvmx_pko_mem_debug4_cn52xx {
 464#ifdef __BIG_ENDIAN_BITFIELD
 465                uint64_t curr_siz:8;
 466                uint64_t curr_off:16;
 467                uint64_t cmnd_segs:6;
 468                uint64_t cmnd_siz:16;
 469                uint64_t cmnd_off:6;
 470                uint64_t uid:2;
 471                uint64_t dread_sop:1;
 472                uint64_t init_dwrite:1;
 473                uint64_t chk_once:1;
 474                uint64_t chk_mode:1;
 475                uint64_t wait:1;
 476                uint64_t minor:2;
 477                uint64_t major:3;
 478#else
 479                uint64_t major:3;
 480                uint64_t minor:2;
 481                uint64_t wait:1;
 482                uint64_t chk_mode:1;
 483                uint64_t chk_once:1;
 484                uint64_t init_dwrite:1;
 485                uint64_t dread_sop:1;
 486                uint64_t uid:2;
 487                uint64_t cmnd_off:6;
 488                uint64_t cmnd_siz:16;
 489                uint64_t cmnd_segs:6;
 490                uint64_t curr_off:16;
 491                uint64_t curr_siz:8;
 492#endif
 493        } cn52xx;
 494};
 495
 496union cvmx_pko_mem_debug5 {
 497        uint64_t u64;
 498        struct cvmx_pko_mem_debug5_s {
 499#ifdef __BIG_ENDIAN_BITFIELD
 500                uint64_t reserved_0_63:64;
 501#else
 502                uint64_t reserved_0_63:64;
 503#endif
 504        } s;
 505        struct cvmx_pko_mem_debug5_cn30xx {
 506#ifdef __BIG_ENDIAN_BITFIELD
 507                uint64_t dwri_mod:1;
 508                uint64_t dwri_sop:1;
 509                uint64_t dwri_len:1;
 510                uint64_t dwri_cnt:13;
 511                uint64_t cmnd_siz:16;
 512                uint64_t uid:1;
 513                uint64_t xfer_wor:1;
 514                uint64_t xfer_dwr:1;
 515                uint64_t cbuf_fre:1;
 516                uint64_t reserved_27_27:1;
 517                uint64_t chk_mode:1;
 518                uint64_t active:1;
 519                uint64_t qos:3;
 520                uint64_t qcb_ridx:5;
 521                uint64_t qid_off:3;
 522                uint64_t qid_base:7;
 523                uint64_t wait:1;
 524                uint64_t minor:2;
 525                uint64_t major:4;
 526#else
 527                uint64_t major:4;
 528                uint64_t minor:2;
 529                uint64_t wait:1;
 530                uint64_t qid_base:7;
 531                uint64_t qid_off:3;
 532                uint64_t qcb_ridx:5;
 533                uint64_t qos:3;
 534                uint64_t active:1;
 535                uint64_t chk_mode:1;
 536                uint64_t reserved_27_27:1;
 537                uint64_t cbuf_fre:1;
 538                uint64_t xfer_dwr:1;
 539                uint64_t xfer_wor:1;
 540                uint64_t uid:1;
 541                uint64_t cmnd_siz:16;
 542                uint64_t dwri_cnt:13;
 543                uint64_t dwri_len:1;
 544                uint64_t dwri_sop:1;
 545                uint64_t dwri_mod:1;
 546#endif
 547        } cn30xx;
 548        struct cvmx_pko_mem_debug5_cn50xx {
 549#ifdef __BIG_ENDIAN_BITFIELD
 550                uint64_t curr_ptr:29;
 551                uint64_t curr_siz:16;
 552                uint64_t curr_off:16;
 553                uint64_t cmnd_segs:3;
 554#else
 555                uint64_t cmnd_segs:3;
 556                uint64_t curr_off:16;
 557                uint64_t curr_siz:16;
 558                uint64_t curr_ptr:29;
 559#endif
 560        } cn50xx;
 561        struct cvmx_pko_mem_debug5_cn52xx {
 562#ifdef __BIG_ENDIAN_BITFIELD
 563                uint64_t reserved_54_63:10;
 564                uint64_t nxt_inflt:6;
 565                uint64_t curr_ptr:40;
 566                uint64_t curr_siz:8;
 567#else
 568                uint64_t curr_siz:8;
 569                uint64_t curr_ptr:40;
 570                uint64_t nxt_inflt:6;
 571                uint64_t reserved_54_63:10;
 572#endif
 573        } cn52xx;
 574        struct cvmx_pko_mem_debug5_cn61xx {
 575#ifdef __BIG_ENDIAN_BITFIELD
 576                uint64_t reserved_56_63:8;
 577                uint64_t ptp:1;
 578                uint64_t major_3:1;
 579                uint64_t nxt_inflt:6;
 580                uint64_t curr_ptr:40;
 581                uint64_t curr_siz:8;
 582#else
 583                uint64_t curr_siz:8;
 584                uint64_t curr_ptr:40;
 585                uint64_t nxt_inflt:6;
 586                uint64_t major_3:1;
 587                uint64_t ptp:1;
 588                uint64_t reserved_56_63:8;
 589#endif
 590        } cn61xx;
 591        struct cvmx_pko_mem_debug5_cn68xx {
 592#ifdef __BIG_ENDIAN_BITFIELD
 593                uint64_t reserved_57_63:7;
 594                uint64_t uid_2:1;
 595                uint64_t ptp:1;
 596                uint64_t major_3:1;
 597                uint64_t nxt_inflt:6;
 598                uint64_t curr_ptr:40;
 599                uint64_t curr_siz:8;
 600#else
 601                uint64_t curr_siz:8;
 602                uint64_t curr_ptr:40;
 603                uint64_t nxt_inflt:6;
 604                uint64_t major_3:1;
 605                uint64_t ptp:1;
 606                uint64_t uid_2:1;
 607                uint64_t reserved_57_63:7;
 608#endif
 609        } cn68xx;
 610};
 611
 612union cvmx_pko_mem_debug6 {
 613        uint64_t u64;
 614        struct cvmx_pko_mem_debug6_s {
 615#ifdef __BIG_ENDIAN_BITFIELD
 616                uint64_t reserved_37_63:27;
 617                uint64_t qid_offres:4;
 618                uint64_t qid_offths:4;
 619                uint64_t preempter:1;
 620                uint64_t preemptee:1;
 621                uint64_t preempted:1;
 622                uint64_t active:1;
 623                uint64_t statc:1;
 624                uint64_t qos:3;
 625                uint64_t qcb_ridx:5;
 626                uint64_t qid_offmax:4;
 627                uint64_t reserved_0_11:12;
 628#else
 629                uint64_t reserved_0_11:12;
 630                uint64_t qid_offmax:4;
 631                uint64_t qcb_ridx:5;
 632                uint64_t qos:3;
 633                uint64_t statc:1;
 634                uint64_t active:1;
 635                uint64_t preempted:1;
 636                uint64_t preemptee:1;
 637                uint64_t preempter:1;
 638                uint64_t qid_offths:4;
 639                uint64_t qid_offres:4;
 640                uint64_t reserved_37_63:27;
 641#endif
 642        } s;
 643        struct cvmx_pko_mem_debug6_cn30xx {
 644#ifdef __BIG_ENDIAN_BITFIELD
 645                uint64_t reserved_11_63:53;
 646                uint64_t qid_offm:3;
 647                uint64_t static_p:1;
 648                uint64_t work_min:3;
 649                uint64_t dwri_chk:1;
 650                uint64_t dwri_uid:1;
 651                uint64_t dwri_mod:2;
 652#else
 653                uint64_t dwri_mod:2;
 654                uint64_t dwri_uid:1;
 655                uint64_t dwri_chk:1;
 656                uint64_t work_min:3;
 657                uint64_t static_p:1;
 658                uint64_t qid_offm:3;
 659                uint64_t reserved_11_63:53;
 660#endif
 661        } cn30xx;
 662        struct cvmx_pko_mem_debug6_cn50xx {
 663#ifdef __BIG_ENDIAN_BITFIELD
 664                uint64_t reserved_11_63:53;
 665                uint64_t curr_ptr:11;
 666#else
 667                uint64_t curr_ptr:11;
 668                uint64_t reserved_11_63:53;
 669#endif
 670        } cn50xx;
 671        struct cvmx_pko_mem_debug6_cn52xx {
 672#ifdef __BIG_ENDIAN_BITFIELD
 673                uint64_t reserved_37_63:27;
 674                uint64_t qid_offres:4;
 675                uint64_t qid_offths:4;
 676                uint64_t preempter:1;
 677                uint64_t preemptee:1;
 678                uint64_t preempted:1;
 679                uint64_t active:1;
 680                uint64_t statc:1;
 681                uint64_t qos:3;
 682                uint64_t qcb_ridx:5;
 683                uint64_t qid_offmax:4;
 684                uint64_t qid_off:4;
 685                uint64_t qid_base:8;
 686#else
 687                uint64_t qid_base:8;
 688                uint64_t qid_off:4;
 689                uint64_t qid_offmax:4;
 690                uint64_t qcb_ridx:5;
 691                uint64_t qos:3;
 692                uint64_t statc:1;
 693                uint64_t active:1;
 694                uint64_t preempted:1;
 695                uint64_t preemptee:1;
 696                uint64_t preempter:1;
 697                uint64_t qid_offths:4;
 698                uint64_t qid_offres:4;
 699                uint64_t reserved_37_63:27;
 700#endif
 701        } cn52xx;
 702};
 703
 704union cvmx_pko_mem_debug7 {
 705        uint64_t u64;
 706        struct cvmx_pko_mem_debug7_s {
 707#ifdef __BIG_ENDIAN_BITFIELD
 708                uint64_t reserved_0_63:64;
 709#else
 710                uint64_t reserved_0_63:64;
 711#endif
 712        } s;
 713        struct cvmx_pko_mem_debug7_cn30xx {
 714#ifdef __BIG_ENDIAN_BITFIELD
 715                uint64_t reserved_58_63:6;
 716                uint64_t dwb:9;
 717                uint64_t start:33;
 718                uint64_t size:16;
 719#else
 720                uint64_t size:16;
 721                uint64_t start:33;
 722                uint64_t dwb:9;
 723                uint64_t reserved_58_63:6;
 724#endif
 725        } cn30xx;
 726        struct cvmx_pko_mem_debug7_cn50xx {
 727#ifdef __BIG_ENDIAN_BITFIELD
 728                uint64_t qos:5;
 729                uint64_t tail:1;
 730                uint64_t buf_siz:13;
 731                uint64_t buf_ptr:33;
 732                uint64_t qcb_widx:6;
 733                uint64_t qcb_ridx:6;
 734#else
 735                uint64_t qcb_ridx:6;
 736                uint64_t qcb_widx:6;
 737                uint64_t buf_ptr:33;
 738                uint64_t buf_siz:13;
 739                uint64_t tail:1;
 740                uint64_t qos:5;
 741#endif
 742        } cn50xx;
 743        struct cvmx_pko_mem_debug7_cn68xx {
 744#ifdef __BIG_ENDIAN_BITFIELD
 745                uint64_t qos:3;
 746                uint64_t tail:1;
 747                uint64_t buf_siz:13;
 748                uint64_t buf_ptr:33;
 749                uint64_t qcb_widx:7;
 750                uint64_t qcb_ridx:7;
 751#else
 752                uint64_t qcb_ridx:7;
 753                uint64_t qcb_widx:7;
 754                uint64_t buf_ptr:33;
 755                uint64_t buf_siz:13;
 756                uint64_t tail:1;
 757                uint64_t qos:3;
 758#endif
 759        } cn68xx;
 760};
 761
 762union cvmx_pko_mem_debug8 {
 763        uint64_t u64;
 764        struct cvmx_pko_mem_debug8_s {
 765#ifdef __BIG_ENDIAN_BITFIELD
 766                uint64_t reserved_59_63:5;
 767                uint64_t tail:1;
 768                uint64_t buf_siz:13;
 769                uint64_t reserved_0_44:45;
 770#else
 771                uint64_t reserved_0_44:45;
 772                uint64_t buf_siz:13;
 773                uint64_t tail:1;
 774                uint64_t reserved_59_63:5;
 775#endif
 776        } s;
 777        struct cvmx_pko_mem_debug8_cn30xx {
 778#ifdef __BIG_ENDIAN_BITFIELD
 779                uint64_t qos:5;
 780                uint64_t tail:1;
 781                uint64_t buf_siz:13;
 782                uint64_t buf_ptr:33;
 783                uint64_t qcb_widx:6;
 784                uint64_t qcb_ridx:6;
 785#else
 786                uint64_t qcb_ridx:6;
 787                uint64_t qcb_widx:6;
 788                uint64_t buf_ptr:33;
 789                uint64_t buf_siz:13;
 790                uint64_t tail:1;
 791                uint64_t qos:5;
 792#endif
 793        } cn30xx;
 794        struct cvmx_pko_mem_debug8_cn50xx {
 795#ifdef __BIG_ENDIAN_BITFIELD
 796                uint64_t reserved_28_63:36;
 797                uint64_t doorbell:20;
 798                uint64_t reserved_6_7:2;
 799                uint64_t static_p:1;
 800                uint64_t s_tail:1;
 801                uint64_t static_q:1;
 802                uint64_t qos:3;
 803#else
 804                uint64_t qos:3;
 805                uint64_t static_q:1;
 806                uint64_t s_tail:1;
 807                uint64_t static_p:1;
 808                uint64_t reserved_6_7:2;
 809                uint64_t doorbell:20;
 810                uint64_t reserved_28_63:36;
 811#endif
 812        } cn50xx;
 813        struct cvmx_pko_mem_debug8_cn52xx {
 814#ifdef __BIG_ENDIAN_BITFIELD
 815                uint64_t reserved_29_63:35;
 816                uint64_t preempter:1;
 817                uint64_t doorbell:20;
 818                uint64_t reserved_7_7:1;
 819                uint64_t preemptee:1;
 820                uint64_t static_p:1;
 821                uint64_t s_tail:1;
 822                uint64_t static_q:1;
 823                uint64_t qos:3;
 824#else
 825                uint64_t qos:3;
 826                uint64_t static_q:1;
 827                uint64_t s_tail:1;
 828                uint64_t static_p:1;
 829                uint64_t preemptee:1;
 830                uint64_t reserved_7_7:1;
 831                uint64_t doorbell:20;
 832                uint64_t preempter:1;
 833                uint64_t reserved_29_63:35;
 834#endif
 835        } cn52xx;
 836        struct cvmx_pko_mem_debug8_cn61xx {
 837#ifdef __BIG_ENDIAN_BITFIELD
 838                uint64_t reserved_42_63:22;
 839                uint64_t qid_qqos:8;
 840                uint64_t reserved_33_33:1;
 841                uint64_t qid_idx:4;
 842                uint64_t preempter:1;
 843                uint64_t doorbell:20;
 844                uint64_t reserved_7_7:1;
 845                uint64_t preemptee:1;
 846                uint64_t static_p:1;
 847                uint64_t s_tail:1;
 848                uint64_t static_q:1;
 849                uint64_t qos:3;
 850#else
 851                uint64_t qos:3;
 852                uint64_t static_q:1;
 853                uint64_t s_tail:1;
 854                uint64_t static_p:1;
 855                uint64_t preemptee:1;
 856                uint64_t reserved_7_7:1;
 857                uint64_t doorbell:20;
 858                uint64_t preempter:1;
 859                uint64_t qid_idx:4;
 860                uint64_t reserved_33_33:1;
 861                uint64_t qid_qqos:8;
 862                uint64_t reserved_42_63:22;
 863#endif
 864        } cn61xx;
 865        struct cvmx_pko_mem_debug8_cn68xx {
 866#ifdef __BIG_ENDIAN_BITFIELD
 867                uint64_t reserved_37_63:27;
 868                uint64_t preempter:1;
 869                uint64_t doorbell:20;
 870                uint64_t reserved_9_15:7;
 871                uint64_t preemptee:1;
 872                uint64_t static_p:1;
 873                uint64_t s_tail:1;
 874                uint64_t static_q:1;
 875                uint64_t qos:5;
 876#else
 877                uint64_t qos:5;
 878                uint64_t static_q:1;
 879                uint64_t s_tail:1;
 880                uint64_t static_p:1;
 881                uint64_t preemptee:1;
 882                uint64_t reserved_9_15:7;
 883                uint64_t doorbell:20;
 884                uint64_t preempter:1;
 885                uint64_t reserved_37_63:27;
 886#endif
 887        } cn68xx;
 888};
 889
 890union cvmx_pko_mem_debug9 {
 891        uint64_t u64;
 892        struct cvmx_pko_mem_debug9_s {
 893#ifdef __BIG_ENDIAN_BITFIELD
 894                uint64_t reserved_49_63:15;
 895                uint64_t ptrs0:17;
 896                uint64_t reserved_0_31:32;
 897#else
 898                uint64_t reserved_0_31:32;
 899                uint64_t ptrs0:17;
 900                uint64_t reserved_49_63:15;
 901#endif
 902        } s;
 903        struct cvmx_pko_mem_debug9_cn30xx {
 904#ifdef __BIG_ENDIAN_BITFIELD
 905                uint64_t reserved_28_63:36;
 906                uint64_t doorbell:20;
 907                uint64_t reserved_5_7:3;
 908                uint64_t s_tail:1;
 909                uint64_t static_q:1;
 910                uint64_t qos:3;
 911#else
 912                uint64_t qos:3;
 913                uint64_t static_q:1;
 914                uint64_t s_tail:1;
 915                uint64_t reserved_5_7:3;
 916                uint64_t doorbell:20;
 917                uint64_t reserved_28_63:36;
 918#endif
 919        } cn30xx;
 920        struct cvmx_pko_mem_debug9_cn38xx {
 921#ifdef __BIG_ENDIAN_BITFIELD
 922                uint64_t reserved_28_63:36;
 923                uint64_t doorbell:20;
 924                uint64_t reserved_6_7:2;
 925                uint64_t static_p:1;
 926                uint64_t s_tail:1;
 927                uint64_t static_q:1;
 928                uint64_t qos:3;
 929#else
 930                uint64_t qos:3;
 931                uint64_t static_q:1;
 932                uint64_t s_tail:1;
 933                uint64_t static_p:1;
 934                uint64_t reserved_6_7:2;
 935                uint64_t doorbell:20;
 936                uint64_t reserved_28_63:36;
 937#endif
 938        } cn38xx;
 939        struct cvmx_pko_mem_debug9_cn50xx {
 940#ifdef __BIG_ENDIAN_BITFIELD
 941                uint64_t reserved_49_63:15;
 942                uint64_t ptrs0:17;
 943                uint64_t reserved_17_31:15;
 944                uint64_t ptrs3:17;
 945#else
 946                uint64_t ptrs3:17;
 947                uint64_t reserved_17_31:15;
 948                uint64_t ptrs0:17;
 949                uint64_t reserved_49_63:15;
 950#endif
 951        } cn50xx;
 952};
 953
 954union cvmx_pko_mem_iport_ptrs {
 955        uint64_t u64;
 956        struct cvmx_pko_mem_iport_ptrs_s {
 957#ifdef __BIG_ENDIAN_BITFIELD
 958                uint64_t reserved_63_63:1;
 959                uint64_t crc:1;
 960                uint64_t static_p:1;
 961                uint64_t qos_mask:8;
 962                uint64_t min_pkt:3;
 963                uint64_t reserved_31_49:19;
 964                uint64_t pipe:7;
 965                uint64_t reserved_21_23:3;
 966                uint64_t intr:5;
 967                uint64_t reserved_13_15:3;
 968                uint64_t eid:5;
 969                uint64_t reserved_7_7:1;
 970                uint64_t ipid:7;
 971#else
 972                uint64_t ipid:7;
 973                uint64_t reserved_7_7:1;
 974                uint64_t eid:5;
 975                uint64_t reserved_13_15:3;
 976                uint64_t intr:5;
 977                uint64_t reserved_21_23:3;
 978                uint64_t pipe:7;
 979                uint64_t reserved_31_49:19;
 980                uint64_t min_pkt:3;
 981                uint64_t qos_mask:8;
 982                uint64_t static_p:1;
 983                uint64_t crc:1;
 984                uint64_t reserved_63_63:1;
 985#endif
 986        } s;
 987};
 988
 989union cvmx_pko_mem_iport_qos {
 990        uint64_t u64;
 991        struct cvmx_pko_mem_iport_qos_s {
 992#ifdef __BIG_ENDIAN_BITFIELD
 993                uint64_t reserved_61_63:3;
 994                uint64_t qos_mask:8;
 995                uint64_t reserved_13_52:40;
 996                uint64_t eid:5;
 997                uint64_t reserved_7_7:1;
 998                uint64_t ipid:7;
 999#else
1000                uint64_t ipid:7;
1001                uint64_t reserved_7_7:1;
1002                uint64_t eid:5;
1003                uint64_t reserved_13_52:40;
1004                uint64_t qos_mask:8;
1005                uint64_t reserved_61_63:3;
1006#endif
1007        } s;
1008};
1009
1010union cvmx_pko_mem_iqueue_ptrs {
1011        uint64_t u64;
1012        struct cvmx_pko_mem_iqueue_ptrs_s {
1013#ifdef __BIG_ENDIAN_BITFIELD
1014                uint64_t s_tail:1;
1015                uint64_t static_p:1;
1016                uint64_t static_q:1;
1017                uint64_t qos_mask:8;
1018                uint64_t buf_ptr:31;
1019                uint64_t tail:1;
1020                uint64_t index:5;
1021                uint64_t reserved_15_15:1;
1022                uint64_t ipid:7;
1023                uint64_t qid:8;
1024#else
1025                uint64_t qid:8;
1026                uint64_t ipid:7;
1027                uint64_t reserved_15_15:1;
1028                uint64_t index:5;
1029                uint64_t tail:1;
1030                uint64_t buf_ptr:31;
1031                uint64_t qos_mask:8;
1032                uint64_t static_q:1;
1033                uint64_t static_p:1;
1034                uint64_t s_tail:1;
1035#endif
1036        } s;
1037};
1038
1039union cvmx_pko_mem_iqueue_qos {
1040        uint64_t u64;
1041        struct cvmx_pko_mem_iqueue_qos_s {
1042#ifdef __BIG_ENDIAN_BITFIELD
1043                uint64_t reserved_61_63:3;
1044                uint64_t qos_mask:8;
1045                uint64_t reserved_15_52:38;
1046                uint64_t ipid:7;
1047                uint64_t qid:8;
1048#else
1049                uint64_t qid:8;
1050                uint64_t ipid:7;
1051                uint64_t reserved_15_52:38;
1052                uint64_t qos_mask:8;
1053                uint64_t reserved_61_63:3;
1054#endif
1055        } s;
1056};
1057
1058union cvmx_pko_mem_port_ptrs {
1059        uint64_t u64;
1060        struct cvmx_pko_mem_port_ptrs_s {
1061#ifdef __BIG_ENDIAN_BITFIELD
1062                uint64_t reserved_62_63:2;
1063                uint64_t static_p:1;
1064                uint64_t qos_mask:8;
1065                uint64_t reserved_16_52:37;
1066                uint64_t bp_port:6;
1067                uint64_t eid:4;
1068                uint64_t pid:6;
1069#else
1070                uint64_t pid:6;
1071                uint64_t eid:4;
1072                uint64_t bp_port:6;
1073                uint64_t reserved_16_52:37;
1074                uint64_t qos_mask:8;
1075                uint64_t static_p:1;
1076                uint64_t reserved_62_63:2;
1077#endif
1078        } s;
1079};
1080
1081union cvmx_pko_mem_port_qos {
1082        uint64_t u64;
1083        struct cvmx_pko_mem_port_qos_s {
1084#ifdef __BIG_ENDIAN_BITFIELD
1085                uint64_t reserved_61_63:3;
1086                uint64_t qos_mask:8;
1087                uint64_t reserved_10_52:43;
1088                uint64_t eid:4;
1089                uint64_t pid:6;
1090#else
1091                uint64_t pid:6;
1092                uint64_t eid:4;
1093                uint64_t reserved_10_52:43;
1094                uint64_t qos_mask:8;
1095                uint64_t reserved_61_63:3;
1096#endif
1097        } s;
1098};
1099
1100union cvmx_pko_mem_port_rate0 {
1101        uint64_t u64;
1102        struct cvmx_pko_mem_port_rate0_s {
1103#ifdef __BIG_ENDIAN_BITFIELD
1104                uint64_t reserved_51_63:13;
1105                uint64_t rate_word:19;
1106                uint64_t rate_pkt:24;
1107                uint64_t reserved_7_7:1;
1108                uint64_t pid:7;
1109#else
1110                uint64_t pid:7;
1111                uint64_t reserved_7_7:1;
1112                uint64_t rate_pkt:24;
1113                uint64_t rate_word:19;
1114                uint64_t reserved_51_63:13;
1115#endif
1116        } s;
1117        struct cvmx_pko_mem_port_rate0_cn52xx {
1118#ifdef __BIG_ENDIAN_BITFIELD
1119                uint64_t reserved_51_63:13;
1120                uint64_t rate_word:19;
1121                uint64_t rate_pkt:24;
1122                uint64_t reserved_6_7:2;
1123                uint64_t pid:6;
1124#else
1125                uint64_t pid:6;
1126                uint64_t reserved_6_7:2;
1127                uint64_t rate_pkt:24;
1128                uint64_t rate_word:19;
1129                uint64_t reserved_51_63:13;
1130#endif
1131        } cn52xx;
1132};
1133
1134union cvmx_pko_mem_port_rate1 {
1135        uint64_t u64;
1136        struct cvmx_pko_mem_port_rate1_s {
1137#ifdef __BIG_ENDIAN_BITFIELD
1138                uint64_t reserved_32_63:32;
1139                uint64_t rate_lim:24;
1140                uint64_t reserved_7_7:1;
1141                uint64_t pid:7;
1142#else
1143                uint64_t pid:7;
1144                uint64_t reserved_7_7:1;
1145                uint64_t rate_lim:24;
1146                uint64_t reserved_32_63:32;
1147#endif
1148        } s;
1149        struct cvmx_pko_mem_port_rate1_cn52xx {
1150#ifdef __BIG_ENDIAN_BITFIELD
1151                uint64_t reserved_32_63:32;
1152                uint64_t rate_lim:24;
1153                uint64_t reserved_6_7:2;
1154                uint64_t pid:6;
1155#else
1156                uint64_t pid:6;
1157                uint64_t reserved_6_7:2;
1158                uint64_t rate_lim:24;
1159                uint64_t reserved_32_63:32;
1160#endif
1161        } cn52xx;
1162};
1163
1164union cvmx_pko_mem_queue_ptrs {
1165        uint64_t u64;
1166        struct cvmx_pko_mem_queue_ptrs_s {
1167#ifdef __BIG_ENDIAN_BITFIELD
1168                uint64_t s_tail:1;
1169                uint64_t static_p:1;
1170                uint64_t static_q:1;
1171                uint64_t qos_mask:8;
1172                uint64_t buf_ptr:36;
1173                uint64_t tail:1;
1174                uint64_t index:3;
1175                uint64_t port:6;
1176                uint64_t queue:7;
1177#else
1178                uint64_t queue:7;
1179                uint64_t port:6;
1180                uint64_t index:3;
1181                uint64_t tail:1;
1182                uint64_t buf_ptr:36;
1183                uint64_t qos_mask:8;
1184                uint64_t static_q:1;
1185                uint64_t static_p:1;
1186                uint64_t s_tail:1;
1187#endif
1188        } s;
1189};
1190
1191union cvmx_pko_mem_queue_qos {
1192        uint64_t u64;
1193        struct cvmx_pko_mem_queue_qos_s {
1194#ifdef __BIG_ENDIAN_BITFIELD
1195                uint64_t reserved_61_63:3;
1196                uint64_t qos_mask:8;
1197                uint64_t reserved_13_52:40;
1198                uint64_t pid:6;
1199                uint64_t qid:7;
1200#else
1201                uint64_t qid:7;
1202                uint64_t pid:6;
1203                uint64_t reserved_13_52:40;
1204                uint64_t qos_mask:8;
1205                uint64_t reserved_61_63:3;
1206#endif
1207        } s;
1208};
1209
1210union cvmx_pko_mem_throttle_int {
1211        uint64_t u64;
1212        struct cvmx_pko_mem_throttle_int_s {
1213#ifdef __BIG_ENDIAN_BITFIELD
1214                uint64_t reserved_47_63:17;
1215                uint64_t word:15;
1216                uint64_t reserved_14_31:18;
1217                uint64_t packet:6;
1218                uint64_t reserved_5_7:3;
1219                uint64_t intr:5;
1220#else
1221                uint64_t intr:5;
1222                uint64_t reserved_5_7:3;
1223                uint64_t packet:6;
1224                uint64_t reserved_14_31:18;
1225                uint64_t word:15;
1226                uint64_t reserved_47_63:17;
1227#endif
1228        } s;
1229};
1230
1231union cvmx_pko_mem_throttle_pipe {
1232        uint64_t u64;
1233        struct cvmx_pko_mem_throttle_pipe_s {
1234#ifdef __BIG_ENDIAN_BITFIELD
1235                uint64_t reserved_47_63:17;
1236                uint64_t word:15;
1237                uint64_t reserved_14_31:18;
1238                uint64_t packet:6;
1239                uint64_t reserved_7_7:1;
1240                uint64_t pipe:7;
1241#else
1242                uint64_t pipe:7;
1243                uint64_t reserved_7_7:1;
1244                uint64_t packet:6;
1245                uint64_t reserved_14_31:18;
1246                uint64_t word:15;
1247                uint64_t reserved_47_63:17;
1248#endif
1249        } s;
1250};
1251
1252union cvmx_pko_reg_bist_result {
1253        uint64_t u64;
1254        struct cvmx_pko_reg_bist_result_s {
1255#ifdef __BIG_ENDIAN_BITFIELD
1256                uint64_t reserved_0_63:64;
1257#else
1258                uint64_t reserved_0_63:64;
1259#endif
1260        } s;
1261        struct cvmx_pko_reg_bist_result_cn30xx {
1262#ifdef __BIG_ENDIAN_BITFIELD
1263                uint64_t reserved_27_63:37;
1264                uint64_t psb2:5;
1265                uint64_t count:1;
1266                uint64_t rif:1;
1267                uint64_t wif:1;
1268                uint64_t ncb:1;
1269                uint64_t out:1;
1270                uint64_t crc:1;
1271                uint64_t chk:1;
1272                uint64_t qsb:2;
1273                uint64_t qcb:2;
1274                uint64_t pdb:4;
1275                uint64_t psb:7;
1276#else
1277                uint64_t psb:7;
1278                uint64_t pdb:4;
1279                uint64_t qcb:2;
1280                uint64_t qsb:2;
1281                uint64_t chk:1;
1282                uint64_t crc:1;
1283                uint64_t out:1;
1284                uint64_t ncb:1;
1285                uint64_t wif:1;
1286                uint64_t rif:1;
1287                uint64_t count:1;
1288                uint64_t psb2:5;
1289                uint64_t reserved_27_63:37;
1290#endif
1291        } cn30xx;
1292        struct cvmx_pko_reg_bist_result_cn50xx {
1293#ifdef __BIG_ENDIAN_BITFIELD
1294                uint64_t reserved_33_63:31;
1295                uint64_t csr:1;
1296                uint64_t iob:1;
1297                uint64_t out_crc:1;
1298                uint64_t out_ctl:3;
1299                uint64_t out_sta:1;
1300                uint64_t out_wif:1;
1301                uint64_t prt_chk:3;
1302                uint64_t prt_nxt:1;
1303                uint64_t prt_psb:6;
1304                uint64_t ncb_inb:2;
1305                uint64_t prt_qcb:2;
1306                uint64_t prt_qsb:3;
1307                uint64_t dat_dat:4;
1308                uint64_t dat_ptr:4;
1309#else
1310                uint64_t dat_ptr:4;
1311                uint64_t dat_dat:4;
1312                uint64_t prt_qsb:3;
1313                uint64_t prt_qcb:2;
1314                uint64_t ncb_inb:2;
1315                uint64_t prt_psb:6;
1316                uint64_t prt_nxt:1;
1317                uint64_t prt_chk:3;
1318                uint64_t out_wif:1;
1319                uint64_t out_sta:1;
1320                uint64_t out_ctl:3;
1321                uint64_t out_crc:1;
1322                uint64_t iob:1;
1323                uint64_t csr:1;
1324                uint64_t reserved_33_63:31;
1325#endif
1326        } cn50xx;
1327        struct cvmx_pko_reg_bist_result_cn52xx {
1328#ifdef __BIG_ENDIAN_BITFIELD
1329                uint64_t reserved_35_63:29;
1330                uint64_t csr:1;
1331                uint64_t iob:1;
1332                uint64_t out_dat:1;
1333                uint64_t out_ctl:3;
1334                uint64_t out_sta:1;
1335                uint64_t out_wif:1;
1336                uint64_t prt_chk:3;
1337                uint64_t prt_nxt:1;
1338                uint64_t prt_psb:8;
1339                uint64_t ncb_inb:2;
1340                uint64_t prt_qcb:2;
1341                uint64_t prt_qsb:3;
1342                uint64_t prt_ctl:2;
1343                uint64_t dat_dat:2;
1344                uint64_t dat_ptr:4;
1345#else
1346                uint64_t dat_ptr:4;
1347                uint64_t dat_dat:2;
1348                uint64_t prt_ctl:2;
1349                uint64_t prt_qsb:3;
1350                uint64_t prt_qcb:2;
1351                uint64_t ncb_inb:2;
1352                uint64_t prt_psb:8;
1353                uint64_t prt_nxt:1;
1354                uint64_t prt_chk:3;
1355                uint64_t out_wif:1;
1356                uint64_t out_sta:1;
1357                uint64_t out_ctl:3;
1358                uint64_t out_dat:1;
1359                uint64_t iob:1;
1360                uint64_t csr:1;
1361                uint64_t reserved_35_63:29;
1362#endif
1363        } cn52xx;
1364        struct cvmx_pko_reg_bist_result_cn68xx {
1365#ifdef __BIG_ENDIAN_BITFIELD
1366                uint64_t reserved_36_63:28;
1367                uint64_t crc:1;
1368                uint64_t csr:1;
1369                uint64_t iob:1;
1370                uint64_t out_dat:1;
1371                uint64_t reserved_31_31:1;
1372                uint64_t out_ctl:2;
1373                uint64_t out_sta:1;
1374                uint64_t out_wif:1;
1375                uint64_t prt_chk:3;
1376                uint64_t prt_nxt:1;
1377                uint64_t prt_psb7:1;
1378                uint64_t reserved_21_21:1;
1379                uint64_t prt_psb:6;
1380                uint64_t ncb_inb:2;
1381                uint64_t prt_qcb:2;
1382                uint64_t prt_qsb:3;
1383                uint64_t prt_ctl:2;
1384                uint64_t dat_dat:2;
1385                uint64_t dat_ptr:4;
1386#else
1387                uint64_t dat_ptr:4;
1388                uint64_t dat_dat:2;
1389                uint64_t prt_ctl:2;
1390                uint64_t prt_qsb:3;
1391                uint64_t prt_qcb:2;
1392                uint64_t ncb_inb:2;
1393                uint64_t prt_psb:6;
1394                uint64_t reserved_21_21:1;
1395                uint64_t prt_psb7:1;
1396                uint64_t prt_nxt:1;
1397                uint64_t prt_chk:3;
1398                uint64_t out_wif:1;
1399                uint64_t out_sta:1;
1400                uint64_t out_ctl:2;
1401                uint64_t reserved_31_31:1;
1402                uint64_t out_dat:1;
1403                uint64_t iob:1;
1404                uint64_t csr:1;
1405                uint64_t crc:1;
1406                uint64_t reserved_36_63:28;
1407#endif
1408        } cn68xx;
1409        struct cvmx_pko_reg_bist_result_cn68xxp1 {
1410#ifdef __BIG_ENDIAN_BITFIELD
1411                uint64_t reserved_35_63:29;
1412                uint64_t csr:1;
1413                uint64_t iob:1;
1414                uint64_t out_dat:1;
1415                uint64_t reserved_31_31:1;
1416                uint64_t out_ctl:2;
1417                uint64_t out_sta:1;
1418                uint64_t out_wif:1;
1419                uint64_t prt_chk:3;
1420                uint64_t prt_nxt:1;
1421                uint64_t prt_psb7:1;
1422                uint64_t reserved_21_21:1;
1423                uint64_t prt_psb:6;
1424                uint64_t ncb_inb:2;
1425                uint64_t prt_qcb:2;
1426                uint64_t prt_qsb:3;
1427                uint64_t prt_ctl:2;
1428                uint64_t dat_dat:2;
1429                uint64_t dat_ptr:4;
1430#else
1431                uint64_t dat_ptr:4;
1432                uint64_t dat_dat:2;
1433                uint64_t prt_ctl:2;
1434                uint64_t prt_qsb:3;
1435                uint64_t prt_qcb:2;
1436                uint64_t ncb_inb:2;
1437                uint64_t prt_psb:6;
1438                uint64_t reserved_21_21:1;
1439                uint64_t prt_psb7:1;
1440                uint64_t prt_nxt:1;
1441                uint64_t prt_chk:3;
1442                uint64_t out_wif:1;
1443                uint64_t out_sta:1;
1444                uint64_t out_ctl:2;
1445                uint64_t reserved_31_31:1;
1446                uint64_t out_dat:1;
1447                uint64_t iob:1;
1448                uint64_t csr:1;
1449                uint64_t reserved_35_63:29;
1450#endif
1451        } cn68xxp1;
1452};
1453
1454union cvmx_pko_reg_cmd_buf {
1455        uint64_t u64;
1456        struct cvmx_pko_reg_cmd_buf_s {
1457#ifdef __BIG_ENDIAN_BITFIELD
1458                uint64_t reserved_23_63:41;
1459                uint64_t pool:3;
1460                uint64_t reserved_13_19:7;
1461                uint64_t size:13;
1462#else
1463                uint64_t size:13;
1464                uint64_t reserved_13_19:7;
1465                uint64_t pool:3;
1466                uint64_t reserved_23_63:41;
1467#endif
1468        } s;
1469};
1470
1471union cvmx_pko_reg_crc_ctlx {
1472        uint64_t u64;
1473        struct cvmx_pko_reg_crc_ctlx_s {
1474#ifdef __BIG_ENDIAN_BITFIELD
1475                uint64_t reserved_2_63:62;
1476                uint64_t invres:1;
1477                uint64_t refin:1;
1478#else
1479                uint64_t refin:1;
1480                uint64_t invres:1;
1481                uint64_t reserved_2_63:62;
1482#endif
1483        } s;
1484};
1485
1486union cvmx_pko_reg_crc_enable {
1487        uint64_t u64;
1488        struct cvmx_pko_reg_crc_enable_s {
1489#ifdef __BIG_ENDIAN_BITFIELD
1490                uint64_t reserved_32_63:32;
1491                uint64_t enable:32;
1492#else
1493                uint64_t enable:32;
1494                uint64_t reserved_32_63:32;
1495#endif
1496        } s;
1497};
1498
1499union cvmx_pko_reg_crc_ivx {
1500        uint64_t u64;
1501        struct cvmx_pko_reg_crc_ivx_s {
1502#ifdef __BIG_ENDIAN_BITFIELD
1503                uint64_t reserved_32_63:32;
1504                uint64_t iv:32;
1505#else
1506                uint64_t iv:32;
1507                uint64_t reserved_32_63:32;
1508#endif
1509        } s;
1510};
1511
1512union cvmx_pko_reg_debug0 {
1513        uint64_t u64;
1514        struct cvmx_pko_reg_debug0_s {
1515#ifdef __BIG_ENDIAN_BITFIELD
1516                uint64_t asserts:64;
1517#else
1518                uint64_t asserts:64;
1519#endif
1520        } s;
1521        struct cvmx_pko_reg_debug0_cn30xx {
1522#ifdef __BIG_ENDIAN_BITFIELD
1523                uint64_t reserved_17_63:47;
1524                uint64_t asserts:17;
1525#else
1526                uint64_t asserts:17;
1527                uint64_t reserved_17_63:47;
1528#endif
1529        } cn30xx;
1530};
1531
1532union cvmx_pko_reg_debug1 {
1533        uint64_t u64;
1534        struct cvmx_pko_reg_debug1_s {
1535#ifdef __BIG_ENDIAN_BITFIELD
1536                uint64_t asserts:64;
1537#else
1538                uint64_t asserts:64;
1539#endif
1540        } s;
1541};
1542
1543union cvmx_pko_reg_debug2 {
1544        uint64_t u64;
1545        struct cvmx_pko_reg_debug2_s {
1546#ifdef __BIG_ENDIAN_BITFIELD
1547                uint64_t asserts:64;
1548#else
1549                uint64_t asserts:64;
1550#endif
1551        } s;
1552};
1553
1554union cvmx_pko_reg_debug3 {
1555        uint64_t u64;
1556        struct cvmx_pko_reg_debug3_s {
1557#ifdef __BIG_ENDIAN_BITFIELD
1558                uint64_t asserts:64;
1559#else
1560                uint64_t asserts:64;
1561#endif
1562        } s;
1563};
1564
1565union cvmx_pko_reg_debug4 {
1566        uint64_t u64;
1567        struct cvmx_pko_reg_debug4_s {
1568#ifdef __BIG_ENDIAN_BITFIELD
1569                uint64_t asserts:64;
1570#else
1571                uint64_t asserts:64;
1572#endif
1573        } s;
1574};
1575
1576union cvmx_pko_reg_engine_inflight {
1577        uint64_t u64;
1578        struct cvmx_pko_reg_engine_inflight_s {
1579#ifdef __BIG_ENDIAN_BITFIELD
1580                uint64_t engine15:4;
1581                uint64_t engine14:4;
1582                uint64_t engine13:4;
1583                uint64_t engine12:4;
1584                uint64_t engine11:4;
1585                uint64_t engine10:4;
1586                uint64_t engine9:4;
1587                uint64_t engine8:4;
1588                uint64_t engine7:4;
1589                uint64_t engine6:4;
1590                uint64_t engine5:4;
1591                uint64_t engine4:4;
1592                uint64_t engine3:4;
1593                uint64_t engine2:4;
1594                uint64_t engine1:4;
1595                uint64_t engine0:4;
1596#else
1597                uint64_t engine0:4;
1598                uint64_t engine1:4;
1599                uint64_t engine2:4;
1600                uint64_t engine3:4;
1601                uint64_t engine4:4;
1602                uint64_t engine5:4;
1603                uint64_t engine6:4;
1604                uint64_t engine7:4;
1605                uint64_t engine8:4;
1606                uint64_t engine9:4;
1607                uint64_t engine10:4;
1608                uint64_t engine11:4;
1609                uint64_t engine12:4;
1610                uint64_t engine13:4;
1611                uint64_t engine14:4;
1612                uint64_t engine15:4;
1613#endif
1614        } s;
1615        struct cvmx_pko_reg_engine_inflight_cn52xx {
1616#ifdef __BIG_ENDIAN_BITFIELD
1617                uint64_t reserved_40_63:24;
1618                uint64_t engine9:4;
1619                uint64_t engine8:4;
1620                uint64_t engine7:4;
1621                uint64_t engine6:4;
1622                uint64_t engine5:4;
1623                uint64_t engine4:4;
1624                uint64_t engine3:4;
1625                uint64_t engine2:4;
1626                uint64_t engine1:4;
1627                uint64_t engine0:4;
1628#else
1629                uint64_t engine0:4;
1630                uint64_t engine1:4;
1631                uint64_t engine2:4;
1632                uint64_t engine3:4;
1633                uint64_t engine4:4;
1634                uint64_t engine5:4;
1635                uint64_t engine6:4;
1636                uint64_t engine7:4;
1637                uint64_t engine8:4;
1638                uint64_t engine9:4;
1639                uint64_t reserved_40_63:24;
1640#endif
1641        } cn52xx;
1642        struct cvmx_pko_reg_engine_inflight_cn61xx {
1643#ifdef __BIG_ENDIAN_BITFIELD
1644                uint64_t reserved_56_63:8;
1645                uint64_t engine13:4;
1646                uint64_t engine12:4;
1647                uint64_t engine11:4;
1648                uint64_t engine10:4;
1649                uint64_t engine9:4;
1650                uint64_t engine8:4;
1651                uint64_t engine7:4;
1652                uint64_t engine6:4;
1653                uint64_t engine5:4;
1654                uint64_t engine4:4;
1655                uint64_t engine3:4;
1656                uint64_t engine2:4;
1657                uint64_t engine1:4;
1658                uint64_t engine0:4;
1659#else
1660                uint64_t engine0:4;
1661                uint64_t engine1:4;
1662                uint64_t engine2:4;
1663                uint64_t engine3:4;
1664                uint64_t engine4:4;
1665                uint64_t engine5:4;
1666                uint64_t engine6:4;
1667                uint64_t engine7:4;
1668                uint64_t engine8:4;
1669                uint64_t engine9:4;
1670                uint64_t engine10:4;
1671                uint64_t engine11:4;
1672                uint64_t engine12:4;
1673                uint64_t engine13:4;
1674                uint64_t reserved_56_63:8;
1675#endif
1676        } cn61xx;
1677        struct cvmx_pko_reg_engine_inflight_cn63xx {
1678#ifdef __BIG_ENDIAN_BITFIELD
1679                uint64_t reserved_48_63:16;
1680                uint64_t engine11:4;
1681                uint64_t engine10:4;
1682                uint64_t engine9:4;
1683                uint64_t engine8:4;
1684                uint64_t engine7:4;
1685                uint64_t engine6:4;
1686                uint64_t engine5:4;
1687                uint64_t engine4:4;
1688                uint64_t engine3:4;
1689                uint64_t engine2:4;
1690                uint64_t engine1:4;
1691                uint64_t engine0:4;
1692#else
1693                uint64_t engine0:4;
1694                uint64_t engine1:4;
1695                uint64_t engine2:4;
1696                uint64_t engine3:4;
1697                uint64_t engine4:4;
1698                uint64_t engine5:4;
1699                uint64_t engine6:4;
1700                uint64_t engine7:4;
1701                uint64_t engine8:4;
1702                uint64_t engine9:4;
1703                uint64_t engine10:4;
1704                uint64_t engine11:4;
1705                uint64_t reserved_48_63:16;
1706#endif
1707        } cn63xx;
1708};
1709
1710union cvmx_pko_reg_engine_inflight1 {
1711        uint64_t u64;
1712        struct cvmx_pko_reg_engine_inflight1_s {
1713#ifdef __BIG_ENDIAN_BITFIELD
1714                uint64_t reserved_16_63:48;
1715                uint64_t engine19:4;
1716                uint64_t engine18:4;
1717                uint64_t engine17:4;
1718                uint64_t engine16:4;
1719#else
1720                uint64_t engine16:4;
1721                uint64_t engine17:4;
1722                uint64_t engine18:4;
1723                uint64_t engine19:4;
1724                uint64_t reserved_16_63:48;
1725#endif
1726        } s;
1727};
1728
1729union cvmx_pko_reg_engine_storagex {
1730        uint64_t u64;
1731        struct cvmx_pko_reg_engine_storagex_s {
1732#ifdef __BIG_ENDIAN_BITFIELD
1733                uint64_t engine15:4;
1734                uint64_t engine14:4;
1735                uint64_t engine13:4;
1736                uint64_t engine12:4;
1737                uint64_t engine11:4;
1738                uint64_t engine10:4;
1739                uint64_t engine9:4;
1740                uint64_t engine8:4;
1741                uint64_t engine7:4;
1742                uint64_t engine6:4;
1743                uint64_t engine5:4;
1744                uint64_t engine4:4;
1745                uint64_t engine3:4;
1746                uint64_t engine2:4;
1747                uint64_t engine1:4;
1748                uint64_t engine0:4;
1749#else
1750                uint64_t engine0:4;
1751                uint64_t engine1:4;
1752                uint64_t engine2:4;
1753                uint64_t engine3:4;
1754                uint64_t engine4:4;
1755                uint64_t engine5:4;
1756                uint64_t engine6:4;
1757                uint64_t engine7:4;
1758                uint64_t engine8:4;
1759                uint64_t engine9:4;
1760                uint64_t engine10:4;
1761                uint64_t engine11:4;
1762                uint64_t engine12:4;
1763                uint64_t engine13:4;
1764                uint64_t engine14:4;
1765                uint64_t engine15:4;
1766#endif
1767        } s;
1768};
1769
1770union cvmx_pko_reg_engine_thresh {
1771        uint64_t u64;
1772        struct cvmx_pko_reg_engine_thresh_s {
1773#ifdef __BIG_ENDIAN_BITFIELD
1774                uint64_t reserved_20_63:44;
1775                uint64_t mask:20;
1776#else
1777                uint64_t mask:20;
1778                uint64_t reserved_20_63:44;
1779#endif
1780        } s;
1781        struct cvmx_pko_reg_engine_thresh_cn52xx {
1782#ifdef __BIG_ENDIAN_BITFIELD
1783                uint64_t reserved_10_63:54;
1784                uint64_t mask:10;
1785#else
1786                uint64_t mask:10;
1787                uint64_t reserved_10_63:54;
1788#endif
1789        } cn52xx;
1790        struct cvmx_pko_reg_engine_thresh_cn61xx {
1791#ifdef __BIG_ENDIAN_BITFIELD
1792                uint64_t reserved_14_63:50;
1793                uint64_t mask:14;
1794#else
1795                uint64_t mask:14;
1796                uint64_t reserved_14_63:50;
1797#endif
1798        } cn61xx;
1799        struct cvmx_pko_reg_engine_thresh_cn63xx {
1800#ifdef __BIG_ENDIAN_BITFIELD
1801                uint64_t reserved_12_63:52;
1802                uint64_t mask:12;
1803#else
1804                uint64_t mask:12;
1805                uint64_t reserved_12_63:52;
1806#endif
1807        } cn63xx;
1808};
1809
1810union cvmx_pko_reg_error {
1811        uint64_t u64;
1812        struct cvmx_pko_reg_error_s {
1813#ifdef __BIG_ENDIAN_BITFIELD
1814                uint64_t reserved_4_63:60;
1815                uint64_t loopback:1;
1816                uint64_t currzero:1;
1817                uint64_t doorbell:1;
1818                uint64_t parity:1;
1819#else
1820                uint64_t parity:1;
1821                uint64_t doorbell:1;
1822                uint64_t currzero:1;
1823                uint64_t loopback:1;
1824                uint64_t reserved_4_63:60;
1825#endif
1826        } s;
1827        struct cvmx_pko_reg_error_cn30xx {
1828#ifdef __BIG_ENDIAN_BITFIELD
1829                uint64_t reserved_2_63:62;
1830                uint64_t doorbell:1;
1831                uint64_t parity:1;
1832#else
1833                uint64_t parity:1;
1834                uint64_t doorbell:1;
1835                uint64_t reserved_2_63:62;
1836#endif
1837        } cn30xx;
1838        struct cvmx_pko_reg_error_cn50xx {
1839#ifdef __BIG_ENDIAN_BITFIELD
1840                uint64_t reserved_3_63:61;
1841                uint64_t currzero:1;
1842                uint64_t doorbell:1;
1843                uint64_t parity:1;
1844#else
1845                uint64_t parity:1;
1846                uint64_t doorbell:1;
1847                uint64_t currzero:1;
1848                uint64_t reserved_3_63:61;
1849#endif
1850        } cn50xx;
1851};
1852
1853union cvmx_pko_reg_flags {
1854        uint64_t u64;
1855        struct cvmx_pko_reg_flags_s {
1856#ifdef __BIG_ENDIAN_BITFIELD
1857                uint64_t reserved_9_63:55;
1858                uint64_t dis_perf3:1;
1859                uint64_t dis_perf2:1;
1860                uint64_t dis_perf1:1;
1861                uint64_t dis_perf0:1;
1862                uint64_t ena_throttle:1;
1863                uint64_t reset:1;
1864                uint64_t store_be:1;
1865                uint64_t ena_dwb:1;
1866                uint64_t ena_pko:1;
1867#else
1868                uint64_t ena_pko:1;
1869                uint64_t ena_dwb:1;
1870                uint64_t store_be:1;
1871                uint64_t reset:1;
1872                uint64_t ena_throttle:1;
1873                uint64_t dis_perf0:1;
1874                uint64_t dis_perf1:1;
1875                uint64_t dis_perf2:1;
1876                uint64_t dis_perf3:1;
1877                uint64_t reserved_9_63:55;
1878#endif
1879        } s;
1880        struct cvmx_pko_reg_flags_cn30xx {
1881#ifdef __BIG_ENDIAN_BITFIELD
1882                uint64_t reserved_4_63:60;
1883                uint64_t reset:1;
1884                uint64_t store_be:1;
1885                uint64_t ena_dwb:1;
1886                uint64_t ena_pko:1;
1887#else
1888                uint64_t ena_pko:1;
1889                uint64_t ena_dwb:1;
1890                uint64_t store_be:1;
1891                uint64_t reset:1;
1892                uint64_t reserved_4_63:60;
1893#endif
1894        } cn30xx;
1895        struct cvmx_pko_reg_flags_cn61xx {
1896#ifdef __BIG_ENDIAN_BITFIELD
1897                uint64_t reserved_9_63:55;
1898                uint64_t dis_perf3:1;
1899                uint64_t dis_perf2:1;
1900                uint64_t reserved_4_6:3;
1901                uint64_t reset:1;
1902                uint64_t store_be:1;
1903                uint64_t ena_dwb:1;
1904                uint64_t ena_pko:1;
1905#else
1906                uint64_t ena_pko:1;
1907                uint64_t ena_dwb:1;
1908                uint64_t store_be:1;
1909                uint64_t reset:1;
1910                uint64_t reserved_4_6:3;
1911                uint64_t dis_perf2:1;
1912                uint64_t dis_perf3:1;
1913                uint64_t reserved_9_63:55;
1914#endif
1915        } cn61xx;
1916        struct cvmx_pko_reg_flags_cn68xxp1 {
1917#ifdef __BIG_ENDIAN_BITFIELD
1918                uint64_t reserved_7_63:57;
1919                uint64_t dis_perf1:1;
1920                uint64_t dis_perf0:1;
1921                uint64_t ena_throttle:1;
1922                uint64_t reset:1;
1923                uint64_t store_be:1;
1924                uint64_t ena_dwb:1;
1925                uint64_t ena_pko:1;
1926#else
1927                uint64_t ena_pko:1;
1928                uint64_t ena_dwb:1;
1929                uint64_t store_be:1;
1930                uint64_t reset:1;
1931                uint64_t ena_throttle:1;
1932                uint64_t dis_perf0:1;
1933                uint64_t dis_perf1:1;
1934                uint64_t reserved_7_63:57;
1935#endif
1936        } cn68xxp1;
1937};
1938
1939union cvmx_pko_reg_gmx_port_mode {
1940        uint64_t u64;
1941        struct cvmx_pko_reg_gmx_port_mode_s {
1942#ifdef __BIG_ENDIAN_BITFIELD
1943                uint64_t reserved_6_63:58;
1944                uint64_t mode1:3;
1945                uint64_t mode0:3;
1946#else
1947                uint64_t mode0:3;
1948                uint64_t mode1:3;
1949                uint64_t reserved_6_63:58;
1950#endif
1951        } s;
1952};
1953
1954union cvmx_pko_reg_int_mask {
1955        uint64_t u64;
1956        struct cvmx_pko_reg_int_mask_s {
1957#ifdef __BIG_ENDIAN_BITFIELD
1958                uint64_t reserved_4_63:60;
1959                uint64_t loopback:1;
1960                uint64_t currzero:1;
1961                uint64_t doorbell:1;
1962                uint64_t parity:1;
1963#else
1964                uint64_t parity:1;
1965                uint64_t doorbell:1;
1966                uint64_t currzero:1;
1967                uint64_t loopback:1;
1968                uint64_t reserved_4_63:60;
1969#endif
1970        } s;
1971        struct cvmx_pko_reg_int_mask_cn30xx {
1972#ifdef __BIG_ENDIAN_BITFIELD
1973                uint64_t reserved_2_63:62;
1974                uint64_t doorbell:1;
1975                uint64_t parity:1;
1976#else
1977                uint64_t parity:1;
1978                uint64_t doorbell:1;
1979                uint64_t reserved_2_63:62;
1980#endif
1981        } cn30xx;
1982        struct cvmx_pko_reg_int_mask_cn50xx {
1983#ifdef __BIG_ENDIAN_BITFIELD
1984                uint64_t reserved_3_63:61;
1985                uint64_t currzero:1;
1986                uint64_t doorbell:1;
1987                uint64_t parity:1;
1988#else
1989                uint64_t parity:1;
1990                uint64_t doorbell:1;
1991                uint64_t currzero:1;
1992                uint64_t reserved_3_63:61;
1993#endif
1994        } cn50xx;
1995};
1996
1997union cvmx_pko_reg_loopback_bpid {
1998        uint64_t u64;
1999        struct cvmx_pko_reg_loopback_bpid_s {
2000#ifdef __BIG_ENDIAN_BITFIELD
2001                uint64_t reserved_59_63:5;
2002                uint64_t bpid7:6;
2003                uint64_t reserved_52_52:1;
2004                uint64_t bpid6:6;
2005                uint64_t reserved_45_45:1;
2006                uint64_t bpid5:6;
2007                uint64_t reserved_38_38:1;
2008                uint64_t bpid4:6;
2009                uint64_t reserved_31_31:1;
2010                uint64_t bpid3:6;
2011                uint64_t reserved_24_24:1;
2012                uint64_t bpid2:6;
2013                uint64_t reserved_17_17:1;
2014                uint64_t bpid1:6;
2015                uint64_t reserved_10_10:1;
2016                uint64_t bpid0:6;
2017                uint64_t reserved_0_3:4;
2018#else
2019                uint64_t reserved_0_3:4;
2020                uint64_t bpid0:6;
2021                uint64_t reserved_10_10:1;
2022                uint64_t bpid1:6;
2023                uint64_t reserved_17_17:1;
2024                uint64_t bpid2:6;
2025                uint64_t reserved_24_24:1;
2026                uint64_t bpid3:6;
2027                uint64_t reserved_31_31:1;
2028                uint64_t bpid4:6;
2029                uint64_t reserved_38_38:1;
2030                uint64_t bpid5:6;
2031                uint64_t reserved_45_45:1;
2032                uint64_t bpid6:6;
2033                uint64_t reserved_52_52:1;
2034                uint64_t bpid7:6;
2035                uint64_t reserved_59_63:5;
2036#endif
2037        } s;
2038};
2039
2040union cvmx_pko_reg_loopback_pkind {
2041        uint64_t u64;
2042        struct cvmx_pko_reg_loopback_pkind_s {
2043#ifdef __BIG_ENDIAN_BITFIELD
2044                uint64_t reserved_59_63:5;
2045                uint64_t pkind7:6;
2046                uint64_t reserved_52_52:1;
2047                uint64_t pkind6:6;
2048                uint64_t reserved_45_45:1;
2049                uint64_t pkind5:6;
2050                uint64_t reserved_38_38:1;
2051                uint64_t pkind4:6;
2052                uint64_t reserved_31_31:1;
2053                uint64_t pkind3:6;
2054                uint64_t reserved_24_24:1;
2055                uint64_t pkind2:6;
2056                uint64_t reserved_17_17:1;
2057                uint64_t pkind1:6;
2058                uint64_t reserved_10_10:1;
2059                uint64_t pkind0:6;
2060                uint64_t num_ports:4;
2061#else
2062                uint64_t num_ports:4;
2063                uint64_t pkind0:6;
2064                uint64_t reserved_10_10:1;
2065                uint64_t pkind1:6;
2066                uint64_t reserved_17_17:1;
2067                uint64_t pkind2:6;
2068                uint64_t reserved_24_24:1;
2069                uint64_t pkind3:6;
2070                uint64_t reserved_31_31:1;
2071                uint64_t pkind4:6;
2072                uint64_t reserved_38_38:1;
2073                uint64_t pkind5:6;
2074                uint64_t reserved_45_45:1;
2075                uint64_t pkind6:6;
2076                uint64_t reserved_52_52:1;
2077                uint64_t pkind7:6;
2078                uint64_t reserved_59_63:5;
2079#endif
2080        } s;
2081};
2082
2083union cvmx_pko_reg_min_pkt {
2084        uint64_t u64;
2085        struct cvmx_pko_reg_min_pkt_s {
2086#ifdef __BIG_ENDIAN_BITFIELD
2087                uint64_t size7:8;
2088                uint64_t size6:8;
2089                uint64_t size5:8;
2090                uint64_t size4:8;
2091                uint64_t size3:8;
2092                uint64_t size2:8;
2093                uint64_t size1:8;
2094                uint64_t size0:8;
2095#else
2096                uint64_t size0:8;
2097                uint64_t size1:8;
2098                uint64_t size2:8;
2099                uint64_t size3:8;
2100                uint64_t size4:8;
2101                uint64_t size5:8;
2102                uint64_t size6:8;
2103                uint64_t size7:8;
2104#endif
2105        } s;
2106};
2107
2108union cvmx_pko_reg_preempt {
2109        uint64_t u64;
2110        struct cvmx_pko_reg_preempt_s {
2111#ifdef __BIG_ENDIAN_BITFIELD
2112                uint64_t reserved_16_63:48;
2113                uint64_t min_size:16;
2114#else
2115                uint64_t min_size:16;
2116                uint64_t reserved_16_63:48;
2117#endif
2118        } s;
2119};
2120
2121union cvmx_pko_reg_queue_mode {
2122        uint64_t u64;
2123        struct cvmx_pko_reg_queue_mode_s {
2124#ifdef __BIG_ENDIAN_BITFIELD
2125                uint64_t reserved_2_63:62;
2126                uint64_t mode:2;
2127#else
2128                uint64_t mode:2;
2129                uint64_t reserved_2_63:62;
2130#endif
2131        } s;
2132};
2133
2134union cvmx_pko_reg_queue_preempt {
2135        uint64_t u64;
2136        struct cvmx_pko_reg_queue_preempt_s {
2137#ifdef __BIG_ENDIAN_BITFIELD
2138                uint64_t reserved_2_63:62;
2139                uint64_t preemptee:1;
2140                uint64_t preempter:1;
2141#else
2142                uint64_t preempter:1;
2143                uint64_t preemptee:1;
2144                uint64_t reserved_2_63:62;
2145#endif
2146        } s;
2147};
2148
2149union cvmx_pko_reg_queue_ptrs1 {
2150        uint64_t u64;
2151        struct cvmx_pko_reg_queue_ptrs1_s {
2152#ifdef __BIG_ENDIAN_BITFIELD
2153                uint64_t reserved_2_63:62;
2154                uint64_t idx3:1;
2155                uint64_t qid7:1;
2156#else
2157                uint64_t qid7:1;
2158                uint64_t idx3:1;
2159                uint64_t reserved_2_63:62;
2160#endif
2161        } s;
2162};
2163
2164union cvmx_pko_reg_read_idx {
2165        uint64_t u64;
2166        struct cvmx_pko_reg_read_idx_s {
2167#ifdef __BIG_ENDIAN_BITFIELD
2168                uint64_t reserved_16_63:48;
2169                uint64_t inc:8;
2170                uint64_t index:8;
2171#else
2172                uint64_t index:8;
2173                uint64_t inc:8;
2174                uint64_t reserved_16_63:48;
2175#endif
2176        } s;
2177};
2178
2179union cvmx_pko_reg_throttle {
2180        uint64_t u64;
2181        struct cvmx_pko_reg_throttle_s {
2182#ifdef __BIG_ENDIAN_BITFIELD
2183                uint64_t reserved_32_63:32;
2184                uint64_t int_mask:32;
2185#else
2186                uint64_t int_mask:32;
2187                uint64_t reserved_32_63:32;
2188#endif
2189        } s;
2190};
2191
2192union cvmx_pko_reg_timestamp {
2193        uint64_t u64;
2194        struct cvmx_pko_reg_timestamp_s {
2195#ifdef __BIG_ENDIAN_BITFIELD
2196                uint64_t reserved_4_63:60;
2197                uint64_t wqe_word:4;
2198#else
2199                uint64_t wqe_word:4;
2200                uint64_t reserved_4_63:60;
2201#endif
2202        } s;
2203};
2204
2205#endif
2206