162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ OR MIT 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Apple T8112 "M2" SoC 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Other names: H14G 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Copyright The Asahi Linux Contributors 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1162306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/apple-aic.h> 1262306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 1362306a36Sopenharmony_ci#include <dt-bindings/pinctrl/apple.h> 1462306a36Sopenharmony_ci#include <dt-bindings/spmi/spmi.h> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/ { 1762306a36Sopenharmony_ci compatible = "apple,t8112", "apple,arm-platform"; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci #address-cells = <2>; 2062306a36Sopenharmony_ci #size-cells = <2>; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci cpus { 2362306a36Sopenharmony_ci #address-cells = <2>; 2462306a36Sopenharmony_ci #size-cells = <0>; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci cpu-map { 2762306a36Sopenharmony_ci cluster0 { 2862306a36Sopenharmony_ci core0 { 2962306a36Sopenharmony_ci cpu = <&cpu_e0>; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci core1 { 3262306a36Sopenharmony_ci cpu = <&cpu_e1>; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci core2 { 3562306a36Sopenharmony_ci cpu = <&cpu_e2>; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci core3 { 3862306a36Sopenharmony_ci cpu = <&cpu_e3>; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci }; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci cluster1 { 4362306a36Sopenharmony_ci core0 { 4462306a36Sopenharmony_ci cpu = <&cpu_p0>; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci core1 { 4762306a36Sopenharmony_ci cpu = <&cpu_p1>; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci core2 { 5062306a36Sopenharmony_ci cpu = <&cpu_p2>; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci core3 { 5362306a36Sopenharmony_ci cpu = <&cpu_p3>; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci cpu_e0: cpu@0 { 5962306a36Sopenharmony_ci compatible = "apple,blizzard"; 6062306a36Sopenharmony_ci device_type = "cpu"; 6162306a36Sopenharmony_ci reg = <0x0 0x0>; 6262306a36Sopenharmony_ci enable-method = "spin-table"; 6362306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 6462306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 6562306a36Sopenharmony_ci capacity-dmips-mhz = <756>; 6662306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 6762306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 6862306a36Sopenharmony_ci i-cache-size = <0x20000>; 6962306a36Sopenharmony_ci d-cache-size = <0x10000>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci cpu_e1: cpu@1 { 7362306a36Sopenharmony_ci compatible = "apple,blizzard"; 7462306a36Sopenharmony_ci device_type = "cpu"; 7562306a36Sopenharmony_ci reg = <0x0 0x1>; 7662306a36Sopenharmony_ci enable-method = "spin-table"; 7762306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 7862306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 7962306a36Sopenharmony_ci capacity-dmips-mhz = <756>; 8062306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 8162306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 8262306a36Sopenharmony_ci i-cache-size = <0x20000>; 8362306a36Sopenharmony_ci d-cache-size = <0x10000>; 8462306a36Sopenharmony_ci }; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci cpu_e2: cpu@2 { 8762306a36Sopenharmony_ci compatible = "apple,blizzard"; 8862306a36Sopenharmony_ci device_type = "cpu"; 8962306a36Sopenharmony_ci reg = <0x0 0x2>; 9062306a36Sopenharmony_ci enable-method = "spin-table"; 9162306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 9262306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 9362306a36Sopenharmony_ci capacity-dmips-mhz = <756>; 9462306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 9562306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 9662306a36Sopenharmony_ci i-cache-size = <0x20000>; 9762306a36Sopenharmony_ci d-cache-size = <0x10000>; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci cpu_e3: cpu@3 { 10162306a36Sopenharmony_ci compatible = "apple,blizzard"; 10262306a36Sopenharmony_ci device_type = "cpu"; 10362306a36Sopenharmony_ci reg = <0x0 0x3>; 10462306a36Sopenharmony_ci enable-method = "spin-table"; 10562306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 10662306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 10762306a36Sopenharmony_ci capacity-dmips-mhz = <756>; 10862306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 10962306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 11062306a36Sopenharmony_ci i-cache-size = <0x20000>; 11162306a36Sopenharmony_ci d-cache-size = <0x10000>; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci cpu_p0: cpu@10100 { 11562306a36Sopenharmony_ci compatible = "apple,avalanche"; 11662306a36Sopenharmony_ci device_type = "cpu"; 11762306a36Sopenharmony_ci reg = <0x0 0x10100>; 11862306a36Sopenharmony_ci enable-method = "spin-table"; 11962306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 12062306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 12162306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 12262306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 12362306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 12462306a36Sopenharmony_ci i-cache-size = <0x30000>; 12562306a36Sopenharmony_ci d-cache-size = <0x20000>; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci cpu_p1: cpu@10101 { 12962306a36Sopenharmony_ci compatible = "apple,avalanche"; 13062306a36Sopenharmony_ci device_type = "cpu"; 13162306a36Sopenharmony_ci reg = <0x0 0x10101>; 13262306a36Sopenharmony_ci enable-method = "spin-table"; 13362306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 13462306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 13562306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 13662306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 13762306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 13862306a36Sopenharmony_ci i-cache-size = <0x30000>; 13962306a36Sopenharmony_ci d-cache-size = <0x20000>; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci cpu_p2: cpu@10102 { 14362306a36Sopenharmony_ci compatible = "apple,avalanche"; 14462306a36Sopenharmony_ci device_type = "cpu"; 14562306a36Sopenharmony_ci reg = <0x0 0x10102>; 14662306a36Sopenharmony_ci enable-method = "spin-table"; 14762306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 14862306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 14962306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 15062306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 15162306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 15262306a36Sopenharmony_ci i-cache-size = <0x30000>; 15362306a36Sopenharmony_ci d-cache-size = <0x20000>; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci cpu_p3: cpu@10103 { 15762306a36Sopenharmony_ci compatible = "apple,avalanche"; 15862306a36Sopenharmony_ci device_type = "cpu"; 15962306a36Sopenharmony_ci reg = <0x0 0x10103>; 16062306a36Sopenharmony_ci enable-method = "spin-table"; 16162306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 16262306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 16362306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 16462306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 16562306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 16662306a36Sopenharmony_ci i-cache-size = <0x30000>; 16762306a36Sopenharmony_ci d-cache-size = <0x20000>; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci l2_cache_0: l2-cache-0 { 17162306a36Sopenharmony_ci compatible = "cache"; 17262306a36Sopenharmony_ci cache-level = <2>; 17362306a36Sopenharmony_ci cache-unified; 17462306a36Sopenharmony_ci cache-size = <0x400000>; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci l2_cache_1: l2-cache-1 { 17862306a36Sopenharmony_ci compatible = "cache"; 17962306a36Sopenharmony_ci cache-level = <2>; 18062306a36Sopenharmony_ci cache-unified; 18162306a36Sopenharmony_ci cache-size = <0x1000000>; 18262306a36Sopenharmony_ci }; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci ecluster_opp: opp-table-0 { 18662306a36Sopenharmony_ci compatible = "operating-points-v2"; 18762306a36Sopenharmony_ci opp-shared; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci opp01 { 19062306a36Sopenharmony_ci opp-hz = /bits/ 64 <600000000>; 19162306a36Sopenharmony_ci opp-level = <1>; 19262306a36Sopenharmony_ci clock-latency-ns = <7500>; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci opp02 { 19562306a36Sopenharmony_ci opp-hz = /bits/ 64 <912000000>; 19662306a36Sopenharmony_ci opp-level = <2>; 19762306a36Sopenharmony_ci clock-latency-ns = <20000>; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci opp03 { 20062306a36Sopenharmony_ci opp-hz = /bits/ 64 <1284000000>; 20162306a36Sopenharmony_ci opp-level = <3>; 20262306a36Sopenharmony_ci clock-latency-ns = <22000>; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci opp04 { 20562306a36Sopenharmony_ci opp-hz = /bits/ 64 <1752000000>; 20662306a36Sopenharmony_ci opp-level = <4>; 20762306a36Sopenharmony_ci clock-latency-ns = <30000>; 20862306a36Sopenharmony_ci }; 20962306a36Sopenharmony_ci opp05 { 21062306a36Sopenharmony_ci opp-hz = /bits/ 64 <2004000000>; 21162306a36Sopenharmony_ci opp-level = <5>; 21262306a36Sopenharmony_ci clock-latency-ns = <35000>; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci opp06 { 21562306a36Sopenharmony_ci opp-hz = /bits/ 64 <2256000000>; 21662306a36Sopenharmony_ci opp-level = <6>; 21762306a36Sopenharmony_ci clock-latency-ns = <39000>; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci opp07 { 22062306a36Sopenharmony_ci opp-hz = /bits/ 64 <2424000000>; 22162306a36Sopenharmony_ci opp-level = <7>; 22262306a36Sopenharmony_ci clock-latency-ns = <53000>; 22362306a36Sopenharmony_ci }; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci pcluster_opp: opp-table-1 { 22762306a36Sopenharmony_ci compatible = "operating-points-v2"; 22862306a36Sopenharmony_ci opp-shared; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci opp01 { 23162306a36Sopenharmony_ci opp-hz = /bits/ 64 <660000000>; 23262306a36Sopenharmony_ci opp-level = <1>; 23362306a36Sopenharmony_ci clock-latency-ns = <9000>; 23462306a36Sopenharmony_ci }; 23562306a36Sopenharmony_ci opp02 { 23662306a36Sopenharmony_ci opp-hz = /bits/ 64 <924000000>; 23762306a36Sopenharmony_ci opp-level = <2>; 23862306a36Sopenharmony_ci clock-latency-ns = <19000>; 23962306a36Sopenharmony_ci }; 24062306a36Sopenharmony_ci opp03 { 24162306a36Sopenharmony_ci opp-hz = /bits/ 64 <1188000000>; 24262306a36Sopenharmony_ci opp-level = <3>; 24362306a36Sopenharmony_ci clock-latency-ns = <22000>; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci opp04 { 24662306a36Sopenharmony_ci opp-hz = /bits/ 64 <1452000000>; 24762306a36Sopenharmony_ci opp-level = <4>; 24862306a36Sopenharmony_ci clock-latency-ns = <24000>; 24962306a36Sopenharmony_ci }; 25062306a36Sopenharmony_ci opp05 { 25162306a36Sopenharmony_ci opp-hz = /bits/ 64 <1704000000>; 25262306a36Sopenharmony_ci opp-level = <5>; 25362306a36Sopenharmony_ci clock-latency-ns = <26000>; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci opp06 { 25662306a36Sopenharmony_ci opp-hz = /bits/ 64 <1968000000>; 25762306a36Sopenharmony_ci opp-level = <6>; 25862306a36Sopenharmony_ci clock-latency-ns = <28000>; 25962306a36Sopenharmony_ci }; 26062306a36Sopenharmony_ci opp07 { 26162306a36Sopenharmony_ci opp-hz = /bits/ 64 <2208000000>; 26262306a36Sopenharmony_ci opp-level = <7>; 26362306a36Sopenharmony_ci clock-latency-ns = <30000>; 26462306a36Sopenharmony_ci }; 26562306a36Sopenharmony_ci opp08 { 26662306a36Sopenharmony_ci opp-hz = /bits/ 64 <2400000000>; 26762306a36Sopenharmony_ci opp-level = <8>; 26862306a36Sopenharmony_ci clock-latency-ns = <33000>; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci opp09 { 27162306a36Sopenharmony_ci opp-hz = /bits/ 64 <2568000000>; 27262306a36Sopenharmony_ci opp-level = <9>; 27362306a36Sopenharmony_ci clock-latency-ns = <34000>; 27462306a36Sopenharmony_ci }; 27562306a36Sopenharmony_ci opp10 { 27662306a36Sopenharmony_ci opp-hz = /bits/ 64 <2724000000>; 27762306a36Sopenharmony_ci opp-level = <10>; 27862306a36Sopenharmony_ci clock-latency-ns = <36000>; 27962306a36Sopenharmony_ci }; 28062306a36Sopenharmony_ci opp11 { 28162306a36Sopenharmony_ci opp-hz = /bits/ 64 <2868000000>; 28262306a36Sopenharmony_ci opp-level = <11>; 28362306a36Sopenharmony_ci clock-latency-ns = <41000>; 28462306a36Sopenharmony_ci }; 28562306a36Sopenharmony_ci opp12 { 28662306a36Sopenharmony_ci opp-hz = /bits/ 64 <2988000000>; 28762306a36Sopenharmony_ci opp-level = <12>; 28862306a36Sopenharmony_ci clock-latency-ns = <42000>; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci opp13 { 29162306a36Sopenharmony_ci opp-hz = /bits/ 64 <3096000000>; 29262306a36Sopenharmony_ci opp-level = <13>; 29362306a36Sopenharmony_ci clock-latency-ns = <44000>; 29462306a36Sopenharmony_ci }; 29562306a36Sopenharmony_ci opp14 { 29662306a36Sopenharmony_ci opp-hz = /bits/ 64 <3204000000>; 29762306a36Sopenharmony_ci opp-level = <14>; 29862306a36Sopenharmony_ci clock-latency-ns = <46000>; 29962306a36Sopenharmony_ci }; 30062306a36Sopenharmony_ci /* Not available until CPU deep sleep is implemented */ 30162306a36Sopenharmony_ci#if 0 30262306a36Sopenharmony_ci opp15 { 30362306a36Sopenharmony_ci opp-hz = /bits/ 64 <3324000000>; 30462306a36Sopenharmony_ci opp-level = <15>; 30562306a36Sopenharmony_ci clock-latency-ns = <62000>; 30662306a36Sopenharmony_ci turbo-mode; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci opp16 { 30962306a36Sopenharmony_ci opp-hz = /bits/ 64 <3408000000>; 31062306a36Sopenharmony_ci opp-level = <16>; 31162306a36Sopenharmony_ci clock-latency-ns = <62000>; 31262306a36Sopenharmony_ci turbo-mode; 31362306a36Sopenharmony_ci }; 31462306a36Sopenharmony_ci opp17 { 31562306a36Sopenharmony_ci opp-hz = /bits/ 64 <3504000000>; 31662306a36Sopenharmony_ci opp-level = <17>; 31762306a36Sopenharmony_ci clock-latency-ns = <62000>; 31862306a36Sopenharmony_ci turbo-mode; 31962306a36Sopenharmony_ci }; 32062306a36Sopenharmony_ci#endif 32162306a36Sopenharmony_ci }; 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci timer { 32462306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 32562306a36Sopenharmony_ci interrupt-parent = <&aic>; 32662306a36Sopenharmony_ci interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; 32762306a36Sopenharmony_ci interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>, 32862306a36Sopenharmony_ci <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>, 32962306a36Sopenharmony_ci <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>, 33062306a36Sopenharmony_ci <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>; 33162306a36Sopenharmony_ci }; 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci pmu-e { 33462306a36Sopenharmony_ci compatible = "apple,blizzard-pmu"; 33562306a36Sopenharmony_ci interrupt-parent = <&aic>; 33662306a36Sopenharmony_ci interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>; 33762306a36Sopenharmony_ci }; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci pmu-p { 34062306a36Sopenharmony_ci compatible = "apple,avalanche-pmu"; 34162306a36Sopenharmony_ci interrupt-parent = <&aic>; 34262306a36Sopenharmony_ci interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>; 34362306a36Sopenharmony_ci }; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci clkref: clock-ref { 34662306a36Sopenharmony_ci compatible = "fixed-clock"; 34762306a36Sopenharmony_ci #clock-cells = <0>; 34862306a36Sopenharmony_ci clock-frequency = <24000000>; 34962306a36Sopenharmony_ci clock-output-names = "clkref"; 35062306a36Sopenharmony_ci }; 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci /* 35362306a36Sopenharmony_ci * This is a fabulated representation of the input clock 35462306a36Sopenharmony_ci * to NCO since we don't know the true clock tree. 35562306a36Sopenharmony_ci */ 35662306a36Sopenharmony_ci nco_clkref: clock-ref-nco { 35762306a36Sopenharmony_ci compatible = "fixed-clock"; 35862306a36Sopenharmony_ci #clock-cells = <0>; 35962306a36Sopenharmony_ci clock-output-names = "nco_ref"; 36062306a36Sopenharmony_ci }; 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ci soc { 36362306a36Sopenharmony_ci compatible = "simple-bus"; 36462306a36Sopenharmony_ci #address-cells = <2>; 36562306a36Sopenharmony_ci #size-cells = <2>; 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci ranges; 36862306a36Sopenharmony_ci nonposted-mmio; 36962306a36Sopenharmony_ci 37062306a36Sopenharmony_ci cpufreq_e: cpufreq@210e20000 { 37162306a36Sopenharmony_ci compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq"; 37262306a36Sopenharmony_ci reg = <0x2 0x10e20000 0 0x1000>; 37362306a36Sopenharmony_ci #performance-domain-cells = <0>; 37462306a36Sopenharmony_ci }; 37562306a36Sopenharmony_ci 37662306a36Sopenharmony_ci cpufreq_p: cpufreq@211e20000 { 37762306a36Sopenharmony_ci compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq"; 37862306a36Sopenharmony_ci reg = <0x2 0x11e20000 0 0x1000>; 37962306a36Sopenharmony_ci #performance-domain-cells = <0>; 38062306a36Sopenharmony_ci }; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci sio_dart: iommu@235004000 { 38362306a36Sopenharmony_ci compatible = "apple,t8110-dart"; 38462306a36Sopenharmony_ci reg = <0x2 0x35004000 0x0 0x4000>; 38562306a36Sopenharmony_ci interrupt-parent = <&aic>; 38662306a36Sopenharmony_ci interrupts = <AIC_IRQ 769 IRQ_TYPE_LEVEL_HIGH>; 38762306a36Sopenharmony_ci #iommu-cells = <1>; 38862306a36Sopenharmony_ci power-domains = <&ps_sio_cpu>; 38962306a36Sopenharmony_ci }; 39062306a36Sopenharmony_ci 39162306a36Sopenharmony_ci i2c0: i2c@235010000 { 39262306a36Sopenharmony_ci compatible = "apple,t8112-i2c", "apple,i2c"; 39362306a36Sopenharmony_ci reg = <0x2 0x35010000 0x0 0x4000>; 39462306a36Sopenharmony_ci clocks = <&clkref>; 39562306a36Sopenharmony_ci interrupt-parent = <&aic>; 39662306a36Sopenharmony_ci interrupts = <AIC_IRQ 761 IRQ_TYPE_LEVEL_HIGH>; 39762306a36Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 39862306a36Sopenharmony_ci pinctrl-names = "default"; 39962306a36Sopenharmony_ci #address-cells = <0x1>; 40062306a36Sopenharmony_ci #size-cells = <0x0>; 40162306a36Sopenharmony_ci power-domains = <&ps_i2c0>; 40262306a36Sopenharmony_ci status = "disabled"; 40362306a36Sopenharmony_ci }; 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci i2c1: i2c@235014000 { 40662306a36Sopenharmony_ci compatible = "apple,t8112-i2c", "apple,i2c"; 40762306a36Sopenharmony_ci reg = <0x2 0x35014000 0x0 0x4000>; 40862306a36Sopenharmony_ci clocks = <&clkref>; 40962306a36Sopenharmony_ci interrupt-parent = <&aic>; 41062306a36Sopenharmony_ci interrupts = <AIC_IRQ 762 IRQ_TYPE_LEVEL_HIGH>; 41162306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 41262306a36Sopenharmony_ci pinctrl-names = "default"; 41362306a36Sopenharmony_ci #address-cells = <0x1>; 41462306a36Sopenharmony_ci #size-cells = <0x0>; 41562306a36Sopenharmony_ci power-domains = <&ps_i2c1>; 41662306a36Sopenharmony_ci status = "disabled"; 41762306a36Sopenharmony_ci }; 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ci i2c2: i2c@235018000 { 42062306a36Sopenharmony_ci compatible = "apple,t8112-i2c", "apple,i2c"; 42162306a36Sopenharmony_ci reg = <0x2 0x35018000 0x0 0x4000>; 42262306a36Sopenharmony_ci clocks = <&clkref>; 42362306a36Sopenharmony_ci interrupt-parent = <&aic>; 42462306a36Sopenharmony_ci interrupts = <AIC_IRQ 763 IRQ_TYPE_LEVEL_HIGH>; 42562306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 42662306a36Sopenharmony_ci pinctrl-names = "default"; 42762306a36Sopenharmony_ci #address-cells = <0x1>; 42862306a36Sopenharmony_ci #size-cells = <0x0>; 42962306a36Sopenharmony_ci power-domains = <&ps_i2c2>; 43062306a36Sopenharmony_ci status = "disabled"; 43162306a36Sopenharmony_ci }; 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ci i2c3: i2c@23501c000 { 43462306a36Sopenharmony_ci compatible = "apple,t8112-i2c", "apple,i2c"; 43562306a36Sopenharmony_ci reg = <0x2 0x3501c000 0x0 0x4000>; 43662306a36Sopenharmony_ci clocks = <&clkref>; 43762306a36Sopenharmony_ci interrupt-parent = <&aic>; 43862306a36Sopenharmony_ci interrupts = <AIC_IRQ 764 IRQ_TYPE_LEVEL_HIGH>; 43962306a36Sopenharmony_ci pinctrl-0 = <&i2c3_pins>; 44062306a36Sopenharmony_ci pinctrl-names = "default"; 44162306a36Sopenharmony_ci #address-cells = <0x1>; 44262306a36Sopenharmony_ci #size-cells = <0x0>; 44362306a36Sopenharmony_ci power-domains = <&ps_i2c3>; 44462306a36Sopenharmony_ci status = "disabled"; 44562306a36Sopenharmony_ci }; 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ci i2c4: i2c@235020000 { 44862306a36Sopenharmony_ci compatible = "apple,t8112-i2c", "apple,i2c"; 44962306a36Sopenharmony_ci reg = <0x2 0x35020000 0x0 0x4000>; 45062306a36Sopenharmony_ci clocks = <&clkref>; 45162306a36Sopenharmony_ci interrupt-parent = <&aic>; 45262306a36Sopenharmony_ci interrupts = <AIC_IRQ 765 IRQ_TYPE_LEVEL_HIGH>; 45362306a36Sopenharmony_ci pinctrl-0 = <&i2c4_pins>; 45462306a36Sopenharmony_ci pinctrl-names = "default"; 45562306a36Sopenharmony_ci #address-cells = <0x1>; 45662306a36Sopenharmony_ci #size-cells = <0x0>; 45762306a36Sopenharmony_ci power-domains = <&ps_i2c4>; 45862306a36Sopenharmony_ci status = "disabled"; 45962306a36Sopenharmony_ci }; 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ci fpwm1: pwm@235044000 { 46262306a36Sopenharmony_ci compatible = "apple,t8112-fpwm", "apple,s5l-fpwm"; 46362306a36Sopenharmony_ci reg = <0x2 0x35044000 0x0 0x4000>; 46462306a36Sopenharmony_ci power-domains = <&ps_fpwm1>; 46562306a36Sopenharmony_ci clocks = <&clkref>; 46662306a36Sopenharmony_ci #pwm-cells = <2>; 46762306a36Sopenharmony_ci status = "disabled"; 46862306a36Sopenharmony_ci }; 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ci serial0: serial@235200000 { 47162306a36Sopenharmony_ci compatible = "apple,s5l-uart"; 47262306a36Sopenharmony_ci reg = <0x2 0x35200000 0x0 0x1000>; 47362306a36Sopenharmony_ci reg-io-width = <4>; 47462306a36Sopenharmony_ci interrupt-parent = <&aic>; 47562306a36Sopenharmony_ci interrupts = <AIC_IRQ 739 IRQ_TYPE_LEVEL_HIGH>; 47662306a36Sopenharmony_ci /* 47762306a36Sopenharmony_ci * TODO: figure out the clocking properly, there may 47862306a36Sopenharmony_ci * be a third selectable clock. 47962306a36Sopenharmony_ci */ 48062306a36Sopenharmony_ci clocks = <&clkref>, <&clkref>; 48162306a36Sopenharmony_ci clock-names = "uart", "clk_uart_baud0"; 48262306a36Sopenharmony_ci power-domains = <&ps_uart0>; 48362306a36Sopenharmony_ci status = "disabled"; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ci serial2: serial@235208000 { 48762306a36Sopenharmony_ci compatible = "apple,s5l-uart"; 48862306a36Sopenharmony_ci reg = <0x2 0x35208000 0x0 0x1000>; 48962306a36Sopenharmony_ci reg-io-width = <4>; 49062306a36Sopenharmony_ci interrupt-parent = <&aic>; 49162306a36Sopenharmony_ci interrupts = <AIC_IRQ 741 IRQ_TYPE_LEVEL_HIGH>; 49262306a36Sopenharmony_ci clocks = <&clkref>, <&clkref>; 49362306a36Sopenharmony_ci clock-names = "uart", "clk_uart_baud0"; 49462306a36Sopenharmony_ci power-domains = <&ps_uart2>; 49562306a36Sopenharmony_ci status = "disabled"; 49662306a36Sopenharmony_ci }; 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ci admac: dma-controller@238200000 { 49962306a36Sopenharmony_ci compatible = "apple,t8112-admac", "apple,admac"; 50062306a36Sopenharmony_ci reg = <0x2 0x38200000 0x0 0x34000>; 50162306a36Sopenharmony_ci dma-channels = <24>; 50262306a36Sopenharmony_ci interrupts-extended = <0>, 50362306a36Sopenharmony_ci <&aic AIC_IRQ 760 IRQ_TYPE_LEVEL_HIGH>, 50462306a36Sopenharmony_ci <0>, 50562306a36Sopenharmony_ci <0>; 50662306a36Sopenharmony_ci #dma-cells = <1>; 50762306a36Sopenharmony_ci iommus = <&sio_dart 2>; 50862306a36Sopenharmony_ci power-domains = <&ps_sio_adma>; 50962306a36Sopenharmony_ci resets = <&ps_audio_p>; 51062306a36Sopenharmony_ci }; 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_ci mca: i2s@238400000 { 51362306a36Sopenharmony_ci compatible = "apple,t8112-mca", "apple,mca"; 51462306a36Sopenharmony_ci reg = <0x2 0x38400000 0x0 0x18000>, 51562306a36Sopenharmony_ci <0x2 0x38300000 0x0 0x30000>; 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci interrupt-parent = <&aic>; 51862306a36Sopenharmony_ci interrupts = <AIC_IRQ 753 IRQ_TYPE_LEVEL_HIGH>, 51962306a36Sopenharmony_ci <AIC_IRQ 754 IRQ_TYPE_LEVEL_HIGH>, 52062306a36Sopenharmony_ci <AIC_IRQ 755 IRQ_TYPE_LEVEL_HIGH>, 52162306a36Sopenharmony_ci <AIC_IRQ 756 IRQ_TYPE_LEVEL_HIGH>, 52262306a36Sopenharmony_ci <AIC_IRQ 757 IRQ_TYPE_LEVEL_HIGH>, 52362306a36Sopenharmony_ci <AIC_IRQ 758 IRQ_TYPE_LEVEL_HIGH>; 52462306a36Sopenharmony_ci 52562306a36Sopenharmony_ci resets = <&ps_audio_p>; 52662306a36Sopenharmony_ci clocks = <&nco 0>, <&nco 1>, <&nco 2>, 52762306a36Sopenharmony_ci <&nco 3>, <&nco 4>, <&nco 4>; 52862306a36Sopenharmony_ci power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>, 52962306a36Sopenharmony_ci <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>; 53062306a36Sopenharmony_ci dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>, 53162306a36Sopenharmony_ci <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>, 53262306a36Sopenharmony_ci <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>, 53362306a36Sopenharmony_ci <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>, 53462306a36Sopenharmony_ci <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>, 53562306a36Sopenharmony_ci <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>; 53662306a36Sopenharmony_ci dma-names = "tx0a", "rx0a", "tx0b", "rx0b", 53762306a36Sopenharmony_ci "tx1a", "rx1a", "tx1b", "rx1b", 53862306a36Sopenharmony_ci "tx2a", "rx2a", "tx2b", "rx2b", 53962306a36Sopenharmony_ci "tx3a", "rx3a", "tx3b", "rx3b", 54062306a36Sopenharmony_ci "tx4a", "rx4a", "tx4b", "rx4b", 54162306a36Sopenharmony_ci "tx5a", "rx5a", "tx5b", "rx5b"; 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_ci #sound-dai-cells = <1>; 54462306a36Sopenharmony_ci }; 54562306a36Sopenharmony_ci 54662306a36Sopenharmony_ci nco: clock-controller@23b044000 { 54762306a36Sopenharmony_ci compatible = "apple,t8112-nco", "apple,nco"; 54862306a36Sopenharmony_ci reg = <0x2 0x3b044000 0x0 0x14000>; 54962306a36Sopenharmony_ci clocks = <&nco_clkref>; 55062306a36Sopenharmony_ci #clock-cells = <1>; 55162306a36Sopenharmony_ci }; 55262306a36Sopenharmony_ci 55362306a36Sopenharmony_ci aic: interrupt-controller@23b0c0000 { 55462306a36Sopenharmony_ci compatible = "apple,t8112-aic", "apple,aic2"; 55562306a36Sopenharmony_ci #interrupt-cells = <3>; 55662306a36Sopenharmony_ci interrupt-controller; 55762306a36Sopenharmony_ci reg = <0x2 0x3b0c0000 0x0 0x8000>, 55862306a36Sopenharmony_ci <0x2 0x3b0c8000 0x0 0x4>; 55962306a36Sopenharmony_ci reg-names = "core", "event"; 56062306a36Sopenharmony_ci power-domains = <&ps_aic>; 56162306a36Sopenharmony_ci 56262306a36Sopenharmony_ci affinities { 56362306a36Sopenharmony_ci e-core-pmu-affinity { 56462306a36Sopenharmony_ci apple,fiq-index = <AIC_CPU_PMU_E>; 56562306a36Sopenharmony_ci cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>; 56662306a36Sopenharmony_ci }; 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ci p-core-pmu-affinity { 56962306a36Sopenharmony_ci apple,fiq-index = <AIC_CPU_PMU_P>; 57062306a36Sopenharmony_ci cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>; 57162306a36Sopenharmony_ci }; 57262306a36Sopenharmony_ci }; 57362306a36Sopenharmony_ci }; 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ci pmgr: power-management@23b700000 { 57662306a36Sopenharmony_ci compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 57762306a36Sopenharmony_ci #address-cells = <1>; 57862306a36Sopenharmony_ci #size-cells = <1>; 57962306a36Sopenharmony_ci reg = <0x2 0x3b700000 0 0x14000>; 58062306a36Sopenharmony_ci /* child nodes are added in t8103-pmgr.dtsi */ 58162306a36Sopenharmony_ci }; 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_ci pinctrl_ap: pinctrl@23c100000 { 58462306a36Sopenharmony_ci compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 58562306a36Sopenharmony_ci reg = <0x2 0x3c100000 0x0 0x100000>; 58662306a36Sopenharmony_ci power-domains = <&ps_gpio>; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci gpio-controller; 58962306a36Sopenharmony_ci #gpio-cells = <2>; 59062306a36Sopenharmony_ci gpio-ranges = <&pinctrl_ap 0 0 213>; 59162306a36Sopenharmony_ci apple,npins = <213>; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci interrupt-controller; 59462306a36Sopenharmony_ci #interrupt-cells = <2>; 59562306a36Sopenharmony_ci interrupt-parent = <&aic>; 59662306a36Sopenharmony_ci interrupts = <AIC_IRQ 199 IRQ_TYPE_LEVEL_HIGH>, 59762306a36Sopenharmony_ci <AIC_IRQ 200 IRQ_TYPE_LEVEL_HIGH>, 59862306a36Sopenharmony_ci <AIC_IRQ 201 IRQ_TYPE_LEVEL_HIGH>, 59962306a36Sopenharmony_ci <AIC_IRQ 202 IRQ_TYPE_LEVEL_HIGH>, 60062306a36Sopenharmony_ci <AIC_IRQ 203 IRQ_TYPE_LEVEL_HIGH>, 60162306a36Sopenharmony_ci <AIC_IRQ 204 IRQ_TYPE_LEVEL_HIGH>, 60262306a36Sopenharmony_ci <AIC_IRQ 205 IRQ_TYPE_LEVEL_HIGH>; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ci i2c0_pins: i2c0-pins { 60562306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(111, 1)>, 60662306a36Sopenharmony_ci <APPLE_PINMUX(110, 1)>; 60762306a36Sopenharmony_ci }; 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci i2c1_pins: i2c1-pins { 61062306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(113, 1)>, 61162306a36Sopenharmony_ci <APPLE_PINMUX(112, 1)>; 61262306a36Sopenharmony_ci }; 61362306a36Sopenharmony_ci 61462306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 61562306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(87, 1)>, 61662306a36Sopenharmony_ci <APPLE_PINMUX(86, 1)>; 61762306a36Sopenharmony_ci }; 61862306a36Sopenharmony_ci 61962306a36Sopenharmony_ci i2c3_pins: i2c3-pins { 62062306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(54, 1)>, 62162306a36Sopenharmony_ci <APPLE_PINMUX(53, 1)>; 62262306a36Sopenharmony_ci }; 62362306a36Sopenharmony_ci 62462306a36Sopenharmony_ci i2c4_pins: i2c4-pins { 62562306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(131, 1)>, 62662306a36Sopenharmony_ci <APPLE_PINMUX(130, 1)>; 62762306a36Sopenharmony_ci }; 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci spi3_pins: spi3-pins { 63062306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(46, 1)>, 63162306a36Sopenharmony_ci <APPLE_PINMUX(47, 1)>, 63262306a36Sopenharmony_ci <APPLE_PINMUX(48, 1)>, 63362306a36Sopenharmony_ci <APPLE_PINMUX(49, 1)>; 63462306a36Sopenharmony_ci }; 63562306a36Sopenharmony_ci 63662306a36Sopenharmony_ci pcie_pins: pcie-pins { 63762306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(162, 1)>, 63862306a36Sopenharmony_ci <APPLE_PINMUX(163, 1)>, 63962306a36Sopenharmony_ci <APPLE_PINMUX(164, 1)>; 64062306a36Sopenharmony_ci // TODO: 1 more CLKREQs 64162306a36Sopenharmony_ci }; 64262306a36Sopenharmony_ci }; 64362306a36Sopenharmony_ci 64462306a36Sopenharmony_ci pinctrl_nub: pinctrl@23d1f0000 { 64562306a36Sopenharmony_ci compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 64662306a36Sopenharmony_ci reg = <0x2 0x3d1f0000 0x0 0x4000>; 64762306a36Sopenharmony_ci power-domains = <&ps_nub_gpio>; 64862306a36Sopenharmony_ci 64962306a36Sopenharmony_ci gpio-controller; 65062306a36Sopenharmony_ci #gpio-cells = <2>; 65162306a36Sopenharmony_ci gpio-ranges = <&pinctrl_nub 0 0 24>; 65262306a36Sopenharmony_ci apple,npins = <24>; 65362306a36Sopenharmony_ci 65462306a36Sopenharmony_ci interrupt-controller; 65562306a36Sopenharmony_ci #interrupt-cells = <2>; 65662306a36Sopenharmony_ci interrupt-parent = <&aic>; 65762306a36Sopenharmony_ci interrupts = <AIC_IRQ 371 IRQ_TYPE_LEVEL_HIGH>, 65862306a36Sopenharmony_ci <AIC_IRQ 372 IRQ_TYPE_LEVEL_HIGH>, 65962306a36Sopenharmony_ci <AIC_IRQ 373 IRQ_TYPE_LEVEL_HIGH>, 66062306a36Sopenharmony_ci <AIC_IRQ 374 IRQ_TYPE_LEVEL_HIGH>, 66162306a36Sopenharmony_ci <AIC_IRQ 375 IRQ_TYPE_LEVEL_HIGH>, 66262306a36Sopenharmony_ci <AIC_IRQ 376 IRQ_TYPE_LEVEL_HIGH>, 66362306a36Sopenharmony_ci <AIC_IRQ 377 IRQ_TYPE_LEVEL_HIGH>; 66462306a36Sopenharmony_ci }; 66562306a36Sopenharmony_ci 66662306a36Sopenharmony_ci pmgr_mini: power-management@23d280000 { 66762306a36Sopenharmony_ci compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 66862306a36Sopenharmony_ci #address-cells = <1>; 66962306a36Sopenharmony_ci #size-cells = <1>; 67062306a36Sopenharmony_ci reg = <0x2 0x3d280000 0 0x4000>; 67162306a36Sopenharmony_ci /* child nodes are added in t8103-pmgr.dtsi */ 67262306a36Sopenharmony_ci }; 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ci wdt: watchdog@23d2b0000 { 67562306a36Sopenharmony_ci compatible = "apple,t8112-wdt", "apple,wdt"; 67662306a36Sopenharmony_ci reg = <0x2 0x3d2b0000 0x0 0x4000>; 67762306a36Sopenharmony_ci clocks = <&clkref>; 67862306a36Sopenharmony_ci interrupt-parent = <&aic>; 67962306a36Sopenharmony_ci interrupts = <AIC_IRQ 379 IRQ_TYPE_LEVEL_HIGH>; 68062306a36Sopenharmony_ci }; 68162306a36Sopenharmony_ci 68262306a36Sopenharmony_ci pinctrl_smc: pinctrl@23e820000 { 68362306a36Sopenharmony_ci compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 68462306a36Sopenharmony_ci reg = <0x2 0x3e820000 0x0 0x4000>; 68562306a36Sopenharmony_ci 68662306a36Sopenharmony_ci gpio-controller; 68762306a36Sopenharmony_ci #gpio-cells = <2>; 68862306a36Sopenharmony_ci gpio-ranges = <&pinctrl_smc 0 0 18>; 68962306a36Sopenharmony_ci apple,npins = <18>; 69062306a36Sopenharmony_ci 69162306a36Sopenharmony_ci interrupt-controller; 69262306a36Sopenharmony_ci #interrupt-cells = <2>; 69362306a36Sopenharmony_ci interrupt-parent = <&aic>; 69462306a36Sopenharmony_ci interrupts = <AIC_IRQ 490 IRQ_TYPE_LEVEL_HIGH>, 69562306a36Sopenharmony_ci <AIC_IRQ 491 IRQ_TYPE_LEVEL_HIGH>, 69662306a36Sopenharmony_ci <AIC_IRQ 492 IRQ_TYPE_LEVEL_HIGH>, 69762306a36Sopenharmony_ci <AIC_IRQ 493 IRQ_TYPE_LEVEL_HIGH>, 69862306a36Sopenharmony_ci <AIC_IRQ 494 IRQ_TYPE_LEVEL_HIGH>, 69962306a36Sopenharmony_ci <AIC_IRQ 495 IRQ_TYPE_LEVEL_HIGH>, 70062306a36Sopenharmony_ci <AIC_IRQ 496 IRQ_TYPE_LEVEL_HIGH>; 70162306a36Sopenharmony_ci }; 70262306a36Sopenharmony_ci 70362306a36Sopenharmony_ci pinctrl_aop: pinctrl@24a820000 { 70462306a36Sopenharmony_ci compatible = "apple,t8112-pinctrl", "apple,pinctrl"; 70562306a36Sopenharmony_ci reg = <0x2 0x4a820000 0x0 0x4000>; 70662306a36Sopenharmony_ci 70762306a36Sopenharmony_ci gpio-controller; 70862306a36Sopenharmony_ci #gpio-cells = <2>; 70962306a36Sopenharmony_ci gpio-ranges = <&pinctrl_aop 0 0 54>; 71062306a36Sopenharmony_ci apple,npins = <54>; 71162306a36Sopenharmony_ci 71262306a36Sopenharmony_ci interrupt-controller; 71362306a36Sopenharmony_ci #interrupt-cells = <2>; 71462306a36Sopenharmony_ci interrupt-parent = <&aic>; 71562306a36Sopenharmony_ci interrupts = <AIC_IRQ 301 IRQ_TYPE_LEVEL_HIGH>, 71662306a36Sopenharmony_ci <AIC_IRQ 302 IRQ_TYPE_LEVEL_HIGH>, 71762306a36Sopenharmony_ci <AIC_IRQ 303 IRQ_TYPE_LEVEL_HIGH>, 71862306a36Sopenharmony_ci <AIC_IRQ 304 IRQ_TYPE_LEVEL_HIGH>, 71962306a36Sopenharmony_ci <AIC_IRQ 305 IRQ_TYPE_LEVEL_HIGH>, 72062306a36Sopenharmony_ci <AIC_IRQ 306 IRQ_TYPE_LEVEL_HIGH>, 72162306a36Sopenharmony_ci <AIC_IRQ 307 IRQ_TYPE_LEVEL_HIGH>; 72262306a36Sopenharmony_ci }; 72362306a36Sopenharmony_ci 72462306a36Sopenharmony_ci ans_mbox: mbox@277408000 { 72562306a36Sopenharmony_ci compatible = "apple,t8112-asc-mailbox", "apple,asc-mailbox-v4"; 72662306a36Sopenharmony_ci reg = <0x2 0x77408000 0x0 0x4000>; 72762306a36Sopenharmony_ci interrupt-parent = <&aic>; 72862306a36Sopenharmony_ci interrupts = <AIC_IRQ 717 IRQ_TYPE_LEVEL_HIGH>, 72962306a36Sopenharmony_ci <AIC_IRQ 718 IRQ_TYPE_LEVEL_HIGH>, 73062306a36Sopenharmony_ci <AIC_IRQ 719 IRQ_TYPE_LEVEL_HIGH>, 73162306a36Sopenharmony_ci <AIC_IRQ 720 IRQ_TYPE_LEVEL_HIGH>; 73262306a36Sopenharmony_ci interrupt-names = "send-empty", "send-not-empty", 73362306a36Sopenharmony_ci "recv-empty", "recv-not-empty"; 73462306a36Sopenharmony_ci #mbox-cells = <0>; 73562306a36Sopenharmony_ci power-domains = <&ps_ans>; 73662306a36Sopenharmony_ci }; 73762306a36Sopenharmony_ci 73862306a36Sopenharmony_ci sart: sart@27bc50000 { 73962306a36Sopenharmony_ci compatible = "apple,t8112-sart", "apple,t6000-sart"; 74062306a36Sopenharmony_ci reg = <0x2 0x7bc50000 0x0 0x10000>; 74162306a36Sopenharmony_ci power-domains = <&ps_ans>; 74262306a36Sopenharmony_ci }; 74362306a36Sopenharmony_ci 74462306a36Sopenharmony_ci nvme@27bcc0000 { 74562306a36Sopenharmony_ci compatible = "apple,t8112-nvme-ans2", "apple,nvme-ans2"; 74662306a36Sopenharmony_ci reg = <0x2 0x7bcc0000 0x0 0x40000>, 74762306a36Sopenharmony_ci <0x2 0x77400000 0x0 0x4000>; 74862306a36Sopenharmony_ci reg-names = "nvme", "ans"; 74962306a36Sopenharmony_ci interrupt-parent = <&aic>; 75062306a36Sopenharmony_ci interrupts = <AIC_IRQ 724 IRQ_TYPE_LEVEL_HIGH>; 75162306a36Sopenharmony_ci mboxes = <&ans_mbox>; 75262306a36Sopenharmony_ci apple,sart = <&sart>; 75362306a36Sopenharmony_ci power-domains = <&ps_ans>, <&ps_apcie_st>; 75462306a36Sopenharmony_ci power-domain-names = "ans", "apcie0"; 75562306a36Sopenharmony_ci resets = <&ps_ans>; 75662306a36Sopenharmony_ci }; 75762306a36Sopenharmony_ci 75862306a36Sopenharmony_ci pcie0_dart: iommu@681008000 { 75962306a36Sopenharmony_ci compatible = "apple,t8110-dart"; 76062306a36Sopenharmony_ci reg = <0x6 0x81008000 0x0 0x4000>; 76162306a36Sopenharmony_ci #iommu-cells = <1>; 76262306a36Sopenharmony_ci interrupt-parent = <&aic>; 76362306a36Sopenharmony_ci interrupts = <AIC_IRQ 782 IRQ_TYPE_LEVEL_HIGH>; 76462306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 76562306a36Sopenharmony_ci }; 76662306a36Sopenharmony_ci 76762306a36Sopenharmony_ci pcie1_dart: iommu@682008000 { 76862306a36Sopenharmony_ci compatible = "apple,t8110-dart"; 76962306a36Sopenharmony_ci reg = <0x6 0x82008000 0x0 0x4000>; 77062306a36Sopenharmony_ci #iommu-cells = <1>; 77162306a36Sopenharmony_ci interrupt-parent = <&aic>; 77262306a36Sopenharmony_ci interrupts = <AIC_IRQ 785 IRQ_TYPE_LEVEL_HIGH>; 77362306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 77462306a36Sopenharmony_ci status = "disabled"; 77562306a36Sopenharmony_ci }; 77662306a36Sopenharmony_ci 77762306a36Sopenharmony_ci pcie2_dart: iommu@683008000 { 77862306a36Sopenharmony_ci compatible = "apple,t8110-dart"; 77962306a36Sopenharmony_ci reg = <0x6 0x83008000 0x0 0x4000>; 78062306a36Sopenharmony_ci #iommu-cells = <1>; 78162306a36Sopenharmony_ci interrupt-parent = <&aic>; 78262306a36Sopenharmony_ci interrupts = <AIC_IRQ 788 IRQ_TYPE_LEVEL_HIGH>; 78362306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 78462306a36Sopenharmony_ci status = "disabled"; 78562306a36Sopenharmony_ci }; 78662306a36Sopenharmony_ci 78762306a36Sopenharmony_ci pcie3_dart: iommu@684008000 { 78862306a36Sopenharmony_ci compatible = "apple,t8110-dart"; 78962306a36Sopenharmony_ci reg = <0x6 0x84008000 0x0 0x4000>; 79062306a36Sopenharmony_ci #iommu-cells = <1>; 79162306a36Sopenharmony_ci interrupt-parent = <&aic>; 79262306a36Sopenharmony_ci interrupts = <AIC_IRQ 791 IRQ_TYPE_LEVEL_HIGH>; 79362306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 79462306a36Sopenharmony_ci status = "disabled"; 79562306a36Sopenharmony_ci }; 79662306a36Sopenharmony_ci 79762306a36Sopenharmony_ci pcie0: pcie@690000000 { 79862306a36Sopenharmony_ci compatible = "apple,t8112-pcie", "apple,pcie"; 79962306a36Sopenharmony_ci device_type = "pci"; 80062306a36Sopenharmony_ci 80162306a36Sopenharmony_ci reg = <0x6 0x90000000 0x0 0x1000000>, 80262306a36Sopenharmony_ci <0x6 0x80000000 0x0 0x100000>, 80362306a36Sopenharmony_ci <0x6 0x81000000 0x0 0x4000>, 80462306a36Sopenharmony_ci <0x6 0x82000000 0x0 0x4000>, 80562306a36Sopenharmony_ci <0x6 0x83000000 0x0 0x4000>, 80662306a36Sopenharmony_ci <0x6 0x84000000 0x0 0x4000>; 80762306a36Sopenharmony_ci reg-names = "config", "rc", "port0", "port1", "port2", "port3"; 80862306a36Sopenharmony_ci 80962306a36Sopenharmony_ci interrupt-parent = <&aic>; 81062306a36Sopenharmony_ci interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>, 81162306a36Sopenharmony_ci <AIC_IRQ 784 IRQ_TYPE_LEVEL_HIGH>, 81262306a36Sopenharmony_ci <AIC_IRQ 787 IRQ_TYPE_LEVEL_HIGH>, 81362306a36Sopenharmony_ci <AIC_IRQ 790 IRQ_TYPE_LEVEL_HIGH>; 81462306a36Sopenharmony_ci 81562306a36Sopenharmony_ci msi-controller; 81662306a36Sopenharmony_ci msi-parent = <&pcie0>; 81762306a36Sopenharmony_ci msi-ranges = <&aic AIC_IRQ 793 IRQ_TYPE_EDGE_RISING 32>; 81862306a36Sopenharmony_ci 81962306a36Sopenharmony_ci iommu-map = <0x100 &pcie0_dart 0 1>, 82062306a36Sopenharmony_ci <0x200 &pcie1_dart 1 1>, 82162306a36Sopenharmony_ci <0x300 &pcie2_dart 2 1>, 82262306a36Sopenharmony_ci <0x400 &pcie3_dart 3 1>; 82362306a36Sopenharmony_ci iommu-map-mask = <0xff00>; 82462306a36Sopenharmony_ci 82562306a36Sopenharmony_ci bus-range = <0 4>; 82662306a36Sopenharmony_ci #address-cells = <3>; 82762306a36Sopenharmony_ci #size-cells = <2>; 82862306a36Sopenharmony_ci ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>, 82962306a36Sopenharmony_ci <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>; 83062306a36Sopenharmony_ci 83162306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 83262306a36Sopenharmony_ci pinctrl-0 = <&pcie_pins>; 83362306a36Sopenharmony_ci pinctrl-names = "default"; 83462306a36Sopenharmony_ci 83562306a36Sopenharmony_ci port00: pci@0,0 { 83662306a36Sopenharmony_ci device_type = "pci"; 83762306a36Sopenharmony_ci reg = <0x0 0x0 0x0 0x0 0x0>; 83862306a36Sopenharmony_ci reset-gpios = <&pinctrl_ap 166 GPIO_ACTIVE_LOW>; 83962306a36Sopenharmony_ci 84062306a36Sopenharmony_ci #address-cells = <3>; 84162306a36Sopenharmony_ci #size-cells = <2>; 84262306a36Sopenharmony_ci ranges; 84362306a36Sopenharmony_ci 84462306a36Sopenharmony_ci interrupt-controller; 84562306a36Sopenharmony_ci #interrupt-cells = <1>; 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 84862306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &port00 0 0 0 0>, 84962306a36Sopenharmony_ci <0 0 0 2 &port00 0 0 0 1>, 85062306a36Sopenharmony_ci <0 0 0 3 &port00 0 0 0 2>, 85162306a36Sopenharmony_ci <0 0 0 4 &port00 0 0 0 3>; 85262306a36Sopenharmony_ci }; 85362306a36Sopenharmony_ci 85462306a36Sopenharmony_ci port01: pci@1,0 { 85562306a36Sopenharmony_ci device_type = "pci"; 85662306a36Sopenharmony_ci reg = <0x800 0x0 0x0 0x0 0x0>; 85762306a36Sopenharmony_ci reset-gpios = <&pinctrl_ap 167 GPIO_ACTIVE_LOW>; 85862306a36Sopenharmony_ci 85962306a36Sopenharmony_ci #address-cells = <3>; 86062306a36Sopenharmony_ci #size-cells = <2>; 86162306a36Sopenharmony_ci ranges; 86262306a36Sopenharmony_ci 86362306a36Sopenharmony_ci interrupt-controller; 86462306a36Sopenharmony_ci #interrupt-cells = <1>; 86562306a36Sopenharmony_ci 86662306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 86762306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &port01 0 0 0 0>, 86862306a36Sopenharmony_ci <0 0 0 2 &port01 0 0 0 1>, 86962306a36Sopenharmony_ci <0 0 0 3 &port01 0 0 0 2>, 87062306a36Sopenharmony_ci <0 0 0 4 &port01 0 0 0 3>; 87162306a36Sopenharmony_ci 87262306a36Sopenharmony_ci status = "disabled"; 87362306a36Sopenharmony_ci }; 87462306a36Sopenharmony_ci 87562306a36Sopenharmony_ci port02: pci@2,0 { 87662306a36Sopenharmony_ci device_type = "pci"; 87762306a36Sopenharmony_ci reg = <0x1000 0x0 0x0 0x0 0x0>; 87862306a36Sopenharmony_ci reset-gpios = <&pinctrl_ap 168 GPIO_ACTIVE_LOW>; 87962306a36Sopenharmony_ci 88062306a36Sopenharmony_ci #address-cells = <3>; 88162306a36Sopenharmony_ci #size-cells = <2>; 88262306a36Sopenharmony_ci ranges; 88362306a36Sopenharmony_ci 88462306a36Sopenharmony_ci interrupt-controller; 88562306a36Sopenharmony_ci #interrupt-cells = <1>; 88662306a36Sopenharmony_ci 88762306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 88862306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &port02 0 0 0 0>, 88962306a36Sopenharmony_ci <0 0 0 2 &port02 0 0 0 1>, 89062306a36Sopenharmony_ci <0 0 0 3 &port02 0 0 0 2>, 89162306a36Sopenharmony_ci <0 0 0 4 &port02 0 0 0 3>; 89262306a36Sopenharmony_ci 89362306a36Sopenharmony_ci status = "disabled"; 89462306a36Sopenharmony_ci }; 89562306a36Sopenharmony_ci 89662306a36Sopenharmony_ci /* TODO: GPIO unknown */ 89762306a36Sopenharmony_ci port03: pci@3,0 { 89862306a36Sopenharmony_ci device_type = "pci"; 89962306a36Sopenharmony_ci reg = <0x1800 0x0 0x0 0x0 0x0>; 90062306a36Sopenharmony_ci //reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>; 90162306a36Sopenharmony_ci 90262306a36Sopenharmony_ci #address-cells = <3>; 90362306a36Sopenharmony_ci #size-cells = <2>; 90462306a36Sopenharmony_ci ranges; 90562306a36Sopenharmony_ci 90662306a36Sopenharmony_ci interrupt-controller; 90762306a36Sopenharmony_ci #interrupt-cells = <1>; 90862306a36Sopenharmony_ci 90962306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 91062306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &port03 0 0 0 0>, 91162306a36Sopenharmony_ci <0 0 0 2 &port03 0 0 0 1>, 91262306a36Sopenharmony_ci <0 0 0 3 &port03 0 0 0 2>, 91362306a36Sopenharmony_ci <0 0 0 4 &port03 0 0 0 3>; 91462306a36Sopenharmony_ci 91562306a36Sopenharmony_ci status = "disabled"; 91662306a36Sopenharmony_ci }; 91762306a36Sopenharmony_ci }; 91862306a36Sopenharmony_ci }; 91962306a36Sopenharmony_ci}; 92062306a36Sopenharmony_ci 92162306a36Sopenharmony_ci#include "t8112-pmgr.dtsi" 922