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_CIU_DEFS_H__ 29 #define __CVMX_CIU_DEFS_H__ 30 31 #define CVMX_CIU_BIST \ 32 CVMX_ADD_IO_SEG(0x0001070000000730ull) 33 #define CVMX_CIU_DINT \ 34 CVMX_ADD_IO_SEG(0x0001070000000720ull) 35 #define CVMX_CIU_FUSE \ 36 CVMX_ADD_IO_SEG(0x0001070000000728ull) 37 #define CVMX_CIU_GSTOP \ 38 CVMX_ADD_IO_SEG(0x0001070000000710ull) 39 #define CVMX_CIU_INTX_EN0(offset) \ 40 CVMX_ADD_IO_SEG(0x0001070000000200ull + (((offset) & 63) * 16)) 41 #define CVMX_CIU_INTX_EN0_W1C(offset) \ 42 CVMX_ADD_IO_SEG(0x0001070000002200ull + (((offset) & 63) * 16)) 43 #define CVMX_CIU_INTX_EN0_W1S(offset) \ 44 CVMX_ADD_IO_SEG(0x0001070000006200ull + (((offset) & 63) * 16)) 45 #define CVMX_CIU_INTX_EN1(offset) \ 46 CVMX_ADD_IO_SEG(0x0001070000000208ull + (((offset) & 63) * 16)) 47 #define CVMX_CIU_INTX_EN1_W1C(offset) \ 48 CVMX_ADD_IO_SEG(0x0001070000002208ull + (((offset) & 63) * 16)) 49 #define CVMX_CIU_INTX_EN1_W1S(offset) \ 50 CVMX_ADD_IO_SEG(0x0001070000006208ull + (((offset) & 63) * 16)) 51 #define CVMX_CIU_INTX_EN4_0(offset) \ 52 CVMX_ADD_IO_SEG(0x0001070000000C80ull + (((offset) & 15) * 16)) 53 #define CVMX_CIU_INTX_EN4_0_W1C(offset) \ 54 CVMX_ADD_IO_SEG(0x0001070000002C80ull + (((offset) & 15) * 16)) 55 #define CVMX_CIU_INTX_EN4_0_W1S(offset) \ 56 CVMX_ADD_IO_SEG(0x0001070000006C80ull + (((offset) & 15) * 16)) 57 #define CVMX_CIU_INTX_EN4_1(offset) \ 58 CVMX_ADD_IO_SEG(0x0001070000000C88ull + (((offset) & 15) * 16)) 59 #define CVMX_CIU_INTX_EN4_1_W1C(offset) \ 60 CVMX_ADD_IO_SEG(0x0001070000002C88ull + (((offset) & 15) * 16)) 61 #define CVMX_CIU_INTX_EN4_1_W1S(offset) \ 62 CVMX_ADD_IO_SEG(0x0001070000006C88ull + (((offset) & 15) * 16)) 63 #define CVMX_CIU_INTX_SUM0(offset) \ 64 CVMX_ADD_IO_SEG(0x0001070000000000ull + (((offset) & 63) * 8)) 65 #define CVMX_CIU_INTX_SUM4(offset) \ 66 CVMX_ADD_IO_SEG(0x0001070000000C00ull + (((offset) & 15) * 8)) 67 #define CVMX_CIU_INT_SUM1 \ 68 CVMX_ADD_IO_SEG(0x0001070000000108ull) 69 #define CVMX_CIU_MBOX_CLRX(offset) \ 70 CVMX_ADD_IO_SEG(0x0001070000000680ull + (((offset) & 15) * 8)) 71 #define CVMX_CIU_MBOX_SETX(offset) \ 72 CVMX_ADD_IO_SEG(0x0001070000000600ull + (((offset) & 15) * 8)) 73 #define CVMX_CIU_NMI \ 74 CVMX_ADD_IO_SEG(0x0001070000000718ull) 75 #define CVMX_CIU_PCI_INTA \ 76 CVMX_ADD_IO_SEG(0x0001070000000750ull) 77 #define CVMX_CIU_PP_DBG \ 78 CVMX_ADD_IO_SEG(0x0001070000000708ull) 79 #define CVMX_CIU_PP_POKEX(offset) \ 80 CVMX_ADD_IO_SEG(0x0001070000000580ull + (((offset) & 15) * 8)) 81 #define CVMX_CIU_PP_RST \ 82 CVMX_ADD_IO_SEG(0x0001070000000700ull) 83 #define CVMX_CIU_QLM_DCOK \ 84 CVMX_ADD_IO_SEG(0x0001070000000760ull) 85 #define CVMX_CIU_QLM_JTGC \ 86 CVMX_ADD_IO_SEG(0x0001070000000768ull) 87 #define CVMX_CIU_QLM_JTGD \ 88 CVMX_ADD_IO_SEG(0x0001070000000770ull) 89 #define CVMX_CIU_SOFT_BIST \ 90 CVMX_ADD_IO_SEG(0x0001070000000738ull) 91 #define CVMX_CIU_SOFT_PRST \ 92 CVMX_ADD_IO_SEG(0x0001070000000748ull) 93 #define CVMX_CIU_SOFT_PRST1 \ 94 CVMX_ADD_IO_SEG(0x0001070000000758ull) 95 #define CVMX_CIU_SOFT_RST \ 96 CVMX_ADD_IO_SEG(0x0001070000000740ull) 97 #define CVMX_CIU_TIMX(offset) \ 98 CVMX_ADD_IO_SEG(0x0001070000000480ull + (((offset) & 3) * 8)) 99 #define CVMX_CIU_WDOGX(offset) \ 100 CVMX_ADD_IO_SEG(0x0001070000000500ull + (((offset) & 15) * 8)) 101 102 union cvmx_ciu_bist { 103 uint64_t u64; 104 struct cvmx_ciu_bist_s { 105 uint64_t reserved_4_63:60; 106 uint64_t bist:4; 107 } s; 108 struct cvmx_ciu_bist_s cn30xx; 109 struct cvmx_ciu_bist_s cn31xx; 110 struct cvmx_ciu_bist_s cn38xx; 111 struct cvmx_ciu_bist_s cn38xxp2; 112 struct cvmx_ciu_bist_cn50xx { 113 uint64_t reserved_2_63:62; 114 uint64_t bist:2; 115 } cn50xx; 116 struct cvmx_ciu_bist_cn52xx { 117 uint64_t reserved_3_63:61; 118 uint64_t bist:3; 119 } cn52xx; 120 struct cvmx_ciu_bist_cn52xx cn52xxp1; 121 struct cvmx_ciu_bist_s cn56xx; 122 struct cvmx_ciu_bist_s cn56xxp1; 123 struct cvmx_ciu_bist_s cn58xx; 124 struct cvmx_ciu_bist_s cn58xxp1; 125 }; 126 127 union cvmx_ciu_dint { 128 uint64_t u64; 129 struct cvmx_ciu_dint_s { 130 uint64_t reserved_16_63:48; 131 uint64_t dint:16; 132 } s; 133 struct cvmx_ciu_dint_cn30xx { 134 uint64_t reserved_1_63:63; 135 uint64_t dint:1; 136 } cn30xx; 137 struct cvmx_ciu_dint_cn31xx { 138 uint64_t reserved_2_63:62; 139 uint64_t dint:2; 140 } cn31xx; 141 struct cvmx_ciu_dint_s cn38xx; 142 struct cvmx_ciu_dint_s cn38xxp2; 143 struct cvmx_ciu_dint_cn31xx cn50xx; 144 struct cvmx_ciu_dint_cn52xx { 145 uint64_t reserved_4_63:60; 146 uint64_t dint:4; 147 } cn52xx; 148 struct cvmx_ciu_dint_cn52xx cn52xxp1; 149 struct cvmx_ciu_dint_cn56xx { 150 uint64_t reserved_12_63:52; 151 uint64_t dint:12; 152 } cn56xx; 153 struct cvmx_ciu_dint_cn56xx cn56xxp1; 154 struct cvmx_ciu_dint_s cn58xx; 155 struct cvmx_ciu_dint_s cn58xxp1; 156 }; 157 158 union cvmx_ciu_fuse { 159 uint64_t u64; 160 struct cvmx_ciu_fuse_s { 161 uint64_t reserved_16_63:48; 162 uint64_t fuse:16; 163 } s; 164 struct cvmx_ciu_fuse_cn30xx { 165 uint64_t reserved_1_63:63; 166 uint64_t fuse:1; 167 } cn30xx; 168 struct cvmx_ciu_fuse_cn31xx { 169 uint64_t reserved_2_63:62; 170 uint64_t fuse:2; 171 } cn31xx; 172 struct cvmx_ciu_fuse_s cn38xx; 173 struct cvmx_ciu_fuse_s cn38xxp2; 174 struct cvmx_ciu_fuse_cn31xx cn50xx; 175 struct cvmx_ciu_fuse_cn52xx { 176 uint64_t reserved_4_63:60; 177 uint64_t fuse:4; 178 } cn52xx; 179 struct cvmx_ciu_fuse_cn52xx cn52xxp1; 180 struct cvmx_ciu_fuse_cn56xx { 181 uint64_t reserved_12_63:52; 182 uint64_t fuse:12; 183 } cn56xx; 184 struct cvmx_ciu_fuse_cn56xx cn56xxp1; 185 struct cvmx_ciu_fuse_s cn58xx; 186 struct cvmx_ciu_fuse_s cn58xxp1; 187 }; 188 189 union cvmx_ciu_gstop { 190 uint64_t u64; 191 struct cvmx_ciu_gstop_s { 192 uint64_t reserved_1_63:63; 193 uint64_t gstop:1; 194 } s; 195 struct cvmx_ciu_gstop_s cn30xx; 196 struct cvmx_ciu_gstop_s cn31xx; 197 struct cvmx_ciu_gstop_s cn38xx; 198 struct cvmx_ciu_gstop_s cn38xxp2; 199 struct cvmx_ciu_gstop_s cn50xx; 200 struct cvmx_ciu_gstop_s cn52xx; 201 struct cvmx_ciu_gstop_s cn52xxp1; 202 struct cvmx_ciu_gstop_s cn56xx; 203 struct cvmx_ciu_gstop_s cn56xxp1; 204 struct cvmx_ciu_gstop_s cn58xx; 205 struct cvmx_ciu_gstop_s cn58xxp1; 206 }; 207 208 union cvmx_ciu_intx_en0 { 209 uint64_t u64; 210 struct cvmx_ciu_intx_en0_s { 211 uint64_t bootdma:1; 212 uint64_t mii:1; 213 uint64_t ipdppthr:1; 214 uint64_t powiq:1; 215 uint64_t twsi2:1; 216 uint64_t mpi:1; 217 uint64_t pcm:1; 218 uint64_t usb:1; 219 uint64_t timer:4; 220 uint64_t key_zero:1; 221 uint64_t ipd_drp:1; 222 uint64_t gmx_drp:2; 223 uint64_t trace:1; 224 uint64_t rml:1; 225 uint64_t twsi:1; 226 uint64_t reserved_44_44:1; 227 uint64_t pci_msi:4; 228 uint64_t pci_int:4; 229 uint64_t uart:2; 230 uint64_t mbox:2; 231 uint64_t gpio:16; 232 uint64_t workq:16; 233 } s; 234 struct cvmx_ciu_intx_en0_cn30xx { 235 uint64_t reserved_59_63:5; 236 uint64_t mpi:1; 237 uint64_t pcm:1; 238 uint64_t usb:1; 239 uint64_t timer:4; 240 uint64_t reserved_51_51:1; 241 uint64_t ipd_drp:1; 242 uint64_t reserved_49_49:1; 243 uint64_t gmx_drp:1; 244 uint64_t reserved_47_47:1; 245 uint64_t rml:1; 246 uint64_t twsi:1; 247 uint64_t reserved_44_44:1; 248 uint64_t pci_msi:4; 249 uint64_t pci_int:4; 250 uint64_t uart:2; 251 uint64_t mbox:2; 252 uint64_t gpio:16; 253 uint64_t workq:16; 254 } cn30xx; 255 struct cvmx_ciu_intx_en0_cn31xx { 256 uint64_t reserved_59_63:5; 257 uint64_t mpi:1; 258 uint64_t pcm:1; 259 uint64_t usb:1; 260 uint64_t timer:4; 261 uint64_t reserved_51_51:1; 262 uint64_t ipd_drp:1; 263 uint64_t reserved_49_49:1; 264 uint64_t gmx_drp:1; 265 uint64_t trace:1; 266 uint64_t rml:1; 267 uint64_t twsi:1; 268 uint64_t reserved_44_44:1; 269 uint64_t pci_msi:4; 270 uint64_t pci_int:4; 271 uint64_t uart:2; 272 uint64_t mbox:2; 273 uint64_t gpio:16; 274 uint64_t workq:16; 275 } cn31xx; 276 struct cvmx_ciu_intx_en0_cn38xx { 277 uint64_t reserved_56_63:8; 278 uint64_t timer:4; 279 uint64_t key_zero:1; 280 uint64_t ipd_drp:1; 281 uint64_t gmx_drp:2; 282 uint64_t trace:1; 283 uint64_t rml:1; 284 uint64_t twsi:1; 285 uint64_t reserved_44_44:1; 286 uint64_t pci_msi:4; 287 uint64_t pci_int:4; 288 uint64_t uart:2; 289 uint64_t mbox:2; 290 uint64_t gpio:16; 291 uint64_t workq:16; 292 } cn38xx; 293 struct cvmx_ciu_intx_en0_cn38xx cn38xxp2; 294 struct cvmx_ciu_intx_en0_cn30xx cn50xx; 295 struct cvmx_ciu_intx_en0_cn52xx { 296 uint64_t bootdma:1; 297 uint64_t mii:1; 298 uint64_t ipdppthr:1; 299 uint64_t powiq:1; 300 uint64_t twsi2:1; 301 uint64_t reserved_57_58:2; 302 uint64_t usb:1; 303 uint64_t timer:4; 304 uint64_t reserved_51_51:1; 305 uint64_t ipd_drp:1; 306 uint64_t reserved_49_49:1; 307 uint64_t gmx_drp:1; 308 uint64_t trace:1; 309 uint64_t rml:1; 310 uint64_t twsi:1; 311 uint64_t reserved_44_44:1; 312 uint64_t pci_msi:4; 313 uint64_t pci_int:4; 314 uint64_t uart:2; 315 uint64_t mbox:2; 316 uint64_t gpio:16; 317 uint64_t workq:16; 318 } cn52xx; 319 struct cvmx_ciu_intx_en0_cn52xx cn52xxp1; 320 struct cvmx_ciu_intx_en0_cn56xx { 321 uint64_t bootdma:1; 322 uint64_t mii:1; 323 uint64_t ipdppthr:1; 324 uint64_t powiq:1; 325 uint64_t twsi2:1; 326 uint64_t reserved_57_58:2; 327 uint64_t usb:1; 328 uint64_t timer:4; 329 uint64_t key_zero:1; 330 uint64_t ipd_drp:1; 331 uint64_t gmx_drp:2; 332 uint64_t trace:1; 333 uint64_t rml:1; 334 uint64_t twsi:1; 335 uint64_t reserved_44_44:1; 336 uint64_t pci_msi:4; 337 uint64_t pci_int:4; 338 uint64_t uart:2; 339 uint64_t mbox:2; 340 uint64_t gpio:16; 341 uint64_t workq:16; 342 } cn56xx; 343 struct cvmx_ciu_intx_en0_cn56xx cn56xxp1; 344 struct cvmx_ciu_intx_en0_cn38xx cn58xx; 345 struct cvmx_ciu_intx_en0_cn38xx cn58xxp1; 346 }; 347 348 union cvmx_ciu_intx_en0_w1c { 349 uint64_t u64; 350 struct cvmx_ciu_intx_en0_w1c_s { 351 uint64_t bootdma:1; 352 uint64_t mii:1; 353 uint64_t ipdppthr:1; 354 uint64_t powiq:1; 355 uint64_t twsi2:1; 356 uint64_t reserved_57_58:2; 357 uint64_t usb:1; 358 uint64_t timer:4; 359 uint64_t key_zero:1; 360 uint64_t ipd_drp:1; 361 uint64_t gmx_drp:2; 362 uint64_t trace:1; 363 uint64_t rml:1; 364 uint64_t twsi:1; 365 uint64_t reserved_44_44:1; 366 uint64_t pci_msi:4; 367 uint64_t pci_int:4; 368 uint64_t uart:2; 369 uint64_t mbox:2; 370 uint64_t gpio:16; 371 uint64_t workq:16; 372 } s; 373 struct cvmx_ciu_intx_en0_w1c_cn52xx { 374 uint64_t bootdma:1; 375 uint64_t mii:1; 376 uint64_t ipdppthr:1; 377 uint64_t powiq:1; 378 uint64_t twsi2:1; 379 uint64_t reserved_57_58:2; 380 uint64_t usb:1; 381 uint64_t timer:4; 382 uint64_t reserved_51_51:1; 383 uint64_t ipd_drp:1; 384 uint64_t reserved_49_49:1; 385 uint64_t gmx_drp:1; 386 uint64_t trace:1; 387 uint64_t rml:1; 388 uint64_t twsi:1; 389 uint64_t reserved_44_44:1; 390 uint64_t pci_msi:4; 391 uint64_t pci_int:4; 392 uint64_t uart:2; 393 uint64_t mbox:2; 394 uint64_t gpio:16; 395 uint64_t workq:16; 396 } cn52xx; 397 struct cvmx_ciu_intx_en0_w1c_s cn56xx; 398 struct cvmx_ciu_intx_en0_w1c_cn58xx { 399 uint64_t reserved_56_63:8; 400 uint64_t timer:4; 401 uint64_t key_zero:1; 402 uint64_t ipd_drp:1; 403 uint64_t gmx_drp:2; 404 uint64_t trace:1; 405 uint64_t rml:1; 406 uint64_t twsi:1; 407 uint64_t reserved_44_44:1; 408 uint64_t pci_msi:4; 409 uint64_t pci_int:4; 410 uint64_t uart:2; 411 uint64_t mbox:2; 412 uint64_t gpio:16; 413 uint64_t workq:16; 414 } cn58xx; 415 }; 416 417 union cvmx_ciu_intx_en0_w1s { 418 uint64_t u64; 419 struct cvmx_ciu_intx_en0_w1s_s { 420 uint64_t bootdma:1; 421 uint64_t mii:1; 422 uint64_t ipdppthr:1; 423 uint64_t powiq:1; 424 uint64_t twsi2:1; 425 uint64_t reserved_57_58:2; 426 uint64_t usb:1; 427 uint64_t timer:4; 428 uint64_t key_zero:1; 429 uint64_t ipd_drp:1; 430 uint64_t gmx_drp:2; 431 uint64_t trace:1; 432 uint64_t rml:1; 433 uint64_t twsi:1; 434 uint64_t reserved_44_44:1; 435 uint64_t pci_msi:4; 436 uint64_t pci_int:4; 437 uint64_t uart:2; 438 uint64_t mbox:2; 439 uint64_t gpio:16; 440 uint64_t workq:16; 441 } s; 442 struct cvmx_ciu_intx_en0_w1s_cn52xx { 443 uint64_t bootdma:1; 444 uint64_t mii:1; 445 uint64_t ipdppthr:1; 446 uint64_t powiq:1; 447 uint64_t twsi2:1; 448 uint64_t reserved_57_58:2; 449 uint64_t usb:1; 450 uint64_t timer:4; 451 uint64_t reserved_51_51:1; 452 uint64_t ipd_drp:1; 453 uint64_t reserved_49_49:1; 454 uint64_t gmx_drp:1; 455 uint64_t trace:1; 456 uint64_t rml:1; 457 uint64_t twsi:1; 458 uint64_t reserved_44_44:1; 459 uint64_t pci_msi:4; 460 uint64_t pci_int:4; 461 uint64_t uart:2; 462 uint64_t mbox:2; 463 uint64_t gpio:16; 464 uint64_t workq:16; 465 } cn52xx; 466 struct cvmx_ciu_intx_en0_w1s_s cn56xx; 467 struct cvmx_ciu_intx_en0_w1s_cn58xx { 468 uint64_t reserved_56_63:8; 469 uint64_t timer:4; 470 uint64_t key_zero:1; 471 uint64_t ipd_drp:1; 472 uint64_t gmx_drp:2; 473 uint64_t trace:1; 474 uint64_t rml:1; 475 uint64_t twsi:1; 476 uint64_t reserved_44_44:1; 477 uint64_t pci_msi:4; 478 uint64_t pci_int:4; 479 uint64_t uart:2; 480 uint64_t mbox:2; 481 uint64_t gpio:16; 482 uint64_t workq:16; 483 } cn58xx; 484 }; 485 486 union cvmx_ciu_intx_en1 { 487 uint64_t u64; 488 struct cvmx_ciu_intx_en1_s { 489 uint64_t reserved_20_63:44; 490 uint64_t nand:1; 491 uint64_t mii1:1; 492 uint64_t usb1:1; 493 uint64_t uart2:1; 494 uint64_t wdog:16; 495 } s; 496 struct cvmx_ciu_intx_en1_cn30xx { 497 uint64_t reserved_1_63:63; 498 uint64_t wdog:1; 499 } cn30xx; 500 struct cvmx_ciu_intx_en1_cn31xx { 501 uint64_t reserved_2_63:62; 502 uint64_t wdog:2; 503 } cn31xx; 504 struct cvmx_ciu_intx_en1_cn38xx { 505 uint64_t reserved_16_63:48; 506 uint64_t wdog:16; 507 } cn38xx; 508 struct cvmx_ciu_intx_en1_cn38xx cn38xxp2; 509 struct cvmx_ciu_intx_en1_cn31xx cn50xx; 510 struct cvmx_ciu_intx_en1_cn52xx { 511 uint64_t reserved_20_63:44; 512 uint64_t nand:1; 513 uint64_t mii1:1; 514 uint64_t usb1:1; 515 uint64_t uart2:1; 516 uint64_t reserved_4_15:12; 517 uint64_t wdog:4; 518 } cn52xx; 519 struct cvmx_ciu_intx_en1_cn52xxp1 { 520 uint64_t reserved_19_63:45; 521 uint64_t mii1:1; 522 uint64_t usb1:1; 523 uint64_t uart2:1; 524 uint64_t reserved_4_15:12; 525 uint64_t wdog:4; 526 } cn52xxp1; 527 struct cvmx_ciu_intx_en1_cn56xx { 528 uint64_t reserved_12_63:52; 529 uint64_t wdog:12; 530 } cn56xx; 531 struct cvmx_ciu_intx_en1_cn56xx cn56xxp1; 532 struct cvmx_ciu_intx_en1_cn38xx cn58xx; 533 struct cvmx_ciu_intx_en1_cn38xx cn58xxp1; 534 }; 535 536 union cvmx_ciu_intx_en1_w1c { 537 uint64_t u64; 538 struct cvmx_ciu_intx_en1_w1c_s { 539 uint64_t reserved_20_63:44; 540 uint64_t nand:1; 541 uint64_t mii1:1; 542 uint64_t usb1:1; 543 uint64_t uart2:1; 544 uint64_t wdog:16; 545 } s; 546 struct cvmx_ciu_intx_en1_w1c_cn52xx { 547 uint64_t reserved_20_63:44; 548 uint64_t nand:1; 549 uint64_t mii1:1; 550 uint64_t usb1:1; 551 uint64_t uart2:1; 552 uint64_t reserved_4_15:12; 553 uint64_t wdog:4; 554 } cn52xx; 555 struct cvmx_ciu_intx_en1_w1c_cn56xx { 556 uint64_t reserved_12_63:52; 557 uint64_t wdog:12; 558 } cn56xx; 559 struct cvmx_ciu_intx_en1_w1c_cn58xx { 560 uint64_t reserved_16_63:48; 561 uint64_t wdog:16; 562 } cn58xx; 563 }; 564 565 union cvmx_ciu_intx_en1_w1s { 566 uint64_t u64; 567 struct cvmx_ciu_intx_en1_w1s_s { 568 uint64_t reserved_20_63:44; 569 uint64_t nand:1; 570 uint64_t mii1:1; 571 uint64_t usb1:1; 572 uint64_t uart2:1; 573 uint64_t wdog:16; 574 } s; 575 struct cvmx_ciu_intx_en1_w1s_cn52xx { 576 uint64_t reserved_20_63:44; 577 uint64_t nand:1; 578 uint64_t mii1:1; 579 uint64_t usb1:1; 580 uint64_t uart2:1; 581 uint64_t reserved_4_15:12; 582 uint64_t wdog:4; 583 } cn52xx; 584 struct cvmx_ciu_intx_en1_w1s_cn56xx { 585 uint64_t reserved_12_63:52; 586 uint64_t wdog:12; 587 } cn56xx; 588 struct cvmx_ciu_intx_en1_w1s_cn58xx { 589 uint64_t reserved_16_63:48; 590 uint64_t wdog:16; 591 } cn58xx; 592 }; 593 594 union cvmx_ciu_intx_en4_0 { 595 uint64_t u64; 596 struct cvmx_ciu_intx_en4_0_s { 597 uint64_t bootdma:1; 598 uint64_t mii:1; 599 uint64_t ipdppthr:1; 600 uint64_t powiq:1; 601 uint64_t twsi2:1; 602 uint64_t mpi:1; 603 uint64_t pcm:1; 604 uint64_t usb:1; 605 uint64_t timer:4; 606 uint64_t key_zero:1; 607 uint64_t ipd_drp:1; 608 uint64_t gmx_drp:2; 609 uint64_t trace:1; 610 uint64_t rml:1; 611 uint64_t twsi:1; 612 uint64_t reserved_44_44:1; 613 uint64_t pci_msi:4; 614 uint64_t pci_int:4; 615 uint64_t uart:2; 616 uint64_t mbox:2; 617 uint64_t gpio:16; 618 uint64_t workq:16; 619 } s; 620 struct cvmx_ciu_intx_en4_0_cn50xx { 621 uint64_t reserved_59_63:5; 622 uint64_t mpi:1; 623 uint64_t pcm:1; 624 uint64_t usb:1; 625 uint64_t timer:4; 626 uint64_t reserved_51_51:1; 627 uint64_t ipd_drp:1; 628 uint64_t reserved_49_49:1; 629 uint64_t gmx_drp:1; 630 uint64_t reserved_47_47:1; 631 uint64_t rml:1; 632 uint64_t twsi:1; 633 uint64_t reserved_44_44:1; 634 uint64_t pci_msi:4; 635 uint64_t pci_int:4; 636 uint64_t uart:2; 637 uint64_t mbox:2; 638 uint64_t gpio:16; 639 uint64_t workq:16; 640 } cn50xx; 641 struct cvmx_ciu_intx_en4_0_cn52xx { 642 uint64_t bootdma:1; 643 uint64_t mii:1; 644 uint64_t ipdppthr:1; 645 uint64_t powiq:1; 646 uint64_t twsi2:1; 647 uint64_t reserved_57_58:2; 648 uint64_t usb:1; 649 uint64_t timer:4; 650 uint64_t reserved_51_51:1; 651 uint64_t ipd_drp:1; 652 uint64_t reserved_49_49:1; 653 uint64_t gmx_drp:1; 654 uint64_t trace:1; 655 uint64_t rml:1; 656 uint64_t twsi:1; 657 uint64_t reserved_44_44:1; 658 uint64_t pci_msi:4; 659 uint64_t pci_int:4; 660 uint64_t uart:2; 661 uint64_t mbox:2; 662 uint64_t gpio:16; 663 uint64_t workq:16; 664 } cn52xx; 665 struct cvmx_ciu_intx_en4_0_cn52xx cn52xxp1; 666 struct cvmx_ciu_intx_en4_0_cn56xx { 667 uint64_t bootdma:1; 668 uint64_t mii:1; 669 uint64_t ipdppthr:1; 670 uint64_t powiq:1; 671 uint64_t twsi2:1; 672 uint64_t reserved_57_58:2; 673 uint64_t usb:1; 674 uint64_t timer:4; 675 uint64_t key_zero:1; 676 uint64_t ipd_drp:1; 677 uint64_t gmx_drp:2; 678 uint64_t trace:1; 679 uint64_t rml:1; 680 uint64_t twsi:1; 681 uint64_t reserved_44_44:1; 682 uint64_t pci_msi:4; 683 uint64_t pci_int:4; 684 uint64_t uart:2; 685 uint64_t mbox:2; 686 uint64_t gpio:16; 687 uint64_t workq:16; 688 } cn56xx; 689 struct cvmx_ciu_intx_en4_0_cn56xx cn56xxp1; 690 struct cvmx_ciu_intx_en4_0_cn58xx { 691 uint64_t reserved_56_63:8; 692 uint64_t timer:4; 693 uint64_t key_zero:1; 694 uint64_t ipd_drp:1; 695 uint64_t gmx_drp:2; 696 uint64_t trace:1; 697 uint64_t rml:1; 698 uint64_t twsi:1; 699 uint64_t reserved_44_44:1; 700 uint64_t pci_msi:4; 701 uint64_t pci_int:4; 702 uint64_t uart:2; 703 uint64_t mbox:2; 704 uint64_t gpio:16; 705 uint64_t workq:16; 706 } cn58xx; 707 struct cvmx_ciu_intx_en4_0_cn58xx cn58xxp1; 708 }; 709 710 union cvmx_ciu_intx_en4_0_w1c { 711 uint64_t u64; 712 struct cvmx_ciu_intx_en4_0_w1c_s { 713 uint64_t bootdma:1; 714 uint64_t mii:1; 715 uint64_t ipdppthr:1; 716 uint64_t powiq:1; 717 uint64_t twsi2:1; 718 uint64_t reserved_57_58:2; 719 uint64_t usb:1; 720 uint64_t timer:4; 721 uint64_t key_zero:1; 722 uint64_t ipd_drp:1; 723 uint64_t gmx_drp:2; 724 uint64_t trace:1; 725 uint64_t rml:1; 726 uint64_t twsi:1; 727 uint64_t reserved_44_44:1; 728 uint64_t pci_msi:4; 729 uint64_t pci_int:4; 730 uint64_t uart:2; 731 uint64_t mbox:2; 732 uint64_t gpio:16; 733 uint64_t workq:16; 734 } s; 735 struct cvmx_ciu_intx_en4_0_w1c_cn52xx { 736 uint64_t bootdma:1; 737 uint64_t mii:1; 738 uint64_t ipdppthr:1; 739 uint64_t powiq:1; 740 uint64_t twsi2:1; 741 uint64_t reserved_57_58:2; 742 uint64_t usb:1; 743 uint64_t timer:4; 744 uint64_t reserved_51_51:1; 745 uint64_t ipd_drp:1; 746 uint64_t reserved_49_49:1; 747 uint64_t gmx_drp:1; 748 uint64_t trace:1; 749 uint64_t rml:1; 750 uint64_t twsi:1; 751 uint64_t reserved_44_44:1; 752 uint64_t pci_msi:4; 753 uint64_t pci_int:4; 754 uint64_t uart:2; 755 uint64_t mbox:2; 756 uint64_t gpio:16; 757 uint64_t workq:16; 758 } cn52xx; 759 struct cvmx_ciu_intx_en4_0_w1c_s cn56xx; 760 struct cvmx_ciu_intx_en4_0_w1c_cn58xx { 761 uint64_t reserved_56_63:8; 762 uint64_t timer:4; 763 uint64_t key_zero:1; 764 uint64_t ipd_drp:1; 765 uint64_t gmx_drp:2; 766 uint64_t trace:1; 767 uint64_t rml:1; 768 uint64_t twsi:1; 769 uint64_t reserved_44_44:1; 770 uint64_t pci_msi:4; 771 uint64_t pci_int:4; 772 uint64_t uart:2; 773 uint64_t mbox:2; 774 uint64_t gpio:16; 775 uint64_t workq:16; 776 } cn58xx; 777 }; 778 779 union cvmx_ciu_intx_en4_0_w1s { 780 uint64_t u64; 781 struct cvmx_ciu_intx_en4_0_w1s_s { 782 uint64_t bootdma:1; 783 uint64_t mii:1; 784 uint64_t ipdppthr:1; 785 uint64_t powiq:1; 786 uint64_t twsi2:1; 787 uint64_t reserved_57_58:2; 788 uint64_t usb:1; 789 uint64_t timer:4; 790 uint64_t key_zero:1; 791 uint64_t ipd_drp:1; 792 uint64_t gmx_drp:2; 793 uint64_t trace:1; 794 uint64_t rml:1; 795 uint64_t twsi:1; 796 uint64_t reserved_44_44:1; 797 uint64_t pci_msi:4; 798 uint64_t pci_int:4; 799 uint64_t uart:2; 800 uint64_t mbox:2; 801 uint64_t gpio:16; 802 uint64_t workq:16; 803 } s; 804 struct cvmx_ciu_intx_en4_0_w1s_cn52xx { 805 uint64_t bootdma:1; 806 uint64_t mii:1; 807 uint64_t ipdppthr:1; 808 uint64_t powiq:1; 809 uint64_t twsi2:1; 810 uint64_t reserved_57_58:2; 811 uint64_t usb:1; 812 uint64_t timer:4; 813 uint64_t reserved_51_51:1; 814 uint64_t ipd_drp:1; 815 uint64_t reserved_49_49:1; 816 uint64_t gmx_drp:1; 817 uint64_t trace:1; 818 uint64_t rml:1; 819 uint64_t twsi:1; 820 uint64_t reserved_44_44:1; 821 uint64_t pci_msi:4; 822 uint64_t pci_int:4; 823 uint64_t uart:2; 824 uint64_t mbox:2; 825 uint64_t gpio:16; 826 uint64_t workq:16; 827 } cn52xx; 828 struct cvmx_ciu_intx_en4_0_w1s_s cn56xx; 829 struct cvmx_ciu_intx_en4_0_w1s_cn58xx { 830 uint64_t reserved_56_63:8; 831 uint64_t timer:4; 832 uint64_t key_zero:1; 833 uint64_t ipd_drp:1; 834 uint64_t gmx_drp:2; 835 uint64_t trace:1; 836 uint64_t rml:1; 837 uint64_t twsi:1; 838 uint64_t reserved_44_44:1; 839 uint64_t pci_msi:4; 840 uint64_t pci_int:4; 841 uint64_t uart:2; 842 uint64_t mbox:2; 843 uint64_t gpio:16; 844 uint64_t workq:16; 845 } cn58xx; 846 }; 847 848 union cvmx_ciu_intx_en4_1 { 849 uint64_t u64; 850 struct cvmx_ciu_intx_en4_1_s { 851 uint64_t reserved_20_63:44; 852 uint64_t nand:1; 853 uint64_t mii1:1; 854 uint64_t usb1:1; 855 uint64_t uart2:1; 856 uint64_t wdog:16; 857 } s; 858 struct cvmx_ciu_intx_en4_1_cn50xx { 859 uint64_t reserved_2_63:62; 860 uint64_t wdog:2; 861 } cn50xx; 862 struct cvmx_ciu_intx_en4_1_cn52xx { 863 uint64_t reserved_20_63:44; 864 uint64_t nand:1; 865 uint64_t mii1:1; 866 uint64_t usb1:1; 867 uint64_t uart2:1; 868 uint64_t reserved_4_15:12; 869 uint64_t wdog:4; 870 } cn52xx; 871 struct cvmx_ciu_intx_en4_1_cn52xxp1 { 872 uint64_t reserved_19_63:45; 873 uint64_t mii1:1; 874 uint64_t usb1:1; 875 uint64_t uart2:1; 876 uint64_t reserved_4_15:12; 877 uint64_t wdog:4; 878 } cn52xxp1; 879 struct cvmx_ciu_intx_en4_1_cn56xx { 880 uint64_t reserved_12_63:52; 881 uint64_t wdog:12; 882 } cn56xx; 883 struct cvmx_ciu_intx_en4_1_cn56xx cn56xxp1; 884 struct cvmx_ciu_intx_en4_1_cn58xx { 885 uint64_t reserved_16_63:48; 886 uint64_t wdog:16; 887 } cn58xx; 888 struct cvmx_ciu_intx_en4_1_cn58xx cn58xxp1; 889 }; 890 891 union cvmx_ciu_intx_en4_1_w1c { 892 uint64_t u64; 893 struct cvmx_ciu_intx_en4_1_w1c_s { 894 uint64_t reserved_20_63:44; 895 uint64_t nand:1; 896 uint64_t mii1:1; 897 uint64_t usb1:1; 898 uint64_t uart2:1; 899 uint64_t wdog:16; 900 } s; 901 struct cvmx_ciu_intx_en4_1_w1c_cn52xx { 902 uint64_t reserved_20_63:44; 903 uint64_t nand:1; 904 uint64_t mii1:1; 905 uint64_t usb1:1; 906 uint64_t uart2:1; 907 uint64_t reserved_4_15:12; 908 uint64_t wdog:4; 909 } cn52xx; 910 struct cvmx_ciu_intx_en4_1_w1c_cn56xx { 911 uint64_t reserved_12_63:52; 912 uint64_t wdog:12; 913 } cn56xx; 914 struct cvmx_ciu_intx_en4_1_w1c_cn58xx { 915 uint64_t reserved_16_63:48; 916 uint64_t wdog:16; 917 } cn58xx; 918 }; 919 920 union cvmx_ciu_intx_en4_1_w1s { 921 uint64_t u64; 922 struct cvmx_ciu_intx_en4_1_w1s_s { 923 uint64_t reserved_20_63:44; 924 uint64_t nand:1; 925 uint64_t mii1:1; 926 uint64_t usb1:1; 927 uint64_t uart2:1; 928 uint64_t wdog:16; 929 } s; 930 struct cvmx_ciu_intx_en4_1_w1s_cn52xx { 931 uint64_t reserved_20_63:44; 932 uint64_t nand:1; 933 uint64_t mii1:1; 934 uint64_t usb1:1; 935 uint64_t uart2:1; 936 uint64_t reserved_4_15:12; 937 uint64_t wdog:4; 938 } cn52xx; 939 struct cvmx_ciu_intx_en4_1_w1s_cn56xx { 940 uint64_t reserved_12_63:52; 941 uint64_t wdog:12; 942 } cn56xx; 943 struct cvmx_ciu_intx_en4_1_w1s_cn58xx { 944 uint64_t reserved_16_63:48; 945 uint64_t wdog:16; 946 } cn58xx; 947 }; 948 949 union cvmx_ciu_intx_sum0 { 950 uint64_t u64; 951 struct cvmx_ciu_intx_sum0_s { 952 uint64_t bootdma:1; 953 uint64_t mii:1; 954 uint64_t ipdppthr:1; 955 uint64_t powiq:1; 956 uint64_t twsi2:1; 957 uint64_t mpi:1; 958 uint64_t pcm:1; 959 uint64_t usb:1; 960 uint64_t timer:4; 961 uint64_t key_zero:1; 962 uint64_t ipd_drp:1; 963 uint64_t gmx_drp:2; 964 uint64_t trace:1; 965 uint64_t rml:1; 966 uint64_t twsi:1; 967 uint64_t wdog_sum:1; 968 uint64_t pci_msi:4; 969 uint64_t pci_int:4; 970 uint64_t uart:2; 971 uint64_t mbox:2; 972 uint64_t gpio:16; 973 uint64_t workq:16; 974 } s; 975 struct cvmx_ciu_intx_sum0_cn30xx { 976 uint64_t reserved_59_63:5; 977 uint64_t mpi:1; 978 uint64_t pcm:1; 979 uint64_t usb:1; 980 uint64_t timer:4; 981 uint64_t reserved_51_51:1; 982 uint64_t ipd_drp:1; 983 uint64_t reserved_49_49:1; 984 uint64_t gmx_drp:1; 985 uint64_t reserved_47_47:1; 986 uint64_t rml:1; 987 uint64_t twsi:1; 988 uint64_t wdog_sum:1; 989 uint64_t pci_msi:4; 990 uint64_t pci_int:4; 991 uint64_t uart:2; 992 uint64_t mbox:2; 993 uint64_t gpio:16; 994 uint64_t workq:16; 995 } cn30xx; 996 struct cvmx_ciu_intx_sum0_cn31xx { 997 uint64_t reserved_59_63:5; 998 uint64_t mpi:1; 999 uint64_t pcm:1; 1000 uint64_t usb:1; 1001 uint64_t timer:4; 1002 uint64_t reserved_51_51:1; 1003 uint64_t ipd_drp:1; 1004 uint64_t reserved_49_49:1; 1005 uint64_t gmx_drp:1; 1006 uint64_t trace:1; 1007 uint64_t rml:1; 1008 uint64_t twsi:1; 1009 uint64_t wdog_sum:1; 1010 uint64_t pci_msi:4; 1011 uint64_t pci_int:4; 1012 uint64_t uart:2; 1013 uint64_t mbox:2; 1014 uint64_t gpio:16; 1015 uint64_t workq:16; 1016 } cn31xx; 1017 struct cvmx_ciu_intx_sum0_cn38xx { 1018 uint64_t reserved_56_63:8; 1019 uint64_t timer:4; 1020 uint64_t key_zero:1; 1021 uint64_t ipd_drp:1; 1022 uint64_t gmx_drp:2; 1023 uint64_t trace:1; 1024 uint64_t rml:1; 1025 uint64_t twsi:1; 1026 uint64_t wdog_sum:1; 1027 uint64_t pci_msi:4; 1028 uint64_t pci_int:4; 1029 uint64_t uart:2; 1030 uint64_t mbox:2; 1031 uint64_t gpio:16; 1032 uint64_t workq:16; 1033 } cn38xx; 1034 struct cvmx_ciu_intx_sum0_cn38xx cn38xxp2; 1035 struct cvmx_ciu_intx_sum0_cn30xx cn50xx; 1036 struct cvmx_ciu_intx_sum0_cn52xx { 1037 uint64_t bootdma:1; 1038 uint64_t mii:1; 1039 uint64_t ipdppthr:1; 1040 uint64_t powiq:1; 1041 uint64_t twsi2:1; 1042 uint64_t reserved_57_58:2; 1043 uint64_t usb:1; 1044 uint64_t timer:4; 1045 uint64_t reserved_51_51:1; 1046 uint64_t ipd_drp:1; 1047 uint64_t reserved_49_49:1; 1048 uint64_t gmx_drp:1; 1049 uint64_t trace:1; 1050 uint64_t rml:1; 1051 uint64_t twsi:1; 1052 uint64_t wdog_sum:1; 1053 uint64_t pci_msi:4; 1054 uint64_t pci_int:4; 1055 uint64_t uart:2; 1056 uint64_t mbox:2; 1057 uint64_t gpio:16; 1058 uint64_t workq:16; 1059 } cn52xx; 1060 struct cvmx_ciu_intx_sum0_cn52xx cn52xxp1; 1061 struct cvmx_ciu_intx_sum0_cn56xx { 1062 uint64_t bootdma:1; 1063 uint64_t mii:1; 1064 uint64_t ipdppthr:1; 1065 uint64_t powiq:1; 1066 uint64_t twsi2:1; 1067 uint64_t reserved_57_58:2; 1068 uint64_t usb:1; 1069 uint64_t timer:4; 1070 uint64_t key_zero:1; 1071 uint64_t ipd_drp:1; 1072 uint64_t gmx_drp:2; 1073 uint64_t trace:1; 1074 uint64_t rml:1; 1075 uint64_t twsi:1; 1076 uint64_t wdog_sum:1; 1077 uint64_t pci_msi:4; 1078 uint64_t pci_int:4; 1079 uint64_t uart:2; 1080 uint64_t mbox:2; 1081 uint64_t gpio:16; 1082 uint64_t workq:16; 1083 } cn56xx; 1084 struct cvmx_ciu_intx_sum0_cn56xx cn56xxp1; 1085 struct cvmx_ciu_intx_sum0_cn38xx cn58xx; 1086 struct cvmx_ciu_intx_sum0_cn38xx cn58xxp1; 1087 }; 1088 1089 union cvmx_ciu_intx_sum4 { 1090 uint64_t u64; 1091 struct cvmx_ciu_intx_sum4_s { 1092 uint64_t bootdma:1; 1093 uint64_t mii:1; 1094 uint64_t ipdppthr:1; 1095 uint64_t powiq:1; 1096 uint64_t twsi2:1; 1097 uint64_t mpi:1; 1098 uint64_t pcm:1; 1099 uint64_t usb:1; 1100 uint64_t timer:4; 1101 uint64_t key_zero:1; 1102 uint64_t ipd_drp:1; 1103 uint64_t gmx_drp:2; 1104 uint64_t trace:1; 1105 uint64_t rml:1; 1106 uint64_t twsi:1; 1107 uint64_t wdog_sum:1; 1108 uint64_t pci_msi:4; 1109 uint64_t pci_int:4; 1110 uint64_t uart:2; 1111 uint64_t mbox:2; 1112 uint64_t gpio:16; 1113 uint64_t workq:16; 1114 } s; 1115 struct cvmx_ciu_intx_sum4_cn50xx { 1116 uint64_t reserved_59_63:5; 1117 uint64_t mpi:1; 1118 uint64_t pcm:1; 1119 uint64_t usb:1; 1120 uint64_t timer:4; 1121 uint64_t reserved_51_51:1; 1122 uint64_t ipd_drp:1; 1123 uint64_t reserved_49_49:1; 1124 uint64_t gmx_drp:1; 1125 uint64_t reserved_47_47:1; 1126 uint64_t rml:1; 1127 uint64_t twsi:1; 1128 uint64_t wdog_sum:1; 1129 uint64_t pci_msi:4; 1130 uint64_t pci_int:4; 1131 uint64_t uart:2; 1132 uint64_t mbox:2; 1133 uint64_t gpio:16; 1134 uint64_t workq:16; 1135 } cn50xx; 1136 struct cvmx_ciu_intx_sum4_cn52xx { 1137 uint64_t bootdma:1; 1138 uint64_t mii:1; 1139 uint64_t ipdppthr:1; 1140 uint64_t powiq:1; 1141 uint64_t twsi2:1; 1142 uint64_t reserved_57_58:2; 1143 uint64_t usb:1; 1144 uint64_t timer:4; 1145 uint64_t reserved_51_51:1; 1146 uint64_t ipd_drp:1; 1147 uint64_t reserved_49_49:1; 1148 uint64_t gmx_drp:1; 1149 uint64_t trace:1; 1150 uint64_t rml:1; 1151 uint64_t twsi:1; 1152 uint64_t wdog_sum:1; 1153 uint64_t pci_msi:4; 1154 uint64_t pci_int:4; 1155 uint64_t uart:2; 1156 uint64_t mbox:2; 1157 uint64_t gpio:16; 1158 uint64_t workq:16; 1159 } cn52xx; 1160 struct cvmx_ciu_intx_sum4_cn52xx cn52xxp1; 1161 struct cvmx_ciu_intx_sum4_cn56xx { 1162 uint64_t bootdma:1; 1163 uint64_t mii:1; 1164 uint64_t ipdppthr:1; 1165 uint64_t powiq:1; 1166 uint64_t twsi2:1; 1167 uint64_t reserved_57_58:2; 1168 uint64_t usb:1; 1169 uint64_t timer:4; 1170 uint64_t key_zero:1; 1171 uint64_t ipd_drp:1; 1172 uint64_t gmx_drp:2; 1173 uint64_t trace:1; 1174 uint64_t rml:1; 1175 uint64_t twsi:1; 1176 uint64_t wdog_sum:1; 1177 uint64_t pci_msi:4; 1178 uint64_t pci_int:4; 1179 uint64_t uart:2; 1180 uint64_t mbox:2; 1181 uint64_t gpio:16; 1182 uint64_t workq:16; 1183 } cn56xx; 1184 struct cvmx_ciu_intx_sum4_cn56xx cn56xxp1; 1185 struct cvmx_ciu_intx_sum4_cn58xx { 1186 uint64_t reserved_56_63:8; 1187 uint64_t timer:4; 1188 uint64_t key_zero:1; 1189 uint64_t ipd_drp:1; 1190 uint64_t gmx_drp:2; 1191 uint64_t trace:1; 1192 uint64_t rml:1; 1193 uint64_t twsi:1; 1194 uint64_t wdog_sum:1; 1195 uint64_t pci_msi:4; 1196 uint64_t pci_int:4; 1197 uint64_t uart:2; 1198 uint64_t mbox:2; 1199 uint64_t gpio:16; 1200 uint64_t workq:16; 1201 } cn58xx; 1202 struct cvmx_ciu_intx_sum4_cn58xx cn58xxp1; 1203 }; 1204 1205 union cvmx_ciu_int_sum1 { 1206 uint64_t u64; 1207 struct cvmx_ciu_int_sum1_s { 1208 uint64_t reserved_20_63:44; 1209 uint64_t nand:1; 1210 uint64_t mii1:1; 1211 uint64_t usb1:1; 1212 uint64_t uart2:1; 1213 uint64_t wdog:16; 1214 } s; 1215 struct cvmx_ciu_int_sum1_cn30xx { 1216 uint64_t reserved_1_63:63; 1217 uint64_t wdog:1; 1218 } cn30xx; 1219 struct cvmx_ciu_int_sum1_cn31xx { 1220 uint64_t reserved_2_63:62; 1221 uint64_t wdog:2; 1222 } cn31xx; 1223 struct cvmx_ciu_int_sum1_cn38xx { 1224 uint64_t reserved_16_63:48; 1225 uint64_t wdog:16; 1226 } cn38xx; 1227 struct cvmx_ciu_int_sum1_cn38xx cn38xxp2; 1228 struct cvmx_ciu_int_sum1_cn31xx cn50xx; 1229 struct cvmx_ciu_int_sum1_cn52xx { 1230 uint64_t reserved_20_63:44; 1231 uint64_t nand:1; 1232 uint64_t mii1:1; 1233 uint64_t usb1:1; 1234 uint64_t uart2:1; 1235 uint64_t reserved_4_15:12; 1236 uint64_t wdog:4; 1237 } cn52xx; 1238 struct cvmx_ciu_int_sum1_cn52xxp1 { 1239 uint64_t reserved_19_63:45; 1240 uint64_t mii1:1; 1241 uint64_t usb1:1; 1242 uint64_t uart2:1; 1243 uint64_t reserved_4_15:12; 1244 uint64_t wdog:4; 1245 } cn52xxp1; 1246 struct cvmx_ciu_int_sum1_cn56xx { 1247 uint64_t reserved_12_63:52; 1248 uint64_t wdog:12; 1249 } cn56xx; 1250 struct cvmx_ciu_int_sum1_cn56xx cn56xxp1; 1251 struct cvmx_ciu_int_sum1_cn38xx cn58xx; 1252 struct cvmx_ciu_int_sum1_cn38xx cn58xxp1; 1253 }; 1254 1255 union cvmx_ciu_mbox_clrx { 1256 uint64_t u64; 1257 struct cvmx_ciu_mbox_clrx_s { 1258 uint64_t reserved_32_63:32; 1259 uint64_t bits:32; 1260 } s; 1261 struct cvmx_ciu_mbox_clrx_s cn30xx; 1262 struct cvmx_ciu_mbox_clrx_s cn31xx; 1263 struct cvmx_ciu_mbox_clrx_s cn38xx; 1264 struct cvmx_ciu_mbox_clrx_s cn38xxp2; 1265 struct cvmx_ciu_mbox_clrx_s cn50xx; 1266 struct cvmx_ciu_mbox_clrx_s cn52xx; 1267 struct cvmx_ciu_mbox_clrx_s cn52xxp1; 1268 struct cvmx_ciu_mbox_clrx_s cn56xx; 1269 struct cvmx_ciu_mbox_clrx_s cn56xxp1; 1270 struct cvmx_ciu_mbox_clrx_s cn58xx; 1271 struct cvmx_ciu_mbox_clrx_s cn58xxp1; 1272 }; 1273 1274 union cvmx_ciu_mbox_setx { 1275 uint64_t u64; 1276 struct cvmx_ciu_mbox_setx_s { 1277 uint64_t reserved_32_63:32; 1278 uint64_t bits:32; 1279 } s; 1280 struct cvmx_ciu_mbox_setx_s cn30xx; 1281 struct cvmx_ciu_mbox_setx_s cn31xx; 1282 struct cvmx_ciu_mbox_setx_s cn38xx; 1283 struct cvmx_ciu_mbox_setx_s cn38xxp2; 1284 struct cvmx_ciu_mbox_setx_s cn50xx; 1285 struct cvmx_ciu_mbox_setx_s cn52xx; 1286 struct cvmx_ciu_mbox_setx_s cn52xxp1; 1287 struct cvmx_ciu_mbox_setx_s cn56xx; 1288 struct cvmx_ciu_mbox_setx_s cn56xxp1; 1289 struct cvmx_ciu_mbox_setx_s cn58xx; 1290 struct cvmx_ciu_mbox_setx_s cn58xxp1; 1291 }; 1292 1293 union cvmx_ciu_nmi { 1294 uint64_t u64; 1295 struct cvmx_ciu_nmi_s { 1296 uint64_t reserved_16_63:48; 1297 uint64_t nmi:16; 1298 } s; 1299 struct cvmx_ciu_nmi_cn30xx { 1300 uint64_t reserved_1_63:63; 1301 uint64_t nmi:1; 1302 } cn30xx; 1303 struct cvmx_ciu_nmi_cn31xx { 1304 uint64_t reserved_2_63:62; 1305 uint64_t nmi:2; 1306 } cn31xx; 1307 struct cvmx_ciu_nmi_s cn38xx; 1308 struct cvmx_ciu_nmi_s cn38xxp2; 1309 struct cvmx_ciu_nmi_cn31xx cn50xx; 1310 struct cvmx_ciu_nmi_cn52xx { 1311 uint64_t reserved_4_63:60; 1312 uint64_t nmi:4; 1313 } cn52xx; 1314 struct cvmx_ciu_nmi_cn52xx cn52xxp1; 1315 struct cvmx_ciu_nmi_cn56xx { 1316 uint64_t reserved_12_63:52; 1317 uint64_t nmi:12; 1318 } cn56xx; 1319 struct cvmx_ciu_nmi_cn56xx cn56xxp1; 1320 struct cvmx_ciu_nmi_s cn58xx; 1321 struct cvmx_ciu_nmi_s cn58xxp1; 1322 }; 1323 1324 union cvmx_ciu_pci_inta { 1325 uint64_t u64; 1326 struct cvmx_ciu_pci_inta_s { 1327 uint64_t reserved_2_63:62; 1328 uint64_t intr:2; 1329 } s; 1330 struct cvmx_ciu_pci_inta_s cn30xx; 1331 struct cvmx_ciu_pci_inta_s cn31xx; 1332 struct cvmx_ciu_pci_inta_s cn38xx; 1333 struct cvmx_ciu_pci_inta_s cn38xxp2; 1334 struct cvmx_ciu_pci_inta_s cn50xx; 1335 struct cvmx_ciu_pci_inta_s cn52xx; 1336 struct cvmx_ciu_pci_inta_s cn52xxp1; 1337 struct cvmx_ciu_pci_inta_s cn56xx; 1338 struct cvmx_ciu_pci_inta_s cn56xxp1; 1339 struct cvmx_ciu_pci_inta_s cn58xx; 1340 struct cvmx_ciu_pci_inta_s cn58xxp1; 1341 }; 1342 1343 union cvmx_ciu_pp_dbg { 1344 uint64_t u64; 1345 struct cvmx_ciu_pp_dbg_s { 1346 uint64_t reserved_16_63:48; 1347 uint64_t ppdbg:16; 1348 } s; 1349 struct cvmx_ciu_pp_dbg_cn30xx { 1350 uint64_t reserved_1_63:63; 1351 uint64_t ppdbg:1; 1352 } cn30xx; 1353 struct cvmx_ciu_pp_dbg_cn31xx { 1354 uint64_t reserved_2_63:62; 1355 uint64_t ppdbg:2; 1356 } cn31xx; 1357 struct cvmx_ciu_pp_dbg_s cn38xx; 1358 struct cvmx_ciu_pp_dbg_s cn38xxp2; 1359 struct cvmx_ciu_pp_dbg_cn31xx cn50xx; 1360 struct cvmx_ciu_pp_dbg_cn52xx { 1361 uint64_t reserved_4_63:60; 1362 uint64_t ppdbg:4; 1363 } cn52xx; 1364 struct cvmx_ciu_pp_dbg_cn52xx cn52xxp1; 1365 struct cvmx_ciu_pp_dbg_cn56xx { 1366 uint64_t reserved_12_63:52; 1367 uint64_t ppdbg:12; 1368 } cn56xx; 1369 struct cvmx_ciu_pp_dbg_cn56xx cn56xxp1; 1370 struct cvmx_ciu_pp_dbg_s cn58xx; 1371 struct cvmx_ciu_pp_dbg_s cn58xxp1; 1372 }; 1373 1374 union cvmx_ciu_pp_pokex { 1375 uint64_t u64; 1376 struct cvmx_ciu_pp_pokex_s { 1377 uint64_t reserved_0_63:64; 1378 } s; 1379 struct cvmx_ciu_pp_pokex_s cn30xx; 1380 struct cvmx_ciu_pp_pokex_s cn31xx; 1381 struct cvmx_ciu_pp_pokex_s cn38xx; 1382 struct cvmx_ciu_pp_pokex_s cn38xxp2; 1383 struct cvmx_ciu_pp_pokex_s cn50xx; 1384 struct cvmx_ciu_pp_pokex_s cn52xx; 1385 struct cvmx_ciu_pp_pokex_s cn52xxp1; 1386 struct cvmx_ciu_pp_pokex_s cn56xx; 1387 struct cvmx_ciu_pp_pokex_s cn56xxp1; 1388 struct cvmx_ciu_pp_pokex_s cn58xx; 1389 struct cvmx_ciu_pp_pokex_s cn58xxp1; 1390 }; 1391 1392 union cvmx_ciu_pp_rst { 1393 uint64_t u64; 1394 struct cvmx_ciu_pp_rst_s { 1395 uint64_t reserved_16_63:48; 1396 uint64_t rst:15; 1397 uint64_t rst0:1; 1398 } s; 1399 struct cvmx_ciu_pp_rst_cn30xx { 1400 uint64_t reserved_1_63:63; 1401 uint64_t rst0:1; 1402 } cn30xx; 1403 struct cvmx_ciu_pp_rst_cn31xx { 1404 uint64_t reserved_2_63:62; 1405 uint64_t rst:1; 1406 uint64_t rst0:1; 1407 } cn31xx; 1408 struct cvmx_ciu_pp_rst_s cn38xx; 1409 struct cvmx_ciu_pp_rst_s cn38xxp2; 1410 struct cvmx_ciu_pp_rst_cn31xx cn50xx; 1411 struct cvmx_ciu_pp_rst_cn52xx { 1412 uint64_t reserved_4_63:60; 1413 uint64_t rst:3; 1414 uint64_t rst0:1; 1415 } cn52xx; 1416 struct cvmx_ciu_pp_rst_cn52xx cn52xxp1; 1417 struct cvmx_ciu_pp_rst_cn56xx { 1418 uint64_t reserved_12_63:52; 1419 uint64_t rst:11; 1420 uint64_t rst0:1; 1421 } cn56xx; 1422 struct cvmx_ciu_pp_rst_cn56xx cn56xxp1; 1423 struct cvmx_ciu_pp_rst_s cn58xx; 1424 struct cvmx_ciu_pp_rst_s cn58xxp1; 1425 }; 1426 1427 union cvmx_ciu_qlm_dcok { 1428 uint64_t u64; 1429 struct cvmx_ciu_qlm_dcok_s { 1430 uint64_t reserved_4_63:60; 1431 uint64_t qlm_dcok:4; 1432 } s; 1433 struct cvmx_ciu_qlm_dcok_cn52xx { 1434 uint64_t reserved_2_63:62; 1435 uint64_t qlm_dcok:2; 1436 } cn52xx; 1437 struct cvmx_ciu_qlm_dcok_cn52xx cn52xxp1; 1438 struct cvmx_ciu_qlm_dcok_s cn56xx; 1439 struct cvmx_ciu_qlm_dcok_s cn56xxp1; 1440 }; 1441 1442 union cvmx_ciu_qlm_jtgc { 1443 uint64_t u64; 1444 struct cvmx_ciu_qlm_jtgc_s { 1445 uint64_t reserved_11_63:53; 1446 uint64_t clk_div:3; 1447 uint64_t reserved_6_7:2; 1448 uint64_t mux_sel:2; 1449 uint64_t bypass:4; 1450 } s; 1451 struct cvmx_ciu_qlm_jtgc_cn52xx { 1452 uint64_t reserved_11_63:53; 1453 uint64_t clk_div:3; 1454 uint64_t reserved_5_7:3; 1455 uint64_t mux_sel:1; 1456 uint64_t reserved_2_3:2; 1457 uint64_t bypass:2; 1458 } cn52xx; 1459 struct cvmx_ciu_qlm_jtgc_cn52xx cn52xxp1; 1460 struct cvmx_ciu_qlm_jtgc_s cn56xx; 1461 struct cvmx_ciu_qlm_jtgc_s cn56xxp1; 1462 }; 1463 1464 union cvmx_ciu_qlm_jtgd { 1465 uint64_t u64; 1466 struct cvmx_ciu_qlm_jtgd_s { 1467 uint64_t capture:1; 1468 uint64_t shift:1; 1469 uint64_t update:1; 1470 uint64_t reserved_44_60:17; 1471 uint64_t select:4; 1472 uint64_t reserved_37_39:3; 1473 uint64_t shft_cnt:5; 1474 uint64_t shft_reg:32; 1475 } s; 1476 struct cvmx_ciu_qlm_jtgd_cn52xx { 1477 uint64_t capture:1; 1478 uint64_t shift:1; 1479 uint64_t update:1; 1480 uint64_t reserved_42_60:19; 1481 uint64_t select:2; 1482 uint64_t reserved_37_39:3; 1483 uint64_t shft_cnt:5; 1484 uint64_t shft_reg:32; 1485 } cn52xx; 1486 struct cvmx_ciu_qlm_jtgd_cn52xx cn52xxp1; 1487 struct cvmx_ciu_qlm_jtgd_s cn56xx; 1488 struct cvmx_ciu_qlm_jtgd_cn56xxp1 { 1489 uint64_t capture:1; 1490 uint64_t shift:1; 1491 uint64_t update:1; 1492 uint64_t reserved_37_60:24; 1493 uint64_t shft_cnt:5; 1494 uint64_t shft_reg:32; 1495 } cn56xxp1; 1496 }; 1497 1498 union cvmx_ciu_soft_bist { 1499 uint64_t u64; 1500 struct cvmx_ciu_soft_bist_s { 1501 uint64_t reserved_1_63:63; 1502 uint64_t soft_bist:1; 1503 } s; 1504 struct cvmx_ciu_soft_bist_s cn30xx; 1505 struct cvmx_ciu_soft_bist_s cn31xx; 1506 struct cvmx_ciu_soft_bist_s cn38xx; 1507 struct cvmx_ciu_soft_bist_s cn38xxp2; 1508 struct cvmx_ciu_soft_bist_s cn50xx; 1509 struct cvmx_ciu_soft_bist_s cn52xx; 1510 struct cvmx_ciu_soft_bist_s cn52xxp1; 1511 struct cvmx_ciu_soft_bist_s cn56xx; 1512 struct cvmx_ciu_soft_bist_s cn56xxp1; 1513 struct cvmx_ciu_soft_bist_s cn58xx; 1514 struct cvmx_ciu_soft_bist_s cn58xxp1; 1515 }; 1516 1517 union cvmx_ciu_soft_prst { 1518 uint64_t u64; 1519 struct cvmx_ciu_soft_prst_s { 1520 uint64_t reserved_3_63:61; 1521 uint64_t host64:1; 1522 uint64_t npi:1; 1523 uint64_t soft_prst:1; 1524 } s; 1525 struct cvmx_ciu_soft_prst_s cn30xx; 1526 struct cvmx_ciu_soft_prst_s cn31xx; 1527 struct cvmx_ciu_soft_prst_s cn38xx; 1528 struct cvmx_ciu_soft_prst_s cn38xxp2; 1529 struct cvmx_ciu_soft_prst_s cn50xx; 1530 struct cvmx_ciu_soft_prst_cn52xx { 1531 uint64_t reserved_1_63:63; 1532 uint64_t soft_prst:1; 1533 } cn52xx; 1534 struct cvmx_ciu_soft_prst_cn52xx cn52xxp1; 1535 struct cvmx_ciu_soft_prst_cn52xx cn56xx; 1536 struct cvmx_ciu_soft_prst_cn52xx cn56xxp1; 1537 struct cvmx_ciu_soft_prst_s cn58xx; 1538 struct cvmx_ciu_soft_prst_s cn58xxp1; 1539 }; 1540 1541 union cvmx_ciu_soft_prst1 { 1542 uint64_t u64; 1543 struct cvmx_ciu_soft_prst1_s { 1544 uint64_t reserved_1_63:63; 1545 uint64_t soft_prst:1; 1546 } s; 1547 struct cvmx_ciu_soft_prst1_s cn52xx; 1548 struct cvmx_ciu_soft_prst1_s cn52xxp1; 1549 struct cvmx_ciu_soft_prst1_s cn56xx; 1550 struct cvmx_ciu_soft_prst1_s cn56xxp1; 1551 }; 1552 1553 union cvmx_ciu_soft_rst { 1554 uint64_t u64; 1555 struct cvmx_ciu_soft_rst_s { 1556 uint64_t reserved_1_63:63; 1557 uint64_t soft_rst:1; 1558 } s; 1559 struct cvmx_ciu_soft_rst_s cn30xx; 1560 struct cvmx_ciu_soft_rst_s cn31xx; 1561 struct cvmx_ciu_soft_rst_s cn38xx; 1562 struct cvmx_ciu_soft_rst_s cn38xxp2; 1563 struct cvmx_ciu_soft_rst_s cn50xx; 1564 struct cvmx_ciu_soft_rst_s cn52xx; 1565 struct cvmx_ciu_soft_rst_s cn52xxp1; 1566 struct cvmx_ciu_soft_rst_s cn56xx; 1567 struct cvmx_ciu_soft_rst_s cn56xxp1; 1568 struct cvmx_ciu_soft_rst_s cn58xx; 1569 struct cvmx_ciu_soft_rst_s cn58xxp1; 1570 }; 1571 1572 union cvmx_ciu_timx { 1573 uint64_t u64; 1574 struct cvmx_ciu_timx_s { 1575 uint64_t reserved_37_63:27; 1576 uint64_t one_shot:1; 1577 uint64_t len:36; 1578 } s; 1579 struct cvmx_ciu_timx_s cn30xx; 1580 struct cvmx_ciu_timx_s cn31xx; 1581 struct cvmx_ciu_timx_s cn38xx; 1582 struct cvmx_ciu_timx_s cn38xxp2; 1583 struct cvmx_ciu_timx_s cn50xx; 1584 struct cvmx_ciu_timx_s cn52xx; 1585 struct cvmx_ciu_timx_s cn52xxp1; 1586 struct cvmx_ciu_timx_s cn56xx; 1587 struct cvmx_ciu_timx_s cn56xxp1; 1588 struct cvmx_ciu_timx_s cn58xx; 1589 struct cvmx_ciu_timx_s cn58xxp1; 1590 }; 1591 1592 union cvmx_ciu_wdogx { 1593 uint64_t u64; 1594 struct cvmx_ciu_wdogx_s { 1595 uint64_t reserved_46_63:18; 1596 uint64_t gstopen:1; 1597 uint64_t dstop:1; 1598 uint64_t cnt:24; 1599 uint64_t len:16; 1600 uint64_t state:2; 1601 uint64_t mode:2; 1602 } s; 1603 struct cvmx_ciu_wdogx_s cn30xx; 1604 struct cvmx_ciu_wdogx_s cn31xx; 1605 struct cvmx_ciu_wdogx_s cn38xx; 1606 struct cvmx_ciu_wdogx_s cn38xxp2; 1607 struct cvmx_ciu_wdogx_s cn50xx; 1608 struct cvmx_ciu_wdogx_s cn52xx; 1609 struct cvmx_ciu_wdogx_s cn52xxp1; 1610 struct cvmx_ciu_wdogx_s cn56xx; 1611 struct cvmx_ciu_wdogx_s cn56xxp1; 1612 struct cvmx_ciu_wdogx_s cn58xx; 1613 struct cvmx_ciu_wdogx_s cn58xxp1; 1614 }; 1615 1616 #endif 1617