12d5ce3fbSHector Martin// SPDX-License-Identifier: GPL-2.0+ OR MIT 22d5ce3fbSHector Martin/* 32d5ce3fbSHector Martin * Apple T8112 "M2" SoC 42d5ce3fbSHector Martin * 52d5ce3fbSHector Martin * Other names: H14G 62d5ce3fbSHector Martin * 72d5ce3fbSHector Martin * Copyright The Asahi Linux Contributors 82d5ce3fbSHector Martin */ 92d5ce3fbSHector Martin 102d5ce3fbSHector Martin#include <dt-bindings/gpio/gpio.h> 112d5ce3fbSHector Martin#include <dt-bindings/interrupt-controller/apple-aic.h> 122d5ce3fbSHector Martin#include <dt-bindings/interrupt-controller/irq.h> 132d5ce3fbSHector Martin#include <dt-bindings/pinctrl/apple.h> 142d5ce3fbSHector Martin#include <dt-bindings/spmi/spmi.h> 152d5ce3fbSHector Martin 162d5ce3fbSHector Martin/ { 172d5ce3fbSHector Martin compatible = "apple,t8112", "apple,arm-platform"; 182d5ce3fbSHector Martin 192d5ce3fbSHector Martin #address-cells = <2>; 202d5ce3fbSHector Martin #size-cells = <2>; 212d5ce3fbSHector Martin 22*76f3ffebSSasha Finkelstein aliases { 23*76f3ffebSSasha Finkelstein gpu = &gpu; 24*76f3ffebSSasha Finkelstein }; 25*76f3ffebSSasha Finkelstein 262d5ce3fbSHector Martin cpus { 272d5ce3fbSHector Martin #address-cells = <2>; 282d5ce3fbSHector Martin #size-cells = <0>; 292d5ce3fbSHector Martin 302d5ce3fbSHector Martin cpu-map { 312d5ce3fbSHector Martin cluster0 { 322d5ce3fbSHector Martin core0 { 332d5ce3fbSHector Martin cpu = <&cpu_e0>; 342d5ce3fbSHector Martin }; 352d5ce3fbSHector Martin core1 { 362d5ce3fbSHector Martin cpu = <&cpu_e1>; 372d5ce3fbSHector Martin }; 382d5ce3fbSHector Martin core2 { 392d5ce3fbSHector Martin cpu = <&cpu_e2>; 402d5ce3fbSHector Martin }; 412d5ce3fbSHector Martin core3 { 422d5ce3fbSHector Martin cpu = <&cpu_e3>; 432d5ce3fbSHector Martin }; 442d5ce3fbSHector Martin }; 452d5ce3fbSHector Martin 462d5ce3fbSHector Martin cluster1 { 472d5ce3fbSHector Martin core0 { 482d5ce3fbSHector Martin cpu = <&cpu_p0>; 492d5ce3fbSHector Martin }; 502d5ce3fbSHector Martin core1 { 512d5ce3fbSHector Martin cpu = <&cpu_p1>; 522d5ce3fbSHector Martin }; 532d5ce3fbSHector Martin core2 { 542d5ce3fbSHector Martin cpu = <&cpu_p2>; 552d5ce3fbSHector Martin }; 562d5ce3fbSHector Martin core3 { 572d5ce3fbSHector Martin cpu = <&cpu_p3>; 582d5ce3fbSHector Martin }; 592d5ce3fbSHector Martin }; 602d5ce3fbSHector Martin }; 612d5ce3fbSHector Martin 622d5ce3fbSHector Martin cpu_e0: cpu@0 { 632d5ce3fbSHector Martin compatible = "apple,blizzard"; 642d5ce3fbSHector Martin device_type = "cpu"; 652d5ce3fbSHector Martin reg = <0x0 0x0>; 662d5ce3fbSHector Martin enable-method = "spin-table"; 672d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 682d5ce3fbSHector Martin operating-points-v2 = <&ecluster_opp>; 692d5ce3fbSHector Martin capacity-dmips-mhz = <756>; 702d5ce3fbSHector Martin performance-domains = <&cpufreq_e>; 712d5ce3fbSHector Martin next-level-cache = <&l2_cache_0>; 722d5ce3fbSHector Martin i-cache-size = <0x20000>; 732d5ce3fbSHector Martin d-cache-size = <0x10000>; 742d5ce3fbSHector Martin }; 752d5ce3fbSHector Martin 762d5ce3fbSHector Martin cpu_e1: cpu@1 { 772d5ce3fbSHector Martin compatible = "apple,blizzard"; 782d5ce3fbSHector Martin device_type = "cpu"; 792d5ce3fbSHector Martin reg = <0x0 0x1>; 802d5ce3fbSHector Martin enable-method = "spin-table"; 812d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 822d5ce3fbSHector Martin operating-points-v2 = <&ecluster_opp>; 832d5ce3fbSHector Martin capacity-dmips-mhz = <756>; 842d5ce3fbSHector Martin performance-domains = <&cpufreq_e>; 852d5ce3fbSHector Martin next-level-cache = <&l2_cache_0>; 862d5ce3fbSHector Martin i-cache-size = <0x20000>; 872d5ce3fbSHector Martin d-cache-size = <0x10000>; 882d5ce3fbSHector Martin }; 892d5ce3fbSHector Martin 902d5ce3fbSHector Martin cpu_e2: cpu@2 { 912d5ce3fbSHector Martin compatible = "apple,blizzard"; 922d5ce3fbSHector Martin device_type = "cpu"; 932d5ce3fbSHector Martin reg = <0x0 0x2>; 942d5ce3fbSHector Martin enable-method = "spin-table"; 952d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 962d5ce3fbSHector Martin operating-points-v2 = <&ecluster_opp>; 972d5ce3fbSHector Martin capacity-dmips-mhz = <756>; 982d5ce3fbSHector Martin performance-domains = <&cpufreq_e>; 992d5ce3fbSHector Martin next-level-cache = <&l2_cache_0>; 1002d5ce3fbSHector Martin i-cache-size = <0x20000>; 1012d5ce3fbSHector Martin d-cache-size = <0x10000>; 1022d5ce3fbSHector Martin }; 1032d5ce3fbSHector Martin 1042d5ce3fbSHector Martin cpu_e3: cpu@3 { 1052d5ce3fbSHector Martin compatible = "apple,blizzard"; 1062d5ce3fbSHector Martin device_type = "cpu"; 1072d5ce3fbSHector Martin reg = <0x0 0x3>; 1082d5ce3fbSHector Martin enable-method = "spin-table"; 1092d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 1102d5ce3fbSHector Martin operating-points-v2 = <&ecluster_opp>; 1112d5ce3fbSHector Martin capacity-dmips-mhz = <756>; 1122d5ce3fbSHector Martin performance-domains = <&cpufreq_e>; 1132d5ce3fbSHector Martin next-level-cache = <&l2_cache_0>; 1142d5ce3fbSHector Martin i-cache-size = <0x20000>; 1152d5ce3fbSHector Martin d-cache-size = <0x10000>; 1162d5ce3fbSHector Martin }; 1172d5ce3fbSHector Martin 1182d5ce3fbSHector Martin cpu_p0: cpu@10100 { 1192d5ce3fbSHector Martin compatible = "apple,avalanche"; 1202d5ce3fbSHector Martin device_type = "cpu"; 1212d5ce3fbSHector Martin reg = <0x0 0x10100>; 1222d5ce3fbSHector Martin enable-method = "spin-table"; 1232d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 1242d5ce3fbSHector Martin operating-points-v2 = <&pcluster_opp>; 1252d5ce3fbSHector Martin capacity-dmips-mhz = <1024>; 1262d5ce3fbSHector Martin performance-domains = <&cpufreq_p>; 1272d5ce3fbSHector Martin next-level-cache = <&l2_cache_1>; 1282d5ce3fbSHector Martin i-cache-size = <0x30000>; 1292d5ce3fbSHector Martin d-cache-size = <0x20000>; 1302d5ce3fbSHector Martin }; 1312d5ce3fbSHector Martin 1322d5ce3fbSHector Martin cpu_p1: cpu@10101 { 1332d5ce3fbSHector Martin compatible = "apple,avalanche"; 1342d5ce3fbSHector Martin device_type = "cpu"; 1352d5ce3fbSHector Martin reg = <0x0 0x10101>; 1362d5ce3fbSHector Martin enable-method = "spin-table"; 1372d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 1382d5ce3fbSHector Martin operating-points-v2 = <&pcluster_opp>; 1392d5ce3fbSHector Martin capacity-dmips-mhz = <1024>; 1402d5ce3fbSHector Martin performance-domains = <&cpufreq_p>; 1412d5ce3fbSHector Martin next-level-cache = <&l2_cache_1>; 1422d5ce3fbSHector Martin i-cache-size = <0x30000>; 1432d5ce3fbSHector Martin d-cache-size = <0x20000>; 1442d5ce3fbSHector Martin }; 1452d5ce3fbSHector Martin 1462d5ce3fbSHector Martin cpu_p2: cpu@10102 { 1472d5ce3fbSHector Martin compatible = "apple,avalanche"; 1482d5ce3fbSHector Martin device_type = "cpu"; 1492d5ce3fbSHector Martin reg = <0x0 0x10102>; 1502d5ce3fbSHector Martin enable-method = "spin-table"; 1512d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 1522d5ce3fbSHector Martin operating-points-v2 = <&pcluster_opp>; 1532d5ce3fbSHector Martin capacity-dmips-mhz = <1024>; 1542d5ce3fbSHector Martin performance-domains = <&cpufreq_p>; 1552d5ce3fbSHector Martin next-level-cache = <&l2_cache_1>; 1562d5ce3fbSHector Martin i-cache-size = <0x30000>; 1572d5ce3fbSHector Martin d-cache-size = <0x20000>; 1582d5ce3fbSHector Martin }; 1592d5ce3fbSHector Martin 1602d5ce3fbSHector Martin cpu_p3: cpu@10103 { 1612d5ce3fbSHector Martin compatible = "apple,avalanche"; 1622d5ce3fbSHector Martin device_type = "cpu"; 1632d5ce3fbSHector Martin reg = <0x0 0x10103>; 1642d5ce3fbSHector Martin enable-method = "spin-table"; 1652d5ce3fbSHector Martin cpu-release-addr = <0 0>; /* To be filled by loader */ 1662d5ce3fbSHector Martin operating-points-v2 = <&pcluster_opp>; 1672d5ce3fbSHector Martin capacity-dmips-mhz = <1024>; 1682d5ce3fbSHector Martin performance-domains = <&cpufreq_p>; 1692d5ce3fbSHector Martin next-level-cache = <&l2_cache_1>; 1702d5ce3fbSHector Martin i-cache-size = <0x30000>; 1712d5ce3fbSHector Martin d-cache-size = <0x20000>; 1722d5ce3fbSHector Martin }; 1732d5ce3fbSHector Martin 1742d5ce3fbSHector Martin l2_cache_0: l2-cache-0 { 1752d5ce3fbSHector Martin compatible = "cache"; 1762d5ce3fbSHector Martin cache-level = <2>; 1772d5ce3fbSHector Martin cache-unified; 1782d5ce3fbSHector Martin cache-size = <0x400000>; 1792d5ce3fbSHector Martin }; 1802d5ce3fbSHector Martin 1812d5ce3fbSHector Martin l2_cache_1: l2-cache-1 { 1822d5ce3fbSHector Martin compatible = "cache"; 1832d5ce3fbSHector Martin cache-level = <2>; 1842d5ce3fbSHector Martin cache-unified; 1852d5ce3fbSHector Martin cache-size = <0x1000000>; 1862d5ce3fbSHector Martin }; 1872d5ce3fbSHector Martin }; 1882d5ce3fbSHector Martin 1892d5ce3fbSHector Martin ecluster_opp: opp-table-0 { 1902d5ce3fbSHector Martin compatible = "operating-points-v2"; 1912d5ce3fbSHector Martin opp-shared; 1922d5ce3fbSHector Martin 1932d5ce3fbSHector Martin opp01 { 1942d5ce3fbSHector Martin opp-hz = /bits/ 64 <600000000>; 1952d5ce3fbSHector Martin opp-level = <1>; 1962d5ce3fbSHector Martin clock-latency-ns = <7500>; 1972d5ce3fbSHector Martin }; 1982d5ce3fbSHector Martin opp02 { 1992d5ce3fbSHector Martin opp-hz = /bits/ 64 <912000000>; 2002d5ce3fbSHector Martin opp-level = <2>; 2012d5ce3fbSHector Martin clock-latency-ns = <20000>; 2022d5ce3fbSHector Martin }; 2032d5ce3fbSHector Martin opp03 { 2042d5ce3fbSHector Martin opp-hz = /bits/ 64 <1284000000>; 2052d5ce3fbSHector Martin opp-level = <3>; 2062d5ce3fbSHector Martin clock-latency-ns = <22000>; 2072d5ce3fbSHector Martin }; 2082d5ce3fbSHector Martin opp04 { 2092d5ce3fbSHector Martin opp-hz = /bits/ 64 <1752000000>; 2102d5ce3fbSHector Martin opp-level = <4>; 2112d5ce3fbSHector Martin clock-latency-ns = <30000>; 2122d5ce3fbSHector Martin }; 2132d5ce3fbSHector Martin opp05 { 2142d5ce3fbSHector Martin opp-hz = /bits/ 64 <2004000000>; 2152d5ce3fbSHector Martin opp-level = <5>; 2162d5ce3fbSHector Martin clock-latency-ns = <35000>; 2172d5ce3fbSHector Martin }; 2182d5ce3fbSHector Martin opp06 { 2192d5ce3fbSHector Martin opp-hz = /bits/ 64 <2256000000>; 2202d5ce3fbSHector Martin opp-level = <6>; 2212d5ce3fbSHector Martin clock-latency-ns = <39000>; 2222d5ce3fbSHector Martin }; 2232d5ce3fbSHector Martin opp07 { 2242d5ce3fbSHector Martin opp-hz = /bits/ 64 <2424000000>; 2252d5ce3fbSHector Martin opp-level = <7>; 2262d5ce3fbSHector Martin clock-latency-ns = <53000>; 2272d5ce3fbSHector Martin }; 2282d5ce3fbSHector Martin }; 2292d5ce3fbSHector Martin 2302d5ce3fbSHector Martin pcluster_opp: opp-table-1 { 2312d5ce3fbSHector Martin compatible = "operating-points-v2"; 2322d5ce3fbSHector Martin opp-shared; 2332d5ce3fbSHector Martin 2342d5ce3fbSHector Martin opp01 { 2352d5ce3fbSHector Martin opp-hz = /bits/ 64 <660000000>; 2362d5ce3fbSHector Martin opp-level = <1>; 2372d5ce3fbSHector Martin clock-latency-ns = <9000>; 2382d5ce3fbSHector Martin }; 2392d5ce3fbSHector Martin opp02 { 2402d5ce3fbSHector Martin opp-hz = /bits/ 64 <924000000>; 2412d5ce3fbSHector Martin opp-level = <2>; 2422d5ce3fbSHector Martin clock-latency-ns = <19000>; 2432d5ce3fbSHector Martin }; 2442d5ce3fbSHector Martin opp03 { 2452d5ce3fbSHector Martin opp-hz = /bits/ 64 <1188000000>; 2462d5ce3fbSHector Martin opp-level = <3>; 2472d5ce3fbSHector Martin clock-latency-ns = <22000>; 2482d5ce3fbSHector Martin }; 2492d5ce3fbSHector Martin opp04 { 2502d5ce3fbSHector Martin opp-hz = /bits/ 64 <1452000000>; 2512d5ce3fbSHector Martin opp-level = <4>; 2522d5ce3fbSHector Martin clock-latency-ns = <24000>; 2532d5ce3fbSHector Martin }; 2542d5ce3fbSHector Martin opp05 { 2552d5ce3fbSHector Martin opp-hz = /bits/ 64 <1704000000>; 2562d5ce3fbSHector Martin opp-level = <5>; 2572d5ce3fbSHector Martin clock-latency-ns = <26000>; 2582d5ce3fbSHector Martin }; 2592d5ce3fbSHector Martin opp06 { 2602d5ce3fbSHector Martin opp-hz = /bits/ 64 <1968000000>; 2612d5ce3fbSHector Martin opp-level = <6>; 2622d5ce3fbSHector Martin clock-latency-ns = <28000>; 2632d5ce3fbSHector Martin }; 2642d5ce3fbSHector Martin opp07 { 2652d5ce3fbSHector Martin opp-hz = /bits/ 64 <2208000000>; 2662d5ce3fbSHector Martin opp-level = <7>; 2672d5ce3fbSHector Martin clock-latency-ns = <30000>; 2682d5ce3fbSHector Martin }; 2692d5ce3fbSHector Martin opp08 { 2702d5ce3fbSHector Martin opp-hz = /bits/ 64 <2400000000>; 2712d5ce3fbSHector Martin opp-level = <8>; 2722d5ce3fbSHector Martin clock-latency-ns = <33000>; 2732d5ce3fbSHector Martin }; 2742d5ce3fbSHector Martin opp09 { 2752d5ce3fbSHector Martin opp-hz = /bits/ 64 <2568000000>; 2762d5ce3fbSHector Martin opp-level = <9>; 2772d5ce3fbSHector Martin clock-latency-ns = <34000>; 2782d5ce3fbSHector Martin }; 2792d5ce3fbSHector Martin opp10 { 2802d5ce3fbSHector Martin opp-hz = /bits/ 64 <2724000000>; 2812d5ce3fbSHector Martin opp-level = <10>; 2822d5ce3fbSHector Martin clock-latency-ns = <36000>; 2832d5ce3fbSHector Martin }; 2842d5ce3fbSHector Martin opp11 { 2852d5ce3fbSHector Martin opp-hz = /bits/ 64 <2868000000>; 2862d5ce3fbSHector Martin opp-level = <11>; 2872d5ce3fbSHector Martin clock-latency-ns = <41000>; 2882d5ce3fbSHector Martin }; 2892d5ce3fbSHector Martin opp12 { 2902d5ce3fbSHector Martin opp-hz = /bits/ 64 <2988000000>; 2912d5ce3fbSHector Martin opp-level = <12>; 2922d5ce3fbSHector Martin clock-latency-ns = <42000>; 2932d5ce3fbSHector Martin }; 2942d5ce3fbSHector Martin opp13 { 2952d5ce3fbSHector Martin opp-hz = /bits/ 64 <3096000000>; 2962d5ce3fbSHector Martin opp-level = <13>; 2972d5ce3fbSHector Martin clock-latency-ns = <44000>; 2982d5ce3fbSHector Martin }; 2992d5ce3fbSHector Martin opp14 { 3002d5ce3fbSHector Martin opp-hz = /bits/ 64 <3204000000>; 3012d5ce3fbSHector Martin opp-level = <14>; 3022d5ce3fbSHector Martin clock-latency-ns = <46000>; 3032d5ce3fbSHector Martin }; 3042d5ce3fbSHector Martin /* Not available until CPU deep sleep is implemented */ 3052d5ce3fbSHector Martin#if 0 3062d5ce3fbSHector Martin opp15 { 3072d5ce3fbSHector Martin opp-hz = /bits/ 64 <3324000000>; 3082d5ce3fbSHector Martin opp-level = <15>; 3092d5ce3fbSHector Martin clock-latency-ns = <62000>; 3102d5ce3fbSHector Martin turbo-mode; 3112d5ce3fbSHector Martin }; 3122d5ce3fbSHector Martin opp16 { 3132d5ce3fbSHector Martin opp-hz = /bits/ 64 <3408000000>; 3142d5ce3fbSHector Martin opp-level = <16>; 3152d5ce3fbSHector Martin clock-latency-ns = <62000>; 3162d5ce3fbSHector Martin turbo-mode; 3172d5ce3fbSHector Martin }; 3182d5ce3fbSHector Martin opp17 { 3192d5ce3fbSHector Martin opp-hz = /bits/ 64 <3504000000>; 3202d5ce3fbSHector Martin opp-level = <17>; 3212d5ce3fbSHector Martin clock-latency-ns = <62000>; 3222d5ce3fbSHector Martin turbo-mode; 3232d5ce3fbSHector Martin }; 3242d5ce3fbSHector Martin#endif 3252d5ce3fbSHector Martin }; 3262d5ce3fbSHector Martin 3272d5ce3fbSHector Martin timer { 3282d5ce3fbSHector Martin compatible = "arm,armv8-timer"; 3292d5ce3fbSHector Martin interrupt-parent = <&aic>; 3302d5ce3fbSHector Martin interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; 3312d5ce3fbSHector Martin interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>, 3322d5ce3fbSHector Martin <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>, 3332d5ce3fbSHector Martin <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>, 3342d5ce3fbSHector Martin <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>; 3352d5ce3fbSHector Martin }; 3362d5ce3fbSHector Martin 3372d5ce3fbSHector Martin pmu-e { 3382d5ce3fbSHector Martin compatible = "apple,blizzard-pmu"; 3392d5ce3fbSHector Martin interrupt-parent = <&aic>; 3402d5ce3fbSHector Martin interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>; 3412d5ce3fbSHector Martin }; 3422d5ce3fbSHector Martin 3432d5ce3fbSHector Martin pmu-p { 3442d5ce3fbSHector Martin compatible = "apple,avalanche-pmu"; 3452d5ce3fbSHector Martin interrupt-parent = <&aic>; 3462d5ce3fbSHector Martin interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>; 3472d5ce3fbSHector Martin }; 3482d5ce3fbSHector Martin 3492d5ce3fbSHector Martin clkref: clock-ref { 3502d5ce3fbSHector Martin compatible = "fixed-clock"; 3512d5ce3fbSHector Martin #clock-cells = <0>; 3522d5ce3fbSHector Martin clock-frequency = <24000000>; 3532d5ce3fbSHector Martin clock-output-names = "clkref"; 3542d5ce3fbSHector Martin }; 3552d5ce3fbSHector Martin 3560a6d561cSJanne Grunau clk_200m: clock-200m { 3570a6d561cSJanne Grunau compatible = "fixed-clock"; 3580a6d561cSJanne Grunau #clock-cells = <0>; 3590a6d561cSJanne Grunau clock-frequency = <200000000>; 3600a6d561cSJanne Grunau clock-output-names = "clk_200m"; 3610a6d561cSJanne Grunau }; 3620a6d561cSJanne Grunau 3632d5ce3fbSHector Martin /* 3642d5ce3fbSHector Martin * This is a fabulated representation of the input clock 3652d5ce3fbSHector Martin * to NCO since we don't know the true clock tree. 3662d5ce3fbSHector Martin */ 3672d5ce3fbSHector Martin nco_clkref: clock-ref-nco { 3682d5ce3fbSHector Martin compatible = "fixed-clock"; 3692d5ce3fbSHector Martin #clock-cells = <0>; 3702d5ce3fbSHector Martin clock-output-names = "nco_ref"; 3712d5ce3fbSHector Martin }; 3722d5ce3fbSHector Martin 373*76f3ffebSSasha Finkelstein reserved-memory { 374*76f3ffebSSasha Finkelstein #address-cells = <2>; 375*76f3ffebSSasha Finkelstein #size-cells = <2>; 376*76f3ffebSSasha Finkelstein ranges; 377*76f3ffebSSasha Finkelstein 378*76f3ffebSSasha Finkelstein gpu_globals: globals { 379*76f3ffebSSasha Finkelstein status = "disabled"; 380*76f3ffebSSasha Finkelstein }; 381*76f3ffebSSasha Finkelstein 382*76f3ffebSSasha Finkelstein gpu_hw_cal_a: hw-cal-a { 383*76f3ffebSSasha Finkelstein status = "disabled"; 384*76f3ffebSSasha Finkelstein }; 385*76f3ffebSSasha Finkelstein 386*76f3ffebSSasha Finkelstein gpu_hw_cal_b: hw-cal-b { 387*76f3ffebSSasha Finkelstein status = "disabled"; 388*76f3ffebSSasha Finkelstein }; 389*76f3ffebSSasha Finkelstein 390*76f3ffebSSasha Finkelstein uat_handoff: uat-handoff { 391*76f3ffebSSasha Finkelstein status = "disabled"; 392*76f3ffebSSasha Finkelstein }; 393*76f3ffebSSasha Finkelstein 394*76f3ffebSSasha Finkelstein uat_pagetables: uat-pagetables { 395*76f3ffebSSasha Finkelstein status = "disabled"; 396*76f3ffebSSasha Finkelstein }; 397*76f3ffebSSasha Finkelstein 398*76f3ffebSSasha Finkelstein uat_ttbs: uat-ttbs { 399*76f3ffebSSasha Finkelstein status = "disabled"; 400*76f3ffebSSasha Finkelstein }; 401*76f3ffebSSasha Finkelstein }; 402*76f3ffebSSasha Finkelstein 4032d5ce3fbSHector Martin soc { 4042d5ce3fbSHector Martin compatible = "simple-bus"; 4052d5ce3fbSHector Martin #address-cells = <2>; 4062d5ce3fbSHector Martin #size-cells = <2>; 4072d5ce3fbSHector Martin 4082d5ce3fbSHector Martin ranges; 4092d5ce3fbSHector Martin nonposted-mmio; 4102d5ce3fbSHector Martin 411*76f3ffebSSasha Finkelstein gpu: gpu@206400000 { 412*76f3ffebSSasha Finkelstein compatible = "apple,agx-g14g"; 413*76f3ffebSSasha Finkelstein reg = <0x2 0x6400000 0 0x40000>, 414*76f3ffebSSasha Finkelstein <0x2 0x4000000 0 0x1000000>; 415*76f3ffebSSasha Finkelstein reg-names = "asc", "sgx"; 416*76f3ffebSSasha Finkelstein mboxes = <&agx_mbox>; 417*76f3ffebSSasha Finkelstein power-domains = <&ps_gfx>; 418*76f3ffebSSasha Finkelstein memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>, 419*76f3ffebSSasha Finkelstein <&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>; 420*76f3ffebSSasha Finkelstein memory-region-names = "ttbs", "pagetables", "handoff", 421*76f3ffebSSasha Finkelstein "hw-cal-a", "hw-cal-b", "globals"; 422*76f3ffebSSasha Finkelstein 423*76f3ffebSSasha Finkelstein apple,firmware-abi = <0 0 0>; 424*76f3ffebSSasha Finkelstein }; 425*76f3ffebSSasha Finkelstein 426*76f3ffebSSasha Finkelstein agx_mbox: mbox@206408000 { 427*76f3ffebSSasha Finkelstein compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4"; 428*76f3ffebSSasha Finkelstein reg = <0x2 0x6408000 0x0 0x4000>; 429*76f3ffebSSasha Finkelstein interrupt-parent = <&aic>; 430*76f3ffebSSasha Finkelstein interrupts = <AIC_IRQ 709 IRQ_TYPE_LEVEL_HIGH>, 431*76f3ffebSSasha Finkelstein <AIC_IRQ 710 IRQ_TYPE_LEVEL_HIGH>, 432*76f3ffebSSasha Finkelstein <AIC_IRQ 711 IRQ_TYPE_LEVEL_HIGH>, 433*76f3ffebSSasha Finkelstein <AIC_IRQ 712 IRQ_TYPE_LEVEL_HIGH>; 434*76f3ffebSSasha Finkelstein interrupt-names = "send-empty", "send-not-empty", 435*76f3ffebSSasha Finkelstein "recv-empty", "recv-not-empty"; 436*76f3ffebSSasha Finkelstein #mbox-cells = <0>; 437*76f3ffebSSasha Finkelstein }; 438*76f3ffebSSasha Finkelstein 4392d5ce3fbSHector Martin cpufreq_e: cpufreq@210e20000 { 4402d5ce3fbSHector Martin compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq"; 4412d5ce3fbSHector Martin reg = <0x2 0x10e20000 0 0x1000>; 4422d5ce3fbSHector Martin #performance-domain-cells = <0>; 4432d5ce3fbSHector Martin }; 4442d5ce3fbSHector Martin 4452d5ce3fbSHector Martin cpufreq_p: cpufreq@211e20000 { 4462d5ce3fbSHector Martin compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq"; 4472d5ce3fbSHector Martin reg = <0x2 0x11e20000 0 0x1000>; 4482d5ce3fbSHector Martin #performance-domain-cells = <0>; 4492d5ce3fbSHector Martin }; 4502d5ce3fbSHector Martin 4517275e795SSasha Finkelstein display_dfr: display-pipe@228200000 { 4527275e795SSasha Finkelstein compatible = "apple,t8112-display-pipe", "apple,h7-display-pipe"; 4537275e795SSasha Finkelstein reg = <0x2 0x28200000 0x0 0xc000>, 4547275e795SSasha Finkelstein <0x2 0x28400000 0x0 0x4000>; 4557275e795SSasha Finkelstein reg-names = "be", "fe"; 4567275e795SSasha Finkelstein power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>; 4577275e795SSasha Finkelstein interrupt-parent = <&aic>; 4587275e795SSasha Finkelstein interrupts = <AIC_IRQ 614 IRQ_TYPE_LEVEL_HIGH>, 4597275e795SSasha Finkelstein <AIC_IRQ 618 IRQ_TYPE_LEVEL_HIGH>; 4607275e795SSasha Finkelstein interrupt-names = "be", "fe"; 4617275e795SSasha Finkelstein iommus = <&displaydfr_dart 0>; 4627275e795SSasha Finkelstein status = "disabled"; 4637275e795SSasha Finkelstein 4647275e795SSasha Finkelstein port { 4657275e795SSasha Finkelstein dfr_adp_out_mipi: endpoint { 4667275e795SSasha Finkelstein remote-endpoint = <&dfr_mipi_in_adp>; 4677275e795SSasha Finkelstein }; 4687275e795SSasha Finkelstein }; 4697275e795SSasha Finkelstein }; 4707275e795SSasha Finkelstein 4717275e795SSasha Finkelstein displaydfr_dart: iommu@228304000 { 4727275e795SSasha Finkelstein compatible = "apple,t8110-dart"; 4737275e795SSasha Finkelstein reg = <0x2 0x28304000 0x0 0x4000>; 4747275e795SSasha Finkelstein interrupt-parent = <&aic>; 4757275e795SSasha Finkelstein interrupts = <AIC_IRQ 616 IRQ_TYPE_LEVEL_HIGH>; 4767275e795SSasha Finkelstein #iommu-cells = <1>; 4777275e795SSasha Finkelstein power-domains = <&ps_dispdfr_fe>; 4787275e795SSasha Finkelstein status = "disabled"; 4797275e795SSasha Finkelstein }; 4807275e795SSasha Finkelstein 4817275e795SSasha Finkelstein displaydfr_mipi: dsi@228600000 { 4827275e795SSasha Finkelstein compatible = "apple,t8112-display-pipe-mipi", "apple,h7-display-pipe-mipi"; 4837275e795SSasha Finkelstein reg = <0x2 0x28600000 0x0 0x100000>; 4847275e795SSasha Finkelstein power-domains = <&ps_mipi_dsi>; 4857275e795SSasha Finkelstein status = "disabled"; 4867275e795SSasha Finkelstein 4877275e795SSasha Finkelstein ports { 4887275e795SSasha Finkelstein #address-cells = <1>; 4897275e795SSasha Finkelstein #size-cells = <0>; 4907275e795SSasha Finkelstein 4917275e795SSasha Finkelstein dfr_mipi_in: port@0 { 4927275e795SSasha Finkelstein reg = <0>; 4937275e795SSasha Finkelstein #address-cells = <1>; 4947275e795SSasha Finkelstein #size-cells = <0>; 4957275e795SSasha Finkelstein 4967275e795SSasha Finkelstein dfr_mipi_in_adp: endpoint@0 { 4977275e795SSasha Finkelstein reg = <0>; 4987275e795SSasha Finkelstein remote-endpoint = <&dfr_adp_out_mipi>; 4997275e795SSasha Finkelstein }; 5007275e795SSasha Finkelstein }; 5017275e795SSasha Finkelstein 5027275e795SSasha Finkelstein dfr_mipi_out: port@1 { 5037275e795SSasha Finkelstein reg = <1>; 5047275e795SSasha Finkelstein #address-cells = <1>; 5057275e795SSasha Finkelstein #size-cells = <0>; 5067275e795SSasha Finkelstein }; 5077275e795SSasha Finkelstein }; 5087275e795SSasha Finkelstein }; 5097275e795SSasha Finkelstein 5102d5ce3fbSHector Martin sio_dart: iommu@235004000 { 5112d5ce3fbSHector Martin compatible = "apple,t8110-dart"; 5122d5ce3fbSHector Martin reg = <0x2 0x35004000 0x0 0x4000>; 5132d5ce3fbSHector Martin interrupt-parent = <&aic>; 5142d5ce3fbSHector Martin interrupts = <AIC_IRQ 769 IRQ_TYPE_LEVEL_HIGH>; 5152d5ce3fbSHector Martin #iommu-cells = <1>; 5162d5ce3fbSHector Martin power-domains = <&ps_sio_cpu>; 5172d5ce3fbSHector Martin }; 5182d5ce3fbSHector Martin 5192d5ce3fbSHector Martin i2c0: i2c@235010000 { 5202d5ce3fbSHector Martin compatible = "apple,t8112-i2c", "apple,i2c"; 5212d5ce3fbSHector Martin reg = <0x2 0x35010000 0x0 0x4000>; 5222d5ce3fbSHector Martin clocks = <&clkref>; 5232d5ce3fbSHector Martin interrupt-parent = <&aic>; 5242d5ce3fbSHector Martin interrupts = <AIC_IRQ 761 IRQ_TYPE_LEVEL_HIGH>; 5252d5ce3fbSHector Martin pinctrl-0 = <&i2c0_pins>; 5262d5ce3fbSHector Martin pinctrl-names = "default"; 5272d5ce3fbSHector Martin #address-cells = <0x1>; 5282d5ce3fbSHector Martin #size-cells = <0x0>; 5292d5ce3fbSHector Martin power-domains = <&ps_i2c0>; 5302d5ce3fbSHector Martin status = "disabled"; 5312d5ce3fbSHector Martin }; 5322d5ce3fbSHector Martin 5332d5ce3fbSHector Martin i2c1: i2c@235014000 { 5342d5ce3fbSHector Martin compatible = "apple,t8112-i2c", "apple,i2c"; 5352d5ce3fbSHector Martin reg = <0x2 0x35014000 0x0 0x4000>; 5362d5ce3fbSHector Martin clocks = <&clkref>; 5372d5ce3fbSHector Martin interrupt-parent = <&aic>; 5382d5ce3fbSHector Martin interrupts = <AIC_IRQ 762 IRQ_TYPE_LEVEL_HIGH>; 5392d5ce3fbSHector Martin pinctrl-0 = <&i2c1_pins>; 5402d5ce3fbSHector Martin pinctrl-names = "default"; 5412d5ce3fbSHector Martin #address-cells = <0x1>; 5422d5ce3fbSHector Martin #size-cells = <0x0>; 5432d5ce3fbSHector Martin power-domains = <&ps_i2c1>; 5442d5ce3fbSHector Martin status = "disabled"; 5452d5ce3fbSHector Martin }; 5462d5ce3fbSHector Martin 5472d5ce3fbSHector Martin i2c2: i2c@235018000 { 5482d5ce3fbSHector Martin compatible = "apple,t8112-i2c", "apple,i2c"; 5492d5ce3fbSHector Martin reg = <0x2 0x35018000 0x0 0x4000>; 5502d5ce3fbSHector Martin clocks = <&clkref>; 5512d5ce3fbSHector Martin interrupt-parent = <&aic>; 5522d5ce3fbSHector Martin interrupts = <AIC_IRQ 763 IRQ_TYPE_LEVEL_HIGH>; 5532d5ce3fbSHector Martin pinctrl-0 = <&i2c2_pins>; 5542d5ce3fbSHector Martin pinctrl-names = "default"; 5552d5ce3fbSHector Martin #address-cells = <0x1>; 5562d5ce3fbSHector Martin #size-cells = <0x0>; 5572d5ce3fbSHector Martin power-domains = <&ps_i2c2>; 5582d5ce3fbSHector Martin status = "disabled"; 5592d5ce3fbSHector Martin }; 5602d5ce3fbSHector Martin 5612d5ce3fbSHector Martin i2c3: i2c@23501c000 { 5622d5ce3fbSHector Martin compatible = "apple,t8112-i2c", "apple,i2c"; 5632d5ce3fbSHector Martin reg = <0x2 0x3501c000 0x0 0x4000>; 5642d5ce3fbSHector Martin clocks = <&clkref>; 5652d5ce3fbSHector Martin interrupt-parent = <&aic>; 5662d5ce3fbSHector Martin interrupts = <AIC_IRQ 764 IRQ_TYPE_LEVEL_HIGH>; 5672d5ce3fbSHector Martin pinctrl-0 = <&i2c3_pins>; 5682d5ce3fbSHector Martin pinctrl-names = "default"; 5692d5ce3fbSHector Martin #address-cells = <0x1>; 5702d5ce3fbSHector Martin #size-cells = <0x0>; 5712d5ce3fbSHector Martin power-domains = <&ps_i2c3>; 5722d5ce3fbSHector Martin status = "disabled"; 5732d5ce3fbSHector Martin }; 5742d5ce3fbSHector Martin 5752d5ce3fbSHector Martin i2c4: i2c@235020000 { 5762d5ce3fbSHector Martin compatible = "apple,t8112-i2c", "apple,i2c"; 5772d5ce3fbSHector Martin reg = <0x2 0x35020000 0x0 0x4000>; 5782d5ce3fbSHector Martin clocks = <&clkref>; 5792d5ce3fbSHector Martin interrupt-parent = <&aic>; 5802d5ce3fbSHector Martin interrupts = <AIC_IRQ 765 IRQ_TYPE_LEVEL_HIGH>; 5812d5ce3fbSHector Martin pinctrl-0 = <&i2c4_pins>; 5822d5ce3fbSHector Martin pinctrl-names = "default"; 5832d5ce3fbSHector Martin #address-cells = <0x1>; 5842d5ce3fbSHector Martin #size-cells = <0x0>; 5852d5ce3fbSHector Martin power-domains = <&ps_i2c4>; 5862d5ce3fbSHector Martin status = "disabled"; 5872d5ce3fbSHector Martin }; 5882d5ce3fbSHector Martin 58950aa09acSSasha Finkelstein fpwm1: pwm@235044000 { 59050aa09acSSasha Finkelstein compatible = "apple,t8112-fpwm", "apple,s5l-fpwm"; 59150aa09acSSasha Finkelstein reg = <0x2 0x35044000 0x0 0x4000>; 59250aa09acSSasha Finkelstein power-domains = <&ps_fpwm1>; 59350aa09acSSasha Finkelstein clocks = <&clkref>; 59450aa09acSSasha Finkelstein #pwm-cells = <2>; 59550aa09acSSasha Finkelstein status = "disabled"; 59650aa09acSSasha Finkelstein }; 59750aa09acSSasha Finkelstein 5980a6d561cSJanne Grunau spi1: spi@235104000 { 5990a6d561cSJanne Grunau compatible = "apple,t8112-spi", "apple,spi"; 6000a6d561cSJanne Grunau reg = <0x2 0x35104000 0x0 0x4000>; 6010a6d561cSJanne Grunau interrupt-parent = <&aic>; 6020a6d561cSJanne Grunau interrupts = <AIC_IRQ 749 IRQ_TYPE_LEVEL_HIGH>; 6030a6d561cSJanne Grunau clocks = <&clk_200m>; 6040a6d561cSJanne Grunau pinctrl-0 = <&spi1_pins>; 6050a6d561cSJanne Grunau pinctrl-names = "default"; 6060a6d561cSJanne Grunau power-domains = <&ps_spi1>; 6070a6d561cSJanne Grunau #address-cells = <1>; 6080a6d561cSJanne Grunau #size-cells = <0>; 6090a6d561cSJanne Grunau status = "disabled"; 6100a6d561cSJanne Grunau }; 6110a6d561cSJanne Grunau 6120a6d561cSJanne Grunau spi3: spi@23510c000 { 6130a6d561cSJanne Grunau compatible = "apple,t8112-spi", "apple,spi"; 6140a6d561cSJanne Grunau reg = <0x2 0x3510c000 0x0 0x4000>; 6150a6d561cSJanne Grunau interrupt-parent = <&aic>; 6160a6d561cSJanne Grunau interrupts = <AIC_IRQ 751 IRQ_TYPE_LEVEL_HIGH>; 6170a6d561cSJanne Grunau clocks = <&clkref>; 6180a6d561cSJanne Grunau pinctrl-0 = <&spi3_pins>; 6190a6d561cSJanne Grunau pinctrl-names = "default"; 6200a6d561cSJanne Grunau power-domains = <&ps_spi3>; 6210a6d561cSJanne Grunau #address-cells = <1>; 6220a6d561cSJanne Grunau #size-cells = <0>; 62344db68deSSasha Finkelstein status = "disabled"; /* only used in J493 */ 6240a6d561cSJanne Grunau }; 6250a6d561cSJanne Grunau 6262d5ce3fbSHector Martin serial0: serial@235200000 { 6272d5ce3fbSHector Martin compatible = "apple,s5l-uart"; 6282d5ce3fbSHector Martin reg = <0x2 0x35200000 0x0 0x1000>; 6292d5ce3fbSHector Martin reg-io-width = <4>; 6302d5ce3fbSHector Martin interrupt-parent = <&aic>; 6312d5ce3fbSHector Martin interrupts = <AIC_IRQ 739 IRQ_TYPE_LEVEL_HIGH>; 6322d5ce3fbSHector Martin /* 6332d5ce3fbSHector Martin * TODO: figure out the clocking properly, there may 6342d5ce3fbSHector Martin * be a third selectable clock. 6352d5ce3fbSHector Martin */ 6362d5ce3fbSHector Martin clocks = <&clkref>, <&clkref>; 6372d5ce3fbSHector Martin clock-names = "uart", "clk_uart_baud0"; 6382d5ce3fbSHector Martin power-domains = <&ps_uart0>; 6392d5ce3fbSHector Martin status = "disabled"; 6402d5ce3fbSHector Martin }; 6412d5ce3fbSHector Martin 6422d5ce3fbSHector Martin serial2: serial@235208000 { 6432d5ce3fbSHector Martin compatible = "apple,s5l-uart"; 6442d5ce3fbSHector Martin reg = <0x2 0x35208000 0x0 0x1000>; 6452d5ce3fbSHector Martin reg-io-width = <4>; 6462d5ce3fbSHector Martin interrupt-parent = <&aic>; 6472d5ce3fbSHector Martin interrupts = <AIC_IRQ 741 IRQ_TYPE_LEVEL_HIGH>; 6482d5ce3fbSHector Martin clocks = <&clkref>, <&clkref>; 6492d5ce3fbSHector Martin clock-names = "uart", "clk_uart_baud0"; 6502d5ce3fbSHector Martin power-domains = <&ps_uart2>; 6512d5ce3fbSHector Martin status = "disabled"; 6522d5ce3fbSHector Martin }; 6532d5ce3fbSHector Martin 6542d5ce3fbSHector Martin admac: dma-controller@238200000 { 6552d5ce3fbSHector Martin compatible = "apple,t8112-admac", "apple,admac"; 6562d5ce3fbSHector Martin reg = <0x2 0x38200000 0x0 0x34000>; 6572d5ce3fbSHector Martin dma-channels = <24>; 6582d5ce3fbSHector Martin interrupts-extended = <0>, 6592d5ce3fbSHector Martin <&aic AIC_IRQ 760 IRQ_TYPE_LEVEL_HIGH>, 6602d5ce3fbSHector Martin <0>, 6612d5ce3fbSHector Martin <0>; 6622d5ce3fbSHector Martin #dma-cells = <1>; 6632d5ce3fbSHector Martin iommus = <&sio_dart 2>; 6642d5ce3fbSHector Martin power-domains = <&ps_sio_adma>; 6652d5ce3fbSHector Martin resets = <&ps_audio_p>; 6662d5ce3fbSHector Martin }; 6672d5ce3fbSHector Martin 6682d5ce3fbSHector Martin mca: i2s@238400000 { 6692d5ce3fbSHector Martin compatible = "apple,t8112-mca", "apple,mca"; 6702d5ce3fbSHector Martin reg = <0x2 0x38400000 0x0 0x18000>, 6712d5ce3fbSHector Martin <0x2 0x38300000 0x0 0x30000>; 6722d5ce3fbSHector Martin 6732d5ce3fbSHector Martin interrupt-parent = <&aic>; 6742d5ce3fbSHector Martin interrupts = <AIC_IRQ 753 IRQ_TYPE_LEVEL_HIGH>, 6752d5ce3fbSHector Martin <AIC_IRQ 754 IRQ_TYPE_LEVEL_HIGH>, 6762d5ce3fbSHector Martin <AIC_IRQ 755 IRQ_TYPE_LEVEL_HIGH>, 6772d5ce3fbSHector Martin <AIC_IRQ 756 IRQ_TYPE_LEVEL_HIGH>, 6782d5ce3fbSHector Martin <AIC_IRQ 757 IRQ_TYPE_LEVEL_HIGH>, 6792d5ce3fbSHector Martin <AIC_IRQ 758 IRQ_TYPE_LEVEL_HIGH>; 6802d5ce3fbSHector Martin 6812d5ce3fbSHector Martin resets = <&ps_audio_p>; 6822d5ce3fbSHector Martin clocks = <&nco 0>, <&nco 1>, <&nco 2>, 6832d5ce3fbSHector Martin <&nco 3>, <&nco 4>, <&nco 4>; 6842d5ce3fbSHector Martin power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>, 6852d5ce3fbSHector Martin <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>; 6862d5ce3fbSHector Martin dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>, 6872d5ce3fbSHector Martin <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>, 6882d5ce3fbSHector Martin <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>, 6892d5ce3fbSHector Martin <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>, 6902d5ce3fbSHector Martin <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>, 6912d5ce3fbSHector Martin <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>; 6922d5ce3fbSHector Martin dma-names = "tx0a", "rx0a", "tx0b", "rx0b", 6932d5ce3fbSHector Martin "tx1a", "rx1a", "tx1b", "rx1b", 6942d5ce3fbSHector Martin "tx2a", "rx2a", "tx2b", "rx2b", 6952d5ce3fbSHector Martin "tx3a", "rx3a", "tx3b", "rx3b", 6962d5ce3fbSHector Martin "tx4a", "rx4a", "tx4b", "rx4b", 6972d5ce3fbSHector Martin "tx5a", "rx5a", "tx5b", "rx5b"; 6982d5ce3fbSHector Martin 6992d5ce3fbSHector Martin #sound-dai-cells = <1>; 7002d5ce3fbSHector Martin }; 7012d5ce3fbSHector Martin 7022d5ce3fbSHector Martin nco: clock-controller@23b044000 { 7032d5ce3fbSHector Martin compatible = "apple,t8112-nco", "apple,nco"; 7042d5ce3fbSHector Martin reg = <0x2 0x3b044000 0x0 0x14000>; 7052d5ce3fbSHector Martin clocks = <&nco_clkref>; 7062d5ce3fbSHector Martin #clock-cells = <1>; 7072d5ce3fbSHector Martin }; 7082d5ce3fbSHector Martin 7092d5ce3fbSHector Martin aic: interrupt-controller@23b0c0000 { 7102d5ce3fbSHector Martin compatible = "apple,t8112-aic", "apple,aic2"; 7112d5ce3fbSHector Martin #interrupt-cells = <3>; 7122d5ce3fbSHector Martin interrupt-controller; 7132d5ce3fbSHector Martin reg = <0x2 0x3b0c0000 0x0 0x8000>, 7142d5ce3fbSHector Martin <0x2 0x3b0c8000 0x0 0x4>; 7152d5ce3fbSHector Martin reg-names = "core", "event"; 7162d5ce3fbSHector Martin power-domains = <&ps_aic>; 7172d5ce3fbSHector Martin 7182d5ce3fbSHector Martin affinities { 7192d5ce3fbSHector Martin e-core-pmu-affinity { 7202d5ce3fbSHector Martin apple,fiq-index = <AIC_CPU_PMU_E>; 7212d5ce3fbSHector Martin cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>; 7222d5ce3fbSHector Martin }; 7232d5ce3fbSHector Martin 7242d5ce3fbSHector Martin p-core-pmu-affinity { 7252d5ce3fbSHector Martin apple,fiq-index = <AIC_CPU_PMU_P>; 7262d5ce3fbSHector Martin cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>; 7272d5ce3fbSHector Martin }; 7282d5ce3fbSHector Martin }; 7292d5ce3fbSHector Martin }; 7302d5ce3fbSHector Martin 7312d5ce3fbSHector Martin pmgr: power-management@23b700000 { 7322d5ce3fbSHector Martin compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 7332d5ce3fbSHector Martin #address-cells = <1>; 7342d5ce3fbSHector Martin #size-cells = <1>; 7352d5ce3fbSHector Martin reg = <0x2 0x3b700000 0 0x14000>; 7362d5ce3fbSHector Martin /* child nodes are added in t8103-pmgr.dtsi */ 7372d5ce3fbSHector Martin }; 7382d5ce3fbSHector Martin 7392d5ce3fbSHector Martin pinctrl_ap: pinctrl@23c100000 { 7402d5ce3fbSHector Martin compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 7412d5ce3fbSHector Martin reg = <0x2 0x3c100000 0x0 0x100000>; 7422d5ce3fbSHector Martin power-domains = <&ps_gpio>; 7432d5ce3fbSHector Martin 7442d5ce3fbSHector Martin gpio-controller; 7452d5ce3fbSHector Martin #gpio-cells = <2>; 7462d5ce3fbSHector Martin gpio-ranges = <&pinctrl_ap 0 0 213>; 7472d5ce3fbSHector Martin apple,npins = <213>; 7482d5ce3fbSHector Martin 7492d5ce3fbSHector Martin interrupt-controller; 7502d5ce3fbSHector Martin #interrupt-cells = <2>; 7512d5ce3fbSHector Martin interrupt-parent = <&aic>; 7522d5ce3fbSHector Martin interrupts = <AIC_IRQ 199 IRQ_TYPE_LEVEL_HIGH>, 7532d5ce3fbSHector Martin <AIC_IRQ 200 IRQ_TYPE_LEVEL_HIGH>, 7542d5ce3fbSHector Martin <AIC_IRQ 201 IRQ_TYPE_LEVEL_HIGH>, 7552d5ce3fbSHector Martin <AIC_IRQ 202 IRQ_TYPE_LEVEL_HIGH>, 7562d5ce3fbSHector Martin <AIC_IRQ 203 IRQ_TYPE_LEVEL_HIGH>, 7572d5ce3fbSHector Martin <AIC_IRQ 204 IRQ_TYPE_LEVEL_HIGH>, 7582d5ce3fbSHector Martin <AIC_IRQ 205 IRQ_TYPE_LEVEL_HIGH>; 7592d5ce3fbSHector Martin 7602d5ce3fbSHector Martin i2c0_pins: i2c0-pins { 7612d5ce3fbSHector Martin pinmux = <APPLE_PINMUX(111, 1)>, 7622d5ce3fbSHector Martin <APPLE_PINMUX(110, 1)>; 7632d5ce3fbSHector Martin }; 7642d5ce3fbSHector Martin 7652d5ce3fbSHector Martin i2c1_pins: i2c1-pins { 7662d5ce3fbSHector Martin pinmux = <APPLE_PINMUX(113, 1)>, 7672d5ce3fbSHector Martin <APPLE_PINMUX(112, 1)>; 7682d5ce3fbSHector Martin }; 7692d5ce3fbSHector Martin 7702d5ce3fbSHector Martin i2c2_pins: i2c2-pins { 7712d5ce3fbSHector Martin pinmux = <APPLE_PINMUX(87, 1)>, 7722d5ce3fbSHector Martin <APPLE_PINMUX(86, 1)>; 7732d5ce3fbSHector Martin }; 7742d5ce3fbSHector Martin 7752d5ce3fbSHector Martin i2c3_pins: i2c3-pins { 7762d5ce3fbSHector Martin pinmux = <APPLE_PINMUX(54, 1)>, 7772d5ce3fbSHector Martin <APPLE_PINMUX(53, 1)>; 7782d5ce3fbSHector Martin }; 7792d5ce3fbSHector Martin 7802d5ce3fbSHector Martin i2c4_pins: i2c4-pins { 7812d5ce3fbSHector Martin pinmux = <APPLE_PINMUX(131, 1)>, 7822d5ce3fbSHector Martin <APPLE_PINMUX(130, 1)>; 7832d5ce3fbSHector Martin }; 7842d5ce3fbSHector Martin 7850a6d561cSJanne Grunau spi1_pins: spi1-pins { 7862d5ce3fbSHector Martin pinmux = <APPLE_PINMUX(46, 1)>, 7872d5ce3fbSHector Martin <APPLE_PINMUX(47, 1)>, 7882d5ce3fbSHector Martin <APPLE_PINMUX(48, 1)>, 7892d5ce3fbSHector Martin <APPLE_PINMUX(49, 1)>; 7902d5ce3fbSHector Martin }; 7912d5ce3fbSHector Martin 7920a6d561cSJanne Grunau spi3_pins: spi3-pins { 7930a6d561cSJanne Grunau pinmux = <APPLE_PINMUX(93, 1)>, 7940a6d561cSJanne Grunau <APPLE_PINMUX(94, 1)>, 7950a6d561cSJanne Grunau <APPLE_PINMUX(95, 1)>, 7960a6d561cSJanne Grunau <APPLE_PINMUX(96, 1)>; 7970a6d561cSJanne Grunau }; 7980a6d561cSJanne Grunau 7992d5ce3fbSHector Martin pcie_pins: pcie-pins { 8002d5ce3fbSHector Martin pinmux = <APPLE_PINMUX(162, 1)>, 8012d5ce3fbSHector Martin <APPLE_PINMUX(163, 1)>, 8022d5ce3fbSHector Martin <APPLE_PINMUX(164, 1)>; 8032d5ce3fbSHector Martin // TODO: 1 more CLKREQs 8042d5ce3fbSHector Martin }; 8052d5ce3fbSHector Martin }; 8062d5ce3fbSHector Martin 8072d5ce3fbSHector Martin pinctrl_nub: pinctrl@23d1f0000 { 8082d5ce3fbSHector Martin compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 8092d5ce3fbSHector Martin reg = <0x2 0x3d1f0000 0x0 0x4000>; 8102d5ce3fbSHector Martin power-domains = <&ps_nub_gpio>; 8112d5ce3fbSHector Martin 8122d5ce3fbSHector Martin gpio-controller; 8132d5ce3fbSHector Martin #gpio-cells = <2>; 8142d5ce3fbSHector Martin gpio-ranges = <&pinctrl_nub 0 0 24>; 8152d5ce3fbSHector Martin apple,npins = <24>; 8162d5ce3fbSHector Martin 8172d5ce3fbSHector Martin interrupt-controller; 8182d5ce3fbSHector Martin #interrupt-cells = <2>; 8192d5ce3fbSHector Martin interrupt-parent = <&aic>; 8202d5ce3fbSHector Martin interrupts = <AIC_IRQ 371 IRQ_TYPE_LEVEL_HIGH>, 8212d5ce3fbSHector Martin <AIC_IRQ 372 IRQ_TYPE_LEVEL_HIGH>, 8222d5ce3fbSHector Martin <AIC_IRQ 373 IRQ_TYPE_LEVEL_HIGH>, 8232d5ce3fbSHector Martin <AIC_IRQ 374 IRQ_TYPE_LEVEL_HIGH>, 8242d5ce3fbSHector Martin <AIC_IRQ 375 IRQ_TYPE_LEVEL_HIGH>, 8252d5ce3fbSHector Martin <AIC_IRQ 376 IRQ_TYPE_LEVEL_HIGH>, 8262d5ce3fbSHector Martin <AIC_IRQ 377 IRQ_TYPE_LEVEL_HIGH>; 8272d5ce3fbSHector Martin }; 8282d5ce3fbSHector Martin 8292d5ce3fbSHector Martin pmgr_mini: power-management@23d280000 { 8302d5ce3fbSHector Martin compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 8312d5ce3fbSHector Martin #address-cells = <1>; 8322d5ce3fbSHector Martin #size-cells = <1>; 8332d5ce3fbSHector Martin reg = <0x2 0x3d280000 0 0x4000>; 8342d5ce3fbSHector Martin /* child nodes are added in t8103-pmgr.dtsi */ 8352d5ce3fbSHector Martin }; 8362d5ce3fbSHector Martin 8372d5ce3fbSHector Martin wdt: watchdog@23d2b0000 { 8382d5ce3fbSHector Martin compatible = "apple,t8112-wdt", "apple,wdt"; 8392d5ce3fbSHector Martin reg = <0x2 0x3d2b0000 0x0 0x4000>; 8402d5ce3fbSHector Martin clocks = <&clkref>; 8412d5ce3fbSHector Martin interrupt-parent = <&aic>; 8422d5ce3fbSHector Martin interrupts = <AIC_IRQ 379 IRQ_TYPE_LEVEL_HIGH>; 8432d5ce3fbSHector Martin }; 8442d5ce3fbSHector Martin 8452e0e70c9SSasha Finkelstein nub_spmi: spmi@23d714000 { 8462e0e70c9SSasha Finkelstein compatible = "apple,t8112-spmi", "apple,spmi"; 8472e0e70c9SSasha Finkelstein reg = <0x2 0x3d714000 0x0 0x100>; 8482e0e70c9SSasha Finkelstein #address-cells = <2>; 8492e0e70c9SSasha Finkelstein #size-cells = <0>; 850d8bf8208SHector Martin 851d8bf8208SHector Martin pmic1: pmic@e { 852d8bf8208SHector Martin compatible = "apple,stowe-pmic", "apple,spmi-nvmem"; 853d8bf8208SHector Martin reg = <0xe SPMI_USID>; 854d8bf8208SHector Martin 855d8bf8208SHector Martin nvmem-layout { 856d8bf8208SHector Martin compatible = "fixed-layout"; 857d8bf8208SHector Martin #address-cells = <1>; 858d8bf8208SHector Martin #size-cells = <1>; 859d8bf8208SHector Martin 860d8bf8208SHector Martin fault_shadow: fault-shadow@867b { 861d8bf8208SHector Martin reg = <0x867b 0x10>; 862d8bf8208SHector Martin }; 863d8bf8208SHector Martin 864d8bf8208SHector Martin socd: socd@8b00 { 865d8bf8208SHector Martin reg = <0x8b00 0x400>; 866d8bf8208SHector Martin }; 867d8bf8208SHector Martin 868d8bf8208SHector Martin boot_stage: boot-stage@f701 { 869d8bf8208SHector Martin reg = <0xf701 0x1>; 870d8bf8208SHector Martin }; 871d8bf8208SHector Martin 8726aaf36bbSSven Peter boot_error_count: boot-error-count@f702,0 { 873d8bf8208SHector Martin reg = <0xf702 0x1>; 874d8bf8208SHector Martin bits = <0 4>; 875d8bf8208SHector Martin }; 876d8bf8208SHector Martin 8776aaf36bbSSven Peter panic_count: panic-count@f702,4 { 878d8bf8208SHector Martin reg = <0xf702 0x1>; 879d8bf8208SHector Martin bits = <4 4>; 880d8bf8208SHector Martin }; 881d8bf8208SHector Martin 882d8bf8208SHector Martin boot_error_stage: boot-error-stage@f703 { 883d8bf8208SHector Martin reg = <0xf703 0x1>; 884d8bf8208SHector Martin }; 885d8bf8208SHector Martin 8866aaf36bbSSven Peter shutdown_flag: shutdown-flag@f70f,3 { 887d8bf8208SHector Martin reg = <0xf70f 0x1>; 888d8bf8208SHector Martin bits = <3 1>; 889d8bf8208SHector Martin }; 890d8bf8208SHector Martin 891d8bf8208SHector Martin pm_setting: pm-setting@f801 { 892d8bf8208SHector Martin reg = <0xf801 0x1>; 893d8bf8208SHector Martin }; 894d8bf8208SHector Martin 895d8bf8208SHector Martin rtc_offset: rtc-offset@f900 { 896d8bf8208SHector Martin reg = <0xf900 0x6>; 897d8bf8208SHector Martin }; 898d8bf8208SHector Martin }; 899d8bf8208SHector Martin }; 9002e0e70c9SSasha Finkelstein }; 9012e0e70c9SSasha Finkelstein 9022d5ce3fbSHector Martin pinctrl_smc: pinctrl@23e820000 { 9032d5ce3fbSHector Martin compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 9042d5ce3fbSHector Martin reg = <0x2 0x3e820000 0x0 0x4000>; 9052d5ce3fbSHector Martin 9062d5ce3fbSHector Martin gpio-controller; 9072d5ce3fbSHector Martin #gpio-cells = <2>; 9082d5ce3fbSHector Martin gpio-ranges = <&pinctrl_smc 0 0 18>; 9092d5ce3fbSHector Martin apple,npins = <18>; 9102d5ce3fbSHector Martin 9112d5ce3fbSHector Martin interrupt-controller; 9122d5ce3fbSHector Martin #interrupt-cells = <2>; 9132d5ce3fbSHector Martin interrupt-parent = <&aic>; 9142d5ce3fbSHector Martin interrupts = <AIC_IRQ 490 IRQ_TYPE_LEVEL_HIGH>, 9152d5ce3fbSHector Martin <AIC_IRQ 491 IRQ_TYPE_LEVEL_HIGH>, 9162d5ce3fbSHector Martin <AIC_IRQ 492 IRQ_TYPE_LEVEL_HIGH>, 9172d5ce3fbSHector Martin <AIC_IRQ 493 IRQ_TYPE_LEVEL_HIGH>, 9182d5ce3fbSHector Martin <AIC_IRQ 494 IRQ_TYPE_LEVEL_HIGH>, 9192d5ce3fbSHector Martin <AIC_IRQ 495 IRQ_TYPE_LEVEL_HIGH>, 9202d5ce3fbSHector Martin <AIC_IRQ 496 IRQ_TYPE_LEVEL_HIGH>; 9212d5ce3fbSHector Martin }; 9222d5ce3fbSHector Martin 9232d5ce3fbSHector Martin pinctrl_aop: pinctrl@24a820000 { 9242d5ce3fbSHector Martin compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 9252d5ce3fbSHector Martin reg = <0x2 0x4a820000 0x0 0x4000>; 9262d5ce3fbSHector Martin 9272d5ce3fbSHector Martin gpio-controller; 9282d5ce3fbSHector Martin #gpio-cells = <2>; 9292d5ce3fbSHector Martin gpio-ranges = <&pinctrl_aop 0 0 54>; 9302d5ce3fbSHector Martin apple,npins = <54>; 9312d5ce3fbSHector Martin 9322d5ce3fbSHector Martin interrupt-controller; 9332d5ce3fbSHector Martin #interrupt-cells = <2>; 9342d5ce3fbSHector Martin interrupt-parent = <&aic>; 9352d5ce3fbSHector Martin interrupts = <AIC_IRQ 301 IRQ_TYPE_LEVEL_HIGH>, 9362d5ce3fbSHector Martin <AIC_IRQ 302 IRQ_TYPE_LEVEL_HIGH>, 9372d5ce3fbSHector Martin <AIC_IRQ 303 IRQ_TYPE_LEVEL_HIGH>, 9382d5ce3fbSHector Martin <AIC_IRQ 304 IRQ_TYPE_LEVEL_HIGH>, 9392d5ce3fbSHector Martin <AIC_IRQ 305 IRQ_TYPE_LEVEL_HIGH>, 9402d5ce3fbSHector Martin <AIC_IRQ 306 IRQ_TYPE_LEVEL_HIGH>, 9412d5ce3fbSHector Martin <AIC_IRQ 307 IRQ_TYPE_LEVEL_HIGH>; 9422d5ce3fbSHector Martin }; 9432d5ce3fbSHector Martin 9442d5ce3fbSHector Martin ans_mbox: mbox@277408000 { 9452d5ce3fbSHector Martin compatible = "apple,t8112-asc-mailbox", "apple,asc-mailbox-v4"; 9462d5ce3fbSHector Martin reg = <0x2 0x77408000 0x0 0x4000>; 9472d5ce3fbSHector Martin interrupt-parent = <&aic>; 9482d5ce3fbSHector Martin interrupts = <AIC_IRQ 717 IRQ_TYPE_LEVEL_HIGH>, 9492d5ce3fbSHector Martin <AIC_IRQ 718 IRQ_TYPE_LEVEL_HIGH>, 9502d5ce3fbSHector Martin <AIC_IRQ 719 IRQ_TYPE_LEVEL_HIGH>, 9512d5ce3fbSHector Martin <AIC_IRQ 720 IRQ_TYPE_LEVEL_HIGH>; 9522d5ce3fbSHector Martin interrupt-names = "send-empty", "send-not-empty", 9532d5ce3fbSHector Martin "recv-empty", "recv-not-empty"; 9542d5ce3fbSHector Martin #mbox-cells = <0>; 9552d5ce3fbSHector Martin power-domains = <&ps_ans>; 9562d5ce3fbSHector Martin }; 9572d5ce3fbSHector Martin 9582d5ce3fbSHector Martin sart: sart@27bc50000 { 9592d5ce3fbSHector Martin compatible = "apple,t8112-sart", "apple,t6000-sart"; 9602d5ce3fbSHector Martin reg = <0x2 0x7bc50000 0x0 0x10000>; 9612d5ce3fbSHector Martin power-domains = <&ps_ans>; 9622d5ce3fbSHector Martin }; 9632d5ce3fbSHector Martin 9642d5ce3fbSHector Martin nvme@27bcc0000 { 9652d5ce3fbSHector Martin compatible = "apple,t8112-nvme-ans2", "apple,nvme-ans2"; 9662d5ce3fbSHector Martin reg = <0x2 0x7bcc0000 0x0 0x40000>, 9672d5ce3fbSHector Martin <0x2 0x77400000 0x0 0x4000>; 9682d5ce3fbSHector Martin reg-names = "nvme", "ans"; 9692d5ce3fbSHector Martin interrupt-parent = <&aic>; 9702d5ce3fbSHector Martin interrupts = <AIC_IRQ 724 IRQ_TYPE_LEVEL_HIGH>; 9712d5ce3fbSHector Martin mboxes = <&ans_mbox>; 9722d5ce3fbSHector Martin apple,sart = <&sart>; 9732d5ce3fbSHector Martin power-domains = <&ps_ans>, <&ps_apcie_st>; 9742d5ce3fbSHector Martin power-domain-names = "ans", "apcie0"; 9752d5ce3fbSHector Martin resets = <&ps_ans>; 9762d5ce3fbSHector Martin }; 9772d5ce3fbSHector Martin 9782d5ce3fbSHector Martin pcie0_dart: iommu@681008000 { 9792d5ce3fbSHector Martin compatible = "apple,t8110-dart"; 9802d5ce3fbSHector Martin reg = <0x6 0x81008000 0x0 0x4000>; 9812d5ce3fbSHector Martin #iommu-cells = <1>; 9822d5ce3fbSHector Martin interrupt-parent = <&aic>; 9832d5ce3fbSHector Martin interrupts = <AIC_IRQ 782 IRQ_TYPE_LEVEL_HIGH>; 9842d5ce3fbSHector Martin power-domains = <&ps_apcie_gp>; 9852d5ce3fbSHector Martin }; 9862d5ce3fbSHector Martin 9872d5ce3fbSHector Martin pcie1_dart: iommu@682008000 { 9882d5ce3fbSHector Martin compatible = "apple,t8110-dart"; 9892d5ce3fbSHector Martin reg = <0x6 0x82008000 0x0 0x4000>; 9902d5ce3fbSHector Martin #iommu-cells = <1>; 9912d5ce3fbSHector Martin interrupt-parent = <&aic>; 9922d5ce3fbSHector Martin interrupts = <AIC_IRQ 785 IRQ_TYPE_LEVEL_HIGH>; 9932d5ce3fbSHector Martin power-domains = <&ps_apcie_gp>; 9942d5ce3fbSHector Martin status = "disabled"; 9952d5ce3fbSHector Martin }; 9962d5ce3fbSHector Martin 9972d5ce3fbSHector Martin pcie2_dart: iommu@683008000 { 9982d5ce3fbSHector Martin compatible = "apple,t8110-dart"; 9992d5ce3fbSHector Martin reg = <0x6 0x83008000 0x0 0x4000>; 10002d5ce3fbSHector Martin #iommu-cells = <1>; 10012d5ce3fbSHector Martin interrupt-parent = <&aic>; 10022d5ce3fbSHector Martin interrupts = <AIC_IRQ 788 IRQ_TYPE_LEVEL_HIGH>; 10032d5ce3fbSHector Martin power-domains = <&ps_apcie_gp>; 10042d5ce3fbSHector Martin status = "disabled"; 10052d5ce3fbSHector Martin }; 10062d5ce3fbSHector Martin 10072d5ce3fbSHector Martin pcie3_dart: iommu@684008000 { 10082d5ce3fbSHector Martin compatible = "apple,t8110-dart"; 10092d5ce3fbSHector Martin reg = <0x6 0x84008000 0x0 0x4000>; 10102d5ce3fbSHector Martin #iommu-cells = <1>; 10112d5ce3fbSHector Martin interrupt-parent = <&aic>; 10122d5ce3fbSHector Martin interrupts = <AIC_IRQ 791 IRQ_TYPE_LEVEL_HIGH>; 10132d5ce3fbSHector Martin power-domains = <&ps_apcie_gp>; 10142d5ce3fbSHector Martin status = "disabled"; 10152d5ce3fbSHector Martin }; 10162d5ce3fbSHector Martin 10172d5ce3fbSHector Martin pcie0: pcie@690000000 { 10182d5ce3fbSHector Martin compatible = "apple,t8112-pcie", "apple,pcie"; 10192d5ce3fbSHector Martin device_type = "pci"; 10202d5ce3fbSHector Martin 10212d5ce3fbSHector Martin reg = <0x6 0x90000000 0x0 0x1000000>, 10222d5ce3fbSHector Martin <0x6 0x80000000 0x0 0x100000>, 10232d5ce3fbSHector Martin <0x6 0x81000000 0x0 0x4000>, 10242d5ce3fbSHector Martin <0x6 0x82000000 0x0 0x4000>, 10252d5ce3fbSHector Martin <0x6 0x83000000 0x0 0x4000>, 10262d5ce3fbSHector Martin <0x6 0x84000000 0x0 0x4000>; 10272d5ce3fbSHector Martin reg-names = "config", "rc", "port0", "port1", "port2", "port3"; 10282d5ce3fbSHector Martin 10292d5ce3fbSHector Martin interrupt-parent = <&aic>; 10302d5ce3fbSHector Martin interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>, 10312d5ce3fbSHector Martin <AIC_IRQ 784 IRQ_TYPE_LEVEL_HIGH>, 10322d5ce3fbSHector Martin <AIC_IRQ 787 IRQ_TYPE_LEVEL_HIGH>, 10332d5ce3fbSHector Martin <AIC_IRQ 790 IRQ_TYPE_LEVEL_HIGH>; 10342d5ce3fbSHector Martin 10352d5ce3fbSHector Martin msi-controller; 10362d5ce3fbSHector Martin msi-parent = <&pcie0>; 10372d5ce3fbSHector Martin msi-ranges = <&aic AIC_IRQ 793 IRQ_TYPE_EDGE_RISING 32>; 10382d5ce3fbSHector Martin 10392d5ce3fbSHector Martin iommu-map = <0x100 &pcie0_dart 0 1>, 10402d5ce3fbSHector Martin <0x200 &pcie1_dart 1 1>, 10412d5ce3fbSHector Martin <0x300 &pcie2_dart 2 1>, 10422d5ce3fbSHector Martin <0x400 &pcie3_dart 3 1>; 10432d5ce3fbSHector Martin iommu-map-mask = <0xff00>; 10442d5ce3fbSHector Martin 10452d5ce3fbSHector Martin bus-range = <0 4>; 10462d5ce3fbSHector Martin #address-cells = <3>; 10472d5ce3fbSHector Martin #size-cells = <2>; 10482d5ce3fbSHector Martin ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>, 10492d5ce3fbSHector Martin <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>; 10502d5ce3fbSHector Martin 10512d5ce3fbSHector Martin power-domains = <&ps_apcie_gp>; 10522d5ce3fbSHector Martin pinctrl-0 = <&pcie_pins>; 10532d5ce3fbSHector Martin pinctrl-names = "default"; 10542d5ce3fbSHector Martin 10552d5ce3fbSHector Martin port00: pci@0,0 { 10562d5ce3fbSHector Martin device_type = "pci"; 10572d5ce3fbSHector Martin reg = <0x0 0x0 0x0 0x0 0x0>; 10582d5ce3fbSHector Martin reset-gpios = <&pinctrl_ap 166 GPIO_ACTIVE_LOW>; 10592d5ce3fbSHector Martin 10602d5ce3fbSHector Martin #address-cells = <3>; 10612d5ce3fbSHector Martin #size-cells = <2>; 10622d5ce3fbSHector Martin ranges; 10632d5ce3fbSHector Martin 10642d5ce3fbSHector Martin interrupt-controller; 10652d5ce3fbSHector Martin #interrupt-cells = <1>; 10662d5ce3fbSHector Martin 10672d5ce3fbSHector Martin interrupt-map-mask = <0 0 0 7>; 10682d5ce3fbSHector Martin interrupt-map = <0 0 0 1 &port00 0 0 0 0>, 10692d5ce3fbSHector Martin <0 0 0 2 &port00 0 0 0 1>, 10702d5ce3fbSHector Martin <0 0 0 3 &port00 0 0 0 2>, 10712d5ce3fbSHector Martin <0 0 0 4 &port00 0 0 0 3>; 10722d5ce3fbSHector Martin }; 10732d5ce3fbSHector Martin 10742d5ce3fbSHector Martin port01: pci@1,0 { 10752d5ce3fbSHector Martin device_type = "pci"; 10762d5ce3fbSHector Martin reg = <0x800 0x0 0x0 0x0 0x0>; 10772d5ce3fbSHector Martin reset-gpios = <&pinctrl_ap 167 GPIO_ACTIVE_LOW>; 10782d5ce3fbSHector Martin 10792d5ce3fbSHector Martin #address-cells = <3>; 10802d5ce3fbSHector Martin #size-cells = <2>; 10812d5ce3fbSHector Martin ranges; 10822d5ce3fbSHector Martin 10832d5ce3fbSHector Martin interrupt-controller; 10842d5ce3fbSHector Martin #interrupt-cells = <1>; 10852d5ce3fbSHector Martin 10862d5ce3fbSHector Martin interrupt-map-mask = <0 0 0 7>; 10872d5ce3fbSHector Martin interrupt-map = <0 0 0 1 &port01 0 0 0 0>, 10882d5ce3fbSHector Martin <0 0 0 2 &port01 0 0 0 1>, 10892d5ce3fbSHector Martin <0 0 0 3 &port01 0 0 0 2>, 10902d5ce3fbSHector Martin <0 0 0 4 &port01 0 0 0 3>; 10912d5ce3fbSHector Martin 10922d5ce3fbSHector Martin status = "disabled"; 10932d5ce3fbSHector Martin }; 10942d5ce3fbSHector Martin 10952d5ce3fbSHector Martin port02: pci@2,0 { 10962d5ce3fbSHector Martin device_type = "pci"; 10972d5ce3fbSHector Martin reg = <0x1000 0x0 0x0 0x0 0x0>; 10982d5ce3fbSHector Martin reset-gpios = <&pinctrl_ap 168 GPIO_ACTIVE_LOW>; 10992d5ce3fbSHector Martin 11002d5ce3fbSHector Martin #address-cells = <3>; 11012d5ce3fbSHector Martin #size-cells = <2>; 11022d5ce3fbSHector Martin ranges; 11032d5ce3fbSHector Martin 11042d5ce3fbSHector Martin interrupt-controller; 11052d5ce3fbSHector Martin #interrupt-cells = <1>; 11062d5ce3fbSHector Martin 11072d5ce3fbSHector Martin interrupt-map-mask = <0 0 0 7>; 11082d5ce3fbSHector Martin interrupt-map = <0 0 0 1 &port02 0 0 0 0>, 11092d5ce3fbSHector Martin <0 0 0 2 &port02 0 0 0 1>, 11102d5ce3fbSHector Martin <0 0 0 3 &port02 0 0 0 2>, 11112d5ce3fbSHector Martin <0 0 0 4 &port02 0 0 0 3>; 11122d5ce3fbSHector Martin 11132d5ce3fbSHector Martin status = "disabled"; 11142d5ce3fbSHector Martin }; 11152d5ce3fbSHector Martin 11162d5ce3fbSHector Martin /* TODO: GPIO unknown */ 11172d5ce3fbSHector Martin port03: pci@3,0 { 11182d5ce3fbSHector Martin device_type = "pci"; 11192d5ce3fbSHector Martin reg = <0x1800 0x0 0x0 0x0 0x0>; 11202d5ce3fbSHector Martin //reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>; 11212d5ce3fbSHector Martin 11222d5ce3fbSHector Martin #address-cells = <3>; 11232d5ce3fbSHector Martin #size-cells = <2>; 11242d5ce3fbSHector Martin ranges; 11252d5ce3fbSHector Martin 11262d5ce3fbSHector Martin interrupt-controller; 11272d5ce3fbSHector Martin #interrupt-cells = <1>; 11282d5ce3fbSHector Martin 11292d5ce3fbSHector Martin interrupt-map-mask = <0 0 0 7>; 11302d5ce3fbSHector Martin interrupt-map = <0 0 0 1 &port03 0 0 0 0>, 11312d5ce3fbSHector Martin <0 0 0 2 &port03 0 0 0 1>, 11322d5ce3fbSHector Martin <0 0 0 3 &port03 0 0 0 2>, 11332d5ce3fbSHector Martin <0 0 0 4 &port03 0 0 0 3>; 11342d5ce3fbSHector Martin 11352d5ce3fbSHector Martin status = "disabled"; 11362d5ce3fbSHector Martin }; 11372d5ce3fbSHector Martin }; 11382d5ce3fbSHector Martin }; 11392d5ce3fbSHector Martin}; 11402d5ce3fbSHector Martin 11412d5ce3fbSHector Martin#include "t8112-pmgr.dtsi" 1142