cvmx-iob-defs.h (20013B)
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_IOB_DEFS_H__ 29#define __CVMX_IOB_DEFS_H__ 30 31#define CVMX_IOB_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800F00007F8ull)) 32#define CVMX_IOB_CTL_STATUS (CVMX_ADD_IO_SEG(0x00011800F0000050ull)) 33#define CVMX_IOB_DWB_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000028ull)) 34#define CVMX_IOB_FAU_TIMEOUT (CVMX_ADD_IO_SEG(0x00011800F0000000ull)) 35#define CVMX_IOB_I2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000010ull)) 36#define CVMX_IOB_INB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000078ull)) 37#define CVMX_IOB_INB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000088ull)) 38#define CVMX_IOB_INB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000070ull)) 39#define CVMX_IOB_INB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F0000080ull)) 40#define CVMX_IOB_INT_ENB (CVMX_ADD_IO_SEG(0x00011800F0000060ull)) 41#define CVMX_IOB_INT_SUM (CVMX_ADD_IO_SEG(0x00011800F0000058ull)) 42#define CVMX_IOB_N2C_L2C_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000020ull)) 43#define CVMX_IOB_N2C_RSP_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000008ull)) 44#define CVMX_IOB_OUTB_COM_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000040ull)) 45#define CVMX_IOB_OUTB_CONTROL_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000098ull)) 46#define CVMX_IOB_OUTB_CONTROL_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A8ull)) 47#define CVMX_IOB_OUTB_DATA_MATCH (CVMX_ADD_IO_SEG(0x00011800F0000090ull)) 48#define CVMX_IOB_OUTB_DATA_MATCH_ENB (CVMX_ADD_IO_SEG(0x00011800F00000A0ull)) 49#define CVMX_IOB_OUTB_FPA_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000048ull)) 50#define CVMX_IOB_OUTB_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000038ull)) 51#define CVMX_IOB_P2C_REQ_PRI_CNT (CVMX_ADD_IO_SEG(0x00011800F0000018ull)) 52#define CVMX_IOB_PKT_ERR (CVMX_ADD_IO_SEG(0x00011800F0000068ull)) 53#define CVMX_IOB_TO_CMB_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00000B0ull)) 54#define CVMX_IOB_TO_NCB_DID_00_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000800ull)) 55#define CVMX_IOB_TO_NCB_DID_111_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B78ull)) 56#define CVMX_IOB_TO_NCB_DID_223_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000EF8ull)) 57#define CVMX_IOB_TO_NCB_DID_24_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00008C0ull)) 58#define CVMX_IOB_TO_NCB_DID_32_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000900ull)) 59#define CVMX_IOB_TO_NCB_DID_40_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000940ull)) 60#define CVMX_IOB_TO_NCB_DID_55_CREDITS (CVMX_ADD_IO_SEG(0x00011800F00009B8ull)) 61#define CVMX_IOB_TO_NCB_DID_64_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A00ull)) 62#define CVMX_IOB_TO_NCB_DID_79_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000A78ull)) 63#define CVMX_IOB_TO_NCB_DID_96_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B00ull)) 64#define CVMX_IOB_TO_NCB_DID_98_CREDITS (CVMX_ADD_IO_SEG(0x00011800F0000B10ull)) 65 66union cvmx_iob_bist_status { 67 uint64_t u64; 68 struct cvmx_iob_bist_status_s { 69#ifdef __BIG_ENDIAN_BITFIELD 70 uint64_t reserved_2_63:62; 71 uint64_t ibd:1; 72 uint64_t icd:1; 73#else 74 uint64_t icd:1; 75 uint64_t ibd:1; 76 uint64_t reserved_2_63:62; 77#endif 78 } s; 79 struct cvmx_iob_bist_status_cn30xx { 80#ifdef __BIG_ENDIAN_BITFIELD 81 uint64_t reserved_18_63:46; 82 uint64_t icnrcb:1; 83 uint64_t icr0:1; 84 uint64_t icr1:1; 85 uint64_t icnr1:1; 86 uint64_t icnr0:1; 87 uint64_t ibdr0:1; 88 uint64_t ibdr1:1; 89 uint64_t ibr0:1; 90 uint64_t ibr1:1; 91 uint64_t icnrt:1; 92 uint64_t ibrq0:1; 93 uint64_t ibrq1:1; 94 uint64_t icrn0:1; 95 uint64_t icrn1:1; 96 uint64_t icrp0:1; 97 uint64_t icrp1:1; 98 uint64_t ibd:1; 99 uint64_t icd:1; 100#else 101 uint64_t icd:1; 102 uint64_t ibd:1; 103 uint64_t icrp1:1; 104 uint64_t icrp0:1; 105 uint64_t icrn1:1; 106 uint64_t icrn0:1; 107 uint64_t ibrq1:1; 108 uint64_t ibrq0:1; 109 uint64_t icnrt:1; 110 uint64_t ibr1:1; 111 uint64_t ibr0:1; 112 uint64_t ibdr1:1; 113 uint64_t ibdr0:1; 114 uint64_t icnr0:1; 115 uint64_t icnr1:1; 116 uint64_t icr1:1; 117 uint64_t icr0:1; 118 uint64_t icnrcb:1; 119 uint64_t reserved_18_63:46; 120#endif 121 } cn30xx; 122 struct cvmx_iob_bist_status_cn61xx { 123#ifdef __BIG_ENDIAN_BITFIELD 124 uint64_t reserved_23_63:41; 125 uint64_t xmdfif:1; 126 uint64_t xmcfif:1; 127 uint64_t iorfif:1; 128 uint64_t rsdfif:1; 129 uint64_t iocfif:1; 130 uint64_t icnrcb:1; 131 uint64_t icr0:1; 132 uint64_t icr1:1; 133 uint64_t icnr1:1; 134 uint64_t icnr0:1; 135 uint64_t ibdr0:1; 136 uint64_t ibdr1:1; 137 uint64_t ibr0:1; 138 uint64_t ibr1:1; 139 uint64_t icnrt:1; 140 uint64_t ibrq0:1; 141 uint64_t ibrq1:1; 142 uint64_t icrn0:1; 143 uint64_t icrn1:1; 144 uint64_t icrp0:1; 145 uint64_t icrp1:1; 146 uint64_t ibd:1; 147 uint64_t icd:1; 148#else 149 uint64_t icd:1; 150 uint64_t ibd:1; 151 uint64_t icrp1:1; 152 uint64_t icrp0:1; 153 uint64_t icrn1:1; 154 uint64_t icrn0:1; 155 uint64_t ibrq1:1; 156 uint64_t ibrq0:1; 157 uint64_t icnrt:1; 158 uint64_t ibr1:1; 159 uint64_t ibr0:1; 160 uint64_t ibdr1:1; 161 uint64_t ibdr0:1; 162 uint64_t icnr0:1; 163 uint64_t icnr1:1; 164 uint64_t icr1:1; 165 uint64_t icr0:1; 166 uint64_t icnrcb:1; 167 uint64_t iocfif:1; 168 uint64_t rsdfif:1; 169 uint64_t iorfif:1; 170 uint64_t xmcfif:1; 171 uint64_t xmdfif:1; 172 uint64_t reserved_23_63:41; 173#endif 174 } cn61xx; 175 struct cvmx_iob_bist_status_cn68xx { 176#ifdef __BIG_ENDIAN_BITFIELD 177 uint64_t reserved_18_63:46; 178 uint64_t xmdfif:1; 179 uint64_t xmcfif:1; 180 uint64_t iorfif:1; 181 uint64_t rsdfif:1; 182 uint64_t iocfif:1; 183 uint64_t icnrcb:1; 184 uint64_t icr0:1; 185 uint64_t icr1:1; 186 uint64_t icnr0:1; 187 uint64_t ibr0:1; 188 uint64_t ibr1:1; 189 uint64_t icnrt:1; 190 uint64_t ibrq0:1; 191 uint64_t ibrq1:1; 192 uint64_t icrn0:1; 193 uint64_t icrn1:1; 194 uint64_t ibd:1; 195 uint64_t icd:1; 196#else 197 uint64_t icd:1; 198 uint64_t ibd:1; 199 uint64_t icrn1:1; 200 uint64_t icrn0:1; 201 uint64_t ibrq1:1; 202 uint64_t ibrq0:1; 203 uint64_t icnrt:1; 204 uint64_t ibr1:1; 205 uint64_t ibr0:1; 206 uint64_t icnr0:1; 207 uint64_t icr1:1; 208 uint64_t icr0:1; 209 uint64_t icnrcb:1; 210 uint64_t iocfif:1; 211 uint64_t rsdfif:1; 212 uint64_t iorfif:1; 213 uint64_t xmcfif:1; 214 uint64_t xmdfif:1; 215 uint64_t reserved_18_63:46; 216#endif 217 } cn68xx; 218}; 219 220union cvmx_iob_ctl_status { 221 uint64_t u64; 222 struct cvmx_iob_ctl_status_s { 223#ifdef __BIG_ENDIAN_BITFIELD 224 uint64_t reserved_11_63:53; 225 uint64_t fif_dly:1; 226 uint64_t xmc_per:4; 227 uint64_t reserved_5_5:1; 228 uint64_t outb_mat:1; 229 uint64_t inb_mat:1; 230 uint64_t pko_enb:1; 231 uint64_t dwb_enb:1; 232 uint64_t fau_end:1; 233#else 234 uint64_t fau_end:1; 235 uint64_t dwb_enb:1; 236 uint64_t pko_enb:1; 237 uint64_t inb_mat:1; 238 uint64_t outb_mat:1; 239 uint64_t reserved_5_5:1; 240 uint64_t xmc_per:4; 241 uint64_t fif_dly:1; 242 uint64_t reserved_11_63:53; 243#endif 244 } s; 245 struct cvmx_iob_ctl_status_cn30xx { 246#ifdef __BIG_ENDIAN_BITFIELD 247 uint64_t reserved_5_63:59; 248 uint64_t outb_mat:1; 249 uint64_t inb_mat:1; 250 uint64_t pko_enb:1; 251 uint64_t dwb_enb:1; 252 uint64_t fau_end:1; 253#else 254 uint64_t fau_end:1; 255 uint64_t dwb_enb:1; 256 uint64_t pko_enb:1; 257 uint64_t inb_mat:1; 258 uint64_t outb_mat:1; 259 uint64_t reserved_5_63:59; 260#endif 261 } cn30xx; 262 struct cvmx_iob_ctl_status_cn52xx { 263#ifdef __BIG_ENDIAN_BITFIELD 264 uint64_t reserved_6_63:58; 265 uint64_t rr_mode:1; 266 uint64_t outb_mat:1; 267 uint64_t inb_mat:1; 268 uint64_t pko_enb:1; 269 uint64_t dwb_enb:1; 270 uint64_t fau_end:1; 271#else 272 uint64_t fau_end:1; 273 uint64_t dwb_enb:1; 274 uint64_t pko_enb:1; 275 uint64_t inb_mat:1; 276 uint64_t outb_mat:1; 277 uint64_t rr_mode:1; 278 uint64_t reserved_6_63:58; 279#endif 280 } cn52xx; 281 struct cvmx_iob_ctl_status_cn61xx { 282#ifdef __BIG_ENDIAN_BITFIELD 283 uint64_t reserved_11_63:53; 284 uint64_t fif_dly:1; 285 uint64_t xmc_per:4; 286 uint64_t rr_mode:1; 287 uint64_t outb_mat:1; 288 uint64_t inb_mat:1; 289 uint64_t pko_enb:1; 290 uint64_t dwb_enb:1; 291 uint64_t fau_end:1; 292#else 293 uint64_t fau_end:1; 294 uint64_t dwb_enb:1; 295 uint64_t pko_enb:1; 296 uint64_t inb_mat:1; 297 uint64_t outb_mat:1; 298 uint64_t rr_mode:1; 299 uint64_t xmc_per:4; 300 uint64_t fif_dly:1; 301 uint64_t reserved_11_63:53; 302#endif 303 } cn61xx; 304 struct cvmx_iob_ctl_status_cn63xx { 305#ifdef __BIG_ENDIAN_BITFIELD 306 uint64_t reserved_10_63:54; 307 uint64_t xmc_per:4; 308 uint64_t rr_mode:1; 309 uint64_t outb_mat:1; 310 uint64_t inb_mat:1; 311 uint64_t pko_enb:1; 312 uint64_t dwb_enb:1; 313 uint64_t fau_end:1; 314#else 315 uint64_t fau_end:1; 316 uint64_t dwb_enb:1; 317 uint64_t pko_enb:1; 318 uint64_t inb_mat:1; 319 uint64_t outb_mat:1; 320 uint64_t rr_mode:1; 321 uint64_t xmc_per:4; 322 uint64_t reserved_10_63:54; 323#endif 324 } cn63xx; 325 struct cvmx_iob_ctl_status_cn68xx { 326#ifdef __BIG_ENDIAN_BITFIELD 327 uint64_t reserved_11_63:53; 328 uint64_t fif_dly:1; 329 uint64_t xmc_per:4; 330 uint64_t rsvr5:1; 331 uint64_t outb_mat:1; 332 uint64_t inb_mat:1; 333 uint64_t pko_enb:1; 334 uint64_t dwb_enb:1; 335 uint64_t fau_end:1; 336#else 337 uint64_t fau_end:1; 338 uint64_t dwb_enb:1; 339 uint64_t pko_enb:1; 340 uint64_t inb_mat:1; 341 uint64_t outb_mat:1; 342 uint64_t rsvr5:1; 343 uint64_t xmc_per:4; 344 uint64_t fif_dly:1; 345 uint64_t reserved_11_63:53; 346#endif 347 } cn68xx; 348}; 349 350union cvmx_iob_dwb_pri_cnt { 351 uint64_t u64; 352 struct cvmx_iob_dwb_pri_cnt_s { 353#ifdef __BIG_ENDIAN_BITFIELD 354 uint64_t reserved_16_63:48; 355 uint64_t cnt_enb:1; 356 uint64_t cnt_val:15; 357#else 358 uint64_t cnt_val:15; 359 uint64_t cnt_enb:1; 360 uint64_t reserved_16_63:48; 361#endif 362 } s; 363}; 364 365union cvmx_iob_fau_timeout { 366 uint64_t u64; 367 struct cvmx_iob_fau_timeout_s { 368#ifdef __BIG_ENDIAN_BITFIELD 369 uint64_t reserved_13_63:51; 370 uint64_t tout_enb:1; 371 uint64_t tout_val:12; 372#else 373 uint64_t tout_val:12; 374 uint64_t tout_enb:1; 375 uint64_t reserved_13_63:51; 376#endif 377 } s; 378}; 379 380union cvmx_iob_i2c_pri_cnt { 381 uint64_t u64; 382 struct cvmx_iob_i2c_pri_cnt_s { 383#ifdef __BIG_ENDIAN_BITFIELD 384 uint64_t reserved_16_63:48; 385 uint64_t cnt_enb:1; 386 uint64_t cnt_val:15; 387#else 388 uint64_t cnt_val:15; 389 uint64_t cnt_enb:1; 390 uint64_t reserved_16_63:48; 391#endif 392 } s; 393}; 394 395union cvmx_iob_inb_control_match { 396 uint64_t u64; 397 struct cvmx_iob_inb_control_match_s { 398#ifdef __BIG_ENDIAN_BITFIELD 399 uint64_t reserved_29_63:35; 400 uint64_t mask:8; 401 uint64_t opc:4; 402 uint64_t dst:9; 403 uint64_t src:8; 404#else 405 uint64_t src:8; 406 uint64_t dst:9; 407 uint64_t opc:4; 408 uint64_t mask:8; 409 uint64_t reserved_29_63:35; 410#endif 411 } s; 412}; 413 414union cvmx_iob_inb_control_match_enb { 415 uint64_t u64; 416 struct cvmx_iob_inb_control_match_enb_s { 417#ifdef __BIG_ENDIAN_BITFIELD 418 uint64_t reserved_29_63:35; 419 uint64_t mask:8; 420 uint64_t opc:4; 421 uint64_t dst:9; 422 uint64_t src:8; 423#else 424 uint64_t src:8; 425 uint64_t dst:9; 426 uint64_t opc:4; 427 uint64_t mask:8; 428 uint64_t reserved_29_63:35; 429#endif 430 } s; 431}; 432 433union cvmx_iob_inb_data_match { 434 uint64_t u64; 435 struct cvmx_iob_inb_data_match_s { 436#ifdef __BIG_ENDIAN_BITFIELD 437 uint64_t data:64; 438#else 439 uint64_t data:64; 440#endif 441 } s; 442}; 443 444union cvmx_iob_inb_data_match_enb { 445 uint64_t u64; 446 struct cvmx_iob_inb_data_match_enb_s { 447#ifdef __BIG_ENDIAN_BITFIELD 448 uint64_t data:64; 449#else 450 uint64_t data:64; 451#endif 452 } s; 453}; 454 455union cvmx_iob_int_enb { 456 uint64_t u64; 457 struct cvmx_iob_int_enb_s { 458#ifdef __BIG_ENDIAN_BITFIELD 459 uint64_t reserved_6_63:58; 460 uint64_t p_dat:1; 461 uint64_t np_dat:1; 462 uint64_t p_eop:1; 463 uint64_t p_sop:1; 464 uint64_t np_eop:1; 465 uint64_t np_sop:1; 466#else 467 uint64_t np_sop:1; 468 uint64_t np_eop:1; 469 uint64_t p_sop:1; 470 uint64_t p_eop:1; 471 uint64_t np_dat:1; 472 uint64_t p_dat:1; 473 uint64_t reserved_6_63:58; 474#endif 475 } s; 476 struct cvmx_iob_int_enb_cn30xx { 477#ifdef __BIG_ENDIAN_BITFIELD 478 uint64_t reserved_4_63:60; 479 uint64_t p_eop:1; 480 uint64_t p_sop:1; 481 uint64_t np_eop:1; 482 uint64_t np_sop:1; 483#else 484 uint64_t np_sop:1; 485 uint64_t np_eop:1; 486 uint64_t p_sop:1; 487 uint64_t p_eop:1; 488 uint64_t reserved_4_63:60; 489#endif 490 } cn30xx; 491 struct cvmx_iob_int_enb_cn68xx { 492#ifdef __BIG_ENDIAN_BITFIELD 493 uint64_t reserved_0_63:64; 494#else 495 uint64_t reserved_0_63:64; 496#endif 497 } cn68xx; 498}; 499 500union cvmx_iob_int_sum { 501 uint64_t u64; 502 struct cvmx_iob_int_sum_s { 503#ifdef __BIG_ENDIAN_BITFIELD 504 uint64_t reserved_6_63:58; 505 uint64_t p_dat:1; 506 uint64_t np_dat:1; 507 uint64_t p_eop:1; 508 uint64_t p_sop:1; 509 uint64_t np_eop:1; 510 uint64_t np_sop:1; 511#else 512 uint64_t np_sop:1; 513 uint64_t np_eop:1; 514 uint64_t p_sop:1; 515 uint64_t p_eop:1; 516 uint64_t np_dat:1; 517 uint64_t p_dat:1; 518 uint64_t reserved_6_63:58; 519#endif 520 } s; 521 struct cvmx_iob_int_sum_cn30xx { 522#ifdef __BIG_ENDIAN_BITFIELD 523 uint64_t reserved_4_63:60; 524 uint64_t p_eop:1; 525 uint64_t p_sop:1; 526 uint64_t np_eop:1; 527 uint64_t np_sop:1; 528#else 529 uint64_t np_sop:1; 530 uint64_t np_eop:1; 531 uint64_t p_sop:1; 532 uint64_t p_eop:1; 533 uint64_t reserved_4_63:60; 534#endif 535 } cn30xx; 536 struct cvmx_iob_int_sum_cn68xx { 537#ifdef __BIG_ENDIAN_BITFIELD 538 uint64_t reserved_0_63:64; 539#else 540 uint64_t reserved_0_63:64; 541#endif 542 } cn68xx; 543}; 544 545union cvmx_iob_n2c_l2c_pri_cnt { 546 uint64_t u64; 547 struct cvmx_iob_n2c_l2c_pri_cnt_s { 548#ifdef __BIG_ENDIAN_BITFIELD 549 uint64_t reserved_16_63:48; 550 uint64_t cnt_enb:1; 551 uint64_t cnt_val:15; 552#else 553 uint64_t cnt_val:15; 554 uint64_t cnt_enb:1; 555 uint64_t reserved_16_63:48; 556#endif 557 } s; 558}; 559 560union cvmx_iob_n2c_rsp_pri_cnt { 561 uint64_t u64; 562 struct cvmx_iob_n2c_rsp_pri_cnt_s { 563#ifdef __BIG_ENDIAN_BITFIELD 564 uint64_t reserved_16_63:48; 565 uint64_t cnt_enb:1; 566 uint64_t cnt_val:15; 567#else 568 uint64_t cnt_val:15; 569 uint64_t cnt_enb:1; 570 uint64_t reserved_16_63:48; 571#endif 572 } s; 573}; 574 575union cvmx_iob_outb_com_pri_cnt { 576 uint64_t u64; 577 struct cvmx_iob_outb_com_pri_cnt_s { 578#ifdef __BIG_ENDIAN_BITFIELD 579 uint64_t reserved_16_63:48; 580 uint64_t cnt_enb:1; 581 uint64_t cnt_val:15; 582#else 583 uint64_t cnt_val:15; 584 uint64_t cnt_enb:1; 585 uint64_t reserved_16_63:48; 586#endif 587 } s; 588}; 589 590union cvmx_iob_outb_control_match { 591 uint64_t u64; 592 struct cvmx_iob_outb_control_match_s { 593#ifdef __BIG_ENDIAN_BITFIELD 594 uint64_t reserved_26_63:38; 595 uint64_t mask:8; 596 uint64_t eot:1; 597 uint64_t dst:8; 598 uint64_t src:9; 599#else 600 uint64_t src:9; 601 uint64_t dst:8; 602 uint64_t eot:1; 603 uint64_t mask:8; 604 uint64_t reserved_26_63:38; 605#endif 606 } s; 607}; 608 609union cvmx_iob_outb_control_match_enb { 610 uint64_t u64; 611 struct cvmx_iob_outb_control_match_enb_s { 612#ifdef __BIG_ENDIAN_BITFIELD 613 uint64_t reserved_26_63:38; 614 uint64_t mask:8; 615 uint64_t eot:1; 616 uint64_t dst:8; 617 uint64_t src:9; 618#else 619 uint64_t src:9; 620 uint64_t dst:8; 621 uint64_t eot:1; 622 uint64_t mask:8; 623 uint64_t reserved_26_63:38; 624#endif 625 } s; 626}; 627 628union cvmx_iob_outb_data_match { 629 uint64_t u64; 630 struct cvmx_iob_outb_data_match_s { 631#ifdef __BIG_ENDIAN_BITFIELD 632 uint64_t data:64; 633#else 634 uint64_t data:64; 635#endif 636 } s; 637}; 638 639union cvmx_iob_outb_data_match_enb { 640 uint64_t u64; 641 struct cvmx_iob_outb_data_match_enb_s { 642#ifdef __BIG_ENDIAN_BITFIELD 643 uint64_t data:64; 644#else 645 uint64_t data:64; 646#endif 647 } s; 648}; 649 650union cvmx_iob_outb_fpa_pri_cnt { 651 uint64_t u64; 652 struct cvmx_iob_outb_fpa_pri_cnt_s { 653#ifdef __BIG_ENDIAN_BITFIELD 654 uint64_t reserved_16_63:48; 655 uint64_t cnt_enb:1; 656 uint64_t cnt_val:15; 657#else 658 uint64_t cnt_val:15; 659 uint64_t cnt_enb:1; 660 uint64_t reserved_16_63:48; 661#endif 662 } s; 663}; 664 665union cvmx_iob_outb_req_pri_cnt { 666 uint64_t u64; 667 struct cvmx_iob_outb_req_pri_cnt_s { 668#ifdef __BIG_ENDIAN_BITFIELD 669 uint64_t reserved_16_63:48; 670 uint64_t cnt_enb:1; 671 uint64_t cnt_val:15; 672#else 673 uint64_t cnt_val:15; 674 uint64_t cnt_enb:1; 675 uint64_t reserved_16_63:48; 676#endif 677 } s; 678}; 679 680union cvmx_iob_p2c_req_pri_cnt { 681 uint64_t u64; 682 struct cvmx_iob_p2c_req_pri_cnt_s { 683#ifdef __BIG_ENDIAN_BITFIELD 684 uint64_t reserved_16_63:48; 685 uint64_t cnt_enb:1; 686 uint64_t cnt_val:15; 687#else 688 uint64_t cnt_val:15; 689 uint64_t cnt_enb:1; 690 uint64_t reserved_16_63:48; 691#endif 692 } s; 693}; 694 695union cvmx_iob_pkt_err { 696 uint64_t u64; 697 struct cvmx_iob_pkt_err_s { 698#ifdef __BIG_ENDIAN_BITFIELD 699 uint64_t reserved_12_63:52; 700 uint64_t vport:6; 701 uint64_t port:6; 702#else 703 uint64_t port:6; 704 uint64_t vport:6; 705 uint64_t reserved_12_63:52; 706#endif 707 } s; 708 struct cvmx_iob_pkt_err_cn30xx { 709#ifdef __BIG_ENDIAN_BITFIELD 710 uint64_t reserved_6_63:58; 711 uint64_t port:6; 712#else 713 uint64_t port:6; 714 uint64_t reserved_6_63:58; 715#endif 716 } cn30xx; 717}; 718 719union cvmx_iob_to_cmb_credits { 720 uint64_t u64; 721 struct cvmx_iob_to_cmb_credits_s { 722#ifdef __BIG_ENDIAN_BITFIELD 723 uint64_t reserved_6_63:58; 724 uint64_t ncb_rd:3; 725 uint64_t ncb_wr:3; 726#else 727 uint64_t ncb_wr:3; 728 uint64_t ncb_rd:3; 729 uint64_t reserved_6_63:58; 730#endif 731 } s; 732 struct cvmx_iob_to_cmb_credits_cn52xx { 733#ifdef __BIG_ENDIAN_BITFIELD 734 uint64_t reserved_9_63:55; 735 uint64_t pko_rd:3; 736 uint64_t ncb_rd:3; 737 uint64_t ncb_wr:3; 738#else 739 uint64_t ncb_wr:3; 740 uint64_t ncb_rd:3; 741 uint64_t pko_rd:3; 742 uint64_t reserved_9_63:55; 743#endif 744 } cn52xx; 745 struct cvmx_iob_to_cmb_credits_cn68xx { 746#ifdef __BIG_ENDIAN_BITFIELD 747 uint64_t reserved_9_63:55; 748 uint64_t dwb:3; 749 uint64_t ncb_rd:3; 750 uint64_t ncb_wr:3; 751#else 752 uint64_t ncb_wr:3; 753 uint64_t ncb_rd:3; 754 uint64_t dwb:3; 755 uint64_t reserved_9_63:55; 756#endif 757 } cn68xx; 758}; 759 760union cvmx_iob_to_ncb_did_00_credits { 761 uint64_t u64; 762 struct cvmx_iob_to_ncb_did_00_credits_s { 763#ifdef __BIG_ENDIAN_BITFIELD 764 uint64_t reserved_7_63:57; 765 uint64_t crd:7; 766#else 767 uint64_t crd:7; 768 uint64_t reserved_7_63:57; 769#endif 770 } s; 771}; 772 773union cvmx_iob_to_ncb_did_111_credits { 774 uint64_t u64; 775 struct cvmx_iob_to_ncb_did_111_credits_s { 776#ifdef __BIG_ENDIAN_BITFIELD 777 uint64_t reserved_7_63:57; 778 uint64_t crd:7; 779#else 780 uint64_t crd:7; 781 uint64_t reserved_7_63:57; 782#endif 783 } s; 784}; 785 786union cvmx_iob_to_ncb_did_223_credits { 787 uint64_t u64; 788 struct cvmx_iob_to_ncb_did_223_credits_s { 789#ifdef __BIG_ENDIAN_BITFIELD 790 uint64_t reserved_7_63:57; 791 uint64_t crd:7; 792#else 793 uint64_t crd:7; 794 uint64_t reserved_7_63:57; 795#endif 796 } s; 797}; 798 799union cvmx_iob_to_ncb_did_24_credits { 800 uint64_t u64; 801 struct cvmx_iob_to_ncb_did_24_credits_s { 802#ifdef __BIG_ENDIAN_BITFIELD 803 uint64_t reserved_7_63:57; 804 uint64_t crd:7; 805#else 806 uint64_t crd:7; 807 uint64_t reserved_7_63:57; 808#endif 809 } s; 810}; 811 812union cvmx_iob_to_ncb_did_32_credits { 813 uint64_t u64; 814 struct cvmx_iob_to_ncb_did_32_credits_s { 815#ifdef __BIG_ENDIAN_BITFIELD 816 uint64_t reserved_7_63:57; 817 uint64_t crd:7; 818#else 819 uint64_t crd:7; 820 uint64_t reserved_7_63:57; 821#endif 822 } s; 823}; 824 825union cvmx_iob_to_ncb_did_40_credits { 826 uint64_t u64; 827 struct cvmx_iob_to_ncb_did_40_credits_s { 828#ifdef __BIG_ENDIAN_BITFIELD 829 uint64_t reserved_7_63:57; 830 uint64_t crd:7; 831#else 832 uint64_t crd:7; 833 uint64_t reserved_7_63:57; 834#endif 835 } s; 836}; 837 838union cvmx_iob_to_ncb_did_55_credits { 839 uint64_t u64; 840 struct cvmx_iob_to_ncb_did_55_credits_s { 841#ifdef __BIG_ENDIAN_BITFIELD 842 uint64_t reserved_7_63:57; 843 uint64_t crd:7; 844#else 845 uint64_t crd:7; 846 uint64_t reserved_7_63:57; 847#endif 848 } s; 849}; 850 851union cvmx_iob_to_ncb_did_64_credits { 852 uint64_t u64; 853 struct cvmx_iob_to_ncb_did_64_credits_s { 854#ifdef __BIG_ENDIAN_BITFIELD 855 uint64_t reserved_7_63:57; 856 uint64_t crd:7; 857#else 858 uint64_t crd:7; 859 uint64_t reserved_7_63:57; 860#endif 861 } s; 862}; 863 864union cvmx_iob_to_ncb_did_79_credits { 865 uint64_t u64; 866 struct cvmx_iob_to_ncb_did_79_credits_s { 867#ifdef __BIG_ENDIAN_BITFIELD 868 uint64_t reserved_7_63:57; 869 uint64_t crd:7; 870#else 871 uint64_t crd:7; 872 uint64_t reserved_7_63:57; 873#endif 874 } s; 875}; 876 877union cvmx_iob_to_ncb_did_96_credits { 878 uint64_t u64; 879 struct cvmx_iob_to_ncb_did_96_credits_s { 880#ifdef __BIG_ENDIAN_BITFIELD 881 uint64_t reserved_7_63:57; 882 uint64_t crd:7; 883#else 884 uint64_t crd:7; 885 uint64_t reserved_7_63:57; 886#endif 887 } s; 888}; 889 890union cvmx_iob_to_ncb_did_98_credits { 891 uint64_t u64; 892 struct cvmx_iob_to_ncb_did_98_credits_s { 893#ifdef __BIG_ENDIAN_BITFIELD 894 uint64_t reserved_7_63:57; 895 uint64_t crd:7; 896#else 897 uint64_t crd:7; 898 uint64_t reserved_7_63:57; 899#endif 900 } s; 901}; 902 903#endif