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_FPA_DEFS_H__ 29 #define __CVMX_FPA_DEFS_H__ 30 31 #define CVMX_FPA_ADDR_RANGE_ERROR (CVMX_ADD_IO_SEG(0x0001180028000458ull)) 32 #define CVMX_FPA_BIST_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E8ull)) 33 #define CVMX_FPA_CTL_STATUS (CVMX_ADD_IO_SEG(0x0001180028000050ull)) 34 #define CVMX_FPA_FPF0_MARKS (CVMX_ADD_IO_SEG(0x0001180028000000ull)) 35 #define CVMX_FPA_FPF0_SIZE (CVMX_ADD_IO_SEG(0x0001180028000058ull)) 36 #define CVMX_FPA_FPF1_MARKS CVMX_FPA_FPFX_MARKS(1) 37 #define CVMX_FPA_FPF2_MARKS CVMX_FPA_FPFX_MARKS(2) 38 #define CVMX_FPA_FPF3_MARKS CVMX_FPA_FPFX_MARKS(3) 39 #define CVMX_FPA_FPF4_MARKS CVMX_FPA_FPFX_MARKS(4) 40 #define CVMX_FPA_FPF5_MARKS CVMX_FPA_FPFX_MARKS(5) 41 #define CVMX_FPA_FPF6_MARKS CVMX_FPA_FPFX_MARKS(6) 42 #define CVMX_FPA_FPF7_MARKS CVMX_FPA_FPFX_MARKS(7) 43 #define CVMX_FPA_FPF8_MARKS (CVMX_ADD_IO_SEG(0x0001180028000240ull)) 44 #define CVMX_FPA_FPF8_SIZE (CVMX_ADD_IO_SEG(0x0001180028000248ull)) 45 #define CVMX_FPA_FPFX_MARKS(offset) (CVMX_ADD_IO_SEG(0x0001180028000008ull) + ((offset) & 7) * 8 - 8*1) 46 #define CVMX_FPA_FPFX_SIZE(offset) (CVMX_ADD_IO_SEG(0x0001180028000060ull) + ((offset) & 7) * 8 - 8*1) 47 #define CVMX_FPA_INT_ENB (CVMX_ADD_IO_SEG(0x0001180028000048ull)) 48 #define CVMX_FPA_INT_SUM (CVMX_ADD_IO_SEG(0x0001180028000040ull)) 49 #define CVMX_FPA_PACKET_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000460ull)) 50 #define CVMX_FPA_POOLX_END_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000358ull) + ((offset) & 15) * 8) 51 #define CVMX_FPA_POOLX_START_ADDR(offset) (CVMX_ADD_IO_SEG(0x0001180028000258ull) + ((offset) & 15) * 8) 52 #define CVMX_FPA_POOLX_THRESHOLD(offset) (CVMX_ADD_IO_SEG(0x0001180028000140ull) + ((offset) & 15) * 8) 53 #define CVMX_FPA_QUE0_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(0) 54 #define CVMX_FPA_QUE1_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(1) 55 #define CVMX_FPA_QUE2_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(2) 56 #define CVMX_FPA_QUE3_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(3) 57 #define CVMX_FPA_QUE4_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(4) 58 #define CVMX_FPA_QUE5_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(5) 59 #define CVMX_FPA_QUE6_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(6) 60 #define CVMX_FPA_QUE7_PAGE_INDEX CVMX_FPA_QUEX_PAGE_INDEX(7) 61 #define CVMX_FPA_QUE8_PAGE_INDEX (CVMX_ADD_IO_SEG(0x0001180028000250ull)) 62 #define CVMX_FPA_QUEX_AVAILABLE(offset) (CVMX_ADD_IO_SEG(0x0001180028000098ull) + ((offset) & 15) * 8) 63 #define CVMX_FPA_QUEX_PAGE_INDEX(offset) (CVMX_ADD_IO_SEG(0x00011800280000F0ull) + ((offset) & 7) * 8) 64 #define CVMX_FPA_QUE_ACT (CVMX_ADD_IO_SEG(0x0001180028000138ull)) 65 #define CVMX_FPA_QUE_EXP (CVMX_ADD_IO_SEG(0x0001180028000130ull)) 66 #define CVMX_FPA_WART_CTL (CVMX_ADD_IO_SEG(0x00011800280000D8ull)) 67 #define CVMX_FPA_WART_STATUS (CVMX_ADD_IO_SEG(0x00011800280000E0ull)) 68 #define CVMX_FPA_WQE_THRESHOLD (CVMX_ADD_IO_SEG(0x0001180028000468ull)) 69 70 union cvmx_fpa_addr_range_error { 71 uint64_t u64; 72 struct cvmx_fpa_addr_range_error_s { 73 #ifdef __BIG_ENDIAN_BITFIELD 74 uint64_t reserved_38_63:26; 75 uint64_t pool:5; 76 uint64_t addr:33; 77 #else 78 uint64_t addr:33; 79 uint64_t pool:5; 80 uint64_t reserved_38_63:26; 81 #endif 82 } s; 83 struct cvmx_fpa_addr_range_error_s cn61xx; 84 struct cvmx_fpa_addr_range_error_s cn66xx; 85 struct cvmx_fpa_addr_range_error_s cn68xx; 86 struct cvmx_fpa_addr_range_error_s cn68xxp1; 87 struct cvmx_fpa_addr_range_error_s cnf71xx; 88 }; 89 90 union cvmx_fpa_bist_status { 91 uint64_t u64; 92 struct cvmx_fpa_bist_status_s { 93 #ifdef __BIG_ENDIAN_BITFIELD 94 uint64_t reserved_5_63:59; 95 uint64_t frd:1; 96 uint64_t fpf0:1; 97 uint64_t fpf1:1; 98 uint64_t ffr:1; 99 uint64_t fdr:1; 100 #else 101 uint64_t fdr:1; 102 uint64_t ffr:1; 103 uint64_t fpf1:1; 104 uint64_t fpf0:1; 105 uint64_t frd:1; 106 uint64_t reserved_5_63:59; 107 #endif 108 } s; 109 struct cvmx_fpa_bist_status_s cn30xx; 110 struct cvmx_fpa_bist_status_s cn31xx; 111 struct cvmx_fpa_bist_status_s cn38xx; 112 struct cvmx_fpa_bist_status_s cn38xxp2; 113 struct cvmx_fpa_bist_status_s cn50xx; 114 struct cvmx_fpa_bist_status_s cn52xx; 115 struct cvmx_fpa_bist_status_s cn52xxp1; 116 struct cvmx_fpa_bist_status_s cn56xx; 117 struct cvmx_fpa_bist_status_s cn56xxp1; 118 struct cvmx_fpa_bist_status_s cn58xx; 119 struct cvmx_fpa_bist_status_s cn58xxp1; 120 struct cvmx_fpa_bist_status_s cn61xx; 121 struct cvmx_fpa_bist_status_s cn63xx; 122 struct cvmx_fpa_bist_status_s cn63xxp1; 123 struct cvmx_fpa_bist_status_s cn66xx; 124 struct cvmx_fpa_bist_status_s cn68xx; 125 struct cvmx_fpa_bist_status_s cn68xxp1; 126 struct cvmx_fpa_bist_status_s cnf71xx; 127 }; 128 129 union cvmx_fpa_ctl_status { 130 uint64_t u64; 131 struct cvmx_fpa_ctl_status_s { 132 #ifdef __BIG_ENDIAN_BITFIELD 133 uint64_t reserved_21_63:43; 134 uint64_t free_en:1; 135 uint64_t ret_off:1; 136 uint64_t req_off:1; 137 uint64_t reset:1; 138 uint64_t use_ldt:1; 139 uint64_t use_stt:1; 140 uint64_t enb:1; 141 uint64_t mem1_err:7; 142 uint64_t mem0_err:7; 143 #else 144 uint64_t mem0_err:7; 145 uint64_t mem1_err:7; 146 uint64_t enb:1; 147 uint64_t use_stt:1; 148 uint64_t use_ldt:1; 149 uint64_t reset:1; 150 uint64_t req_off:1; 151 uint64_t ret_off:1; 152 uint64_t free_en:1; 153 uint64_t reserved_21_63:43; 154 #endif 155 } s; 156 struct cvmx_fpa_ctl_status_cn30xx { 157 #ifdef __BIG_ENDIAN_BITFIELD 158 uint64_t reserved_18_63:46; 159 uint64_t reset:1; 160 uint64_t use_ldt:1; 161 uint64_t use_stt:1; 162 uint64_t enb:1; 163 uint64_t mem1_err:7; 164 uint64_t mem0_err:7; 165 #else 166 uint64_t mem0_err:7; 167 uint64_t mem1_err:7; 168 uint64_t enb:1; 169 uint64_t use_stt:1; 170 uint64_t use_ldt:1; 171 uint64_t reset:1; 172 uint64_t reserved_18_63:46; 173 #endif 174 } cn30xx; 175 struct cvmx_fpa_ctl_status_cn30xx cn31xx; 176 struct cvmx_fpa_ctl_status_cn30xx cn38xx; 177 struct cvmx_fpa_ctl_status_cn30xx cn38xxp2; 178 struct cvmx_fpa_ctl_status_cn30xx cn50xx; 179 struct cvmx_fpa_ctl_status_cn30xx cn52xx; 180 struct cvmx_fpa_ctl_status_cn30xx cn52xxp1; 181 struct cvmx_fpa_ctl_status_cn30xx cn56xx; 182 struct cvmx_fpa_ctl_status_cn30xx cn56xxp1; 183 struct cvmx_fpa_ctl_status_cn30xx cn58xx; 184 struct cvmx_fpa_ctl_status_cn30xx cn58xxp1; 185 struct cvmx_fpa_ctl_status_s cn61xx; 186 struct cvmx_fpa_ctl_status_s cn63xx; 187 struct cvmx_fpa_ctl_status_cn30xx cn63xxp1; 188 struct cvmx_fpa_ctl_status_s cn66xx; 189 struct cvmx_fpa_ctl_status_s cn68xx; 190 struct cvmx_fpa_ctl_status_s cn68xxp1; 191 struct cvmx_fpa_ctl_status_s cnf71xx; 192 }; 193 194 union cvmx_fpa_fpfx_marks { 195 uint64_t u64; 196 struct cvmx_fpa_fpfx_marks_s { 197 #ifdef __BIG_ENDIAN_BITFIELD 198 uint64_t reserved_22_63:42; 199 uint64_t fpf_wr:11; 200 uint64_t fpf_rd:11; 201 #else 202 uint64_t fpf_rd:11; 203 uint64_t fpf_wr:11; 204 uint64_t reserved_22_63:42; 205 #endif 206 } s; 207 struct cvmx_fpa_fpfx_marks_s cn38xx; 208 struct cvmx_fpa_fpfx_marks_s cn38xxp2; 209 struct cvmx_fpa_fpfx_marks_s cn56xx; 210 struct cvmx_fpa_fpfx_marks_s cn56xxp1; 211 struct cvmx_fpa_fpfx_marks_s cn58xx; 212 struct cvmx_fpa_fpfx_marks_s cn58xxp1; 213 struct cvmx_fpa_fpfx_marks_s cn61xx; 214 struct cvmx_fpa_fpfx_marks_s cn63xx; 215 struct cvmx_fpa_fpfx_marks_s cn63xxp1; 216 struct cvmx_fpa_fpfx_marks_s cn66xx; 217 struct cvmx_fpa_fpfx_marks_s cn68xx; 218 struct cvmx_fpa_fpfx_marks_s cn68xxp1; 219 struct cvmx_fpa_fpfx_marks_s cnf71xx; 220 }; 221 222 union cvmx_fpa_fpfx_size { 223 uint64_t u64; 224 struct cvmx_fpa_fpfx_size_s { 225 #ifdef __BIG_ENDIAN_BITFIELD 226 uint64_t reserved_11_63:53; 227 uint64_t fpf_siz:11; 228 #else 229 uint64_t fpf_siz:11; 230 uint64_t reserved_11_63:53; 231 #endif 232 } s; 233 struct cvmx_fpa_fpfx_size_s cn38xx; 234 struct cvmx_fpa_fpfx_size_s cn38xxp2; 235 struct cvmx_fpa_fpfx_size_s cn56xx; 236 struct cvmx_fpa_fpfx_size_s cn56xxp1; 237 struct cvmx_fpa_fpfx_size_s cn58xx; 238 struct cvmx_fpa_fpfx_size_s cn58xxp1; 239 struct cvmx_fpa_fpfx_size_s cn61xx; 240 struct cvmx_fpa_fpfx_size_s cn63xx; 241 struct cvmx_fpa_fpfx_size_s cn63xxp1; 242 struct cvmx_fpa_fpfx_size_s cn66xx; 243 struct cvmx_fpa_fpfx_size_s cn68xx; 244 struct cvmx_fpa_fpfx_size_s cn68xxp1; 245 struct cvmx_fpa_fpfx_size_s cnf71xx; 246 }; 247 248 union cvmx_fpa_fpf0_marks { 249 uint64_t u64; 250 struct cvmx_fpa_fpf0_marks_s { 251 #ifdef __BIG_ENDIAN_BITFIELD 252 uint64_t reserved_24_63:40; 253 uint64_t fpf_wr:12; 254 uint64_t fpf_rd:12; 255 #else 256 uint64_t fpf_rd:12; 257 uint64_t fpf_wr:12; 258 uint64_t reserved_24_63:40; 259 #endif 260 } s; 261 struct cvmx_fpa_fpf0_marks_s cn38xx; 262 struct cvmx_fpa_fpf0_marks_s cn38xxp2; 263 struct cvmx_fpa_fpf0_marks_s cn56xx; 264 struct cvmx_fpa_fpf0_marks_s cn56xxp1; 265 struct cvmx_fpa_fpf0_marks_s cn58xx; 266 struct cvmx_fpa_fpf0_marks_s cn58xxp1; 267 struct cvmx_fpa_fpf0_marks_s cn61xx; 268 struct cvmx_fpa_fpf0_marks_s cn63xx; 269 struct cvmx_fpa_fpf0_marks_s cn63xxp1; 270 struct cvmx_fpa_fpf0_marks_s cn66xx; 271 struct cvmx_fpa_fpf0_marks_s cn68xx; 272 struct cvmx_fpa_fpf0_marks_s cn68xxp1; 273 struct cvmx_fpa_fpf0_marks_s cnf71xx; 274 }; 275 276 union cvmx_fpa_fpf0_size { 277 uint64_t u64; 278 struct cvmx_fpa_fpf0_size_s { 279 #ifdef __BIG_ENDIAN_BITFIELD 280 uint64_t reserved_12_63:52; 281 uint64_t fpf_siz:12; 282 #else 283 uint64_t fpf_siz:12; 284 uint64_t reserved_12_63:52; 285 #endif 286 } s; 287 struct cvmx_fpa_fpf0_size_s cn38xx; 288 struct cvmx_fpa_fpf0_size_s cn38xxp2; 289 struct cvmx_fpa_fpf0_size_s cn56xx; 290 struct cvmx_fpa_fpf0_size_s cn56xxp1; 291 struct cvmx_fpa_fpf0_size_s cn58xx; 292 struct cvmx_fpa_fpf0_size_s cn58xxp1; 293 struct cvmx_fpa_fpf0_size_s cn61xx; 294 struct cvmx_fpa_fpf0_size_s cn63xx; 295 struct cvmx_fpa_fpf0_size_s cn63xxp1; 296 struct cvmx_fpa_fpf0_size_s cn66xx; 297 struct cvmx_fpa_fpf0_size_s cn68xx; 298 struct cvmx_fpa_fpf0_size_s cn68xxp1; 299 struct cvmx_fpa_fpf0_size_s cnf71xx; 300 }; 301 302 union cvmx_fpa_fpf8_marks { 303 uint64_t u64; 304 struct cvmx_fpa_fpf8_marks_s { 305 #ifdef __BIG_ENDIAN_BITFIELD 306 uint64_t reserved_22_63:42; 307 uint64_t fpf_wr:11; 308 uint64_t fpf_rd:11; 309 #else 310 uint64_t fpf_rd:11; 311 uint64_t fpf_wr:11; 312 uint64_t reserved_22_63:42; 313 #endif 314 } s; 315 struct cvmx_fpa_fpf8_marks_s cn68xx; 316 struct cvmx_fpa_fpf8_marks_s cn68xxp1; 317 }; 318 319 union cvmx_fpa_fpf8_size { 320 uint64_t u64; 321 struct cvmx_fpa_fpf8_size_s { 322 #ifdef __BIG_ENDIAN_BITFIELD 323 uint64_t reserved_12_63:52; 324 uint64_t fpf_siz:12; 325 #else 326 uint64_t fpf_siz:12; 327 uint64_t reserved_12_63:52; 328 #endif 329 } s; 330 struct cvmx_fpa_fpf8_size_s cn68xx; 331 struct cvmx_fpa_fpf8_size_s cn68xxp1; 332 }; 333 334 union cvmx_fpa_int_enb { 335 uint64_t u64; 336 struct cvmx_fpa_int_enb_s { 337 #ifdef __BIG_ENDIAN_BITFIELD 338 uint64_t reserved_50_63:14; 339 uint64_t paddr_e:1; 340 uint64_t reserved_44_48:5; 341 uint64_t free7:1; 342 uint64_t free6:1; 343 uint64_t free5:1; 344 uint64_t free4:1; 345 uint64_t free3:1; 346 uint64_t free2:1; 347 uint64_t free1:1; 348 uint64_t free0:1; 349 uint64_t pool7th:1; 350 uint64_t pool6th:1; 351 uint64_t pool5th:1; 352 uint64_t pool4th:1; 353 uint64_t pool3th:1; 354 uint64_t pool2th:1; 355 uint64_t pool1th:1; 356 uint64_t pool0th:1; 357 uint64_t q7_perr:1; 358 uint64_t q7_coff:1; 359 uint64_t q7_und:1; 360 uint64_t q6_perr:1; 361 uint64_t q6_coff:1; 362 uint64_t q6_und:1; 363 uint64_t q5_perr:1; 364 uint64_t q5_coff:1; 365 uint64_t q5_und:1; 366 uint64_t q4_perr:1; 367 uint64_t q4_coff:1; 368 uint64_t q4_und:1; 369 uint64_t q3_perr:1; 370 uint64_t q3_coff:1; 371 uint64_t q3_und:1; 372 uint64_t q2_perr:1; 373 uint64_t q2_coff:1; 374 uint64_t q2_und:1; 375 uint64_t q1_perr:1; 376 uint64_t q1_coff:1; 377 uint64_t q1_und:1; 378 uint64_t q0_perr:1; 379 uint64_t q0_coff:1; 380 uint64_t q0_und:1; 381 uint64_t fed1_dbe:1; 382 uint64_t fed1_sbe:1; 383 uint64_t fed0_dbe:1; 384 uint64_t fed0_sbe:1; 385 #else 386 uint64_t fed0_sbe:1; 387 uint64_t fed0_dbe:1; 388 uint64_t fed1_sbe:1; 389 uint64_t fed1_dbe:1; 390 uint64_t q0_und:1; 391 uint64_t q0_coff:1; 392 uint64_t q0_perr:1; 393 uint64_t q1_und:1; 394 uint64_t q1_coff:1; 395 uint64_t q1_perr:1; 396 uint64_t q2_und:1; 397 uint64_t q2_coff:1; 398 uint64_t q2_perr:1; 399 uint64_t q3_und:1; 400 uint64_t q3_coff:1; 401 uint64_t q3_perr:1; 402 uint64_t q4_und:1; 403 uint64_t q4_coff:1; 404 uint64_t q4_perr:1; 405 uint64_t q5_und:1; 406 uint64_t q5_coff:1; 407 uint64_t q5_perr:1; 408 uint64_t q6_und:1; 409 uint64_t q6_coff:1; 410 uint64_t q6_perr:1; 411 uint64_t q7_und:1; 412 uint64_t q7_coff:1; 413 uint64_t q7_perr:1; 414 uint64_t pool0th:1; 415 uint64_t pool1th:1; 416 uint64_t pool2th:1; 417 uint64_t pool3th:1; 418 uint64_t pool4th:1; 419 uint64_t pool5th:1; 420 uint64_t pool6th:1; 421 uint64_t pool7th:1; 422 uint64_t free0:1; 423 uint64_t free1:1; 424 uint64_t free2:1; 425 uint64_t free3:1; 426 uint64_t free4:1; 427 uint64_t free5:1; 428 uint64_t free6:1; 429 uint64_t free7:1; 430 uint64_t reserved_44_48:5; 431 uint64_t paddr_e:1; 432 uint64_t reserved_50_63:14; 433 #endif 434 } s; 435 struct cvmx_fpa_int_enb_cn30xx { 436 #ifdef __BIG_ENDIAN_BITFIELD 437 uint64_t reserved_28_63:36; 438 uint64_t q7_perr:1; 439 uint64_t q7_coff:1; 440 uint64_t q7_und:1; 441 uint64_t q6_perr:1; 442 uint64_t q6_coff:1; 443 uint64_t q6_und:1; 444 uint64_t q5_perr:1; 445 uint64_t q5_coff:1; 446 uint64_t q5_und:1; 447 uint64_t q4_perr:1; 448 uint64_t q4_coff:1; 449 uint64_t q4_und:1; 450 uint64_t q3_perr:1; 451 uint64_t q3_coff:1; 452 uint64_t q3_und:1; 453 uint64_t q2_perr:1; 454 uint64_t q2_coff:1; 455 uint64_t q2_und:1; 456 uint64_t q1_perr:1; 457 uint64_t q1_coff:1; 458 uint64_t q1_und:1; 459 uint64_t q0_perr:1; 460 uint64_t q0_coff:1; 461 uint64_t q0_und:1; 462 uint64_t fed1_dbe:1; 463 uint64_t fed1_sbe:1; 464 uint64_t fed0_dbe:1; 465 uint64_t fed0_sbe:1; 466 #else 467 uint64_t fed0_sbe:1; 468 uint64_t fed0_dbe:1; 469 uint64_t fed1_sbe:1; 470 uint64_t fed1_dbe:1; 471 uint64_t q0_und:1; 472 uint64_t q0_coff:1; 473 uint64_t q0_perr:1; 474 uint64_t q1_und:1; 475 uint64_t q1_coff:1; 476 uint64_t q1_perr:1; 477 uint64_t q2_und:1; 478 uint64_t q2_coff:1; 479 uint64_t q2_perr:1; 480 uint64_t q3_und:1; 481 uint64_t q3_coff:1; 482 uint64_t q3_perr:1; 483 uint64_t q4_und:1; 484 uint64_t q4_coff:1; 485 uint64_t q4_perr:1; 486 uint64_t q5_und:1; 487 uint64_t q5_coff:1; 488 uint64_t q5_perr:1; 489 uint64_t q6_und:1; 490 uint64_t q6_coff:1; 491 uint64_t q6_perr:1; 492 uint64_t q7_und:1; 493 uint64_t q7_coff:1; 494 uint64_t q7_perr:1; 495 uint64_t reserved_28_63:36; 496 #endif 497 } cn30xx; 498 struct cvmx_fpa_int_enb_cn30xx cn31xx; 499 struct cvmx_fpa_int_enb_cn30xx cn38xx; 500 struct cvmx_fpa_int_enb_cn30xx cn38xxp2; 501 struct cvmx_fpa_int_enb_cn30xx cn50xx; 502 struct cvmx_fpa_int_enb_cn30xx cn52xx; 503 struct cvmx_fpa_int_enb_cn30xx cn52xxp1; 504 struct cvmx_fpa_int_enb_cn30xx cn56xx; 505 struct cvmx_fpa_int_enb_cn30xx cn56xxp1; 506 struct cvmx_fpa_int_enb_cn30xx cn58xx; 507 struct cvmx_fpa_int_enb_cn30xx cn58xxp1; 508 struct cvmx_fpa_int_enb_cn61xx { 509 #ifdef __BIG_ENDIAN_BITFIELD 510 uint64_t reserved_50_63:14; 511 uint64_t paddr_e:1; 512 uint64_t res_44:5; 513 uint64_t free7:1; 514 uint64_t free6:1; 515 uint64_t free5:1; 516 uint64_t free4:1; 517 uint64_t free3:1; 518 uint64_t free2:1; 519 uint64_t free1:1; 520 uint64_t free0:1; 521 uint64_t pool7th:1; 522 uint64_t pool6th:1; 523 uint64_t pool5th:1; 524 uint64_t pool4th:1; 525 uint64_t pool3th:1; 526 uint64_t pool2th:1; 527 uint64_t pool1th:1; 528 uint64_t pool0th:1; 529 uint64_t q7_perr:1; 530 uint64_t q7_coff:1; 531 uint64_t q7_und:1; 532 uint64_t q6_perr:1; 533 uint64_t q6_coff:1; 534 uint64_t q6_und:1; 535 uint64_t q5_perr:1; 536 uint64_t q5_coff:1; 537 uint64_t q5_und:1; 538 uint64_t q4_perr:1; 539 uint64_t q4_coff:1; 540 uint64_t q4_und:1; 541 uint64_t q3_perr:1; 542 uint64_t q3_coff:1; 543 uint64_t q3_und:1; 544 uint64_t q2_perr:1; 545 uint64_t q2_coff:1; 546 uint64_t q2_und:1; 547 uint64_t q1_perr:1; 548 uint64_t q1_coff:1; 549 uint64_t q1_und:1; 550 uint64_t q0_perr:1; 551 uint64_t q0_coff:1; 552 uint64_t q0_und:1; 553 uint64_t fed1_dbe:1; 554 uint64_t fed1_sbe:1; 555 uint64_t fed0_dbe:1; 556 uint64_t fed0_sbe:1; 557 #else 558 uint64_t fed0_sbe:1; 559 uint64_t fed0_dbe:1; 560 uint64_t fed1_sbe:1; 561 uint64_t fed1_dbe:1; 562 uint64_t q0_und:1; 563 uint64_t q0_coff:1; 564 uint64_t q0_perr:1; 565 uint64_t q1_und:1; 566 uint64_t q1_coff:1; 567 uint64_t q1_perr:1; 568 uint64_t q2_und:1; 569 uint64_t q2_coff:1; 570 uint64_t q2_perr:1; 571 uint64_t q3_und:1; 572 uint64_t q3_coff:1; 573 uint64_t q3_perr:1; 574 uint64_t q4_und:1; 575 uint64_t q4_coff:1; 576 uint64_t q4_perr:1; 577 uint64_t q5_und:1; 578 uint64_t q5_coff:1; 579 uint64_t q5_perr:1; 580 uint64_t q6_und:1; 581 uint64_t q6_coff:1; 582 uint64_t q6_perr:1; 583 uint64_t q7_und:1; 584 uint64_t q7_coff:1; 585 uint64_t q7_perr:1; 586 uint64_t pool0th:1; 587 uint64_t pool1th:1; 588 uint64_t pool2th:1; 589 uint64_t pool3th:1; 590 uint64_t pool4th:1; 591 uint64_t pool5th:1; 592 uint64_t pool6th:1; 593 uint64_t pool7th:1; 594 uint64_t free0:1; 595 uint64_t free1:1; 596 uint64_t free2:1; 597 uint64_t free3:1; 598 uint64_t free4:1; 599 uint64_t free5:1; 600 uint64_t free6:1; 601 uint64_t free7:1; 602 uint64_t res_44:5; 603 uint64_t paddr_e:1; 604 uint64_t reserved_50_63:14; 605 #endif 606 } cn61xx; 607 struct cvmx_fpa_int_enb_cn63xx { 608 #ifdef __BIG_ENDIAN_BITFIELD 609 uint64_t reserved_44_63:20; 610 uint64_t free7:1; 611 uint64_t free6:1; 612 uint64_t free5:1; 613 uint64_t free4:1; 614 uint64_t free3:1; 615 uint64_t free2:1; 616 uint64_t free1:1; 617 uint64_t free0:1; 618 uint64_t pool7th:1; 619 uint64_t pool6th:1; 620 uint64_t pool5th:1; 621 uint64_t pool4th:1; 622 uint64_t pool3th:1; 623 uint64_t pool2th:1; 624 uint64_t pool1th:1; 625 uint64_t pool0th:1; 626 uint64_t q7_perr:1; 627 uint64_t q7_coff:1; 628 uint64_t q7_und:1; 629 uint64_t q6_perr:1; 630 uint64_t q6_coff:1; 631 uint64_t q6_und:1; 632 uint64_t q5_perr:1; 633 uint64_t q5_coff:1; 634 uint64_t q5_und:1; 635 uint64_t q4_perr:1; 636 uint64_t q4_coff:1; 637 uint64_t q4_und:1; 638 uint64_t q3_perr:1; 639 uint64_t q3_coff:1; 640 uint64_t q3_und:1; 641 uint64_t q2_perr:1; 642 uint64_t q2_coff:1; 643 uint64_t q2_und:1; 644 uint64_t q1_perr:1; 645 uint64_t q1_coff:1; 646 uint64_t q1_und:1; 647 uint64_t q0_perr:1; 648 uint64_t q0_coff:1; 649 uint64_t q0_und:1; 650 uint64_t fed1_dbe:1; 651 uint64_t fed1_sbe:1; 652 uint64_t fed0_dbe:1; 653 uint64_t fed0_sbe:1; 654 #else 655 uint64_t fed0_sbe:1; 656 uint64_t fed0_dbe:1; 657 uint64_t fed1_sbe:1; 658 uint64_t fed1_dbe:1; 659 uint64_t q0_und:1; 660 uint64_t q0_coff:1; 661 uint64_t q0_perr:1; 662 uint64_t q1_und:1; 663 uint64_t q1_coff:1; 664 uint64_t q1_perr:1; 665 uint64_t q2_und:1; 666 uint64_t q2_coff:1; 667 uint64_t q2_perr:1; 668 uint64_t q3_und:1; 669 uint64_t q3_coff:1; 670 uint64_t q3_perr:1; 671 uint64_t q4_und:1; 672 uint64_t q4_coff:1; 673 uint64_t q4_perr:1; 674 uint64_t q5_und:1; 675 uint64_t q5_coff:1; 676 uint64_t q5_perr:1; 677 uint64_t q6_und:1; 678 uint64_t q6_coff:1; 679 uint64_t q6_perr:1; 680 uint64_t q7_und:1; 681 uint64_t q7_coff:1; 682 uint64_t q7_perr:1; 683 uint64_t pool0th:1; 684 uint64_t pool1th:1; 685 uint64_t pool2th:1; 686 uint64_t pool3th:1; 687 uint64_t pool4th:1; 688 uint64_t pool5th:1; 689 uint64_t pool6th:1; 690 uint64_t pool7th:1; 691 uint64_t free0:1; 692 uint64_t free1:1; 693 uint64_t free2:1; 694 uint64_t free3:1; 695 uint64_t free4:1; 696 uint64_t free5:1; 697 uint64_t free6:1; 698 uint64_t free7:1; 699 uint64_t reserved_44_63:20; 700 #endif 701 } cn63xx; 702 struct cvmx_fpa_int_enb_cn30xx cn63xxp1; 703 struct cvmx_fpa_int_enb_cn61xx cn66xx; 704 struct cvmx_fpa_int_enb_cn68xx { 705 #ifdef __BIG_ENDIAN_BITFIELD 706 uint64_t reserved_50_63:14; 707 uint64_t paddr_e:1; 708 uint64_t pool8th:1; 709 uint64_t q8_perr:1; 710 uint64_t q8_coff:1; 711 uint64_t q8_und:1; 712 uint64_t free8:1; 713 uint64_t free7:1; 714 uint64_t free6:1; 715 uint64_t free5:1; 716 uint64_t free4:1; 717 uint64_t free3:1; 718 uint64_t free2:1; 719 uint64_t free1:1; 720 uint64_t free0:1; 721 uint64_t pool7th:1; 722 uint64_t pool6th:1; 723 uint64_t pool5th:1; 724 uint64_t pool4th:1; 725 uint64_t pool3th:1; 726 uint64_t pool2th:1; 727 uint64_t pool1th:1; 728 uint64_t pool0th:1; 729 uint64_t q7_perr:1; 730 uint64_t q7_coff:1; 731 uint64_t q7_und:1; 732 uint64_t q6_perr:1; 733 uint64_t q6_coff:1; 734 uint64_t q6_und:1; 735 uint64_t q5_perr:1; 736 uint64_t q5_coff:1; 737 uint64_t q5_und:1; 738 uint64_t q4_perr:1; 739 uint64_t q4_coff:1; 740 uint64_t q4_und:1; 741 uint64_t q3_perr:1; 742 uint64_t q3_coff:1; 743 uint64_t q3_und:1; 744 uint64_t q2_perr:1; 745 uint64_t q2_coff:1; 746 uint64_t q2_und:1; 747 uint64_t q1_perr:1; 748 uint64_t q1_coff:1; 749 uint64_t q1_und:1; 750 uint64_t q0_perr:1; 751 uint64_t q0_coff:1; 752 uint64_t q0_und:1; 753 uint64_t fed1_dbe:1; 754 uint64_t fed1_sbe:1; 755 uint64_t fed0_dbe:1; 756 uint64_t fed0_sbe:1; 757 #else 758 uint64_t fed0_sbe:1; 759 uint64_t fed0_dbe:1; 760 uint64_t fed1_sbe:1; 761 uint64_t fed1_dbe:1; 762 uint64_t q0_und:1; 763 uint64_t q0_coff:1; 764 uint64_t q0_perr:1; 765 uint64_t q1_und:1; 766 uint64_t q1_coff:1; 767 uint64_t q1_perr:1; 768 uint64_t q2_und:1; 769 uint64_t q2_coff:1; 770 uint64_t q2_perr:1; 771 uint64_t q3_und:1; 772 uint64_t q3_coff:1; 773 uint64_t q3_perr:1; 774 uint64_t q4_und:1; 775 uint64_t q4_coff:1; 776 uint64_t q4_perr:1; 777 uint64_t q5_und:1; 778 uint64_t q5_coff:1; 779 uint64_t q5_perr:1; 780 uint64_t q6_und:1; 781 uint64_t q6_coff:1; 782 uint64_t q6_perr:1; 783 uint64_t q7_und:1; 784 uint64_t q7_coff:1; 785 uint64_t q7_perr:1; 786 uint64_t pool0th:1; 787 uint64_t pool1th:1; 788 uint64_t pool2th:1; 789 uint64_t pool3th:1; 790 uint64_t pool4th:1; 791 uint64_t pool5th:1; 792 uint64_t pool6th:1; 793 uint64_t pool7th:1; 794 uint64_t free0:1; 795 uint64_t free1:1; 796 uint64_t free2:1; 797 uint64_t free3:1; 798 uint64_t free4:1; 799 uint64_t free5:1; 800 uint64_t free6:1; 801 uint64_t free7:1; 802 uint64_t free8:1; 803 uint64_t q8_und:1; 804 uint64_t q8_coff:1; 805 uint64_t q8_perr:1; 806 uint64_t pool8th:1; 807 uint64_t paddr_e:1; 808 uint64_t reserved_50_63:14; 809 #endif 810 } cn68xx; 811 struct cvmx_fpa_int_enb_cn68xx cn68xxp1; 812 struct cvmx_fpa_int_enb_cn61xx cnf71xx; 813 }; 814 815 union cvmx_fpa_int_sum { 816 uint64_t u64; 817 struct cvmx_fpa_int_sum_s { 818 #ifdef __BIG_ENDIAN_BITFIELD 819 uint64_t reserved_50_63:14; 820 uint64_t paddr_e:1; 821 uint64_t pool8th:1; 822 uint64_t q8_perr:1; 823 uint64_t q8_coff:1; 824 uint64_t q8_und:1; 825 uint64_t free8:1; 826 uint64_t free7:1; 827 uint64_t free6:1; 828 uint64_t free5:1; 829 uint64_t free4:1; 830 uint64_t free3:1; 831 uint64_t free2:1; 832 uint64_t free1:1; 833 uint64_t free0:1; 834 uint64_t pool7th:1; 835 uint64_t pool6th:1; 836 uint64_t pool5th:1; 837 uint64_t pool4th:1; 838 uint64_t pool3th:1; 839 uint64_t pool2th:1; 840 uint64_t pool1th:1; 841 uint64_t pool0th:1; 842 uint64_t q7_perr:1; 843 uint64_t q7_coff:1; 844 uint64_t q7_und:1; 845 uint64_t q6_perr:1; 846 uint64_t q6_coff:1; 847 uint64_t q6_und:1; 848 uint64_t q5_perr:1; 849 uint64_t q5_coff:1; 850 uint64_t q5_und:1; 851 uint64_t q4_perr:1; 852 uint64_t q4_coff:1; 853 uint64_t q4_und:1; 854 uint64_t q3_perr:1; 855 uint64_t q3_coff:1; 856 uint64_t q3_und:1; 857 uint64_t q2_perr:1; 858 uint64_t q2_coff:1; 859 uint64_t q2_und:1; 860 uint64_t q1_perr:1; 861 uint64_t q1_coff:1; 862 uint64_t q1_und:1; 863 uint64_t q0_perr:1; 864 uint64_t q0_coff:1; 865 uint64_t q0_und:1; 866 uint64_t fed1_dbe:1; 867 uint64_t fed1_sbe:1; 868 uint64_t fed0_dbe:1; 869 uint64_t fed0_sbe:1; 870 #else 871 uint64_t fed0_sbe:1; 872 uint64_t fed0_dbe:1; 873 uint64_t fed1_sbe:1; 874 uint64_t fed1_dbe:1; 875 uint64_t q0_und:1; 876 uint64_t q0_coff:1; 877 uint64_t q0_perr:1; 878 uint64_t q1_und:1; 879 uint64_t q1_coff:1; 880 uint64_t q1_perr:1; 881 uint64_t q2_und:1; 882 uint64_t q2_coff:1; 883 uint64_t q2_perr:1; 884 uint64_t q3_und:1; 885 uint64_t q3_coff:1; 886 uint64_t q3_perr:1; 887 uint64_t q4_und:1; 888 uint64_t q4_coff:1; 889 uint64_t q4_perr:1; 890 uint64_t q5_und:1; 891 uint64_t q5_coff:1; 892 uint64_t q5_perr:1; 893 uint64_t q6_und:1; 894 uint64_t q6_coff:1; 895 uint64_t q6_perr:1; 896 uint64_t q7_und:1; 897 uint64_t q7_coff:1; 898 uint64_t q7_perr:1; 899 uint64_t pool0th:1; 900 uint64_t pool1th:1; 901 uint64_t pool2th:1; 902 uint64_t pool3th:1; 903 uint64_t pool4th:1; 904 uint64_t pool5th:1; 905 uint64_t pool6th:1; 906 uint64_t pool7th:1; 907 uint64_t free0:1; 908 uint64_t free1:1; 909 uint64_t free2:1; 910 uint64_t free3:1; 911 uint64_t free4:1; 912 uint64_t free5:1; 913 uint64_t free6:1; 914 uint64_t free7:1; 915 uint64_t free8:1; 916 uint64_t q8_und:1; 917 uint64_t q8_coff:1; 918 uint64_t q8_perr:1; 919 uint64_t pool8th:1; 920 uint64_t paddr_e:1; 921 uint64_t reserved_50_63:14; 922 #endif 923 } s; 924 struct cvmx_fpa_int_sum_cn30xx { 925 #ifdef __BIG_ENDIAN_BITFIELD 926 uint64_t reserved_28_63:36; 927 uint64_t q7_perr:1; 928 uint64_t q7_coff:1; 929 uint64_t q7_und:1; 930 uint64_t q6_perr:1; 931 uint64_t q6_coff:1; 932 uint64_t q6_und:1; 933 uint64_t q5_perr:1; 934 uint64_t q5_coff:1; 935 uint64_t q5_und:1; 936 uint64_t q4_perr:1; 937 uint64_t q4_coff:1; 938 uint64_t q4_und:1; 939 uint64_t q3_perr:1; 940 uint64_t q3_coff:1; 941 uint64_t q3_und:1; 942 uint64_t q2_perr:1; 943 uint64_t q2_coff:1; 944 uint64_t q2_und:1; 945 uint64_t q1_perr:1; 946 uint64_t q1_coff:1; 947 uint64_t q1_und:1; 948 uint64_t q0_perr:1; 949 uint64_t q0_coff:1; 950 uint64_t q0_und:1; 951 uint64_t fed1_dbe:1; 952 uint64_t fed1_sbe:1; 953 uint64_t fed0_dbe:1; 954 uint64_t fed0_sbe:1; 955 #else 956 uint64_t fed0_sbe:1; 957 uint64_t fed0_dbe:1; 958 uint64_t fed1_sbe:1; 959 uint64_t fed1_dbe:1; 960 uint64_t q0_und:1; 961 uint64_t q0_coff:1; 962 uint64_t q0_perr:1; 963 uint64_t q1_und:1; 964 uint64_t q1_coff:1; 965 uint64_t q1_perr:1; 966 uint64_t q2_und:1; 967 uint64_t q2_coff:1; 968 uint64_t q2_perr:1; 969 uint64_t q3_und:1; 970 uint64_t q3_coff:1; 971 uint64_t q3_perr:1; 972 uint64_t q4_und:1; 973 uint64_t q4_coff:1; 974 uint64_t q4_perr:1; 975 uint64_t q5_und:1; 976 uint64_t q5_coff:1; 977 uint64_t q5_perr:1; 978 uint64_t q6_und:1; 979 uint64_t q6_coff:1; 980 uint64_t q6_perr:1; 981 uint64_t q7_und:1; 982 uint64_t q7_coff:1; 983 uint64_t q7_perr:1; 984 uint64_t reserved_28_63:36; 985 #endif 986 } cn30xx; 987 struct cvmx_fpa_int_sum_cn30xx cn31xx; 988 struct cvmx_fpa_int_sum_cn30xx cn38xx; 989 struct cvmx_fpa_int_sum_cn30xx cn38xxp2; 990 struct cvmx_fpa_int_sum_cn30xx cn50xx; 991 struct cvmx_fpa_int_sum_cn30xx cn52xx; 992 struct cvmx_fpa_int_sum_cn30xx cn52xxp1; 993 struct cvmx_fpa_int_sum_cn30xx cn56xx; 994 struct cvmx_fpa_int_sum_cn30xx cn56xxp1; 995 struct cvmx_fpa_int_sum_cn30xx cn58xx; 996 struct cvmx_fpa_int_sum_cn30xx cn58xxp1; 997 struct cvmx_fpa_int_sum_cn61xx { 998 #ifdef __BIG_ENDIAN_BITFIELD 999 uint64_t reserved_50_63:14; 1000 uint64_t paddr_e:1; 1001 uint64_t reserved_44_48:5; 1002 uint64_t free7:1; 1003 uint64_t free6:1; 1004 uint64_t free5:1; 1005 uint64_t free4:1; 1006 uint64_t free3:1; 1007 uint64_t free2:1; 1008 uint64_t free1:1; 1009 uint64_t free0:1; 1010 uint64_t pool7th:1; 1011 uint64_t pool6th:1; 1012 uint64_t pool5th:1; 1013 uint64_t pool4th:1; 1014 uint64_t pool3th:1; 1015 uint64_t pool2th:1; 1016 uint64_t pool1th:1; 1017 uint64_t pool0th:1; 1018 uint64_t q7_perr:1; 1019 uint64_t q7_coff:1; 1020 uint64_t q7_und:1; 1021 uint64_t q6_perr:1; 1022 uint64_t q6_coff:1; 1023 uint64_t q6_und:1; 1024 uint64_t q5_perr:1; 1025 uint64_t q5_coff:1; 1026 uint64_t q5_und:1; 1027 uint64_t q4_perr:1; 1028 uint64_t q4_coff:1; 1029 uint64_t q4_und:1; 1030 uint64_t q3_perr:1; 1031 uint64_t q3_coff:1; 1032 uint64_t q3_und:1; 1033 uint64_t q2_perr:1; 1034 uint64_t q2_coff:1; 1035 uint64_t q2_und:1; 1036 uint64_t q1_perr:1; 1037 uint64_t q1_coff:1; 1038 uint64_t q1_und:1; 1039 uint64_t q0_perr:1; 1040 uint64_t q0_coff:1; 1041 uint64_t q0_und:1; 1042 uint64_t fed1_dbe:1; 1043 uint64_t fed1_sbe:1; 1044 uint64_t fed0_dbe:1; 1045 uint64_t fed0_sbe:1; 1046 #else 1047 uint64_t fed0_sbe:1; 1048 uint64_t fed0_dbe:1; 1049 uint64_t fed1_sbe:1; 1050 uint64_t fed1_dbe:1; 1051 uint64_t q0_und:1; 1052 uint64_t q0_coff:1; 1053 uint64_t q0_perr:1; 1054 uint64_t q1_und:1; 1055 uint64_t q1_coff:1; 1056 uint64_t q1_perr:1; 1057 uint64_t q2_und:1; 1058 uint64_t q2_coff:1; 1059 uint64_t q2_perr:1; 1060 uint64_t q3_und:1; 1061 uint64_t q3_coff:1; 1062 uint64_t q3_perr:1; 1063 uint64_t q4_und:1; 1064 uint64_t q4_coff:1; 1065 uint64_t q4_perr:1; 1066 uint64_t q5_und:1; 1067 uint64_t q5_coff:1; 1068 uint64_t q5_perr:1; 1069 uint64_t q6_und:1; 1070 uint64_t q6_coff:1; 1071 uint64_t q6_perr:1; 1072 uint64_t q7_und:1; 1073 uint64_t q7_coff:1; 1074 uint64_t q7_perr:1; 1075 uint64_t pool0th:1; 1076 uint64_t pool1th:1; 1077 uint64_t pool2th:1; 1078 uint64_t pool3th:1; 1079 uint64_t pool4th:1; 1080 uint64_t pool5th:1; 1081 uint64_t pool6th:1; 1082 uint64_t pool7th:1; 1083 uint64_t free0:1; 1084 uint64_t free1:1; 1085 uint64_t free2:1; 1086 uint64_t free3:1; 1087 uint64_t free4:1; 1088 uint64_t free5:1; 1089 uint64_t free6:1; 1090 uint64_t free7:1; 1091 uint64_t reserved_44_48:5; 1092 uint64_t paddr_e:1; 1093 uint64_t reserved_50_63:14; 1094 #endif 1095 } cn61xx; 1096 struct cvmx_fpa_int_sum_cn63xx { 1097 #ifdef __BIG_ENDIAN_BITFIELD 1098 uint64_t reserved_44_63:20; 1099 uint64_t free7:1; 1100 uint64_t free6:1; 1101 uint64_t free5:1; 1102 uint64_t free4:1; 1103 uint64_t free3:1; 1104 uint64_t free2:1; 1105 uint64_t free1:1; 1106 uint64_t free0:1; 1107 uint64_t pool7th:1; 1108 uint64_t pool6th:1; 1109 uint64_t pool5th:1; 1110 uint64_t pool4th:1; 1111 uint64_t pool3th:1; 1112 uint64_t pool2th:1; 1113 uint64_t pool1th:1; 1114 uint64_t pool0th:1; 1115 uint64_t q7_perr:1; 1116 uint64_t q7_coff:1; 1117 uint64_t q7_und:1; 1118 uint64_t q6_perr:1; 1119 uint64_t q6_coff:1; 1120 uint64_t q6_und:1; 1121 uint64_t q5_perr:1; 1122 uint64_t q5_coff:1; 1123 uint64_t q5_und:1; 1124 uint64_t q4_perr:1; 1125 uint64_t q4_coff:1; 1126 uint64_t q4_und:1; 1127 uint64_t q3_perr:1; 1128 uint64_t q3_coff:1; 1129 uint64_t q3_und:1; 1130 uint64_t q2_perr:1; 1131 uint64_t q2_coff:1; 1132 uint64_t q2_und:1; 1133 uint64_t q1_perr:1; 1134 uint64_t q1_coff:1; 1135 uint64_t q1_und:1; 1136 uint64_t q0_perr:1; 1137 uint64_t q0_coff:1; 1138 uint64_t q0_und:1; 1139 uint64_t fed1_dbe:1; 1140 uint64_t fed1_sbe:1; 1141 uint64_t fed0_dbe:1; 1142 uint64_t fed0_sbe:1; 1143 #else 1144 uint64_t fed0_sbe:1; 1145 uint64_t fed0_dbe:1; 1146 uint64_t fed1_sbe:1; 1147 uint64_t fed1_dbe:1; 1148 uint64_t q0_und:1; 1149 uint64_t q0_coff:1; 1150 uint64_t q0_perr:1; 1151 uint64_t q1_und:1; 1152 uint64_t q1_coff:1; 1153 uint64_t q1_perr:1; 1154 uint64_t q2_und:1; 1155 uint64_t q2_coff:1; 1156 uint64_t q2_perr:1; 1157 uint64_t q3_und:1; 1158 uint64_t q3_coff:1; 1159 uint64_t q3_perr:1; 1160 uint64_t q4_und:1; 1161 uint64_t q4_coff:1; 1162 uint64_t q4_perr:1; 1163 uint64_t q5_und:1; 1164 uint64_t q5_coff:1; 1165 uint64_t q5_perr:1; 1166 uint64_t q6_und:1; 1167 uint64_t q6_coff:1; 1168 uint64_t q6_perr:1; 1169 uint64_t q7_und:1; 1170 uint64_t q7_coff:1; 1171 uint64_t q7_perr:1; 1172 uint64_t pool0th:1; 1173 uint64_t pool1th:1; 1174 uint64_t pool2th:1; 1175 uint64_t pool3th:1; 1176 uint64_t pool4th:1; 1177 uint64_t pool5th:1; 1178 uint64_t pool6th:1; 1179 uint64_t pool7th:1; 1180 uint64_t free0:1; 1181 uint64_t free1:1; 1182 uint64_t free2:1; 1183 uint64_t free3:1; 1184 uint64_t free4:1; 1185 uint64_t free5:1; 1186 uint64_t free6:1; 1187 uint64_t free7:1; 1188 uint64_t reserved_44_63:20; 1189 #endif 1190 } cn63xx; 1191 struct cvmx_fpa_int_sum_cn30xx cn63xxp1; 1192 struct cvmx_fpa_int_sum_cn61xx cn66xx; 1193 struct cvmx_fpa_int_sum_s cn68xx; 1194 struct cvmx_fpa_int_sum_s cn68xxp1; 1195 struct cvmx_fpa_int_sum_cn61xx cnf71xx; 1196 }; 1197 1198 union cvmx_fpa_packet_threshold { 1199 uint64_t u64; 1200 struct cvmx_fpa_packet_threshold_s { 1201 #ifdef __BIG_ENDIAN_BITFIELD 1202 uint64_t reserved_32_63:32; 1203 uint64_t thresh:32; 1204 #else 1205 uint64_t thresh:32; 1206 uint64_t reserved_32_63:32; 1207 #endif 1208 } s; 1209 struct cvmx_fpa_packet_threshold_s cn61xx; 1210 struct cvmx_fpa_packet_threshold_s cn63xx; 1211 struct cvmx_fpa_packet_threshold_s cn66xx; 1212 struct cvmx_fpa_packet_threshold_s cn68xx; 1213 struct cvmx_fpa_packet_threshold_s cn68xxp1; 1214 struct cvmx_fpa_packet_threshold_s cnf71xx; 1215 }; 1216 1217 union cvmx_fpa_poolx_end_addr { 1218 uint64_t u64; 1219 struct cvmx_fpa_poolx_end_addr_s { 1220 #ifdef __BIG_ENDIAN_BITFIELD 1221 uint64_t reserved_33_63:31; 1222 uint64_t addr:33; 1223 #else 1224 uint64_t addr:33; 1225 uint64_t reserved_33_63:31; 1226 #endif 1227 } s; 1228 struct cvmx_fpa_poolx_end_addr_s cn61xx; 1229 struct cvmx_fpa_poolx_end_addr_s cn66xx; 1230 struct cvmx_fpa_poolx_end_addr_s cn68xx; 1231 struct cvmx_fpa_poolx_end_addr_s cn68xxp1; 1232 struct cvmx_fpa_poolx_end_addr_s cnf71xx; 1233 }; 1234 1235 union cvmx_fpa_poolx_start_addr { 1236 uint64_t u64; 1237 struct cvmx_fpa_poolx_start_addr_s { 1238 #ifdef __BIG_ENDIAN_BITFIELD 1239 uint64_t reserved_33_63:31; 1240 uint64_t addr:33; 1241 #else 1242 uint64_t addr:33; 1243 uint64_t reserved_33_63:31; 1244 #endif 1245 } s; 1246 struct cvmx_fpa_poolx_start_addr_s cn61xx; 1247 struct cvmx_fpa_poolx_start_addr_s cn66xx; 1248 struct cvmx_fpa_poolx_start_addr_s cn68xx; 1249 struct cvmx_fpa_poolx_start_addr_s cn68xxp1; 1250 struct cvmx_fpa_poolx_start_addr_s cnf71xx; 1251 }; 1252 1253 union cvmx_fpa_poolx_threshold { 1254 uint64_t u64; 1255 struct cvmx_fpa_poolx_threshold_s { 1256 #ifdef __BIG_ENDIAN_BITFIELD 1257 uint64_t reserved_32_63:32; 1258 uint64_t thresh:32; 1259 #else 1260 uint64_t thresh:32; 1261 uint64_t reserved_32_63:32; 1262 #endif 1263 } s; 1264 struct cvmx_fpa_poolx_threshold_cn61xx { 1265 #ifdef __BIG_ENDIAN_BITFIELD 1266 uint64_t reserved_29_63:35; 1267 uint64_t thresh:29; 1268 #else 1269 uint64_t thresh:29; 1270 uint64_t reserved_29_63:35; 1271 #endif 1272 } cn61xx; 1273 struct cvmx_fpa_poolx_threshold_cn61xx cn63xx; 1274 struct cvmx_fpa_poolx_threshold_cn61xx cn66xx; 1275 struct cvmx_fpa_poolx_threshold_s cn68xx; 1276 struct cvmx_fpa_poolx_threshold_s cn68xxp1; 1277 struct cvmx_fpa_poolx_threshold_cn61xx cnf71xx; 1278 }; 1279 1280 union cvmx_fpa_quex_available { 1281 uint64_t u64; 1282 struct cvmx_fpa_quex_available_s { 1283 #ifdef __BIG_ENDIAN_BITFIELD 1284 uint64_t reserved_32_63:32; 1285 uint64_t que_siz:32; 1286 #else 1287 uint64_t que_siz:32; 1288 uint64_t reserved_32_63:32; 1289 #endif 1290 } s; 1291 struct cvmx_fpa_quex_available_cn30xx { 1292 #ifdef __BIG_ENDIAN_BITFIELD 1293 uint64_t reserved_29_63:35; 1294 uint64_t que_siz:29; 1295 #else 1296 uint64_t que_siz:29; 1297 uint64_t reserved_29_63:35; 1298 #endif 1299 } cn30xx; 1300 struct cvmx_fpa_quex_available_cn30xx cn31xx; 1301 struct cvmx_fpa_quex_available_cn30xx cn38xx; 1302 struct cvmx_fpa_quex_available_cn30xx cn38xxp2; 1303 struct cvmx_fpa_quex_available_cn30xx cn50xx; 1304 struct cvmx_fpa_quex_available_cn30xx cn52xx; 1305 struct cvmx_fpa_quex_available_cn30xx cn52xxp1; 1306 struct cvmx_fpa_quex_available_cn30xx cn56xx; 1307 struct cvmx_fpa_quex_available_cn30xx cn56xxp1; 1308 struct cvmx_fpa_quex_available_cn30xx cn58xx; 1309 struct cvmx_fpa_quex_available_cn30xx cn58xxp1; 1310 struct cvmx_fpa_quex_available_cn30xx cn61xx; 1311 struct cvmx_fpa_quex_available_cn30xx cn63xx; 1312 struct cvmx_fpa_quex_available_cn30xx cn63xxp1; 1313 struct cvmx_fpa_quex_available_cn30xx cn66xx; 1314 struct cvmx_fpa_quex_available_s cn68xx; 1315 struct cvmx_fpa_quex_available_s cn68xxp1; 1316 struct cvmx_fpa_quex_available_cn30xx cnf71xx; 1317 }; 1318 1319 union cvmx_fpa_quex_page_index { 1320 uint64_t u64; 1321 struct cvmx_fpa_quex_page_index_s { 1322 #ifdef __BIG_ENDIAN_BITFIELD 1323 uint64_t reserved_25_63:39; 1324 uint64_t pg_num:25; 1325 #else 1326 uint64_t pg_num:25; 1327 uint64_t reserved_25_63:39; 1328 #endif 1329 } s; 1330 struct cvmx_fpa_quex_page_index_s cn30xx; 1331 struct cvmx_fpa_quex_page_index_s cn31xx; 1332 struct cvmx_fpa_quex_page_index_s cn38xx; 1333 struct cvmx_fpa_quex_page_index_s cn38xxp2; 1334 struct cvmx_fpa_quex_page_index_s cn50xx; 1335 struct cvmx_fpa_quex_page_index_s cn52xx; 1336 struct cvmx_fpa_quex_page_index_s cn52xxp1; 1337 struct cvmx_fpa_quex_page_index_s cn56xx; 1338 struct cvmx_fpa_quex_page_index_s cn56xxp1; 1339 struct cvmx_fpa_quex_page_index_s cn58xx; 1340 struct cvmx_fpa_quex_page_index_s cn58xxp1; 1341 struct cvmx_fpa_quex_page_index_s cn61xx; 1342 struct cvmx_fpa_quex_page_index_s cn63xx; 1343 struct cvmx_fpa_quex_page_index_s cn63xxp1; 1344 struct cvmx_fpa_quex_page_index_s cn66xx; 1345 struct cvmx_fpa_quex_page_index_s cn68xx; 1346 struct cvmx_fpa_quex_page_index_s cn68xxp1; 1347 struct cvmx_fpa_quex_page_index_s cnf71xx; 1348 }; 1349 1350 union cvmx_fpa_que8_page_index { 1351 uint64_t u64; 1352 struct cvmx_fpa_que8_page_index_s { 1353 #ifdef __BIG_ENDIAN_BITFIELD 1354 uint64_t reserved_25_63:39; 1355 uint64_t pg_num:25; 1356 #else 1357 uint64_t pg_num:25; 1358 uint64_t reserved_25_63:39; 1359 #endif 1360 } s; 1361 struct cvmx_fpa_que8_page_index_s cn68xx; 1362 struct cvmx_fpa_que8_page_index_s cn68xxp1; 1363 }; 1364 1365 union cvmx_fpa_que_act { 1366 uint64_t u64; 1367 struct cvmx_fpa_que_act_s { 1368 #ifdef __BIG_ENDIAN_BITFIELD 1369 uint64_t reserved_29_63:35; 1370 uint64_t act_que:3; 1371 uint64_t act_indx:26; 1372 #else 1373 uint64_t act_indx:26; 1374 uint64_t act_que:3; 1375 uint64_t reserved_29_63:35; 1376 #endif 1377 } s; 1378 struct cvmx_fpa_que_act_s cn30xx; 1379 struct cvmx_fpa_que_act_s cn31xx; 1380 struct cvmx_fpa_que_act_s cn38xx; 1381 struct cvmx_fpa_que_act_s cn38xxp2; 1382 struct cvmx_fpa_que_act_s cn50xx; 1383 struct cvmx_fpa_que_act_s cn52xx; 1384 struct cvmx_fpa_que_act_s cn52xxp1; 1385 struct cvmx_fpa_que_act_s cn56xx; 1386 struct cvmx_fpa_que_act_s cn56xxp1; 1387 struct cvmx_fpa_que_act_s cn58xx; 1388 struct cvmx_fpa_que_act_s cn58xxp1; 1389 struct cvmx_fpa_que_act_s cn61xx; 1390 struct cvmx_fpa_que_act_s cn63xx; 1391 struct cvmx_fpa_que_act_s cn63xxp1; 1392 struct cvmx_fpa_que_act_s cn66xx; 1393 struct cvmx_fpa_que_act_s cn68xx; 1394 struct cvmx_fpa_que_act_s cn68xxp1; 1395 struct cvmx_fpa_que_act_s cnf71xx; 1396 }; 1397 1398 union cvmx_fpa_que_exp { 1399 uint64_t u64; 1400 struct cvmx_fpa_que_exp_s { 1401 #ifdef __BIG_ENDIAN_BITFIELD 1402 uint64_t reserved_29_63:35; 1403 uint64_t exp_que:3; 1404 uint64_t exp_indx:26; 1405 #else 1406 uint64_t exp_indx:26; 1407 uint64_t exp_que:3; 1408 uint64_t reserved_29_63:35; 1409 #endif 1410 } s; 1411 struct cvmx_fpa_que_exp_s cn30xx; 1412 struct cvmx_fpa_que_exp_s cn31xx; 1413 struct cvmx_fpa_que_exp_s cn38xx; 1414 struct cvmx_fpa_que_exp_s cn38xxp2; 1415 struct cvmx_fpa_que_exp_s cn50xx; 1416 struct cvmx_fpa_que_exp_s cn52xx; 1417 struct cvmx_fpa_que_exp_s cn52xxp1; 1418 struct cvmx_fpa_que_exp_s cn56xx; 1419 struct cvmx_fpa_que_exp_s cn56xxp1; 1420 struct cvmx_fpa_que_exp_s cn58xx; 1421 struct cvmx_fpa_que_exp_s cn58xxp1; 1422 struct cvmx_fpa_que_exp_s cn61xx; 1423 struct cvmx_fpa_que_exp_s cn63xx; 1424 struct cvmx_fpa_que_exp_s cn63xxp1; 1425 struct cvmx_fpa_que_exp_s cn66xx; 1426 struct cvmx_fpa_que_exp_s cn68xx; 1427 struct cvmx_fpa_que_exp_s cn68xxp1; 1428 struct cvmx_fpa_que_exp_s cnf71xx; 1429 }; 1430 1431 union cvmx_fpa_wart_ctl { 1432 uint64_t u64; 1433 struct cvmx_fpa_wart_ctl_s { 1434 #ifdef __BIG_ENDIAN_BITFIELD 1435 uint64_t reserved_16_63:48; 1436 uint64_t ctl:16; 1437 #else 1438 uint64_t ctl:16; 1439 uint64_t reserved_16_63:48; 1440 #endif 1441 } s; 1442 struct cvmx_fpa_wart_ctl_s cn30xx; 1443 struct cvmx_fpa_wart_ctl_s cn31xx; 1444 struct cvmx_fpa_wart_ctl_s cn38xx; 1445 struct cvmx_fpa_wart_ctl_s cn38xxp2; 1446 struct cvmx_fpa_wart_ctl_s cn50xx; 1447 struct cvmx_fpa_wart_ctl_s cn52xx; 1448 struct cvmx_fpa_wart_ctl_s cn52xxp1; 1449 struct cvmx_fpa_wart_ctl_s cn56xx; 1450 struct cvmx_fpa_wart_ctl_s cn56xxp1; 1451 struct cvmx_fpa_wart_ctl_s cn58xx; 1452 struct cvmx_fpa_wart_ctl_s cn58xxp1; 1453 }; 1454 1455 union cvmx_fpa_wart_status { 1456 uint64_t u64; 1457 struct cvmx_fpa_wart_status_s { 1458 #ifdef __BIG_ENDIAN_BITFIELD 1459 uint64_t reserved_32_63:32; 1460 uint64_t status:32; 1461 #else 1462 uint64_t status:32; 1463 uint64_t reserved_32_63:32; 1464 #endif 1465 } s; 1466 struct cvmx_fpa_wart_status_s cn30xx; 1467 struct cvmx_fpa_wart_status_s cn31xx; 1468 struct cvmx_fpa_wart_status_s cn38xx; 1469 struct cvmx_fpa_wart_status_s cn38xxp2; 1470 struct cvmx_fpa_wart_status_s cn50xx; 1471 struct cvmx_fpa_wart_status_s cn52xx; 1472 struct cvmx_fpa_wart_status_s cn52xxp1; 1473 struct cvmx_fpa_wart_status_s cn56xx; 1474 struct cvmx_fpa_wart_status_s cn56xxp1; 1475 struct cvmx_fpa_wart_status_s cn58xx; 1476 struct cvmx_fpa_wart_status_s cn58xxp1; 1477 }; 1478 1479 union cvmx_fpa_wqe_threshold { 1480 uint64_t u64; 1481 struct cvmx_fpa_wqe_threshold_s { 1482 #ifdef __BIG_ENDIAN_BITFIELD 1483 uint64_t reserved_32_63:32; 1484 uint64_t thresh:32; 1485 #else 1486 uint64_t thresh:32; 1487 uint64_t reserved_32_63:32; 1488 #endif 1489 } s; 1490 struct cvmx_fpa_wqe_threshold_s cn61xx; 1491 struct cvmx_fpa_wqe_threshold_s cn63xx; 1492 struct cvmx_fpa_wqe_threshold_s cn66xx; 1493 struct cvmx_fpa_wqe_threshold_s cn68xx; 1494 struct cvmx_fpa_wqe_threshold_s cn68xxp1; 1495 struct cvmx_fpa_wqe_threshold_s cnf71xx; 1496 }; 1497 1498 #endif 1499