linux/drivers/staging/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-2008 Cavium Networks
   8 *
   9 * This file is free software; you can redistribute it and/or modify
  10 * it under the terms of the GNU General Public License, Version 2, as
  11 * published by the Free Software Foundation.
  12 *
  13 * This file is distributed in the hope that it will be useful, but
  14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
  15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
  16 * NONINFRINGEMENT.  See the GNU General Public License for more
  17 * details.
  18 *
  19 * You should have received a copy of the GNU General Public License
  20 * along with this file; if not, write to the Free Software
  21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  22 * or visit http://www.gnu.org/licenses/.
  23 *
  24 * This file may also be available under a different license from Cavium.
  25 * Contact Cavium Networks for more information
  26 ***********************license end**************************************/
  27
  28#ifndef __CVMX_PKO_DEFS_H__
  29#define __CVMX_PKO_DEFS_H__
  30
  31#define CVMX_PKO_MEM_COUNT0 \
  32         CVMX_ADD_IO_SEG(0x0001180050001080ull)
  33#define CVMX_PKO_MEM_COUNT1 \
  34         CVMX_ADD_IO_SEG(0x0001180050001088ull)
  35#define CVMX_PKO_MEM_DEBUG0 \
  36         CVMX_ADD_IO_SEG(0x0001180050001100ull)
  37#define CVMX_PKO_MEM_DEBUG1 \
  38         CVMX_ADD_IO_SEG(0x0001180050001108ull)
  39#define CVMX_PKO_MEM_DEBUG10 \
  40         CVMX_ADD_IO_SEG(0x0001180050001150ull)
  41#define CVMX_PKO_MEM_DEBUG11 \
  42         CVMX_ADD_IO_SEG(0x0001180050001158ull)
  43#define CVMX_PKO_MEM_DEBUG12 \
  44         CVMX_ADD_IO_SEG(0x0001180050001160ull)
  45#define CVMX_PKO_MEM_DEBUG13 \
  46         CVMX_ADD_IO_SEG(0x0001180050001168ull)
  47#define CVMX_PKO_MEM_DEBUG14 \
  48         CVMX_ADD_IO_SEG(0x0001180050001170ull)
  49#define CVMX_PKO_MEM_DEBUG2 \
  50         CVMX_ADD_IO_SEG(0x0001180050001110ull)
  51#define CVMX_PKO_MEM_DEBUG3 \
  52         CVMX_ADD_IO_SEG(0x0001180050001118ull)
  53#define CVMX_PKO_MEM_DEBUG4 \
  54         CVMX_ADD_IO_SEG(0x0001180050001120ull)
  55#define CVMX_PKO_MEM_DEBUG5 \
  56         CVMX_ADD_IO_SEG(0x0001180050001128ull)
  57#define CVMX_PKO_MEM_DEBUG6 \
  58         CVMX_ADD_IO_SEG(0x0001180050001130ull)
  59#define CVMX_PKO_MEM_DEBUG7 \
  60         CVMX_ADD_IO_SEG(0x0001180050001138ull)
  61#define CVMX_PKO_MEM_DEBUG8 \
  62         CVMX_ADD_IO_SEG(0x0001180050001140ull)
  63#define CVMX_PKO_MEM_DEBUG9 \
  64         CVMX_ADD_IO_SEG(0x0001180050001148ull)
  65#define CVMX_PKO_MEM_PORT_PTRS \
  66         CVMX_ADD_IO_SEG(0x0001180050001010ull)
  67#define CVMX_PKO_MEM_PORT_QOS \
  68         CVMX_ADD_IO_SEG(0x0001180050001018ull)
  69#define CVMX_PKO_MEM_PORT_RATE0 \
  70         CVMX_ADD_IO_SEG(0x0001180050001020ull)
  71#define CVMX_PKO_MEM_PORT_RATE1 \
  72         CVMX_ADD_IO_SEG(0x0001180050001028ull)
  73#define CVMX_PKO_MEM_QUEUE_PTRS \
  74         CVMX_ADD_IO_SEG(0x0001180050001000ull)
  75#define CVMX_PKO_MEM_QUEUE_QOS \
  76         CVMX_ADD_IO_SEG(0x0001180050001008ull)
  77#define CVMX_PKO_REG_BIST_RESULT \
  78         CVMX_ADD_IO_SEG(0x0001180050000080ull)
  79#define CVMX_PKO_REG_CMD_BUF \
  80         CVMX_ADD_IO_SEG(0x0001180050000010ull)
  81#define CVMX_PKO_REG_CRC_CTLX(offset) \
  82         CVMX_ADD_IO_SEG(0x0001180050000028ull + (((offset) & 1) * 8))
  83#define CVMX_PKO_REG_CRC_ENABLE \
  84         CVMX_ADD_IO_SEG(0x0001180050000020ull)
  85#define CVMX_PKO_REG_CRC_IVX(offset) \
  86         CVMX_ADD_IO_SEG(0x0001180050000038ull + (((offset) & 1) * 8))
  87#define CVMX_PKO_REG_DEBUG0 \
  88         CVMX_ADD_IO_SEG(0x0001180050000098ull)
  89#define CVMX_PKO_REG_DEBUG1 \
  90         CVMX_ADD_IO_SEG(0x00011800500000A0ull)
  91#define CVMX_PKO_REG_DEBUG2 \
  92         CVMX_ADD_IO_SEG(0x00011800500000A8ull)
  93#define CVMX_PKO_REG_DEBUG3 \
  94         CVMX_ADD_IO_SEG(0x00011800500000B0ull)
  95#define CVMX_PKO_REG_ENGINE_INFLIGHT \
  96         CVMX_ADD_IO_SEG(0x0001180050000050ull)
  97#define CVMX_PKO_REG_ENGINE_THRESH \
  98         CVMX_ADD_IO_SEG(0x0001180050000058ull)
  99#define CVMX_PKO_REG_ERROR \
 100         CVMX_ADD_IO_SEG(0x0001180050000088ull)
 101#define CVMX_PKO_REG_FLAGS \
 102         CVMX_ADD_IO_SEG(0x0001180050000000ull)
 103#define CVMX_PKO_REG_GMX_PORT_MODE \
 104         CVMX_ADD_IO_SEG(0x0001180050000018ull)
 105#define CVMX_PKO_REG_INT_MASK \
 106         CVMX_ADD_IO_SEG(0x0001180050000090ull)
 107#define CVMX_PKO_REG_QUEUE_MODE \
 108         CVMX_ADD_IO_SEG(0x0001180050000048ull)
 109#define CVMX_PKO_REG_QUEUE_PTRS1 \
 110         CVMX_ADD_IO_SEG(0x0001180050000100ull)
 111#define CVMX_PKO_REG_READ_IDX \
 112         CVMX_ADD_IO_SEG(0x0001180050000008ull)
 113
 114union cvmx_pko_mem_count0 {
 115        uint64_t u64;
 116        struct cvmx_pko_mem_count0_s {
 117                uint64_t reserved_32_63:32;
 118                uint64_t count:32;
 119        } s;
 120        struct cvmx_pko_mem_count0_s cn30xx;
 121        struct cvmx_pko_mem_count0_s cn31xx;
 122        struct cvmx_pko_mem_count0_s cn38xx;
 123        struct cvmx_pko_mem_count0_s cn38xxp2;
 124        struct cvmx_pko_mem_count0_s cn50xx;
 125        struct cvmx_pko_mem_count0_s cn52xx;
 126        struct cvmx_pko_mem_count0_s cn52xxp1;
 127        struct cvmx_pko_mem_count0_s cn56xx;
 128        struct cvmx_pko_mem_count0_s cn56xxp1;
 129        struct cvmx_pko_mem_count0_s cn58xx;
 130        struct cvmx_pko_mem_count0_s cn58xxp1;
 131};
 132
 133union cvmx_pko_mem_count1 {
 134        uint64_t u64;
 135        struct cvmx_pko_mem_count1_s {
 136                uint64_t reserved_48_63:16;
 137                uint64_t count:48;
 138        } s;
 139        struct cvmx_pko_mem_count1_s cn30xx;
 140        struct cvmx_pko_mem_count1_s cn31xx;
 141        struct cvmx_pko_mem_count1_s cn38xx;
 142        struct cvmx_pko_mem_count1_s cn38xxp2;
 143        struct cvmx_pko_mem_count1_s cn50xx;
 144        struct cvmx_pko_mem_count1_s cn52xx;
 145        struct cvmx_pko_mem_count1_s cn52xxp1;
 146        struct cvmx_pko_mem_count1_s cn56xx;
 147        struct cvmx_pko_mem_count1_s cn56xxp1;
 148        struct cvmx_pko_mem_count1_s cn58xx;
 149        struct cvmx_pko_mem_count1_s cn58xxp1;
 150};
 151
 152union cvmx_pko_mem_debug0 {
 153        uint64_t u64;
 154        struct cvmx_pko_mem_debug0_s {
 155                uint64_t fau:28;
 156                uint64_t cmd:14;
 157                uint64_t segs:6;
 158                uint64_t size:16;
 159        } s;
 160        struct cvmx_pko_mem_debug0_s cn30xx;
 161        struct cvmx_pko_mem_debug0_s cn31xx;
 162        struct cvmx_pko_mem_debug0_s cn38xx;
 163        struct cvmx_pko_mem_debug0_s cn38xxp2;
 164        struct cvmx_pko_mem_debug0_s cn50xx;
 165        struct cvmx_pko_mem_debug0_s cn52xx;
 166        struct cvmx_pko_mem_debug0_s cn52xxp1;
 167        struct cvmx_pko_mem_debug0_s cn56xx;
 168        struct cvmx_pko_mem_debug0_s cn56xxp1;
 169        struct cvmx_pko_mem_debug0_s cn58xx;
 170        struct cvmx_pko_mem_debug0_s cn58xxp1;
 171};
 172
 173union cvmx_pko_mem_debug1 {
 174        uint64_t u64;
 175        struct cvmx_pko_mem_debug1_s {
 176                uint64_t i:1;
 177                uint64_t back:4;
 178                uint64_t pool:3;
 179                uint64_t size:16;
 180                uint64_t ptr:40;
 181        } s;
 182        struct cvmx_pko_mem_debug1_s cn30xx;
 183        struct cvmx_pko_mem_debug1_s cn31xx;
 184        struct cvmx_pko_mem_debug1_s cn38xx;
 185        struct cvmx_pko_mem_debug1_s cn38xxp2;
 186        struct cvmx_pko_mem_debug1_s cn50xx;
 187        struct cvmx_pko_mem_debug1_s cn52xx;
 188        struct cvmx_pko_mem_debug1_s cn52xxp1;
 189        struct cvmx_pko_mem_debug1_s cn56xx;
 190        struct cvmx_pko_mem_debug1_s cn56xxp1;
 191        struct cvmx_pko_mem_debug1_s cn58xx;
 192        struct cvmx_pko_mem_debug1_s cn58xxp1;
 193};
 194
 195union cvmx_pko_mem_debug10 {
 196        uint64_t u64;
 197        struct cvmx_pko_mem_debug10_s {
 198                uint64_t reserved_0_63:64;
 199        } s;
 200        struct cvmx_pko_mem_debug10_cn30xx {
 201                uint64_t fau:28;
 202                uint64_t cmd:14;
 203                uint64_t segs:6;
 204                uint64_t size:16;
 205        } cn30xx;
 206        struct cvmx_pko_mem_debug10_cn30xx cn31xx;
 207        struct cvmx_pko_mem_debug10_cn30xx cn38xx;
 208        struct cvmx_pko_mem_debug10_cn30xx cn38xxp2;
 209        struct cvmx_pko_mem_debug10_cn50xx {
 210                uint64_t reserved_49_63:15;
 211                uint64_t ptrs1:17;
 212                uint64_t reserved_17_31:15;
 213                uint64_t ptrs2:17;
 214        } cn50xx;
 215        struct cvmx_pko_mem_debug10_cn50xx cn52xx;
 216        struct cvmx_pko_mem_debug10_cn50xx cn52xxp1;
 217        struct cvmx_pko_mem_debug10_cn50xx cn56xx;
 218        struct cvmx_pko_mem_debug10_cn50xx cn56xxp1;
 219        struct cvmx_pko_mem_debug10_cn50xx cn58xx;
 220        struct cvmx_pko_mem_debug10_cn50xx cn58xxp1;
 221};
 222
 223union cvmx_pko_mem_debug11 {
 224        uint64_t u64;
 225        struct cvmx_pko_mem_debug11_s {
 226                uint64_t i:1;
 227                uint64_t back:4;
 228                uint64_t pool:3;
 229                uint64_t size:16;
 230                uint64_t reserved_0_39:40;
 231        } s;
 232        struct cvmx_pko_mem_debug11_cn30xx {
 233                uint64_t i:1;
 234                uint64_t back:4;
 235                uint64_t pool:3;
 236                uint64_t size:16;
 237                uint64_t ptr:40;
 238        } cn30xx;
 239        struct cvmx_pko_mem_debug11_cn30xx cn31xx;
 240        struct cvmx_pko_mem_debug11_cn30xx cn38xx;
 241        struct cvmx_pko_mem_debug11_cn30xx cn38xxp2;
 242        struct cvmx_pko_mem_debug11_cn50xx {
 243                uint64_t reserved_23_63:41;
 244                uint64_t maj:1;
 245                uint64_t uid:3;
 246                uint64_t sop:1;
 247                uint64_t len:1;
 248                uint64_t chk:1;
 249                uint64_t cnt:13;
 250                uint64_t mod:3;
 251        } cn50xx;
 252        struct cvmx_pko_mem_debug11_cn50xx cn52xx;
 253        struct cvmx_pko_mem_debug11_cn50xx cn52xxp1;
 254        struct cvmx_pko_mem_debug11_cn50xx cn56xx;
 255        struct cvmx_pko_mem_debug11_cn50xx cn56xxp1;
 256        struct cvmx_pko_mem_debug11_cn50xx cn58xx;
 257        struct cvmx_pko_mem_debug11_cn50xx cn58xxp1;
 258};
 259
 260union cvmx_pko_mem_debug12 {
 261        uint64_t u64;
 262        struct cvmx_pko_mem_debug12_s {
 263                uint64_t reserved_0_63:64;
 264        } s;
 265        struct cvmx_pko_mem_debug12_cn30xx {
 266                uint64_t data:64;
 267        } cn30xx;
 268        struct cvmx_pko_mem_debug12_cn30xx cn31xx;
 269        struct cvmx_pko_mem_debug12_cn30xx cn38xx;
 270        struct cvmx_pko_mem_debug12_cn30xx cn38xxp2;
 271        struct cvmx_pko_mem_debug12_cn50xx {
 272                uint64_t fau:28;
 273                uint64_t cmd:14;
 274                uint64_t segs:6;
 275                uint64_t size:16;
 276        } cn50xx;
 277        struct cvmx_pko_mem_debug12_cn50xx cn52xx;
 278        struct cvmx_pko_mem_debug12_cn50xx cn52xxp1;
 279        struct cvmx_pko_mem_debug12_cn50xx cn56xx;
 280        struct cvmx_pko_mem_debug12_cn50xx cn56xxp1;
 281        struct cvmx_pko_mem_debug12_cn50xx cn58xx;
 282        struct cvmx_pko_mem_debug12_cn50xx cn58xxp1;
 283};
 284
 285union cvmx_pko_mem_debug13 {
 286        uint64_t u64;
 287        struct cvmx_pko_mem_debug13_s {
 288                uint64_t i:1;
 289                uint64_t back:4;
 290                uint64_t pool:3;
 291                uint64_t reserved_0_55:56;
 292        } s;
 293        struct cvmx_pko_mem_debug13_cn30xx {
 294                uint64_t reserved_51_63:13;
 295                uint64_t widx:17;
 296                uint64_t ridx2:17;
 297                uint64_t widx2:17;
 298        } cn30xx;
 299        struct cvmx_pko_mem_debug13_cn30xx cn31xx;
 300        struct cvmx_pko_mem_debug13_cn30xx cn38xx;
 301        struct cvmx_pko_mem_debug13_cn30xx cn38xxp2;
 302        struct cvmx_pko_mem_debug13_cn50xx {
 303                uint64_t i:1;
 304                uint64_t back:4;
 305                uint64_t pool:3;
 306                uint64_t size:16;
 307                uint64_t ptr:40;
 308        } cn50xx;
 309        struct cvmx_pko_mem_debug13_cn50xx cn52xx;
 310        struct cvmx_pko_mem_debug13_cn50xx cn52xxp1;
 311        struct cvmx_pko_mem_debug13_cn50xx cn56xx;
 312        struct cvmx_pko_mem_debug13_cn50xx cn56xxp1;
 313        struct cvmx_pko_mem_debug13_cn50xx cn58xx;
 314        struct cvmx_pko_mem_debug13_cn50xx cn58xxp1;
 315};
 316
 317union cvmx_pko_mem_debug14 {
 318        uint64_t u64;
 319        struct cvmx_pko_mem_debug14_s {
 320                uint64_t reserved_0_63:64;
 321        } s;
 322        struct cvmx_pko_mem_debug14_cn30xx {
 323                uint64_t reserved_17_63:47;
 324                uint64_t ridx:17;
 325        } cn30xx;
 326        struct cvmx_pko_mem_debug14_cn30xx cn31xx;
 327        struct cvmx_pko_mem_debug14_cn30xx cn38xx;
 328        struct cvmx_pko_mem_debug14_cn30xx cn38xxp2;
 329        struct cvmx_pko_mem_debug14_cn52xx {
 330                uint64_t data:64;
 331        } cn52xx;
 332        struct cvmx_pko_mem_debug14_cn52xx cn52xxp1;
 333        struct cvmx_pko_mem_debug14_cn52xx cn56xx;
 334        struct cvmx_pko_mem_debug14_cn52xx cn56xxp1;
 335};
 336
 337union cvmx_pko_mem_debug2 {
 338        uint64_t u64;
 339        struct cvmx_pko_mem_debug2_s {
 340                uint64_t i:1;
 341                uint64_t back:4;
 342                uint64_t pool:3;
 343                uint64_t size:16;
 344                uint64_t ptr:40;
 345        } s;
 346        struct cvmx_pko_mem_debug2_s cn30xx;
 347        struct cvmx_pko_mem_debug2_s cn31xx;
 348        struct cvmx_pko_mem_debug2_s cn38xx;
 349        struct cvmx_pko_mem_debug2_s cn38xxp2;
 350        struct cvmx_pko_mem_debug2_s cn50xx;
 351        struct cvmx_pko_mem_debug2_s cn52xx;
 352        struct cvmx_pko_mem_debug2_s cn52xxp1;
 353        struct cvmx_pko_mem_debug2_s cn56xx;
 354        struct cvmx_pko_mem_debug2_s cn56xxp1;
 355        struct cvmx_pko_mem_debug2_s cn58xx;
 356        struct cvmx_pko_mem_debug2_s cn58xxp1;
 357};
 358
 359union cvmx_pko_mem_debug3 {
 360        uint64_t u64;
 361        struct cvmx_pko_mem_debug3_s {
 362                uint64_t reserved_0_63:64;
 363        } s;
 364        struct cvmx_pko_mem_debug3_cn30xx {
 365                uint64_t i:1;
 366                uint64_t back:4;
 367                uint64_t pool:3;
 368                uint64_t size:16;
 369                uint64_t ptr:40;
 370        } cn30xx;
 371        struct cvmx_pko_mem_debug3_cn30xx cn31xx;
 372        struct cvmx_pko_mem_debug3_cn30xx cn38xx;
 373        struct cvmx_pko_mem_debug3_cn30xx cn38xxp2;
 374        struct cvmx_pko_mem_debug3_cn50xx {
 375                uint64_t data:64;
 376        } cn50xx;
 377        struct cvmx_pko_mem_debug3_cn50xx cn52xx;
 378        struct cvmx_pko_mem_debug3_cn50xx cn52xxp1;
 379        struct cvmx_pko_mem_debug3_cn50xx cn56xx;
 380        struct cvmx_pko_mem_debug3_cn50xx cn56xxp1;
 381        struct cvmx_pko_mem_debug3_cn50xx cn58xx;
 382        struct cvmx_pko_mem_debug3_cn50xx cn58xxp1;
 383};
 384
 385union cvmx_pko_mem_debug4 {
 386        uint64_t u64;
 387        struct cvmx_pko_mem_debug4_s {
 388                uint64_t reserved_0_63:64;
 389        } s;
 390        struct cvmx_pko_mem_debug4_cn30xx {
 391                uint64_t data:64;
 392        } cn30xx;
 393        struct cvmx_pko_mem_debug4_cn30xx cn31xx;
 394        struct cvmx_pko_mem_debug4_cn30xx cn38xx;
 395        struct cvmx_pko_mem_debug4_cn30xx cn38xxp2;
 396        struct cvmx_pko_mem_debug4_cn50xx {
 397                uint64_t cmnd_segs:3;
 398                uint64_t cmnd_siz:16;
 399                uint64_t cmnd_off:6;
 400                uint64_t uid:3;
 401                uint64_t dread_sop:1;
 402                uint64_t init_dwrite:1;
 403                uint64_t chk_once:1;
 404                uint64_t chk_mode:1;
 405                uint64_t active:1;
 406                uint64_t static_p:1;
 407                uint64_t qos:3;
 408                uint64_t qcb_ridx:5;
 409                uint64_t qid_off_max:4;
 410                uint64_t qid_off:4;
 411                uint64_t qid_base:8;
 412                uint64_t wait:1;
 413                uint64_t minor:2;
 414                uint64_t major:3;
 415        } cn50xx;
 416        struct cvmx_pko_mem_debug4_cn52xx {
 417                uint64_t curr_siz:8;
 418                uint64_t curr_off:16;
 419                uint64_t cmnd_segs:6;
 420                uint64_t cmnd_siz:16;
 421                uint64_t cmnd_off:6;
 422                uint64_t uid:2;
 423                uint64_t dread_sop:1;
 424                uint64_t init_dwrite:1;
 425                uint64_t chk_once:1;
 426                uint64_t chk_mode:1;
 427                uint64_t wait:1;
 428                uint64_t minor:2;
 429                uint64_t major:3;
 430        } cn52xx;
 431        struct cvmx_pko_mem_debug4_cn52xx cn52xxp1;
 432        struct cvmx_pko_mem_debug4_cn52xx cn56xx;
 433        struct cvmx_pko_mem_debug4_cn52xx cn56xxp1;
 434        struct cvmx_pko_mem_debug4_cn50xx cn58xx;
 435        struct cvmx_pko_mem_debug4_cn50xx cn58xxp1;
 436};
 437
 438union cvmx_pko_mem_debug5 {
 439        uint64_t u64;
 440        struct cvmx_pko_mem_debug5_s {
 441                uint64_t reserved_0_63:64;
 442        } s;
 443        struct cvmx_pko_mem_debug5_cn30xx {
 444                uint64_t dwri_mod:1;
 445                uint64_t dwri_sop:1;
 446                uint64_t dwri_len:1;
 447                uint64_t dwri_cnt:13;
 448                uint64_t cmnd_siz:16;
 449                uint64_t uid:1;
 450                uint64_t xfer_wor:1;
 451                uint64_t xfer_dwr:1;
 452                uint64_t cbuf_fre:1;
 453                uint64_t reserved_27_27:1;
 454                uint64_t chk_mode:1;
 455                uint64_t active:1;
 456                uint64_t qos:3;
 457                uint64_t qcb_ridx:5;
 458                uint64_t qid_off:3;
 459                uint64_t qid_base:7;
 460                uint64_t wait:1;
 461                uint64_t minor:2;
 462                uint64_t major:4;
 463        } cn30xx;
 464        struct cvmx_pko_mem_debug5_cn30xx cn31xx;
 465        struct cvmx_pko_mem_debug5_cn30xx cn38xx;
 466        struct cvmx_pko_mem_debug5_cn30xx cn38xxp2;
 467        struct cvmx_pko_mem_debug5_cn50xx {
 468                uint64_t curr_ptr:29;
 469                uint64_t curr_siz:16;
 470                uint64_t curr_off:16;
 471                uint64_t cmnd_segs:3;
 472        } cn50xx;
 473        struct cvmx_pko_mem_debug5_cn52xx {
 474                uint64_t reserved_54_63:10;
 475                uint64_t nxt_inflt:6;
 476                uint64_t curr_ptr:40;
 477                uint64_t curr_siz:8;
 478        } cn52xx;
 479        struct cvmx_pko_mem_debug5_cn52xx cn52xxp1;
 480        struct cvmx_pko_mem_debug5_cn52xx cn56xx;
 481        struct cvmx_pko_mem_debug5_cn52xx cn56xxp1;
 482        struct cvmx_pko_mem_debug5_cn50xx cn58xx;
 483        struct cvmx_pko_mem_debug5_cn50xx cn58xxp1;
 484};
 485
 486union cvmx_pko_mem_debug6 {
 487        uint64_t u64;
 488        struct cvmx_pko_mem_debug6_s {
 489                uint64_t reserved_37_63:27;
 490                uint64_t qid_offres:4;
 491                uint64_t qid_offths:4;
 492                uint64_t preempter:1;
 493                uint64_t preemptee:1;
 494                uint64_t preempted:1;
 495                uint64_t active:1;
 496                uint64_t statc:1;
 497                uint64_t qos:3;
 498                uint64_t qcb_ridx:5;
 499                uint64_t qid_offmax:4;
 500                uint64_t reserved_0_11:12;
 501        } s;
 502        struct cvmx_pko_mem_debug6_cn30xx {
 503                uint64_t reserved_11_63:53;
 504                uint64_t qid_offm:3;
 505                uint64_t static_p:1;
 506                uint64_t work_min:3;
 507                uint64_t dwri_chk:1;
 508                uint64_t dwri_uid:1;
 509                uint64_t dwri_mod:2;
 510        } cn30xx;
 511        struct cvmx_pko_mem_debug6_cn30xx cn31xx;
 512        struct cvmx_pko_mem_debug6_cn30xx cn38xx;
 513        struct cvmx_pko_mem_debug6_cn30xx cn38xxp2;
 514        struct cvmx_pko_mem_debug6_cn50xx {
 515                uint64_t reserved_11_63:53;
 516                uint64_t curr_ptr:11;
 517        } cn50xx;
 518        struct cvmx_pko_mem_debug6_cn52xx {
 519                uint64_t reserved_37_63:27;
 520                uint64_t qid_offres:4;
 521                uint64_t qid_offths:4;
 522                uint64_t preempter:1;
 523                uint64_t preemptee:1;
 524                uint64_t preempted:1;
 525                uint64_t active:1;
 526                uint64_t statc:1;
 527                uint64_t qos:3;
 528                uint64_t qcb_ridx:5;
 529                uint64_t qid_offmax:4;
 530                uint64_t qid_off:4;
 531                uint64_t qid_base:8;
 532        } cn52xx;
 533        struct cvmx_pko_mem_debug6_cn52xx cn52xxp1;
 534        struct cvmx_pko_mem_debug6_cn52xx cn56xx;
 535        struct cvmx_pko_mem_debug6_cn52xx cn56xxp1;
 536        struct cvmx_pko_mem_debug6_cn50xx cn58xx;
 537        struct cvmx_pko_mem_debug6_cn50xx cn58xxp1;
 538};
 539
 540union cvmx_pko_mem_debug7 {
 541        uint64_t u64;
 542        struct cvmx_pko_mem_debug7_s {
 543                uint64_t qos:5;
 544                uint64_t tail:1;
 545                uint64_t reserved_0_57:58;
 546        } s;
 547        struct cvmx_pko_mem_debug7_cn30xx {
 548                uint64_t reserved_58_63:6;
 549                uint64_t dwb:9;
 550                uint64_t start:33;
 551                uint64_t size:16;
 552        } cn30xx;
 553        struct cvmx_pko_mem_debug7_cn30xx cn31xx;
 554        struct cvmx_pko_mem_debug7_cn30xx cn38xx;
 555        struct cvmx_pko_mem_debug7_cn30xx cn38xxp2;
 556        struct cvmx_pko_mem_debug7_cn50xx {
 557                uint64_t qos:5;
 558                uint64_t tail:1;
 559                uint64_t buf_siz:13;
 560                uint64_t buf_ptr:33;
 561                uint64_t qcb_widx:6;
 562                uint64_t qcb_ridx:6;
 563        } cn50xx;
 564        struct cvmx_pko_mem_debug7_cn50xx cn52xx;
 565        struct cvmx_pko_mem_debug7_cn50xx cn52xxp1;
 566        struct cvmx_pko_mem_debug7_cn50xx cn56xx;
 567        struct cvmx_pko_mem_debug7_cn50xx cn56xxp1;
 568        struct cvmx_pko_mem_debug7_cn50xx cn58xx;
 569        struct cvmx_pko_mem_debug7_cn50xx cn58xxp1;
 570};
 571
 572union cvmx_pko_mem_debug8 {
 573        uint64_t u64;
 574        struct cvmx_pko_mem_debug8_s {
 575                uint64_t reserved_59_63:5;
 576                uint64_t tail:1;
 577                uint64_t buf_siz:13;
 578                uint64_t reserved_0_44:45;
 579        } s;
 580        struct cvmx_pko_mem_debug8_cn30xx {
 581                uint64_t qos:5;
 582                uint64_t tail:1;
 583                uint64_t buf_siz:13;
 584                uint64_t buf_ptr:33;
 585                uint64_t qcb_widx:6;
 586                uint64_t qcb_ridx:6;
 587        } cn30xx;
 588        struct cvmx_pko_mem_debug8_cn30xx cn31xx;
 589        struct cvmx_pko_mem_debug8_cn30xx cn38xx;
 590        struct cvmx_pko_mem_debug8_cn30xx cn38xxp2;
 591        struct cvmx_pko_mem_debug8_cn50xx {
 592                uint64_t reserved_28_63:36;
 593                uint64_t doorbell:20;
 594                uint64_t reserved_6_7:2;
 595                uint64_t static_p:1;
 596                uint64_t s_tail:1;
 597                uint64_t static_q:1;
 598                uint64_t qos:3;
 599        } cn50xx;
 600        struct cvmx_pko_mem_debug8_cn52xx {
 601                uint64_t reserved_29_63:35;
 602                uint64_t preempter:1;
 603                uint64_t doorbell:20;
 604                uint64_t reserved_7_7:1;
 605                uint64_t preemptee:1;
 606                uint64_t static_p:1;
 607                uint64_t s_tail:1;
 608                uint64_t static_q:1;
 609                uint64_t qos:3;
 610        } cn52xx;
 611        struct cvmx_pko_mem_debug8_cn52xx cn52xxp1;
 612        struct cvmx_pko_mem_debug8_cn52xx cn56xx;
 613        struct cvmx_pko_mem_debug8_cn52xx cn56xxp1;
 614        struct cvmx_pko_mem_debug8_cn50xx cn58xx;
 615        struct cvmx_pko_mem_debug8_cn50xx cn58xxp1;
 616};
 617
 618union cvmx_pko_mem_debug9 {
 619        uint64_t u64;
 620        struct cvmx_pko_mem_debug9_s {
 621                uint64_t reserved_49_63:15;
 622                uint64_t ptrs0:17;
 623                uint64_t reserved_0_31:32;
 624        } s;
 625        struct cvmx_pko_mem_debug9_cn30xx {
 626                uint64_t reserved_28_63:36;
 627                uint64_t doorbell:20;
 628                uint64_t reserved_5_7:3;
 629                uint64_t s_tail:1;
 630                uint64_t static_q:1;
 631                uint64_t qos:3;
 632        } cn30xx;
 633        struct cvmx_pko_mem_debug9_cn30xx cn31xx;
 634        struct cvmx_pko_mem_debug9_cn38xx {
 635                uint64_t reserved_28_63:36;
 636                uint64_t doorbell:20;
 637                uint64_t reserved_6_7:2;
 638                uint64_t static_p:1;
 639                uint64_t s_tail:1;
 640                uint64_t static_q:1;
 641                uint64_t qos:3;
 642        } cn38xx;
 643        struct cvmx_pko_mem_debug9_cn38xx cn38xxp2;
 644        struct cvmx_pko_mem_debug9_cn50xx {
 645                uint64_t reserved_49_63:15;
 646                uint64_t ptrs0:17;
 647                uint64_t reserved_17_31:15;
 648                uint64_t ptrs3:17;
 649        } cn50xx;
 650        struct cvmx_pko_mem_debug9_cn50xx cn52xx;
 651        struct cvmx_pko_mem_debug9_cn50xx cn52xxp1;
 652        struct cvmx_pko_mem_debug9_cn50xx cn56xx;
 653        struct cvmx_pko_mem_debug9_cn50xx cn56xxp1;
 654        struct cvmx_pko_mem_debug9_cn50xx cn58xx;
 655        struct cvmx_pko_mem_debug9_cn50xx cn58xxp1;
 656};
 657
 658union cvmx_pko_mem_port_ptrs {
 659        uint64_t u64;
 660        struct cvmx_pko_mem_port_ptrs_s {
 661                uint64_t reserved_62_63:2;
 662                uint64_t static_p:1;
 663                uint64_t qos_mask:8;
 664                uint64_t reserved_16_52:37;
 665                uint64_t bp_port:6;
 666                uint64_t eid:4;
 667                uint64_t pid:6;
 668        } s;
 669        struct cvmx_pko_mem_port_ptrs_s cn52xx;
 670        struct cvmx_pko_mem_port_ptrs_s cn52xxp1;
 671        struct cvmx_pko_mem_port_ptrs_s cn56xx;
 672        struct cvmx_pko_mem_port_ptrs_s cn56xxp1;
 673};
 674
 675union cvmx_pko_mem_port_qos {
 676        uint64_t u64;
 677        struct cvmx_pko_mem_port_qos_s {
 678                uint64_t reserved_61_63:3;
 679                uint64_t qos_mask:8;
 680                uint64_t reserved_10_52:43;
 681                uint64_t eid:4;
 682                uint64_t pid:6;
 683        } s;
 684        struct cvmx_pko_mem_port_qos_s cn52xx;
 685        struct cvmx_pko_mem_port_qos_s cn52xxp1;
 686        struct cvmx_pko_mem_port_qos_s cn56xx;
 687        struct cvmx_pko_mem_port_qos_s cn56xxp1;
 688};
 689
 690union cvmx_pko_mem_port_rate0 {
 691        uint64_t u64;
 692        struct cvmx_pko_mem_port_rate0_s {
 693                uint64_t reserved_51_63:13;
 694                uint64_t rate_word:19;
 695                uint64_t rate_pkt:24;
 696                uint64_t reserved_6_7:2;
 697                uint64_t pid:6;
 698        } s;
 699        struct cvmx_pko_mem_port_rate0_s cn52xx;
 700        struct cvmx_pko_mem_port_rate0_s cn52xxp1;
 701        struct cvmx_pko_mem_port_rate0_s cn56xx;
 702        struct cvmx_pko_mem_port_rate0_s cn56xxp1;
 703};
 704
 705union cvmx_pko_mem_port_rate1 {
 706        uint64_t u64;
 707        struct cvmx_pko_mem_port_rate1_s {
 708                uint64_t reserved_32_63:32;
 709                uint64_t rate_lim:24;
 710                uint64_t reserved_6_7:2;
 711                uint64_t pid:6;
 712        } s;
 713        struct cvmx_pko_mem_port_rate1_s cn52xx;
 714        struct cvmx_pko_mem_port_rate1_s cn52xxp1;
 715        struct cvmx_pko_mem_port_rate1_s cn56xx;
 716        struct cvmx_pko_mem_port_rate1_s cn56xxp1;
 717};
 718
 719union cvmx_pko_mem_queue_ptrs {
 720        uint64_t u64;
 721        struct cvmx_pko_mem_queue_ptrs_s {
 722                uint64_t s_tail:1;
 723                uint64_t static_p:1;
 724                uint64_t static_q:1;
 725                uint64_t qos_mask:8;
 726                uint64_t buf_ptr:36;
 727                uint64_t tail:1;
 728                uint64_t index:3;
 729                uint64_t port:6;
 730                uint64_t queue:7;
 731        } s;
 732        struct cvmx_pko_mem_queue_ptrs_s cn30xx;
 733        struct cvmx_pko_mem_queue_ptrs_s cn31xx;
 734        struct cvmx_pko_mem_queue_ptrs_s cn38xx;
 735        struct cvmx_pko_mem_queue_ptrs_s cn38xxp2;
 736        struct cvmx_pko_mem_queue_ptrs_s cn50xx;
 737        struct cvmx_pko_mem_queue_ptrs_s cn52xx;
 738        struct cvmx_pko_mem_queue_ptrs_s cn52xxp1;
 739        struct cvmx_pko_mem_queue_ptrs_s cn56xx;
 740        struct cvmx_pko_mem_queue_ptrs_s cn56xxp1;
 741        struct cvmx_pko_mem_queue_ptrs_s cn58xx;
 742        struct cvmx_pko_mem_queue_ptrs_s cn58xxp1;
 743};
 744
 745union cvmx_pko_mem_queue_qos {
 746        uint64_t u64;
 747        struct cvmx_pko_mem_queue_qos_s {
 748                uint64_t reserved_61_63:3;
 749                uint64_t qos_mask:8;
 750                uint64_t reserved_13_52:40;
 751                uint64_t pid:6;
 752                uint64_t qid:7;
 753        } s;
 754        struct cvmx_pko_mem_queue_qos_s cn30xx;
 755        struct cvmx_pko_mem_queue_qos_s cn31xx;
 756        struct cvmx_pko_mem_queue_qos_s cn38xx;
 757        struct cvmx_pko_mem_queue_qos_s cn38xxp2;
 758        struct cvmx_pko_mem_queue_qos_s cn50xx;
 759        struct cvmx_pko_mem_queue_qos_s cn52xx;
 760        struct cvmx_pko_mem_queue_qos_s cn52xxp1;
 761        struct cvmx_pko_mem_queue_qos_s cn56xx;
 762        struct cvmx_pko_mem_queue_qos_s cn56xxp1;
 763        struct cvmx_pko_mem_queue_qos_s cn58xx;
 764        struct cvmx_pko_mem_queue_qos_s cn58xxp1;
 765};
 766
 767union cvmx_pko_reg_bist_result {
 768        uint64_t u64;
 769        struct cvmx_pko_reg_bist_result_s {
 770                uint64_t reserved_0_63:64;
 771        } s;
 772        struct cvmx_pko_reg_bist_result_cn30xx {
 773                uint64_t reserved_27_63:37;
 774                uint64_t psb2:5;
 775                uint64_t count:1;
 776                uint64_t rif:1;
 777                uint64_t wif:1;
 778                uint64_t ncb:1;
 779                uint64_t out:1;
 780                uint64_t crc:1;
 781                uint64_t chk:1;
 782                uint64_t qsb:2;
 783                uint64_t qcb:2;
 784                uint64_t pdb:4;
 785                uint64_t psb:7;
 786        } cn30xx;
 787        struct cvmx_pko_reg_bist_result_cn30xx cn31xx;
 788        struct cvmx_pko_reg_bist_result_cn30xx cn38xx;
 789        struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2;
 790        struct cvmx_pko_reg_bist_result_cn50xx {
 791                uint64_t reserved_33_63:31;
 792                uint64_t csr:1;
 793                uint64_t iob:1;
 794                uint64_t out_crc:1;
 795                uint64_t out_ctl:3;
 796                uint64_t out_sta:1;
 797                uint64_t out_wif:1;
 798                uint64_t prt_chk:3;
 799                uint64_t prt_nxt:1;
 800                uint64_t prt_psb:6;
 801                uint64_t ncb_inb:2;
 802                uint64_t prt_qcb:2;
 803                uint64_t prt_qsb:3;
 804                uint64_t dat_dat:4;
 805                uint64_t dat_ptr:4;
 806        } cn50xx;
 807        struct cvmx_pko_reg_bist_result_cn52xx {
 808                uint64_t reserved_35_63:29;
 809                uint64_t csr:1;
 810                uint64_t iob:1;
 811                uint64_t out_dat:1;
 812                uint64_t out_ctl:3;
 813                uint64_t out_sta:1;
 814                uint64_t out_wif:1;
 815                uint64_t prt_chk:3;
 816                uint64_t prt_nxt:1;
 817                uint64_t prt_psb:8;
 818                uint64_t ncb_inb:2;
 819                uint64_t prt_qcb:2;
 820                uint64_t prt_qsb:3;
 821                uint64_t prt_ctl:2;
 822                uint64_t dat_dat:2;
 823                uint64_t dat_ptr:4;
 824        } cn52xx;
 825        struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1;
 826        struct cvmx_pko_reg_bist_result_cn52xx cn56xx;
 827        struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1;
 828        struct cvmx_pko_reg_bist_result_cn50xx cn58xx;
 829        struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1;
 830};
 831
 832union cvmx_pko_reg_cmd_buf {
 833        uint64_t u64;
 834        struct cvmx_pko_reg_cmd_buf_s {
 835                uint64_t reserved_23_63:41;
 836                uint64_t pool:3;
 837                uint64_t reserved_13_19:7;
 838                uint64_t size:13;
 839        } s;
 840        struct cvmx_pko_reg_cmd_buf_s cn30xx;
 841        struct cvmx_pko_reg_cmd_buf_s cn31xx;
 842        struct cvmx_pko_reg_cmd_buf_s cn38xx;
 843        struct cvmx_pko_reg_cmd_buf_s cn38xxp2;
 844        struct cvmx_pko_reg_cmd_buf_s cn50xx;
 845        struct cvmx_pko_reg_cmd_buf_s cn52xx;
 846        struct cvmx_pko_reg_cmd_buf_s cn52xxp1;
 847        struct cvmx_pko_reg_cmd_buf_s cn56xx;
 848        struct cvmx_pko_reg_cmd_buf_s cn56xxp1;
 849        struct cvmx_pko_reg_cmd_buf_s cn58xx;
 850        struct cvmx_pko_reg_cmd_buf_s cn58xxp1;
 851};
 852
 853union cvmx_pko_reg_crc_ctlx {
 854        uint64_t u64;
 855        struct cvmx_pko_reg_crc_ctlx_s {
 856                uint64_t reserved_2_63:62;
 857                uint64_t invres:1;
 858                uint64_t refin:1;
 859        } s;
 860        struct cvmx_pko_reg_crc_ctlx_s cn38xx;
 861        struct cvmx_pko_reg_crc_ctlx_s cn38xxp2;
 862        struct cvmx_pko_reg_crc_ctlx_s cn58xx;
 863        struct cvmx_pko_reg_crc_ctlx_s cn58xxp1;
 864};
 865
 866union cvmx_pko_reg_crc_enable {
 867        uint64_t u64;
 868        struct cvmx_pko_reg_crc_enable_s {
 869                uint64_t reserved_32_63:32;
 870                uint64_t enable:32;
 871        } s;
 872        struct cvmx_pko_reg_crc_enable_s cn38xx;
 873        struct cvmx_pko_reg_crc_enable_s cn38xxp2;
 874        struct cvmx_pko_reg_crc_enable_s cn58xx;
 875        struct cvmx_pko_reg_crc_enable_s cn58xxp1;
 876};
 877
 878union cvmx_pko_reg_crc_ivx {
 879        uint64_t u64;
 880        struct cvmx_pko_reg_crc_ivx_s {
 881                uint64_t reserved_32_63:32;
 882                uint64_t iv:32;
 883        } s;
 884        struct cvmx_pko_reg_crc_ivx_s cn38xx;
 885        struct cvmx_pko_reg_crc_ivx_s cn38xxp2;
 886        struct cvmx_pko_reg_crc_ivx_s cn58xx;
 887        struct cvmx_pko_reg_crc_ivx_s cn58xxp1;
 888};
 889
 890union cvmx_pko_reg_debug0 {
 891        uint64_t u64;
 892        struct cvmx_pko_reg_debug0_s {
 893                uint64_t asserts:64;
 894        } s;
 895        struct cvmx_pko_reg_debug0_cn30xx {
 896                uint64_t reserved_17_63:47;
 897                uint64_t asserts:17;
 898        } cn30xx;
 899        struct cvmx_pko_reg_debug0_cn30xx cn31xx;
 900        struct cvmx_pko_reg_debug0_cn30xx cn38xx;
 901        struct cvmx_pko_reg_debug0_cn30xx cn38xxp2;
 902        struct cvmx_pko_reg_debug0_s cn50xx;
 903        struct cvmx_pko_reg_debug0_s cn52xx;
 904        struct cvmx_pko_reg_debug0_s cn52xxp1;
 905        struct cvmx_pko_reg_debug0_s cn56xx;
 906        struct cvmx_pko_reg_debug0_s cn56xxp1;
 907        struct cvmx_pko_reg_debug0_s cn58xx;
 908        struct cvmx_pko_reg_debug0_s cn58xxp1;
 909};
 910
 911union cvmx_pko_reg_debug1 {
 912        uint64_t u64;
 913        struct cvmx_pko_reg_debug1_s {
 914                uint64_t asserts:64;
 915        } s;
 916        struct cvmx_pko_reg_debug1_s cn50xx;
 917        struct cvmx_pko_reg_debug1_s cn52xx;
 918        struct cvmx_pko_reg_debug1_s cn52xxp1;
 919        struct cvmx_pko_reg_debug1_s cn56xx;
 920        struct cvmx_pko_reg_debug1_s cn56xxp1;
 921        struct cvmx_pko_reg_debug1_s cn58xx;
 922        struct cvmx_pko_reg_debug1_s cn58xxp1;
 923};
 924
 925union cvmx_pko_reg_debug2 {
 926        uint64_t u64;
 927        struct cvmx_pko_reg_debug2_s {
 928                uint64_t asserts:64;
 929        } s;
 930        struct cvmx_pko_reg_debug2_s cn50xx;
 931        struct cvmx_pko_reg_debug2_s cn52xx;
 932        struct cvmx_pko_reg_debug2_s cn52xxp1;
 933        struct cvmx_pko_reg_debug2_s cn56xx;
 934        struct cvmx_pko_reg_debug2_s cn56xxp1;
 935        struct cvmx_pko_reg_debug2_s cn58xx;
 936        struct cvmx_pko_reg_debug2_s cn58xxp1;
 937};
 938
 939union cvmx_pko_reg_debug3 {
 940        uint64_t u64;
 941        struct cvmx_pko_reg_debug3_s {
 942                uint64_t asserts:64;
 943        } s;
 944        struct cvmx_pko_reg_debug3_s cn50xx;
 945        struct cvmx_pko_reg_debug3_s cn52xx;
 946        struct cvmx_pko_reg_debug3_s cn52xxp1;
 947        struct cvmx_pko_reg_debug3_s cn56xx;
 948        struct cvmx_pko_reg_debug3_s cn56xxp1;
 949        struct cvmx_pko_reg_debug3_s cn58xx;
 950        struct cvmx_pko_reg_debug3_s cn58xxp1;
 951};
 952
 953union cvmx_pko_reg_engine_inflight {
 954        uint64_t u64;
 955        struct cvmx_pko_reg_engine_inflight_s {
 956                uint64_t reserved_40_63:24;
 957                uint64_t engine9:4;
 958                uint64_t engine8:4;
 959                uint64_t engine7:4;
 960                uint64_t engine6:4;
 961                uint64_t engine5:4;
 962                uint64_t engine4:4;
 963                uint64_t engine3:4;
 964                uint64_t engine2:4;
 965                uint64_t engine1:4;
 966                uint64_t engine0:4;
 967        } s;
 968        struct cvmx_pko_reg_engine_inflight_s cn52xx;
 969        struct cvmx_pko_reg_engine_inflight_s cn52xxp1;
 970        struct cvmx_pko_reg_engine_inflight_s cn56xx;
 971        struct cvmx_pko_reg_engine_inflight_s cn56xxp1;
 972};
 973
 974union cvmx_pko_reg_engine_thresh {
 975        uint64_t u64;
 976        struct cvmx_pko_reg_engine_thresh_s {
 977                uint64_t reserved_10_63:54;
 978                uint64_t mask:10;
 979        } s;
 980        struct cvmx_pko_reg_engine_thresh_s cn52xx;
 981        struct cvmx_pko_reg_engine_thresh_s cn52xxp1;
 982        struct cvmx_pko_reg_engine_thresh_s cn56xx;
 983        struct cvmx_pko_reg_engine_thresh_s cn56xxp1;
 984};
 985
 986union cvmx_pko_reg_error {
 987        uint64_t u64;
 988        struct cvmx_pko_reg_error_s {
 989                uint64_t reserved_3_63:61;
 990                uint64_t currzero:1;
 991                uint64_t doorbell:1;
 992                uint64_t parity:1;
 993        } s;
 994        struct cvmx_pko_reg_error_cn30xx {
 995                uint64_t reserved_2_63:62;
 996                uint64_t doorbell:1;
 997                uint64_t parity:1;
 998        } cn30xx;
 999        struct cvmx_pko_reg_error_cn30xx cn31xx;
1000        struct cvmx_pko_reg_error_cn30xx cn38xx;
1001        struct cvmx_pko_reg_error_cn30xx cn38xxp2;
1002        struct cvmx_pko_reg_error_s cn50xx;
1003        struct cvmx_pko_reg_error_s cn52xx;
1004        struct cvmx_pko_reg_error_s cn52xxp1;
1005        struct cvmx_pko_reg_error_s cn56xx;
1006        struct cvmx_pko_reg_error_s cn56xxp1;
1007        struct cvmx_pko_reg_error_s cn58xx;
1008        struct cvmx_pko_reg_error_s cn58xxp1;
1009};
1010
1011union cvmx_pko_reg_flags {
1012        uint64_t u64;
1013        struct cvmx_pko_reg_flags_s {
1014                uint64_t reserved_4_63:60;
1015                uint64_t reset:1;
1016                uint64_t store_be:1;
1017                uint64_t ena_dwb:1;
1018                uint64_t ena_pko:1;
1019        } s;
1020        struct cvmx_pko_reg_flags_s cn30xx;
1021        struct cvmx_pko_reg_flags_s cn31xx;
1022        struct cvmx_pko_reg_flags_s cn38xx;
1023        struct cvmx_pko_reg_flags_s cn38xxp2;
1024        struct cvmx_pko_reg_flags_s cn50xx;
1025        struct cvmx_pko_reg_flags_s cn52xx;
1026        struct cvmx_pko_reg_flags_s cn52xxp1;
1027        struct cvmx_pko_reg_flags_s cn56xx;
1028        struct cvmx_pko_reg_flags_s cn56xxp1;
1029        struct cvmx_pko_reg_flags_s cn58xx;
1030        struct cvmx_pko_reg_flags_s cn58xxp1;
1031};
1032
1033union cvmx_pko_reg_gmx_port_mode {
1034        uint64_t u64;
1035        struct cvmx_pko_reg_gmx_port_mode_s {
1036                uint64_t reserved_6_63:58;
1037                uint64_t mode1:3;
1038                uint64_t mode0:3;
1039        } s;
1040        struct cvmx_pko_reg_gmx_port_mode_s cn30xx;
1041        struct cvmx_pko_reg_gmx_port_mode_s cn31xx;
1042        struct cvmx_pko_reg_gmx_port_mode_s cn38xx;
1043        struct cvmx_pko_reg_gmx_port_mode_s cn38xxp2;
1044        struct cvmx_pko_reg_gmx_port_mode_s cn50xx;
1045        struct cvmx_pko_reg_gmx_port_mode_s cn52xx;
1046        struct cvmx_pko_reg_gmx_port_mode_s cn52xxp1;
1047        struct cvmx_pko_reg_gmx_port_mode_s cn56xx;
1048        struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1;
1049        struct cvmx_pko_reg_gmx_port_mode_s cn58xx;
1050        struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1;
1051};
1052
1053union cvmx_pko_reg_int_mask {
1054        uint64_t u64;
1055        struct cvmx_pko_reg_int_mask_s {
1056                uint64_t reserved_3_63:61;
1057                uint64_t currzero:1;
1058                uint64_t doorbell:1;
1059                uint64_t parity:1;
1060        } s;
1061        struct cvmx_pko_reg_int_mask_cn30xx {
1062                uint64_t reserved_2_63:62;
1063                uint64_t doorbell:1;
1064                uint64_t parity:1;
1065        } cn30xx;
1066        struct cvmx_pko_reg_int_mask_cn30xx cn31xx;
1067        struct cvmx_pko_reg_int_mask_cn30xx cn38xx;
1068        struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2;
1069        struct cvmx_pko_reg_int_mask_s cn50xx;
1070        struct cvmx_pko_reg_int_mask_s cn52xx;
1071        struct cvmx_pko_reg_int_mask_s cn52xxp1;
1072        struct cvmx_pko_reg_int_mask_s cn56xx;
1073        struct cvmx_pko_reg_int_mask_s cn56xxp1;
1074        struct cvmx_pko_reg_int_mask_s cn58xx;
1075        struct cvmx_pko_reg_int_mask_s cn58xxp1;
1076};
1077
1078union cvmx_pko_reg_queue_mode {
1079        uint64_t u64;
1080        struct cvmx_pko_reg_queue_mode_s {
1081                uint64_t reserved_2_63:62;
1082                uint64_t mode:2;
1083        } s;
1084        struct cvmx_pko_reg_queue_mode_s cn30xx;
1085        struct cvmx_pko_reg_queue_mode_s cn31xx;
1086        struct cvmx_pko_reg_queue_mode_s cn38xx;
1087        struct cvmx_pko_reg_queue_mode_s cn38xxp2;
1088        struct cvmx_pko_reg_queue_mode_s cn50xx;
1089        struct cvmx_pko_reg_queue_mode_s cn52xx;
1090        struct cvmx_pko_reg_queue_mode_s cn52xxp1;
1091        struct cvmx_pko_reg_queue_mode_s cn56xx;
1092        struct cvmx_pko_reg_queue_mode_s cn56xxp1;
1093        struct cvmx_pko_reg_queue_mode_s cn58xx;
1094        struct cvmx_pko_reg_queue_mode_s cn58xxp1;
1095};
1096
1097union cvmx_pko_reg_queue_ptrs1 {
1098        uint64_t u64;
1099        struct cvmx_pko_reg_queue_ptrs1_s {
1100                uint64_t reserved_2_63:62;
1101                uint64_t idx3:1;
1102                uint64_t qid7:1;
1103        } s;
1104        struct cvmx_pko_reg_queue_ptrs1_s cn50xx;
1105        struct cvmx_pko_reg_queue_ptrs1_s cn52xx;
1106        struct cvmx_pko_reg_queue_ptrs1_s cn52xxp1;
1107        struct cvmx_pko_reg_queue_ptrs1_s cn56xx;
1108        struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1;
1109        struct cvmx_pko_reg_queue_ptrs1_s cn58xx;
1110        struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1;
1111};
1112
1113union cvmx_pko_reg_read_idx {
1114        uint64_t u64;
1115        struct cvmx_pko_reg_read_idx_s {
1116                uint64_t reserved_16_63:48;
1117                uint64_t inc:8;
1118                uint64_t index:8;
1119        } s;
1120        struct cvmx_pko_reg_read_idx_s cn30xx;
1121        struct cvmx_pko_reg_read_idx_s cn31xx;
1122        struct cvmx_pko_reg_read_idx_s cn38xx;
1123        struct cvmx_pko_reg_read_idx_s cn38xxp2;
1124        struct cvmx_pko_reg_read_idx_s cn50xx;
1125        struct cvmx_pko_reg_read_idx_s cn52xx;
1126        struct cvmx_pko_reg_read_idx_s cn52xxp1;
1127        struct cvmx_pko_reg_read_idx_s cn56xx;
1128        struct cvmx_pko_reg_read_idx_s cn56xxp1;
1129        struct cvmx_pko_reg_read_idx_s cn58xx;
1130        struct cvmx_pko_reg_read_idx_s cn58xxp1;
1131};
1132
1133#endif
1134