162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ OR MIT 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Apple T8103 "M1" SoC 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Other names: H13G, "Tonga" 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 1562306a36Sopenharmony_ci/ { 1662306a36Sopenharmony_ci compatible = "apple,t8103", "apple,arm-platform"; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci #address-cells = <2>; 1962306a36Sopenharmony_ci #size-cells = <2>; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci cpus { 2262306a36Sopenharmony_ci #address-cells = <2>; 2362306a36Sopenharmony_ci #size-cells = <0>; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci cpu-map { 2662306a36Sopenharmony_ci cluster0 { 2762306a36Sopenharmony_ci core0 { 2862306a36Sopenharmony_ci cpu = <&cpu_e0>; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci core1 { 3162306a36Sopenharmony_ci cpu = <&cpu_e1>; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci core2 { 3462306a36Sopenharmony_ci cpu = <&cpu_e2>; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci core3 { 3762306a36Sopenharmony_ci cpu = <&cpu_e3>; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci cluster1 { 4262306a36Sopenharmony_ci core0 { 4362306a36Sopenharmony_ci cpu = <&cpu_p0>; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci core1 { 4662306a36Sopenharmony_ci cpu = <&cpu_p1>; 4762306a36Sopenharmony_ci }; 4862306a36Sopenharmony_ci core2 { 4962306a36Sopenharmony_ci cpu = <&cpu_p2>; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci core3 { 5262306a36Sopenharmony_ci cpu = <&cpu_p3>; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci cpu_e0: cpu@0 { 5862306a36Sopenharmony_ci compatible = "apple,icestorm"; 5962306a36Sopenharmony_ci device_type = "cpu"; 6062306a36Sopenharmony_ci reg = <0x0 0x0>; 6162306a36Sopenharmony_ci enable-method = "spin-table"; 6262306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 6362306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 6462306a36Sopenharmony_ci capacity-dmips-mhz = <714>; 6562306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 6662306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 6762306a36Sopenharmony_ci i-cache-size = <0x20000>; 6862306a36Sopenharmony_ci d-cache-size = <0x10000>; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci cpu_e1: cpu@1 { 7262306a36Sopenharmony_ci compatible = "apple,icestorm"; 7362306a36Sopenharmony_ci device_type = "cpu"; 7462306a36Sopenharmony_ci reg = <0x0 0x1>; 7562306a36Sopenharmony_ci enable-method = "spin-table"; 7662306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 7762306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 7862306a36Sopenharmony_ci capacity-dmips-mhz = <714>; 7962306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 8062306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 8162306a36Sopenharmony_ci i-cache-size = <0x20000>; 8262306a36Sopenharmony_ci d-cache-size = <0x10000>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci cpu_e2: cpu@2 { 8662306a36Sopenharmony_ci compatible = "apple,icestorm"; 8762306a36Sopenharmony_ci device_type = "cpu"; 8862306a36Sopenharmony_ci reg = <0x0 0x2>; 8962306a36Sopenharmony_ci enable-method = "spin-table"; 9062306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 9162306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 9262306a36Sopenharmony_ci capacity-dmips-mhz = <714>; 9362306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 9462306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 9562306a36Sopenharmony_ci i-cache-size = <0x20000>; 9662306a36Sopenharmony_ci d-cache-size = <0x10000>; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci cpu_e3: cpu@3 { 10062306a36Sopenharmony_ci compatible = "apple,icestorm"; 10162306a36Sopenharmony_ci device_type = "cpu"; 10262306a36Sopenharmony_ci reg = <0x0 0x3>; 10362306a36Sopenharmony_ci enable-method = "spin-table"; 10462306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 10562306a36Sopenharmony_ci operating-points-v2 = <&ecluster_opp>; 10662306a36Sopenharmony_ci capacity-dmips-mhz = <714>; 10762306a36Sopenharmony_ci performance-domains = <&cpufreq_e>; 10862306a36Sopenharmony_ci next-level-cache = <&l2_cache_0>; 10962306a36Sopenharmony_ci i-cache-size = <0x20000>; 11062306a36Sopenharmony_ci d-cache-size = <0x10000>; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci cpu_p0: cpu@10100 { 11462306a36Sopenharmony_ci compatible = "apple,firestorm"; 11562306a36Sopenharmony_ci device_type = "cpu"; 11662306a36Sopenharmony_ci reg = <0x0 0x10100>; 11762306a36Sopenharmony_ci enable-method = "spin-table"; 11862306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 11962306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 12062306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 12162306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 12262306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 12362306a36Sopenharmony_ci i-cache-size = <0x30000>; 12462306a36Sopenharmony_ci d-cache-size = <0x20000>; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci cpu_p1: cpu@10101 { 12862306a36Sopenharmony_ci compatible = "apple,firestorm"; 12962306a36Sopenharmony_ci device_type = "cpu"; 13062306a36Sopenharmony_ci reg = <0x0 0x10101>; 13162306a36Sopenharmony_ci enable-method = "spin-table"; 13262306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 13362306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 13462306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 13562306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 13662306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 13762306a36Sopenharmony_ci i-cache-size = <0x30000>; 13862306a36Sopenharmony_ci d-cache-size = <0x20000>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci cpu_p2: cpu@10102 { 14262306a36Sopenharmony_ci compatible = "apple,firestorm"; 14362306a36Sopenharmony_ci device_type = "cpu"; 14462306a36Sopenharmony_ci reg = <0x0 0x10102>; 14562306a36Sopenharmony_ci enable-method = "spin-table"; 14662306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 14762306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 14862306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 14962306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 15062306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 15162306a36Sopenharmony_ci i-cache-size = <0x30000>; 15262306a36Sopenharmony_ci d-cache-size = <0x20000>; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci cpu_p3: cpu@10103 { 15662306a36Sopenharmony_ci compatible = "apple,firestorm"; 15762306a36Sopenharmony_ci device_type = "cpu"; 15862306a36Sopenharmony_ci reg = <0x0 0x10103>; 15962306a36Sopenharmony_ci enable-method = "spin-table"; 16062306a36Sopenharmony_ci cpu-release-addr = <0 0>; /* To be filled by loader */ 16162306a36Sopenharmony_ci operating-points-v2 = <&pcluster_opp>; 16262306a36Sopenharmony_ci capacity-dmips-mhz = <1024>; 16362306a36Sopenharmony_ci performance-domains = <&cpufreq_p>; 16462306a36Sopenharmony_ci next-level-cache = <&l2_cache_1>; 16562306a36Sopenharmony_ci i-cache-size = <0x30000>; 16662306a36Sopenharmony_ci d-cache-size = <0x20000>; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci l2_cache_0: l2-cache-0 { 17062306a36Sopenharmony_ci compatible = "cache"; 17162306a36Sopenharmony_ci cache-level = <2>; 17262306a36Sopenharmony_ci cache-unified; 17362306a36Sopenharmony_ci cache-size = <0x400000>; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci l2_cache_1: l2-cache-1 { 17762306a36Sopenharmony_ci compatible = "cache"; 17862306a36Sopenharmony_ci cache-level = <2>; 17962306a36Sopenharmony_ci cache-unified; 18062306a36Sopenharmony_ci cache-size = <0xc00000>; 18162306a36Sopenharmony_ci }; 18262306a36Sopenharmony_ci }; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci ecluster_opp: opp-table-0 { 18562306a36Sopenharmony_ci compatible = "operating-points-v2"; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci opp01 { 18862306a36Sopenharmony_ci opp-hz = /bits/ 64 <600000000>; 18962306a36Sopenharmony_ci opp-level = <1>; 19062306a36Sopenharmony_ci clock-latency-ns = <7500>; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci opp02 { 19362306a36Sopenharmony_ci opp-hz = /bits/ 64 <972000000>; 19462306a36Sopenharmony_ci opp-level = <2>; 19562306a36Sopenharmony_ci clock-latency-ns = <22000>; 19662306a36Sopenharmony_ci }; 19762306a36Sopenharmony_ci opp03 { 19862306a36Sopenharmony_ci opp-hz = /bits/ 64 <1332000000>; 19962306a36Sopenharmony_ci opp-level = <3>; 20062306a36Sopenharmony_ci clock-latency-ns = <27000>; 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci opp04 { 20362306a36Sopenharmony_ci opp-hz = /bits/ 64 <1704000000>; 20462306a36Sopenharmony_ci opp-level = <4>; 20562306a36Sopenharmony_ci clock-latency-ns = <33000>; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci opp05 { 20862306a36Sopenharmony_ci opp-hz = /bits/ 64 <2064000000>; 20962306a36Sopenharmony_ci opp-level = <5>; 21062306a36Sopenharmony_ci clock-latency-ns = <50000>; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci pcluster_opp: opp-table-1 { 21562306a36Sopenharmony_ci compatible = "operating-points-v2"; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci opp01 { 21862306a36Sopenharmony_ci opp-hz = /bits/ 64 <600000000>; 21962306a36Sopenharmony_ci opp-level = <1>; 22062306a36Sopenharmony_ci clock-latency-ns = <8000>; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci opp02 { 22362306a36Sopenharmony_ci opp-hz = /bits/ 64 <828000000>; 22462306a36Sopenharmony_ci opp-level = <2>; 22562306a36Sopenharmony_ci clock-latency-ns = <19000>; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci opp03 { 22862306a36Sopenharmony_ci opp-hz = /bits/ 64 <1056000000>; 22962306a36Sopenharmony_ci opp-level = <3>; 23062306a36Sopenharmony_ci clock-latency-ns = <21000>; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci opp04 { 23362306a36Sopenharmony_ci opp-hz = /bits/ 64 <1284000000>; 23462306a36Sopenharmony_ci opp-level = <4>; 23562306a36Sopenharmony_ci clock-latency-ns = <23000>; 23662306a36Sopenharmony_ci }; 23762306a36Sopenharmony_ci opp05 { 23862306a36Sopenharmony_ci opp-hz = /bits/ 64 <1500000000>; 23962306a36Sopenharmony_ci opp-level = <5>; 24062306a36Sopenharmony_ci clock-latency-ns = <24000>; 24162306a36Sopenharmony_ci }; 24262306a36Sopenharmony_ci opp06 { 24362306a36Sopenharmony_ci opp-hz = /bits/ 64 <1728000000>; 24462306a36Sopenharmony_ci opp-level = <6>; 24562306a36Sopenharmony_ci clock-latency-ns = <29000>; 24662306a36Sopenharmony_ci }; 24762306a36Sopenharmony_ci opp07 { 24862306a36Sopenharmony_ci opp-hz = /bits/ 64 <1956000000>; 24962306a36Sopenharmony_ci opp-level = <7>; 25062306a36Sopenharmony_ci clock-latency-ns = <31000>; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci opp08 { 25362306a36Sopenharmony_ci opp-hz = /bits/ 64 <2184000000>; 25462306a36Sopenharmony_ci opp-level = <8>; 25562306a36Sopenharmony_ci clock-latency-ns = <34000>; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci opp09 { 25862306a36Sopenharmony_ci opp-hz = /bits/ 64 <2388000000>; 25962306a36Sopenharmony_ci opp-level = <9>; 26062306a36Sopenharmony_ci clock-latency-ns = <36000>; 26162306a36Sopenharmony_ci }; 26262306a36Sopenharmony_ci opp10 { 26362306a36Sopenharmony_ci opp-hz = /bits/ 64 <2592000000>; 26462306a36Sopenharmony_ci opp-level = <10>; 26562306a36Sopenharmony_ci clock-latency-ns = <51000>; 26662306a36Sopenharmony_ci }; 26762306a36Sopenharmony_ci opp11 { 26862306a36Sopenharmony_ci opp-hz = /bits/ 64 <2772000000>; 26962306a36Sopenharmony_ci opp-level = <11>; 27062306a36Sopenharmony_ci clock-latency-ns = <54000>; 27162306a36Sopenharmony_ci }; 27262306a36Sopenharmony_ci opp12 { 27362306a36Sopenharmony_ci opp-hz = /bits/ 64 <2988000000>; 27462306a36Sopenharmony_ci opp-level = <12>; 27562306a36Sopenharmony_ci clock-latency-ns = <55000>; 27662306a36Sopenharmony_ci }; 27762306a36Sopenharmony_ci#if 0 27862306a36Sopenharmony_ci /* Not available until CPU deep sleep is implemented */ 27962306a36Sopenharmony_ci opp13 { 28062306a36Sopenharmony_ci opp-hz = /bits/ 64 <3096000000>; 28162306a36Sopenharmony_ci opp-level = <13>; 28262306a36Sopenharmony_ci clock-latency-ns = <55000>; 28362306a36Sopenharmony_ci turbo-mode; 28462306a36Sopenharmony_ci }; 28562306a36Sopenharmony_ci opp14 { 28662306a36Sopenharmony_ci opp-hz = /bits/ 64 <3144000000>; 28762306a36Sopenharmony_ci opp-level = <14>; 28862306a36Sopenharmony_ci clock-latency-ns = <56000>; 28962306a36Sopenharmony_ci turbo-mode; 29062306a36Sopenharmony_ci }; 29162306a36Sopenharmony_ci opp15 { 29262306a36Sopenharmony_ci opp-hz = /bits/ 64 <3204000000>; 29362306a36Sopenharmony_ci opp-level = <15>; 29462306a36Sopenharmony_ci clock-latency-ns = <56000>; 29562306a36Sopenharmony_ci turbo-mode; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci#endif 29862306a36Sopenharmony_ci }; 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci timer { 30162306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 30262306a36Sopenharmony_ci interrupt-parent = <&aic>; 30362306a36Sopenharmony_ci interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; 30462306a36Sopenharmony_ci interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>, 30562306a36Sopenharmony_ci <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>, 30662306a36Sopenharmony_ci <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>, 30762306a36Sopenharmony_ci <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>; 30862306a36Sopenharmony_ci }; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci pmu-e { 31162306a36Sopenharmony_ci compatible = "apple,icestorm-pmu"; 31262306a36Sopenharmony_ci interrupt-parent = <&aic>; 31362306a36Sopenharmony_ci interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>; 31462306a36Sopenharmony_ci }; 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci pmu-p { 31762306a36Sopenharmony_ci compatible = "apple,firestorm-pmu"; 31862306a36Sopenharmony_ci interrupt-parent = <&aic>; 31962306a36Sopenharmony_ci interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>; 32062306a36Sopenharmony_ci }; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci clkref: clock-ref { 32362306a36Sopenharmony_ci compatible = "fixed-clock"; 32462306a36Sopenharmony_ci #clock-cells = <0>; 32562306a36Sopenharmony_ci clock-frequency = <24000000>; 32662306a36Sopenharmony_ci clock-output-names = "clkref"; 32762306a36Sopenharmony_ci }; 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ci /* 33062306a36Sopenharmony_ci * This is a fabulated representation of the input clock 33162306a36Sopenharmony_ci * to NCO since we don't know the true clock tree. 33262306a36Sopenharmony_ci */ 33362306a36Sopenharmony_ci nco_clkref: clock-ref-nco { 33462306a36Sopenharmony_ci compatible = "fixed-clock"; 33562306a36Sopenharmony_ci #clock-cells = <0>; 33662306a36Sopenharmony_ci clock-output-names = "nco_ref"; 33762306a36Sopenharmony_ci }; 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci soc { 34062306a36Sopenharmony_ci compatible = "simple-bus"; 34162306a36Sopenharmony_ci #address-cells = <2>; 34262306a36Sopenharmony_ci #size-cells = <2>; 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci ranges; 34562306a36Sopenharmony_ci nonposted-mmio; 34662306a36Sopenharmony_ci 34762306a36Sopenharmony_ci cpufreq_e: performance-controller@210e20000 { 34862306a36Sopenharmony_ci compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq"; 34962306a36Sopenharmony_ci reg = <0x2 0x10e20000 0 0x1000>; 35062306a36Sopenharmony_ci #performance-domain-cells = <0>; 35162306a36Sopenharmony_ci }; 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ci cpufreq_p: performance-controller@211e20000 { 35462306a36Sopenharmony_ci compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq"; 35562306a36Sopenharmony_ci reg = <0x2 0x11e20000 0 0x1000>; 35662306a36Sopenharmony_ci #performance-domain-cells = <0>; 35762306a36Sopenharmony_ci }; 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ci sio_dart: iommu@235004000 { 36062306a36Sopenharmony_ci compatible = "apple,t8103-dart"; 36162306a36Sopenharmony_ci reg = <0x2 0x35004000 0x0 0x4000>; 36262306a36Sopenharmony_ci interrupt-parent = <&aic>; 36362306a36Sopenharmony_ci interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>; 36462306a36Sopenharmony_ci #iommu-cells = <1>; 36562306a36Sopenharmony_ci power-domains = <&ps_sio_cpu>; 36662306a36Sopenharmony_ci }; 36762306a36Sopenharmony_ci 36862306a36Sopenharmony_ci i2c0: i2c@235010000 { 36962306a36Sopenharmony_ci compatible = "apple,t8103-i2c", "apple,i2c"; 37062306a36Sopenharmony_ci reg = <0x2 0x35010000 0x0 0x4000>; 37162306a36Sopenharmony_ci clocks = <&clkref>; 37262306a36Sopenharmony_ci interrupt-parent = <&aic>; 37362306a36Sopenharmony_ci interrupts = <AIC_IRQ 627 IRQ_TYPE_LEVEL_HIGH>; 37462306a36Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 37562306a36Sopenharmony_ci pinctrl-names = "default"; 37662306a36Sopenharmony_ci #address-cells = <0x1>; 37762306a36Sopenharmony_ci #size-cells = <0x0>; 37862306a36Sopenharmony_ci power-domains = <&ps_i2c0>; 37962306a36Sopenharmony_ci }; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci i2c1: i2c@235014000 { 38262306a36Sopenharmony_ci compatible = "apple,t8103-i2c", "apple,i2c"; 38362306a36Sopenharmony_ci reg = <0x2 0x35014000 0x0 0x4000>; 38462306a36Sopenharmony_ci clocks = <&clkref>; 38562306a36Sopenharmony_ci interrupt-parent = <&aic>; 38662306a36Sopenharmony_ci interrupts = <AIC_IRQ 628 IRQ_TYPE_LEVEL_HIGH>; 38762306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 38862306a36Sopenharmony_ci pinctrl-names = "default"; 38962306a36Sopenharmony_ci #address-cells = <0x1>; 39062306a36Sopenharmony_ci #size-cells = <0x0>; 39162306a36Sopenharmony_ci power-domains = <&ps_i2c1>; 39262306a36Sopenharmony_ci }; 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci i2c2: i2c@235018000 { 39562306a36Sopenharmony_ci compatible = "apple,t8103-i2c", "apple,i2c"; 39662306a36Sopenharmony_ci reg = <0x2 0x35018000 0x0 0x4000>; 39762306a36Sopenharmony_ci clocks = <&clkref>; 39862306a36Sopenharmony_ci interrupt-parent = <&aic>; 39962306a36Sopenharmony_ci interrupts = <AIC_IRQ 629 IRQ_TYPE_LEVEL_HIGH>; 40062306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 40162306a36Sopenharmony_ci pinctrl-names = "default"; 40262306a36Sopenharmony_ci #address-cells = <0x1>; 40362306a36Sopenharmony_ci #size-cells = <0x0>; 40462306a36Sopenharmony_ci status = "disabled"; /* not used in all devices */ 40562306a36Sopenharmony_ci power-domains = <&ps_i2c2>; 40662306a36Sopenharmony_ci }; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci i2c3: i2c@23501c000 { 40962306a36Sopenharmony_ci compatible = "apple,t8103-i2c", "apple,i2c"; 41062306a36Sopenharmony_ci reg = <0x2 0x3501c000 0x0 0x4000>; 41162306a36Sopenharmony_ci clocks = <&clkref>; 41262306a36Sopenharmony_ci interrupt-parent = <&aic>; 41362306a36Sopenharmony_ci interrupts = <AIC_IRQ 630 IRQ_TYPE_LEVEL_HIGH>; 41462306a36Sopenharmony_ci pinctrl-0 = <&i2c3_pins>; 41562306a36Sopenharmony_ci pinctrl-names = "default"; 41662306a36Sopenharmony_ci #address-cells = <0x1>; 41762306a36Sopenharmony_ci #size-cells = <0x0>; 41862306a36Sopenharmony_ci power-domains = <&ps_i2c3>; 41962306a36Sopenharmony_ci }; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci i2c4: i2c@235020000 { 42262306a36Sopenharmony_ci compatible = "apple,t8103-i2c", "apple,i2c"; 42362306a36Sopenharmony_ci reg = <0x2 0x35020000 0x0 0x4000>; 42462306a36Sopenharmony_ci clocks = <&clkref>; 42562306a36Sopenharmony_ci interrupt-parent = <&aic>; 42662306a36Sopenharmony_ci interrupts = <AIC_IRQ 631 IRQ_TYPE_LEVEL_HIGH>; 42762306a36Sopenharmony_ci pinctrl-0 = <&i2c4_pins>; 42862306a36Sopenharmony_ci pinctrl-names = "default"; 42962306a36Sopenharmony_ci #address-cells = <0x1>; 43062306a36Sopenharmony_ci #size-cells = <0x0>; 43162306a36Sopenharmony_ci power-domains = <&ps_i2c4>; 43262306a36Sopenharmony_ci status = "disabled"; /* only used in J293 */ 43362306a36Sopenharmony_ci }; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci fpwm1: pwm@235044000 { 43662306a36Sopenharmony_ci compatible = "apple,t8103-fpwm", "apple,s5l-fpwm"; 43762306a36Sopenharmony_ci reg = <0x2 0x35044000 0x0 0x4000>; 43862306a36Sopenharmony_ci power-domains = <&ps_fpwm1>; 43962306a36Sopenharmony_ci clocks = <&clkref>; 44062306a36Sopenharmony_ci #pwm-cells = <2>; 44162306a36Sopenharmony_ci status = "disabled"; 44262306a36Sopenharmony_ci }; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci serial0: serial@235200000 { 44562306a36Sopenharmony_ci compatible = "apple,s5l-uart"; 44662306a36Sopenharmony_ci reg = <0x2 0x35200000 0x0 0x1000>; 44762306a36Sopenharmony_ci reg-io-width = <4>; 44862306a36Sopenharmony_ci interrupt-parent = <&aic>; 44962306a36Sopenharmony_ci interrupts = <AIC_IRQ 605 IRQ_TYPE_LEVEL_HIGH>; 45062306a36Sopenharmony_ci /* 45162306a36Sopenharmony_ci * TODO: figure out the clocking properly, there may 45262306a36Sopenharmony_ci * be a third selectable clock. 45362306a36Sopenharmony_ci */ 45462306a36Sopenharmony_ci clocks = <&clkref>, <&clkref>; 45562306a36Sopenharmony_ci clock-names = "uart", "clk_uart_baud0"; 45662306a36Sopenharmony_ci power-domains = <&ps_uart0>; 45762306a36Sopenharmony_ci status = "disabled"; 45862306a36Sopenharmony_ci }; 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci serial2: serial@235208000 { 46162306a36Sopenharmony_ci compatible = "apple,s5l-uart"; 46262306a36Sopenharmony_ci reg = <0x2 0x35208000 0x0 0x1000>; 46362306a36Sopenharmony_ci reg-io-width = <4>; 46462306a36Sopenharmony_ci interrupt-parent = <&aic>; 46562306a36Sopenharmony_ci interrupts = <AIC_IRQ 607 IRQ_TYPE_LEVEL_HIGH>; 46662306a36Sopenharmony_ci clocks = <&clkref>, <&clkref>; 46762306a36Sopenharmony_ci clock-names = "uart", "clk_uart_baud0"; 46862306a36Sopenharmony_ci power-domains = <&ps_uart2>; 46962306a36Sopenharmony_ci status = "disabled"; 47062306a36Sopenharmony_ci }; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci admac: dma-controller@238200000 { 47362306a36Sopenharmony_ci compatible = "apple,t8103-admac", "apple,admac"; 47462306a36Sopenharmony_ci reg = <0x2 0x38200000 0x0 0x34000>; 47562306a36Sopenharmony_ci dma-channels = <24>; 47662306a36Sopenharmony_ci interrupts-extended = <0>, 47762306a36Sopenharmony_ci <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>, 47862306a36Sopenharmony_ci <0>, 47962306a36Sopenharmony_ci <0>; 48062306a36Sopenharmony_ci #dma-cells = <1>; 48162306a36Sopenharmony_ci iommus = <&sio_dart 2>; 48262306a36Sopenharmony_ci power-domains = <&ps_sio_adma>; 48362306a36Sopenharmony_ci resets = <&ps_audio_p>; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ci mca: i2s@238400000 { 48762306a36Sopenharmony_ci compatible = "apple,t8103-mca", "apple,mca"; 48862306a36Sopenharmony_ci reg = <0x2 0x38400000 0x0 0x18000>, 48962306a36Sopenharmony_ci <0x2 0x38300000 0x0 0x30000>; 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci interrupt-parent = <&aic>; 49262306a36Sopenharmony_ci interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>, 49362306a36Sopenharmony_ci <AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>, 49462306a36Sopenharmony_ci <AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>, 49562306a36Sopenharmony_ci <AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>, 49662306a36Sopenharmony_ci <AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>, 49762306a36Sopenharmony_ci <AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci resets = <&ps_audio_p>; 50062306a36Sopenharmony_ci clocks = <&nco 0>, <&nco 1>, <&nco 2>, 50162306a36Sopenharmony_ci <&nco 3>, <&nco 4>, <&nco 4>; 50262306a36Sopenharmony_ci power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>, 50362306a36Sopenharmony_ci <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>; 50462306a36Sopenharmony_ci dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>, 50562306a36Sopenharmony_ci <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>, 50662306a36Sopenharmony_ci <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>, 50762306a36Sopenharmony_ci <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>, 50862306a36Sopenharmony_ci <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>, 50962306a36Sopenharmony_ci <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>; 51062306a36Sopenharmony_ci dma-names = "tx0a", "rx0a", "tx0b", "rx0b", 51162306a36Sopenharmony_ci "tx1a", "rx1a", "tx1b", "rx1b", 51262306a36Sopenharmony_ci "tx2a", "rx2a", "tx2b", "rx2b", 51362306a36Sopenharmony_ci "tx3a", "rx3a", "tx3b", "rx3b", 51462306a36Sopenharmony_ci "tx4a", "rx4a", "tx4b", "rx4b", 51562306a36Sopenharmony_ci "tx5a", "rx5a", "tx5b", "rx5b"; 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci #sound-dai-cells = <1>; 51862306a36Sopenharmony_ci }; 51962306a36Sopenharmony_ci 52062306a36Sopenharmony_ci nco: clock-controller@23b044000 { 52162306a36Sopenharmony_ci compatible = "apple,t8103-nco", "apple,nco"; 52262306a36Sopenharmony_ci reg = <0x2 0x3b044000 0x0 0x14000>; 52362306a36Sopenharmony_ci clocks = <&nco_clkref>; 52462306a36Sopenharmony_ci #clock-cells = <1>; 52562306a36Sopenharmony_ci }; 52662306a36Sopenharmony_ci 52762306a36Sopenharmony_ci aic: interrupt-controller@23b100000 { 52862306a36Sopenharmony_ci compatible = "apple,t8103-aic", "apple,aic"; 52962306a36Sopenharmony_ci #interrupt-cells = <3>; 53062306a36Sopenharmony_ci interrupt-controller; 53162306a36Sopenharmony_ci reg = <0x2 0x3b100000 0x0 0x8000>; 53262306a36Sopenharmony_ci power-domains = <&ps_aic>; 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci affinities { 53562306a36Sopenharmony_ci e-core-pmu-affinity { 53662306a36Sopenharmony_ci apple,fiq-index = <AIC_CPU_PMU_E>; 53762306a36Sopenharmony_ci cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>; 53862306a36Sopenharmony_ci }; 53962306a36Sopenharmony_ci 54062306a36Sopenharmony_ci p-core-pmu-affinity { 54162306a36Sopenharmony_ci apple,fiq-index = <AIC_CPU_PMU_P>; 54262306a36Sopenharmony_ci cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>; 54362306a36Sopenharmony_ci }; 54462306a36Sopenharmony_ci }; 54562306a36Sopenharmony_ci }; 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_ci pmgr: power-management@23b700000 { 54862306a36Sopenharmony_ci compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 54962306a36Sopenharmony_ci #address-cells = <1>; 55062306a36Sopenharmony_ci #size-cells = <1>; 55162306a36Sopenharmony_ci reg = <0x2 0x3b700000 0 0x14000>; 55262306a36Sopenharmony_ci }; 55362306a36Sopenharmony_ci 55462306a36Sopenharmony_ci pinctrl_ap: pinctrl@23c100000 { 55562306a36Sopenharmony_ci compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 55662306a36Sopenharmony_ci reg = <0x2 0x3c100000 0x0 0x100000>; 55762306a36Sopenharmony_ci power-domains = <&ps_gpio>; 55862306a36Sopenharmony_ci 55962306a36Sopenharmony_ci gpio-controller; 56062306a36Sopenharmony_ci #gpio-cells = <2>; 56162306a36Sopenharmony_ci gpio-ranges = <&pinctrl_ap 0 0 212>; 56262306a36Sopenharmony_ci apple,npins = <212>; 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ci interrupt-controller; 56562306a36Sopenharmony_ci #interrupt-cells = <2>; 56662306a36Sopenharmony_ci interrupt-parent = <&aic>; 56762306a36Sopenharmony_ci interrupts = <AIC_IRQ 190 IRQ_TYPE_LEVEL_HIGH>, 56862306a36Sopenharmony_ci <AIC_IRQ 191 IRQ_TYPE_LEVEL_HIGH>, 56962306a36Sopenharmony_ci <AIC_IRQ 192 IRQ_TYPE_LEVEL_HIGH>, 57062306a36Sopenharmony_ci <AIC_IRQ 193 IRQ_TYPE_LEVEL_HIGH>, 57162306a36Sopenharmony_ci <AIC_IRQ 194 IRQ_TYPE_LEVEL_HIGH>, 57262306a36Sopenharmony_ci <AIC_IRQ 195 IRQ_TYPE_LEVEL_HIGH>, 57362306a36Sopenharmony_ci <AIC_IRQ 196 IRQ_TYPE_LEVEL_HIGH>; 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ci i2c0_pins: i2c0-pins { 57662306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(192, 1)>, 57762306a36Sopenharmony_ci <APPLE_PINMUX(188, 1)>; 57862306a36Sopenharmony_ci }; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_ci i2c1_pins: i2c1-pins { 58162306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(201, 1)>, 58262306a36Sopenharmony_ci <APPLE_PINMUX(199, 1)>; 58362306a36Sopenharmony_ci }; 58462306a36Sopenharmony_ci 58562306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 58662306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(163, 1)>, 58762306a36Sopenharmony_ci <APPLE_PINMUX(162, 1)>; 58862306a36Sopenharmony_ci }; 58962306a36Sopenharmony_ci 59062306a36Sopenharmony_ci i2c3_pins: i2c3-pins { 59162306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(73, 1)>, 59262306a36Sopenharmony_ci <APPLE_PINMUX(72, 1)>; 59362306a36Sopenharmony_ci }; 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_ci i2c4_pins: i2c4-pins { 59662306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(135, 1)>, 59762306a36Sopenharmony_ci <APPLE_PINMUX(134, 1)>; 59862306a36Sopenharmony_ci }; 59962306a36Sopenharmony_ci 60062306a36Sopenharmony_ci pcie_pins: pcie-pins { 60162306a36Sopenharmony_ci pinmux = <APPLE_PINMUX(150, 1)>, 60262306a36Sopenharmony_ci <APPLE_PINMUX(151, 1)>, 60362306a36Sopenharmony_ci <APPLE_PINMUX(32, 1)>; 60462306a36Sopenharmony_ci }; 60562306a36Sopenharmony_ci }; 60662306a36Sopenharmony_ci 60762306a36Sopenharmony_ci pinctrl_nub: pinctrl@23d1f0000 { 60862306a36Sopenharmony_ci compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 60962306a36Sopenharmony_ci reg = <0x2 0x3d1f0000 0x0 0x4000>; 61062306a36Sopenharmony_ci power-domains = <&ps_nub_gpio>; 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ci gpio-controller; 61362306a36Sopenharmony_ci #gpio-cells = <2>; 61462306a36Sopenharmony_ci gpio-ranges = <&pinctrl_nub 0 0 23>; 61562306a36Sopenharmony_ci apple,npins = <23>; 61662306a36Sopenharmony_ci 61762306a36Sopenharmony_ci interrupt-controller; 61862306a36Sopenharmony_ci #interrupt-cells = <2>; 61962306a36Sopenharmony_ci interrupt-parent = <&aic>; 62062306a36Sopenharmony_ci interrupts = <AIC_IRQ 330 IRQ_TYPE_LEVEL_HIGH>, 62162306a36Sopenharmony_ci <AIC_IRQ 331 IRQ_TYPE_LEVEL_HIGH>, 62262306a36Sopenharmony_ci <AIC_IRQ 332 IRQ_TYPE_LEVEL_HIGH>, 62362306a36Sopenharmony_ci <AIC_IRQ 333 IRQ_TYPE_LEVEL_HIGH>, 62462306a36Sopenharmony_ci <AIC_IRQ 334 IRQ_TYPE_LEVEL_HIGH>, 62562306a36Sopenharmony_ci <AIC_IRQ 335 IRQ_TYPE_LEVEL_HIGH>, 62662306a36Sopenharmony_ci <AIC_IRQ 336 IRQ_TYPE_LEVEL_HIGH>; 62762306a36Sopenharmony_ci }; 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci pmgr_mini: power-management@23d280000 { 63062306a36Sopenharmony_ci compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd"; 63162306a36Sopenharmony_ci #address-cells = <1>; 63262306a36Sopenharmony_ci #size-cells = <1>; 63362306a36Sopenharmony_ci reg = <0x2 0x3d280000 0 0x4000>; 63462306a36Sopenharmony_ci }; 63562306a36Sopenharmony_ci 63662306a36Sopenharmony_ci wdt: watchdog@23d2b0000 { 63762306a36Sopenharmony_ci compatible = "apple,t8103-wdt", "apple,wdt"; 63862306a36Sopenharmony_ci reg = <0x2 0x3d2b0000 0x0 0x4000>; 63962306a36Sopenharmony_ci clocks = <&clkref>; 64062306a36Sopenharmony_ci interrupt-parent = <&aic>; 64162306a36Sopenharmony_ci interrupts = <AIC_IRQ 338 IRQ_TYPE_LEVEL_HIGH>; 64262306a36Sopenharmony_ci }; 64362306a36Sopenharmony_ci 64462306a36Sopenharmony_ci pinctrl_smc: pinctrl@23e820000 { 64562306a36Sopenharmony_ci compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 64662306a36Sopenharmony_ci reg = <0x2 0x3e820000 0x0 0x4000>; 64762306a36Sopenharmony_ci 64862306a36Sopenharmony_ci gpio-controller; 64962306a36Sopenharmony_ci #gpio-cells = <2>; 65062306a36Sopenharmony_ci gpio-ranges = <&pinctrl_smc 0 0 16>; 65162306a36Sopenharmony_ci apple,npins = <16>; 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_ci interrupt-controller; 65462306a36Sopenharmony_ci #interrupt-cells = <2>; 65562306a36Sopenharmony_ci interrupt-parent = <&aic>; 65662306a36Sopenharmony_ci interrupts = <AIC_IRQ 391 IRQ_TYPE_LEVEL_HIGH>, 65762306a36Sopenharmony_ci <AIC_IRQ 392 IRQ_TYPE_LEVEL_HIGH>, 65862306a36Sopenharmony_ci <AIC_IRQ 393 IRQ_TYPE_LEVEL_HIGH>, 65962306a36Sopenharmony_ci <AIC_IRQ 394 IRQ_TYPE_LEVEL_HIGH>, 66062306a36Sopenharmony_ci <AIC_IRQ 395 IRQ_TYPE_LEVEL_HIGH>, 66162306a36Sopenharmony_ci <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>, 66262306a36Sopenharmony_ci <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>; 66362306a36Sopenharmony_ci }; 66462306a36Sopenharmony_ci 66562306a36Sopenharmony_ci pinctrl_aop: pinctrl@24a820000 { 66662306a36Sopenharmony_ci compatible = "apple,t8103-pinctrl", "apple,pinctrl"; 66762306a36Sopenharmony_ci reg = <0x2 0x4a820000 0x0 0x4000>; 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_ci gpio-controller; 67062306a36Sopenharmony_ci #gpio-cells = <2>; 67162306a36Sopenharmony_ci gpio-ranges = <&pinctrl_aop 0 0 42>; 67262306a36Sopenharmony_ci apple,npins = <42>; 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ci interrupt-controller; 67562306a36Sopenharmony_ci #interrupt-cells = <2>; 67662306a36Sopenharmony_ci interrupt-parent = <&aic>; 67762306a36Sopenharmony_ci interrupts = <AIC_IRQ 268 IRQ_TYPE_LEVEL_HIGH>, 67862306a36Sopenharmony_ci <AIC_IRQ 269 IRQ_TYPE_LEVEL_HIGH>, 67962306a36Sopenharmony_ci <AIC_IRQ 270 IRQ_TYPE_LEVEL_HIGH>, 68062306a36Sopenharmony_ci <AIC_IRQ 271 IRQ_TYPE_LEVEL_HIGH>, 68162306a36Sopenharmony_ci <AIC_IRQ 272 IRQ_TYPE_LEVEL_HIGH>, 68262306a36Sopenharmony_ci <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>, 68362306a36Sopenharmony_ci <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>; 68462306a36Sopenharmony_ci }; 68562306a36Sopenharmony_ci 68662306a36Sopenharmony_ci ans_mbox: mbox@277408000 { 68762306a36Sopenharmony_ci compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4"; 68862306a36Sopenharmony_ci reg = <0x2 0x77408000 0x0 0x4000>; 68962306a36Sopenharmony_ci interrupt-parent = <&aic>; 69062306a36Sopenharmony_ci interrupts = <AIC_IRQ 583 IRQ_TYPE_LEVEL_HIGH>, 69162306a36Sopenharmony_ci <AIC_IRQ 584 IRQ_TYPE_LEVEL_HIGH>, 69262306a36Sopenharmony_ci <AIC_IRQ 585 IRQ_TYPE_LEVEL_HIGH>, 69362306a36Sopenharmony_ci <AIC_IRQ 586 IRQ_TYPE_LEVEL_HIGH>; 69462306a36Sopenharmony_ci interrupt-names = "send-empty", "send-not-empty", 69562306a36Sopenharmony_ci "recv-empty", "recv-not-empty"; 69662306a36Sopenharmony_ci #mbox-cells = <0>; 69762306a36Sopenharmony_ci power-domains = <&ps_ans2>; 69862306a36Sopenharmony_ci }; 69962306a36Sopenharmony_ci 70062306a36Sopenharmony_ci sart: iommu@27bc50000 { 70162306a36Sopenharmony_ci compatible = "apple,t8103-sart"; 70262306a36Sopenharmony_ci reg = <0x2 0x7bc50000 0x0 0x10000>; 70362306a36Sopenharmony_ci power-domains = <&ps_ans2>; 70462306a36Sopenharmony_ci }; 70562306a36Sopenharmony_ci 70662306a36Sopenharmony_ci nvme@27bcc0000 { 70762306a36Sopenharmony_ci compatible = "apple,t8103-nvme-ans2", "apple,nvme-ans2"; 70862306a36Sopenharmony_ci reg = <0x2 0x7bcc0000 0x0 0x40000>, 70962306a36Sopenharmony_ci <0x2 0x77400000 0x0 0x4000>; 71062306a36Sopenharmony_ci reg-names = "nvme", "ans"; 71162306a36Sopenharmony_ci interrupt-parent = <&aic>; 71262306a36Sopenharmony_ci interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>; 71362306a36Sopenharmony_ci mboxes = <&ans_mbox>; 71462306a36Sopenharmony_ci apple,sart = <&sart>; 71562306a36Sopenharmony_ci power-domains = <&ps_ans2>, <&ps_apcie_st>; 71662306a36Sopenharmony_ci power-domain-names = "ans", "apcie0"; 71762306a36Sopenharmony_ci resets = <&ps_ans2>; 71862306a36Sopenharmony_ci }; 71962306a36Sopenharmony_ci 72062306a36Sopenharmony_ci pcie0_dart_0: iommu@681008000 { 72162306a36Sopenharmony_ci compatible = "apple,t8103-dart"; 72262306a36Sopenharmony_ci reg = <0x6 0x81008000 0x0 0x4000>; 72362306a36Sopenharmony_ci #iommu-cells = <1>; 72462306a36Sopenharmony_ci interrupt-parent = <&aic>; 72562306a36Sopenharmony_ci interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>; 72662306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 72762306a36Sopenharmony_ci }; 72862306a36Sopenharmony_ci 72962306a36Sopenharmony_ci pcie0_dart_1: iommu@682008000 { 73062306a36Sopenharmony_ci compatible = "apple,t8103-dart"; 73162306a36Sopenharmony_ci reg = <0x6 0x82008000 0x0 0x4000>; 73262306a36Sopenharmony_ci #iommu-cells = <1>; 73362306a36Sopenharmony_ci interrupt-parent = <&aic>; 73462306a36Sopenharmony_ci interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>; 73562306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 73662306a36Sopenharmony_ci status = "disabled"; 73762306a36Sopenharmony_ci }; 73862306a36Sopenharmony_ci 73962306a36Sopenharmony_ci pcie0_dart_2: iommu@683008000 { 74062306a36Sopenharmony_ci compatible = "apple,t8103-dart"; 74162306a36Sopenharmony_ci reg = <0x6 0x83008000 0x0 0x4000>; 74262306a36Sopenharmony_ci #iommu-cells = <1>; 74362306a36Sopenharmony_ci interrupt-parent = <&aic>; 74462306a36Sopenharmony_ci interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>; 74562306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 74662306a36Sopenharmony_ci status = "disabled"; 74762306a36Sopenharmony_ci }; 74862306a36Sopenharmony_ci 74962306a36Sopenharmony_ci pcie0: pcie@690000000 { 75062306a36Sopenharmony_ci compatible = "apple,t8103-pcie", "apple,pcie"; 75162306a36Sopenharmony_ci device_type = "pci"; 75262306a36Sopenharmony_ci 75362306a36Sopenharmony_ci reg = <0x6 0x90000000 0x0 0x1000000>, 75462306a36Sopenharmony_ci <0x6 0x80000000 0x0 0x100000>, 75562306a36Sopenharmony_ci <0x6 0x81000000 0x0 0x4000>, 75662306a36Sopenharmony_ci <0x6 0x82000000 0x0 0x4000>, 75762306a36Sopenharmony_ci <0x6 0x83000000 0x0 0x4000>; 75862306a36Sopenharmony_ci reg-names = "config", "rc", "port0", "port1", "port2"; 75962306a36Sopenharmony_ci 76062306a36Sopenharmony_ci interrupt-parent = <&aic>; 76162306a36Sopenharmony_ci interrupts = <AIC_IRQ 695 IRQ_TYPE_LEVEL_HIGH>, 76262306a36Sopenharmony_ci <AIC_IRQ 698 IRQ_TYPE_LEVEL_HIGH>, 76362306a36Sopenharmony_ci <AIC_IRQ 701 IRQ_TYPE_LEVEL_HIGH>; 76462306a36Sopenharmony_ci 76562306a36Sopenharmony_ci msi-controller; 76662306a36Sopenharmony_ci msi-parent = <&pcie0>; 76762306a36Sopenharmony_ci msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>; 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ci 77062306a36Sopenharmony_ci iommu-map = <0x100 &pcie0_dart_0 1 1>, 77162306a36Sopenharmony_ci <0x200 &pcie0_dart_1 1 1>, 77262306a36Sopenharmony_ci <0x300 &pcie0_dart_2 1 1>; 77362306a36Sopenharmony_ci iommu-map-mask = <0xff00>; 77462306a36Sopenharmony_ci 77562306a36Sopenharmony_ci bus-range = <0 3>; 77662306a36Sopenharmony_ci #address-cells = <3>; 77762306a36Sopenharmony_ci #size-cells = <2>; 77862306a36Sopenharmony_ci ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>, 77962306a36Sopenharmony_ci <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>; 78062306a36Sopenharmony_ci 78162306a36Sopenharmony_ci power-domains = <&ps_apcie_gp>; 78262306a36Sopenharmony_ci pinctrl-0 = <&pcie_pins>; 78362306a36Sopenharmony_ci pinctrl-names = "default"; 78462306a36Sopenharmony_ci 78562306a36Sopenharmony_ci port00: pci@0,0 { 78662306a36Sopenharmony_ci device_type = "pci"; 78762306a36Sopenharmony_ci reg = <0x0 0x0 0x0 0x0 0x0>; 78862306a36Sopenharmony_ci reset-gpios = <&pinctrl_ap 152 GPIO_ACTIVE_LOW>; 78962306a36Sopenharmony_ci 79062306a36Sopenharmony_ci #address-cells = <3>; 79162306a36Sopenharmony_ci #size-cells = <2>; 79262306a36Sopenharmony_ci ranges; 79362306a36Sopenharmony_ci 79462306a36Sopenharmony_ci interrupt-controller; 79562306a36Sopenharmony_ci #interrupt-cells = <1>; 79662306a36Sopenharmony_ci 79762306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 79862306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &port00 0 0 0 0>, 79962306a36Sopenharmony_ci <0 0 0 2 &port00 0 0 0 1>, 80062306a36Sopenharmony_ci <0 0 0 3 &port00 0 0 0 2>, 80162306a36Sopenharmony_ci <0 0 0 4 &port00 0 0 0 3>; 80262306a36Sopenharmony_ci }; 80362306a36Sopenharmony_ci 80462306a36Sopenharmony_ci port01: pci@1,0 { 80562306a36Sopenharmony_ci device_type = "pci"; 80662306a36Sopenharmony_ci reg = <0x800 0x0 0x0 0x0 0x0>; 80762306a36Sopenharmony_ci reset-gpios = <&pinctrl_ap 153 GPIO_ACTIVE_LOW>; 80862306a36Sopenharmony_ci 80962306a36Sopenharmony_ci #address-cells = <3>; 81062306a36Sopenharmony_ci #size-cells = <2>; 81162306a36Sopenharmony_ci ranges; 81262306a36Sopenharmony_ci 81362306a36Sopenharmony_ci interrupt-controller; 81462306a36Sopenharmony_ci #interrupt-cells = <1>; 81562306a36Sopenharmony_ci 81662306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 81762306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &port01 0 0 0 0>, 81862306a36Sopenharmony_ci <0 0 0 2 &port01 0 0 0 1>, 81962306a36Sopenharmony_ci <0 0 0 3 &port01 0 0 0 2>, 82062306a36Sopenharmony_ci <0 0 0 4 &port01 0 0 0 3>; 82162306a36Sopenharmony_ci status = "disabled"; 82262306a36Sopenharmony_ci }; 82362306a36Sopenharmony_ci 82462306a36Sopenharmony_ci port02: pci@2,0 { 82562306a36Sopenharmony_ci device_type = "pci"; 82662306a36Sopenharmony_ci reg = <0x1000 0x0 0x0 0x0 0x0>; 82762306a36Sopenharmony_ci reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>; 82862306a36Sopenharmony_ci 82962306a36Sopenharmony_ci #address-cells = <3>; 83062306a36Sopenharmony_ci #size-cells = <2>; 83162306a36Sopenharmony_ci ranges; 83262306a36Sopenharmony_ci 83362306a36Sopenharmony_ci interrupt-controller; 83462306a36Sopenharmony_ci #interrupt-cells = <1>; 83562306a36Sopenharmony_ci 83662306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 83762306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &port02 0 0 0 0>, 83862306a36Sopenharmony_ci <0 0 0 2 &port02 0 0 0 1>, 83962306a36Sopenharmony_ci <0 0 0 3 &port02 0 0 0 2>, 84062306a36Sopenharmony_ci <0 0 0 4 &port02 0 0 0 3>; 84162306a36Sopenharmony_ci status = "disabled"; 84262306a36Sopenharmony_ci }; 84362306a36Sopenharmony_ci }; 84462306a36Sopenharmony_ci }; 84562306a36Sopenharmony_ci}; 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_ci#include "t8103-pmgr.dtsi" 848