Linux Audio

Check our new training course

In-person Linux kernel drivers training

Jun 16-20, 2025
Register
Loading...
Note: File does not exist in v3.1.
   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