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