1// SPDX-License-Identifier: GPL-2.0+ OR MIT 2/* 3 * Apple T8103 "M1" SoC 4 * 5 * Other names: H13G, "Tonga" 6 * 7 * Copyright The Asahi Linux Contributors 8 */ 9 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/interrupt-controller/apple-aic.h> 12#include <dt-bindings/interrupt-controller/irq.h> 13#include <dt-bindings/pinctrl/apple.h> 14 15/ { 16 compatible = "apple,t8103", "apple,arm-platform"; 17 18 #address-cells = <2>; 19 #size-cells = <2>; 20 21 cpus { 22 #address-cells = <2>; 23 #size-cells = <0>; 24 25 cpu0: cpu@0 { 26 compatible = "apple,icestorm"; 27 device_type = "cpu"; 28 reg = <0x0 0x0>; 29 enable-method = "spin-table"; 30 cpu-release-addr = <0 0>; /* To be filled by loader */ 31 }; 32 33 cpu1: cpu@1 { 34 compatible = "apple,icestorm"; 35 device_type = "cpu"; 36 reg = <0x0 0x1>; 37 enable-method = "spin-table"; 38 cpu-release-addr = <0 0>; /* To be filled by loader */ 39 }; 40 41 cpu2: cpu@2 { 42 compatible = "apple,icestorm"; 43 device_type = "cpu"; 44 reg = <0x0 0x2>; 45 enable-method = "spin-table"; 46 cpu-release-addr = <0 0>; /* To be filled by loader */ 47 }; 48 49 cpu3: cpu@3 { 50 compatible = "apple,icestorm"; 51 device_type = "cpu"; 52 reg = <0x0 0x3>; 53 enable-method = "spin-table"; 54 cpu-release-addr = <0 0>; /* To be filled by loader */ 55 }; 56 57 cpu4: cpu@10100 { 58 compatible = "apple,firestorm"; 59 device_type = "cpu"; 60 reg = <0x0 0x10100>; 61 enable-method = "spin-table"; 62 cpu-release-addr = <0 0>; /* To be filled by loader */ 63 }; 64 65 cpu5: cpu@10101 { 66 compatible = "apple,firestorm"; 67 device_type = "cpu"; 68 reg = <0x0 0x10101>; 69 enable-method = "spin-table"; 70 cpu-release-addr = <0 0>; /* To be filled by loader */ 71 }; 72 73 cpu6: cpu@10102 { 74 compatible = "apple,firestorm"; 75 device_type = "cpu"; 76 reg = <0x0 0x10102>; 77 enable-method = "spin-table"; 78 cpu-release-addr = <0 0>; /* To be filled by loader */ 79 }; 80 81 cpu7: cpu@10103 { 82 compatible = "apple,firestorm"; 83 device_type = "cpu"; 84 reg = <0x0 0x10103>; 85 enable-method = "spin-table"; 86 cpu-release-addr = <0 0>; /* To be filled by loader */ 87 }; 88 }; 89 90 timer { 91 compatible = "arm,armv8-timer"; 92 interrupt-parent = <&aic>; 93 interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; 94 interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>, 95 <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>, 96 <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>, 97 <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>; 98 }; 99 100 pmu-e { 101 compatible = "apple,icestorm-pmu"; 102 interrupt-parent = <&aic>; 103 interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>; 104 }; 105 106 pmu-p { 107 compatible = "apple,firestorm-pmu"; 108 interrupt-parent = <&aic>; 109 interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>; 110 }; 111 112 clkref: clock-ref { 113 compatible = "fixed-clock"; 114 #clock-cells = <0>; 115 clock-frequency = <24000000>; 116 clock-output-names = "clkref"; 117 }; 118 119 /* 120 * This is a fabulated representation of the input clock 121 * to NCO since we don't know the true clock tree. 122 */ 123 nco_clkref: clock-ref-nco { 124 compatible = "fixed-clock"; 125 #clock-cells = <0>; 126 clock-output-names = "nco_ref"; 127 }; 128 129 soc { 130 compatible = "simple-bus"; 131 #address-cells = <2>; 132 #size-cells = <2>; 133 134 ranges; 135 nonposted-mmio; 136 137 dart_sio: iommu@235004000 { 138 compatible = "apple,t8103-dart"; 139 reg = <0x2 0x35004000 0x0 0x4000>; 140 interrupt-parent = <&aic>; 141 interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>; 142 #iommu-cells = <1>; 143 power-domains = <&ps_sio_cpu>; 144 }; 145 146 i2c0: i2c@235010000 { 147 compatible = "apple,t8103-i2c", "apple,i2c"; 148 reg = <0x2 0x35010000 0x0 0x4000>; 149 clocks = <&clkref>; 150 interrupt-parent = <&aic>; 151 interrupts = <AIC_IRQ 627 IRQ_TYPE_LEVEL_HIGH>; 152 pinctrl-0 = <&i2c0_pins>; 153 pinctrl-names = "default"; 154 #address-cells = <0x1>; 155 #size-cells = <0x0>; 156 power-domains = <&ps_i2c0>; 157 }; 158 159 i2c1: i2c@235014000 { 160 compatible = "apple,t8103-i2c", "apple,i2c"; 161 reg = <0x2 0x35014000 0x0 0x4000>; 162 clocks = <&clkref>; 163 interrupt-parent = <&aic>; 164 interrupts = <AIC_IRQ 628 IRQ_TYPE_LEVEL_HIGH>; 165 pinctrl-0 = <&i2c1_pins>; 166 pinctrl-names = "default"; 167 #address-cells = <0x1>; 168 #size-cells = <0x0>; 169 power-domains = <&ps_i2c1>; 170 }; 171 172 i2c2: i2c@235018000 { 173 compatible = "apple,t8103-i2c", "apple,i2c"; 174 reg = <0x2 0x35018000 0x0 0x4000>; 175 clocks = <&clkref>; 176 interrupt-parent = <&aic>; 177 interrupts = <AIC_IRQ 629 IRQ_TYPE_LEVEL_HIGH>; 178 pinctrl-0 = <&i2c2_pins>; 179 pinctrl-names = "default"; 180 #address-cells = <0x1>; 181 #size-cells = <0x0>; 182 status = "disabled"; /* not used in all devices */ 183 power-domains = <&ps_i2c2>; 184 }; 185 186 i2c3: i2c@23501c000 { 187 compatible = "apple,t8103-i2c", "apple,i2c"; 188 reg = <0x2 0x3501c000 0x0 0x4000>; 189 clocks = <&clkref>; 190 interrupt-parent = <&aic>; 191 interrupts = <AIC_IRQ 630 IRQ_TYPE_LEVEL_HIGH>; 192 pinctrl-0 = <&i2c3_pins>; 193 pinctrl-names = "default"; 194 #address-cells = <0x1>; 195 #size-cells = <0x0>; 196 power-domains = <&ps_i2c3>; 197 }; 198 199 i2c4: i2c@235020000 { 200 compatible = "apple,t8103-i2c", "apple,i2c"; 201 reg = <0x2 0x35020000 0x0 0x4000>; 202 clocks = <&clkref>; 203 interrupt-parent = <&aic>; 204 interrupts = <AIC_IRQ 631 IRQ_TYPE_LEVEL_HIGH>; 205 pinctrl-0 = <&i2c4_pins>; 206 pinctrl-names = "default"; 207 #address-cells = <0x1>; 208 #size-cells = <0x0>; 209 power-domains = <&ps_i2c4>; 210 status = "disabled"; /* only used in J293 */ 211 }; 212 213 serial0: serial@235200000 { 214 compatible = "apple,s5l-uart"; 215 reg = <0x2 0x35200000 0x0 0x1000>; 216 reg-io-width = <4>; 217 interrupt-parent = <&aic>; 218 interrupts = <AIC_IRQ 605 IRQ_TYPE_LEVEL_HIGH>; 219 /* 220 * TODO: figure out the clocking properly, there may 221 * be a third selectable clock. 222 */ 223 clocks = <&clkref>, <&clkref>; 224 clock-names = "uart", "clk_uart_baud0"; 225 power-domains = <&ps_uart0>; 226 status = "disabled"; 227 }; 228 229 serial2: serial@235208000 { 230 compatible = "apple,s5l-uart"; 231 reg = <0x2 0x35208000 0x0 0x1000>; 232 reg-io-width = <4>; 233 interrupt-parent = <&aic>; 234 interrupts = <AIC_IRQ 607 IRQ_TYPE_LEVEL_HIGH>; 235 clocks = <&clkref>, <&clkref>; 236 clock-names = "uart", "clk_uart_baud0"; 237 power-domains = <&ps_uart2>; 238 status = "disabled"; 239 }; 240 241 admac: dma-controller@238200000 { 242 compatible = "apple,t8103-admac", "apple,admac"; 243 reg = <0x2 0x38200000 0x0 0x34000>; 244 dma-channels = <24>; 245 interrupts-extended = <0>, 246 <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>, 247 <0>, 248 <0>; 249 #dma-cells = <1>; 250 iommus = <&dart_sio 2>; 251 power-domains = <&ps_sio_adma>; 252 }; 253 254 mca: i2s@238400000 { 255 compatible = "apple,t8103-mca", "apple,mca"; 256 reg = <0x2 0x38400000 0x0 0x18000>, 257 <0x2 0x38300000 0x0 0x30000>; 258 259 interrupt-parent = <&aic>; 260 interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>, 261 <AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>, 262 <AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>, 263 <AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>, 264 <AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>, 265 <AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>; 266 267 resets = <&ps_audio_p>; 268 clocks = <&nco 0>, <&nco 1>, <&nco 2>, 269 <&nco 3>, <&nco 4>, <&nco 4>; 270 power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>, 271 <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>; 272 dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>, 273 <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>, 274 <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>, 275 <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>, 276 <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>, 277 <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>; 278 dma-names = "tx0a", "rx0a", "tx0b", "rx0b", 279 "tx1a", "rx1a", "tx1b", "rx1b", 280 "tx2a", "rx2a", "tx2b", "rx2b", 281 "tx3a", "rx3a", "tx3b", "rx3b", 282 "tx4a", "rx4a", "tx4b", "rx4b", 283 "tx5a", "rx5a", "tx5b", "rx5b"; 284 285 #sound-dai-cells = <1>; 286 }; 287 288 nco: clock-controller@23b044000 { 289 compatible = "apple,t8103-nco", "apple,nco"; 290 reg = <0x2 0x3b044000 0x0 0x14000>; 291 clocks = <&nco_clkref>; 292 #clock-cells = <1>; 293 }; 294 295 aic: interrupt-controller@23b100000 { 296 compatible = "apple,t8103-aic", "apple,aic"; 297 #interrupt-cells = <3>; 298 interrupt-controller; 299 reg = <0x2 0x3b100000 0x0 0x8000>; 300 power-domains = <&ps_aic>; 301 302 affinities { 303 e-core-pmu-affinity { 304 apple,fiq-index = <AIC_CPU_PMU_E>; 305 cpus = <&cpu0 &cpu1 &cpu2 &cpu3>; 306 }; 307 308 p-core-pmu-affinity { 309 apple,fiq-index = <AIC_CPU_PMU_P>; 310 cpus = <&cpu4 &cpu5 &cpu6 &cpu7>; 311 }; 312 }; 313 }; 314 315 pmgr: power-management@23b700000 { 316 compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 317 #address-cells = <1>; 318 #size-cells = <1>; 319 reg = <0x2 0x3b700000 0 0x14000>; 320 }; 321 322 pinctrl_ap: pinctrl@23c100000 { 323 compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 324 reg = <0x2 0x3c100000 0x0 0x100000>; 325 power-domains = <&ps_gpio>; 326 327 gpio-controller; 328 #gpio-cells = <2>; 329 gpio-ranges = <&pinctrl_ap 0 0 212>; 330 apple,npins = <212>; 331 332 interrupt-controller; 333 #interrupt-cells = <2>; 334 interrupt-parent = <&aic>; 335 interrupts = <AIC_IRQ 190 IRQ_TYPE_LEVEL_HIGH>, 336 <AIC_IRQ 191 IRQ_TYPE_LEVEL_HIGH>, 337 <AIC_IRQ 192 IRQ_TYPE_LEVEL_HIGH>, 338 <AIC_IRQ 193 IRQ_TYPE_LEVEL_HIGH>, 339 <AIC_IRQ 194 IRQ_TYPE_LEVEL_HIGH>, 340 <AIC_IRQ 195 IRQ_TYPE_LEVEL_HIGH>, 341 <AIC_IRQ 196 IRQ_TYPE_LEVEL_HIGH>; 342 343 i2c0_pins: i2c0-pins { 344 pinmux = <APPLE_PINMUX(192, 1)>, 345 <APPLE_PINMUX(188, 1)>; 346 }; 347 348 i2c1_pins: i2c1-pins { 349 pinmux = <APPLE_PINMUX(201, 1)>, 350 <APPLE_PINMUX(199, 1)>; 351 }; 352 353 i2c2_pins: i2c2-pins { 354 pinmux = <APPLE_PINMUX(163, 1)>, 355 <APPLE_PINMUX(162, 1)>; 356 }; 357 358 i2c3_pins: i2c3-pins { 359 pinmux = <APPLE_PINMUX(73, 1)>, 360 <APPLE_PINMUX(72, 1)>; 361 }; 362 363 i2c4_pins: i2c4-pins { 364 pinmux = <APPLE_PINMUX(135, 1)>, 365 <APPLE_PINMUX(134, 1)>; 366 }; 367 368 pcie_pins: pcie-pins { 369 pinmux = <APPLE_PINMUX(150, 1)>, 370 <APPLE_PINMUX(151, 1)>, 371 <APPLE_PINMUX(32, 1)>; 372 }; 373 }; 374 375 pinctrl_nub: pinctrl@23d1f0000 { 376 compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 377 reg = <0x2 0x3d1f0000 0x0 0x4000>; 378 power-domains = <&ps_nub_gpio>; 379 380 gpio-controller; 381 #gpio-cells = <2>; 382 gpio-ranges = <&pinctrl_nub 0 0 23>; 383 apple,npins = <23>; 384 385 interrupt-controller; 386 #interrupt-cells = <2>; 387 interrupt-parent = <&aic>; 388 interrupts = <AIC_IRQ 330 IRQ_TYPE_LEVEL_HIGH>, 389 <AIC_IRQ 331 IRQ_TYPE_LEVEL_HIGH>, 390 <AIC_IRQ 332 IRQ_TYPE_LEVEL_HIGH>, 391 <AIC_IRQ 333 IRQ_TYPE_LEVEL_HIGH>, 392 <AIC_IRQ 334 IRQ_TYPE_LEVEL_HIGH>, 393 <AIC_IRQ 335 IRQ_TYPE_LEVEL_HIGH>, 394 <AIC_IRQ 336 IRQ_TYPE_LEVEL_HIGH>; 395 }; 396 397 pmgr_mini: power-management@23d280000 { 398 compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 399 #address-cells = <1>; 400 #size-cells = <1>; 401 reg = <0x2 0x3d280000 0 0x4000>; 402 }; 403 404 wdt: watchdog@23d2b0000 { 405 compatible = "apple,t8103-wdt", "apple,wdt"; 406 reg = <0x2 0x3d2b0000 0x0 0x4000>; 407 clocks = <&clkref>; 408 interrupt-parent = <&aic>; 409 interrupts = <AIC_IRQ 338 IRQ_TYPE_LEVEL_HIGH>; 410 }; 411 412 pinctrl_smc: pinctrl@23e820000 { 413 compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 414 reg = <0x2 0x3e820000 0x0 0x4000>; 415 416 gpio-controller; 417 #gpio-cells = <2>; 418 gpio-ranges = <&pinctrl_smc 0 0 16>; 419 apple,npins = <16>; 420 421 interrupt-controller; 422 #interrupt-cells = <2>; 423 interrupt-parent = <&aic>; 424 interrupts = <AIC_IRQ 391 IRQ_TYPE_LEVEL_HIGH>, 425 <AIC_IRQ 392 IRQ_TYPE_LEVEL_HIGH>, 426 <AIC_IRQ 393 IRQ_TYPE_LEVEL_HIGH>, 427 <AIC_IRQ 394 IRQ_TYPE_LEVEL_HIGH>, 428 <AIC_IRQ 395 IRQ_TYPE_LEVEL_HIGH>, 429 <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>, 430 <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>; 431 }; 432 433 pinctrl_aop: pinctrl@24a820000 { 434 compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 435 reg = <0x2 0x4a820000 0x0 0x4000>; 436 437 gpio-controller; 438 #gpio-cells = <2>; 439 gpio-ranges = <&pinctrl_aop 0 0 42>; 440 apple,npins = <42>; 441 442 interrupt-controller; 443 #interrupt-cells = <2>; 444 interrupt-parent = <&aic>; 445 interrupts = <AIC_IRQ 268 IRQ_TYPE_LEVEL_HIGH>, 446 <AIC_IRQ 269 IRQ_TYPE_LEVEL_HIGH>, 447 <AIC_IRQ 270 IRQ_TYPE_LEVEL_HIGH>, 448 <AIC_IRQ 271 IRQ_TYPE_LEVEL_HIGH>, 449 <AIC_IRQ 272 IRQ_TYPE_LEVEL_HIGH>, 450 <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>, 451 <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>; 452 }; 453 454 ans_mbox: mbox@277408000 { 455 compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4"; 456 reg = <0x2 0x77408000 0x0 0x4000>; 457 interrupt-parent = <&aic>; 458 interrupts = <AIC_IRQ 583 IRQ_TYPE_LEVEL_HIGH>, 459 <AIC_IRQ 584 IRQ_TYPE_LEVEL_HIGH>, 460 <AIC_IRQ 585 IRQ_TYPE_LEVEL_HIGH>, 461 <AIC_IRQ 586 IRQ_TYPE_LEVEL_HIGH>; 462 interrupt-names = "send-empty", "send-not-empty", 463 "recv-empty", "recv-not-empty"; 464 #mbox-cells = <0>; 465 power-domains = <&ps_ans2>; 466 }; 467 468 sart: iommu@27bc50000 { 469 compatible = "apple,t8103-sart"; 470 reg = <0x2 0x7bc50000 0x0 0x10000>; 471 power-domains = <&ps_ans2>; 472 }; 473 474 nvme@27bcc0000 { 475 compatible = "apple,t8103-nvme-ans2", "apple,nvme-ans2"; 476 reg = <0x2 0x7bcc0000 0x0 0x40000>, 477 <0x2 0x77400000 0x0 0x4000>; 478 reg-names = "nvme", "ans"; 479 interrupt-parent = <&aic>; 480 interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>; 481 mboxes = <&ans_mbox>; 482 apple,sart = <&sart>; 483 power-domains = <&ps_ans2>, <&ps_apcie_st>; 484 power-domain-names = "ans", "apcie0"; 485 resets = <&ps_ans2>; 486 }; 487 488 pcie0_dart_0: dart@681008000 { 489 compatible = "apple,t8103-dart"; 490 reg = <0x6 0x81008000 0x0 0x4000>; 491 #iommu-cells = <1>; 492 interrupt-parent = <&aic>; 493 interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>; 494 power-domains = <&ps_apcie_gp>; 495 }; 496 497 pcie0_dart_1: dart@682008000 { 498 compatible = "apple,t8103-dart"; 499 reg = <0x6 0x82008000 0x0 0x4000>; 500 #iommu-cells = <1>; 501 interrupt-parent = <&aic>; 502 interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>; 503 power-domains = <&ps_apcie_gp>; 504 }; 505 506 pcie0_dart_2: dart@683008000 { 507 compatible = "apple,t8103-dart"; 508 reg = <0x6 0x83008000 0x0 0x4000>; 509 #iommu-cells = <1>; 510 interrupt-parent = <&aic>; 511 interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>; 512 power-domains = <&ps_apcie_gp>; 513 }; 514 515 pcie0: pcie@690000000 { 516 compatible = "apple,t8103-pcie", "apple,pcie"; 517 device_type = "pci"; 518 519 reg = <0x6 0x90000000 0x0 0x1000000>, 520 <0x6 0x80000000 0x0 0x100000>, 521 <0x6 0x81000000 0x0 0x4000>, 522 <0x6 0x82000000 0x0 0x4000>, 523 <0x6 0x83000000 0x0 0x4000>; 524 reg-names = "config", "rc", "port0", "port1", "port2"; 525 526 interrupt-parent = <&aic>; 527 interrupts = <AIC_IRQ 695 IRQ_TYPE_LEVEL_HIGH>, 528 <AIC_IRQ 698 IRQ_TYPE_LEVEL_HIGH>, 529 <AIC_IRQ 701 IRQ_TYPE_LEVEL_HIGH>; 530 531 msi-controller; 532 msi-parent = <&pcie0>; 533 msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>; 534 535 536 iommu-map = <0x100 &pcie0_dart_0 1 1>, 537 <0x200 &pcie0_dart_1 1 1>, 538 <0x300 &pcie0_dart_2 1 1>; 539 iommu-map-mask = <0xff00>; 540 541 bus-range = <0 3>; 542 #address-cells = <3>; 543 #size-cells = <2>; 544 ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>, 545 <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>; 546 547 power-domains = <&ps_apcie_gp>; 548 pinctrl-0 = <&pcie_pins>; 549 pinctrl-names = "default"; 550 551 port00: pci@0,0 { 552 device_type = "pci"; 553 reg = <0x0 0x0 0x0 0x0 0x0>; 554 reset-gpios = <&pinctrl_ap 152 GPIO_ACTIVE_LOW>; 555 556 #address-cells = <3>; 557 #size-cells = <2>; 558 ranges; 559 560 interrupt-controller; 561 #interrupt-cells = <1>; 562 563 interrupt-map-mask = <0 0 0 7>; 564 interrupt-map = <0 0 0 1 &port00 0 0 0 0>, 565 <0 0 0 2 &port00 0 0 0 1>, 566 <0 0 0 3 &port00 0 0 0 2>, 567 <0 0 0 4 &port00 0 0 0 3>; 568 }; 569 570 port01: pci@1,0 { 571 device_type = "pci"; 572 reg = <0x800 0x0 0x0 0x0 0x0>; 573 reset-gpios = <&pinctrl_ap 153 GPIO_ACTIVE_LOW>; 574 575 #address-cells = <3>; 576 #size-cells = <2>; 577 ranges; 578 579 interrupt-controller; 580 #interrupt-cells = <1>; 581 582 interrupt-map-mask = <0 0 0 7>; 583 interrupt-map = <0 0 0 1 &port01 0 0 0 0>, 584 <0 0 0 2 &port01 0 0 0 1>, 585 <0 0 0 3 &port01 0 0 0 2>, 586 <0 0 0 4 &port01 0 0 0 3>; 587 }; 588 589 port02: pci@2,0 { 590 device_type = "pci"; 591 reg = <0x1000 0x0 0x0 0x0 0x0>; 592 reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>; 593 594 #address-cells = <3>; 595 #size-cells = <2>; 596 ranges; 597 598 interrupt-controller; 599 #interrupt-cells = <1>; 600 601 interrupt-map-mask = <0 0 0 7>; 602 interrupt-map = <0 0 0 1 &port02 0 0 0 0>, 603 <0 0 0 2 &port02 0 0 0 1>, 604 <0 0 0 3 &port02 0 0 0 2>, 605 <0 0 0 4 &port02 0 0 0 3>; 606 }; 607 }; 608 }; 609}; 610 611#include "t8103-pmgr.dtsi" 612