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 66 union 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_cn30xx cn31xx; 123 struct cvmx_iob_bist_status_cn30xx cn38xx; 124 struct cvmx_iob_bist_status_cn30xx cn38xxp2; 125 struct cvmx_iob_bist_status_cn30xx cn50xx; 126 struct cvmx_iob_bist_status_cn30xx cn52xx; 127 struct cvmx_iob_bist_status_cn30xx cn52xxp1; 128 struct cvmx_iob_bist_status_cn30xx cn56xx; 129 struct cvmx_iob_bist_status_cn30xx cn56xxp1; 130 struct cvmx_iob_bist_status_cn30xx cn58xx; 131 struct cvmx_iob_bist_status_cn30xx cn58xxp1; 132 struct cvmx_iob_bist_status_cn61xx { 133 #ifdef __BIG_ENDIAN_BITFIELD 134 uint64_t reserved_23_63:41; 135 uint64_t xmdfif:1; 136 uint64_t xmcfif:1; 137 uint64_t iorfif:1; 138 uint64_t rsdfif:1; 139 uint64_t iocfif:1; 140 uint64_t icnrcb:1; 141 uint64_t icr0:1; 142 uint64_t icr1:1; 143 uint64_t icnr1:1; 144 uint64_t icnr0:1; 145 uint64_t ibdr0:1; 146 uint64_t ibdr1:1; 147 uint64_t ibr0:1; 148 uint64_t ibr1:1; 149 uint64_t icnrt:1; 150 uint64_t ibrq0:1; 151 uint64_t ibrq1:1; 152 uint64_t icrn0:1; 153 uint64_t icrn1:1; 154 uint64_t icrp0:1; 155 uint64_t icrp1:1; 156 uint64_t ibd:1; 157 uint64_t icd:1; 158 #else 159 uint64_t icd:1; 160 uint64_t ibd:1; 161 uint64_t icrp1:1; 162 uint64_t icrp0:1; 163 uint64_t icrn1:1; 164 uint64_t icrn0:1; 165 uint64_t ibrq1:1; 166 uint64_t ibrq0:1; 167 uint64_t icnrt:1; 168 uint64_t ibr1:1; 169 uint64_t ibr0:1; 170 uint64_t ibdr1:1; 171 uint64_t ibdr0:1; 172 uint64_t icnr0:1; 173 uint64_t icnr1:1; 174 uint64_t icr1:1; 175 uint64_t icr0:1; 176 uint64_t icnrcb:1; 177 uint64_t iocfif:1; 178 uint64_t rsdfif:1; 179 uint64_t iorfif:1; 180 uint64_t xmcfif:1; 181 uint64_t xmdfif:1; 182 uint64_t reserved_23_63:41; 183 #endif 184 } cn61xx; 185 struct cvmx_iob_bist_status_cn61xx cn63xx; 186 struct cvmx_iob_bist_status_cn61xx cn63xxp1; 187 struct cvmx_iob_bist_status_cn61xx cn66xx; 188 struct cvmx_iob_bist_status_cn68xx { 189 #ifdef __BIG_ENDIAN_BITFIELD 190 uint64_t reserved_18_63:46; 191 uint64_t xmdfif:1; 192 uint64_t xmcfif:1; 193 uint64_t iorfif:1; 194 uint64_t rsdfif:1; 195 uint64_t iocfif:1; 196 uint64_t icnrcb:1; 197 uint64_t icr0:1; 198 uint64_t icr1:1; 199 uint64_t icnr0:1; 200 uint64_t ibr0:1; 201 uint64_t ibr1:1; 202 uint64_t icnrt:1; 203 uint64_t ibrq0:1; 204 uint64_t ibrq1:1; 205 uint64_t icrn0:1; 206 uint64_t icrn1:1; 207 uint64_t ibd:1; 208 uint64_t icd:1; 209 #else 210 uint64_t icd:1; 211 uint64_t ibd:1; 212 uint64_t icrn1:1; 213 uint64_t icrn0:1; 214 uint64_t ibrq1:1; 215 uint64_t ibrq0:1; 216 uint64_t icnrt:1; 217 uint64_t ibr1:1; 218 uint64_t ibr0:1; 219 uint64_t icnr0:1; 220 uint64_t icr1:1; 221 uint64_t icr0:1; 222 uint64_t icnrcb:1; 223 uint64_t iocfif:1; 224 uint64_t rsdfif:1; 225 uint64_t iorfif:1; 226 uint64_t xmcfif:1; 227 uint64_t xmdfif:1; 228 uint64_t reserved_18_63:46; 229 #endif 230 } cn68xx; 231 struct cvmx_iob_bist_status_cn68xx cn68xxp1; 232 struct cvmx_iob_bist_status_cn61xx cnf71xx; 233 }; 234 235 union cvmx_iob_ctl_status { 236 uint64_t u64; 237 struct cvmx_iob_ctl_status_s { 238 #ifdef __BIG_ENDIAN_BITFIELD 239 uint64_t reserved_11_63:53; 240 uint64_t fif_dly:1; 241 uint64_t xmc_per:4; 242 uint64_t reserved_5_5:1; 243 uint64_t outb_mat:1; 244 uint64_t inb_mat:1; 245 uint64_t pko_enb:1; 246 uint64_t dwb_enb:1; 247 uint64_t fau_end:1; 248 #else 249 uint64_t fau_end:1; 250 uint64_t dwb_enb:1; 251 uint64_t pko_enb:1; 252 uint64_t inb_mat:1; 253 uint64_t outb_mat:1; 254 uint64_t reserved_5_5:1; 255 uint64_t xmc_per:4; 256 uint64_t fif_dly:1; 257 uint64_t reserved_11_63:53; 258 #endif 259 } s; 260 struct cvmx_iob_ctl_status_cn30xx { 261 #ifdef __BIG_ENDIAN_BITFIELD 262 uint64_t reserved_5_63:59; 263 uint64_t outb_mat:1; 264 uint64_t inb_mat:1; 265 uint64_t pko_enb:1; 266 uint64_t dwb_enb:1; 267 uint64_t fau_end:1; 268 #else 269 uint64_t fau_end:1; 270 uint64_t dwb_enb:1; 271 uint64_t pko_enb:1; 272 uint64_t inb_mat:1; 273 uint64_t outb_mat:1; 274 uint64_t reserved_5_63:59; 275 #endif 276 } cn30xx; 277 struct cvmx_iob_ctl_status_cn30xx cn31xx; 278 struct cvmx_iob_ctl_status_cn30xx cn38xx; 279 struct cvmx_iob_ctl_status_cn30xx cn38xxp2; 280 struct cvmx_iob_ctl_status_cn30xx cn50xx; 281 struct cvmx_iob_ctl_status_cn52xx { 282 #ifdef __BIG_ENDIAN_BITFIELD 283 uint64_t reserved_6_63:58; 284 uint64_t rr_mode:1; 285 uint64_t outb_mat:1; 286 uint64_t inb_mat:1; 287 uint64_t pko_enb:1; 288 uint64_t dwb_enb:1; 289 uint64_t fau_end:1; 290 #else 291 uint64_t fau_end:1; 292 uint64_t dwb_enb:1; 293 uint64_t pko_enb:1; 294 uint64_t inb_mat:1; 295 uint64_t outb_mat:1; 296 uint64_t rr_mode:1; 297 uint64_t reserved_6_63:58; 298 #endif 299 } cn52xx; 300 struct cvmx_iob_ctl_status_cn30xx cn52xxp1; 301 struct cvmx_iob_ctl_status_cn30xx cn56xx; 302 struct cvmx_iob_ctl_status_cn30xx cn56xxp1; 303 struct cvmx_iob_ctl_status_cn30xx cn58xx; 304 struct cvmx_iob_ctl_status_cn30xx cn58xxp1; 305 struct cvmx_iob_ctl_status_cn61xx { 306 #ifdef __BIG_ENDIAN_BITFIELD 307 uint64_t reserved_11_63:53; 308 uint64_t fif_dly:1; 309 uint64_t xmc_per:4; 310 uint64_t rr_mode:1; 311 uint64_t outb_mat:1; 312 uint64_t inb_mat:1; 313 uint64_t pko_enb:1; 314 uint64_t dwb_enb:1; 315 uint64_t fau_end:1; 316 #else 317 uint64_t fau_end:1; 318 uint64_t dwb_enb:1; 319 uint64_t pko_enb:1; 320 uint64_t inb_mat:1; 321 uint64_t outb_mat:1; 322 uint64_t rr_mode:1; 323 uint64_t xmc_per:4; 324 uint64_t fif_dly:1; 325 uint64_t reserved_11_63:53; 326 #endif 327 } cn61xx; 328 struct cvmx_iob_ctl_status_cn63xx { 329 #ifdef __BIG_ENDIAN_BITFIELD 330 uint64_t reserved_10_63:54; 331 uint64_t xmc_per:4; 332 uint64_t rr_mode:1; 333 uint64_t outb_mat:1; 334 uint64_t inb_mat:1; 335 uint64_t pko_enb:1; 336 uint64_t dwb_enb:1; 337 uint64_t fau_end:1; 338 #else 339 uint64_t fau_end:1; 340 uint64_t dwb_enb:1; 341 uint64_t pko_enb:1; 342 uint64_t inb_mat:1; 343 uint64_t outb_mat:1; 344 uint64_t rr_mode:1; 345 uint64_t xmc_per:4; 346 uint64_t reserved_10_63:54; 347 #endif 348 } cn63xx; 349 struct cvmx_iob_ctl_status_cn63xx cn63xxp1; 350 struct cvmx_iob_ctl_status_cn61xx cn66xx; 351 struct cvmx_iob_ctl_status_cn68xx { 352 #ifdef __BIG_ENDIAN_BITFIELD 353 uint64_t reserved_11_63:53; 354 uint64_t fif_dly:1; 355 uint64_t xmc_per:4; 356 uint64_t rsvr5:1; 357 uint64_t outb_mat:1; 358 uint64_t inb_mat:1; 359 uint64_t pko_enb:1; 360 uint64_t dwb_enb:1; 361 uint64_t fau_end:1; 362 #else 363 uint64_t fau_end:1; 364 uint64_t dwb_enb:1; 365 uint64_t pko_enb:1; 366 uint64_t inb_mat:1; 367 uint64_t outb_mat:1; 368 uint64_t rsvr5:1; 369 uint64_t xmc_per:4; 370 uint64_t fif_dly:1; 371 uint64_t reserved_11_63:53; 372 #endif 373 } cn68xx; 374 struct cvmx_iob_ctl_status_cn68xx cn68xxp1; 375 struct cvmx_iob_ctl_status_cn61xx cnf71xx; 376 }; 377 378 union cvmx_iob_dwb_pri_cnt { 379 uint64_t u64; 380 struct cvmx_iob_dwb_pri_cnt_s { 381 #ifdef __BIG_ENDIAN_BITFIELD 382 uint64_t reserved_16_63:48; 383 uint64_t cnt_enb:1; 384 uint64_t cnt_val:15; 385 #else 386 uint64_t cnt_val:15; 387 uint64_t cnt_enb:1; 388 uint64_t reserved_16_63:48; 389 #endif 390 } s; 391 struct cvmx_iob_dwb_pri_cnt_s cn38xx; 392 struct cvmx_iob_dwb_pri_cnt_s cn38xxp2; 393 struct cvmx_iob_dwb_pri_cnt_s cn52xx; 394 struct cvmx_iob_dwb_pri_cnt_s cn52xxp1; 395 struct cvmx_iob_dwb_pri_cnt_s cn56xx; 396 struct cvmx_iob_dwb_pri_cnt_s cn56xxp1; 397 struct cvmx_iob_dwb_pri_cnt_s cn58xx; 398 struct cvmx_iob_dwb_pri_cnt_s cn58xxp1; 399 struct cvmx_iob_dwb_pri_cnt_s cn61xx; 400 struct cvmx_iob_dwb_pri_cnt_s cn63xx; 401 struct cvmx_iob_dwb_pri_cnt_s cn63xxp1; 402 struct cvmx_iob_dwb_pri_cnt_s cn66xx; 403 struct cvmx_iob_dwb_pri_cnt_s cnf71xx; 404 }; 405 406 union cvmx_iob_fau_timeout { 407 uint64_t u64; 408 struct cvmx_iob_fau_timeout_s { 409 #ifdef __BIG_ENDIAN_BITFIELD 410 uint64_t reserved_13_63:51; 411 uint64_t tout_enb:1; 412 uint64_t tout_val:12; 413 #else 414 uint64_t tout_val:12; 415 uint64_t tout_enb:1; 416 uint64_t reserved_13_63:51; 417 #endif 418 } s; 419 struct cvmx_iob_fau_timeout_s cn30xx; 420 struct cvmx_iob_fau_timeout_s cn31xx; 421 struct cvmx_iob_fau_timeout_s cn38xx; 422 struct cvmx_iob_fau_timeout_s cn38xxp2; 423 struct cvmx_iob_fau_timeout_s cn50xx; 424 struct cvmx_iob_fau_timeout_s cn52xx; 425 struct cvmx_iob_fau_timeout_s cn52xxp1; 426 struct cvmx_iob_fau_timeout_s cn56xx; 427 struct cvmx_iob_fau_timeout_s cn56xxp1; 428 struct cvmx_iob_fau_timeout_s cn58xx; 429 struct cvmx_iob_fau_timeout_s cn58xxp1; 430 struct cvmx_iob_fau_timeout_s cn61xx; 431 struct cvmx_iob_fau_timeout_s cn63xx; 432 struct cvmx_iob_fau_timeout_s cn63xxp1; 433 struct cvmx_iob_fau_timeout_s cn66xx; 434 struct cvmx_iob_fau_timeout_s cn68xx; 435 struct cvmx_iob_fau_timeout_s cn68xxp1; 436 struct cvmx_iob_fau_timeout_s cnf71xx; 437 }; 438 439 union cvmx_iob_i2c_pri_cnt { 440 uint64_t u64; 441 struct cvmx_iob_i2c_pri_cnt_s { 442 #ifdef __BIG_ENDIAN_BITFIELD 443 uint64_t reserved_16_63:48; 444 uint64_t cnt_enb:1; 445 uint64_t cnt_val:15; 446 #else 447 uint64_t cnt_val:15; 448 uint64_t cnt_enb:1; 449 uint64_t reserved_16_63:48; 450 #endif 451 } s; 452 struct cvmx_iob_i2c_pri_cnt_s cn38xx; 453 struct cvmx_iob_i2c_pri_cnt_s cn38xxp2; 454 struct cvmx_iob_i2c_pri_cnt_s cn52xx; 455 struct cvmx_iob_i2c_pri_cnt_s cn52xxp1; 456 struct cvmx_iob_i2c_pri_cnt_s cn56xx; 457 struct cvmx_iob_i2c_pri_cnt_s cn56xxp1; 458 struct cvmx_iob_i2c_pri_cnt_s cn58xx; 459 struct cvmx_iob_i2c_pri_cnt_s cn58xxp1; 460 struct cvmx_iob_i2c_pri_cnt_s cn61xx; 461 struct cvmx_iob_i2c_pri_cnt_s cn63xx; 462 struct cvmx_iob_i2c_pri_cnt_s cn63xxp1; 463 struct cvmx_iob_i2c_pri_cnt_s cn66xx; 464 struct cvmx_iob_i2c_pri_cnt_s cnf71xx; 465 }; 466 467 union cvmx_iob_inb_control_match { 468 uint64_t u64; 469 struct cvmx_iob_inb_control_match_s { 470 #ifdef __BIG_ENDIAN_BITFIELD 471 uint64_t reserved_29_63:35; 472 uint64_t mask:8; 473 uint64_t opc:4; 474 uint64_t dst:9; 475 uint64_t src:8; 476 #else 477 uint64_t src:8; 478 uint64_t dst:9; 479 uint64_t opc:4; 480 uint64_t mask:8; 481 uint64_t reserved_29_63:35; 482 #endif 483 } s; 484 struct cvmx_iob_inb_control_match_s cn30xx; 485 struct cvmx_iob_inb_control_match_s cn31xx; 486 struct cvmx_iob_inb_control_match_s cn38xx; 487 struct cvmx_iob_inb_control_match_s cn38xxp2; 488 struct cvmx_iob_inb_control_match_s cn50xx; 489 struct cvmx_iob_inb_control_match_s cn52xx; 490 struct cvmx_iob_inb_control_match_s cn52xxp1; 491 struct cvmx_iob_inb_control_match_s cn56xx; 492 struct cvmx_iob_inb_control_match_s cn56xxp1; 493 struct cvmx_iob_inb_control_match_s cn58xx; 494 struct cvmx_iob_inb_control_match_s cn58xxp1; 495 struct cvmx_iob_inb_control_match_s cn61xx; 496 struct cvmx_iob_inb_control_match_s cn63xx; 497 struct cvmx_iob_inb_control_match_s cn63xxp1; 498 struct cvmx_iob_inb_control_match_s cn66xx; 499 struct cvmx_iob_inb_control_match_s cn68xx; 500 struct cvmx_iob_inb_control_match_s cn68xxp1; 501 struct cvmx_iob_inb_control_match_s cnf71xx; 502 }; 503 504 union cvmx_iob_inb_control_match_enb { 505 uint64_t u64; 506 struct cvmx_iob_inb_control_match_enb_s { 507 #ifdef __BIG_ENDIAN_BITFIELD 508 uint64_t reserved_29_63:35; 509 uint64_t mask:8; 510 uint64_t opc:4; 511 uint64_t dst:9; 512 uint64_t src:8; 513 #else 514 uint64_t src:8; 515 uint64_t dst:9; 516 uint64_t opc:4; 517 uint64_t mask:8; 518 uint64_t reserved_29_63:35; 519 #endif 520 } s; 521 struct cvmx_iob_inb_control_match_enb_s cn30xx; 522 struct cvmx_iob_inb_control_match_enb_s cn31xx; 523 struct cvmx_iob_inb_control_match_enb_s cn38xx; 524 struct cvmx_iob_inb_control_match_enb_s cn38xxp2; 525 struct cvmx_iob_inb_control_match_enb_s cn50xx; 526 struct cvmx_iob_inb_control_match_enb_s cn52xx; 527 struct cvmx_iob_inb_control_match_enb_s cn52xxp1; 528 struct cvmx_iob_inb_control_match_enb_s cn56xx; 529 struct cvmx_iob_inb_control_match_enb_s cn56xxp1; 530 struct cvmx_iob_inb_control_match_enb_s cn58xx; 531 struct cvmx_iob_inb_control_match_enb_s cn58xxp1; 532 struct cvmx_iob_inb_control_match_enb_s cn61xx; 533 struct cvmx_iob_inb_control_match_enb_s cn63xx; 534 struct cvmx_iob_inb_control_match_enb_s cn63xxp1; 535 struct cvmx_iob_inb_control_match_enb_s cn66xx; 536 struct cvmx_iob_inb_control_match_enb_s cn68xx; 537 struct cvmx_iob_inb_control_match_enb_s cn68xxp1; 538 struct cvmx_iob_inb_control_match_enb_s cnf71xx; 539 }; 540 541 union cvmx_iob_inb_data_match { 542 uint64_t u64; 543 struct cvmx_iob_inb_data_match_s { 544 #ifdef __BIG_ENDIAN_BITFIELD 545 uint64_t data:64; 546 #else 547 uint64_t data:64; 548 #endif 549 } s; 550 struct cvmx_iob_inb_data_match_s cn30xx; 551 struct cvmx_iob_inb_data_match_s cn31xx; 552 struct cvmx_iob_inb_data_match_s cn38xx; 553 struct cvmx_iob_inb_data_match_s cn38xxp2; 554 struct cvmx_iob_inb_data_match_s cn50xx; 555 struct cvmx_iob_inb_data_match_s cn52xx; 556 struct cvmx_iob_inb_data_match_s cn52xxp1; 557 struct cvmx_iob_inb_data_match_s cn56xx; 558 struct cvmx_iob_inb_data_match_s cn56xxp1; 559 struct cvmx_iob_inb_data_match_s cn58xx; 560 struct cvmx_iob_inb_data_match_s cn58xxp1; 561 struct cvmx_iob_inb_data_match_s cn61xx; 562 struct cvmx_iob_inb_data_match_s cn63xx; 563 struct cvmx_iob_inb_data_match_s cn63xxp1; 564 struct cvmx_iob_inb_data_match_s cn66xx; 565 struct cvmx_iob_inb_data_match_s cn68xx; 566 struct cvmx_iob_inb_data_match_s cn68xxp1; 567 struct cvmx_iob_inb_data_match_s cnf71xx; 568 }; 569 570 union cvmx_iob_inb_data_match_enb { 571 uint64_t u64; 572 struct cvmx_iob_inb_data_match_enb_s { 573 #ifdef __BIG_ENDIAN_BITFIELD 574 uint64_t data:64; 575 #else 576 uint64_t data:64; 577 #endif 578 } s; 579 struct cvmx_iob_inb_data_match_enb_s cn30xx; 580 struct cvmx_iob_inb_data_match_enb_s cn31xx; 581 struct cvmx_iob_inb_data_match_enb_s cn38xx; 582 struct cvmx_iob_inb_data_match_enb_s cn38xxp2; 583 struct cvmx_iob_inb_data_match_enb_s cn50xx; 584 struct cvmx_iob_inb_data_match_enb_s cn52xx; 585 struct cvmx_iob_inb_data_match_enb_s cn52xxp1; 586 struct cvmx_iob_inb_data_match_enb_s cn56xx; 587 struct cvmx_iob_inb_data_match_enb_s cn56xxp1; 588 struct cvmx_iob_inb_data_match_enb_s cn58xx; 589 struct cvmx_iob_inb_data_match_enb_s cn58xxp1; 590 struct cvmx_iob_inb_data_match_enb_s cn61xx; 591 struct cvmx_iob_inb_data_match_enb_s cn63xx; 592 struct cvmx_iob_inb_data_match_enb_s cn63xxp1; 593 struct cvmx_iob_inb_data_match_enb_s cn66xx; 594 struct cvmx_iob_inb_data_match_enb_s cn68xx; 595 struct cvmx_iob_inb_data_match_enb_s cn68xxp1; 596 struct cvmx_iob_inb_data_match_enb_s cnf71xx; 597 }; 598 599 union cvmx_iob_int_enb { 600 uint64_t u64; 601 struct cvmx_iob_int_enb_s { 602 #ifdef __BIG_ENDIAN_BITFIELD 603 uint64_t reserved_6_63:58; 604 uint64_t p_dat:1; 605 uint64_t np_dat:1; 606 uint64_t p_eop:1; 607 uint64_t p_sop:1; 608 uint64_t np_eop:1; 609 uint64_t np_sop:1; 610 #else 611 uint64_t np_sop:1; 612 uint64_t np_eop:1; 613 uint64_t p_sop:1; 614 uint64_t p_eop:1; 615 uint64_t np_dat:1; 616 uint64_t p_dat:1; 617 uint64_t reserved_6_63:58; 618 #endif 619 } s; 620 struct cvmx_iob_int_enb_cn30xx { 621 #ifdef __BIG_ENDIAN_BITFIELD 622 uint64_t reserved_4_63:60; 623 uint64_t p_eop:1; 624 uint64_t p_sop:1; 625 uint64_t np_eop:1; 626 uint64_t np_sop:1; 627 #else 628 uint64_t np_sop:1; 629 uint64_t np_eop:1; 630 uint64_t p_sop:1; 631 uint64_t p_eop:1; 632 uint64_t reserved_4_63:60; 633 #endif 634 } cn30xx; 635 struct cvmx_iob_int_enb_cn30xx cn31xx; 636 struct cvmx_iob_int_enb_cn30xx cn38xx; 637 struct cvmx_iob_int_enb_cn30xx cn38xxp2; 638 struct cvmx_iob_int_enb_s cn50xx; 639 struct cvmx_iob_int_enb_s cn52xx; 640 struct cvmx_iob_int_enb_s cn52xxp1; 641 struct cvmx_iob_int_enb_s cn56xx; 642 struct cvmx_iob_int_enb_s cn56xxp1; 643 struct cvmx_iob_int_enb_s cn58xx; 644 struct cvmx_iob_int_enb_s cn58xxp1; 645 struct cvmx_iob_int_enb_s cn61xx; 646 struct cvmx_iob_int_enb_s cn63xx; 647 struct cvmx_iob_int_enb_s cn63xxp1; 648 struct cvmx_iob_int_enb_s cn66xx; 649 struct cvmx_iob_int_enb_cn68xx { 650 #ifdef __BIG_ENDIAN_BITFIELD 651 uint64_t reserved_0_63:64; 652 #else 653 uint64_t reserved_0_63:64; 654 #endif 655 } cn68xx; 656 struct cvmx_iob_int_enb_cn68xx cn68xxp1; 657 struct cvmx_iob_int_enb_s cnf71xx; 658 }; 659 660 union cvmx_iob_int_sum { 661 uint64_t u64; 662 struct cvmx_iob_int_sum_s { 663 #ifdef __BIG_ENDIAN_BITFIELD 664 uint64_t reserved_6_63:58; 665 uint64_t p_dat:1; 666 uint64_t np_dat:1; 667 uint64_t p_eop:1; 668 uint64_t p_sop:1; 669 uint64_t np_eop:1; 670 uint64_t np_sop:1; 671 #else 672 uint64_t np_sop:1; 673 uint64_t np_eop:1; 674 uint64_t p_sop:1; 675 uint64_t p_eop:1; 676 uint64_t np_dat:1; 677 uint64_t p_dat:1; 678 uint64_t reserved_6_63:58; 679 #endif 680 } s; 681 struct cvmx_iob_int_sum_cn30xx { 682 #ifdef __BIG_ENDIAN_BITFIELD 683 uint64_t reserved_4_63:60; 684 uint64_t p_eop:1; 685 uint64_t p_sop:1; 686 uint64_t np_eop:1; 687 uint64_t np_sop:1; 688 #else 689 uint64_t np_sop:1; 690 uint64_t np_eop:1; 691 uint64_t p_sop:1; 692 uint64_t p_eop:1; 693 uint64_t reserved_4_63:60; 694 #endif 695 } cn30xx; 696 struct cvmx_iob_int_sum_cn30xx cn31xx; 697 struct cvmx_iob_int_sum_cn30xx cn38xx; 698 struct cvmx_iob_int_sum_cn30xx cn38xxp2; 699 struct cvmx_iob_int_sum_s cn50xx; 700 struct cvmx_iob_int_sum_s cn52xx; 701 struct cvmx_iob_int_sum_s cn52xxp1; 702 struct cvmx_iob_int_sum_s cn56xx; 703 struct cvmx_iob_int_sum_s cn56xxp1; 704 struct cvmx_iob_int_sum_s cn58xx; 705 struct cvmx_iob_int_sum_s cn58xxp1; 706 struct cvmx_iob_int_sum_s cn61xx; 707 struct cvmx_iob_int_sum_s cn63xx; 708 struct cvmx_iob_int_sum_s cn63xxp1; 709 struct cvmx_iob_int_sum_s cn66xx; 710 struct cvmx_iob_int_sum_cn68xx { 711 #ifdef __BIG_ENDIAN_BITFIELD 712 uint64_t reserved_0_63:64; 713 #else 714 uint64_t reserved_0_63:64; 715 #endif 716 } cn68xx; 717 struct cvmx_iob_int_sum_cn68xx cn68xxp1; 718 struct cvmx_iob_int_sum_s cnf71xx; 719 }; 720 721 union cvmx_iob_n2c_l2c_pri_cnt { 722 uint64_t u64; 723 struct cvmx_iob_n2c_l2c_pri_cnt_s { 724 #ifdef __BIG_ENDIAN_BITFIELD 725 uint64_t reserved_16_63:48; 726 uint64_t cnt_enb:1; 727 uint64_t cnt_val:15; 728 #else 729 uint64_t cnt_val:15; 730 uint64_t cnt_enb:1; 731 uint64_t reserved_16_63:48; 732 #endif 733 } s; 734 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx; 735 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2; 736 struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xx; 737 struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xxp1; 738 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xx; 739 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1; 740 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx; 741 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1; 742 struct cvmx_iob_n2c_l2c_pri_cnt_s cn61xx; 743 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xx; 744 struct cvmx_iob_n2c_l2c_pri_cnt_s cn63xxp1; 745 struct cvmx_iob_n2c_l2c_pri_cnt_s cn66xx; 746 struct cvmx_iob_n2c_l2c_pri_cnt_s cnf71xx; 747 }; 748 749 union cvmx_iob_n2c_rsp_pri_cnt { 750 uint64_t u64; 751 struct cvmx_iob_n2c_rsp_pri_cnt_s { 752 #ifdef __BIG_ENDIAN_BITFIELD 753 uint64_t reserved_16_63:48; 754 uint64_t cnt_enb:1; 755 uint64_t cnt_val:15; 756 #else 757 uint64_t cnt_val:15; 758 uint64_t cnt_enb:1; 759 uint64_t reserved_16_63:48; 760 #endif 761 } s; 762 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx; 763 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2; 764 struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xx; 765 struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xxp1; 766 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xx; 767 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1; 768 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx; 769 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1; 770 struct cvmx_iob_n2c_rsp_pri_cnt_s cn61xx; 771 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xx; 772 struct cvmx_iob_n2c_rsp_pri_cnt_s cn63xxp1; 773 struct cvmx_iob_n2c_rsp_pri_cnt_s cn66xx; 774 struct cvmx_iob_n2c_rsp_pri_cnt_s cnf71xx; 775 }; 776 777 union cvmx_iob_outb_com_pri_cnt { 778 uint64_t u64; 779 struct cvmx_iob_outb_com_pri_cnt_s { 780 #ifdef __BIG_ENDIAN_BITFIELD 781 uint64_t reserved_16_63:48; 782 uint64_t cnt_enb:1; 783 uint64_t cnt_val:15; 784 #else 785 uint64_t cnt_val:15; 786 uint64_t cnt_enb:1; 787 uint64_t reserved_16_63:48; 788 #endif 789 } s; 790 struct cvmx_iob_outb_com_pri_cnt_s cn38xx; 791 struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2; 792 struct cvmx_iob_outb_com_pri_cnt_s cn52xx; 793 struct cvmx_iob_outb_com_pri_cnt_s cn52xxp1; 794 struct cvmx_iob_outb_com_pri_cnt_s cn56xx; 795 struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1; 796 struct cvmx_iob_outb_com_pri_cnt_s cn58xx; 797 struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1; 798 struct cvmx_iob_outb_com_pri_cnt_s cn61xx; 799 struct cvmx_iob_outb_com_pri_cnt_s cn63xx; 800 struct cvmx_iob_outb_com_pri_cnt_s cn63xxp1; 801 struct cvmx_iob_outb_com_pri_cnt_s cn66xx; 802 struct cvmx_iob_outb_com_pri_cnt_s cn68xx; 803 struct cvmx_iob_outb_com_pri_cnt_s cn68xxp1; 804 struct cvmx_iob_outb_com_pri_cnt_s cnf71xx; 805 }; 806 807 union cvmx_iob_outb_control_match { 808 uint64_t u64; 809 struct cvmx_iob_outb_control_match_s { 810 #ifdef __BIG_ENDIAN_BITFIELD 811 uint64_t reserved_26_63:38; 812 uint64_t mask:8; 813 uint64_t eot:1; 814 uint64_t dst:8; 815 uint64_t src:9; 816 #else 817 uint64_t src:9; 818 uint64_t dst:8; 819 uint64_t eot:1; 820 uint64_t mask:8; 821 uint64_t reserved_26_63:38; 822 #endif 823 } s; 824 struct cvmx_iob_outb_control_match_s cn30xx; 825 struct cvmx_iob_outb_control_match_s cn31xx; 826 struct cvmx_iob_outb_control_match_s cn38xx; 827 struct cvmx_iob_outb_control_match_s cn38xxp2; 828 struct cvmx_iob_outb_control_match_s cn50xx; 829 struct cvmx_iob_outb_control_match_s cn52xx; 830 struct cvmx_iob_outb_control_match_s cn52xxp1; 831 struct cvmx_iob_outb_control_match_s cn56xx; 832 struct cvmx_iob_outb_control_match_s cn56xxp1; 833 struct cvmx_iob_outb_control_match_s cn58xx; 834 struct cvmx_iob_outb_control_match_s cn58xxp1; 835 struct cvmx_iob_outb_control_match_s cn61xx; 836 struct cvmx_iob_outb_control_match_s cn63xx; 837 struct cvmx_iob_outb_control_match_s cn63xxp1; 838 struct cvmx_iob_outb_control_match_s cn66xx; 839 struct cvmx_iob_outb_control_match_s cn68xx; 840 struct cvmx_iob_outb_control_match_s cn68xxp1; 841 struct cvmx_iob_outb_control_match_s cnf71xx; 842 }; 843 844 union cvmx_iob_outb_control_match_enb { 845 uint64_t u64; 846 struct cvmx_iob_outb_control_match_enb_s { 847 #ifdef __BIG_ENDIAN_BITFIELD 848 uint64_t reserved_26_63:38; 849 uint64_t mask:8; 850 uint64_t eot:1; 851 uint64_t dst:8; 852 uint64_t src:9; 853 #else 854 uint64_t src:9; 855 uint64_t dst:8; 856 uint64_t eot:1; 857 uint64_t mask:8; 858 uint64_t reserved_26_63:38; 859 #endif 860 } s; 861 struct cvmx_iob_outb_control_match_enb_s cn30xx; 862 struct cvmx_iob_outb_control_match_enb_s cn31xx; 863 struct cvmx_iob_outb_control_match_enb_s cn38xx; 864 struct cvmx_iob_outb_control_match_enb_s cn38xxp2; 865 struct cvmx_iob_outb_control_match_enb_s cn50xx; 866 struct cvmx_iob_outb_control_match_enb_s cn52xx; 867 struct cvmx_iob_outb_control_match_enb_s cn52xxp1; 868 struct cvmx_iob_outb_control_match_enb_s cn56xx; 869 struct cvmx_iob_outb_control_match_enb_s cn56xxp1; 870 struct cvmx_iob_outb_control_match_enb_s cn58xx; 871 struct cvmx_iob_outb_control_match_enb_s cn58xxp1; 872 struct cvmx_iob_outb_control_match_enb_s cn61xx; 873 struct cvmx_iob_outb_control_match_enb_s cn63xx; 874 struct cvmx_iob_outb_control_match_enb_s cn63xxp1; 875 struct cvmx_iob_outb_control_match_enb_s cn66xx; 876 struct cvmx_iob_outb_control_match_enb_s cn68xx; 877 struct cvmx_iob_outb_control_match_enb_s cn68xxp1; 878 struct cvmx_iob_outb_control_match_enb_s cnf71xx; 879 }; 880 881 union cvmx_iob_outb_data_match { 882 uint64_t u64; 883 struct cvmx_iob_outb_data_match_s { 884 #ifdef __BIG_ENDIAN_BITFIELD 885 uint64_t data:64; 886 #else 887 uint64_t data:64; 888 #endif 889 } s; 890 struct cvmx_iob_outb_data_match_s cn30xx; 891 struct cvmx_iob_outb_data_match_s cn31xx; 892 struct cvmx_iob_outb_data_match_s cn38xx; 893 struct cvmx_iob_outb_data_match_s cn38xxp2; 894 struct cvmx_iob_outb_data_match_s cn50xx; 895 struct cvmx_iob_outb_data_match_s cn52xx; 896 struct cvmx_iob_outb_data_match_s cn52xxp1; 897 struct cvmx_iob_outb_data_match_s cn56xx; 898 struct cvmx_iob_outb_data_match_s cn56xxp1; 899 struct cvmx_iob_outb_data_match_s cn58xx; 900 struct cvmx_iob_outb_data_match_s cn58xxp1; 901 struct cvmx_iob_outb_data_match_s cn61xx; 902 struct cvmx_iob_outb_data_match_s cn63xx; 903 struct cvmx_iob_outb_data_match_s cn63xxp1; 904 struct cvmx_iob_outb_data_match_s cn66xx; 905 struct cvmx_iob_outb_data_match_s cn68xx; 906 struct cvmx_iob_outb_data_match_s cn68xxp1; 907 struct cvmx_iob_outb_data_match_s cnf71xx; 908 }; 909 910 union cvmx_iob_outb_data_match_enb { 911 uint64_t u64; 912 struct cvmx_iob_outb_data_match_enb_s { 913 #ifdef __BIG_ENDIAN_BITFIELD 914 uint64_t data:64; 915 #else 916 uint64_t data:64; 917 #endif 918 } s; 919 struct cvmx_iob_outb_data_match_enb_s cn30xx; 920 struct cvmx_iob_outb_data_match_enb_s cn31xx; 921 struct cvmx_iob_outb_data_match_enb_s cn38xx; 922 struct cvmx_iob_outb_data_match_enb_s cn38xxp2; 923 struct cvmx_iob_outb_data_match_enb_s cn50xx; 924 struct cvmx_iob_outb_data_match_enb_s cn52xx; 925 struct cvmx_iob_outb_data_match_enb_s cn52xxp1; 926 struct cvmx_iob_outb_data_match_enb_s cn56xx; 927 struct cvmx_iob_outb_data_match_enb_s cn56xxp1; 928 struct cvmx_iob_outb_data_match_enb_s cn58xx; 929 struct cvmx_iob_outb_data_match_enb_s cn58xxp1; 930 struct cvmx_iob_outb_data_match_enb_s cn61xx; 931 struct cvmx_iob_outb_data_match_enb_s cn63xx; 932 struct cvmx_iob_outb_data_match_enb_s cn63xxp1; 933 struct cvmx_iob_outb_data_match_enb_s cn66xx; 934 struct cvmx_iob_outb_data_match_enb_s cn68xx; 935 struct cvmx_iob_outb_data_match_enb_s cn68xxp1; 936 struct cvmx_iob_outb_data_match_enb_s cnf71xx; 937 }; 938 939 union cvmx_iob_outb_fpa_pri_cnt { 940 uint64_t u64; 941 struct cvmx_iob_outb_fpa_pri_cnt_s { 942 #ifdef __BIG_ENDIAN_BITFIELD 943 uint64_t reserved_16_63:48; 944 uint64_t cnt_enb:1; 945 uint64_t cnt_val:15; 946 #else 947 uint64_t cnt_val:15; 948 uint64_t cnt_enb:1; 949 uint64_t reserved_16_63:48; 950 #endif 951 } s; 952 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx; 953 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2; 954 struct cvmx_iob_outb_fpa_pri_cnt_s cn52xx; 955 struct cvmx_iob_outb_fpa_pri_cnt_s cn52xxp1; 956 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xx; 957 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1; 958 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx; 959 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1; 960 struct cvmx_iob_outb_fpa_pri_cnt_s cn61xx; 961 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xx; 962 struct cvmx_iob_outb_fpa_pri_cnt_s cn63xxp1; 963 struct cvmx_iob_outb_fpa_pri_cnt_s cn66xx; 964 struct cvmx_iob_outb_fpa_pri_cnt_s cn68xx; 965 struct cvmx_iob_outb_fpa_pri_cnt_s cn68xxp1; 966 struct cvmx_iob_outb_fpa_pri_cnt_s cnf71xx; 967 }; 968 969 union cvmx_iob_outb_req_pri_cnt { 970 uint64_t u64; 971 struct cvmx_iob_outb_req_pri_cnt_s { 972 #ifdef __BIG_ENDIAN_BITFIELD 973 uint64_t reserved_16_63:48; 974 uint64_t cnt_enb:1; 975 uint64_t cnt_val:15; 976 #else 977 uint64_t cnt_val:15; 978 uint64_t cnt_enb:1; 979 uint64_t reserved_16_63:48; 980 #endif 981 } s; 982 struct cvmx_iob_outb_req_pri_cnt_s cn38xx; 983 struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2; 984 struct cvmx_iob_outb_req_pri_cnt_s cn52xx; 985 struct cvmx_iob_outb_req_pri_cnt_s cn52xxp1; 986 struct cvmx_iob_outb_req_pri_cnt_s cn56xx; 987 struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1; 988 struct cvmx_iob_outb_req_pri_cnt_s cn58xx; 989 struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1; 990 struct cvmx_iob_outb_req_pri_cnt_s cn61xx; 991 struct cvmx_iob_outb_req_pri_cnt_s cn63xx; 992 struct cvmx_iob_outb_req_pri_cnt_s cn63xxp1; 993 struct cvmx_iob_outb_req_pri_cnt_s cn66xx; 994 struct cvmx_iob_outb_req_pri_cnt_s cn68xx; 995 struct cvmx_iob_outb_req_pri_cnt_s cn68xxp1; 996 struct cvmx_iob_outb_req_pri_cnt_s cnf71xx; 997 }; 998 999 union cvmx_iob_p2c_req_pri_cnt { 1000 uint64_t u64; 1001 struct cvmx_iob_p2c_req_pri_cnt_s { 1002 #ifdef __BIG_ENDIAN_BITFIELD 1003 uint64_t reserved_16_63:48; 1004 uint64_t cnt_enb:1; 1005 uint64_t cnt_val:15; 1006 #else 1007 uint64_t cnt_val:15; 1008 uint64_t cnt_enb:1; 1009 uint64_t reserved_16_63:48; 1010 #endif 1011 } s; 1012 struct cvmx_iob_p2c_req_pri_cnt_s cn38xx; 1013 struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2; 1014 struct cvmx_iob_p2c_req_pri_cnt_s cn52xx; 1015 struct cvmx_iob_p2c_req_pri_cnt_s cn52xxp1; 1016 struct cvmx_iob_p2c_req_pri_cnt_s cn56xx; 1017 struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1; 1018 struct cvmx_iob_p2c_req_pri_cnt_s cn58xx; 1019 struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1; 1020 struct cvmx_iob_p2c_req_pri_cnt_s cn61xx; 1021 struct cvmx_iob_p2c_req_pri_cnt_s cn63xx; 1022 struct cvmx_iob_p2c_req_pri_cnt_s cn63xxp1; 1023 struct cvmx_iob_p2c_req_pri_cnt_s cn66xx; 1024 struct cvmx_iob_p2c_req_pri_cnt_s cnf71xx; 1025 }; 1026 1027 union cvmx_iob_pkt_err { 1028 uint64_t u64; 1029 struct cvmx_iob_pkt_err_s { 1030 #ifdef __BIG_ENDIAN_BITFIELD 1031 uint64_t reserved_12_63:52; 1032 uint64_t vport:6; 1033 uint64_t port:6; 1034 #else 1035 uint64_t port:6; 1036 uint64_t vport:6; 1037 uint64_t reserved_12_63:52; 1038 #endif 1039 } s; 1040 struct cvmx_iob_pkt_err_cn30xx { 1041 #ifdef __BIG_ENDIAN_BITFIELD 1042 uint64_t reserved_6_63:58; 1043 uint64_t port:6; 1044 #else 1045 uint64_t port:6; 1046 uint64_t reserved_6_63:58; 1047 #endif 1048 } cn30xx; 1049 struct cvmx_iob_pkt_err_cn30xx cn31xx; 1050 struct cvmx_iob_pkt_err_cn30xx cn38xx; 1051 struct cvmx_iob_pkt_err_cn30xx cn38xxp2; 1052 struct cvmx_iob_pkt_err_cn30xx cn50xx; 1053 struct cvmx_iob_pkt_err_cn30xx cn52xx; 1054 struct cvmx_iob_pkt_err_cn30xx cn52xxp1; 1055 struct cvmx_iob_pkt_err_cn30xx cn56xx; 1056 struct cvmx_iob_pkt_err_cn30xx cn56xxp1; 1057 struct cvmx_iob_pkt_err_cn30xx cn58xx; 1058 struct cvmx_iob_pkt_err_cn30xx cn58xxp1; 1059 struct cvmx_iob_pkt_err_s cn61xx; 1060 struct cvmx_iob_pkt_err_s cn63xx; 1061 struct cvmx_iob_pkt_err_s cn63xxp1; 1062 struct cvmx_iob_pkt_err_s cn66xx; 1063 struct cvmx_iob_pkt_err_s cnf71xx; 1064 }; 1065 1066 union cvmx_iob_to_cmb_credits { 1067 uint64_t u64; 1068 struct cvmx_iob_to_cmb_credits_s { 1069 #ifdef __BIG_ENDIAN_BITFIELD 1070 uint64_t reserved_6_63:58; 1071 uint64_t ncb_rd:3; 1072 uint64_t ncb_wr:3; 1073 #else 1074 uint64_t ncb_wr:3; 1075 uint64_t ncb_rd:3; 1076 uint64_t reserved_6_63:58; 1077 #endif 1078 } s; 1079 struct cvmx_iob_to_cmb_credits_cn52xx { 1080 #ifdef __BIG_ENDIAN_BITFIELD 1081 uint64_t reserved_9_63:55; 1082 uint64_t pko_rd:3; 1083 uint64_t ncb_rd:3; 1084 uint64_t ncb_wr:3; 1085 #else 1086 uint64_t ncb_wr:3; 1087 uint64_t ncb_rd:3; 1088 uint64_t pko_rd:3; 1089 uint64_t reserved_9_63:55; 1090 #endif 1091 } cn52xx; 1092 struct cvmx_iob_to_cmb_credits_cn52xx cn61xx; 1093 struct cvmx_iob_to_cmb_credits_cn52xx cn63xx; 1094 struct cvmx_iob_to_cmb_credits_cn52xx cn63xxp1; 1095 struct cvmx_iob_to_cmb_credits_cn52xx cn66xx; 1096 struct cvmx_iob_to_cmb_credits_cn68xx { 1097 #ifdef __BIG_ENDIAN_BITFIELD 1098 uint64_t reserved_9_63:55; 1099 uint64_t dwb:3; 1100 uint64_t ncb_rd:3; 1101 uint64_t ncb_wr:3; 1102 #else 1103 uint64_t ncb_wr:3; 1104 uint64_t ncb_rd:3; 1105 uint64_t dwb:3; 1106 uint64_t reserved_9_63:55; 1107 #endif 1108 } cn68xx; 1109 struct cvmx_iob_to_cmb_credits_cn68xx cn68xxp1; 1110 struct cvmx_iob_to_cmb_credits_cn52xx cnf71xx; 1111 }; 1112 1113 union cvmx_iob_to_ncb_did_00_credits { 1114 uint64_t u64; 1115 struct cvmx_iob_to_ncb_did_00_credits_s { 1116 #ifdef __BIG_ENDIAN_BITFIELD 1117 uint64_t reserved_7_63:57; 1118 uint64_t crd:7; 1119 #else 1120 uint64_t crd:7; 1121 uint64_t reserved_7_63:57; 1122 #endif 1123 } s; 1124 struct cvmx_iob_to_ncb_did_00_credits_s cn68xx; 1125 struct cvmx_iob_to_ncb_did_00_credits_s cn68xxp1; 1126 }; 1127 1128 union cvmx_iob_to_ncb_did_111_credits { 1129 uint64_t u64; 1130 struct cvmx_iob_to_ncb_did_111_credits_s { 1131 #ifdef __BIG_ENDIAN_BITFIELD 1132 uint64_t reserved_7_63:57; 1133 uint64_t crd:7; 1134 #else 1135 uint64_t crd:7; 1136 uint64_t reserved_7_63:57; 1137 #endif 1138 } s; 1139 struct cvmx_iob_to_ncb_did_111_credits_s cn68xx; 1140 struct cvmx_iob_to_ncb_did_111_credits_s cn68xxp1; 1141 }; 1142 1143 union cvmx_iob_to_ncb_did_223_credits { 1144 uint64_t u64; 1145 struct cvmx_iob_to_ncb_did_223_credits_s { 1146 #ifdef __BIG_ENDIAN_BITFIELD 1147 uint64_t reserved_7_63:57; 1148 uint64_t crd:7; 1149 #else 1150 uint64_t crd:7; 1151 uint64_t reserved_7_63:57; 1152 #endif 1153 } s; 1154 struct cvmx_iob_to_ncb_did_223_credits_s cn68xx; 1155 struct cvmx_iob_to_ncb_did_223_credits_s cn68xxp1; 1156 }; 1157 1158 union cvmx_iob_to_ncb_did_24_credits { 1159 uint64_t u64; 1160 struct cvmx_iob_to_ncb_did_24_credits_s { 1161 #ifdef __BIG_ENDIAN_BITFIELD 1162 uint64_t reserved_7_63:57; 1163 uint64_t crd:7; 1164 #else 1165 uint64_t crd:7; 1166 uint64_t reserved_7_63:57; 1167 #endif 1168 } s; 1169 struct cvmx_iob_to_ncb_did_24_credits_s cn68xx; 1170 struct cvmx_iob_to_ncb_did_24_credits_s cn68xxp1; 1171 }; 1172 1173 union cvmx_iob_to_ncb_did_32_credits { 1174 uint64_t u64; 1175 struct cvmx_iob_to_ncb_did_32_credits_s { 1176 #ifdef __BIG_ENDIAN_BITFIELD 1177 uint64_t reserved_7_63:57; 1178 uint64_t crd:7; 1179 #else 1180 uint64_t crd:7; 1181 uint64_t reserved_7_63:57; 1182 #endif 1183 } s; 1184 struct cvmx_iob_to_ncb_did_32_credits_s cn68xx; 1185 struct cvmx_iob_to_ncb_did_32_credits_s cn68xxp1; 1186 }; 1187 1188 union cvmx_iob_to_ncb_did_40_credits { 1189 uint64_t u64; 1190 struct cvmx_iob_to_ncb_did_40_credits_s { 1191 #ifdef __BIG_ENDIAN_BITFIELD 1192 uint64_t reserved_7_63:57; 1193 uint64_t crd:7; 1194 #else 1195 uint64_t crd:7; 1196 uint64_t reserved_7_63:57; 1197 #endif 1198 } s; 1199 struct cvmx_iob_to_ncb_did_40_credits_s cn68xx; 1200 struct cvmx_iob_to_ncb_did_40_credits_s cn68xxp1; 1201 }; 1202 1203 union cvmx_iob_to_ncb_did_55_credits { 1204 uint64_t u64; 1205 struct cvmx_iob_to_ncb_did_55_credits_s { 1206 #ifdef __BIG_ENDIAN_BITFIELD 1207 uint64_t reserved_7_63:57; 1208 uint64_t crd:7; 1209 #else 1210 uint64_t crd:7; 1211 uint64_t reserved_7_63:57; 1212 #endif 1213 } s; 1214 struct cvmx_iob_to_ncb_did_55_credits_s cn68xx; 1215 struct cvmx_iob_to_ncb_did_55_credits_s cn68xxp1; 1216 }; 1217 1218 union cvmx_iob_to_ncb_did_64_credits { 1219 uint64_t u64; 1220 struct cvmx_iob_to_ncb_did_64_credits_s { 1221 #ifdef __BIG_ENDIAN_BITFIELD 1222 uint64_t reserved_7_63:57; 1223 uint64_t crd:7; 1224 #else 1225 uint64_t crd:7; 1226 uint64_t reserved_7_63:57; 1227 #endif 1228 } s; 1229 struct cvmx_iob_to_ncb_did_64_credits_s cn68xx; 1230 struct cvmx_iob_to_ncb_did_64_credits_s cn68xxp1; 1231 }; 1232 1233 union cvmx_iob_to_ncb_did_79_credits { 1234 uint64_t u64; 1235 struct cvmx_iob_to_ncb_did_79_credits_s { 1236 #ifdef __BIG_ENDIAN_BITFIELD 1237 uint64_t reserved_7_63:57; 1238 uint64_t crd:7; 1239 #else 1240 uint64_t crd:7; 1241 uint64_t reserved_7_63:57; 1242 #endif 1243 } s; 1244 struct cvmx_iob_to_ncb_did_79_credits_s cn68xx; 1245 struct cvmx_iob_to_ncb_did_79_credits_s cn68xxp1; 1246 }; 1247 1248 union cvmx_iob_to_ncb_did_96_credits { 1249 uint64_t u64; 1250 struct cvmx_iob_to_ncb_did_96_credits_s { 1251 #ifdef __BIG_ENDIAN_BITFIELD 1252 uint64_t reserved_7_63:57; 1253 uint64_t crd:7; 1254 #else 1255 uint64_t crd:7; 1256 uint64_t reserved_7_63:57; 1257 #endif 1258 } s; 1259 struct cvmx_iob_to_ncb_did_96_credits_s cn68xx; 1260 struct cvmx_iob_to_ncb_did_96_credits_s cn68xxp1; 1261 }; 1262 1263 union cvmx_iob_to_ncb_did_98_credits { 1264 uint64_t u64; 1265 struct cvmx_iob_to_ncb_did_98_credits_s { 1266 #ifdef __BIG_ENDIAN_BITFIELD 1267 uint64_t reserved_7_63:57; 1268 uint64_t crd:7; 1269 #else 1270 uint64_t crd:7; 1271 uint64_t reserved_7_63:57; 1272 #endif 1273 } s; 1274 struct cvmx_iob_to_ncb_did_98_credits_s cn68xx; 1275 struct cvmx_iob_to_ncb_did_98_credits_s cn68xxp1; 1276 }; 1277 1278 #endif 1279