12eb4d8dcSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ OR MIT 22eb4d8dcSEmmanuel Vadot/* 32eb4d8dcSEmmanuel Vadot * Apple T8103 "M1" SoC 42eb4d8dcSEmmanuel Vadot * 52eb4d8dcSEmmanuel Vadot * Other names: H13G, "Tonga" 62eb4d8dcSEmmanuel Vadot * 72eb4d8dcSEmmanuel Vadot * Copyright The Asahi Linux Contributors 82eb4d8dcSEmmanuel Vadot */ 92eb4d8dcSEmmanuel Vadot 108cc087a1SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 112eb4d8dcSEmmanuel Vadot#include <dt-bindings/interrupt-controller/apple-aic.h> 122eb4d8dcSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 138cc087a1SEmmanuel Vadot#include <dt-bindings/pinctrl/apple.h> 142eb4d8dcSEmmanuel Vadot 152eb4d8dcSEmmanuel Vadot/ { 162eb4d8dcSEmmanuel Vadot compatible = "apple,t8103", "apple,arm-platform"; 172eb4d8dcSEmmanuel Vadot 182eb4d8dcSEmmanuel Vadot #address-cells = <2>; 192eb4d8dcSEmmanuel Vadot #size-cells = <2>; 202eb4d8dcSEmmanuel Vadot 212eb4d8dcSEmmanuel Vadot cpus { 222eb4d8dcSEmmanuel Vadot #address-cells = <2>; 232eb4d8dcSEmmanuel Vadot #size-cells = <0>; 242eb4d8dcSEmmanuel Vadot 258bab661aSEmmanuel Vadot cpu-map { 268bab661aSEmmanuel Vadot cluster0 { 278bab661aSEmmanuel Vadot core0 { 288bab661aSEmmanuel Vadot cpu = <&cpu_e0>; 298bab661aSEmmanuel Vadot }; 308bab661aSEmmanuel Vadot core1 { 318bab661aSEmmanuel Vadot cpu = <&cpu_e1>; 328bab661aSEmmanuel Vadot }; 338bab661aSEmmanuel Vadot core2 { 348bab661aSEmmanuel Vadot cpu = <&cpu_e2>; 358bab661aSEmmanuel Vadot }; 368bab661aSEmmanuel Vadot core3 { 378bab661aSEmmanuel Vadot cpu = <&cpu_e3>; 388bab661aSEmmanuel Vadot }; 398bab661aSEmmanuel Vadot }; 408bab661aSEmmanuel Vadot 418bab661aSEmmanuel Vadot cluster1 { 428bab661aSEmmanuel Vadot core0 { 438bab661aSEmmanuel Vadot cpu = <&cpu_p0>; 448bab661aSEmmanuel Vadot }; 458bab661aSEmmanuel Vadot core1 { 468bab661aSEmmanuel Vadot cpu = <&cpu_p1>; 478bab661aSEmmanuel Vadot }; 488bab661aSEmmanuel Vadot core2 { 498bab661aSEmmanuel Vadot cpu = <&cpu_p2>; 508bab661aSEmmanuel Vadot }; 518bab661aSEmmanuel Vadot core3 { 528bab661aSEmmanuel Vadot cpu = <&cpu_p3>; 538bab661aSEmmanuel Vadot }; 548bab661aSEmmanuel Vadot }; 558bab661aSEmmanuel Vadot }; 568bab661aSEmmanuel Vadot 578bab661aSEmmanuel Vadot cpu_e0: cpu@0 { 582eb4d8dcSEmmanuel Vadot compatible = "apple,icestorm"; 592eb4d8dcSEmmanuel Vadot device_type = "cpu"; 602eb4d8dcSEmmanuel Vadot reg = <0x0 0x0>; 612eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 622eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 638bab661aSEmmanuel Vadot operating-points-v2 = <&ecluster_opp>; 648bab661aSEmmanuel Vadot capacity-dmips-mhz = <714>; 658bab661aSEmmanuel Vadot performance-domains = <&cpufreq_e>; 668bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_0>; 678bab661aSEmmanuel Vadot i-cache-size = <0x20000>; 688bab661aSEmmanuel Vadot d-cache-size = <0x10000>; 692eb4d8dcSEmmanuel Vadot }; 702eb4d8dcSEmmanuel Vadot 718bab661aSEmmanuel Vadot cpu_e1: cpu@1 { 722eb4d8dcSEmmanuel Vadot compatible = "apple,icestorm"; 732eb4d8dcSEmmanuel Vadot device_type = "cpu"; 742eb4d8dcSEmmanuel Vadot reg = <0x0 0x1>; 752eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 762eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 778bab661aSEmmanuel Vadot operating-points-v2 = <&ecluster_opp>; 788bab661aSEmmanuel Vadot capacity-dmips-mhz = <714>; 798bab661aSEmmanuel Vadot performance-domains = <&cpufreq_e>; 808bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_0>; 818bab661aSEmmanuel Vadot i-cache-size = <0x20000>; 828bab661aSEmmanuel Vadot d-cache-size = <0x10000>; 832eb4d8dcSEmmanuel Vadot }; 842eb4d8dcSEmmanuel Vadot 858bab661aSEmmanuel Vadot cpu_e2: cpu@2 { 862eb4d8dcSEmmanuel Vadot compatible = "apple,icestorm"; 872eb4d8dcSEmmanuel Vadot device_type = "cpu"; 882eb4d8dcSEmmanuel Vadot reg = <0x0 0x2>; 892eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 902eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 918bab661aSEmmanuel Vadot operating-points-v2 = <&ecluster_opp>; 928bab661aSEmmanuel Vadot capacity-dmips-mhz = <714>; 938bab661aSEmmanuel Vadot performance-domains = <&cpufreq_e>; 948bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_0>; 958bab661aSEmmanuel Vadot i-cache-size = <0x20000>; 968bab661aSEmmanuel Vadot d-cache-size = <0x10000>; 972eb4d8dcSEmmanuel Vadot }; 982eb4d8dcSEmmanuel Vadot 998bab661aSEmmanuel Vadot cpu_e3: cpu@3 { 1002eb4d8dcSEmmanuel Vadot compatible = "apple,icestorm"; 1012eb4d8dcSEmmanuel Vadot device_type = "cpu"; 1022eb4d8dcSEmmanuel Vadot reg = <0x0 0x3>; 1032eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 1042eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 1058bab661aSEmmanuel Vadot operating-points-v2 = <&ecluster_opp>; 1068bab661aSEmmanuel Vadot capacity-dmips-mhz = <714>; 1078bab661aSEmmanuel Vadot performance-domains = <&cpufreq_e>; 1088bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_0>; 1098bab661aSEmmanuel Vadot i-cache-size = <0x20000>; 1108bab661aSEmmanuel Vadot d-cache-size = <0x10000>; 1112eb4d8dcSEmmanuel Vadot }; 1122eb4d8dcSEmmanuel Vadot 1138bab661aSEmmanuel Vadot cpu_p0: cpu@10100 { 1142eb4d8dcSEmmanuel Vadot compatible = "apple,firestorm"; 1152eb4d8dcSEmmanuel Vadot device_type = "cpu"; 1162eb4d8dcSEmmanuel Vadot reg = <0x0 0x10100>; 1172eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 1182eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 1198bab661aSEmmanuel Vadot operating-points-v2 = <&pcluster_opp>; 1208bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 1218bab661aSEmmanuel Vadot performance-domains = <&cpufreq_p>; 1228bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_1>; 1238bab661aSEmmanuel Vadot i-cache-size = <0x30000>; 1248bab661aSEmmanuel Vadot d-cache-size = <0x20000>; 1252eb4d8dcSEmmanuel Vadot }; 1262eb4d8dcSEmmanuel Vadot 1278bab661aSEmmanuel Vadot cpu_p1: cpu@10101 { 1282eb4d8dcSEmmanuel Vadot compatible = "apple,firestorm"; 1292eb4d8dcSEmmanuel Vadot device_type = "cpu"; 1302eb4d8dcSEmmanuel Vadot reg = <0x0 0x10101>; 1312eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 1322eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 1338bab661aSEmmanuel Vadot operating-points-v2 = <&pcluster_opp>; 1348bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 1358bab661aSEmmanuel Vadot performance-domains = <&cpufreq_p>; 1368bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_1>; 1378bab661aSEmmanuel Vadot i-cache-size = <0x30000>; 1388bab661aSEmmanuel Vadot d-cache-size = <0x20000>; 1392eb4d8dcSEmmanuel Vadot }; 1402eb4d8dcSEmmanuel Vadot 1418bab661aSEmmanuel Vadot cpu_p2: cpu@10102 { 1422eb4d8dcSEmmanuel Vadot compatible = "apple,firestorm"; 1432eb4d8dcSEmmanuel Vadot device_type = "cpu"; 1442eb4d8dcSEmmanuel Vadot reg = <0x0 0x10102>; 1452eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 1462eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 1478bab661aSEmmanuel Vadot operating-points-v2 = <&pcluster_opp>; 1488bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 1498bab661aSEmmanuel Vadot performance-domains = <&cpufreq_p>; 1508bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_1>; 1518bab661aSEmmanuel Vadot i-cache-size = <0x30000>; 1528bab661aSEmmanuel Vadot d-cache-size = <0x20000>; 1532eb4d8dcSEmmanuel Vadot }; 1542eb4d8dcSEmmanuel Vadot 1558bab661aSEmmanuel Vadot cpu_p3: cpu@10103 { 1562eb4d8dcSEmmanuel Vadot compatible = "apple,firestorm"; 1572eb4d8dcSEmmanuel Vadot device_type = "cpu"; 1582eb4d8dcSEmmanuel Vadot reg = <0x0 0x10103>; 1592eb4d8dcSEmmanuel Vadot enable-method = "spin-table"; 1602eb4d8dcSEmmanuel Vadot cpu-release-addr = <0 0>; /* To be filled by loader */ 1618bab661aSEmmanuel Vadot operating-points-v2 = <&pcluster_opp>; 1628bab661aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 1638bab661aSEmmanuel Vadot performance-domains = <&cpufreq_p>; 1648bab661aSEmmanuel Vadot next-level-cache = <&l2_cache_1>; 1658bab661aSEmmanuel Vadot i-cache-size = <0x30000>; 1668bab661aSEmmanuel Vadot d-cache-size = <0x20000>; 1672eb4d8dcSEmmanuel Vadot }; 1688bab661aSEmmanuel Vadot 1698bab661aSEmmanuel Vadot l2_cache_0: l2-cache-0 { 1708bab661aSEmmanuel Vadot compatible = "cache"; 1718bab661aSEmmanuel Vadot cache-level = <2>; 1728bab661aSEmmanuel Vadot cache-unified; 1738bab661aSEmmanuel Vadot cache-size = <0x400000>; 1748bab661aSEmmanuel Vadot }; 1758bab661aSEmmanuel Vadot 1768bab661aSEmmanuel Vadot l2_cache_1: l2-cache-1 { 1778bab661aSEmmanuel Vadot compatible = "cache"; 1788bab661aSEmmanuel Vadot cache-level = <2>; 1798bab661aSEmmanuel Vadot cache-unified; 1808bab661aSEmmanuel Vadot cache-size = <0xc00000>; 1818bab661aSEmmanuel Vadot }; 1828bab661aSEmmanuel Vadot }; 1838bab661aSEmmanuel Vadot 1848bab661aSEmmanuel Vadot ecluster_opp: opp-table-0 { 1858bab661aSEmmanuel Vadot compatible = "operating-points-v2"; 1868bab661aSEmmanuel Vadot 1878bab661aSEmmanuel Vadot opp01 { 1888bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 1898bab661aSEmmanuel Vadot opp-level = <1>; 1908bab661aSEmmanuel Vadot clock-latency-ns = <7500>; 1918bab661aSEmmanuel Vadot }; 1928bab661aSEmmanuel Vadot opp02 { 1938bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <972000000>; 1948bab661aSEmmanuel Vadot opp-level = <2>; 1958bab661aSEmmanuel Vadot clock-latency-ns = <22000>; 1968bab661aSEmmanuel Vadot }; 1978bab661aSEmmanuel Vadot opp03 { 1988bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <1332000000>; 1998bab661aSEmmanuel Vadot opp-level = <3>; 2008bab661aSEmmanuel Vadot clock-latency-ns = <27000>; 2018bab661aSEmmanuel Vadot }; 2028bab661aSEmmanuel Vadot opp04 { 2038bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <1704000000>; 2048bab661aSEmmanuel Vadot opp-level = <4>; 2058bab661aSEmmanuel Vadot clock-latency-ns = <33000>; 2068bab661aSEmmanuel Vadot }; 2078bab661aSEmmanuel Vadot opp05 { 2088bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <2064000000>; 2098bab661aSEmmanuel Vadot opp-level = <5>; 2108bab661aSEmmanuel Vadot clock-latency-ns = <50000>; 2118bab661aSEmmanuel Vadot }; 2128bab661aSEmmanuel Vadot }; 2138bab661aSEmmanuel Vadot 2148bab661aSEmmanuel Vadot pcluster_opp: opp-table-1 { 2158bab661aSEmmanuel Vadot compatible = "operating-points-v2"; 2168bab661aSEmmanuel Vadot 2178bab661aSEmmanuel Vadot opp01 { 2188bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 2198bab661aSEmmanuel Vadot opp-level = <1>; 2208bab661aSEmmanuel Vadot clock-latency-ns = <8000>; 2218bab661aSEmmanuel Vadot }; 2228bab661aSEmmanuel Vadot opp02 { 2238bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <828000000>; 2248bab661aSEmmanuel Vadot opp-level = <2>; 2258bab661aSEmmanuel Vadot clock-latency-ns = <19000>; 2268bab661aSEmmanuel Vadot }; 2278bab661aSEmmanuel Vadot opp03 { 2288bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <1056000000>; 2298bab661aSEmmanuel Vadot opp-level = <3>; 2308bab661aSEmmanuel Vadot clock-latency-ns = <21000>; 2318bab661aSEmmanuel Vadot }; 2328bab661aSEmmanuel Vadot opp04 { 2338bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <1284000000>; 2348bab661aSEmmanuel Vadot opp-level = <4>; 2358bab661aSEmmanuel Vadot clock-latency-ns = <23000>; 2368bab661aSEmmanuel Vadot }; 2378bab661aSEmmanuel Vadot opp05 { 2388bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <1500000000>; 2398bab661aSEmmanuel Vadot opp-level = <5>; 2408bab661aSEmmanuel Vadot clock-latency-ns = <24000>; 2418bab661aSEmmanuel Vadot }; 2428bab661aSEmmanuel Vadot opp06 { 2438bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <1728000000>; 2448bab661aSEmmanuel Vadot opp-level = <6>; 2458bab661aSEmmanuel Vadot clock-latency-ns = <29000>; 2468bab661aSEmmanuel Vadot }; 2478bab661aSEmmanuel Vadot opp07 { 2488bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <1956000000>; 2498bab661aSEmmanuel Vadot opp-level = <7>; 2508bab661aSEmmanuel Vadot clock-latency-ns = <31000>; 2518bab661aSEmmanuel Vadot }; 2528bab661aSEmmanuel Vadot opp08 { 2538bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <2184000000>; 2548bab661aSEmmanuel Vadot opp-level = <8>; 2558bab661aSEmmanuel Vadot clock-latency-ns = <34000>; 2568bab661aSEmmanuel Vadot }; 2578bab661aSEmmanuel Vadot opp09 { 2588bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <2388000000>; 2598bab661aSEmmanuel Vadot opp-level = <9>; 2608bab661aSEmmanuel Vadot clock-latency-ns = <36000>; 2618bab661aSEmmanuel Vadot }; 2628bab661aSEmmanuel Vadot opp10 { 2638bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <2592000000>; 2648bab661aSEmmanuel Vadot opp-level = <10>; 2658bab661aSEmmanuel Vadot clock-latency-ns = <51000>; 2668bab661aSEmmanuel Vadot }; 2678bab661aSEmmanuel Vadot opp11 { 2688bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <2772000000>; 2698bab661aSEmmanuel Vadot opp-level = <11>; 2708bab661aSEmmanuel Vadot clock-latency-ns = <54000>; 2718bab661aSEmmanuel Vadot }; 2728bab661aSEmmanuel Vadot opp12 { 2738bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <2988000000>; 2748bab661aSEmmanuel Vadot opp-level = <12>; 2758bab661aSEmmanuel Vadot clock-latency-ns = <55000>; 2768bab661aSEmmanuel Vadot }; 2778bab661aSEmmanuel Vadot#if 0 2788bab661aSEmmanuel Vadot /* Not available until CPU deep sleep is implemented */ 2798bab661aSEmmanuel Vadot opp13 { 2808bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <3096000000>; 2818bab661aSEmmanuel Vadot opp-level = <13>; 2828bab661aSEmmanuel Vadot clock-latency-ns = <55000>; 2838bab661aSEmmanuel Vadot turbo-mode; 2848bab661aSEmmanuel Vadot }; 2858bab661aSEmmanuel Vadot opp14 { 2868bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <3144000000>; 2878bab661aSEmmanuel Vadot opp-level = <14>; 2888bab661aSEmmanuel Vadot clock-latency-ns = <56000>; 2898bab661aSEmmanuel Vadot turbo-mode; 2908bab661aSEmmanuel Vadot }; 2918bab661aSEmmanuel Vadot opp15 { 2928bab661aSEmmanuel Vadot opp-hz = /bits/ 64 <3204000000>; 2938bab661aSEmmanuel Vadot opp-level = <15>; 2948bab661aSEmmanuel Vadot clock-latency-ns = <56000>; 2958bab661aSEmmanuel Vadot turbo-mode; 2968bab661aSEmmanuel Vadot }; 2978bab661aSEmmanuel Vadot#endif 2982eb4d8dcSEmmanuel Vadot }; 2992eb4d8dcSEmmanuel Vadot 3002eb4d8dcSEmmanuel Vadot timer { 3012eb4d8dcSEmmanuel Vadot compatible = "arm,armv8-timer"; 3022eb4d8dcSEmmanuel Vadot interrupt-parent = <&aic>; 3032eb4d8dcSEmmanuel Vadot interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; 3042eb4d8dcSEmmanuel Vadot interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>, 3052eb4d8dcSEmmanuel Vadot <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>, 3062eb4d8dcSEmmanuel Vadot <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>, 3072eb4d8dcSEmmanuel Vadot <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>; 3082eb4d8dcSEmmanuel Vadot }; 3092eb4d8dcSEmmanuel Vadot 310c9ccf3a3SEmmanuel Vadot pmu-e { 311c9ccf3a3SEmmanuel Vadot compatible = "apple,icestorm-pmu"; 312c9ccf3a3SEmmanuel Vadot interrupt-parent = <&aic>; 313c9ccf3a3SEmmanuel Vadot interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>; 314c9ccf3a3SEmmanuel Vadot }; 315c9ccf3a3SEmmanuel Vadot 316c9ccf3a3SEmmanuel Vadot pmu-p { 317c9ccf3a3SEmmanuel Vadot compatible = "apple,firestorm-pmu"; 318c9ccf3a3SEmmanuel Vadot interrupt-parent = <&aic>; 319c9ccf3a3SEmmanuel Vadot interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>; 320c9ccf3a3SEmmanuel Vadot }; 321c9ccf3a3SEmmanuel Vadot 322e67e8565SEmmanuel Vadot clkref: clock-ref { 3232eb4d8dcSEmmanuel Vadot compatible = "fixed-clock"; 3242eb4d8dcSEmmanuel Vadot #clock-cells = <0>; 3252eb4d8dcSEmmanuel Vadot clock-frequency = <24000000>; 326e67e8565SEmmanuel Vadot clock-output-names = "clkref"; 3272eb4d8dcSEmmanuel Vadot }; 3282eb4d8dcSEmmanuel Vadot 3298bab661aSEmmanuel Vadot /* 3308bab661aSEmmanuel Vadot * This is a fabulated representation of the input clock 3318bab661aSEmmanuel Vadot * to NCO since we don't know the true clock tree. 3328bab661aSEmmanuel Vadot */ 3338bab661aSEmmanuel Vadot nco_clkref: clock-ref-nco { 3348bab661aSEmmanuel Vadot compatible = "fixed-clock"; 3358bab661aSEmmanuel Vadot #clock-cells = <0>; 3368bab661aSEmmanuel Vadot clock-output-names = "nco_ref"; 3378bab661aSEmmanuel Vadot }; 3388bab661aSEmmanuel Vadot 3392eb4d8dcSEmmanuel Vadot soc { 3402eb4d8dcSEmmanuel Vadot compatible = "simple-bus"; 3412eb4d8dcSEmmanuel Vadot #address-cells = <2>; 3422eb4d8dcSEmmanuel Vadot #size-cells = <2>; 3432eb4d8dcSEmmanuel Vadot 3442eb4d8dcSEmmanuel Vadot ranges; 3452eb4d8dcSEmmanuel Vadot nonposted-mmio; 3462eb4d8dcSEmmanuel Vadot 3478bab661aSEmmanuel Vadot cpufreq_e: performance-controller@210e20000 { 3488bab661aSEmmanuel Vadot compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq"; 3498bab661aSEmmanuel Vadot reg = <0x2 0x10e20000 0 0x1000>; 3508bab661aSEmmanuel Vadot #performance-domain-cells = <0>; 3518bab661aSEmmanuel Vadot }; 3528bab661aSEmmanuel Vadot 3538bab661aSEmmanuel Vadot cpufreq_p: performance-controller@211e20000 { 3548bab661aSEmmanuel Vadot compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq"; 3558bab661aSEmmanuel Vadot reg = <0x2 0x11e20000 0 0x1000>; 3568bab661aSEmmanuel Vadot #performance-domain-cells = <0>; 3578bab661aSEmmanuel Vadot }; 3588bab661aSEmmanuel Vadot 3598bab661aSEmmanuel Vadot sio_dart: iommu@235004000 { 3608bab661aSEmmanuel Vadot compatible = "apple,t8103-dart"; 3618bab661aSEmmanuel Vadot reg = <0x2 0x35004000 0x0 0x4000>; 3628bab661aSEmmanuel Vadot interrupt-parent = <&aic>; 3638bab661aSEmmanuel Vadot interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>; 3648bab661aSEmmanuel Vadot #iommu-cells = <1>; 3658bab661aSEmmanuel Vadot power-domains = <&ps_sio_cpu>; 3668bab661aSEmmanuel Vadot }; 3678bab661aSEmmanuel Vadot 368e67e8565SEmmanuel Vadot i2c0: i2c@235010000 { 369e67e8565SEmmanuel Vadot compatible = "apple,t8103-i2c", "apple,i2c"; 370e67e8565SEmmanuel Vadot reg = <0x2 0x35010000 0x0 0x4000>; 371e67e8565SEmmanuel Vadot clocks = <&clkref>; 372e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 373e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 627 IRQ_TYPE_LEVEL_HIGH>; 374e67e8565SEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 375e67e8565SEmmanuel Vadot pinctrl-names = "default"; 376e67e8565SEmmanuel Vadot #address-cells = <0x1>; 377e67e8565SEmmanuel Vadot #size-cells = <0x0>; 378e67e8565SEmmanuel Vadot power-domains = <&ps_i2c0>; 379e67e8565SEmmanuel Vadot }; 380e67e8565SEmmanuel Vadot 381e67e8565SEmmanuel Vadot i2c1: i2c@235014000 { 382e67e8565SEmmanuel Vadot compatible = "apple,t8103-i2c", "apple,i2c"; 383e67e8565SEmmanuel Vadot reg = <0x2 0x35014000 0x0 0x4000>; 384e67e8565SEmmanuel Vadot clocks = <&clkref>; 385e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 386e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 628 IRQ_TYPE_LEVEL_HIGH>; 387e67e8565SEmmanuel Vadot pinctrl-0 = <&i2c1_pins>; 388e67e8565SEmmanuel Vadot pinctrl-names = "default"; 389e67e8565SEmmanuel Vadot #address-cells = <0x1>; 390e67e8565SEmmanuel Vadot #size-cells = <0x0>; 391e67e8565SEmmanuel Vadot power-domains = <&ps_i2c1>; 392e67e8565SEmmanuel Vadot }; 393e67e8565SEmmanuel Vadot 394e67e8565SEmmanuel Vadot i2c2: i2c@235018000 { 395e67e8565SEmmanuel Vadot compatible = "apple,t8103-i2c", "apple,i2c"; 396e67e8565SEmmanuel Vadot reg = <0x2 0x35018000 0x0 0x4000>; 397e67e8565SEmmanuel Vadot clocks = <&clkref>; 398e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 399e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 629 IRQ_TYPE_LEVEL_HIGH>; 400e67e8565SEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 401e67e8565SEmmanuel Vadot pinctrl-names = "default"; 402e67e8565SEmmanuel Vadot #address-cells = <0x1>; 403e67e8565SEmmanuel Vadot #size-cells = <0x0>; 404e67e8565SEmmanuel Vadot status = "disabled"; /* not used in all devices */ 405e67e8565SEmmanuel Vadot power-domains = <&ps_i2c2>; 406e67e8565SEmmanuel Vadot }; 407e67e8565SEmmanuel Vadot 408e67e8565SEmmanuel Vadot i2c3: i2c@23501c000 { 409e67e8565SEmmanuel Vadot compatible = "apple,t8103-i2c", "apple,i2c"; 410e67e8565SEmmanuel Vadot reg = <0x2 0x3501c000 0x0 0x4000>; 411e67e8565SEmmanuel Vadot clocks = <&clkref>; 412e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 413e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 630 IRQ_TYPE_LEVEL_HIGH>; 414e67e8565SEmmanuel Vadot pinctrl-0 = <&i2c3_pins>; 415e67e8565SEmmanuel Vadot pinctrl-names = "default"; 416e67e8565SEmmanuel Vadot #address-cells = <0x1>; 417e67e8565SEmmanuel Vadot #size-cells = <0x0>; 418e67e8565SEmmanuel Vadot power-domains = <&ps_i2c3>; 419e67e8565SEmmanuel Vadot }; 420e67e8565SEmmanuel Vadot 421e67e8565SEmmanuel Vadot i2c4: i2c@235020000 { 422e67e8565SEmmanuel Vadot compatible = "apple,t8103-i2c", "apple,i2c"; 423e67e8565SEmmanuel Vadot reg = <0x2 0x35020000 0x0 0x4000>; 424e67e8565SEmmanuel Vadot clocks = <&clkref>; 425e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 426e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 631 IRQ_TYPE_LEVEL_HIGH>; 427e67e8565SEmmanuel Vadot pinctrl-0 = <&i2c4_pins>; 428e67e8565SEmmanuel Vadot pinctrl-names = "default"; 429e67e8565SEmmanuel Vadot #address-cells = <0x1>; 430e67e8565SEmmanuel Vadot #size-cells = <0x0>; 431e67e8565SEmmanuel Vadot power-domains = <&ps_i2c4>; 432e67e8565SEmmanuel Vadot status = "disabled"; /* only used in J293 */ 433e67e8565SEmmanuel Vadot }; 434e67e8565SEmmanuel Vadot 435*fac71e4eSEmmanuel Vadot fpwm1: pwm@235044000 { 436*fac71e4eSEmmanuel Vadot compatible = "apple,t8103-fpwm", "apple,s5l-fpwm"; 437*fac71e4eSEmmanuel Vadot reg = <0x2 0x35044000 0x0 0x4000>; 438*fac71e4eSEmmanuel Vadot power-domains = <&ps_fpwm1>; 439*fac71e4eSEmmanuel Vadot clocks = <&clkref>; 440*fac71e4eSEmmanuel Vadot #pwm-cells = <2>; 441*fac71e4eSEmmanuel Vadot status = "disabled"; 442*fac71e4eSEmmanuel Vadot }; 443*fac71e4eSEmmanuel Vadot 4442eb4d8dcSEmmanuel Vadot serial0: serial@235200000 { 4452eb4d8dcSEmmanuel Vadot compatible = "apple,s5l-uart"; 4462eb4d8dcSEmmanuel Vadot reg = <0x2 0x35200000 0x0 0x1000>; 4472eb4d8dcSEmmanuel Vadot reg-io-width = <4>; 4482eb4d8dcSEmmanuel Vadot interrupt-parent = <&aic>; 4492eb4d8dcSEmmanuel Vadot interrupts = <AIC_IRQ 605 IRQ_TYPE_LEVEL_HIGH>; 4502eb4d8dcSEmmanuel Vadot /* 4512eb4d8dcSEmmanuel Vadot * TODO: figure out the clocking properly, there may 4522eb4d8dcSEmmanuel Vadot * be a third selectable clock. 4532eb4d8dcSEmmanuel Vadot */ 454e67e8565SEmmanuel Vadot clocks = <&clkref>, <&clkref>; 4552eb4d8dcSEmmanuel Vadot clock-names = "uart", "clk_uart_baud0"; 456e67e8565SEmmanuel Vadot power-domains = <&ps_uart0>; 457e67e8565SEmmanuel Vadot status = "disabled"; 458e67e8565SEmmanuel Vadot }; 459e67e8565SEmmanuel Vadot 460e67e8565SEmmanuel Vadot serial2: serial@235208000 { 461e67e8565SEmmanuel Vadot compatible = "apple,s5l-uart"; 462e67e8565SEmmanuel Vadot reg = <0x2 0x35208000 0x0 0x1000>; 463e67e8565SEmmanuel Vadot reg-io-width = <4>; 464e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 465e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 607 IRQ_TYPE_LEVEL_HIGH>; 466e67e8565SEmmanuel Vadot clocks = <&clkref>, <&clkref>; 467e67e8565SEmmanuel Vadot clock-names = "uart", "clk_uart_baud0"; 468e67e8565SEmmanuel Vadot power-domains = <&ps_uart2>; 4692eb4d8dcSEmmanuel Vadot status = "disabled"; 4702eb4d8dcSEmmanuel Vadot }; 4712eb4d8dcSEmmanuel Vadot 4728bab661aSEmmanuel Vadot admac: dma-controller@238200000 { 4738bab661aSEmmanuel Vadot compatible = "apple,t8103-admac", "apple,admac"; 4748bab661aSEmmanuel Vadot reg = <0x2 0x38200000 0x0 0x34000>; 4758bab661aSEmmanuel Vadot dma-channels = <24>; 4768bab661aSEmmanuel Vadot interrupts-extended = <0>, 4778bab661aSEmmanuel Vadot <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>, 4788bab661aSEmmanuel Vadot <0>, 4798bab661aSEmmanuel Vadot <0>; 4808bab661aSEmmanuel Vadot #dma-cells = <1>; 4818bab661aSEmmanuel Vadot iommus = <&sio_dart 2>; 4828bab661aSEmmanuel Vadot power-domains = <&ps_sio_adma>; 4838bab661aSEmmanuel Vadot resets = <&ps_audio_p>; 4848bab661aSEmmanuel Vadot }; 4858bab661aSEmmanuel Vadot 4868bab661aSEmmanuel Vadot mca: i2s@238400000 { 4878bab661aSEmmanuel Vadot compatible = "apple,t8103-mca", "apple,mca"; 4888bab661aSEmmanuel Vadot reg = <0x2 0x38400000 0x0 0x18000>, 4898bab661aSEmmanuel Vadot <0x2 0x38300000 0x0 0x30000>; 4908bab661aSEmmanuel Vadot 4918bab661aSEmmanuel Vadot interrupt-parent = <&aic>; 4928bab661aSEmmanuel Vadot interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>, 4938bab661aSEmmanuel Vadot <AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>, 4948bab661aSEmmanuel Vadot <AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>, 4958bab661aSEmmanuel Vadot <AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>, 4968bab661aSEmmanuel Vadot <AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>, 4978bab661aSEmmanuel Vadot <AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>; 4988bab661aSEmmanuel Vadot 4998bab661aSEmmanuel Vadot resets = <&ps_audio_p>; 5008bab661aSEmmanuel Vadot clocks = <&nco 0>, <&nco 1>, <&nco 2>, 5018bab661aSEmmanuel Vadot <&nco 3>, <&nco 4>, <&nco 4>; 5028bab661aSEmmanuel Vadot power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>, 5038bab661aSEmmanuel Vadot <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>; 5048bab661aSEmmanuel Vadot dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>, 5058bab661aSEmmanuel Vadot <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>, 5068bab661aSEmmanuel Vadot <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>, 5078bab661aSEmmanuel Vadot <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>, 5088bab661aSEmmanuel Vadot <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>, 5098bab661aSEmmanuel Vadot <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>; 5108bab661aSEmmanuel Vadot dma-names = "tx0a", "rx0a", "tx0b", "rx0b", 5118bab661aSEmmanuel Vadot "tx1a", "rx1a", "tx1b", "rx1b", 5128bab661aSEmmanuel Vadot "tx2a", "rx2a", "tx2b", "rx2b", 5138bab661aSEmmanuel Vadot "tx3a", "rx3a", "tx3b", "rx3b", 5148bab661aSEmmanuel Vadot "tx4a", "rx4a", "tx4b", "rx4b", 5158bab661aSEmmanuel Vadot "tx5a", "rx5a", "tx5b", "rx5b"; 5168bab661aSEmmanuel Vadot 5178bab661aSEmmanuel Vadot #sound-dai-cells = <1>; 5188bab661aSEmmanuel Vadot }; 5198bab661aSEmmanuel Vadot 5208bab661aSEmmanuel Vadot nco: clock-controller@23b044000 { 5218bab661aSEmmanuel Vadot compatible = "apple,t8103-nco", "apple,nco"; 5228bab661aSEmmanuel Vadot reg = <0x2 0x3b044000 0x0 0x14000>; 5238bab661aSEmmanuel Vadot clocks = <&nco_clkref>; 5248bab661aSEmmanuel Vadot #clock-cells = <1>; 5258bab661aSEmmanuel Vadot }; 5268bab661aSEmmanuel Vadot 5272eb4d8dcSEmmanuel Vadot aic: interrupt-controller@23b100000 { 5282eb4d8dcSEmmanuel Vadot compatible = "apple,t8103-aic", "apple,aic"; 5292eb4d8dcSEmmanuel Vadot #interrupt-cells = <3>; 5302eb4d8dcSEmmanuel Vadot interrupt-controller; 5312eb4d8dcSEmmanuel Vadot reg = <0x2 0x3b100000 0x0 0x8000>; 532e67e8565SEmmanuel Vadot power-domains = <&ps_aic>; 533c9ccf3a3SEmmanuel Vadot 534c9ccf3a3SEmmanuel Vadot affinities { 535c9ccf3a3SEmmanuel Vadot e-core-pmu-affinity { 536c9ccf3a3SEmmanuel Vadot apple,fiq-index = <AIC_CPU_PMU_E>; 5378bab661aSEmmanuel Vadot cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>; 538c9ccf3a3SEmmanuel Vadot }; 539c9ccf3a3SEmmanuel Vadot 540c9ccf3a3SEmmanuel Vadot p-core-pmu-affinity { 541c9ccf3a3SEmmanuel Vadot apple,fiq-index = <AIC_CPU_PMU_P>; 5428bab661aSEmmanuel Vadot cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>; 543c9ccf3a3SEmmanuel Vadot }; 544c9ccf3a3SEmmanuel Vadot }; 545e67e8565SEmmanuel Vadot }; 546e67e8565SEmmanuel Vadot 547e67e8565SEmmanuel Vadot pmgr: power-management@23b700000 { 548e67e8565SEmmanuel Vadot compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 549e67e8565SEmmanuel Vadot #address-cells = <1>; 550e67e8565SEmmanuel Vadot #size-cells = <1>; 551e67e8565SEmmanuel Vadot reg = <0x2 0x3b700000 0 0x14000>; 5522eb4d8dcSEmmanuel Vadot }; 5538cc087a1SEmmanuel Vadot 5548cc087a1SEmmanuel Vadot pinctrl_ap: pinctrl@23c100000 { 5558cc087a1SEmmanuel Vadot compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 5568cc087a1SEmmanuel Vadot reg = <0x2 0x3c100000 0x0 0x100000>; 557e67e8565SEmmanuel Vadot power-domains = <&ps_gpio>; 5588cc087a1SEmmanuel Vadot 5598cc087a1SEmmanuel Vadot gpio-controller; 5608cc087a1SEmmanuel Vadot #gpio-cells = <2>; 5618cc087a1SEmmanuel Vadot gpio-ranges = <&pinctrl_ap 0 0 212>; 5628cc087a1SEmmanuel Vadot apple,npins = <212>; 5638cc087a1SEmmanuel Vadot 5648cc087a1SEmmanuel Vadot interrupt-controller; 5658cc087a1SEmmanuel Vadot #interrupt-cells = <2>; 5668cc087a1SEmmanuel Vadot interrupt-parent = <&aic>; 5678cc087a1SEmmanuel Vadot interrupts = <AIC_IRQ 190 IRQ_TYPE_LEVEL_HIGH>, 5688cc087a1SEmmanuel Vadot <AIC_IRQ 191 IRQ_TYPE_LEVEL_HIGH>, 5698cc087a1SEmmanuel Vadot <AIC_IRQ 192 IRQ_TYPE_LEVEL_HIGH>, 5708cc087a1SEmmanuel Vadot <AIC_IRQ 193 IRQ_TYPE_LEVEL_HIGH>, 5718cc087a1SEmmanuel Vadot <AIC_IRQ 194 IRQ_TYPE_LEVEL_HIGH>, 5728cc087a1SEmmanuel Vadot <AIC_IRQ 195 IRQ_TYPE_LEVEL_HIGH>, 5738cc087a1SEmmanuel Vadot <AIC_IRQ 196 IRQ_TYPE_LEVEL_HIGH>; 5748cc087a1SEmmanuel Vadot 575e67e8565SEmmanuel Vadot i2c0_pins: i2c0-pins { 576e67e8565SEmmanuel Vadot pinmux = <APPLE_PINMUX(192, 1)>, 577e67e8565SEmmanuel Vadot <APPLE_PINMUX(188, 1)>; 578e67e8565SEmmanuel Vadot }; 579e67e8565SEmmanuel Vadot 580e67e8565SEmmanuel Vadot i2c1_pins: i2c1-pins { 581e67e8565SEmmanuel Vadot pinmux = <APPLE_PINMUX(201, 1)>, 582e67e8565SEmmanuel Vadot <APPLE_PINMUX(199, 1)>; 583e67e8565SEmmanuel Vadot }; 584e67e8565SEmmanuel Vadot 585e67e8565SEmmanuel Vadot i2c2_pins: i2c2-pins { 586e67e8565SEmmanuel Vadot pinmux = <APPLE_PINMUX(163, 1)>, 587e67e8565SEmmanuel Vadot <APPLE_PINMUX(162, 1)>; 588e67e8565SEmmanuel Vadot }; 589e67e8565SEmmanuel Vadot 590e67e8565SEmmanuel Vadot i2c3_pins: i2c3-pins { 591e67e8565SEmmanuel Vadot pinmux = <APPLE_PINMUX(73, 1)>, 592e67e8565SEmmanuel Vadot <APPLE_PINMUX(72, 1)>; 593e67e8565SEmmanuel Vadot }; 594e67e8565SEmmanuel Vadot 595e67e8565SEmmanuel Vadot i2c4_pins: i2c4-pins { 596e67e8565SEmmanuel Vadot pinmux = <APPLE_PINMUX(135, 1)>, 597e67e8565SEmmanuel Vadot <APPLE_PINMUX(134, 1)>; 598e67e8565SEmmanuel Vadot }; 599e67e8565SEmmanuel Vadot 6008cc087a1SEmmanuel Vadot pcie_pins: pcie-pins { 6018cc087a1SEmmanuel Vadot pinmux = <APPLE_PINMUX(150, 1)>, 6028cc087a1SEmmanuel Vadot <APPLE_PINMUX(151, 1)>, 6038cc087a1SEmmanuel Vadot <APPLE_PINMUX(32, 1)>; 6048cc087a1SEmmanuel Vadot }; 6058cc087a1SEmmanuel Vadot }; 6068cc087a1SEmmanuel Vadot 6078cc087a1SEmmanuel Vadot pinctrl_nub: pinctrl@23d1f0000 { 6088cc087a1SEmmanuel Vadot compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 6098cc087a1SEmmanuel Vadot reg = <0x2 0x3d1f0000 0x0 0x4000>; 610e67e8565SEmmanuel Vadot power-domains = <&ps_nub_gpio>; 6118cc087a1SEmmanuel Vadot 6128cc087a1SEmmanuel Vadot gpio-controller; 6138cc087a1SEmmanuel Vadot #gpio-cells = <2>; 6148cc087a1SEmmanuel Vadot gpio-ranges = <&pinctrl_nub 0 0 23>; 6158cc087a1SEmmanuel Vadot apple,npins = <23>; 6168cc087a1SEmmanuel Vadot 6178cc087a1SEmmanuel Vadot interrupt-controller; 6188cc087a1SEmmanuel Vadot #interrupt-cells = <2>; 6198cc087a1SEmmanuel Vadot interrupt-parent = <&aic>; 6208cc087a1SEmmanuel Vadot interrupts = <AIC_IRQ 330 IRQ_TYPE_LEVEL_HIGH>, 6218cc087a1SEmmanuel Vadot <AIC_IRQ 331 IRQ_TYPE_LEVEL_HIGH>, 6228cc087a1SEmmanuel Vadot <AIC_IRQ 332 IRQ_TYPE_LEVEL_HIGH>, 6238cc087a1SEmmanuel Vadot <AIC_IRQ 333 IRQ_TYPE_LEVEL_HIGH>, 6248cc087a1SEmmanuel Vadot <AIC_IRQ 334 IRQ_TYPE_LEVEL_HIGH>, 6258cc087a1SEmmanuel Vadot <AIC_IRQ 335 IRQ_TYPE_LEVEL_HIGH>, 6268cc087a1SEmmanuel Vadot <AIC_IRQ 336 IRQ_TYPE_LEVEL_HIGH>; 6278cc087a1SEmmanuel Vadot }; 6288cc087a1SEmmanuel Vadot 629e67e8565SEmmanuel Vadot pmgr_mini: power-management@23d280000 { 630e67e8565SEmmanuel Vadot compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 631e67e8565SEmmanuel Vadot #address-cells = <1>; 632e67e8565SEmmanuel Vadot #size-cells = <1>; 633e67e8565SEmmanuel Vadot reg = <0x2 0x3d280000 0 0x4000>; 634e67e8565SEmmanuel Vadot }; 635e67e8565SEmmanuel Vadot 636e67e8565SEmmanuel Vadot wdt: watchdog@23d2b0000 { 637e67e8565SEmmanuel Vadot compatible = "apple,t8103-wdt", "apple,wdt"; 638e67e8565SEmmanuel Vadot reg = <0x2 0x3d2b0000 0x0 0x4000>; 639e67e8565SEmmanuel Vadot clocks = <&clkref>; 640e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 641e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 338 IRQ_TYPE_LEVEL_HIGH>; 642e67e8565SEmmanuel Vadot }; 643e67e8565SEmmanuel Vadot 6448cc087a1SEmmanuel Vadot pinctrl_smc: pinctrl@23e820000 { 6458cc087a1SEmmanuel Vadot compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 6468cc087a1SEmmanuel Vadot reg = <0x2 0x3e820000 0x0 0x4000>; 6478cc087a1SEmmanuel Vadot 6488cc087a1SEmmanuel Vadot gpio-controller; 6498cc087a1SEmmanuel Vadot #gpio-cells = <2>; 6508cc087a1SEmmanuel Vadot gpio-ranges = <&pinctrl_smc 0 0 16>; 6518cc087a1SEmmanuel Vadot apple,npins = <16>; 6528cc087a1SEmmanuel Vadot 6538cc087a1SEmmanuel Vadot interrupt-controller; 6548cc087a1SEmmanuel Vadot #interrupt-cells = <2>; 6558cc087a1SEmmanuel Vadot interrupt-parent = <&aic>; 6568cc087a1SEmmanuel Vadot interrupts = <AIC_IRQ 391 IRQ_TYPE_LEVEL_HIGH>, 6578cc087a1SEmmanuel Vadot <AIC_IRQ 392 IRQ_TYPE_LEVEL_HIGH>, 6588cc087a1SEmmanuel Vadot <AIC_IRQ 393 IRQ_TYPE_LEVEL_HIGH>, 6598cc087a1SEmmanuel Vadot <AIC_IRQ 394 IRQ_TYPE_LEVEL_HIGH>, 6608cc087a1SEmmanuel Vadot <AIC_IRQ 395 IRQ_TYPE_LEVEL_HIGH>, 6618cc087a1SEmmanuel Vadot <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>, 6628cc087a1SEmmanuel Vadot <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>; 6638cc087a1SEmmanuel Vadot }; 6648cc087a1SEmmanuel Vadot 665e67e8565SEmmanuel Vadot pinctrl_aop: pinctrl@24a820000 { 666e67e8565SEmmanuel Vadot compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 667e67e8565SEmmanuel Vadot reg = <0x2 0x4a820000 0x0 0x4000>; 668e67e8565SEmmanuel Vadot 669e67e8565SEmmanuel Vadot gpio-controller; 670e67e8565SEmmanuel Vadot #gpio-cells = <2>; 671e67e8565SEmmanuel Vadot gpio-ranges = <&pinctrl_aop 0 0 42>; 672e67e8565SEmmanuel Vadot apple,npins = <42>; 673e67e8565SEmmanuel Vadot 674e67e8565SEmmanuel Vadot interrupt-controller; 675e67e8565SEmmanuel Vadot #interrupt-cells = <2>; 676e67e8565SEmmanuel Vadot interrupt-parent = <&aic>; 677e67e8565SEmmanuel Vadot interrupts = <AIC_IRQ 268 IRQ_TYPE_LEVEL_HIGH>, 678e67e8565SEmmanuel Vadot <AIC_IRQ 269 IRQ_TYPE_LEVEL_HIGH>, 679e67e8565SEmmanuel Vadot <AIC_IRQ 270 IRQ_TYPE_LEVEL_HIGH>, 680e67e8565SEmmanuel Vadot <AIC_IRQ 271 IRQ_TYPE_LEVEL_HIGH>, 681e67e8565SEmmanuel Vadot <AIC_IRQ 272 IRQ_TYPE_LEVEL_HIGH>, 682e67e8565SEmmanuel Vadot <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>, 683e67e8565SEmmanuel Vadot <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>; 684e67e8565SEmmanuel Vadot }; 685e67e8565SEmmanuel Vadot 686b97ee269SEmmanuel Vadot ans_mbox: mbox@277408000 { 687b97ee269SEmmanuel Vadot compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4"; 688b97ee269SEmmanuel Vadot reg = <0x2 0x77408000 0x0 0x4000>; 689b97ee269SEmmanuel Vadot interrupt-parent = <&aic>; 690b97ee269SEmmanuel Vadot interrupts = <AIC_IRQ 583 IRQ_TYPE_LEVEL_HIGH>, 691b97ee269SEmmanuel Vadot <AIC_IRQ 584 IRQ_TYPE_LEVEL_HIGH>, 692b97ee269SEmmanuel Vadot <AIC_IRQ 585 IRQ_TYPE_LEVEL_HIGH>, 693b97ee269SEmmanuel Vadot <AIC_IRQ 586 IRQ_TYPE_LEVEL_HIGH>; 694b97ee269SEmmanuel Vadot interrupt-names = "send-empty", "send-not-empty", 695b97ee269SEmmanuel Vadot "recv-empty", "recv-not-empty"; 696b97ee269SEmmanuel Vadot #mbox-cells = <0>; 697b97ee269SEmmanuel Vadot power-domains = <&ps_ans2>; 698b97ee269SEmmanuel Vadot }; 699b97ee269SEmmanuel Vadot 700b97ee269SEmmanuel Vadot sart: iommu@27bc50000 { 701b97ee269SEmmanuel Vadot compatible = "apple,t8103-sart"; 702b97ee269SEmmanuel Vadot reg = <0x2 0x7bc50000 0x0 0x10000>; 703b97ee269SEmmanuel Vadot power-domains = <&ps_ans2>; 704b97ee269SEmmanuel Vadot }; 705b97ee269SEmmanuel Vadot 706b97ee269SEmmanuel Vadot nvme@27bcc0000 { 707b97ee269SEmmanuel Vadot compatible = "apple,t8103-nvme-ans2", "apple,nvme-ans2"; 708b97ee269SEmmanuel Vadot reg = <0x2 0x7bcc0000 0x0 0x40000>, 709b97ee269SEmmanuel Vadot <0x2 0x77400000 0x0 0x4000>; 710b97ee269SEmmanuel Vadot reg-names = "nvme", "ans"; 711b97ee269SEmmanuel Vadot interrupt-parent = <&aic>; 712b97ee269SEmmanuel Vadot interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>; 713b97ee269SEmmanuel Vadot mboxes = <&ans_mbox>; 714b97ee269SEmmanuel Vadot apple,sart = <&sart>; 715b97ee269SEmmanuel Vadot power-domains = <&ps_ans2>, <&ps_apcie_st>; 716b97ee269SEmmanuel Vadot power-domain-names = "ans", "apcie0"; 717b97ee269SEmmanuel Vadot resets = <&ps_ans2>; 718b97ee269SEmmanuel Vadot }; 719b97ee269SEmmanuel Vadot 7208bab661aSEmmanuel Vadot pcie0_dart_0: iommu@681008000 { 7218cc087a1SEmmanuel Vadot compatible = "apple,t8103-dart"; 7228cc087a1SEmmanuel Vadot reg = <0x6 0x81008000 0x0 0x4000>; 7238cc087a1SEmmanuel Vadot #iommu-cells = <1>; 7248cc087a1SEmmanuel Vadot interrupt-parent = <&aic>; 7258cc087a1SEmmanuel Vadot interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>; 726e67e8565SEmmanuel Vadot power-domains = <&ps_apcie_gp>; 7278cc087a1SEmmanuel Vadot }; 7288cc087a1SEmmanuel Vadot 7298bab661aSEmmanuel Vadot pcie0_dart_1: iommu@682008000 { 7308cc087a1SEmmanuel Vadot compatible = "apple,t8103-dart"; 7318cc087a1SEmmanuel Vadot reg = <0x6 0x82008000 0x0 0x4000>; 7328cc087a1SEmmanuel Vadot #iommu-cells = <1>; 7338cc087a1SEmmanuel Vadot interrupt-parent = <&aic>; 7348cc087a1SEmmanuel Vadot interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>; 735e67e8565SEmmanuel Vadot power-domains = <&ps_apcie_gp>; 736*fac71e4eSEmmanuel Vadot status = "disabled"; 7378cc087a1SEmmanuel Vadot }; 7388cc087a1SEmmanuel Vadot 7398bab661aSEmmanuel Vadot pcie0_dart_2: iommu@683008000 { 7408cc087a1SEmmanuel Vadot compatible = "apple,t8103-dart"; 7418cc087a1SEmmanuel Vadot reg = <0x6 0x83008000 0x0 0x4000>; 7428cc087a1SEmmanuel Vadot #iommu-cells = <1>; 7438cc087a1SEmmanuel Vadot interrupt-parent = <&aic>; 7448cc087a1SEmmanuel Vadot interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>; 745e67e8565SEmmanuel Vadot power-domains = <&ps_apcie_gp>; 746*fac71e4eSEmmanuel Vadot status = "disabled"; 7478cc087a1SEmmanuel Vadot }; 7488cc087a1SEmmanuel Vadot 7498cc087a1SEmmanuel Vadot pcie0: pcie@690000000 { 7508cc087a1SEmmanuel Vadot compatible = "apple,t8103-pcie", "apple,pcie"; 7518cc087a1SEmmanuel Vadot device_type = "pci"; 7528cc087a1SEmmanuel Vadot 7538cc087a1SEmmanuel Vadot reg = <0x6 0x90000000 0x0 0x1000000>, 7548cc087a1SEmmanuel Vadot <0x6 0x80000000 0x0 0x100000>, 7558cc087a1SEmmanuel Vadot <0x6 0x81000000 0x0 0x4000>, 7568cc087a1SEmmanuel Vadot <0x6 0x82000000 0x0 0x4000>, 7578cc087a1SEmmanuel Vadot <0x6 0x83000000 0x0 0x4000>; 7588cc087a1SEmmanuel Vadot reg-names = "config", "rc", "port0", "port1", "port2"; 7598cc087a1SEmmanuel Vadot 7608cc087a1SEmmanuel Vadot interrupt-parent = <&aic>; 7618cc087a1SEmmanuel Vadot interrupts = <AIC_IRQ 695 IRQ_TYPE_LEVEL_HIGH>, 7628cc087a1SEmmanuel Vadot <AIC_IRQ 698 IRQ_TYPE_LEVEL_HIGH>, 7638cc087a1SEmmanuel Vadot <AIC_IRQ 701 IRQ_TYPE_LEVEL_HIGH>; 7648cc087a1SEmmanuel Vadot 7658cc087a1SEmmanuel Vadot msi-controller; 7668cc087a1SEmmanuel Vadot msi-parent = <&pcie0>; 7678cc087a1SEmmanuel Vadot msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>; 7688cc087a1SEmmanuel Vadot 7698cc087a1SEmmanuel Vadot 7708cc087a1SEmmanuel Vadot iommu-map = <0x100 &pcie0_dart_0 1 1>, 7718cc087a1SEmmanuel Vadot <0x200 &pcie0_dart_1 1 1>, 7728cc087a1SEmmanuel Vadot <0x300 &pcie0_dart_2 1 1>; 7738cc087a1SEmmanuel Vadot iommu-map-mask = <0xff00>; 7748cc087a1SEmmanuel Vadot 7758cc087a1SEmmanuel Vadot bus-range = <0 3>; 7768cc087a1SEmmanuel Vadot #address-cells = <3>; 7778cc087a1SEmmanuel Vadot #size-cells = <2>; 7788cc087a1SEmmanuel Vadot ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>, 7798cc087a1SEmmanuel Vadot <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>; 7808cc087a1SEmmanuel Vadot 781e67e8565SEmmanuel Vadot power-domains = <&ps_apcie_gp>; 7828cc087a1SEmmanuel Vadot pinctrl-0 = <&pcie_pins>; 7838cc087a1SEmmanuel Vadot pinctrl-names = "default"; 7848cc087a1SEmmanuel Vadot 7858cc087a1SEmmanuel Vadot port00: pci@0,0 { 7868cc087a1SEmmanuel Vadot device_type = "pci"; 7878cc087a1SEmmanuel Vadot reg = <0x0 0x0 0x0 0x0 0x0>; 7888cc087a1SEmmanuel Vadot reset-gpios = <&pinctrl_ap 152 GPIO_ACTIVE_LOW>; 7898cc087a1SEmmanuel Vadot 7908cc087a1SEmmanuel Vadot #address-cells = <3>; 7918cc087a1SEmmanuel Vadot #size-cells = <2>; 7928cc087a1SEmmanuel Vadot ranges; 7938cc087a1SEmmanuel Vadot 7948cc087a1SEmmanuel Vadot interrupt-controller; 7958cc087a1SEmmanuel Vadot #interrupt-cells = <1>; 7968cc087a1SEmmanuel Vadot 7978cc087a1SEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 7988cc087a1SEmmanuel Vadot interrupt-map = <0 0 0 1 &port00 0 0 0 0>, 7998cc087a1SEmmanuel Vadot <0 0 0 2 &port00 0 0 0 1>, 8008cc087a1SEmmanuel Vadot <0 0 0 3 &port00 0 0 0 2>, 8018cc087a1SEmmanuel Vadot <0 0 0 4 &port00 0 0 0 3>; 8028cc087a1SEmmanuel Vadot }; 8038cc087a1SEmmanuel Vadot 8048cc087a1SEmmanuel Vadot port01: pci@1,0 { 8058cc087a1SEmmanuel Vadot device_type = "pci"; 8068cc087a1SEmmanuel Vadot reg = <0x800 0x0 0x0 0x0 0x0>; 8078cc087a1SEmmanuel Vadot reset-gpios = <&pinctrl_ap 153 GPIO_ACTIVE_LOW>; 8088cc087a1SEmmanuel Vadot 8098cc087a1SEmmanuel Vadot #address-cells = <3>; 8108cc087a1SEmmanuel Vadot #size-cells = <2>; 8118cc087a1SEmmanuel Vadot ranges; 8128cc087a1SEmmanuel Vadot 8138cc087a1SEmmanuel Vadot interrupt-controller; 8148cc087a1SEmmanuel Vadot #interrupt-cells = <1>; 8158cc087a1SEmmanuel Vadot 8168cc087a1SEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 8178cc087a1SEmmanuel Vadot interrupt-map = <0 0 0 1 &port01 0 0 0 0>, 8188cc087a1SEmmanuel Vadot <0 0 0 2 &port01 0 0 0 1>, 8198cc087a1SEmmanuel Vadot <0 0 0 3 &port01 0 0 0 2>, 8208cc087a1SEmmanuel Vadot <0 0 0 4 &port01 0 0 0 3>; 821*fac71e4eSEmmanuel Vadot status = "disabled"; 8228cc087a1SEmmanuel Vadot }; 8238cc087a1SEmmanuel Vadot 8248cc087a1SEmmanuel Vadot port02: pci@2,0 { 8258cc087a1SEmmanuel Vadot device_type = "pci"; 8268cc087a1SEmmanuel Vadot reg = <0x1000 0x0 0x0 0x0 0x0>; 8278cc087a1SEmmanuel Vadot reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>; 8288cc087a1SEmmanuel Vadot 8298cc087a1SEmmanuel Vadot #address-cells = <3>; 8308cc087a1SEmmanuel Vadot #size-cells = <2>; 8318cc087a1SEmmanuel Vadot ranges; 8328cc087a1SEmmanuel Vadot 8338cc087a1SEmmanuel Vadot interrupt-controller; 8348cc087a1SEmmanuel Vadot #interrupt-cells = <1>; 8358cc087a1SEmmanuel Vadot 8368cc087a1SEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 8378cc087a1SEmmanuel Vadot interrupt-map = <0 0 0 1 &port02 0 0 0 0>, 8388cc087a1SEmmanuel Vadot <0 0 0 2 &port02 0 0 0 1>, 8398cc087a1SEmmanuel Vadot <0 0 0 3 &port02 0 0 0 2>, 8408cc087a1SEmmanuel Vadot <0 0 0 4 &port02 0 0 0 3>; 841*fac71e4eSEmmanuel Vadot status = "disabled"; 8428cc087a1SEmmanuel Vadot }; 8438cc087a1SEmmanuel Vadot }; 8442eb4d8dcSEmmanuel Vadot }; 8452eb4d8dcSEmmanuel Vadot}; 846e67e8565SEmmanuel Vadot 847e67e8565SEmmanuel Vadot#include "t8103-pmgr.dtsi" 848