xref: /linux/scripts/dtc/include-prefixes/arm64/apple/t8103.dtsi (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
17d2d16ccSHector Martin// SPDX-License-Identifier: GPL-2.0+ OR MIT
27d2d16ccSHector Martin/*
37d2d16ccSHector Martin * Apple T8103 "M1" SoC
47d2d16ccSHector Martin *
57d2d16ccSHector Martin * Other names: H13G, "Tonga"
67d2d16ccSHector Martin *
77d2d16ccSHector Martin * Copyright The Asahi Linux Contributors
87d2d16ccSHector Martin */
97d2d16ccSHector Martin
105b970dfcSMarc Zyngier#include <dt-bindings/gpio/gpio.h>
117d2d16ccSHector Martin#include <dt-bindings/interrupt-controller/apple-aic.h>
127d2d16ccSHector Martin#include <dt-bindings/interrupt-controller/irq.h>
130a8282b8SMark Kettenis#include <dt-bindings/pinctrl/apple.h>
142e0e70c9SSasha Finkelstein#include <dt-bindings/spmi/spmi.h>
157d2d16ccSHector Martin
167d2d16ccSHector Martin/ {
177d2d16ccSHector Martin	compatible = "apple,t8103", "apple,arm-platform";
187d2d16ccSHector Martin
197d2d16ccSHector Martin	#address-cells = <2>;
207d2d16ccSHector Martin	#size-cells = <2>;
217d2d16ccSHector Martin
22*76f3ffebSSasha Finkelstein	aliases {
23*76f3ffebSSasha Finkelstein		gpu = &gpu;
24*76f3ffebSSasha Finkelstein	};
25*76f3ffebSSasha Finkelstein
267d2d16ccSHector Martin	cpus {
277d2d16ccSHector Martin		#address-cells = <2>;
287d2d16ccSHector Martin		#size-cells = <0>;
297d2d16ccSHector Martin
303e895a64SHector Martin		cpu-map {
313e895a64SHector Martin			cluster0 {
323e895a64SHector Martin				core0 {
333e895a64SHector Martin					cpu = <&cpu_e0>;
343e895a64SHector Martin				};
353e895a64SHector Martin				core1 {
363e895a64SHector Martin					cpu = <&cpu_e1>;
373e895a64SHector Martin				};
383e895a64SHector Martin				core2 {
393e895a64SHector Martin					cpu = <&cpu_e2>;
403e895a64SHector Martin				};
413e895a64SHector Martin				core3 {
423e895a64SHector Martin					cpu = <&cpu_e3>;
433e895a64SHector Martin				};
443e895a64SHector Martin			};
453e895a64SHector Martin
463e895a64SHector Martin			cluster1 {
473e895a64SHector Martin				core0 {
483e895a64SHector Martin					cpu = <&cpu_p0>;
493e895a64SHector Martin				};
503e895a64SHector Martin				core1 {
513e895a64SHector Martin					cpu = <&cpu_p1>;
523e895a64SHector Martin				};
533e895a64SHector Martin				core2 {
543e895a64SHector Martin					cpu = <&cpu_p2>;
553e895a64SHector Martin				};
563e895a64SHector Martin				core3 {
573e895a64SHector Martin					cpu = <&cpu_p3>;
583e895a64SHector Martin				};
593e895a64SHector Martin			};
603e895a64SHector Martin		};
613e895a64SHector Martin
623e895a64SHector Martin		cpu_e0: cpu@0 {
637d2d16ccSHector Martin			compatible = "apple,icestorm";
647d2d16ccSHector Martin			device_type = "cpu";
657d2d16ccSHector Martin			reg = <0x0 0x0>;
667d2d16ccSHector Martin			enable-method = "spin-table";
677d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
683e895a64SHector Martin			operating-points-v2 = <&ecluster_opp>;
693e895a64SHector Martin			capacity-dmips-mhz = <714>;
703e895a64SHector Martin			performance-domains = <&cpufreq_e>;
719ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_0>;
729ecb7a4bSJanne Grunau			i-cache-size = <0x20000>;
739ecb7a4bSJanne Grunau			d-cache-size = <0x10000>;
747d2d16ccSHector Martin		};
757d2d16ccSHector Martin
763e895a64SHector Martin		cpu_e1: cpu@1 {
777d2d16ccSHector Martin			compatible = "apple,icestorm";
787d2d16ccSHector Martin			device_type = "cpu";
797d2d16ccSHector Martin			reg = <0x0 0x1>;
807d2d16ccSHector Martin			enable-method = "spin-table";
817d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
823e895a64SHector Martin			operating-points-v2 = <&ecluster_opp>;
833e895a64SHector Martin			capacity-dmips-mhz = <714>;
843e895a64SHector Martin			performance-domains = <&cpufreq_e>;
859ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_0>;
869ecb7a4bSJanne Grunau			i-cache-size = <0x20000>;
879ecb7a4bSJanne Grunau			d-cache-size = <0x10000>;
887d2d16ccSHector Martin		};
897d2d16ccSHector Martin
903e895a64SHector Martin		cpu_e2: cpu@2 {
917d2d16ccSHector Martin			compatible = "apple,icestorm";
927d2d16ccSHector Martin			device_type = "cpu";
937d2d16ccSHector Martin			reg = <0x0 0x2>;
947d2d16ccSHector Martin			enable-method = "spin-table";
957d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
963e895a64SHector Martin			operating-points-v2 = <&ecluster_opp>;
973e895a64SHector Martin			capacity-dmips-mhz = <714>;
983e895a64SHector Martin			performance-domains = <&cpufreq_e>;
999ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_0>;
1009ecb7a4bSJanne Grunau			i-cache-size = <0x20000>;
1019ecb7a4bSJanne Grunau			d-cache-size = <0x10000>;
1027d2d16ccSHector Martin		};
1037d2d16ccSHector Martin
1043e895a64SHector Martin		cpu_e3: cpu@3 {
1057d2d16ccSHector Martin			compatible = "apple,icestorm";
1067d2d16ccSHector Martin			device_type = "cpu";
1077d2d16ccSHector Martin			reg = <0x0 0x3>;
1087d2d16ccSHector Martin			enable-method = "spin-table";
1097d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
1103e895a64SHector Martin			operating-points-v2 = <&ecluster_opp>;
1113e895a64SHector Martin			capacity-dmips-mhz = <714>;
1123e895a64SHector Martin			performance-domains = <&cpufreq_e>;
1139ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_0>;
1149ecb7a4bSJanne Grunau			i-cache-size = <0x20000>;
1159ecb7a4bSJanne Grunau			d-cache-size = <0x10000>;
1167d2d16ccSHector Martin		};
1177d2d16ccSHector Martin
1183e895a64SHector Martin		cpu_p0: cpu@10100 {
1197d2d16ccSHector Martin			compatible = "apple,firestorm";
1207d2d16ccSHector Martin			device_type = "cpu";
1217d2d16ccSHector Martin			reg = <0x0 0x10100>;
1227d2d16ccSHector Martin			enable-method = "spin-table";
1237d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
1243e895a64SHector Martin			operating-points-v2 = <&pcluster_opp>;
1253e895a64SHector Martin			capacity-dmips-mhz = <1024>;
1263e895a64SHector Martin			performance-domains = <&cpufreq_p>;
1279ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_1>;
1289ecb7a4bSJanne Grunau			i-cache-size = <0x30000>;
1299ecb7a4bSJanne Grunau			d-cache-size = <0x20000>;
1307d2d16ccSHector Martin		};
1317d2d16ccSHector Martin
1323e895a64SHector Martin		cpu_p1: cpu@10101 {
1337d2d16ccSHector Martin			compatible = "apple,firestorm";
1347d2d16ccSHector Martin			device_type = "cpu";
1357d2d16ccSHector Martin			reg = <0x0 0x10101>;
1367d2d16ccSHector Martin			enable-method = "spin-table";
1377d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
1383e895a64SHector Martin			operating-points-v2 = <&pcluster_opp>;
1393e895a64SHector Martin			capacity-dmips-mhz = <1024>;
1403e895a64SHector Martin			performance-domains = <&cpufreq_p>;
1419ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_1>;
1429ecb7a4bSJanne Grunau			i-cache-size = <0x30000>;
1439ecb7a4bSJanne Grunau			d-cache-size = <0x20000>;
1447d2d16ccSHector Martin		};
1457d2d16ccSHector Martin
1463e895a64SHector Martin		cpu_p2: cpu@10102 {
1477d2d16ccSHector Martin			compatible = "apple,firestorm";
1487d2d16ccSHector Martin			device_type = "cpu";
1497d2d16ccSHector Martin			reg = <0x0 0x10102>;
1507d2d16ccSHector Martin			enable-method = "spin-table";
1517d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
1523e895a64SHector Martin			operating-points-v2 = <&pcluster_opp>;
1533e895a64SHector Martin			capacity-dmips-mhz = <1024>;
1543e895a64SHector Martin			performance-domains = <&cpufreq_p>;
1559ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_1>;
1569ecb7a4bSJanne Grunau			i-cache-size = <0x30000>;
1579ecb7a4bSJanne Grunau			d-cache-size = <0x20000>;
1587d2d16ccSHector Martin		};
1597d2d16ccSHector Martin
1603e895a64SHector Martin		cpu_p3: cpu@10103 {
1617d2d16ccSHector Martin			compatible = "apple,firestorm";
1627d2d16ccSHector Martin			device_type = "cpu";
1637d2d16ccSHector Martin			reg = <0x0 0x10103>;
1647d2d16ccSHector Martin			enable-method = "spin-table";
1657d2d16ccSHector Martin			cpu-release-addr = <0 0>; /* To be filled by loader */
1663e895a64SHector Martin			operating-points-v2 = <&pcluster_opp>;
1673e895a64SHector Martin			capacity-dmips-mhz = <1024>;
1683e895a64SHector Martin			performance-domains = <&cpufreq_p>;
1699ecb7a4bSJanne Grunau			next-level-cache = <&l2_cache_1>;
1709ecb7a4bSJanne Grunau			i-cache-size = <0x30000>;
1719ecb7a4bSJanne Grunau			d-cache-size = <0x20000>;
1729ecb7a4bSJanne Grunau		};
1739ecb7a4bSJanne Grunau
1749ecb7a4bSJanne Grunau		l2_cache_0: l2-cache-0 {
1759ecb7a4bSJanne Grunau			compatible = "cache";
1769ecb7a4bSJanne Grunau			cache-level = <2>;
1779ecb7a4bSJanne Grunau			cache-unified;
1789ecb7a4bSJanne Grunau			cache-size = <0x400000>;
1799ecb7a4bSJanne Grunau		};
1809ecb7a4bSJanne Grunau
1819ecb7a4bSJanne Grunau		l2_cache_1: l2-cache-1 {
1829ecb7a4bSJanne Grunau			compatible = "cache";
1839ecb7a4bSJanne Grunau			cache-level = <2>;
1849ecb7a4bSJanne Grunau			cache-unified;
1859ecb7a4bSJanne Grunau			cache-size = <0xc00000>;
1867d2d16ccSHector Martin		};
1877d2d16ccSHector Martin	};
1887d2d16ccSHector Martin
1893e895a64SHector Martin	ecluster_opp: opp-table-0 {
1903e895a64SHector Martin		compatible = "operating-points-v2";
1913e895a64SHector Martin
1923e895a64SHector Martin		opp01 {
1933e895a64SHector Martin			opp-hz = /bits/ 64 <600000000>;
1943e895a64SHector Martin			opp-level = <1>;
1953e895a64SHector Martin			clock-latency-ns = <7500>;
1963e895a64SHector Martin		};
1973e895a64SHector Martin		opp02 {
1983e895a64SHector Martin			opp-hz = /bits/ 64 <972000000>;
1993e895a64SHector Martin			opp-level = <2>;
2003e895a64SHector Martin			clock-latency-ns = <22000>;
2013e895a64SHector Martin		};
2023e895a64SHector Martin		opp03 {
2033e895a64SHector Martin			opp-hz = /bits/ 64 <1332000000>;
2043e895a64SHector Martin			opp-level = <3>;
2053e895a64SHector Martin			clock-latency-ns = <27000>;
2063e895a64SHector Martin		};
2073e895a64SHector Martin		opp04 {
2083e895a64SHector Martin			opp-hz = /bits/ 64 <1704000000>;
2093e895a64SHector Martin			opp-level = <4>;
2103e895a64SHector Martin			clock-latency-ns = <33000>;
2113e895a64SHector Martin		};
2123e895a64SHector Martin		opp05 {
2133e895a64SHector Martin			opp-hz = /bits/ 64 <2064000000>;
2143e895a64SHector Martin			opp-level = <5>;
2153e895a64SHector Martin			clock-latency-ns = <50000>;
2163e895a64SHector Martin		};
2173e895a64SHector Martin	};
2183e895a64SHector Martin
2193e895a64SHector Martin	pcluster_opp: opp-table-1 {
2203e895a64SHector Martin		compatible = "operating-points-v2";
2213e895a64SHector Martin
2223e895a64SHector Martin		opp01 {
2233e895a64SHector Martin			opp-hz = /bits/ 64 <600000000>;
2243e895a64SHector Martin			opp-level = <1>;
2253e895a64SHector Martin			clock-latency-ns = <8000>;
2263e895a64SHector Martin		};
2273e895a64SHector Martin		opp02 {
2283e895a64SHector Martin			opp-hz = /bits/ 64 <828000000>;
2293e895a64SHector Martin			opp-level = <2>;
2303e895a64SHector Martin			clock-latency-ns = <19000>;
2313e895a64SHector Martin		};
2323e895a64SHector Martin		opp03 {
2333e895a64SHector Martin			opp-hz = /bits/ 64 <1056000000>;
2343e895a64SHector Martin			opp-level = <3>;
2353e895a64SHector Martin			clock-latency-ns = <21000>;
2363e895a64SHector Martin		};
2373e895a64SHector Martin		opp04 {
2383e895a64SHector Martin			opp-hz = /bits/ 64 <1284000000>;
2393e895a64SHector Martin			opp-level = <4>;
2403e895a64SHector Martin			clock-latency-ns = <23000>;
2413e895a64SHector Martin		};
2423e895a64SHector Martin		opp05 {
2433e895a64SHector Martin			opp-hz = /bits/ 64 <1500000000>;
2443e895a64SHector Martin			opp-level = <5>;
2453e895a64SHector Martin			clock-latency-ns = <24000>;
2463e895a64SHector Martin		};
2473e895a64SHector Martin		opp06 {
2483e895a64SHector Martin			opp-hz = /bits/ 64 <1728000000>;
2493e895a64SHector Martin			opp-level = <6>;
2503e895a64SHector Martin			clock-latency-ns = <29000>;
2513e895a64SHector Martin		};
2523e895a64SHector Martin		opp07 {
2533e895a64SHector Martin			opp-hz = /bits/ 64 <1956000000>;
2543e895a64SHector Martin			opp-level = <7>;
2553e895a64SHector Martin			clock-latency-ns = <31000>;
2563e895a64SHector Martin		};
2573e895a64SHector Martin		opp08 {
2583e895a64SHector Martin			opp-hz = /bits/ 64 <2184000000>;
2593e895a64SHector Martin			opp-level = <8>;
2603e895a64SHector Martin			clock-latency-ns = <34000>;
2613e895a64SHector Martin		};
2623e895a64SHector Martin		opp09 {
2633e895a64SHector Martin			opp-hz = /bits/ 64 <2388000000>;
2643e895a64SHector Martin			opp-level = <9>;
2653e895a64SHector Martin			clock-latency-ns = <36000>;
2663e895a64SHector Martin		};
2673e895a64SHector Martin		opp10 {
2683e895a64SHector Martin			opp-hz = /bits/ 64 <2592000000>;
2693e895a64SHector Martin			opp-level = <10>;
2703e895a64SHector Martin			clock-latency-ns = <51000>;
2713e895a64SHector Martin		};
2723e895a64SHector Martin		opp11 {
2733e895a64SHector Martin			opp-hz = /bits/ 64 <2772000000>;
2743e895a64SHector Martin			opp-level = <11>;
2753e895a64SHector Martin			clock-latency-ns = <54000>;
2763e895a64SHector Martin		};
2773e895a64SHector Martin		opp12 {
2783e895a64SHector Martin			opp-hz = /bits/ 64 <2988000000>;
2793e895a64SHector Martin			opp-level = <12>;
2803e895a64SHector Martin			clock-latency-ns = <55000>;
2813e895a64SHector Martin		};
2823e895a64SHector Martin#if 0
2833e895a64SHector Martin		/* Not available until CPU deep sleep is implemented */
2843e895a64SHector Martin		opp13 {
2853e895a64SHector Martin			opp-hz = /bits/ 64 <3096000000>;
2863e895a64SHector Martin			opp-level = <13>;
2873e895a64SHector Martin			clock-latency-ns = <55000>;
2883e895a64SHector Martin			turbo-mode;
2893e895a64SHector Martin		};
2903e895a64SHector Martin		opp14 {
2913e895a64SHector Martin			opp-hz = /bits/ 64 <3144000000>;
2923e895a64SHector Martin			opp-level = <14>;
2933e895a64SHector Martin			clock-latency-ns = <56000>;
2943e895a64SHector Martin			turbo-mode;
2953e895a64SHector Martin		};
2963e895a64SHector Martin		opp15 {
2973e895a64SHector Martin			opp-hz = /bits/ 64 <3204000000>;
2983e895a64SHector Martin			opp-level = <15>;
2993e895a64SHector Martin			clock-latency-ns = <56000>;
3003e895a64SHector Martin			turbo-mode;
3013e895a64SHector Martin		};
3023e895a64SHector Martin#endif
3033e895a64SHector Martin	};
3043e895a64SHector Martin
3057d2d16ccSHector Martin	timer {
3067d2d16ccSHector Martin		compatible = "arm,armv8-timer";
3077d2d16ccSHector Martin		interrupt-parent = <&aic>;
3087d2d16ccSHector Martin		interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
3097d2d16ccSHector Martin		interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
3107d2d16ccSHector Martin			     <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
3117d2d16ccSHector Martin			     <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
3127d2d16ccSHector Martin			     <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
3137d2d16ccSHector Martin	};
3147d2d16ccSHector Martin
3150f522efcSMarc Zyngier	pmu-e {
3160f522efcSMarc Zyngier		compatible = "apple,icestorm-pmu";
3170f522efcSMarc Zyngier		interrupt-parent = <&aic>;
3180f522efcSMarc Zyngier		interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>;
3190f522efcSMarc Zyngier	};
3200f522efcSMarc Zyngier
3210f522efcSMarc Zyngier	pmu-p {
3220f522efcSMarc Zyngier		compatible = "apple,firestorm-pmu";
3230f522efcSMarc Zyngier		interrupt-parent = <&aic>;
3240f522efcSMarc Zyngier		interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>;
3250f522efcSMarc Zyngier	};
3260f522efcSMarc Zyngier
32757337b25SHector Martin	clkref: clock-ref {
3287d2d16ccSHector Martin		compatible = "fixed-clock";
3297d2d16ccSHector Martin		#clock-cells = <0>;
3307d2d16ccSHector Martin		clock-frequency = <24000000>;
33157337b25SHector Martin		clock-output-names = "clkref";
3327d2d16ccSHector Martin	};
3337d2d16ccSHector Martin
334556cd4bbSJanne Grunau	clk_120m: clock-120m {
335556cd4bbSJanne Grunau		compatible = "fixed-clock";
336556cd4bbSJanne Grunau		#clock-cells = <0>;
337556cd4bbSJanne Grunau		clock-frequency = <120000000>;
338556cd4bbSJanne Grunau		clock-output-names = "clk_120m";
339556cd4bbSJanne Grunau	};
340556cd4bbSJanne Grunau
341556cd4bbSJanne Grunau	clk_200m: clock-200m {
342556cd4bbSJanne Grunau		compatible = "fixed-clock";
343556cd4bbSJanne Grunau		#clock-cells = <0>;
344556cd4bbSJanne Grunau		clock-frequency = <200000000>;
345556cd4bbSJanne Grunau		clock-output-names = "clk_200m";
346556cd4bbSJanne Grunau	};
347556cd4bbSJanne Grunau
3488a3df85aSMartin Povišer	/*
3498a3df85aSMartin Povišer	 * This is a fabulated representation of the input clock
3508a3df85aSMartin Povišer	 * to NCO since we don't know the true clock tree.
3518a3df85aSMartin Povišer	 */
3528a3df85aSMartin Povišer	nco_clkref: clock-ref-nco {
3538a3df85aSMartin Povišer		compatible = "fixed-clock";
3548a3df85aSMartin Povišer		#clock-cells = <0>;
3558a3df85aSMartin Povišer		clock-output-names = "nco_ref";
3568a3df85aSMartin Povišer	};
3578a3df85aSMartin Povišer
358*76f3ffebSSasha Finkelstein	reserved-memory {
359*76f3ffebSSasha Finkelstein		#address-cells = <2>;
360*76f3ffebSSasha Finkelstein		#size-cells = <2>;
361*76f3ffebSSasha Finkelstein		ranges;
362*76f3ffebSSasha Finkelstein
363*76f3ffebSSasha Finkelstein		gpu_globals: globals {
364*76f3ffebSSasha Finkelstein			status = "disabled";
365*76f3ffebSSasha Finkelstein		};
366*76f3ffebSSasha Finkelstein
367*76f3ffebSSasha Finkelstein		gpu_hw_cal_a: hw-cal-a {
368*76f3ffebSSasha Finkelstein			status = "disabled";
369*76f3ffebSSasha Finkelstein		};
370*76f3ffebSSasha Finkelstein
371*76f3ffebSSasha Finkelstein		gpu_hw_cal_b: hw-cal-b {
372*76f3ffebSSasha Finkelstein			status = "disabled";
373*76f3ffebSSasha Finkelstein		};
374*76f3ffebSSasha Finkelstein
375*76f3ffebSSasha Finkelstein		uat_handoff: uat-handoff {
376*76f3ffebSSasha Finkelstein			status = "disabled";
377*76f3ffebSSasha Finkelstein		};
378*76f3ffebSSasha Finkelstein
379*76f3ffebSSasha Finkelstein		uat_pagetables: uat-pagetables {
380*76f3ffebSSasha Finkelstein			status = "disabled";
381*76f3ffebSSasha Finkelstein		};
382*76f3ffebSSasha Finkelstein
383*76f3ffebSSasha Finkelstein		uat_ttbs: uat-ttbs {
384*76f3ffebSSasha Finkelstein			status = "disabled";
385*76f3ffebSSasha Finkelstein		};
386*76f3ffebSSasha Finkelstein	};
387*76f3ffebSSasha Finkelstein
3887d2d16ccSHector Martin	soc {
3897d2d16ccSHector Martin		compatible = "simple-bus";
3907d2d16ccSHector Martin		#address-cells = <2>;
3917d2d16ccSHector Martin		#size-cells = <2>;
3927d2d16ccSHector Martin
3937d2d16ccSHector Martin		ranges;
3947d2d16ccSHector Martin		nonposted-mmio;
3957d2d16ccSHector Martin
396*76f3ffebSSasha Finkelstein		gpu: gpu@206400000 {
397*76f3ffebSSasha Finkelstein			compatible = "apple,agx-g13g";
398*76f3ffebSSasha Finkelstein			reg = <0x2 0x6400000 0 0x40000>,
399*76f3ffebSSasha Finkelstein				<0x2 0x4000000 0 0x1000000>;
400*76f3ffebSSasha Finkelstein			reg-names = "asc", "sgx";
401*76f3ffebSSasha Finkelstein			mboxes = <&agx_mbox>;
402*76f3ffebSSasha Finkelstein			power-domains = <&ps_gfx>;
403*76f3ffebSSasha Finkelstein			memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
404*76f3ffebSSasha Finkelstein					<&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
405*76f3ffebSSasha Finkelstein			memory-region-names = "ttbs", "pagetables", "handoff",
406*76f3ffebSSasha Finkelstein					      "hw-cal-a", "hw-cal-b", "globals";
407*76f3ffebSSasha Finkelstein
408*76f3ffebSSasha Finkelstein			apple,firmware-abi = <0 0 0>;
409*76f3ffebSSasha Finkelstein		};
410*76f3ffebSSasha Finkelstein
411*76f3ffebSSasha Finkelstein		agx_mbox: mbox@206408000 {
412*76f3ffebSSasha Finkelstein			compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
413*76f3ffebSSasha Finkelstein			reg = <0x2 0x6408000 0x0 0x4000>;
414*76f3ffebSSasha Finkelstein			interrupt-parent = <&aic>;
415*76f3ffebSSasha Finkelstein			interrupts = <AIC_IRQ 575 IRQ_TYPE_LEVEL_HIGH>,
416*76f3ffebSSasha Finkelstein				<AIC_IRQ 576 IRQ_TYPE_LEVEL_HIGH>,
417*76f3ffebSSasha Finkelstein				<AIC_IRQ 577 IRQ_TYPE_LEVEL_HIGH>,
418*76f3ffebSSasha Finkelstein				<AIC_IRQ 578 IRQ_TYPE_LEVEL_HIGH>;
419*76f3ffebSSasha Finkelstein			interrupt-names = "send-empty", "send-not-empty",
420*76f3ffebSSasha Finkelstein				"recv-empty", "recv-not-empty";
421*76f3ffebSSasha Finkelstein			#mbox-cells = <0>;
422*76f3ffebSSasha Finkelstein		};
423*76f3ffebSSasha Finkelstein
4243e895a64SHector Martin		cpufreq_e: performance-controller@210e20000 {
4253e895a64SHector Martin			compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
4263e895a64SHector Martin			reg = <0x2 0x10e20000 0 0x1000>;
4273e895a64SHector Martin			#performance-domain-cells = <0>;
4283e895a64SHector Martin		};
4293e895a64SHector Martin
4303e895a64SHector Martin		cpufreq_p: performance-controller@211e20000 {
4313e895a64SHector Martin			compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
4323e895a64SHector Martin			reg = <0x2 0x11e20000 0 0x1000>;
4333e895a64SHector Martin			#performance-domain-cells = <0>;
4343e895a64SHector Martin		};
4353e895a64SHector Martin
4367275e795SSasha Finkelstein		display_dfr: display-pipe@228200000 {
4377275e795SSasha Finkelstein			compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe";
4387275e795SSasha Finkelstein			reg = <0x2 0x28200000 0x0 0xc000>,
4397275e795SSasha Finkelstein			      <0x2 0x28400000 0x0 0x4000>;
4407275e795SSasha Finkelstein			reg-names = "be", "fe";
4417275e795SSasha Finkelstein			power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>;
4427275e795SSasha Finkelstein			interrupt-parent = <&aic>;
4437275e795SSasha Finkelstein			interrupts = <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
4447275e795SSasha Finkelstein				     <AIC_IRQ 506 IRQ_TYPE_LEVEL_HIGH>;
4457275e795SSasha Finkelstein			interrupt-names = "be", "fe";
4467275e795SSasha Finkelstein			iommus = <&displaydfr_dart 0>;
4477275e795SSasha Finkelstein			status = "disabled";
4487275e795SSasha Finkelstein
4497275e795SSasha Finkelstein			port {
4507275e795SSasha Finkelstein				dfr_adp_out_mipi: endpoint {
4517275e795SSasha Finkelstein					remote-endpoint = <&dfr_mipi_in_adp>;
4527275e795SSasha Finkelstein				};
4537275e795SSasha Finkelstein			};
4547275e795SSasha Finkelstein		};
4557275e795SSasha Finkelstein
4567275e795SSasha Finkelstein		displaydfr_dart: iommu@228304000 {
4577275e795SSasha Finkelstein			compatible = "apple,t8103-dart";
4587275e795SSasha Finkelstein			reg = <0x2 0x28304000 0x0 0x4000>;
4597275e795SSasha Finkelstein			interrupt-parent = <&aic>;
4607275e795SSasha Finkelstein			interrupts = <AIC_IRQ 504 IRQ_TYPE_LEVEL_HIGH>;
4617275e795SSasha Finkelstein			#iommu-cells = <1>;
4627275e795SSasha Finkelstein			power-domains = <&ps_dispdfr_fe>;
4637275e795SSasha Finkelstein			status = "disabled";
4647275e795SSasha Finkelstein		};
4657275e795SSasha Finkelstein
4667275e795SSasha Finkelstein		displaydfr_mipi: dsi@228600000 {
4677275e795SSasha Finkelstein			compatible = "apple,t8103-display-pipe-mipi", "apple,h7-display-pipe-mipi";
4687275e795SSasha Finkelstein			reg = <0x2 0x28600000 0x0 0x100000>;
4697275e795SSasha Finkelstein			power-domains = <&ps_mipi_dsi>;
4707275e795SSasha Finkelstein			status = "disabled";
4717275e795SSasha Finkelstein
4727275e795SSasha Finkelstein			ports {
4737275e795SSasha Finkelstein				#address-cells = <1>;
4747275e795SSasha Finkelstein				#size-cells = <0>;
4757275e795SSasha Finkelstein
4767275e795SSasha Finkelstein				dfr_mipi_in: port@0 {
4777275e795SSasha Finkelstein					reg = <0>;
4787275e795SSasha Finkelstein					#address-cells = <1>;
4797275e795SSasha Finkelstein					#size-cells = <0>;
4807275e795SSasha Finkelstein
4817275e795SSasha Finkelstein					dfr_mipi_in_adp: endpoint@0 {
4827275e795SSasha Finkelstein						reg = <0>;
4837275e795SSasha Finkelstein						remote-endpoint = <&dfr_adp_out_mipi>;
4847275e795SSasha Finkelstein					};
4857275e795SSasha Finkelstein				};
4867275e795SSasha Finkelstein
4877275e795SSasha Finkelstein				dfr_mipi_out: port@1 {
4887275e795SSasha Finkelstein					reg = <1>;
4897275e795SSasha Finkelstein					#address-cells = <1>;
4907275e795SSasha Finkelstein					#size-cells = <0>;
4917275e795SSasha Finkelstein				};
4927275e795SSasha Finkelstein			};
4937275e795SSasha Finkelstein		};
4947275e795SSasha Finkelstein
49563bf0b66SHector Martin		sio_dart: iommu@235004000 {
4968a3df85aSMartin Povišer			compatible = "apple,t8103-dart";
4978a3df85aSMartin Povišer			reg = <0x2 0x35004000 0x0 0x4000>;
4988a3df85aSMartin Povišer			interrupt-parent = <&aic>;
4998a3df85aSMartin Povišer			interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>;
5008a3df85aSMartin Povišer			#iommu-cells = <1>;
5018a3df85aSMartin Povišer			power-domains = <&ps_sio_cpu>;
5028a3df85aSMartin Povišer		};
5038a3df85aSMartin Povišer
50490458f6eSJanne Grunau		i2c0: i2c@235010000 {
50590458f6eSJanne Grunau			compatible = "apple,t8103-i2c", "apple,i2c";
50690458f6eSJanne Grunau			reg = <0x2 0x35010000 0x0 0x4000>;
50757337b25SHector Martin			clocks = <&clkref>;
50890458f6eSJanne Grunau			interrupt-parent = <&aic>;
50990458f6eSJanne Grunau			interrupts = <AIC_IRQ 627 IRQ_TYPE_LEVEL_HIGH>;
51090458f6eSJanne Grunau			pinctrl-0 = <&i2c0_pins>;
51190458f6eSJanne Grunau			pinctrl-names = "default";
51290458f6eSJanne Grunau			#address-cells = <0x1>;
51390458f6eSJanne Grunau			#size-cells = <0x0>;
514106ba3b4SHector Martin			power-domains = <&ps_i2c0>;
51590458f6eSJanne Grunau		};
51690458f6eSJanne Grunau
51790458f6eSJanne Grunau		i2c1: i2c@235014000 {
51890458f6eSJanne Grunau			compatible = "apple,t8103-i2c", "apple,i2c";
51990458f6eSJanne Grunau			reg = <0x2 0x35014000 0x0 0x4000>;
52057337b25SHector Martin			clocks = <&clkref>;
52190458f6eSJanne Grunau			interrupt-parent = <&aic>;
52290458f6eSJanne Grunau			interrupts = <AIC_IRQ 628 IRQ_TYPE_LEVEL_HIGH>;
52390458f6eSJanne Grunau			pinctrl-0 = <&i2c1_pins>;
52490458f6eSJanne Grunau			pinctrl-names = "default";
52590458f6eSJanne Grunau			#address-cells = <0x1>;
52690458f6eSJanne Grunau			#size-cells = <0x0>;
527106ba3b4SHector Martin			power-domains = <&ps_i2c1>;
52890458f6eSJanne Grunau		};
52990458f6eSJanne Grunau
53090458f6eSJanne Grunau		i2c2: i2c@235018000 {
53190458f6eSJanne Grunau			compatible = "apple,t8103-i2c", "apple,i2c";
53290458f6eSJanne Grunau			reg = <0x2 0x35018000 0x0 0x4000>;
53357337b25SHector Martin			clocks = <&clkref>;
53490458f6eSJanne Grunau			interrupt-parent = <&aic>;
53590458f6eSJanne Grunau			interrupts = <AIC_IRQ 629 IRQ_TYPE_LEVEL_HIGH>;
53690458f6eSJanne Grunau			pinctrl-0 = <&i2c2_pins>;
53790458f6eSJanne Grunau			pinctrl-names = "default";
53890458f6eSJanne Grunau			#address-cells = <0x1>;
53990458f6eSJanne Grunau			#size-cells = <0x0>;
54090458f6eSJanne Grunau			status = "disabled"; /* not used in all devices */
541106ba3b4SHector Martin			power-domains = <&ps_i2c2>;
54290458f6eSJanne Grunau		};
54390458f6eSJanne Grunau
54490458f6eSJanne Grunau		i2c3: i2c@23501c000 {
54590458f6eSJanne Grunau			compatible = "apple,t8103-i2c", "apple,i2c";
54690458f6eSJanne Grunau			reg = <0x2 0x3501c000 0x0 0x4000>;
54757337b25SHector Martin			clocks = <&clkref>;
54890458f6eSJanne Grunau			interrupt-parent = <&aic>;
54990458f6eSJanne Grunau			interrupts = <AIC_IRQ 630 IRQ_TYPE_LEVEL_HIGH>;
55090458f6eSJanne Grunau			pinctrl-0 = <&i2c3_pins>;
55190458f6eSJanne Grunau			pinctrl-names = "default";
55290458f6eSJanne Grunau			#address-cells = <0x1>;
55390458f6eSJanne Grunau			#size-cells = <0x0>;
554106ba3b4SHector Martin			power-domains = <&ps_i2c3>;
55590458f6eSJanne Grunau		};
55690458f6eSJanne Grunau
55790458f6eSJanne Grunau		i2c4: i2c@235020000 {
55890458f6eSJanne Grunau			compatible = "apple,t8103-i2c", "apple,i2c";
55990458f6eSJanne Grunau			reg = <0x2 0x35020000 0x0 0x4000>;
56057337b25SHector Martin			clocks = <&clkref>;
56190458f6eSJanne Grunau			interrupt-parent = <&aic>;
56290458f6eSJanne Grunau			interrupts = <AIC_IRQ 631 IRQ_TYPE_LEVEL_HIGH>;
56390458f6eSJanne Grunau			pinctrl-0 = <&i2c4_pins>;
56490458f6eSJanne Grunau			pinctrl-names = "default";
56590458f6eSJanne Grunau			#address-cells = <0x1>;
56690458f6eSJanne Grunau			#size-cells = <0x0>;
567106ba3b4SHector Martin			power-domains = <&ps_i2c4>;
56890458f6eSJanne Grunau			status = "disabled"; /* only used in J293 */
56990458f6eSJanne Grunau		};
57090458f6eSJanne Grunau
571348981c7SSasha Finkelstein		fpwm1: pwm@235044000 {
572348981c7SSasha Finkelstein			compatible = "apple,t8103-fpwm", "apple,s5l-fpwm";
573348981c7SSasha Finkelstein			reg = <0x2 0x35044000 0x0 0x4000>;
574348981c7SSasha Finkelstein			power-domains = <&ps_fpwm1>;
575348981c7SSasha Finkelstein			clocks = <&clkref>;
576348981c7SSasha Finkelstein			#pwm-cells = <2>;
577348981c7SSasha Finkelstein			status = "disabled";
578348981c7SSasha Finkelstein		};
579348981c7SSasha Finkelstein
580556cd4bbSJanne Grunau		spi0: spi@235100000 {
581556cd4bbSJanne Grunau			compatible = "apple,t8103-spi", "apple,spi";
582556cd4bbSJanne Grunau			reg = <0x2 0x35100000 0x0 0x4000>;
583556cd4bbSJanne Grunau			interrupt-parent = <&aic>;
584556cd4bbSJanne Grunau			interrupts = <AIC_IRQ 614 IRQ_TYPE_LEVEL_HIGH>;
585556cd4bbSJanne Grunau			clocks = <&clk_200m>;
586556cd4bbSJanne Grunau			pinctrl-0 = <&spi0_pins>;
587556cd4bbSJanne Grunau			pinctrl-names = "default";
588556cd4bbSJanne Grunau			power-domains = <&ps_spi0>;
589556cd4bbSJanne Grunau			#address-cells = <1>;
590556cd4bbSJanne Grunau			#size-cells = <0>;
591556cd4bbSJanne Grunau			status = "disabled";
592556cd4bbSJanne Grunau		};
593556cd4bbSJanne Grunau
594556cd4bbSJanne Grunau		spi1: spi@235104000 {
595556cd4bbSJanne Grunau			compatible = "apple,t8103-spi", "apple,spi";
596556cd4bbSJanne Grunau			reg = <0x2 0x35104000 0x0 0x4000>;
597556cd4bbSJanne Grunau			interrupt-parent = <&aic>;
598556cd4bbSJanne Grunau			interrupts = <AIC_IRQ 615 IRQ_TYPE_LEVEL_HIGH>;
599556cd4bbSJanne Grunau			clocks = <&clk_200m>;
600556cd4bbSJanne Grunau			pinctrl-0 = <&spi1_pins>;
601556cd4bbSJanne Grunau			pinctrl-names = "default";
602556cd4bbSJanne Grunau			power-domains = <&ps_spi1>;
603556cd4bbSJanne Grunau			#address-cells = <1>;
604556cd4bbSJanne Grunau			#size-cells = <0>;
605556cd4bbSJanne Grunau			status = "disabled";
606556cd4bbSJanne Grunau		};
607556cd4bbSJanne Grunau
608556cd4bbSJanne Grunau		spi3: spi@23510c000 {
609556cd4bbSJanne Grunau			compatible = "apple,t8103-spi", "apple,spi";
610556cd4bbSJanne Grunau			reg = <0x2 0x3510c000 0x0 0x4000>;
611556cd4bbSJanne Grunau			interrupt-parent = <&aic>;
612556cd4bbSJanne Grunau			interrupts = <AIC_IRQ 617 IRQ_TYPE_LEVEL_HIGH>;
613556cd4bbSJanne Grunau			clocks = <&clk_120m>;
614556cd4bbSJanne Grunau			pinctrl-0 = <&spi3_pins>;
615556cd4bbSJanne Grunau			pinctrl-names = "default";
616556cd4bbSJanne Grunau			power-domains = <&ps_spi3>;
617556cd4bbSJanne Grunau			#address-cells = <1>;
618556cd4bbSJanne Grunau			#size-cells = <0>;
619556cd4bbSJanne Grunau			status = "disabled";
620556cd4bbSJanne Grunau		};
621556cd4bbSJanne Grunau
6227d2d16ccSHector Martin		serial0: serial@235200000 {
6237d2d16ccSHector Martin			compatible = "apple,s5l-uart";
6247d2d16ccSHector Martin			reg = <0x2 0x35200000 0x0 0x1000>;
6257d2d16ccSHector Martin			reg-io-width = <4>;
6267d2d16ccSHector Martin			interrupt-parent = <&aic>;
6277d2d16ccSHector Martin			interrupts = <AIC_IRQ 605 IRQ_TYPE_LEVEL_HIGH>;
6287d2d16ccSHector Martin			/*
6297d2d16ccSHector Martin			 * TODO: figure out the clocking properly, there may
6307d2d16ccSHector Martin			 * be a third selectable clock.
6317d2d16ccSHector Martin			 */
63257337b25SHector Martin			clocks = <&clkref>, <&clkref>;
6337d2d16ccSHector Martin			clock-names = "uart", "clk_uart_baud0";
634106ba3b4SHector Martin			power-domains = <&ps_uart0>;
6357d2d16ccSHector Martin			status = "disabled";
6367d2d16ccSHector Martin		};
6377d2d16ccSHector Martin
6382ba22cfeSHector Martin		serial2: serial@235208000 {
6392ba22cfeSHector Martin			compatible = "apple,s5l-uart";
6402ba22cfeSHector Martin			reg = <0x2 0x35208000 0x0 0x1000>;
6412ba22cfeSHector Martin			reg-io-width = <4>;
6422ba22cfeSHector Martin			interrupt-parent = <&aic>;
6432ba22cfeSHector Martin			interrupts = <AIC_IRQ 607 IRQ_TYPE_LEVEL_HIGH>;
64457337b25SHector Martin			clocks = <&clkref>, <&clkref>;
6452ba22cfeSHector Martin			clock-names = "uart", "clk_uart_baud0";
6462ba22cfeSHector Martin			power-domains = <&ps_uart2>;
6477d2d16ccSHector Martin			status = "disabled";
6487d2d16ccSHector Martin		};
6497d2d16ccSHector Martin
6508a3df85aSMartin Povišer		admac: dma-controller@238200000 {
6518a3df85aSMartin Povišer			compatible = "apple,t8103-admac", "apple,admac";
6528a3df85aSMartin Povišer			reg = <0x2 0x38200000 0x0 0x34000>;
6538a3df85aSMartin Povišer			dma-channels = <24>;
6548a3df85aSMartin Povišer			interrupts-extended = <0>,
6558a3df85aSMartin Povišer					      <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
6568a3df85aSMartin Povišer					      <0>,
6578a3df85aSMartin Povišer					      <0>;
6588a3df85aSMartin Povišer			#dma-cells = <1>;
65963bf0b66SHector Martin			iommus = <&sio_dart 2>;
6608a3df85aSMartin Povišer			power-domains = <&ps_sio_adma>;
66156fed763SMartin Povišer			resets = <&ps_audio_p>;
6628a3df85aSMartin Povišer		};
6638a3df85aSMartin Povišer
6648a3df85aSMartin Povišer		mca: i2s@238400000 {
6658a3df85aSMartin Povišer			compatible = "apple,t8103-mca", "apple,mca";
6668a3df85aSMartin Povišer			reg = <0x2 0x38400000 0x0 0x18000>,
6678a3df85aSMartin Povišer			      <0x2 0x38300000 0x0 0x30000>;
6688a3df85aSMartin Povišer
6698a3df85aSMartin Povišer			interrupt-parent = <&aic>;
6708a3df85aSMartin Povišer			interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>,
6718a3df85aSMartin Povišer				     <AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>,
6728a3df85aSMartin Povišer				     <AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>,
6738a3df85aSMartin Povišer				     <AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>,
6748a3df85aSMartin Povišer				     <AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>,
6758a3df85aSMartin Povišer				     <AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>;
6768a3df85aSMartin Povišer
6778a3df85aSMartin Povišer			resets = <&ps_audio_p>;
6788a3df85aSMartin Povišer			clocks = <&nco 0>, <&nco 1>, <&nco 2>,
6798a3df85aSMartin Povišer				 <&nco 3>, <&nco 4>, <&nco 4>;
6808a3df85aSMartin Povišer			power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
6818a3df85aSMartin Povišer					<&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
6828a3df85aSMartin Povišer			dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
6838a3df85aSMartin Povišer			       <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
6848a3df85aSMartin Povišer			       <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
6858a3df85aSMartin Povišer			       <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>,
6868a3df85aSMartin Povišer			       <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>,
6878a3df85aSMartin Povišer			       <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>;
6888a3df85aSMartin Povišer			dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
6898a3df85aSMartin Povišer				"tx1a", "rx1a", "tx1b", "rx1b",
6908a3df85aSMartin Povišer				"tx2a", "rx2a", "tx2b", "rx2b",
6918a3df85aSMartin Povišer				"tx3a", "rx3a", "tx3b", "rx3b",
6928a3df85aSMartin Povišer				"tx4a", "rx4a", "tx4b", "rx4b",
6938a3df85aSMartin Povišer				"tx5a", "rx5a", "tx5b", "rx5b";
6948a3df85aSMartin Povišer
6958a3df85aSMartin Povišer			#sound-dai-cells = <1>;
6968a3df85aSMartin Povišer		};
6978a3df85aSMartin Povišer
6988a3df85aSMartin Povišer		nco: clock-controller@23b044000 {
6998a3df85aSMartin Povišer			compatible = "apple,t8103-nco", "apple,nco";
7008a3df85aSMartin Povišer			reg = <0x2 0x3b044000 0x0 0x14000>;
7018a3df85aSMartin Povišer			clocks = <&nco_clkref>;
7028a3df85aSMartin Povišer			#clock-cells = <1>;
7038a3df85aSMartin Povišer		};
7048a3df85aSMartin Povišer
7057d2d16ccSHector Martin		aic: interrupt-controller@23b100000 {
7067d2d16ccSHector Martin			compatible = "apple,t8103-aic", "apple,aic";
7077d2d16ccSHector Martin			#interrupt-cells = <3>;
7087d2d16ccSHector Martin			interrupt-controller;
7097d2d16ccSHector Martin			reg = <0x2 0x3b100000 0x0 0x8000>;
710106ba3b4SHector Martin			power-domains = <&ps_aic>;
7111852e22bSMarc Zyngier
7121852e22bSMarc Zyngier			affinities {
7131852e22bSMarc Zyngier				e-core-pmu-affinity {
7141852e22bSMarc Zyngier					apple,fiq-index = <AIC_CPU_PMU_E>;
7153e895a64SHector Martin					cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>;
7161852e22bSMarc Zyngier				};
7171852e22bSMarc Zyngier
7181852e22bSMarc Zyngier				p-core-pmu-affinity {
7191852e22bSMarc Zyngier					apple,fiq-index = <AIC_CPU_PMU_P>;
7203e895a64SHector Martin					cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>;
7211852e22bSMarc Zyngier				};
7221852e22bSMarc Zyngier			};
723106ba3b4SHector Martin		};
724106ba3b4SHector Martin
725106ba3b4SHector Martin		pmgr: power-management@23b700000 {
726106ba3b4SHector Martin			compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
727106ba3b4SHector Martin			#address-cells = <1>;
728106ba3b4SHector Martin			#size-cells = <1>;
729106ba3b4SHector Martin			reg = <0x2 0x3b700000 0 0x14000>;
7307d2d16ccSHector Martin		};
7310a8282b8SMark Kettenis
7320a8282b8SMark Kettenis		pinctrl_ap: pinctrl@23c100000 {
7330a8282b8SMark Kettenis			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
7340a8282b8SMark Kettenis			reg = <0x2 0x3c100000 0x0 0x100000>;
735106ba3b4SHector Martin			power-domains = <&ps_gpio>;
7360a8282b8SMark Kettenis
7370a8282b8SMark Kettenis			gpio-controller;
7380a8282b8SMark Kettenis			#gpio-cells = <2>;
7390a8282b8SMark Kettenis			gpio-ranges = <&pinctrl_ap 0 0 212>;
7400a8282b8SMark Kettenis			apple,npins = <212>;
7410a8282b8SMark Kettenis
7420a8282b8SMark Kettenis			interrupt-controller;
7430668639eSJanne Grunau			#interrupt-cells = <2>;
7440a8282b8SMark Kettenis			interrupt-parent = <&aic>;
7450a8282b8SMark Kettenis			interrupts = <AIC_IRQ 190 IRQ_TYPE_LEVEL_HIGH>,
7460a8282b8SMark Kettenis				     <AIC_IRQ 191 IRQ_TYPE_LEVEL_HIGH>,
7470a8282b8SMark Kettenis				     <AIC_IRQ 192 IRQ_TYPE_LEVEL_HIGH>,
7480a8282b8SMark Kettenis				     <AIC_IRQ 193 IRQ_TYPE_LEVEL_HIGH>,
7490a8282b8SMark Kettenis				     <AIC_IRQ 194 IRQ_TYPE_LEVEL_HIGH>,
7500a8282b8SMark Kettenis				     <AIC_IRQ 195 IRQ_TYPE_LEVEL_HIGH>,
7510a8282b8SMark Kettenis				     <AIC_IRQ 196 IRQ_TYPE_LEVEL_HIGH>;
7520a8282b8SMark Kettenis
75390458f6eSJanne Grunau			i2c0_pins: i2c0-pins {
75490458f6eSJanne Grunau				pinmux = <APPLE_PINMUX(192, 1)>,
75590458f6eSJanne Grunau					 <APPLE_PINMUX(188, 1)>;
75690458f6eSJanne Grunau			};
75790458f6eSJanne Grunau
75890458f6eSJanne Grunau			i2c1_pins: i2c1-pins {
75990458f6eSJanne Grunau				pinmux = <APPLE_PINMUX(201, 1)>,
76090458f6eSJanne Grunau					 <APPLE_PINMUX(199, 1)>;
76190458f6eSJanne Grunau			};
76290458f6eSJanne Grunau
76390458f6eSJanne Grunau			i2c2_pins: i2c2-pins {
76490458f6eSJanne Grunau				pinmux = <APPLE_PINMUX(163, 1)>,
76590458f6eSJanne Grunau					 <APPLE_PINMUX(162, 1)>;
76690458f6eSJanne Grunau			};
76790458f6eSJanne Grunau
76890458f6eSJanne Grunau			i2c3_pins: i2c3-pins {
76990458f6eSJanne Grunau				pinmux = <APPLE_PINMUX(73, 1)>,
77090458f6eSJanne Grunau					 <APPLE_PINMUX(72, 1)>;
77190458f6eSJanne Grunau			};
77290458f6eSJanne Grunau
77390458f6eSJanne Grunau			i2c4_pins: i2c4-pins {
77490458f6eSJanne Grunau				pinmux = <APPLE_PINMUX(135, 1)>,
77590458f6eSJanne Grunau					 <APPLE_PINMUX(134, 1)>;
77690458f6eSJanne Grunau			};
77790458f6eSJanne Grunau
778556cd4bbSJanne Grunau			spi0_pins: spi0-pins {
779556cd4bbSJanne Grunau				pinmux = <APPLE_PINMUX(67, 1)>, /* CLK */
780556cd4bbSJanne Grunau					<APPLE_PINMUX(68, 1)>,  /* MOSI */
781556cd4bbSJanne Grunau					<APPLE_PINMUX(69, 1)>;  /* MISO */
782556cd4bbSJanne Grunau			};
783556cd4bbSJanne Grunau
784556cd4bbSJanne Grunau			spi1_pins: spi1-pins {
785556cd4bbSJanne Grunau				pinmux = <APPLE_PINMUX(42, 1)>,
786556cd4bbSJanne Grunau					<APPLE_PINMUX(43, 1)>,
787556cd4bbSJanne Grunau					<APPLE_PINMUX(44, 1)>,
788556cd4bbSJanne Grunau					<APPLE_PINMUX(45, 1)>;
789556cd4bbSJanne Grunau			};
790556cd4bbSJanne Grunau
791556cd4bbSJanne Grunau			spi3_pins: spi3-pins {
792556cd4bbSJanne Grunau				pinmux = <APPLE_PINMUX(46, 1)>,
793556cd4bbSJanne Grunau					<APPLE_PINMUX(47, 1)>,
794556cd4bbSJanne Grunau					<APPLE_PINMUX(48, 1)>,
795556cd4bbSJanne Grunau					<APPLE_PINMUX(49, 1)>;
796556cd4bbSJanne Grunau			};
797556cd4bbSJanne Grunau
7980a8282b8SMark Kettenis			pcie_pins: pcie-pins {
7990a8282b8SMark Kettenis				pinmux = <APPLE_PINMUX(150, 1)>,
8000a8282b8SMark Kettenis					 <APPLE_PINMUX(151, 1)>,
8010a8282b8SMark Kettenis					 <APPLE_PINMUX(32, 1)>;
8020a8282b8SMark Kettenis			};
8030a8282b8SMark Kettenis		};
8040a8282b8SMark Kettenis
8052e0e70c9SSasha Finkelstein		nub_spmi: spmi@23d0d9300 {
8062e0e70c9SSasha Finkelstein			compatible = "apple,t8103-spmi", "apple,spmi";
8072e0e70c9SSasha Finkelstein			reg = <0x2 0x3d0d9300 0x0 0x100>;
8082e0e70c9SSasha Finkelstein			#address-cells = <2>;
8092e0e70c9SSasha Finkelstein			#size-cells = <0>;
810d8bf8208SHector Martin
811d8bf8208SHector Martin			pmic1: pmic@f {
812d8bf8208SHector Martin				compatible = "apple,sera-pmic", "apple,spmi-nvmem";
813d8bf8208SHector Martin				reg = <0xf SPMI_USID>;
814d8bf8208SHector Martin
815d8bf8208SHector Martin				nvmem-layout {
816d8bf8208SHector Martin					compatible = "fixed-layout";
817d8bf8208SHector Martin					#address-cells = <1>;
818d8bf8208SHector Martin					#size-cells = <1>;
819d8bf8208SHector Martin
820d8bf8208SHector Martin					boot_stage: boot-stage@9f01 {
821d8bf8208SHector Martin						reg = <0x9f01 0x1>;
822d8bf8208SHector Martin					};
823d8bf8208SHector Martin
8246aaf36bbSSven Peter					boot_error_count: boot-error-count@9f02,0 {
825d8bf8208SHector Martin						reg = <0x9f02 0x1>;
826d8bf8208SHector Martin						bits = <0 4>;
827d8bf8208SHector Martin					};
828d8bf8208SHector Martin
8296aaf36bbSSven Peter					panic_count: panic-count@9f02,4 {
830d8bf8208SHector Martin						reg = <0x9f02 0x1>;
831d8bf8208SHector Martin						bits = <4 4>;
832d8bf8208SHector Martin					};
833d8bf8208SHector Martin
834d8bf8208SHector Martin					boot_error_stage: boot-error-stage@9f03 {
835d8bf8208SHector Martin						reg = <0x9f03 0x1>;
836d8bf8208SHector Martin					};
837d8bf8208SHector Martin
8386aaf36bbSSven Peter					shutdown_flag: shutdown-flag@9f0f,3 {
839d8bf8208SHector Martin						reg = <0x9f0f 0x1>;
840d8bf8208SHector Martin						bits = <3 1>;
841d8bf8208SHector Martin					};
842d8bf8208SHector Martin
843d8bf8208SHector Martin					fault_shadow: fault-shadow@a67b {
844d8bf8208SHector Martin						reg = <0xa67b 0x10>;
845d8bf8208SHector Martin					};
846d8bf8208SHector Martin
847d8bf8208SHector Martin					socd: socd@ab00 {
848d8bf8208SHector Martin						reg = <0xab00 0x400>;
849d8bf8208SHector Martin					};
850d8bf8208SHector Martin
851d8bf8208SHector Martin					pm_setting: pm-setting@d001 {
852d8bf8208SHector Martin						reg = <0xd001 0x1>;
853d8bf8208SHector Martin					};
854d8bf8208SHector Martin
855d8bf8208SHector Martin					rtc_offset: rtc-offset@d100 {
856d8bf8208SHector Martin						reg = <0xd100 0x6>;
857d8bf8208SHector Martin					};
858d8bf8208SHector Martin				};
859d8bf8208SHector Martin			};
8602e0e70c9SSasha Finkelstein		};
8612e0e70c9SSasha Finkelstein
8620a8282b8SMark Kettenis		pinctrl_nub: pinctrl@23d1f0000 {
8630a8282b8SMark Kettenis			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
8640a8282b8SMark Kettenis			reg = <0x2 0x3d1f0000 0x0 0x4000>;
865106ba3b4SHector Martin			power-domains = <&ps_nub_gpio>;
8660a8282b8SMark Kettenis
8670a8282b8SMark Kettenis			gpio-controller;
8680a8282b8SMark Kettenis			#gpio-cells = <2>;
8690a8282b8SMark Kettenis			gpio-ranges = <&pinctrl_nub 0 0 23>;
8700a8282b8SMark Kettenis			apple,npins = <23>;
8710a8282b8SMark Kettenis
8720a8282b8SMark Kettenis			interrupt-controller;
8730668639eSJanne Grunau			#interrupt-cells = <2>;
8740a8282b8SMark Kettenis			interrupt-parent = <&aic>;
8750a8282b8SMark Kettenis			interrupts = <AIC_IRQ 330 IRQ_TYPE_LEVEL_HIGH>,
8760a8282b8SMark Kettenis				     <AIC_IRQ 331 IRQ_TYPE_LEVEL_HIGH>,
8770a8282b8SMark Kettenis				     <AIC_IRQ 332 IRQ_TYPE_LEVEL_HIGH>,
8780a8282b8SMark Kettenis				     <AIC_IRQ 333 IRQ_TYPE_LEVEL_HIGH>,
8790a8282b8SMark Kettenis				     <AIC_IRQ 334 IRQ_TYPE_LEVEL_HIGH>,
8800a8282b8SMark Kettenis				     <AIC_IRQ 335 IRQ_TYPE_LEVEL_HIGH>,
8810a8282b8SMark Kettenis				     <AIC_IRQ 336 IRQ_TYPE_LEVEL_HIGH>;
8820a8282b8SMark Kettenis		};
8830a8282b8SMark Kettenis
8848adf987cSHector Martin		pmgr_mini: power-management@23d280000 {
8858adf987cSHector Martin			compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
8868adf987cSHector Martin			#address-cells = <1>;
8878adf987cSHector Martin			#size-cells = <1>;
8888adf987cSHector Martin			reg = <0x2 0x3d280000 0 0x4000>;
8898adf987cSHector Martin		};
8908adf987cSHector Martin
891b4d11106SSven Peter		wdt: watchdog@23d2b0000 {
892b4d11106SSven Peter			compatible = "apple,t8103-wdt", "apple,wdt";
893b4d11106SSven Peter			reg = <0x2 0x3d2b0000 0x0 0x4000>;
89457337b25SHector Martin			clocks = <&clkref>;
895b4d11106SSven Peter			interrupt-parent = <&aic>;
896b4d11106SSven Peter			interrupts = <AIC_IRQ 338 IRQ_TYPE_LEVEL_HIGH>;
897b4d11106SSven Peter		};
898b4d11106SSven Peter
8990a8282b8SMark Kettenis		pinctrl_smc: pinctrl@23e820000 {
9000a8282b8SMark Kettenis			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
9010a8282b8SMark Kettenis			reg = <0x2 0x3e820000 0x0 0x4000>;
9020a8282b8SMark Kettenis
9030a8282b8SMark Kettenis			gpio-controller;
9040a8282b8SMark Kettenis			#gpio-cells = <2>;
9050a8282b8SMark Kettenis			gpio-ranges = <&pinctrl_smc 0 0 16>;
9060a8282b8SMark Kettenis			apple,npins = <16>;
9070a8282b8SMark Kettenis
9080a8282b8SMark Kettenis			interrupt-controller;
9090668639eSJanne Grunau			#interrupt-cells = <2>;
9100a8282b8SMark Kettenis			interrupt-parent = <&aic>;
9110a8282b8SMark Kettenis			interrupts = <AIC_IRQ 391 IRQ_TYPE_LEVEL_HIGH>,
9120a8282b8SMark Kettenis				     <AIC_IRQ 392 IRQ_TYPE_LEVEL_HIGH>,
9130a8282b8SMark Kettenis				     <AIC_IRQ 393 IRQ_TYPE_LEVEL_HIGH>,
9140a8282b8SMark Kettenis				     <AIC_IRQ 394 IRQ_TYPE_LEVEL_HIGH>,
9150a8282b8SMark Kettenis				     <AIC_IRQ 395 IRQ_TYPE_LEVEL_HIGH>,
9160a8282b8SMark Kettenis				     <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>,
9170a8282b8SMark Kettenis				     <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>;
9180a8282b8SMark Kettenis		};
919ff2a8d91SMark Kettenis
9208adf987cSHector Martin		pinctrl_aop: pinctrl@24a820000 {
9218adf987cSHector Martin			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
9228adf987cSHector Martin			reg = <0x2 0x4a820000 0x0 0x4000>;
9238adf987cSHector Martin
9248adf987cSHector Martin			gpio-controller;
9258adf987cSHector Martin			#gpio-cells = <2>;
9268adf987cSHector Martin			gpio-ranges = <&pinctrl_aop 0 0 42>;
9278adf987cSHector Martin			apple,npins = <42>;
9288adf987cSHector Martin
9298adf987cSHector Martin			interrupt-controller;
9308adf987cSHector Martin			#interrupt-cells = <2>;
9318adf987cSHector Martin			interrupt-parent = <&aic>;
9328adf987cSHector Martin			interrupts = <AIC_IRQ 268 IRQ_TYPE_LEVEL_HIGH>,
9338adf987cSHector Martin				     <AIC_IRQ 269 IRQ_TYPE_LEVEL_HIGH>,
9348adf987cSHector Martin				     <AIC_IRQ 270 IRQ_TYPE_LEVEL_HIGH>,
9358adf987cSHector Martin				     <AIC_IRQ 271 IRQ_TYPE_LEVEL_HIGH>,
9368adf987cSHector Martin				     <AIC_IRQ 272 IRQ_TYPE_LEVEL_HIGH>,
9378adf987cSHector Martin				     <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>,
9388adf987cSHector Martin				     <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>;
9398adf987cSHector Martin		};
9408adf987cSHector Martin
9415316d73bSSven Peter		ans_mbox: mbox@277408000 {
9425316d73bSSven Peter			compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
9435316d73bSSven Peter			reg = <0x2 0x77408000 0x0 0x4000>;
9445316d73bSSven Peter			interrupt-parent = <&aic>;
9455316d73bSSven Peter			interrupts = <AIC_IRQ 583 IRQ_TYPE_LEVEL_HIGH>,
9465316d73bSSven Peter				<AIC_IRQ 584 IRQ_TYPE_LEVEL_HIGH>,
9475316d73bSSven Peter				<AIC_IRQ 585 IRQ_TYPE_LEVEL_HIGH>,
9485316d73bSSven Peter				<AIC_IRQ 586 IRQ_TYPE_LEVEL_HIGH>;
9495316d73bSSven Peter			interrupt-names = "send-empty", "send-not-empty",
9505316d73bSSven Peter				"recv-empty", "recv-not-empty";
9515316d73bSSven Peter			#mbox-cells = <0>;
9525316d73bSSven Peter			power-domains = <&ps_ans2>;
9535316d73bSSven Peter		};
9545316d73bSSven Peter
9555316d73bSSven Peter		sart: iommu@27bc50000 {
9565316d73bSSven Peter			compatible = "apple,t8103-sart";
9575316d73bSSven Peter			reg = <0x2 0x7bc50000 0x0 0x10000>;
9585316d73bSSven Peter			power-domains = <&ps_ans2>;
9595316d73bSSven Peter		};
9605316d73bSSven Peter
9615316d73bSSven Peter		nvme@27bcc0000 {
9625316d73bSSven Peter			compatible = "apple,t8103-nvme-ans2", "apple,nvme-ans2";
9635316d73bSSven Peter			reg = <0x2 0x7bcc0000 0x0 0x40000>,
9645316d73bSSven Peter				<0x2 0x77400000 0x0 0x4000>;
9655316d73bSSven Peter			reg-names = "nvme", "ans";
9665316d73bSSven Peter			interrupt-parent = <&aic>;
9675316d73bSSven Peter			interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>;
9685316d73bSSven Peter			mboxes = <&ans_mbox>;
9695316d73bSSven Peter			apple,sart = <&sart>;
9705316d73bSSven Peter			power-domains = <&ps_ans2>, <&ps_apcie_st>;
9715316d73bSSven Peter			power-domain-names = "ans", "apcie0";
9725316d73bSSven Peter			resets = <&ps_ans2>;
9735316d73bSSven Peter		};
9745316d73bSSven Peter
97556d32c51SJanne Grunau		pcie0_dart_0: iommu@681008000 {
9763c866bb7SMarc Zyngier			compatible = "apple,t8103-dart";
9773c866bb7SMarc Zyngier			reg = <0x6 0x81008000 0x0 0x4000>;
9783c866bb7SMarc Zyngier			#iommu-cells = <1>;
9793c866bb7SMarc Zyngier			interrupt-parent = <&aic>;
9803c866bb7SMarc Zyngier			interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>;
981106ba3b4SHector Martin			power-domains = <&ps_apcie_gp>;
9823c866bb7SMarc Zyngier		};
9833c866bb7SMarc Zyngier
98456d32c51SJanne Grunau		pcie0_dart_1: iommu@682008000 {
9853c866bb7SMarc Zyngier			compatible = "apple,t8103-dart";
9863c866bb7SMarc Zyngier			reg = <0x6 0x82008000 0x0 0x4000>;
9873c866bb7SMarc Zyngier			#iommu-cells = <1>;
9883c866bb7SMarc Zyngier			interrupt-parent = <&aic>;
9893c866bb7SMarc Zyngier			interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>;
990106ba3b4SHector Martin			power-domains = <&ps_apcie_gp>;
991a0189fdfSJanne Grunau			status = "disabled";
9923c866bb7SMarc Zyngier		};
9933c866bb7SMarc Zyngier
99456d32c51SJanne Grunau		pcie0_dart_2: iommu@683008000 {
9953c866bb7SMarc Zyngier			compatible = "apple,t8103-dart";
9963c866bb7SMarc Zyngier			reg = <0x6 0x83008000 0x0 0x4000>;
9973c866bb7SMarc Zyngier			#iommu-cells = <1>;
9983c866bb7SMarc Zyngier			interrupt-parent = <&aic>;
9993c866bb7SMarc Zyngier			interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>;
1000106ba3b4SHector Martin			power-domains = <&ps_apcie_gp>;
1001a0189fdfSJanne Grunau			status = "disabled";
10023c866bb7SMarc Zyngier		};
10033c866bb7SMarc Zyngier
1004ff2a8d91SMark Kettenis		pcie0: pcie@690000000 {
1005ff2a8d91SMark Kettenis			compatible = "apple,t8103-pcie", "apple,pcie";
1006ff2a8d91SMark Kettenis			device_type = "pci";
1007ff2a8d91SMark Kettenis
1008ff2a8d91SMark Kettenis			reg = <0x6 0x90000000 0x0 0x1000000>,
1009ff2a8d91SMark Kettenis			      <0x6 0x80000000 0x0 0x100000>,
1010ff2a8d91SMark Kettenis			      <0x6 0x81000000 0x0 0x4000>,
1011ff2a8d91SMark Kettenis			      <0x6 0x82000000 0x0 0x4000>,
1012ff2a8d91SMark Kettenis			      <0x6 0x83000000 0x0 0x4000>;
1013ff2a8d91SMark Kettenis			reg-names = "config", "rc", "port0", "port1", "port2";
1014ff2a8d91SMark Kettenis
1015ff2a8d91SMark Kettenis			interrupt-parent = <&aic>;
1016ff2a8d91SMark Kettenis			interrupts = <AIC_IRQ 695 IRQ_TYPE_LEVEL_HIGH>,
1017ff2a8d91SMark Kettenis				     <AIC_IRQ 698 IRQ_TYPE_LEVEL_HIGH>,
1018ff2a8d91SMark Kettenis				     <AIC_IRQ 701 IRQ_TYPE_LEVEL_HIGH>;
1019ff2a8d91SMark Kettenis
1020ff2a8d91SMark Kettenis			msi-controller;
1021ff2a8d91SMark Kettenis			msi-parent = <&pcie0>;
1022ff2a8d91SMark Kettenis			msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>;
1023ff2a8d91SMark Kettenis
10243c866bb7SMarc Zyngier
10253c866bb7SMarc Zyngier			iommu-map = <0x100 &pcie0_dart_0 1 1>,
10263c866bb7SMarc Zyngier				    <0x200 &pcie0_dart_1 1 1>,
10273c866bb7SMarc Zyngier				    <0x300 &pcie0_dart_2 1 1>;
10283c866bb7SMarc Zyngier			iommu-map-mask = <0xff00>;
10293c866bb7SMarc Zyngier
1030ff2a8d91SMark Kettenis			bus-range = <0 3>;
1031ff2a8d91SMark Kettenis			#address-cells = <3>;
1032ff2a8d91SMark Kettenis			#size-cells = <2>;
1033ff2a8d91SMark Kettenis			ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>,
1034ff2a8d91SMark Kettenis				 <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>;
1035ff2a8d91SMark Kettenis
1036106ba3b4SHector Martin			power-domains = <&ps_apcie_gp>;
1037ff2a8d91SMark Kettenis			pinctrl-0 = <&pcie_pins>;
1038ff2a8d91SMark Kettenis			pinctrl-names = "default";
1039ff2a8d91SMark Kettenis
1040128888a6SMarc Zyngier			port00: pci@0,0 {
1041ff2a8d91SMark Kettenis				device_type = "pci";
1042ff2a8d91SMark Kettenis				reg = <0x0 0x0 0x0 0x0 0x0>;
10435b970dfcSMarc Zyngier				reset-gpios = <&pinctrl_ap 152 GPIO_ACTIVE_LOW>;
1044ff2a8d91SMark Kettenis
1045ff2a8d91SMark Kettenis				#address-cells = <3>;
1046ff2a8d91SMark Kettenis				#size-cells = <2>;
1047ff2a8d91SMark Kettenis				ranges;
1048128888a6SMarc Zyngier
1049128888a6SMarc Zyngier				interrupt-controller;
1050128888a6SMarc Zyngier				#interrupt-cells = <1>;
1051128888a6SMarc Zyngier
1052128888a6SMarc Zyngier				interrupt-map-mask = <0 0 0 7>;
1053128888a6SMarc Zyngier				interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
1054128888a6SMarc Zyngier						<0 0 0 2 &port00 0 0 0 1>,
1055128888a6SMarc Zyngier						<0 0 0 3 &port00 0 0 0 2>,
1056128888a6SMarc Zyngier						<0 0 0 4 &port00 0 0 0 3>;
1057ff2a8d91SMark Kettenis			};
1058ff2a8d91SMark Kettenis
1059128888a6SMarc Zyngier			port01: pci@1,0 {
1060ff2a8d91SMark Kettenis				device_type = "pci";
1061ff2a8d91SMark Kettenis				reg = <0x800 0x0 0x0 0x0 0x0>;
10625b970dfcSMarc Zyngier				reset-gpios = <&pinctrl_ap 153 GPIO_ACTIVE_LOW>;
1063ff2a8d91SMark Kettenis
1064ff2a8d91SMark Kettenis				#address-cells = <3>;
1065ff2a8d91SMark Kettenis				#size-cells = <2>;
1066ff2a8d91SMark Kettenis				ranges;
1067128888a6SMarc Zyngier
1068128888a6SMarc Zyngier				interrupt-controller;
1069128888a6SMarc Zyngier				#interrupt-cells = <1>;
1070128888a6SMarc Zyngier
1071128888a6SMarc Zyngier				interrupt-map-mask = <0 0 0 7>;
1072128888a6SMarc Zyngier				interrupt-map = <0 0 0 1 &port01 0 0 0 0>,
1073128888a6SMarc Zyngier						<0 0 0 2 &port01 0 0 0 1>,
1074128888a6SMarc Zyngier						<0 0 0 3 &port01 0 0 0 2>,
1075128888a6SMarc Zyngier						<0 0 0 4 &port01 0 0 0 3>;
1076a0189fdfSJanne Grunau				status = "disabled";
1077ff2a8d91SMark Kettenis			};
1078ff2a8d91SMark Kettenis
1079128888a6SMarc Zyngier			port02: pci@2,0 {
1080ff2a8d91SMark Kettenis				device_type = "pci";
1081ff2a8d91SMark Kettenis				reg = <0x1000 0x0 0x0 0x0 0x0>;
10825b970dfcSMarc Zyngier				reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>;
1083ff2a8d91SMark Kettenis
1084ff2a8d91SMark Kettenis				#address-cells = <3>;
1085ff2a8d91SMark Kettenis				#size-cells = <2>;
1086ff2a8d91SMark Kettenis				ranges;
1087128888a6SMarc Zyngier
1088128888a6SMarc Zyngier				interrupt-controller;
1089128888a6SMarc Zyngier				#interrupt-cells = <1>;
1090128888a6SMarc Zyngier
1091128888a6SMarc Zyngier				interrupt-map-mask = <0 0 0 7>;
1092128888a6SMarc Zyngier				interrupt-map = <0 0 0 1 &port02 0 0 0 0>,
1093128888a6SMarc Zyngier						<0 0 0 2 &port02 0 0 0 1>,
1094128888a6SMarc Zyngier						<0 0 0 3 &port02 0 0 0 2>,
1095128888a6SMarc Zyngier						<0 0 0 4 &port02 0 0 0 3>;
1096a0189fdfSJanne Grunau				status = "disabled";
1097ff2a8d91SMark Kettenis			};
1098ff2a8d91SMark Kettenis		};
10997d2d16ccSHector Martin	};
11007d2d16ccSHector Martin};
1101106ba3b4SHector Martin
1102106ba3b4SHector Martin#include "t8103-pmgr.dtsi"
1103