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_IOB_DEFS_H__ 29 #define __CVMX_IOB_DEFS_H__ 30 31 #define CVMX_IOB_BIST_STATUS \ 32 CVMX_ADD_IO_SEG(0x00011800F00007F8ull) 33 #define CVMX_IOB_CTL_STATUS \ 34 CVMX_ADD_IO_SEG(0x00011800F0000050ull) 35 #define CVMX_IOB_DWB_PRI_CNT \ 36 CVMX_ADD_IO_SEG(0x00011800F0000028ull) 37 #define CVMX_IOB_FAU_TIMEOUT \ 38 CVMX_ADD_IO_SEG(0x00011800F0000000ull) 39 #define CVMX_IOB_I2C_PRI_CNT \ 40 CVMX_ADD_IO_SEG(0x00011800F0000010ull) 41 #define CVMX_IOB_INB_CONTROL_MATCH \ 42 CVMX_ADD_IO_SEG(0x00011800F0000078ull) 43 #define CVMX_IOB_INB_CONTROL_MATCH_ENB \ 44 CVMX_ADD_IO_SEG(0x00011800F0000088ull) 45 #define CVMX_IOB_INB_DATA_MATCH \ 46 CVMX_ADD_IO_SEG(0x00011800F0000070ull) 47 #define CVMX_IOB_INB_DATA_MATCH_ENB \ 48 CVMX_ADD_IO_SEG(0x00011800F0000080ull) 49 #define CVMX_IOB_INT_ENB \ 50 CVMX_ADD_IO_SEG(0x00011800F0000060ull) 51 #define CVMX_IOB_INT_SUM \ 52 CVMX_ADD_IO_SEG(0x00011800F0000058ull) 53 #define CVMX_IOB_N2C_L2C_PRI_CNT \ 54 CVMX_ADD_IO_SEG(0x00011800F0000020ull) 55 #define CVMX_IOB_N2C_RSP_PRI_CNT \ 56 CVMX_ADD_IO_SEG(0x00011800F0000008ull) 57 #define CVMX_IOB_OUTB_COM_PRI_CNT \ 58 CVMX_ADD_IO_SEG(0x00011800F0000040ull) 59 #define CVMX_IOB_OUTB_CONTROL_MATCH \ 60 CVMX_ADD_IO_SEG(0x00011800F0000098ull) 61 #define CVMX_IOB_OUTB_CONTROL_MATCH_ENB \ 62 CVMX_ADD_IO_SEG(0x00011800F00000A8ull) 63 #define CVMX_IOB_OUTB_DATA_MATCH \ 64 CVMX_ADD_IO_SEG(0x00011800F0000090ull) 65 #define CVMX_IOB_OUTB_DATA_MATCH_ENB \ 66 CVMX_ADD_IO_SEG(0x00011800F00000A0ull) 67 #define CVMX_IOB_OUTB_FPA_PRI_CNT \ 68 CVMX_ADD_IO_SEG(0x00011800F0000048ull) 69 #define CVMX_IOB_OUTB_REQ_PRI_CNT \ 70 CVMX_ADD_IO_SEG(0x00011800F0000038ull) 71 #define CVMX_IOB_P2C_REQ_PRI_CNT \ 72 CVMX_ADD_IO_SEG(0x00011800F0000018ull) 73 #define CVMX_IOB_PKT_ERR \ 74 CVMX_ADD_IO_SEG(0x00011800F0000068ull) 75 76 union cvmx_iob_bist_status { 77 uint64_t u64; 78 struct cvmx_iob_bist_status_s { 79 uint64_t reserved_18_63:46; 80 uint64_t icnrcb:1; 81 uint64_t icr0:1; 82 uint64_t icr1:1; 83 uint64_t icnr1:1; 84 uint64_t icnr0:1; 85 uint64_t ibdr0:1; 86 uint64_t ibdr1:1; 87 uint64_t ibr0:1; 88 uint64_t ibr1:1; 89 uint64_t icnrt:1; 90 uint64_t ibrq0:1; 91 uint64_t ibrq1:1; 92 uint64_t icrn0:1; 93 uint64_t icrn1:1; 94 uint64_t icrp0:1; 95 uint64_t icrp1:1; 96 uint64_t ibd:1; 97 uint64_t icd:1; 98 } s; 99 struct cvmx_iob_bist_status_s cn30xx; 100 struct cvmx_iob_bist_status_s cn31xx; 101 struct cvmx_iob_bist_status_s cn38xx; 102 struct cvmx_iob_bist_status_s cn38xxp2; 103 struct cvmx_iob_bist_status_s cn50xx; 104 struct cvmx_iob_bist_status_s cn52xx; 105 struct cvmx_iob_bist_status_s cn52xxp1; 106 struct cvmx_iob_bist_status_s cn56xx; 107 struct cvmx_iob_bist_status_s cn56xxp1; 108 struct cvmx_iob_bist_status_s cn58xx; 109 struct cvmx_iob_bist_status_s cn58xxp1; 110 }; 111 112 union cvmx_iob_ctl_status { 113 uint64_t u64; 114 struct cvmx_iob_ctl_status_s { 115 uint64_t reserved_5_63:59; 116 uint64_t outb_mat:1; 117 uint64_t inb_mat:1; 118 uint64_t pko_enb:1; 119 uint64_t dwb_enb:1; 120 uint64_t fau_end:1; 121 } s; 122 struct cvmx_iob_ctl_status_s cn30xx; 123 struct cvmx_iob_ctl_status_s cn31xx; 124 struct cvmx_iob_ctl_status_s cn38xx; 125 struct cvmx_iob_ctl_status_s cn38xxp2; 126 struct cvmx_iob_ctl_status_s cn50xx; 127 struct cvmx_iob_ctl_status_s cn52xx; 128 struct cvmx_iob_ctl_status_s cn52xxp1; 129 struct cvmx_iob_ctl_status_s cn56xx; 130 struct cvmx_iob_ctl_status_s cn56xxp1; 131 struct cvmx_iob_ctl_status_s cn58xx; 132 struct cvmx_iob_ctl_status_s cn58xxp1; 133 }; 134 135 union cvmx_iob_dwb_pri_cnt { 136 uint64_t u64; 137 struct cvmx_iob_dwb_pri_cnt_s { 138 uint64_t reserved_16_63:48; 139 uint64_t cnt_enb:1; 140 uint64_t cnt_val:15; 141 } s; 142 struct cvmx_iob_dwb_pri_cnt_s cn38xx; 143 struct cvmx_iob_dwb_pri_cnt_s cn38xxp2; 144 struct cvmx_iob_dwb_pri_cnt_s cn52xx; 145 struct cvmx_iob_dwb_pri_cnt_s cn52xxp1; 146 struct cvmx_iob_dwb_pri_cnt_s cn56xx; 147 struct cvmx_iob_dwb_pri_cnt_s cn56xxp1; 148 struct cvmx_iob_dwb_pri_cnt_s cn58xx; 149 struct cvmx_iob_dwb_pri_cnt_s cn58xxp1; 150 }; 151 152 union cvmx_iob_fau_timeout { 153 uint64_t u64; 154 struct cvmx_iob_fau_timeout_s { 155 uint64_t reserved_13_63:51; 156 uint64_t tout_enb:1; 157 uint64_t tout_val:12; 158 } s; 159 struct cvmx_iob_fau_timeout_s cn30xx; 160 struct cvmx_iob_fau_timeout_s cn31xx; 161 struct cvmx_iob_fau_timeout_s cn38xx; 162 struct cvmx_iob_fau_timeout_s cn38xxp2; 163 struct cvmx_iob_fau_timeout_s cn50xx; 164 struct cvmx_iob_fau_timeout_s cn52xx; 165 struct cvmx_iob_fau_timeout_s cn52xxp1; 166 struct cvmx_iob_fau_timeout_s cn56xx; 167 struct cvmx_iob_fau_timeout_s cn56xxp1; 168 struct cvmx_iob_fau_timeout_s cn58xx; 169 struct cvmx_iob_fau_timeout_s cn58xxp1; 170 }; 171 172 union cvmx_iob_i2c_pri_cnt { 173 uint64_t u64; 174 struct cvmx_iob_i2c_pri_cnt_s { 175 uint64_t reserved_16_63:48; 176 uint64_t cnt_enb:1; 177 uint64_t cnt_val:15; 178 } s; 179 struct cvmx_iob_i2c_pri_cnt_s cn38xx; 180 struct cvmx_iob_i2c_pri_cnt_s cn38xxp2; 181 struct cvmx_iob_i2c_pri_cnt_s cn52xx; 182 struct cvmx_iob_i2c_pri_cnt_s cn52xxp1; 183 struct cvmx_iob_i2c_pri_cnt_s cn56xx; 184 struct cvmx_iob_i2c_pri_cnt_s cn56xxp1; 185 struct cvmx_iob_i2c_pri_cnt_s cn58xx; 186 struct cvmx_iob_i2c_pri_cnt_s cn58xxp1; 187 }; 188 189 union cvmx_iob_inb_control_match { 190 uint64_t u64; 191 struct cvmx_iob_inb_control_match_s { 192 uint64_t reserved_29_63:35; 193 uint64_t mask:8; 194 uint64_t opc:4; 195 uint64_t dst:9; 196 uint64_t src:8; 197 } s; 198 struct cvmx_iob_inb_control_match_s cn30xx; 199 struct cvmx_iob_inb_control_match_s cn31xx; 200 struct cvmx_iob_inb_control_match_s cn38xx; 201 struct cvmx_iob_inb_control_match_s cn38xxp2; 202 struct cvmx_iob_inb_control_match_s cn50xx; 203 struct cvmx_iob_inb_control_match_s cn52xx; 204 struct cvmx_iob_inb_control_match_s cn52xxp1; 205 struct cvmx_iob_inb_control_match_s cn56xx; 206 struct cvmx_iob_inb_control_match_s cn56xxp1; 207 struct cvmx_iob_inb_control_match_s cn58xx; 208 struct cvmx_iob_inb_control_match_s cn58xxp1; 209 }; 210 211 union cvmx_iob_inb_control_match_enb { 212 uint64_t u64; 213 struct cvmx_iob_inb_control_match_enb_s { 214 uint64_t reserved_29_63:35; 215 uint64_t mask:8; 216 uint64_t opc:4; 217 uint64_t dst:9; 218 uint64_t src:8; 219 } s; 220 struct cvmx_iob_inb_control_match_enb_s cn30xx; 221 struct cvmx_iob_inb_control_match_enb_s cn31xx; 222 struct cvmx_iob_inb_control_match_enb_s cn38xx; 223 struct cvmx_iob_inb_control_match_enb_s cn38xxp2; 224 struct cvmx_iob_inb_control_match_enb_s cn50xx; 225 struct cvmx_iob_inb_control_match_enb_s cn52xx; 226 struct cvmx_iob_inb_control_match_enb_s cn52xxp1; 227 struct cvmx_iob_inb_control_match_enb_s cn56xx; 228 struct cvmx_iob_inb_control_match_enb_s cn56xxp1; 229 struct cvmx_iob_inb_control_match_enb_s cn58xx; 230 struct cvmx_iob_inb_control_match_enb_s cn58xxp1; 231 }; 232 233 union cvmx_iob_inb_data_match { 234 uint64_t u64; 235 struct cvmx_iob_inb_data_match_s { 236 uint64_t data:64; 237 } s; 238 struct cvmx_iob_inb_data_match_s cn30xx; 239 struct cvmx_iob_inb_data_match_s cn31xx; 240 struct cvmx_iob_inb_data_match_s cn38xx; 241 struct cvmx_iob_inb_data_match_s cn38xxp2; 242 struct cvmx_iob_inb_data_match_s cn50xx; 243 struct cvmx_iob_inb_data_match_s cn52xx; 244 struct cvmx_iob_inb_data_match_s cn52xxp1; 245 struct cvmx_iob_inb_data_match_s cn56xx; 246 struct cvmx_iob_inb_data_match_s cn56xxp1; 247 struct cvmx_iob_inb_data_match_s cn58xx; 248 struct cvmx_iob_inb_data_match_s cn58xxp1; 249 }; 250 251 union cvmx_iob_inb_data_match_enb { 252 uint64_t u64; 253 struct cvmx_iob_inb_data_match_enb_s { 254 uint64_t data:64; 255 } s; 256 struct cvmx_iob_inb_data_match_enb_s cn30xx; 257 struct cvmx_iob_inb_data_match_enb_s cn31xx; 258 struct cvmx_iob_inb_data_match_enb_s cn38xx; 259 struct cvmx_iob_inb_data_match_enb_s cn38xxp2; 260 struct cvmx_iob_inb_data_match_enb_s cn50xx; 261 struct cvmx_iob_inb_data_match_enb_s cn52xx; 262 struct cvmx_iob_inb_data_match_enb_s cn52xxp1; 263 struct cvmx_iob_inb_data_match_enb_s cn56xx; 264 struct cvmx_iob_inb_data_match_enb_s cn56xxp1; 265 struct cvmx_iob_inb_data_match_enb_s cn58xx; 266 struct cvmx_iob_inb_data_match_enb_s cn58xxp1; 267 }; 268 269 union cvmx_iob_int_enb { 270 uint64_t u64; 271 struct cvmx_iob_int_enb_s { 272 uint64_t reserved_6_63:58; 273 uint64_t p_dat:1; 274 uint64_t np_dat:1; 275 uint64_t p_eop:1; 276 uint64_t p_sop:1; 277 uint64_t np_eop:1; 278 uint64_t np_sop:1; 279 } s; 280 struct cvmx_iob_int_enb_cn30xx { 281 uint64_t reserved_4_63:60; 282 uint64_t p_eop:1; 283 uint64_t p_sop:1; 284 uint64_t np_eop:1; 285 uint64_t np_sop:1; 286 } cn30xx; 287 struct cvmx_iob_int_enb_cn30xx cn31xx; 288 struct cvmx_iob_int_enb_cn30xx cn38xx; 289 struct cvmx_iob_int_enb_cn30xx cn38xxp2; 290 struct cvmx_iob_int_enb_s cn50xx; 291 struct cvmx_iob_int_enb_s cn52xx; 292 struct cvmx_iob_int_enb_s cn52xxp1; 293 struct cvmx_iob_int_enb_s cn56xx; 294 struct cvmx_iob_int_enb_s cn56xxp1; 295 struct cvmx_iob_int_enb_s cn58xx; 296 struct cvmx_iob_int_enb_s cn58xxp1; 297 }; 298 299 union cvmx_iob_int_sum { 300 uint64_t u64; 301 struct cvmx_iob_int_sum_s { 302 uint64_t reserved_6_63:58; 303 uint64_t p_dat:1; 304 uint64_t np_dat:1; 305 uint64_t p_eop:1; 306 uint64_t p_sop:1; 307 uint64_t np_eop:1; 308 uint64_t np_sop:1; 309 } s; 310 struct cvmx_iob_int_sum_cn30xx { 311 uint64_t reserved_4_63:60; 312 uint64_t p_eop:1; 313 uint64_t p_sop:1; 314 uint64_t np_eop:1; 315 uint64_t np_sop:1; 316 } cn30xx; 317 struct cvmx_iob_int_sum_cn30xx cn31xx; 318 struct cvmx_iob_int_sum_cn30xx cn38xx; 319 struct cvmx_iob_int_sum_cn30xx cn38xxp2; 320 struct cvmx_iob_int_sum_s cn50xx; 321 struct cvmx_iob_int_sum_s cn52xx; 322 struct cvmx_iob_int_sum_s cn52xxp1; 323 struct cvmx_iob_int_sum_s cn56xx; 324 struct cvmx_iob_int_sum_s cn56xxp1; 325 struct cvmx_iob_int_sum_s cn58xx; 326 struct cvmx_iob_int_sum_s cn58xxp1; 327 }; 328 329 union cvmx_iob_n2c_l2c_pri_cnt { 330 uint64_t u64; 331 struct cvmx_iob_n2c_l2c_pri_cnt_s { 332 uint64_t reserved_16_63:48; 333 uint64_t cnt_enb:1; 334 uint64_t cnt_val:15; 335 } s; 336 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xx; 337 struct cvmx_iob_n2c_l2c_pri_cnt_s cn38xxp2; 338 struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xx; 339 struct cvmx_iob_n2c_l2c_pri_cnt_s cn52xxp1; 340 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xx; 341 struct cvmx_iob_n2c_l2c_pri_cnt_s cn56xxp1; 342 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xx; 343 struct cvmx_iob_n2c_l2c_pri_cnt_s cn58xxp1; 344 }; 345 346 union cvmx_iob_n2c_rsp_pri_cnt { 347 uint64_t u64; 348 struct cvmx_iob_n2c_rsp_pri_cnt_s { 349 uint64_t reserved_16_63:48; 350 uint64_t cnt_enb:1; 351 uint64_t cnt_val:15; 352 } s; 353 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xx; 354 struct cvmx_iob_n2c_rsp_pri_cnt_s cn38xxp2; 355 struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xx; 356 struct cvmx_iob_n2c_rsp_pri_cnt_s cn52xxp1; 357 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xx; 358 struct cvmx_iob_n2c_rsp_pri_cnt_s cn56xxp1; 359 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xx; 360 struct cvmx_iob_n2c_rsp_pri_cnt_s cn58xxp1; 361 }; 362 363 union cvmx_iob_outb_com_pri_cnt { 364 uint64_t u64; 365 struct cvmx_iob_outb_com_pri_cnt_s { 366 uint64_t reserved_16_63:48; 367 uint64_t cnt_enb:1; 368 uint64_t cnt_val:15; 369 } s; 370 struct cvmx_iob_outb_com_pri_cnt_s cn38xx; 371 struct cvmx_iob_outb_com_pri_cnt_s cn38xxp2; 372 struct cvmx_iob_outb_com_pri_cnt_s cn52xx; 373 struct cvmx_iob_outb_com_pri_cnt_s cn52xxp1; 374 struct cvmx_iob_outb_com_pri_cnt_s cn56xx; 375 struct cvmx_iob_outb_com_pri_cnt_s cn56xxp1; 376 struct cvmx_iob_outb_com_pri_cnt_s cn58xx; 377 struct cvmx_iob_outb_com_pri_cnt_s cn58xxp1; 378 }; 379 380 union cvmx_iob_outb_control_match { 381 uint64_t u64; 382 struct cvmx_iob_outb_control_match_s { 383 uint64_t reserved_26_63:38; 384 uint64_t mask:8; 385 uint64_t eot:1; 386 uint64_t dst:8; 387 uint64_t src:9; 388 } s; 389 struct cvmx_iob_outb_control_match_s cn30xx; 390 struct cvmx_iob_outb_control_match_s cn31xx; 391 struct cvmx_iob_outb_control_match_s cn38xx; 392 struct cvmx_iob_outb_control_match_s cn38xxp2; 393 struct cvmx_iob_outb_control_match_s cn50xx; 394 struct cvmx_iob_outb_control_match_s cn52xx; 395 struct cvmx_iob_outb_control_match_s cn52xxp1; 396 struct cvmx_iob_outb_control_match_s cn56xx; 397 struct cvmx_iob_outb_control_match_s cn56xxp1; 398 struct cvmx_iob_outb_control_match_s cn58xx; 399 struct cvmx_iob_outb_control_match_s cn58xxp1; 400 }; 401 402 union cvmx_iob_outb_control_match_enb { 403 uint64_t u64; 404 struct cvmx_iob_outb_control_match_enb_s { 405 uint64_t reserved_26_63:38; 406 uint64_t mask:8; 407 uint64_t eot:1; 408 uint64_t dst:8; 409 uint64_t src:9; 410 } s; 411 struct cvmx_iob_outb_control_match_enb_s cn30xx; 412 struct cvmx_iob_outb_control_match_enb_s cn31xx; 413 struct cvmx_iob_outb_control_match_enb_s cn38xx; 414 struct cvmx_iob_outb_control_match_enb_s cn38xxp2; 415 struct cvmx_iob_outb_control_match_enb_s cn50xx; 416 struct cvmx_iob_outb_control_match_enb_s cn52xx; 417 struct cvmx_iob_outb_control_match_enb_s cn52xxp1; 418 struct cvmx_iob_outb_control_match_enb_s cn56xx; 419 struct cvmx_iob_outb_control_match_enb_s cn56xxp1; 420 struct cvmx_iob_outb_control_match_enb_s cn58xx; 421 struct cvmx_iob_outb_control_match_enb_s cn58xxp1; 422 }; 423 424 union cvmx_iob_outb_data_match { 425 uint64_t u64; 426 struct cvmx_iob_outb_data_match_s { 427 uint64_t data:64; 428 } s; 429 struct cvmx_iob_outb_data_match_s cn30xx; 430 struct cvmx_iob_outb_data_match_s cn31xx; 431 struct cvmx_iob_outb_data_match_s cn38xx; 432 struct cvmx_iob_outb_data_match_s cn38xxp2; 433 struct cvmx_iob_outb_data_match_s cn50xx; 434 struct cvmx_iob_outb_data_match_s cn52xx; 435 struct cvmx_iob_outb_data_match_s cn52xxp1; 436 struct cvmx_iob_outb_data_match_s cn56xx; 437 struct cvmx_iob_outb_data_match_s cn56xxp1; 438 struct cvmx_iob_outb_data_match_s cn58xx; 439 struct cvmx_iob_outb_data_match_s cn58xxp1; 440 }; 441 442 union cvmx_iob_outb_data_match_enb { 443 uint64_t u64; 444 struct cvmx_iob_outb_data_match_enb_s { 445 uint64_t data:64; 446 } s; 447 struct cvmx_iob_outb_data_match_enb_s cn30xx; 448 struct cvmx_iob_outb_data_match_enb_s cn31xx; 449 struct cvmx_iob_outb_data_match_enb_s cn38xx; 450 struct cvmx_iob_outb_data_match_enb_s cn38xxp2; 451 struct cvmx_iob_outb_data_match_enb_s cn50xx; 452 struct cvmx_iob_outb_data_match_enb_s cn52xx; 453 struct cvmx_iob_outb_data_match_enb_s cn52xxp1; 454 struct cvmx_iob_outb_data_match_enb_s cn56xx; 455 struct cvmx_iob_outb_data_match_enb_s cn56xxp1; 456 struct cvmx_iob_outb_data_match_enb_s cn58xx; 457 struct cvmx_iob_outb_data_match_enb_s cn58xxp1; 458 }; 459 460 union cvmx_iob_outb_fpa_pri_cnt { 461 uint64_t u64; 462 struct cvmx_iob_outb_fpa_pri_cnt_s { 463 uint64_t reserved_16_63:48; 464 uint64_t cnt_enb:1; 465 uint64_t cnt_val:15; 466 } s; 467 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xx; 468 struct cvmx_iob_outb_fpa_pri_cnt_s cn38xxp2; 469 struct cvmx_iob_outb_fpa_pri_cnt_s cn52xx; 470 struct cvmx_iob_outb_fpa_pri_cnt_s cn52xxp1; 471 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xx; 472 struct cvmx_iob_outb_fpa_pri_cnt_s cn56xxp1; 473 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xx; 474 struct cvmx_iob_outb_fpa_pri_cnt_s cn58xxp1; 475 }; 476 477 union cvmx_iob_outb_req_pri_cnt { 478 uint64_t u64; 479 struct cvmx_iob_outb_req_pri_cnt_s { 480 uint64_t reserved_16_63:48; 481 uint64_t cnt_enb:1; 482 uint64_t cnt_val:15; 483 } s; 484 struct cvmx_iob_outb_req_pri_cnt_s cn38xx; 485 struct cvmx_iob_outb_req_pri_cnt_s cn38xxp2; 486 struct cvmx_iob_outb_req_pri_cnt_s cn52xx; 487 struct cvmx_iob_outb_req_pri_cnt_s cn52xxp1; 488 struct cvmx_iob_outb_req_pri_cnt_s cn56xx; 489 struct cvmx_iob_outb_req_pri_cnt_s cn56xxp1; 490 struct cvmx_iob_outb_req_pri_cnt_s cn58xx; 491 struct cvmx_iob_outb_req_pri_cnt_s cn58xxp1; 492 }; 493 494 union cvmx_iob_p2c_req_pri_cnt { 495 uint64_t u64; 496 struct cvmx_iob_p2c_req_pri_cnt_s { 497 uint64_t reserved_16_63:48; 498 uint64_t cnt_enb:1; 499 uint64_t cnt_val:15; 500 } s; 501 struct cvmx_iob_p2c_req_pri_cnt_s cn38xx; 502 struct cvmx_iob_p2c_req_pri_cnt_s cn38xxp2; 503 struct cvmx_iob_p2c_req_pri_cnt_s cn52xx; 504 struct cvmx_iob_p2c_req_pri_cnt_s cn52xxp1; 505 struct cvmx_iob_p2c_req_pri_cnt_s cn56xx; 506 struct cvmx_iob_p2c_req_pri_cnt_s cn56xxp1; 507 struct cvmx_iob_p2c_req_pri_cnt_s cn58xx; 508 struct cvmx_iob_p2c_req_pri_cnt_s cn58xxp1; 509 }; 510 511 union cvmx_iob_pkt_err { 512 uint64_t u64; 513 struct cvmx_iob_pkt_err_s { 514 uint64_t reserved_6_63:58; 515 uint64_t port:6; 516 } s; 517 struct cvmx_iob_pkt_err_s cn30xx; 518 struct cvmx_iob_pkt_err_s cn31xx; 519 struct cvmx_iob_pkt_err_s cn38xx; 520 struct cvmx_iob_pkt_err_s cn38xxp2; 521 struct cvmx_iob_pkt_err_s cn50xx; 522 struct cvmx_iob_pkt_err_s cn52xx; 523 struct cvmx_iob_pkt_err_s cn52xxp1; 524 struct cvmx_iob_pkt_err_s cn56xx; 525 struct cvmx_iob_pkt_err_s cn56xxp1; 526 struct cvmx_iob_pkt_err_s cn58xx; 527 struct cvmx_iob_pkt_err_s cn58xxp1; 528 }; 529 530 #endif 531