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 114 union 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 133 union 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 152 union 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 173 union 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 195 union 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 223 union 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 260 union 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 285 union 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 317 union 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 337 union 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 359 union 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 385 union 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 438 union 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 486 union 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 540 union 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 572 union 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 618 union 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 658 union 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 675 union 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 690 union 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 705 union 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 719 union 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 745 union 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 767 union 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 832 union 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 853 union 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 866 union 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 878 union 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 890 union 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 911 union 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 925 union 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 939 union 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 953 union 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 974 union 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 986 union 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 1011 union 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 1033 union 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 1053 union 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 1078 union 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 1097 union 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 1113 union 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