xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/qcm2290.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1fac71e4eSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2fac71e4eSEmmanuel Vadot/*
3fac71e4eSEmmanuel Vadot * Copyright (c) 2023, Linaro Ltd
4fac71e4eSEmmanuel Vadot *
5fac71e4eSEmmanuel Vadot * Based on sm6115.dtsi and previous efforts by Shawn Guo & Loic Poulain.
6fac71e4eSEmmanuel Vadot */
7fac71e4eSEmmanuel Vadot
88d13bc63SEmmanuel Vadot#include <dt-bindings/clock/qcom,dispcc-qcm2290.h>
9fac71e4eSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-qcm2290.h>
100e8011faSEmmanuel Vadot#include <dt-bindings/clock/qcom,qcm2290-gpucc.h>
11fac71e4eSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h>
12fac71e4eSEmmanuel Vadot#include <dt-bindings/dma/qcom-gpi.h>
13fac71e4eSEmmanuel Vadot#include <dt-bindings/firmware/qcom,scm.h>
14fac71e4eSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
15fac71e4eSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
168d13bc63SEmmanuel Vadot#include <dt-bindings/interconnect/qcom,qcm2290.h>
178d13bc63SEmmanuel Vadot#include <dt-bindings/interconnect/qcom,rpm-icc.h>
18fac71e4eSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
19fac71e4eSEmmanuel Vadot
20fac71e4eSEmmanuel Vadot/ {
21fac71e4eSEmmanuel Vadot	interrupt-parent = <&intc>;
22fac71e4eSEmmanuel Vadot
23fac71e4eSEmmanuel Vadot	#address-cells = <2>;
24fac71e4eSEmmanuel Vadot	#size-cells = <2>;
25fac71e4eSEmmanuel Vadot
26fac71e4eSEmmanuel Vadot	chosen { };
27fac71e4eSEmmanuel Vadot
28fac71e4eSEmmanuel Vadot	clocks {
29fac71e4eSEmmanuel Vadot		xo_board: xo-board {
30fac71e4eSEmmanuel Vadot			compatible = "fixed-clock";
31fac71e4eSEmmanuel Vadot			#clock-cells = <0>;
32fac71e4eSEmmanuel Vadot		};
33fac71e4eSEmmanuel Vadot
34fac71e4eSEmmanuel Vadot		sleep_clk: sleep-clk {
35fac71e4eSEmmanuel Vadot			compatible = "fixed-clock";
36fac71e4eSEmmanuel Vadot			clock-frequency = <32764>;
37fac71e4eSEmmanuel Vadot			#clock-cells = <0>;
38fac71e4eSEmmanuel Vadot		};
39fac71e4eSEmmanuel Vadot	};
40fac71e4eSEmmanuel Vadot
41fac71e4eSEmmanuel Vadot	cpus {
42fac71e4eSEmmanuel Vadot		#address-cells = <2>;
43fac71e4eSEmmanuel Vadot		#size-cells = <0>;
44fac71e4eSEmmanuel Vadot
45fac71e4eSEmmanuel Vadot		CPU0: cpu@0 {
46fac71e4eSEmmanuel Vadot			device_type = "cpu";
47fac71e4eSEmmanuel Vadot			compatible = "arm,cortex-a53";
48fac71e4eSEmmanuel Vadot			reg = <0x0 0x0>;
49fac71e4eSEmmanuel Vadot			clocks = <&cpufreq_hw 0>;
50fac71e4eSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
51fac71e4eSEmmanuel Vadot			dynamic-power-coefficient = <100>;
52fac71e4eSEmmanuel Vadot			enable-method = "psci";
53fac71e4eSEmmanuel Vadot			next-level-cache = <&L2_0>;
54fac71e4eSEmmanuel Vadot			qcom,freq-domain = <&cpufreq_hw 0>;
55f126890aSEmmanuel Vadot			power-domains = <&CPU_PD0>;
56f126890aSEmmanuel Vadot			power-domain-names = "psci";
57fac71e4eSEmmanuel Vadot			L2_0: l2-cache {
58fac71e4eSEmmanuel Vadot				compatible = "cache";
59fac71e4eSEmmanuel Vadot				cache-level = <2>;
60fac71e4eSEmmanuel Vadot				cache-unified;
61fac71e4eSEmmanuel Vadot			};
62fac71e4eSEmmanuel Vadot		};
63fac71e4eSEmmanuel Vadot
64fac71e4eSEmmanuel Vadot		CPU1: cpu@1 {
65fac71e4eSEmmanuel Vadot			device_type = "cpu";
66fac71e4eSEmmanuel Vadot			compatible = "arm,cortex-a53";
67fac71e4eSEmmanuel Vadot			reg = <0x0 0x1>;
68fac71e4eSEmmanuel Vadot			clocks = <&cpufreq_hw 0>;
69fac71e4eSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
70fac71e4eSEmmanuel Vadot			dynamic-power-coefficient = <100>;
71fac71e4eSEmmanuel Vadot			enable-method = "psci";
72fac71e4eSEmmanuel Vadot			next-level-cache = <&L2_0>;
73fac71e4eSEmmanuel Vadot			qcom,freq-domain = <&cpufreq_hw 0>;
74f126890aSEmmanuel Vadot			power-domains = <&CPU_PD1>;
75f126890aSEmmanuel Vadot			power-domain-names = "psci";
76fac71e4eSEmmanuel Vadot		};
77fac71e4eSEmmanuel Vadot
78fac71e4eSEmmanuel Vadot		CPU2: cpu@2 {
79fac71e4eSEmmanuel Vadot			device_type = "cpu";
80fac71e4eSEmmanuel Vadot			compatible = "arm,cortex-a53";
81fac71e4eSEmmanuel Vadot			reg = <0x0 0x2>;
82fac71e4eSEmmanuel Vadot			clocks = <&cpufreq_hw 0>;
83fac71e4eSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
84fac71e4eSEmmanuel Vadot			dynamic-power-coefficient = <100>;
85fac71e4eSEmmanuel Vadot			enable-method = "psci";
86fac71e4eSEmmanuel Vadot			next-level-cache = <&L2_0>;
87fac71e4eSEmmanuel Vadot			qcom,freq-domain = <&cpufreq_hw 0>;
88f126890aSEmmanuel Vadot			power-domains = <&CPU_PD2>;
89f126890aSEmmanuel Vadot			power-domain-names = "psci";
90fac71e4eSEmmanuel Vadot		};
91fac71e4eSEmmanuel Vadot
92fac71e4eSEmmanuel Vadot		CPU3: cpu@3 {
93fac71e4eSEmmanuel Vadot			device_type = "cpu";
94fac71e4eSEmmanuel Vadot			compatible = "arm,cortex-a53";
95fac71e4eSEmmanuel Vadot			reg = <0x0 0x3>;
96fac71e4eSEmmanuel Vadot			clocks = <&cpufreq_hw 0>;
97fac71e4eSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
98fac71e4eSEmmanuel Vadot			dynamic-power-coefficient = <100>;
99fac71e4eSEmmanuel Vadot			enable-method = "psci";
100fac71e4eSEmmanuel Vadot			next-level-cache = <&L2_0>;
101fac71e4eSEmmanuel Vadot			qcom,freq-domain = <&cpufreq_hw 0>;
102f126890aSEmmanuel Vadot			power-domains = <&CPU_PD3>;
103f126890aSEmmanuel Vadot			power-domain-names = "psci";
104fac71e4eSEmmanuel Vadot		};
105fac71e4eSEmmanuel Vadot
106fac71e4eSEmmanuel Vadot		cpu-map {
107fac71e4eSEmmanuel Vadot			cluster0 {
108fac71e4eSEmmanuel Vadot				core0 {
109fac71e4eSEmmanuel Vadot					cpu = <&CPU0>;
110fac71e4eSEmmanuel Vadot				};
111fac71e4eSEmmanuel Vadot
112fac71e4eSEmmanuel Vadot				core1 {
113fac71e4eSEmmanuel Vadot					cpu = <&CPU1>;
114fac71e4eSEmmanuel Vadot				};
115fac71e4eSEmmanuel Vadot
116fac71e4eSEmmanuel Vadot				core2 {
117fac71e4eSEmmanuel Vadot					cpu = <&CPU2>;
118fac71e4eSEmmanuel Vadot				};
119fac71e4eSEmmanuel Vadot
120fac71e4eSEmmanuel Vadot				core3 {
121fac71e4eSEmmanuel Vadot					cpu = <&CPU3>;
122fac71e4eSEmmanuel Vadot				};
123fac71e4eSEmmanuel Vadot			};
124fac71e4eSEmmanuel Vadot		};
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot		domain-idle-states {
127f126890aSEmmanuel Vadot			CLUSTER_SLEEP: cluster-sleep-0 {
128f126890aSEmmanuel Vadot				compatible = "domain-idle-state";
129f126890aSEmmanuel Vadot				arm,psci-suspend-param = <0x41000043>;
130f126890aSEmmanuel Vadot				entry-latency-us = <800>;
131f126890aSEmmanuel Vadot				exit-latency-us = <2118>;
132f126890aSEmmanuel Vadot				min-residency-us = <7376>;
133f126890aSEmmanuel Vadot			};
134f126890aSEmmanuel Vadot		};
135f126890aSEmmanuel Vadot
136f126890aSEmmanuel Vadot		idle-states {
137f126890aSEmmanuel Vadot			entry-method = "psci";
138f126890aSEmmanuel Vadot
139f126890aSEmmanuel Vadot			CPU_SLEEP: cpu-sleep-0 {
140f126890aSEmmanuel Vadot				compatible = "arm,idle-state";
141f126890aSEmmanuel Vadot				idle-state-name = "power-collapse";
142f126890aSEmmanuel Vadot				arm,psci-suspend-param = <0x40000003>;
143f126890aSEmmanuel Vadot				entry-latency-us = <290>;
144f126890aSEmmanuel Vadot				exit-latency-us = <376>;
145f126890aSEmmanuel Vadot				min-residency-us = <1182>;
146f126890aSEmmanuel Vadot				local-timer-stop;
147f126890aSEmmanuel Vadot			};
148f126890aSEmmanuel Vadot		};
149fac71e4eSEmmanuel Vadot	};
150fac71e4eSEmmanuel Vadot
151fac71e4eSEmmanuel Vadot	firmware {
152fac71e4eSEmmanuel Vadot		scm: scm {
153fac71e4eSEmmanuel Vadot			compatible = "qcom,scm-qcm2290", "qcom,scm";
154fac71e4eSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_CE1_CLK>;
155fac71e4eSEmmanuel Vadot			clock-names = "core";
156fac71e4eSEmmanuel Vadot			#reset-cells = <1>;
1578d13bc63SEmmanuel Vadot			interconnects = <&system_noc MASTER_CRYPTO_CORE0 RPM_ALWAYS_TAG
1588d13bc63SEmmanuel Vadot					 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
159fac71e4eSEmmanuel Vadot		};
160fac71e4eSEmmanuel Vadot	};
161fac71e4eSEmmanuel Vadot
162fac71e4eSEmmanuel Vadot	memory@40000000 {
163fac71e4eSEmmanuel Vadot		device_type = "memory";
164fac71e4eSEmmanuel Vadot		/* We expect the bootloader to fill in the size */
165fac71e4eSEmmanuel Vadot		reg = <0 0x40000000 0 0>;
166fac71e4eSEmmanuel Vadot	};
167fac71e4eSEmmanuel Vadot
168fac71e4eSEmmanuel Vadot	pmu {
1697d0873ebSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
170fac71e4eSEmmanuel Vadot		interrupts = <GIC_PPI 6 IRQ_TYPE_LEVEL_HIGH>;
171fac71e4eSEmmanuel Vadot	};
172fac71e4eSEmmanuel Vadot
173fac71e4eSEmmanuel Vadot	psci {
174fac71e4eSEmmanuel Vadot		compatible = "arm,psci-1.0";
175fac71e4eSEmmanuel Vadot		method = "smc";
176f126890aSEmmanuel Vadot
177f126890aSEmmanuel Vadot		CPU_PD0: power-domain-cpu0 {
178f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
179f126890aSEmmanuel Vadot			power-domains = <&CLUSTER_PD>;
180f126890aSEmmanuel Vadot			domain-idle-states = <&CPU_SLEEP>;
181f126890aSEmmanuel Vadot		};
182f126890aSEmmanuel Vadot
183f126890aSEmmanuel Vadot		CPU_PD1: power-domain-cpu1 {
184f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
185f126890aSEmmanuel Vadot			power-domains = <&CLUSTER_PD>;
186f126890aSEmmanuel Vadot			domain-idle-states = <&CPU_SLEEP>;
187f126890aSEmmanuel Vadot		};
188f126890aSEmmanuel Vadot
189f126890aSEmmanuel Vadot		CPU_PD2: power-domain-cpu2 {
190f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
191f126890aSEmmanuel Vadot			power-domains = <&CLUSTER_PD>;
192f126890aSEmmanuel Vadot			domain-idle-states = <&CPU_SLEEP>;
193f126890aSEmmanuel Vadot		};
194f126890aSEmmanuel Vadot
195f126890aSEmmanuel Vadot		CPU_PD3: power-domain-cpu3 {
196f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
197f126890aSEmmanuel Vadot			power-domains = <&CLUSTER_PD>;
198f126890aSEmmanuel Vadot			domain-idle-states = <&CPU_SLEEP>;
199f126890aSEmmanuel Vadot		};
200f126890aSEmmanuel Vadot
201f126890aSEmmanuel Vadot		CLUSTER_PD: power-domain-cpu-cluster {
202f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
2038d13bc63SEmmanuel Vadot			power-domains = <&mpm>;
204f126890aSEmmanuel Vadot			domain-idle-states = <&CLUSTER_SLEEP>;
205f126890aSEmmanuel Vadot		};
206fac71e4eSEmmanuel Vadot	};
207fac71e4eSEmmanuel Vadot
208aa1a8ff2SEmmanuel Vadot	rpm: remoteproc {
209aa1a8ff2SEmmanuel Vadot		compatible = "qcom,qcm2290-rpm-proc", "qcom,rpm-proc";
210aa1a8ff2SEmmanuel Vadot
211aa1a8ff2SEmmanuel Vadot		glink-edge {
212aa1a8ff2SEmmanuel Vadot			compatible = "qcom,glink-rpm";
213aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
214aa1a8ff2SEmmanuel Vadot			qcom,rpm-msg-ram = <&rpm_msg_ram>;
215aa1a8ff2SEmmanuel Vadot			mboxes = <&apcs_glb 0>;
216aa1a8ff2SEmmanuel Vadot
217aa1a8ff2SEmmanuel Vadot			rpm_requests: rpm-requests {
218*b2d2a78aSEmmanuel Vadot				compatible = "qcom,rpm-qcm2290", "qcom,glink-smd-rpm";
219aa1a8ff2SEmmanuel Vadot				qcom,glink-channels = "rpm_requests";
220aa1a8ff2SEmmanuel Vadot
221aa1a8ff2SEmmanuel Vadot				rpmcc: clock-controller {
222aa1a8ff2SEmmanuel Vadot					compatible = "qcom,rpmcc-qcm2290", "qcom,rpmcc";
223aa1a8ff2SEmmanuel Vadot					clocks = <&xo_board>;
224aa1a8ff2SEmmanuel Vadot					clock-names = "xo";
225aa1a8ff2SEmmanuel Vadot					#clock-cells = <1>;
226aa1a8ff2SEmmanuel Vadot				};
227aa1a8ff2SEmmanuel Vadot
228aa1a8ff2SEmmanuel Vadot				rpmpd: power-controller {
229aa1a8ff2SEmmanuel Vadot					compatible = "qcom,qcm2290-rpmpd";
230aa1a8ff2SEmmanuel Vadot					#power-domain-cells = <1>;
231aa1a8ff2SEmmanuel Vadot					operating-points-v2 = <&rpmpd_opp_table>;
232aa1a8ff2SEmmanuel Vadot
233aa1a8ff2SEmmanuel Vadot					rpmpd_opp_table: opp-table {
234aa1a8ff2SEmmanuel Vadot						compatible = "operating-points-v2";
235aa1a8ff2SEmmanuel Vadot
236aa1a8ff2SEmmanuel Vadot						rpmpd_opp_min_svs: opp1 {
237aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
238aa1a8ff2SEmmanuel Vadot						};
239aa1a8ff2SEmmanuel Vadot
240aa1a8ff2SEmmanuel Vadot						rpmpd_opp_low_svs: opp2 {
241aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
242aa1a8ff2SEmmanuel Vadot						};
243aa1a8ff2SEmmanuel Vadot
244aa1a8ff2SEmmanuel Vadot						rpmpd_opp_svs: opp3 {
245aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_SVS>;
246aa1a8ff2SEmmanuel Vadot						};
247aa1a8ff2SEmmanuel Vadot
248aa1a8ff2SEmmanuel Vadot						rpmpd_opp_svs_plus: opp4 {
249aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
250aa1a8ff2SEmmanuel Vadot						};
251aa1a8ff2SEmmanuel Vadot
252aa1a8ff2SEmmanuel Vadot						rpmpd_opp_nom: opp5 {
253aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_NOM>;
254aa1a8ff2SEmmanuel Vadot						};
255aa1a8ff2SEmmanuel Vadot
256aa1a8ff2SEmmanuel Vadot						rpmpd_opp_nom_plus: opp6 {
257aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
258aa1a8ff2SEmmanuel Vadot						};
259aa1a8ff2SEmmanuel Vadot
260aa1a8ff2SEmmanuel Vadot						rpmpd_opp_turbo: opp7 {
261aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO>;
262aa1a8ff2SEmmanuel Vadot						};
263aa1a8ff2SEmmanuel Vadot
264aa1a8ff2SEmmanuel Vadot						rpmpd_opp_turbo_plus: opp8 {
265aa1a8ff2SEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
266aa1a8ff2SEmmanuel Vadot						};
267aa1a8ff2SEmmanuel Vadot					};
268aa1a8ff2SEmmanuel Vadot				};
269aa1a8ff2SEmmanuel Vadot			};
270aa1a8ff2SEmmanuel Vadot		};
2718d13bc63SEmmanuel Vadot
2728d13bc63SEmmanuel Vadot		mpm: interrupt-controller {
2738d13bc63SEmmanuel Vadot			compatible = "qcom,mpm";
2748d13bc63SEmmanuel Vadot			qcom,rpm-msg-ram = <&apss_mpm>;
2758d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
2768d13bc63SEmmanuel Vadot			mboxes = <&apcs_glb 1>;
2778d13bc63SEmmanuel Vadot			interrupt-controller;
2788d13bc63SEmmanuel Vadot			#interrupt-cells = <2>;
2798d13bc63SEmmanuel Vadot			#power-domain-cells = <0>;
2808d13bc63SEmmanuel Vadot			interrupt-parent = <&intc>;
2818d13bc63SEmmanuel Vadot			qcom,mpm-pin-count = <96>;
2828d13bc63SEmmanuel Vadot			qcom,mpm-pin-map = <2 275>,  /* TSENS0 uplow */
2838d13bc63SEmmanuel Vadot					   <5 296>,  /* Soundwire master_irq */
2848d13bc63SEmmanuel Vadot					   <12 422>, /* DWC3 ss_phy_irq */
2858d13bc63SEmmanuel Vadot					   <24 79>,  /* Soundwire wake_irq */
2868d13bc63SEmmanuel Vadot					   <86 183>, /* MPM wake, SPMI */
2878d13bc63SEmmanuel Vadot					   <90 260>; /* QUSB2_PHY DP+DM */
2888d13bc63SEmmanuel Vadot		};
289aa1a8ff2SEmmanuel Vadot	};
290aa1a8ff2SEmmanuel Vadot
291fac71e4eSEmmanuel Vadot	reserved_memory: reserved-memory {
292fac71e4eSEmmanuel Vadot		#address-cells = <2>;
293fac71e4eSEmmanuel Vadot		#size-cells = <2>;
294fac71e4eSEmmanuel Vadot		ranges;
295fac71e4eSEmmanuel Vadot
296fac71e4eSEmmanuel Vadot		hyp_mem: hyp@45700000 {
297fac71e4eSEmmanuel Vadot			reg = <0x0 0x45700000 0x0 0x600000>;
298fac71e4eSEmmanuel Vadot			no-map;
299fac71e4eSEmmanuel Vadot		};
300fac71e4eSEmmanuel Vadot
301fac71e4eSEmmanuel Vadot		xbl_aop_mem: xbl-aop@45e00000 {
302fac71e4eSEmmanuel Vadot			reg = <0x0 0x45e00000 0x0 0x140000>;
303fac71e4eSEmmanuel Vadot			no-map;
304fac71e4eSEmmanuel Vadot		};
305fac71e4eSEmmanuel Vadot
306fac71e4eSEmmanuel Vadot		sec_apps_mem: sec-apps@45fff000 {
307fac71e4eSEmmanuel Vadot			reg = <0x0 0x45fff000 0x0 0x1000>;
308fac71e4eSEmmanuel Vadot			no-map;
309fac71e4eSEmmanuel Vadot		};
310fac71e4eSEmmanuel Vadot
311fac71e4eSEmmanuel Vadot		smem_mem: smem@46000000 {
312fac71e4eSEmmanuel Vadot			compatible = "qcom,smem";
313fac71e4eSEmmanuel Vadot			reg = <0x0 0x46000000 0x0 0x200000>;
314fac71e4eSEmmanuel Vadot			no-map;
315fac71e4eSEmmanuel Vadot
316fac71e4eSEmmanuel Vadot			hwlocks = <&tcsr_mutex 3>;
317fac71e4eSEmmanuel Vadot			qcom,rpm-msg-ram = <&rpm_msg_ram>;
318fac71e4eSEmmanuel Vadot		};
319fac71e4eSEmmanuel Vadot
320fac71e4eSEmmanuel Vadot		pil_modem_mem: modem@4ab00000 {
321fac71e4eSEmmanuel Vadot			reg = <0x0 0x4ab00000 0x0 0x6900000>;
322fac71e4eSEmmanuel Vadot			no-map;
323fac71e4eSEmmanuel Vadot		};
324fac71e4eSEmmanuel Vadot
325fac71e4eSEmmanuel Vadot		pil_video_mem: video@51400000 {
326fac71e4eSEmmanuel Vadot			reg = <0x0 0x51400000 0x0 0x500000>;
327fac71e4eSEmmanuel Vadot			no-map;
328fac71e4eSEmmanuel Vadot		};
329fac71e4eSEmmanuel Vadot
330fac71e4eSEmmanuel Vadot		wlan_msa_mem: wlan-msa@51900000 {
331fac71e4eSEmmanuel Vadot			reg = <0x0 0x51900000 0x0 0x100000>;
332fac71e4eSEmmanuel Vadot			no-map;
333fac71e4eSEmmanuel Vadot		};
334fac71e4eSEmmanuel Vadot
335fac71e4eSEmmanuel Vadot		pil_adsp_mem: adsp@51a00000 {
336fac71e4eSEmmanuel Vadot			reg = <0x0 0x51a00000 0x0 0x1c00000>;
337fac71e4eSEmmanuel Vadot			no-map;
338fac71e4eSEmmanuel Vadot		};
339fac71e4eSEmmanuel Vadot
340fac71e4eSEmmanuel Vadot		pil_ipa_fw_mem: ipa-fw@53600000 {
341fac71e4eSEmmanuel Vadot			reg = <0x0 0x53600000 0x0 0x10000>;
342fac71e4eSEmmanuel Vadot			no-map;
343fac71e4eSEmmanuel Vadot		};
344fac71e4eSEmmanuel Vadot
345fac71e4eSEmmanuel Vadot		pil_ipa_gsi_mem: ipa-gsi@53610000 {
346fac71e4eSEmmanuel Vadot			reg = <0x0 0x53610000 0x0 0x5000>;
347fac71e4eSEmmanuel Vadot			no-map;
348fac71e4eSEmmanuel Vadot		};
349fac71e4eSEmmanuel Vadot
350fac71e4eSEmmanuel Vadot		pil_gpu_mem: zap@53615000 {
351fac71e4eSEmmanuel Vadot			compatible = "shared-dma-pool";
352fac71e4eSEmmanuel Vadot			reg = <0x0 0x53615000 0x0 0x2000>;
353fac71e4eSEmmanuel Vadot			no-map;
354fac71e4eSEmmanuel Vadot		};
355fac71e4eSEmmanuel Vadot
356fac71e4eSEmmanuel Vadot		cont_splash_memory: framebuffer@5c000000 {
357fac71e4eSEmmanuel Vadot			reg = <0x0 0x5c000000 0x0 0x00f00000>;
358fac71e4eSEmmanuel Vadot			no-map;
359fac71e4eSEmmanuel Vadot		};
360fac71e4eSEmmanuel Vadot
361fac71e4eSEmmanuel Vadot		dfps_data_memory: dpfs-data@5cf00000 {
362fac71e4eSEmmanuel Vadot			reg = <0x0 0x5cf00000 0x0 0x0100000>;
363fac71e4eSEmmanuel Vadot			no-map;
364fac71e4eSEmmanuel Vadot		};
365fac71e4eSEmmanuel Vadot
366fac71e4eSEmmanuel Vadot		removed_mem: reserved@60000000 {
367fac71e4eSEmmanuel Vadot			reg = <0x0 0x60000000 0x0 0x3900000>;
368fac71e4eSEmmanuel Vadot			no-map;
369fac71e4eSEmmanuel Vadot		};
370fac71e4eSEmmanuel Vadot
371fac71e4eSEmmanuel Vadot		rmtfs_mem: memory@89b01000 {
372fac71e4eSEmmanuel Vadot			compatible = "qcom,rmtfs-mem";
373fac71e4eSEmmanuel Vadot			reg = <0x0 0x89b01000 0x0 0x200000>;
374fac71e4eSEmmanuel Vadot			no-map;
375fac71e4eSEmmanuel Vadot
376fac71e4eSEmmanuel Vadot			qcom,client-id = <1>;
377fac71e4eSEmmanuel Vadot			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
378fac71e4eSEmmanuel Vadot		};
379fac71e4eSEmmanuel Vadot	};
380fac71e4eSEmmanuel Vadot
381fac71e4eSEmmanuel Vadot	smp2p-adsp {
382fac71e4eSEmmanuel Vadot		compatible = "qcom,smp2p";
383fac71e4eSEmmanuel Vadot		qcom,smem = <443>, <429>;
384fac71e4eSEmmanuel Vadot
385fac71e4eSEmmanuel Vadot		interrupts = <GIC_SPI 279 IRQ_TYPE_EDGE_RISING>;
386fac71e4eSEmmanuel Vadot
387fac71e4eSEmmanuel Vadot		mboxes = <&apcs_glb 10>;
388fac71e4eSEmmanuel Vadot
389fac71e4eSEmmanuel Vadot		qcom,local-pid = <0>;
390fac71e4eSEmmanuel Vadot		qcom,remote-pid = <2>;
391fac71e4eSEmmanuel Vadot
392fac71e4eSEmmanuel Vadot		adsp_smp2p_out: master-kernel {
393fac71e4eSEmmanuel Vadot			qcom,entry-name = "master-kernel";
394fac71e4eSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
395fac71e4eSEmmanuel Vadot		};
396fac71e4eSEmmanuel Vadot
397fac71e4eSEmmanuel Vadot		adsp_smp2p_in: slave-kernel {
398fac71e4eSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
399fac71e4eSEmmanuel Vadot			interrupt-controller;
400fac71e4eSEmmanuel Vadot			#interrupt-cells = <2>;
401fac71e4eSEmmanuel Vadot		};
402fac71e4eSEmmanuel Vadot	};
403fac71e4eSEmmanuel Vadot
404fac71e4eSEmmanuel Vadot	smp2p-mpss {
405fac71e4eSEmmanuel Vadot		compatible = "qcom,smp2p";
406fac71e4eSEmmanuel Vadot		qcom,smem = <435>, <428>;
407fac71e4eSEmmanuel Vadot
408fac71e4eSEmmanuel Vadot		interrupts = <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>;
409fac71e4eSEmmanuel Vadot
410fac71e4eSEmmanuel Vadot		mboxes = <&apcs_glb 14>;
411fac71e4eSEmmanuel Vadot
412fac71e4eSEmmanuel Vadot		qcom,local-pid = <0>;
413fac71e4eSEmmanuel Vadot		qcom,remote-pid = <1>;
414fac71e4eSEmmanuel Vadot
415fac71e4eSEmmanuel Vadot		modem_smp2p_out: master-kernel {
416fac71e4eSEmmanuel Vadot			qcom,entry-name = "master-kernel";
417fac71e4eSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
418fac71e4eSEmmanuel Vadot		};
419fac71e4eSEmmanuel Vadot
420fac71e4eSEmmanuel Vadot		modem_smp2p_in: slave-kernel {
421fac71e4eSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
422fac71e4eSEmmanuel Vadot			interrupt-controller;
423fac71e4eSEmmanuel Vadot			#interrupt-cells = <2>;
424fac71e4eSEmmanuel Vadot		};
425fac71e4eSEmmanuel Vadot
426fac71e4eSEmmanuel Vadot		wlan_smp2p_in: wlan-wpss-to-ap {
427fac71e4eSEmmanuel Vadot			qcom,entry-name = "wlan";
428fac71e4eSEmmanuel Vadot			interrupt-controller;
429fac71e4eSEmmanuel Vadot			#interrupt-cells = <2>;
430fac71e4eSEmmanuel Vadot		};
431fac71e4eSEmmanuel Vadot	};
432fac71e4eSEmmanuel Vadot
433fac71e4eSEmmanuel Vadot	soc: soc@0 {
434fac71e4eSEmmanuel Vadot		compatible = "simple-bus";
435fac71e4eSEmmanuel Vadot		#address-cells = <2>;
436fac71e4eSEmmanuel Vadot		#size-cells = <2>;
437fac71e4eSEmmanuel Vadot		ranges = <0 0 0 0 0x10 0>;
438fac71e4eSEmmanuel Vadot		dma-ranges = <0 0 0 0 0x10 0>;
439fac71e4eSEmmanuel Vadot
440fac71e4eSEmmanuel Vadot		tcsr_mutex: hwlock@340000 {
441fac71e4eSEmmanuel Vadot			compatible = "qcom,tcsr-mutex";
442fac71e4eSEmmanuel Vadot			reg = <0x0 0x00340000 0x0 0x20000>;
443fac71e4eSEmmanuel Vadot			#hwlock-cells = <1>;
444fac71e4eSEmmanuel Vadot		};
445fac71e4eSEmmanuel Vadot
44601950c46SEmmanuel Vadot		tcsr_regs: syscon@3c0000 {
44701950c46SEmmanuel Vadot			compatible = "qcom,qcm2290-tcsr", "syscon";
44801950c46SEmmanuel Vadot			reg = <0x0 0x003c0000 0x0 0x40000>;
44901950c46SEmmanuel Vadot		};
45001950c46SEmmanuel Vadot
451fac71e4eSEmmanuel Vadot		tlmm: pinctrl@500000 {
452fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-tlmm";
453fac71e4eSEmmanuel Vadot			reg = <0x0 0x00500000 0x0 0x300000>;
454fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
455fac71e4eSEmmanuel Vadot			gpio-controller;
456fac71e4eSEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 127>;
4578d13bc63SEmmanuel Vadot			wakeup-parent = <&mpm>;
458fac71e4eSEmmanuel Vadot			#gpio-cells = <2>;
459fac71e4eSEmmanuel Vadot			interrupt-controller;
460fac71e4eSEmmanuel Vadot			#interrupt-cells = <2>;
461fac71e4eSEmmanuel Vadot
462fac71e4eSEmmanuel Vadot			qup_i2c0_default: qup-i2c0-default-state {
463fac71e4eSEmmanuel Vadot				pins = "gpio0", "gpio1";
464fac71e4eSEmmanuel Vadot				function = "qup0";
465fac71e4eSEmmanuel Vadot				drive-strength = <2>;
466fac71e4eSEmmanuel Vadot				bias-pull-up;
467fac71e4eSEmmanuel Vadot			};
468fac71e4eSEmmanuel Vadot
469fac71e4eSEmmanuel Vadot			qup_i2c1_default: qup-i2c1-default-state {
470fac71e4eSEmmanuel Vadot				pins = "gpio4", "gpio5";
471fac71e4eSEmmanuel Vadot				function = "qup1";
472fac71e4eSEmmanuel Vadot				drive-strength = <2>;
473fac71e4eSEmmanuel Vadot				bias-pull-up;
474fac71e4eSEmmanuel Vadot			};
475fac71e4eSEmmanuel Vadot
476fac71e4eSEmmanuel Vadot			qup_i2c2_default: qup-i2c2-default-state {
477fac71e4eSEmmanuel Vadot				pins = "gpio6", "gpio7";
478fac71e4eSEmmanuel Vadot				function = "qup2";
479fac71e4eSEmmanuel Vadot				drive-strength = <2>;
480fac71e4eSEmmanuel Vadot				bias-pull-up;
481fac71e4eSEmmanuel Vadot			};
482fac71e4eSEmmanuel Vadot
483fac71e4eSEmmanuel Vadot			qup_i2c3_default: qup-i2c3-default-state {
484fac71e4eSEmmanuel Vadot				pins = "gpio8", "gpio9";
485fac71e4eSEmmanuel Vadot				function = "qup3";
486fac71e4eSEmmanuel Vadot				drive-strength = <2>;
487fac71e4eSEmmanuel Vadot				bias-pull-up;
488fac71e4eSEmmanuel Vadot			};
489fac71e4eSEmmanuel Vadot
490fac71e4eSEmmanuel Vadot			qup_i2c4_default: qup-i2c4-default-state {
491fac71e4eSEmmanuel Vadot				pins = "gpio12", "gpio13";
492fac71e4eSEmmanuel Vadot				function = "qup4";
493fac71e4eSEmmanuel Vadot				drive-strength = <2>;
494fac71e4eSEmmanuel Vadot				bias-pull-up;
495fac71e4eSEmmanuel Vadot			};
496fac71e4eSEmmanuel Vadot
497fac71e4eSEmmanuel Vadot			qup_i2c5_default: qup-i2c5-default-state {
498fac71e4eSEmmanuel Vadot				pins = "gpio14", "gpio15";
499fac71e4eSEmmanuel Vadot				function = "qup5";
500fac71e4eSEmmanuel Vadot				drive-strength = <2>;
501fac71e4eSEmmanuel Vadot				bias-pull-up;
502fac71e4eSEmmanuel Vadot			};
503fac71e4eSEmmanuel Vadot
504fac71e4eSEmmanuel Vadot			qup_spi0_default: qup-spi0-default-state {
505fac71e4eSEmmanuel Vadot				pins = "gpio0", "gpio1","gpio2", "gpio3";
506fac71e4eSEmmanuel Vadot				function = "qup0";
507fac71e4eSEmmanuel Vadot				drive-strength = <2>;
508fac71e4eSEmmanuel Vadot				bias-pull-up;
509fac71e4eSEmmanuel Vadot			};
510fac71e4eSEmmanuel Vadot
511fac71e4eSEmmanuel Vadot			qup_spi1_default: qup-spi1-default-state {
512fac71e4eSEmmanuel Vadot				pins = "gpio4", "gpio5", "gpio69", "gpio70";
513fac71e4eSEmmanuel Vadot				function = "qup1";
514fac71e4eSEmmanuel Vadot				drive-strength = <2>;
515fac71e4eSEmmanuel Vadot				bias-pull-up;
516fac71e4eSEmmanuel Vadot			};
517fac71e4eSEmmanuel Vadot
518fac71e4eSEmmanuel Vadot			qup_spi2_default: qup-spi2-default-state {
519fac71e4eSEmmanuel Vadot				pins = "gpio6", "gpio7", "gpio71", "gpio80";
520fac71e4eSEmmanuel Vadot				function = "qup2";
521fac71e4eSEmmanuel Vadot				drive-strength = <2>;
522fac71e4eSEmmanuel Vadot				bias-pull-up;
523fac71e4eSEmmanuel Vadot			};
524fac71e4eSEmmanuel Vadot
525fac71e4eSEmmanuel Vadot			qup_spi3_default: qup-spi3-default-state {
526fac71e4eSEmmanuel Vadot				pins = "gpio8", "gpio9", "gpio10", "gpio11";
527fac71e4eSEmmanuel Vadot				function = "qup3";
528fac71e4eSEmmanuel Vadot				drive-strength = <2>;
529fac71e4eSEmmanuel Vadot				bias-pull-up;
530fac71e4eSEmmanuel Vadot			};
531fac71e4eSEmmanuel Vadot
532fac71e4eSEmmanuel Vadot			qup_spi4_default: qup-spi4-default-state {
533fac71e4eSEmmanuel Vadot				pins = "gpio12", "gpio13", "gpio96", "gpio97";
534fac71e4eSEmmanuel Vadot				function = "qup4";
535fac71e4eSEmmanuel Vadot				drive-strength = <2>;
536fac71e4eSEmmanuel Vadot				bias-pull-up;
537fac71e4eSEmmanuel Vadot			};
538fac71e4eSEmmanuel Vadot
539fac71e4eSEmmanuel Vadot			qup_spi5_default: qup-spi5-default-state {
540fac71e4eSEmmanuel Vadot				pins = "gpio14", "gpio15", "gpio16", "gpio17";
541fac71e4eSEmmanuel Vadot				function = "qup5";
542fac71e4eSEmmanuel Vadot				drive-strength = <2>;
543fac71e4eSEmmanuel Vadot				bias-pull-up;
544fac71e4eSEmmanuel Vadot			};
545fac71e4eSEmmanuel Vadot
546fac71e4eSEmmanuel Vadot			qup_uart0_default: qup-uart0-default-state {
547fac71e4eSEmmanuel Vadot				pins = "gpio0", "gpio1", "gpio2", "gpio3";
548fac71e4eSEmmanuel Vadot				function = "qup0";
549fac71e4eSEmmanuel Vadot				drive-strength = <2>;
550fac71e4eSEmmanuel Vadot				bias-disable;
551fac71e4eSEmmanuel Vadot			};
552fac71e4eSEmmanuel Vadot
553fac71e4eSEmmanuel Vadot			qup_uart4_default: qup-uart4-default-state {
554fac71e4eSEmmanuel Vadot				pins = "gpio12", "gpio13";
555fac71e4eSEmmanuel Vadot				function = "qup4";
556fac71e4eSEmmanuel Vadot				drive-strength = <2>;
557fac71e4eSEmmanuel Vadot				bias-disable;
558fac71e4eSEmmanuel Vadot			};
559fac71e4eSEmmanuel Vadot
560fac71e4eSEmmanuel Vadot			sdc1_state_on: sdc1-on-state {
561fac71e4eSEmmanuel Vadot				clk-pins {
562fac71e4eSEmmanuel Vadot					pins = "sdc1_clk";
563fac71e4eSEmmanuel Vadot					drive-strength = <16>;
564fac71e4eSEmmanuel Vadot					bias-disable;
565fac71e4eSEmmanuel Vadot				};
566fac71e4eSEmmanuel Vadot
567fac71e4eSEmmanuel Vadot				cmd-pins {
568fac71e4eSEmmanuel Vadot					pins = "sdc1_cmd";
569fac71e4eSEmmanuel Vadot					drive-strength = <10>;
570fac71e4eSEmmanuel Vadot					bias-pull-up;
571fac71e4eSEmmanuel Vadot				};
572fac71e4eSEmmanuel Vadot
573fac71e4eSEmmanuel Vadot				data-pins {
574fac71e4eSEmmanuel Vadot					pins = "sdc1_data";
575fac71e4eSEmmanuel Vadot					drive-strength = <10>;
576fac71e4eSEmmanuel Vadot					bias-pull-up;
577fac71e4eSEmmanuel Vadot				};
578fac71e4eSEmmanuel Vadot
579fac71e4eSEmmanuel Vadot				rclk-pins {
580fac71e4eSEmmanuel Vadot					pins = "sdc1_rclk";
581fac71e4eSEmmanuel Vadot					bias-pull-down;
582fac71e4eSEmmanuel Vadot				};
583fac71e4eSEmmanuel Vadot			};
584fac71e4eSEmmanuel Vadot
585fac71e4eSEmmanuel Vadot			sdc1_state_off: sdc1-off-state {
586fac71e4eSEmmanuel Vadot				clk-pins {
587fac71e4eSEmmanuel Vadot					pins = "sdc1_clk";
588fac71e4eSEmmanuel Vadot					drive-strength = <2>;
589fac71e4eSEmmanuel Vadot					bias-disable;
590fac71e4eSEmmanuel Vadot				};
591fac71e4eSEmmanuel Vadot
592fac71e4eSEmmanuel Vadot				cmd-pins {
593fac71e4eSEmmanuel Vadot					pins = "sdc1_cmd";
594fac71e4eSEmmanuel Vadot					drive-strength = <2>;
595fac71e4eSEmmanuel Vadot					bias-pull-up;
596fac71e4eSEmmanuel Vadot				};
597fac71e4eSEmmanuel Vadot
598fac71e4eSEmmanuel Vadot				data-pins {
599fac71e4eSEmmanuel Vadot					pins = "sdc1_data";
600fac71e4eSEmmanuel Vadot					drive-strength = <2>;
601fac71e4eSEmmanuel Vadot					bias-pull-up;
602fac71e4eSEmmanuel Vadot				};
603fac71e4eSEmmanuel Vadot
604fac71e4eSEmmanuel Vadot				rclk-pins {
605fac71e4eSEmmanuel Vadot					pins = "sdc1_rclk";
606fac71e4eSEmmanuel Vadot					bias-pull-down;
607fac71e4eSEmmanuel Vadot				};
608fac71e4eSEmmanuel Vadot			};
609fac71e4eSEmmanuel Vadot
610fac71e4eSEmmanuel Vadot			sdc2_state_on: sdc2-on-state {
611fac71e4eSEmmanuel Vadot				clk-pins {
612fac71e4eSEmmanuel Vadot					pins = "sdc2_clk";
613fac71e4eSEmmanuel Vadot					drive-strength = <16>;
614fac71e4eSEmmanuel Vadot					bias-disable;
615fac71e4eSEmmanuel Vadot				};
616fac71e4eSEmmanuel Vadot
617fac71e4eSEmmanuel Vadot				cmd-pins {
618fac71e4eSEmmanuel Vadot					pins = "sdc2_cmd";
619fac71e4eSEmmanuel Vadot					drive-strength = <10>;
620fac71e4eSEmmanuel Vadot					bias-pull-up;
621fac71e4eSEmmanuel Vadot				};
622fac71e4eSEmmanuel Vadot
623fac71e4eSEmmanuel Vadot				data-pins {
624fac71e4eSEmmanuel Vadot					pins = "sdc2_data";
625fac71e4eSEmmanuel Vadot					drive-strength = <10>;
626fac71e4eSEmmanuel Vadot					bias-pull-up;
627fac71e4eSEmmanuel Vadot				};
628fac71e4eSEmmanuel Vadot			};
629fac71e4eSEmmanuel Vadot
630fac71e4eSEmmanuel Vadot			sdc2_state_off: sdc2-off-state {
631fac71e4eSEmmanuel Vadot				clk-pins {
632fac71e4eSEmmanuel Vadot					pins = "sdc2_clk";
633fac71e4eSEmmanuel Vadot					drive-strength = <2>;
634fac71e4eSEmmanuel Vadot					bias-disable;
635fac71e4eSEmmanuel Vadot				};
636fac71e4eSEmmanuel Vadot
637fac71e4eSEmmanuel Vadot				cmd-pins {
638fac71e4eSEmmanuel Vadot					pins = "sdc2_cmd";
639fac71e4eSEmmanuel Vadot					drive-strength = <2>;
640fac71e4eSEmmanuel Vadot					bias-pull-up;
641fac71e4eSEmmanuel Vadot				};
642fac71e4eSEmmanuel Vadot
643fac71e4eSEmmanuel Vadot				data-pins {
644fac71e4eSEmmanuel Vadot					pins = "sdc2_data";
645fac71e4eSEmmanuel Vadot					drive-strength = <2>;
646fac71e4eSEmmanuel Vadot					bias-pull-up;
647fac71e4eSEmmanuel Vadot				};
648fac71e4eSEmmanuel Vadot			};
649fac71e4eSEmmanuel Vadot		};
650fac71e4eSEmmanuel Vadot
651fac71e4eSEmmanuel Vadot		gcc: clock-controller@1400000 {
652fac71e4eSEmmanuel Vadot			compatible = "qcom,gcc-qcm2290";
653fac71e4eSEmmanuel Vadot			reg = <0x0 0x01400000 0x0 0x1f0000>;
654fac71e4eSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&sleep_clk>;
655fac71e4eSEmmanuel Vadot			clock-names = "bi_tcxo", "sleep_clk";
656fac71e4eSEmmanuel Vadot			#clock-cells = <1>;
657fac71e4eSEmmanuel Vadot			#reset-cells = <1>;
658fac71e4eSEmmanuel Vadot			#power-domain-cells = <1>;
659fac71e4eSEmmanuel Vadot		};
660fac71e4eSEmmanuel Vadot
661fac71e4eSEmmanuel Vadot		usb_hsphy: phy@1613000 {
662fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-qusb2-phy";
663fac71e4eSEmmanuel Vadot			reg = <0x0 0x01613000 0x0 0x180>;
664fac71e4eSEmmanuel Vadot
665fac71e4eSEmmanuel Vadot			clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
666fac71e4eSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
667fac71e4eSEmmanuel Vadot			clock-names = "cfg_ahb", "ref";
668fac71e4eSEmmanuel Vadot
669fac71e4eSEmmanuel Vadot			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
670fac71e4eSEmmanuel Vadot			nvmem-cells = <&qusb2_hstx_trim>;
671fac71e4eSEmmanuel Vadot			#phy-cells = <0>;
672fac71e4eSEmmanuel Vadot
673fac71e4eSEmmanuel Vadot			status = "disabled";
674fac71e4eSEmmanuel Vadot		};
675fac71e4eSEmmanuel Vadot
676aa1a8ff2SEmmanuel Vadot		usb_qmpphy: phy@1615000 {
677aa1a8ff2SEmmanuel Vadot			compatible = "qcom,qcm2290-qmp-usb3-phy";
678aa1a8ff2SEmmanuel Vadot			reg = <0x0 0x01615000 0x0 0x1000>;
679aa1a8ff2SEmmanuel Vadot
680aa1a8ff2SEmmanuel Vadot			clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
681aa1a8ff2SEmmanuel Vadot				 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
682aa1a8ff2SEmmanuel Vadot				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
683aa1a8ff2SEmmanuel Vadot				 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
684aa1a8ff2SEmmanuel Vadot			clock-names = "cfg_ahb",
685aa1a8ff2SEmmanuel Vadot				      "ref",
686aa1a8ff2SEmmanuel Vadot				      "com_aux",
687aa1a8ff2SEmmanuel Vadot				      "pipe";
688aa1a8ff2SEmmanuel Vadot
689aa1a8ff2SEmmanuel Vadot			resets = <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>,
690aa1a8ff2SEmmanuel Vadot				 <&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>;
691aa1a8ff2SEmmanuel Vadot			reset-names = "phy",
692aa1a8ff2SEmmanuel Vadot				      "phy_phy";
693aa1a8ff2SEmmanuel Vadot
694aa1a8ff2SEmmanuel Vadot			#clock-cells = <0>;
695aa1a8ff2SEmmanuel Vadot			clock-output-names = "usb3_phy_pipe_clk_src";
696aa1a8ff2SEmmanuel Vadot
697aa1a8ff2SEmmanuel Vadot			#phy-cells = <0>;
6987d0873ebSEmmanuel Vadot			orientation-switch;
699aa1a8ff2SEmmanuel Vadot
70001950c46SEmmanuel Vadot			qcom,tcsr-reg = <&tcsr_regs 0xb244>;
70101950c46SEmmanuel Vadot
702aa1a8ff2SEmmanuel Vadot			status = "disabled";
7037d0873ebSEmmanuel Vadot
7047d0873ebSEmmanuel Vadot			ports {
7057d0873ebSEmmanuel Vadot				#address-cells = <1>;
7067d0873ebSEmmanuel Vadot				#size-cells = <0>;
7077d0873ebSEmmanuel Vadot
7087d0873ebSEmmanuel Vadot				port@0 {
7097d0873ebSEmmanuel Vadot					reg = <0>;
7107d0873ebSEmmanuel Vadot
7117d0873ebSEmmanuel Vadot					usb_qmpphy_out: endpoint {
7127d0873ebSEmmanuel Vadot					};
7137d0873ebSEmmanuel Vadot				};
7147d0873ebSEmmanuel Vadot
7157d0873ebSEmmanuel Vadot				port@1 {
7167d0873ebSEmmanuel Vadot					reg = <1>;
7177d0873ebSEmmanuel Vadot
7187d0873ebSEmmanuel Vadot					usb_qmpphy_usb_ss_in: endpoint {
7197d0873ebSEmmanuel Vadot						remote-endpoint = <&usb_dwc3_ss>;
7207d0873ebSEmmanuel Vadot					};
7217d0873ebSEmmanuel Vadot				};
7227d0873ebSEmmanuel Vadot			};
723aa1a8ff2SEmmanuel Vadot		};
724aa1a8ff2SEmmanuel Vadot
7258d13bc63SEmmanuel Vadot		system_noc: interconnect@1880000 {
7268d13bc63SEmmanuel Vadot			compatible = "qcom,qcm2290-snoc";
7278d13bc63SEmmanuel Vadot			reg = <0x0 0x01880000 0x0 0x60200>;
7288d13bc63SEmmanuel Vadot			#interconnect-cells = <2>;
7298d13bc63SEmmanuel Vadot
7308d13bc63SEmmanuel Vadot			qup_virt: interconnect-qup {
7318d13bc63SEmmanuel Vadot				compatible = "qcom,qcm2290-qup-virt";
7328d13bc63SEmmanuel Vadot				#interconnect-cells = <2>;
7338d13bc63SEmmanuel Vadot			};
7348d13bc63SEmmanuel Vadot
7358d13bc63SEmmanuel Vadot			mmnrt_virt: interconnect-mmnrt {
7368d13bc63SEmmanuel Vadot				compatible = "qcom,qcm2290-mmnrt-virt";
7378d13bc63SEmmanuel Vadot				#interconnect-cells = <2>;
7388d13bc63SEmmanuel Vadot			};
7398d13bc63SEmmanuel Vadot
7408d13bc63SEmmanuel Vadot			mmrt_virt: interconnect-mmrt {
7418d13bc63SEmmanuel Vadot				compatible = "qcom,qcm2290-mmrt-virt";
7428d13bc63SEmmanuel Vadot				#interconnect-cells = <2>;
7438d13bc63SEmmanuel Vadot			};
7448d13bc63SEmmanuel Vadot		};
7458d13bc63SEmmanuel Vadot
7468d13bc63SEmmanuel Vadot		config_noc: interconnect@1900000 {
7478d13bc63SEmmanuel Vadot			compatible = "qcom,qcm2290-cnoc";
7488d13bc63SEmmanuel Vadot			reg = <0x0 0x01900000 0x0 0x8200>;
7498d13bc63SEmmanuel Vadot			#interconnect-cells = <2>;
7508d13bc63SEmmanuel Vadot		};
7518d13bc63SEmmanuel Vadot
752fac71e4eSEmmanuel Vadot		qfprom@1b44000 {
753fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-qfprom", "qcom,qfprom";
754fac71e4eSEmmanuel Vadot			reg = <0x0 0x01b44000 0x0 0x3000>;
755fac71e4eSEmmanuel Vadot			#address-cells = <1>;
756fac71e4eSEmmanuel Vadot			#size-cells = <1>;
757fac71e4eSEmmanuel Vadot
758fac71e4eSEmmanuel Vadot			qusb2_hstx_trim: hstx-trim@25b {
759fac71e4eSEmmanuel Vadot				reg = <0x25b 0x1>;
760fac71e4eSEmmanuel Vadot				bits = <1 4>;
761fac71e4eSEmmanuel Vadot			};
7620e8011faSEmmanuel Vadot
7630e8011faSEmmanuel Vadot			gpu_speed_bin: gpu-speed-bin@2006 {
7640e8011faSEmmanuel Vadot				reg = <0x2006 0x2>;
7650e8011faSEmmanuel Vadot				bits = <5 8>;
7660e8011faSEmmanuel Vadot			};
767fac71e4eSEmmanuel Vadot		};
768fac71e4eSEmmanuel Vadot
7698d13bc63SEmmanuel Vadot		pmu@1b8e300 {
7708d13bc63SEmmanuel Vadot			compatible = "qcom,qcm2290-cpu-bwmon", "qcom,sdm845-bwmon";
7718d13bc63SEmmanuel Vadot			reg = <0x0 0x01b8e300 0x0 0x600>;
7728d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
7738d13bc63SEmmanuel Vadot
7748d13bc63SEmmanuel Vadot			operating-points-v2 = <&cpu_bwmon_opp_table>;
7758d13bc63SEmmanuel Vadot			interconnects = <&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG
7768d13bc63SEmmanuel Vadot					 &bimc SLAVE_EBI1 RPM_ACTIVE_TAG>;
7778d13bc63SEmmanuel Vadot
7788d13bc63SEmmanuel Vadot			cpu_bwmon_opp_table: opp-table {
7798d13bc63SEmmanuel Vadot				compatible = "operating-points-v2";
7808d13bc63SEmmanuel Vadot
7818d13bc63SEmmanuel Vadot				opp-0 {
7828d13bc63SEmmanuel Vadot					opp-peak-kBps = <(200 * 4 * 1000)>;
7838d13bc63SEmmanuel Vadot				};
7848d13bc63SEmmanuel Vadot
7858d13bc63SEmmanuel Vadot				opp-1 {
7868d13bc63SEmmanuel Vadot					opp-peak-kBps = <(300 * 4 * 1000)>;
7878d13bc63SEmmanuel Vadot				};
7888d13bc63SEmmanuel Vadot
7898d13bc63SEmmanuel Vadot				opp-2 {
7908d13bc63SEmmanuel Vadot					opp-peak-kBps = <(451 * 4 * 1000)>;
7918d13bc63SEmmanuel Vadot				};
7928d13bc63SEmmanuel Vadot
7938d13bc63SEmmanuel Vadot				opp-3 {
7948d13bc63SEmmanuel Vadot					opp-peak-kBps = <(547 * 4 * 1000)>;
7958d13bc63SEmmanuel Vadot				};
7968d13bc63SEmmanuel Vadot
7978d13bc63SEmmanuel Vadot				opp-4 {
7988d13bc63SEmmanuel Vadot					opp-peak-kBps = <(681 * 4 * 1000)>;
7998d13bc63SEmmanuel Vadot				};
8008d13bc63SEmmanuel Vadot
8018d13bc63SEmmanuel Vadot				opp-5 {
8028d13bc63SEmmanuel Vadot					opp-peak-kBps = <(768 * 4 * 1000)>;
8038d13bc63SEmmanuel Vadot				};
8048d13bc63SEmmanuel Vadot
8058d13bc63SEmmanuel Vadot				opp-6 {
8068d13bc63SEmmanuel Vadot					opp-peak-kBps = <(1017 * 4 * 1000)>;
8078d13bc63SEmmanuel Vadot				};
8088d13bc63SEmmanuel Vadot
8098d13bc63SEmmanuel Vadot				opp-7 {
8108d13bc63SEmmanuel Vadot					opp-peak-kBps = <(1353 * 4 * 1000)>;
8118d13bc63SEmmanuel Vadot				};
8128d13bc63SEmmanuel Vadot
8138d13bc63SEmmanuel Vadot				opp-8 {
8148d13bc63SEmmanuel Vadot					opp-peak-kBps = <(1555 * 4 * 1000)>;
8158d13bc63SEmmanuel Vadot				};
8168d13bc63SEmmanuel Vadot
8178d13bc63SEmmanuel Vadot				opp-9 {
8188d13bc63SEmmanuel Vadot					opp-peak-kBps = <(1804 * 4 * 1000)>;
8198d13bc63SEmmanuel Vadot				};
8208d13bc63SEmmanuel Vadot			};
8218d13bc63SEmmanuel Vadot		};
8228d13bc63SEmmanuel Vadot
823fac71e4eSEmmanuel Vadot		spmi_bus: spmi@1c40000 {
824fac71e4eSEmmanuel Vadot			compatible = "qcom,spmi-pmic-arb";
825fac71e4eSEmmanuel Vadot			reg = <0x0 0x01c40000 0x0 0x1100>,
826fac71e4eSEmmanuel Vadot			      <0x0 0x01e00000 0x0 0x2000000>,
827fac71e4eSEmmanuel Vadot			      <0x0 0x03e00000 0x0 0x100000>,
828fac71e4eSEmmanuel Vadot			      <0x0 0x03f00000 0x0 0xa0000>,
829fac71e4eSEmmanuel Vadot			      <0x0 0x01c0a000 0x0 0x26000>;
830fac71e4eSEmmanuel Vadot			reg-names = "core",
831fac71e4eSEmmanuel Vadot				    "chnls",
832fac71e4eSEmmanuel Vadot				    "obsrvr",
833fac71e4eSEmmanuel Vadot				    "intr",
834fac71e4eSEmmanuel Vadot				    "cnfg";
8358d13bc63SEmmanuel Vadot			interrupts-extended = <&mpm 86 IRQ_TYPE_LEVEL_HIGH>;
836fac71e4eSEmmanuel Vadot			interrupt-names = "periph_irq";
837fac71e4eSEmmanuel Vadot			qcom,ee = <0>;
838fac71e4eSEmmanuel Vadot			qcom,channel = <0>;
839fac71e4eSEmmanuel Vadot			#address-cells = <2>;
840fac71e4eSEmmanuel Vadot			#size-cells = <0>;
841fac71e4eSEmmanuel Vadot			interrupt-controller;
842fac71e4eSEmmanuel Vadot			#interrupt-cells = <4>;
843fac71e4eSEmmanuel Vadot		};
844fac71e4eSEmmanuel Vadot
845fac71e4eSEmmanuel Vadot		tsens0: thermal-sensor@4411000 {
846fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-tsens", "qcom,tsens-v2";
847fac71e4eSEmmanuel Vadot			reg = <0x0 0x04411000 0x0 0x1ff>,
848fac71e4eSEmmanuel Vadot			      <0x0 0x04410000 0x0 0x8>;
849fac71e4eSEmmanuel Vadot			#qcom,sensors = <10>;
8508d13bc63SEmmanuel Vadot			interrupts-extended = <&mpm 2 IRQ_TYPE_LEVEL_HIGH>,
8518d13bc63SEmmanuel Vadot					      <&intc GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
852fac71e4eSEmmanuel Vadot			interrupt-names = "uplow", "critical";
853fac71e4eSEmmanuel Vadot			#thermal-sensor-cells = <1>;
854fac71e4eSEmmanuel Vadot		};
855fac71e4eSEmmanuel Vadot
856fac71e4eSEmmanuel Vadot		rng: rng@4453000 {
857fac71e4eSEmmanuel Vadot			compatible = "qcom,prng-ee";
858fac71e4eSEmmanuel Vadot			reg = <0x0 0x04453000 0x0 0x1000>;
859fac71e4eSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_HWKM_CLK>;
860fac71e4eSEmmanuel Vadot			clock-names = "core";
861fac71e4eSEmmanuel Vadot		};
862fac71e4eSEmmanuel Vadot
8638d13bc63SEmmanuel Vadot		bimc: interconnect@4480000 {
8648d13bc63SEmmanuel Vadot			compatible = "qcom,qcm2290-bimc";
8658d13bc63SEmmanuel Vadot			reg = <0x0 0x04480000 0x0 0x80000>;
8668d13bc63SEmmanuel Vadot			#interconnect-cells = <2>;
8678d13bc63SEmmanuel Vadot		};
8688d13bc63SEmmanuel Vadot
869fac71e4eSEmmanuel Vadot		rpm_msg_ram: sram@45f0000 {
8708d13bc63SEmmanuel Vadot			compatible = "qcom,rpm-msg-ram", "mmio-sram";
871fac71e4eSEmmanuel Vadot			reg = <0x0 0x045f0000 0x0 0x7000>;
8728d13bc63SEmmanuel Vadot			#address-cells = <1>;
8738d13bc63SEmmanuel Vadot			#size-cells = <1>;
8748d13bc63SEmmanuel Vadot			ranges = <0 0x0 0x045f0000 0x7000>;
8758d13bc63SEmmanuel Vadot
8768d13bc63SEmmanuel Vadot			apss_mpm: sram@1b8 {
8778d13bc63SEmmanuel Vadot				reg = <0x1b8 0x48>;
8788d13bc63SEmmanuel Vadot			};
879fac71e4eSEmmanuel Vadot		};
880fac71e4eSEmmanuel Vadot
881fac71e4eSEmmanuel Vadot		sram@4690000 {
882fac71e4eSEmmanuel Vadot			compatible = "qcom,rpm-stats";
883fac71e4eSEmmanuel Vadot			reg = <0x0 0x04690000 0x0 0x10000>;
884fac71e4eSEmmanuel Vadot		};
885fac71e4eSEmmanuel Vadot
886fac71e4eSEmmanuel Vadot		sdhc_1: mmc@4744000 {
887fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-sdhci", "qcom,sdhci-msm-v5";
888fac71e4eSEmmanuel Vadot			reg = <0x0 0x04744000 0x0 0x1000>,
889fac71e4eSEmmanuel Vadot			      <0x0 0x04745000 0x0 0x1000>,
890fac71e4eSEmmanuel Vadot			      <0x0 0x04748000 0x0 0x8000>;
891fac71e4eSEmmanuel Vadot			reg-names = "hc",
892fac71e4eSEmmanuel Vadot				    "cqhci",
893fac71e4eSEmmanuel Vadot				    "ice";
894fac71e4eSEmmanuel Vadot
895fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
896fac71e4eSEmmanuel Vadot				     <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
897fac71e4eSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
898fac71e4eSEmmanuel Vadot
899fac71e4eSEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
900fac71e4eSEmmanuel Vadot				 <&gcc GCC_SDCC1_APPS_CLK>,
901fac71e4eSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>,
902fac71e4eSEmmanuel Vadot				 <&gcc GCC_SDCC1_ICE_CORE_CLK>;
903fac71e4eSEmmanuel Vadot			clock-names = "iface",
904fac71e4eSEmmanuel Vadot				      "core",
905fac71e4eSEmmanuel Vadot				      "xo",
906fac71e4eSEmmanuel Vadot				      "ice";
907fac71e4eSEmmanuel Vadot
908fac71e4eSEmmanuel Vadot			resets = <&gcc GCC_SDCC1_BCR>;
909fac71e4eSEmmanuel Vadot
910fac71e4eSEmmanuel Vadot			power-domains = <&rpmpd QCM2290_VDDCX>;
9118d13bc63SEmmanuel Vadot			operating-points-v2 = <&sdhc1_opp_table>;
912fac71e4eSEmmanuel Vadot			iommus = <&apps_smmu 0xc0 0x0>;
9138d13bc63SEmmanuel Vadot			interconnects = <&system_noc MASTER_SDCC_1 RPM_ALWAYS_TAG
9148d13bc63SEmmanuel Vadot					 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
9158d13bc63SEmmanuel Vadot					<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
9168d13bc63SEmmanuel Vadot					 &config_noc SLAVE_SDCC_1 RPM_ALWAYS_TAG>;
9178d13bc63SEmmanuel Vadot			interconnect-names = "sdhc-ddr",
9188d13bc63SEmmanuel Vadot					     "cpu-sdhc";
919fac71e4eSEmmanuel Vadot
920fac71e4eSEmmanuel Vadot			qcom,dll-config = <0x000f642c>;
921fac71e4eSEmmanuel Vadot			qcom,ddr-config = <0x80040868>;
922fac71e4eSEmmanuel Vadot			bus-width = <8>;
923fac71e4eSEmmanuel Vadot
924fac71e4eSEmmanuel Vadot			status = "disabled";
9258d13bc63SEmmanuel Vadot
9268d13bc63SEmmanuel Vadot			sdhc1_opp_table: opp-table {
9278d13bc63SEmmanuel Vadot				compatible = "operating-points-v2";
9288d13bc63SEmmanuel Vadot
9298d13bc63SEmmanuel Vadot				opp-100000000 {
9308d13bc63SEmmanuel Vadot					opp-hz = /bits/ 64 <100000000>;
9318d13bc63SEmmanuel Vadot					required-opps = <&rpmpd_opp_low_svs>;
9328d13bc63SEmmanuel Vadot					opp-peak-kBps = <250000 133320>;
9338d13bc63SEmmanuel Vadot					opp-avg-kBps = <102400 65000>;
9348d13bc63SEmmanuel Vadot				};
9358d13bc63SEmmanuel Vadot
9368d13bc63SEmmanuel Vadot				opp-192000000 {
9378d13bc63SEmmanuel Vadot					opp-hz = /bits/ 64 <192000000>;
9388d13bc63SEmmanuel Vadot					required-opps = <&rpmpd_opp_low_svs>;
9398d13bc63SEmmanuel Vadot					opp-peak-kBps = <800000 300000>;
9408d13bc63SEmmanuel Vadot					opp-avg-kBps = <204800 200000>;
9418d13bc63SEmmanuel Vadot				};
9428d13bc63SEmmanuel Vadot
9438d13bc63SEmmanuel Vadot				opp-384000000 {
9448d13bc63SEmmanuel Vadot					opp-hz = /bits/ 64 <384000000>;
9458d13bc63SEmmanuel Vadot					required-opps = <&rpmpd_opp_svs_plus>;
9468d13bc63SEmmanuel Vadot					opp-peak-kBps = <800000 300000>;
9478d13bc63SEmmanuel Vadot					opp-avg-kBps = <204800 200000>;
9488d13bc63SEmmanuel Vadot				};
9498d13bc63SEmmanuel Vadot			};
950fac71e4eSEmmanuel Vadot		};
951fac71e4eSEmmanuel Vadot
952fac71e4eSEmmanuel Vadot		sdhc_2: mmc@4784000 {
953fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-sdhci", "qcom,sdhci-msm-v5";
954fac71e4eSEmmanuel Vadot			reg = <0x0 0x04784000 0x0 0x1000>;
955fac71e4eSEmmanuel Vadot			reg-names = "hc";
956fac71e4eSEmmanuel Vadot
957fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
958fac71e4eSEmmanuel Vadot				     <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
959fac71e4eSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
960fac71e4eSEmmanuel Vadot
961fac71e4eSEmmanuel Vadot			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
962fac71e4eSEmmanuel Vadot				 <&gcc GCC_SDCC2_APPS_CLK>,
963fac71e4eSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
964fac71e4eSEmmanuel Vadot			clock-names = "iface",
965fac71e4eSEmmanuel Vadot				      "core",
966fac71e4eSEmmanuel Vadot				      "xo";
967fac71e4eSEmmanuel Vadot
968fac71e4eSEmmanuel Vadot			resets = <&gcc GCC_SDCC2_BCR>;
969fac71e4eSEmmanuel Vadot
970fac71e4eSEmmanuel Vadot			power-domains = <&rpmpd QCM2290_VDDCX>;
971fac71e4eSEmmanuel Vadot			operating-points-v2 = <&sdhc2_opp_table>;
972fac71e4eSEmmanuel Vadot			iommus = <&apps_smmu 0xa0 0x0>;
9738d13bc63SEmmanuel Vadot			interconnects = <&system_noc MASTER_SDCC_2 RPM_ALWAYS_TAG
9748d13bc63SEmmanuel Vadot					 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
9758d13bc63SEmmanuel Vadot					<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
9768d13bc63SEmmanuel Vadot					 &config_noc SLAVE_SDCC_2 RPM_ALWAYS_TAG>;
9778d13bc63SEmmanuel Vadot			interconnect-names = "sdhc-ddr",
9788d13bc63SEmmanuel Vadot					     "cpu-sdhc";
979fac71e4eSEmmanuel Vadot
980fac71e4eSEmmanuel Vadot			qcom,dll-config = <0x0007642c>;
981fac71e4eSEmmanuel Vadot			qcom,ddr-config = <0x80040868>;
982fac71e4eSEmmanuel Vadot			bus-width = <4>;
983fac71e4eSEmmanuel Vadot
984fac71e4eSEmmanuel Vadot			status = "disabled";
985fac71e4eSEmmanuel Vadot
986fac71e4eSEmmanuel Vadot			sdhc2_opp_table: opp-table {
987fac71e4eSEmmanuel Vadot				compatible = "operating-points-v2";
988fac71e4eSEmmanuel Vadot
989fac71e4eSEmmanuel Vadot				opp-100000000 {
990fac71e4eSEmmanuel Vadot					opp-hz = /bits/ 64 <100000000>;
991fac71e4eSEmmanuel Vadot					required-opps = <&rpmpd_opp_low_svs>;
9928d13bc63SEmmanuel Vadot					opp-peak-kBps = <250000 133320>;
9938d13bc63SEmmanuel Vadot					opp-avg-kBps = <261438 150000>;
994fac71e4eSEmmanuel Vadot				};
995fac71e4eSEmmanuel Vadot
996fac71e4eSEmmanuel Vadot				opp-202000000 {
997fac71e4eSEmmanuel Vadot					opp-hz = /bits/ 64 <202000000>;
998fac71e4eSEmmanuel Vadot					required-opps = <&rpmpd_opp_svs_plus>;
9998d13bc63SEmmanuel Vadot					opp-peak-kBps = <800000 300000>;
10008d13bc63SEmmanuel Vadot					opp-avg-kBps = <261438 300000>;
1001fac71e4eSEmmanuel Vadot				};
1002fac71e4eSEmmanuel Vadot			};
1003fac71e4eSEmmanuel Vadot		};
1004fac71e4eSEmmanuel Vadot
1005fac71e4eSEmmanuel Vadot		gpi_dma0: dma-controller@4a00000 {
1006fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-gpi-dma", "qcom,sm6350-gpi-dma";
1007fac71e4eSEmmanuel Vadot			reg = <0x0 0x04a00000 0x0 0x60000>;
1008fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
1009fac71e4eSEmmanuel Vadot				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
1010fac71e4eSEmmanuel Vadot				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
1011fac71e4eSEmmanuel Vadot				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
1012fac71e4eSEmmanuel Vadot				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
1013fac71e4eSEmmanuel Vadot				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
1014fac71e4eSEmmanuel Vadot				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
1015fac71e4eSEmmanuel Vadot				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
1016fac71e4eSEmmanuel Vadot				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
1017fac71e4eSEmmanuel Vadot				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
1018fac71e4eSEmmanuel Vadot			dma-channels = <10>;
1019fac71e4eSEmmanuel Vadot			dma-channel-mask = <0x1f>;
1020fac71e4eSEmmanuel Vadot			iommus = <&apps_smmu 0xf6 0x0>;
1021fac71e4eSEmmanuel Vadot			#dma-cells = <3>;
1022fac71e4eSEmmanuel Vadot			status = "disabled";
1023fac71e4eSEmmanuel Vadot		};
1024fac71e4eSEmmanuel Vadot
1025fac71e4eSEmmanuel Vadot		qupv3_id_0: geniqup@4ac0000 {
1026fac71e4eSEmmanuel Vadot			compatible = "qcom,geni-se-qup";
1027fac71e4eSEmmanuel Vadot			reg = <0x0 0x04ac0000 0x0 0x2000>;
1028fac71e4eSEmmanuel Vadot			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
1029fac71e4eSEmmanuel Vadot				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
1030fac71e4eSEmmanuel Vadot			clock-names = "m-ahb", "s-ahb";
1031fac71e4eSEmmanuel Vadot			iommus = <&apps_smmu 0xe3 0x0>;
1032fac71e4eSEmmanuel Vadot			#address-cells = <2>;
1033fac71e4eSEmmanuel Vadot			#size-cells = <2>;
1034fac71e4eSEmmanuel Vadot			ranges;
1035fac71e4eSEmmanuel Vadot			status = "disabled";
1036fac71e4eSEmmanuel Vadot
1037fac71e4eSEmmanuel Vadot			i2c0: i2c@4a80000 {
1038fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-i2c";
1039fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a80000 0x0 0x4000>;
1040fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1041fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1042fac71e4eSEmmanuel Vadot				clock-names = "se";
1043fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_i2c0_default>;
1044fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1045fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
1046fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 0 QCOM_GPI_I2C>;
1047fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
10488d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
10498d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
10508d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
10518d13bc63SEmmanuel Vadot						 &config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
10528d13bc63SEmmanuel Vadot						<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
10538d13bc63SEmmanuel Vadot						 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
10548d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
10558d13bc63SEmmanuel Vadot						     "qup-config",
10568d13bc63SEmmanuel Vadot						     "qup-memory";
1057fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1058fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1059fac71e4eSEmmanuel Vadot				status = "disabled";
1060fac71e4eSEmmanuel Vadot			};
1061fac71e4eSEmmanuel Vadot
1062fac71e4eSEmmanuel Vadot			spi0: spi@4a80000 {
1063fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-spi";
1064fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a80000 0x0 0x4000>;
1065fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1066fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1067fac71e4eSEmmanuel Vadot				clock-names = "se";
1068fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_spi0_default>;
1069fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1070fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
1071fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 0 QCOM_GPI_SPI>;
1072fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
10738d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
10748d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
10758d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
10768d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
10778d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
10788d13bc63SEmmanuel Vadot						     "qup-config";
1079fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1080fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1081fac71e4eSEmmanuel Vadot				status = "disabled";
1082fac71e4eSEmmanuel Vadot			};
1083fac71e4eSEmmanuel Vadot
1084fac71e4eSEmmanuel Vadot			uart0: serial@4a80000 {
1085fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-uart";
1086fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a80000 0x0 0x4000>;
1087fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
1088fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
1089fac71e4eSEmmanuel Vadot				clock-names = "se";
1090fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_uart0_default>;
1091fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
10928d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
10938d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
10948d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
10958d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
10968d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
10978d13bc63SEmmanuel Vadot						     "qup-config";
1098fac71e4eSEmmanuel Vadot				status = "disabled";
1099fac71e4eSEmmanuel Vadot			};
1100fac71e4eSEmmanuel Vadot
1101fac71e4eSEmmanuel Vadot			i2c1: i2c@4a84000 {
1102fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-i2c";
1103fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a84000 0x0 0x4000>;
1104fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1105fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1106fac71e4eSEmmanuel Vadot				clock-names = "se";
1107fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_i2c1_default>;
1108fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1109fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1110fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1111fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
11128d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
11138d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
11148d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
11158d13bc63SEmmanuel Vadot						 &config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
11168d13bc63SEmmanuel Vadot						<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
11178d13bc63SEmmanuel Vadot						 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
11188d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
11198d13bc63SEmmanuel Vadot						     "qup-config",
11208d13bc63SEmmanuel Vadot						     "qup-memory";
1121fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1122fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1123fac71e4eSEmmanuel Vadot				status = "disabled";
1124fac71e4eSEmmanuel Vadot			};
1125fac71e4eSEmmanuel Vadot
1126fac71e4eSEmmanuel Vadot			spi1: spi@4a84000 {
1127fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-spi";
1128fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a84000 0x0 0x4000>;
1129fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1130fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1131fac71e4eSEmmanuel Vadot				clock-names = "se";
1132fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_spi1_default>;
1133fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1134fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1135fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1136fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
11378d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
11388d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
11398d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
11408d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
11418d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
11428d13bc63SEmmanuel Vadot						     "qup-config";
1143fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1144fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1145fac71e4eSEmmanuel Vadot				status = "disabled";
1146fac71e4eSEmmanuel Vadot			};
1147fac71e4eSEmmanuel Vadot
1148fac71e4eSEmmanuel Vadot			i2c2: i2c@4a88000 {
1149fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-i2c";
1150fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a88000 0x0 0x4000>;
1151fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1152fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1153fac71e4eSEmmanuel Vadot				clock-names = "se";
1154fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_i2c2_default>;
1155fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1156fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1157fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1158fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
11598d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
11608d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
11618d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
11628d13bc63SEmmanuel Vadot						 &config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
11638d13bc63SEmmanuel Vadot						<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
11648d13bc63SEmmanuel Vadot						 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
11658d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
11668d13bc63SEmmanuel Vadot						     "qup-config",
11678d13bc63SEmmanuel Vadot						     "qup-memory";
1168fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1169fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1170fac71e4eSEmmanuel Vadot				status = "disabled";
1171fac71e4eSEmmanuel Vadot			};
1172fac71e4eSEmmanuel Vadot
1173fac71e4eSEmmanuel Vadot			spi2: spi@4a88000 {
1174fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-spi";
1175fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a88000 0x0 0x4000>;
1176fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1177fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1178fac71e4eSEmmanuel Vadot				clock-names = "se";
1179fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_spi2_default>;
1180fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1181fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1182fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1183fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
11848d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
11858d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
11868d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
11878d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
11888d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
11898d13bc63SEmmanuel Vadot						     "qup-config";
1190fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1191fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1192fac71e4eSEmmanuel Vadot				status = "disabled";
1193fac71e4eSEmmanuel Vadot			};
1194fac71e4eSEmmanuel Vadot
1195fac71e4eSEmmanuel Vadot			i2c3: i2c@4a8c000 {
1196fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-i2c";
1197fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a8c000 0x0 0x4000>;
1198fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
1199fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1200fac71e4eSEmmanuel Vadot				clock-names = "se";
1201fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_i2c3_default>;
1202fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1203fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1204fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1205fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
12068d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
12078d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
12088d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
12098d13bc63SEmmanuel Vadot						 &config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
12108d13bc63SEmmanuel Vadot						<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
12118d13bc63SEmmanuel Vadot						 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
12128d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
12138d13bc63SEmmanuel Vadot						     "qup-config",
12148d13bc63SEmmanuel Vadot						     "qup-memory";
1215fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1216fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1217fac71e4eSEmmanuel Vadot				status = "disabled";
1218fac71e4eSEmmanuel Vadot			};
1219fac71e4eSEmmanuel Vadot
1220fac71e4eSEmmanuel Vadot			spi3: spi@4a8c000 {
1221fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-spi";
1222fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a8c000 0x0 0x4000>;
1223fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
1224fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1225fac71e4eSEmmanuel Vadot				clock-names = "se";
1226fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_spi3_default>;
1227fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1228fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1229fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1230fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
12318d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
12328d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
12338d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
12348d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
12358d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
12368d13bc63SEmmanuel Vadot						     "qup-config";
1237fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1238fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1239fac71e4eSEmmanuel Vadot				status = "disabled";
1240fac71e4eSEmmanuel Vadot			};
1241fac71e4eSEmmanuel Vadot
1242fac71e4eSEmmanuel Vadot			i2c4: i2c@4a90000 {
1243fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-i2c";
1244fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a90000 0x0 0x4000>;
1245fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1246fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1247fac71e4eSEmmanuel Vadot				clock-names = "se";
1248fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_i2c4_default>;
1249fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1250fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1251fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1252fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
12538d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
12548d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
12558d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
12568d13bc63SEmmanuel Vadot						 &config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
12578d13bc63SEmmanuel Vadot						<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
12588d13bc63SEmmanuel Vadot						 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
12598d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
12608d13bc63SEmmanuel Vadot						     "qup-config",
12618d13bc63SEmmanuel Vadot						     "qup-memory";
1262fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1263fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1264fac71e4eSEmmanuel Vadot				status = "disabled";
1265fac71e4eSEmmanuel Vadot			};
1266fac71e4eSEmmanuel Vadot
1267fac71e4eSEmmanuel Vadot			spi4: spi@4a90000 {
1268fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-spi";
1269fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a90000 0x0 0x4000>;
1270fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1271fac71e4eSEmmanuel Vadot				clock-names = "se";
1272fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1273fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1274fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_spi4_default>;
1275fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1276fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1277fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
12788d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
12798d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
12808d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
12818d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
12828d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
12838d13bc63SEmmanuel Vadot						     "qup-config";
1284fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1285fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1286fac71e4eSEmmanuel Vadot				status = "disabled";
1287fac71e4eSEmmanuel Vadot			};
1288fac71e4eSEmmanuel Vadot
1289fac71e4eSEmmanuel Vadot			uart4: serial@4a90000 {
1290fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-uart";
1291fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a90000 0x0 0x4000>;
1292fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1293fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1294fac71e4eSEmmanuel Vadot				clock-names = "se";
1295fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_uart4_default>;
1296fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
12978d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
12988d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
12998d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
13008d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
13018d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
13028d13bc63SEmmanuel Vadot						     "qup-config";
1303fac71e4eSEmmanuel Vadot				status = "disabled";
1304fac71e4eSEmmanuel Vadot			};
1305fac71e4eSEmmanuel Vadot
1306fac71e4eSEmmanuel Vadot			i2c5: i2c@4a94000 {
1307fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-i2c";
1308fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a94000 0x0 0x4000>;
1309fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1310fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1311fac71e4eSEmmanuel Vadot				clock-names = "se";
1312fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_i2c5_default>;
1313fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1314fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1315fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1316fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
13178d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
13188d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
13198d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
13208d13bc63SEmmanuel Vadot						 &config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
13218d13bc63SEmmanuel Vadot						<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
13228d13bc63SEmmanuel Vadot						 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
13238d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
13248d13bc63SEmmanuel Vadot						     "qup-config",
13258d13bc63SEmmanuel Vadot						     "qup-memory";
1326fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1327fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1328fac71e4eSEmmanuel Vadot				status = "disabled";
1329fac71e4eSEmmanuel Vadot			};
1330fac71e4eSEmmanuel Vadot
1331fac71e4eSEmmanuel Vadot			spi5: spi@4a94000 {
1332fac71e4eSEmmanuel Vadot				compatible = "qcom,geni-spi";
1333fac71e4eSEmmanuel Vadot				reg = <0x0 0x04a94000 0x0 0x4000>;
1334fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1335fac71e4eSEmmanuel Vadot				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1336fac71e4eSEmmanuel Vadot				clock-names = "se";
1337fac71e4eSEmmanuel Vadot				pinctrl-0 = <&qup_spi5_default>;
1338fac71e4eSEmmanuel Vadot				pinctrl-names = "default";
1339fac71e4eSEmmanuel Vadot				dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1340fac71e4eSEmmanuel Vadot				       <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1341fac71e4eSEmmanuel Vadot				dma-names = "tx", "rx";
13428d13bc63SEmmanuel Vadot				interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
13438d13bc63SEmmanuel Vadot						 &qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
13448d13bc63SEmmanuel Vadot						<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
13458d13bc63SEmmanuel Vadot						 &config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
13468d13bc63SEmmanuel Vadot				interconnect-names = "qup-core",
13478d13bc63SEmmanuel Vadot						     "qup-config";
1348fac71e4eSEmmanuel Vadot				#address-cells = <1>;
1349fac71e4eSEmmanuel Vadot				#size-cells = <0>;
1350fac71e4eSEmmanuel Vadot				status = "disabled";
1351fac71e4eSEmmanuel Vadot			};
1352fac71e4eSEmmanuel Vadot		};
1353fac71e4eSEmmanuel Vadot
1354fac71e4eSEmmanuel Vadot		usb: usb@4ef8800 {
1355fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-dwc3", "qcom,dwc3";
1356fac71e4eSEmmanuel Vadot			reg = <0x0 0x04ef8800 0x0 0x400>;
13578d13bc63SEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
13588d13bc63SEmmanuel Vadot					      <&mpm 12 IRQ_TYPE_LEVEL_HIGH>;
13598d13bc63SEmmanuel Vadot			interrupt-names = "hs_phy_irq",
13608d13bc63SEmmanuel Vadot					  "ss_phy_irq";
1361fac71e4eSEmmanuel Vadot
1362fac71e4eSEmmanuel Vadot			clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1363fac71e4eSEmmanuel Vadot				 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1364fac71e4eSEmmanuel Vadot				 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
1365fac71e4eSEmmanuel Vadot				 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1366fac71e4eSEmmanuel Vadot				 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1367fac71e4eSEmmanuel Vadot				 <&gcc GCC_USB3_PRIM_CLKREF_CLK>;
1368fac71e4eSEmmanuel Vadot			clock-names = "cfg_noc",
1369fac71e4eSEmmanuel Vadot				      "core",
1370fac71e4eSEmmanuel Vadot				      "iface",
1371fac71e4eSEmmanuel Vadot				      "sleep",
1372fac71e4eSEmmanuel Vadot				      "mock_utmi",
1373fac71e4eSEmmanuel Vadot				      "xo";
1374fac71e4eSEmmanuel Vadot
1375fac71e4eSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1376fac71e4eSEmmanuel Vadot					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1377fac71e4eSEmmanuel Vadot			assigned-clock-rates = <19200000>, <133333333>;
1378fac71e4eSEmmanuel Vadot
1379fac71e4eSEmmanuel Vadot			resets = <&gcc GCC_USB30_PRIM_BCR>;
1380fac71e4eSEmmanuel Vadot			power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
13818d13bc63SEmmanuel Vadot			/* TODO: USB<->IPA path */
13828d13bc63SEmmanuel Vadot			interconnects = <&system_noc MASTER_USB3_0 RPM_ALWAYS_TAG
13838d13bc63SEmmanuel Vadot					 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
13848d13bc63SEmmanuel Vadot					<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
13858d13bc63SEmmanuel Vadot					 &config_noc SLAVE_USB3 RPM_ALWAYS_TAG>;
13868d13bc63SEmmanuel Vadot			interconnect-names = "usb-ddr",
13878d13bc63SEmmanuel Vadot					     "apps-usb";
1388fac71e4eSEmmanuel Vadot			wakeup-source;
1389fac71e4eSEmmanuel Vadot
1390fac71e4eSEmmanuel Vadot			#address-cells = <2>;
1391fac71e4eSEmmanuel Vadot			#size-cells = <2>;
1392fac71e4eSEmmanuel Vadot			ranges;
1393fac71e4eSEmmanuel Vadot
1394fac71e4eSEmmanuel Vadot			status = "disabled";
1395fac71e4eSEmmanuel Vadot
1396fac71e4eSEmmanuel Vadot			usb_dwc3: usb@4e00000 {
1397fac71e4eSEmmanuel Vadot				compatible = "snps,dwc3";
1398fac71e4eSEmmanuel Vadot				reg = <0x0 0x04e00000 0x0 0xcd00>;
1399fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1400aa1a8ff2SEmmanuel Vadot				phys = <&usb_hsphy>, <&usb_qmpphy>;
1401aa1a8ff2SEmmanuel Vadot				phy-names = "usb2-phy", "usb3-phy";
1402fac71e4eSEmmanuel Vadot				iommus = <&apps_smmu 0x120 0x0>;
1403fac71e4eSEmmanuel Vadot				snps,dis_u2_susphy_quirk;
1404fac71e4eSEmmanuel Vadot				snps,dis_enblslpm_quirk;
1405fac71e4eSEmmanuel Vadot				snps,has-lpm-erratum;
1406fac71e4eSEmmanuel Vadot				snps,hird-threshold = /bits/ 8 <0x10>;
1407fac71e4eSEmmanuel Vadot				snps,usb3_lpm_capable;
1408fac71e4eSEmmanuel Vadot				maximum-speed = "super-speed";
1409fac71e4eSEmmanuel Vadot				dr_mode = "otg";
14107d0873ebSEmmanuel Vadot				usb-role-switch;
14117d0873ebSEmmanuel Vadot
14127d0873ebSEmmanuel Vadot				ports {
14137d0873ebSEmmanuel Vadot					#address-cells = <1>;
14147d0873ebSEmmanuel Vadot					#size-cells = <0>;
14157d0873ebSEmmanuel Vadot
14167d0873ebSEmmanuel Vadot					port@0 {
14177d0873ebSEmmanuel Vadot						reg = <0>;
14187d0873ebSEmmanuel Vadot
14197d0873ebSEmmanuel Vadot						usb_dwc3_hs: endpoint {
14207d0873ebSEmmanuel Vadot						};
14217d0873ebSEmmanuel Vadot					};
14227d0873ebSEmmanuel Vadot
14237d0873ebSEmmanuel Vadot					port@1 {
14247d0873ebSEmmanuel Vadot						reg = <1>;
14257d0873ebSEmmanuel Vadot
14267d0873ebSEmmanuel Vadot						usb_dwc3_ss: endpoint {
14277d0873ebSEmmanuel Vadot							remote-endpoint = <&usb_qmpphy_usb_ss_in>;
14287d0873ebSEmmanuel Vadot						};
14297d0873ebSEmmanuel Vadot					};
14307d0873ebSEmmanuel Vadot				};
1431fac71e4eSEmmanuel Vadot			};
1432fac71e4eSEmmanuel Vadot		};
1433fac71e4eSEmmanuel Vadot
14340e8011faSEmmanuel Vadot		gpu: gpu@5900000 {
14350e8011faSEmmanuel Vadot			compatible = "qcom,adreno-07000200", "qcom,adreno";
14360e8011faSEmmanuel Vadot			reg = <0x0 0x05900000 0x0 0x40000>;
14370e8011faSEmmanuel Vadot			reg-names = "kgsl_3d0_reg_memory";
14380e8011faSEmmanuel Vadot
14390e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
14400e8011faSEmmanuel Vadot
14410e8011faSEmmanuel Vadot			clocks = <&gpucc GPU_CC_GX_GFX3D_CLK>,
14420e8011faSEmmanuel Vadot				 <&gpucc GPU_CC_AHB_CLK>,
14430e8011faSEmmanuel Vadot				 <&gcc GCC_BIMC_GPU_AXI_CLK>,
14440e8011faSEmmanuel Vadot				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
14450e8011faSEmmanuel Vadot				 <&gpucc GPU_CC_CX_GMU_CLK>,
14460e8011faSEmmanuel Vadot				 <&gpucc GPU_CC_CXO_CLK>;
14470e8011faSEmmanuel Vadot			clock-names = "core",
14480e8011faSEmmanuel Vadot				      "iface",
14490e8011faSEmmanuel Vadot				      "mem_iface",
14500e8011faSEmmanuel Vadot				      "alt_mem_iface",
14510e8011faSEmmanuel Vadot				      "gmu",
14520e8011faSEmmanuel Vadot				      "xo";
14530e8011faSEmmanuel Vadot
14540e8011faSEmmanuel Vadot			interconnects = <&bimc MASTER_GFX3D RPM_ALWAYS_TAG
14550e8011faSEmmanuel Vadot					 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
14560e8011faSEmmanuel Vadot			interconnect-names = "gfx-mem";
14570e8011faSEmmanuel Vadot
14580e8011faSEmmanuel Vadot			iommus = <&adreno_smmu 0 1>,
14590e8011faSEmmanuel Vadot				 <&adreno_smmu 2 0>;
14600e8011faSEmmanuel Vadot			operating-points-v2 = <&gpu_opp_table>;
14610e8011faSEmmanuel Vadot			power-domains = <&rpmpd QCM2290_VDDCX>;
14620e8011faSEmmanuel Vadot			qcom,gmu = <&gmu_wrapper>;
14630e8011faSEmmanuel Vadot
14640e8011faSEmmanuel Vadot			nvmem-cells = <&gpu_speed_bin>;
14650e8011faSEmmanuel Vadot			nvmem-cell-names = "speed_bin";
14660e8011faSEmmanuel Vadot			#cooling-cells = <2>;
14670e8011faSEmmanuel Vadot
14680e8011faSEmmanuel Vadot			status = "disabled";
14690e8011faSEmmanuel Vadot
14700e8011faSEmmanuel Vadot			zap-shader {
14710e8011faSEmmanuel Vadot				memory-region = <&pil_gpu_mem>;
14720e8011faSEmmanuel Vadot			};
14730e8011faSEmmanuel Vadot
14740e8011faSEmmanuel Vadot			gpu_opp_table: opp-table {
14750e8011faSEmmanuel Vadot				compatible = "operating-points-v2";
14760e8011faSEmmanuel Vadot
14770e8011faSEmmanuel Vadot				/* TODO: Scale RPM_SMD_BIMC_GPU_CLK w/ turbo freqs */
14780e8011faSEmmanuel Vadot				opp-1123200000 {
14790e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <1123200000>;
14800e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_turbo_plus>;
14810e8011faSEmmanuel Vadot					opp-peak-kBps = <6881000>;
14820e8011faSEmmanuel Vadot					opp-supported-hw = <0x3>;
14830e8011faSEmmanuel Vadot					turbo-mode;
14840e8011faSEmmanuel Vadot				};
14850e8011faSEmmanuel Vadot
14860e8011faSEmmanuel Vadot				opp-1017600000 {
14870e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <1017600000>;
14880e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_turbo>;
14890e8011faSEmmanuel Vadot					opp-peak-kBps = <6881000>;
14900e8011faSEmmanuel Vadot					opp-supported-hw = <0x3>;
14910e8011faSEmmanuel Vadot					turbo-mode;
14920e8011faSEmmanuel Vadot				};
14930e8011faSEmmanuel Vadot
14940e8011faSEmmanuel Vadot				opp-921600000 {
14950e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <921600000>;
14960e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_nom_plus>;
14970e8011faSEmmanuel Vadot					opp-peak-kBps = <6881000>;
14980e8011faSEmmanuel Vadot					opp-supported-hw = <0x3>;
14990e8011faSEmmanuel Vadot				};
15000e8011faSEmmanuel Vadot
15010e8011faSEmmanuel Vadot				opp-844800000 {
15020e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <844800000>;
15030e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_nom>;
15040e8011faSEmmanuel Vadot					opp-peak-kBps = <6881000>;
15050e8011faSEmmanuel Vadot					opp-supported-hw = <0x7>;
15060e8011faSEmmanuel Vadot				};
15070e8011faSEmmanuel Vadot
15080e8011faSEmmanuel Vadot				opp-672000000 {
15090e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <672000000>;
15100e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_svs_plus>;
15110e8011faSEmmanuel Vadot					opp-peak-kBps = <3879000>;
15120e8011faSEmmanuel Vadot					opp-supported-hw = <0xf>;
15130e8011faSEmmanuel Vadot				};
15140e8011faSEmmanuel Vadot
15150e8011faSEmmanuel Vadot				opp-537600000 {
15160e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <537600000>;
15170e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_svs>;
15180e8011faSEmmanuel Vadot					opp-peak-kBps = <2929000>;
15190e8011faSEmmanuel Vadot					opp-supported-hw = <0xf>;
15200e8011faSEmmanuel Vadot				};
15210e8011faSEmmanuel Vadot
15220e8011faSEmmanuel Vadot				opp-355200000 {
15230e8011faSEmmanuel Vadot					opp-hz = /bits/ 64 <355200000>;
15240e8011faSEmmanuel Vadot					required-opps = <&rpmpd_opp_low_svs>;
15250e8011faSEmmanuel Vadot					opp-peak-kBps = <1720000>;
15260e8011faSEmmanuel Vadot					opp-supported-hw = <0xf>;
15270e8011faSEmmanuel Vadot				};
15280e8011faSEmmanuel Vadot			};
15290e8011faSEmmanuel Vadot		};
15300e8011faSEmmanuel Vadot
15310e8011faSEmmanuel Vadot		gmu_wrapper: gmu@596a000 {
15320e8011faSEmmanuel Vadot			compatible = "qcom,adreno-gmu-wrapper";
15330e8011faSEmmanuel Vadot			reg = <0x0 0x0596a000 0x0 0x30000>;
15340e8011faSEmmanuel Vadot			reg-names = "gmu";
15350e8011faSEmmanuel Vadot			power-domains = <&gpucc GPU_CX_GDSC>,
15360e8011faSEmmanuel Vadot					<&gpucc GPU_GX_GDSC>;
15370e8011faSEmmanuel Vadot			power-domain-names = "cx",
15380e8011faSEmmanuel Vadot					     "gx";
15390e8011faSEmmanuel Vadot		};
15400e8011faSEmmanuel Vadot
15410e8011faSEmmanuel Vadot		gpucc: clock-controller@5990000 {
15420e8011faSEmmanuel Vadot			compatible = "qcom,qcm2290-gpucc";
15430e8011faSEmmanuel Vadot			reg = <0x0 0x05990000 0x0 0x9000>;
15440e8011faSEmmanuel Vadot			clocks = <&gcc GCC_GPU_CFG_AHB_CLK>,
15450e8011faSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>,
15460e8011faSEmmanuel Vadot				 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
15470e8011faSEmmanuel Vadot				 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
15480e8011faSEmmanuel Vadot			power-domains = <&rpmpd QCM2290_VDDCX>;
15490e8011faSEmmanuel Vadot			required-opps = <&rpmpd_opp_low_svs>;
15500e8011faSEmmanuel Vadot			#clock-cells = <1>;
15510e8011faSEmmanuel Vadot			#reset-cells = <1>;
15520e8011faSEmmanuel Vadot			#power-domain-cells = <1>;
15530e8011faSEmmanuel Vadot		};
15540e8011faSEmmanuel Vadot
15550e8011faSEmmanuel Vadot		adreno_smmu: iommu@59a0000 {
15560e8011faSEmmanuel Vadot			compatible = "qcom,qcm2290-smmu-500", "qcom,adreno-smmu",
15570e8011faSEmmanuel Vadot				     "qcom,smmu-500", "arm,mmu-500";
15580e8011faSEmmanuel Vadot			reg = <0x0 0x059a0000 0x0 0x10000>;
15590e8011faSEmmanuel Vadot			interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
15600e8011faSEmmanuel Vadot				     <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
15610e8011faSEmmanuel Vadot				     <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
15620e8011faSEmmanuel Vadot				     <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
15630e8011faSEmmanuel Vadot				     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
15640e8011faSEmmanuel Vadot				     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
15650e8011faSEmmanuel Vadot				     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
15660e8011faSEmmanuel Vadot				     <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
15670e8011faSEmmanuel Vadot				     <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
15680e8011faSEmmanuel Vadot
15690e8011faSEmmanuel Vadot			clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
15700e8011faSEmmanuel Vadot				 <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
15710e8011faSEmmanuel Vadot				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
15720e8011faSEmmanuel Vadot			clock-names = "mem",
15730e8011faSEmmanuel Vadot				      "hlos",
15740e8011faSEmmanuel Vadot				      "iface";
15750e8011faSEmmanuel Vadot
15760e8011faSEmmanuel Vadot			power-domains = <&gpucc GPU_CX_GDSC>;
15770e8011faSEmmanuel Vadot
15780e8011faSEmmanuel Vadot			#global-interrupts = <1>;
15790e8011faSEmmanuel Vadot			#iommu-cells = <2>;
15800e8011faSEmmanuel Vadot		};
15810e8011faSEmmanuel Vadot
15828d13bc63SEmmanuel Vadot		mdss: display-subsystem@5e00000 {
15838d13bc63SEmmanuel Vadot			compatible = "qcom,qcm2290-mdss";
15848d13bc63SEmmanuel Vadot			reg = <0x0 0x05e00000 0x0 0x1000>;
15858d13bc63SEmmanuel Vadot			reg-names = "mdss";
15868d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
15878d13bc63SEmmanuel Vadot			interrupt-controller;
15888d13bc63SEmmanuel Vadot			#interrupt-cells = <1>;
15898d13bc63SEmmanuel Vadot
15908d13bc63SEmmanuel Vadot			clocks = <&gcc GCC_DISP_AHB_CLK>,
15918d13bc63SEmmanuel Vadot				 <&gcc GCC_DISP_HF_AXI_CLK>,
15928d13bc63SEmmanuel Vadot				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
15938d13bc63SEmmanuel Vadot			clock-names = "iface",
15948d13bc63SEmmanuel Vadot				      "bus",
15958d13bc63SEmmanuel Vadot				      "core";
15968d13bc63SEmmanuel Vadot
15978d13bc63SEmmanuel Vadot			resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
15988d13bc63SEmmanuel Vadot
15998d13bc63SEmmanuel Vadot			power-domains = <&dispcc MDSS_GDSC>;
16008d13bc63SEmmanuel Vadot
16018d13bc63SEmmanuel Vadot			iommus = <&apps_smmu 0x420 0x2>,
16028d13bc63SEmmanuel Vadot				 <&apps_smmu 0x421 0x0>;
16038d13bc63SEmmanuel Vadot			interconnects = <&mmrt_virt MASTER_MDP0 RPM_ALWAYS_TAG
16048d13bc63SEmmanuel Vadot					 &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
16058d13bc63SEmmanuel Vadot					<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
16068d13bc63SEmmanuel Vadot					 &config_noc SLAVE_DISPLAY_CFG RPM_ALWAYS_TAG>;
16078d13bc63SEmmanuel Vadot			interconnect-names = "mdp0-mem",
16088d13bc63SEmmanuel Vadot					     "cpu-cfg";
16098d13bc63SEmmanuel Vadot
16108d13bc63SEmmanuel Vadot			#address-cells = <2>;
16118d13bc63SEmmanuel Vadot			#size-cells = <2>;
16128d13bc63SEmmanuel Vadot			ranges;
16138d13bc63SEmmanuel Vadot
16148d13bc63SEmmanuel Vadot			status = "disabled";
16158d13bc63SEmmanuel Vadot
16168d13bc63SEmmanuel Vadot			mdp: display-controller@5e01000 {
16178d13bc63SEmmanuel Vadot				compatible = "qcom,qcm2290-dpu";
16188d13bc63SEmmanuel Vadot				reg = <0x0 0x05e01000 0x0 0x8f000>,
16198d13bc63SEmmanuel Vadot				      <0x0 0x05eb0000 0x0 0x2008>;
16208d13bc63SEmmanuel Vadot				reg-names = "mdp",
16218d13bc63SEmmanuel Vadot					    "vbif";
16228d13bc63SEmmanuel Vadot
16238d13bc63SEmmanuel Vadot				interrupt-parent = <&mdss>;
16248d13bc63SEmmanuel Vadot				interrupts = <0>;
16258d13bc63SEmmanuel Vadot
16268d13bc63SEmmanuel Vadot				clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
16278d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
16288d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_MDP_CLK>,
16298d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
16308d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
16318d13bc63SEmmanuel Vadot				clock-names = "bus",
16328d13bc63SEmmanuel Vadot					      "iface",
16338d13bc63SEmmanuel Vadot					      "core",
16348d13bc63SEmmanuel Vadot					      "lut",
16358d13bc63SEmmanuel Vadot					      "vsync";
16368d13bc63SEmmanuel Vadot
16378d13bc63SEmmanuel Vadot				operating-points-v2 = <&mdp_opp_table>;
16388d13bc63SEmmanuel Vadot				power-domains = <&rpmpd QCM2290_VDDCX>;
16398d13bc63SEmmanuel Vadot
16408d13bc63SEmmanuel Vadot				ports {
16418d13bc63SEmmanuel Vadot					#address-cells = <1>;
16428d13bc63SEmmanuel Vadot					#size-cells = <0>;
16438d13bc63SEmmanuel Vadot
16448d13bc63SEmmanuel Vadot					port@0 {
16458d13bc63SEmmanuel Vadot						reg = <0>;
16468d13bc63SEmmanuel Vadot						dpu_intf1_out: endpoint {
16478d13bc63SEmmanuel Vadot							remote-endpoint = <&mdss_dsi0_in>;
16488d13bc63SEmmanuel Vadot						};
16498d13bc63SEmmanuel Vadot					};
16508d13bc63SEmmanuel Vadot				};
16518d13bc63SEmmanuel Vadot
16528d13bc63SEmmanuel Vadot				mdp_opp_table: opp-table {
16538d13bc63SEmmanuel Vadot					compatible = "operating-points-v2";
16548d13bc63SEmmanuel Vadot
16558d13bc63SEmmanuel Vadot					opp-19200000 {
16568d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <19200000>;
16578d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_min_svs>;
16588d13bc63SEmmanuel Vadot					};
16598d13bc63SEmmanuel Vadot
16608d13bc63SEmmanuel Vadot					opp-192000000 {
16618d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <192000000>;
16628d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_low_svs>;
16638d13bc63SEmmanuel Vadot					};
16648d13bc63SEmmanuel Vadot
16658d13bc63SEmmanuel Vadot					opp-256000000 {
16668d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <256000000>;
16678d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_svs>;
16688d13bc63SEmmanuel Vadot					};
16698d13bc63SEmmanuel Vadot
16708d13bc63SEmmanuel Vadot					opp-307200000 {
16718d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <307200000>;
16728d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_svs_plus>;
16738d13bc63SEmmanuel Vadot					};
16748d13bc63SEmmanuel Vadot
16758d13bc63SEmmanuel Vadot					opp-384000000 {
16768d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <384000000>;
16778d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_nom>;
16788d13bc63SEmmanuel Vadot					};
16798d13bc63SEmmanuel Vadot				};
16808d13bc63SEmmanuel Vadot			};
16818d13bc63SEmmanuel Vadot
16828d13bc63SEmmanuel Vadot			mdss_dsi0: dsi@5e94000 {
16838d13bc63SEmmanuel Vadot				compatible = "qcom,qcm2290-dsi-ctrl", "qcom,mdss-dsi-ctrl";
16848d13bc63SEmmanuel Vadot				reg = <0x0 0x05e94000 0x0 0x400>;
16858d13bc63SEmmanuel Vadot				reg-names = "dsi_ctrl";
16868d13bc63SEmmanuel Vadot
16878d13bc63SEmmanuel Vadot				interrupt-parent = <&mdss>;
16888d13bc63SEmmanuel Vadot				interrupts = <4>;
16898d13bc63SEmmanuel Vadot
16908d13bc63SEmmanuel Vadot				clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
16918d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
16928d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
16938d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
16948d13bc63SEmmanuel Vadot					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
16958d13bc63SEmmanuel Vadot					 <&gcc GCC_DISP_HF_AXI_CLK>;
16968d13bc63SEmmanuel Vadot				clock-names = "byte",
16978d13bc63SEmmanuel Vadot					      "byte_intf",
16988d13bc63SEmmanuel Vadot					      "pixel",
16998d13bc63SEmmanuel Vadot					      "core",
17008d13bc63SEmmanuel Vadot					      "iface",
17018d13bc63SEmmanuel Vadot					      "bus";
17028d13bc63SEmmanuel Vadot
17038d13bc63SEmmanuel Vadot				assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
17048d13bc63SEmmanuel Vadot						  <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
17058d13bc63SEmmanuel Vadot				assigned-clock-parents = <&mdss_dsi0_phy 0>,
17068d13bc63SEmmanuel Vadot							 <&mdss_dsi0_phy 1>;
17078d13bc63SEmmanuel Vadot
17088d13bc63SEmmanuel Vadot				operating-points-v2 = <&dsi_opp_table>;
17098d13bc63SEmmanuel Vadot				power-domains = <&rpmpd QCM2290_VDDCX>;
17108d13bc63SEmmanuel Vadot				phys = <&mdss_dsi0_phy>;
17118d13bc63SEmmanuel Vadot
17128d13bc63SEmmanuel Vadot				#address-cells = <1>;
17138d13bc63SEmmanuel Vadot				#size-cells = <0>;
17148d13bc63SEmmanuel Vadot
17158d13bc63SEmmanuel Vadot				status = "disabled";
17168d13bc63SEmmanuel Vadot
17178d13bc63SEmmanuel Vadot				dsi_opp_table: opp-table {
17188d13bc63SEmmanuel Vadot					compatible = "operating-points-v2";
17198d13bc63SEmmanuel Vadot
17208d13bc63SEmmanuel Vadot					opp-19200000 {
17218d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <19200000>;
17228d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_min_svs>;
17238d13bc63SEmmanuel Vadot					};
17248d13bc63SEmmanuel Vadot
17258d13bc63SEmmanuel Vadot					opp-164000000 {
17268d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <164000000>;
17278d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_low_svs>;
17288d13bc63SEmmanuel Vadot					};
17298d13bc63SEmmanuel Vadot
17308d13bc63SEmmanuel Vadot					opp-187500000 {
17318d13bc63SEmmanuel Vadot						opp-hz = /bits/ 64 <187500000>;
17328d13bc63SEmmanuel Vadot						required-opps = <&rpmpd_opp_svs>;
17338d13bc63SEmmanuel Vadot					};
17348d13bc63SEmmanuel Vadot				};
17358d13bc63SEmmanuel Vadot
17368d13bc63SEmmanuel Vadot				ports {
17378d13bc63SEmmanuel Vadot					#address-cells = <1>;
17388d13bc63SEmmanuel Vadot					#size-cells = <0>;
17398d13bc63SEmmanuel Vadot
17408d13bc63SEmmanuel Vadot					port@0 {
17418d13bc63SEmmanuel Vadot						reg = <0>;
17428d13bc63SEmmanuel Vadot
17438d13bc63SEmmanuel Vadot						mdss_dsi0_in: endpoint {
17448d13bc63SEmmanuel Vadot							remote-endpoint = <&dpu_intf1_out>;
17458d13bc63SEmmanuel Vadot						};
17468d13bc63SEmmanuel Vadot					};
17478d13bc63SEmmanuel Vadot
17488d13bc63SEmmanuel Vadot					port@1 {
17498d13bc63SEmmanuel Vadot						reg = <1>;
17508d13bc63SEmmanuel Vadot
17518d13bc63SEmmanuel Vadot						mdss_dsi0_out: endpoint {
17528d13bc63SEmmanuel Vadot						};
17538d13bc63SEmmanuel Vadot					};
17548d13bc63SEmmanuel Vadot				};
17558d13bc63SEmmanuel Vadot			};
17568d13bc63SEmmanuel Vadot
17578d13bc63SEmmanuel Vadot			mdss_dsi0_phy: phy@5e94400 {
17588d13bc63SEmmanuel Vadot				compatible = "qcom,dsi-phy-14nm-2290";
17598d13bc63SEmmanuel Vadot				reg = <0x0 0x05e94400 0x0 0x100>,
17608d13bc63SEmmanuel Vadot				      <0x0 0x05e94500 0x0 0x300>,
17618d13bc63SEmmanuel Vadot				      <0x0 0x05e94800 0x0 0x188>;
17628d13bc63SEmmanuel Vadot				reg-names = "dsi_phy",
17638d13bc63SEmmanuel Vadot					    "dsi_phy_lane",
17648d13bc63SEmmanuel Vadot					    "dsi_pll";
17658d13bc63SEmmanuel Vadot
17668d13bc63SEmmanuel Vadot				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
17678d13bc63SEmmanuel Vadot					 <&rpmcc RPM_SMD_XO_CLK_SRC>;
17688d13bc63SEmmanuel Vadot				clock-names = "iface",
17698d13bc63SEmmanuel Vadot					      "ref";
17708d13bc63SEmmanuel Vadot
17718d13bc63SEmmanuel Vadot				power-domains = <&rpmpd QCM2290_VDDMX>;
17728d13bc63SEmmanuel Vadot				required-opps = <&rpmpd_opp_nom>;
17738d13bc63SEmmanuel Vadot
17748d13bc63SEmmanuel Vadot				#clock-cells = <1>;
17758d13bc63SEmmanuel Vadot				#phy-cells = <0>;
17768d13bc63SEmmanuel Vadot
17778d13bc63SEmmanuel Vadot				status = "disabled";
17788d13bc63SEmmanuel Vadot			};
17798d13bc63SEmmanuel Vadot		};
17808d13bc63SEmmanuel Vadot
17818d13bc63SEmmanuel Vadot		dispcc: clock-controller@5f00000 {
17828d13bc63SEmmanuel Vadot			compatible = "qcom,qcm2290-dispcc";
17838d13bc63SEmmanuel Vadot			reg = <0x0 0x05f00000 0x0 0x20000>;
17848d13bc63SEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
17858d13bc63SEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_A_CLK_SRC>,
17868d13bc63SEmmanuel Vadot				 <&gcc GCC_DISP_GPLL0_CLK_SRC>,
17878d13bc63SEmmanuel Vadot				 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>,
17888d13bc63SEmmanuel Vadot				 <&mdss_dsi0_phy 0>,
17898d13bc63SEmmanuel Vadot				 <&mdss_dsi0_phy 1>;
17908d13bc63SEmmanuel Vadot			clock-names = "bi_tcxo",
17918d13bc63SEmmanuel Vadot				      "bi_tcxo_ao",
17928d13bc63SEmmanuel Vadot				      "gcc_disp_gpll0_clk_src",
17938d13bc63SEmmanuel Vadot				      "gcc_disp_gpll0_div_clk_src",
17948d13bc63SEmmanuel Vadot				      "dsi0_phy_pll_out_byteclk",
17958d13bc63SEmmanuel Vadot				      "dsi0_phy_pll_out_dsiclk";
17968d13bc63SEmmanuel Vadot			#power-domain-cells = <1>;
17978d13bc63SEmmanuel Vadot			#clock-cells = <1>;
17988d13bc63SEmmanuel Vadot			#reset-cells = <1>;
17998d13bc63SEmmanuel Vadot		};
18008d13bc63SEmmanuel Vadot
1801fac71e4eSEmmanuel Vadot		remoteproc_mpss: remoteproc@6080000 {
1802fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-mpss-pas", "qcom,sm6115-mpss-pas";
1803fac71e4eSEmmanuel Vadot			reg = <0x0 0x06080000 0x0 0x100>;
1804fac71e4eSEmmanuel Vadot
1805fac71e4eSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
1806fac71e4eSEmmanuel Vadot					      <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1807fac71e4eSEmmanuel Vadot					      <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1808fac71e4eSEmmanuel Vadot					      <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1809fac71e4eSEmmanuel Vadot					      <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1810fac71e4eSEmmanuel Vadot					      <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1811fac71e4eSEmmanuel Vadot			interrupt-names = "wdog",
1812fac71e4eSEmmanuel Vadot					  "fatal",
1813fac71e4eSEmmanuel Vadot					  "ready",
1814fac71e4eSEmmanuel Vadot					  "handover",
1815fac71e4eSEmmanuel Vadot					  "stop-ack",
1816fac71e4eSEmmanuel Vadot					  "shutdown-ack";
1817fac71e4eSEmmanuel Vadot
1818fac71e4eSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1819fac71e4eSEmmanuel Vadot			clock-names = "xo";
1820fac71e4eSEmmanuel Vadot
1821fac71e4eSEmmanuel Vadot			power-domains = <&rpmpd QCM2290_VDDCX>;
1822fac71e4eSEmmanuel Vadot
1823fac71e4eSEmmanuel Vadot			memory-region = <&pil_modem_mem>;
1824fac71e4eSEmmanuel Vadot
1825fac71e4eSEmmanuel Vadot			qcom,smem-states = <&modem_smp2p_out 0>;
1826fac71e4eSEmmanuel Vadot			qcom,smem-state-names = "stop";
1827fac71e4eSEmmanuel Vadot
1828fac71e4eSEmmanuel Vadot			status = "disabled";
1829fac71e4eSEmmanuel Vadot
1830fac71e4eSEmmanuel Vadot			glink-edge {
1831fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;
1832fac71e4eSEmmanuel Vadot				label = "mpss";
1833fac71e4eSEmmanuel Vadot				qcom,remote-pid = <1>;
1834fac71e4eSEmmanuel Vadot				mboxes = <&apcs_glb 12>;
1835fac71e4eSEmmanuel Vadot			};
1836fac71e4eSEmmanuel Vadot		};
1837fac71e4eSEmmanuel Vadot
1838fac71e4eSEmmanuel Vadot		remoteproc_adsp: remoteproc@ab00000 {
1839fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-adsp-pas", "qcom,sm6115-adsp-pas";
1840fac71e4eSEmmanuel Vadot			reg = <0x0 0x0ab00000 0x0 0x100>;
1841fac71e4eSEmmanuel Vadot
1842fac71e4eSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
1843fac71e4eSEmmanuel Vadot					      <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1844fac71e4eSEmmanuel Vadot					      <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1845fac71e4eSEmmanuel Vadot					      <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1846fac71e4eSEmmanuel Vadot					      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1847fac71e4eSEmmanuel Vadot			interrupt-names = "wdog",
1848fac71e4eSEmmanuel Vadot					  "fatal",
1849fac71e4eSEmmanuel Vadot					  "ready",
1850fac71e4eSEmmanuel Vadot					  "handover",
1851fac71e4eSEmmanuel Vadot					  "stop-ack";
1852fac71e4eSEmmanuel Vadot
1853fac71e4eSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1854fac71e4eSEmmanuel Vadot			clock-names = "xo";
1855fac71e4eSEmmanuel Vadot
1856fac71e4eSEmmanuel Vadot			power-domains = <&rpmpd QCM2290_VDD_LPI_CX>,
1857fac71e4eSEmmanuel Vadot					<&rpmpd QCM2290_VDD_LPI_MX>;
1858fac71e4eSEmmanuel Vadot
1859fac71e4eSEmmanuel Vadot			memory-region = <&pil_adsp_mem>;
1860fac71e4eSEmmanuel Vadot
1861fac71e4eSEmmanuel Vadot			qcom,smem-states = <&adsp_smp2p_out 0>;
1862fac71e4eSEmmanuel Vadot			qcom,smem-state-names = "stop";
1863fac71e4eSEmmanuel Vadot
1864fac71e4eSEmmanuel Vadot			status = "disabled";
1865fac71e4eSEmmanuel Vadot
1866fac71e4eSEmmanuel Vadot			glink-edge {
1867fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
1868fac71e4eSEmmanuel Vadot				label = "lpass";
1869fac71e4eSEmmanuel Vadot				qcom,remote-pid = <2>;
1870fac71e4eSEmmanuel Vadot				mboxes = <&apcs_glb 8>;
1871fac71e4eSEmmanuel Vadot			};
1872fac71e4eSEmmanuel Vadot		};
1873fac71e4eSEmmanuel Vadot
1874fac71e4eSEmmanuel Vadot		apps_smmu: iommu@c600000 {
1875fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-smmu-500", "qcom,smmu-500", "arm,mmu-500";
1876fac71e4eSEmmanuel Vadot			reg = <0x0 0x0c600000 0x0 0x80000>;
1877fac71e4eSEmmanuel Vadot			#iommu-cells = <2>;
1878fac71e4eSEmmanuel Vadot			#global-interrupts = <1>;
1879fac71e4eSEmmanuel Vadot
1880fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
1881fac71e4eSEmmanuel Vadot				     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
1882fac71e4eSEmmanuel Vadot				     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
1883fac71e4eSEmmanuel Vadot				     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
1884fac71e4eSEmmanuel Vadot				     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
1885fac71e4eSEmmanuel Vadot				     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
1886fac71e4eSEmmanuel Vadot				     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
1887fac71e4eSEmmanuel Vadot				     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1888fac71e4eSEmmanuel Vadot				     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
1889fac71e4eSEmmanuel Vadot				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1890fac71e4eSEmmanuel Vadot				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1891fac71e4eSEmmanuel Vadot				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1892fac71e4eSEmmanuel Vadot				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1893fac71e4eSEmmanuel Vadot				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1894fac71e4eSEmmanuel Vadot				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1895fac71e4eSEmmanuel Vadot				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1896fac71e4eSEmmanuel Vadot				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1897fac71e4eSEmmanuel Vadot				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1898fac71e4eSEmmanuel Vadot				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1899fac71e4eSEmmanuel Vadot				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1900fac71e4eSEmmanuel Vadot				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1901fac71e4eSEmmanuel Vadot				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1902fac71e4eSEmmanuel Vadot				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1903fac71e4eSEmmanuel Vadot				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1904fac71e4eSEmmanuel Vadot				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1905fac71e4eSEmmanuel Vadot				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1906fac71e4eSEmmanuel Vadot				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1907fac71e4eSEmmanuel Vadot				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1908fac71e4eSEmmanuel Vadot				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1909fac71e4eSEmmanuel Vadot				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1910fac71e4eSEmmanuel Vadot				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1911fac71e4eSEmmanuel Vadot				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1912fac71e4eSEmmanuel Vadot				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1913fac71e4eSEmmanuel Vadot				     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1914fac71e4eSEmmanuel Vadot				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1915fac71e4eSEmmanuel Vadot				     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1916fac71e4eSEmmanuel Vadot				     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1917fac71e4eSEmmanuel Vadot				     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1918fac71e4eSEmmanuel Vadot				     <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1919fac71e4eSEmmanuel Vadot				     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1920fac71e4eSEmmanuel Vadot				     <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1921fac71e4eSEmmanuel Vadot				     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
1922fac71e4eSEmmanuel Vadot				     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
1923fac71e4eSEmmanuel Vadot				     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
1924fac71e4eSEmmanuel Vadot				     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1925fac71e4eSEmmanuel Vadot				     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1926fac71e4eSEmmanuel Vadot				     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
1927fac71e4eSEmmanuel Vadot				     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
1928fac71e4eSEmmanuel Vadot				     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1929fac71e4eSEmmanuel Vadot				     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1930fac71e4eSEmmanuel Vadot				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
1931fac71e4eSEmmanuel Vadot				     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
1932fac71e4eSEmmanuel Vadot				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
1933fac71e4eSEmmanuel Vadot				     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
1934fac71e4eSEmmanuel Vadot				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
1935fac71e4eSEmmanuel Vadot				     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1936fac71e4eSEmmanuel Vadot				     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1937fac71e4eSEmmanuel Vadot				     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1938fac71e4eSEmmanuel Vadot				     <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1939fac71e4eSEmmanuel Vadot				     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1940fac71e4eSEmmanuel Vadot				     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1941fac71e4eSEmmanuel Vadot				     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1942fac71e4eSEmmanuel Vadot				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
1943fac71e4eSEmmanuel Vadot				     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
1944fac71e4eSEmmanuel Vadot				     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
1945fac71e4eSEmmanuel Vadot		};
1946fac71e4eSEmmanuel Vadot
1947fac71e4eSEmmanuel Vadot		wifi: wifi@c800000 {
1948fac71e4eSEmmanuel Vadot			compatible = "qcom,wcn3990-wifi";
1949fac71e4eSEmmanuel Vadot			reg = <0x0 0x0c800000 0x0 0x800000>;
1950fac71e4eSEmmanuel Vadot			reg-names = "membase";
1951fac71e4eSEmmanuel Vadot			memory-region = <&wlan_msa_mem>;
1952fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
1953fac71e4eSEmmanuel Vadot				     <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
1954fac71e4eSEmmanuel Vadot				     <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
1955fac71e4eSEmmanuel Vadot				     <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
1956fac71e4eSEmmanuel Vadot				     <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
1957fac71e4eSEmmanuel Vadot				     <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
1958fac71e4eSEmmanuel Vadot				     <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
1959fac71e4eSEmmanuel Vadot				     <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
1960fac71e4eSEmmanuel Vadot				     <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
1961fac71e4eSEmmanuel Vadot				     <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
1962fac71e4eSEmmanuel Vadot				     <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
1963fac71e4eSEmmanuel Vadot				     <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>;
1964fac71e4eSEmmanuel Vadot			iommus = <&apps_smmu 0x1a0 0x1>;
1965fac71e4eSEmmanuel Vadot			qcom,msa-fixed-perm;
1966fac71e4eSEmmanuel Vadot			status = "disabled";
1967fac71e4eSEmmanuel Vadot		};
1968fac71e4eSEmmanuel Vadot
1969fac71e4eSEmmanuel Vadot		watchdog@f017000 {
1970fac71e4eSEmmanuel Vadot			compatible = "qcom,apss-wdt-qcm2290", "qcom,kpss-wdt";
1971fac71e4eSEmmanuel Vadot			reg = <0x0 0x0f017000 0x0 0x1000>;
1972fac71e4eSEmmanuel Vadot			interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>,
1973fac71e4eSEmmanuel Vadot				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
1974fac71e4eSEmmanuel Vadot			clocks = <&sleep_clk>;
1975fac71e4eSEmmanuel Vadot		};
1976fac71e4eSEmmanuel Vadot
1977fac71e4eSEmmanuel Vadot		apcs_glb: mailbox@f111000 {
1978fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-apcs-hmss-global";
1979fac71e4eSEmmanuel Vadot			reg = <0x0 0x0f111000 0x0 0x1000>;
1980fac71e4eSEmmanuel Vadot			#mbox-cells = <1>;
1981fac71e4eSEmmanuel Vadot		};
1982fac71e4eSEmmanuel Vadot
1983fac71e4eSEmmanuel Vadot		timer@f120000 {
1984fac71e4eSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
1985fac71e4eSEmmanuel Vadot			reg = <0x0 0x0f120000 0x0 0x1000>;
1986fac71e4eSEmmanuel Vadot			#address-cells = <1>;
1987fac71e4eSEmmanuel Vadot			#size-cells = <1>;
1988fac71e4eSEmmanuel Vadot			ranges = <0 0x0 0x0f121000 0x8000>;
1989fac71e4eSEmmanuel Vadot
1990fac71e4eSEmmanuel Vadot			frame@0 {
1991fac71e4eSEmmanuel Vadot				reg = <0x0 0x1000>,
1992fac71e4eSEmmanuel Vadot				      <0x1000 0x1000>;
1993fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1994fac71e4eSEmmanuel Vadot					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1995fac71e4eSEmmanuel Vadot				frame-number = <0>;
1996fac71e4eSEmmanuel Vadot			};
1997fac71e4eSEmmanuel Vadot
1998fac71e4eSEmmanuel Vadot			frame@2000 {
1999fac71e4eSEmmanuel Vadot				reg = <0x2000 0x1000>;
2000fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2001fac71e4eSEmmanuel Vadot				frame-number = <1>;
2002fac71e4eSEmmanuel Vadot				status = "disabled";
2003fac71e4eSEmmanuel Vadot			};
2004fac71e4eSEmmanuel Vadot
2005fac71e4eSEmmanuel Vadot			frame@3000 {
2006fac71e4eSEmmanuel Vadot				reg = <0x3000 0x1000>;
2007fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2008fac71e4eSEmmanuel Vadot				frame-number = <2>;
2009fac71e4eSEmmanuel Vadot				status = "disabled";
2010fac71e4eSEmmanuel Vadot			};
2011fac71e4eSEmmanuel Vadot
2012fac71e4eSEmmanuel Vadot			frame@4000 {
2013fac71e4eSEmmanuel Vadot				reg = <0x4000 0x1000>;
2014fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2015fac71e4eSEmmanuel Vadot				frame-number = <3>;
2016fac71e4eSEmmanuel Vadot				status = "disabled";
2017fac71e4eSEmmanuel Vadot			};
2018fac71e4eSEmmanuel Vadot
2019fac71e4eSEmmanuel Vadot			frame@5000 {
2020fac71e4eSEmmanuel Vadot				reg = <0x5000 0x1000>;
2021fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2022fac71e4eSEmmanuel Vadot				frame-number = <4>;
2023fac71e4eSEmmanuel Vadot				status = "disabled";
2024fac71e4eSEmmanuel Vadot			};
2025fac71e4eSEmmanuel Vadot
2026fac71e4eSEmmanuel Vadot			frame@6000 {
2027fac71e4eSEmmanuel Vadot				reg = <0x6000 0x1000>;
2028fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2029fac71e4eSEmmanuel Vadot				frame-number = <5>;
2030fac71e4eSEmmanuel Vadot				status = "disabled";
2031fac71e4eSEmmanuel Vadot			};
2032fac71e4eSEmmanuel Vadot
2033fac71e4eSEmmanuel Vadot			frame@7000 {
2034fac71e4eSEmmanuel Vadot				reg = <0x7000 0x1000>;
2035fac71e4eSEmmanuel Vadot				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2036fac71e4eSEmmanuel Vadot				frame-number = <6>;
2037fac71e4eSEmmanuel Vadot				status = "disabled";
2038fac71e4eSEmmanuel Vadot			};
2039fac71e4eSEmmanuel Vadot		};
2040fac71e4eSEmmanuel Vadot
2041fac71e4eSEmmanuel Vadot		intc: interrupt-controller@f200000 {
2042fac71e4eSEmmanuel Vadot			compatible = "arm,gic-v3";
2043fac71e4eSEmmanuel Vadot			reg = <0x0 0x0f200000 0x0 0x10000>,
2044fac71e4eSEmmanuel Vadot			      <0x0 0x0f300000 0x0 0x100000>;
2045fac71e4eSEmmanuel Vadot			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
2046fac71e4eSEmmanuel Vadot			#interrupt-cells = <3>;
2047fac71e4eSEmmanuel Vadot			interrupt-controller;
2048fac71e4eSEmmanuel Vadot			interrupt-parent = <&intc>;
2049fac71e4eSEmmanuel Vadot			#redistributor-regions = <1>;
2050fac71e4eSEmmanuel Vadot			redistributor-stride = <0x0 0x20000>;
2051fac71e4eSEmmanuel Vadot		};
2052fac71e4eSEmmanuel Vadot
2053fac71e4eSEmmanuel Vadot		cpufreq_hw: cpufreq@f521000 {
2054fac71e4eSEmmanuel Vadot			compatible = "qcom,qcm2290-cpufreq-hw", "qcom,cpufreq-hw";
2055fac71e4eSEmmanuel Vadot			reg = <0x0 0x0f521000 0x0 0x1000>;
2056fac71e4eSEmmanuel Vadot			reg-names = "freq-domain0";
20577d0873ebSEmmanuel Vadot			interrupts-extended = <&lmh_cluster 0>;
2058fac71e4eSEmmanuel Vadot			interrupt-names = "dcvsh-irq-0";
2059fac71e4eSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
2060fac71e4eSEmmanuel Vadot			clock-names = "xo", "alternate";
2061fac71e4eSEmmanuel Vadot
2062fac71e4eSEmmanuel Vadot			#freq-domain-cells = <1>;
2063fac71e4eSEmmanuel Vadot			#clock-cells = <1>;
2064fac71e4eSEmmanuel Vadot		};
20657d0873ebSEmmanuel Vadot
20667d0873ebSEmmanuel Vadot		lmh_cluster: lmh@f550800 {
20677d0873ebSEmmanuel Vadot			compatible = "qcom,qcm2290-lmh", "qcom,sm8150-lmh";
20687d0873ebSEmmanuel Vadot			reg = <0x0 0x0f550800 0x0 0x400>;
20697d0873ebSEmmanuel Vadot			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
20707d0873ebSEmmanuel Vadot			cpus = <&CPU0>;
20717d0873ebSEmmanuel Vadot			qcom,lmh-temp-arm-millicelsius = <65000>;
20727d0873ebSEmmanuel Vadot			qcom,lmh-temp-low-millicelsius = <94500>;
20737d0873ebSEmmanuel Vadot			qcom,lmh-temp-high-millicelsius = <95000>;
20747d0873ebSEmmanuel Vadot			interrupt-controller;
20757d0873ebSEmmanuel Vadot			#interrupt-cells = <1>;
20767d0873ebSEmmanuel Vadot		};
2077fac71e4eSEmmanuel Vadot	};
2078fac71e4eSEmmanuel Vadot
2079fac71e4eSEmmanuel Vadot	thermal-zones {
2080fac71e4eSEmmanuel Vadot		mapss-thermal {
2081fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 0>;
2082fac71e4eSEmmanuel Vadot
2083fac71e4eSEmmanuel Vadot			trips {
2084fac71e4eSEmmanuel Vadot				mapss_alert0: trip-point0 {
2085fac71e4eSEmmanuel Vadot					temperature = <90000>;
2086fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2087fac71e4eSEmmanuel Vadot					type = "passive";
2088fac71e4eSEmmanuel Vadot				};
2089fac71e4eSEmmanuel Vadot
2090fac71e4eSEmmanuel Vadot				mapss_alert1: trip-point1 {
2091fac71e4eSEmmanuel Vadot					temperature = <95000>;
2092fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2093fac71e4eSEmmanuel Vadot					type = "passive";
2094fac71e4eSEmmanuel Vadot				};
2095fac71e4eSEmmanuel Vadot
2096fac71e4eSEmmanuel Vadot				mapss_crit: mapss-crit {
2097fac71e4eSEmmanuel Vadot					temperature = <110000>;
2098fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2099fac71e4eSEmmanuel Vadot					type = "critical";
2100fac71e4eSEmmanuel Vadot				};
2101fac71e4eSEmmanuel Vadot			};
2102fac71e4eSEmmanuel Vadot		};
2103fac71e4eSEmmanuel Vadot
2104fac71e4eSEmmanuel Vadot		video-thermal {
2105fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 1>;
2106fac71e4eSEmmanuel Vadot
2107fac71e4eSEmmanuel Vadot			trips {
2108fac71e4eSEmmanuel Vadot				video_alert0: trip-point0 {
2109fac71e4eSEmmanuel Vadot					temperature = <90000>;
2110fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2111fac71e4eSEmmanuel Vadot					type = "passive";
2112fac71e4eSEmmanuel Vadot				};
2113fac71e4eSEmmanuel Vadot
2114fac71e4eSEmmanuel Vadot				video_alert1: trip-point1 {
2115fac71e4eSEmmanuel Vadot					temperature = <95000>;
2116fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2117fac71e4eSEmmanuel Vadot					type = "passive";
2118fac71e4eSEmmanuel Vadot				};
2119fac71e4eSEmmanuel Vadot
2120fac71e4eSEmmanuel Vadot				video_crit: video-crit {
2121fac71e4eSEmmanuel Vadot					temperature = <110000>;
2122fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2123fac71e4eSEmmanuel Vadot					type = "critical";
2124fac71e4eSEmmanuel Vadot				};
2125fac71e4eSEmmanuel Vadot			};
2126fac71e4eSEmmanuel Vadot		};
2127fac71e4eSEmmanuel Vadot
2128fac71e4eSEmmanuel Vadot		wlan-thermal {
2129fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 2>;
2130fac71e4eSEmmanuel Vadot
2131fac71e4eSEmmanuel Vadot			trips {
2132fac71e4eSEmmanuel Vadot				wlan_alert0: trip-point0 {
2133fac71e4eSEmmanuel Vadot					temperature = <90000>;
2134fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2135fac71e4eSEmmanuel Vadot					type = "passive";
2136fac71e4eSEmmanuel Vadot				};
2137fac71e4eSEmmanuel Vadot
2138fac71e4eSEmmanuel Vadot				wlan_alert1: trip-point1 {
2139fac71e4eSEmmanuel Vadot					temperature = <95000>;
2140fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2141fac71e4eSEmmanuel Vadot					type = "passive";
2142fac71e4eSEmmanuel Vadot				};
2143fac71e4eSEmmanuel Vadot
2144fac71e4eSEmmanuel Vadot				wlan_crit: wlan-crit {
2145fac71e4eSEmmanuel Vadot					temperature = <110000>;
2146fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2147fac71e4eSEmmanuel Vadot					type = "critical";
2148fac71e4eSEmmanuel Vadot				};
2149fac71e4eSEmmanuel Vadot			};
2150fac71e4eSEmmanuel Vadot		};
2151fac71e4eSEmmanuel Vadot
2152fac71e4eSEmmanuel Vadot		cpuss0-thermal {
2153fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 3>;
2154fac71e4eSEmmanuel Vadot
2155fac71e4eSEmmanuel Vadot			trips {
2156fac71e4eSEmmanuel Vadot				cpuss0_alert0: trip-point0 {
2157fac71e4eSEmmanuel Vadot					temperature = <90000>;
2158fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2159fac71e4eSEmmanuel Vadot					type = "passive";
2160fac71e4eSEmmanuel Vadot				};
2161fac71e4eSEmmanuel Vadot
2162fac71e4eSEmmanuel Vadot				cpuss0_alert1: trip-point1 {
2163fac71e4eSEmmanuel Vadot					temperature = <95000>;
2164fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2165fac71e4eSEmmanuel Vadot					type = "passive";
2166fac71e4eSEmmanuel Vadot				};
2167fac71e4eSEmmanuel Vadot
2168fac71e4eSEmmanuel Vadot				cpuss0_crit: cpuss0-crit {
2169fac71e4eSEmmanuel Vadot					temperature = <110000>;
2170fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2171fac71e4eSEmmanuel Vadot					type = "critical";
2172fac71e4eSEmmanuel Vadot				};
2173fac71e4eSEmmanuel Vadot			};
2174fac71e4eSEmmanuel Vadot		};
2175fac71e4eSEmmanuel Vadot
2176fac71e4eSEmmanuel Vadot		cpuss1-thermal {
2177fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 4>;
2178fac71e4eSEmmanuel Vadot
2179fac71e4eSEmmanuel Vadot			trips {
2180fac71e4eSEmmanuel Vadot				cpuss1_alert0: trip-point0 {
2181fac71e4eSEmmanuel Vadot					temperature = <90000>;
2182fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2183fac71e4eSEmmanuel Vadot					type = "passive";
2184fac71e4eSEmmanuel Vadot				};
2185fac71e4eSEmmanuel Vadot
2186fac71e4eSEmmanuel Vadot				cpuss1_alert1: trip-point1 {
2187fac71e4eSEmmanuel Vadot					temperature = <95000>;
2188fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2189fac71e4eSEmmanuel Vadot					type = "passive";
2190fac71e4eSEmmanuel Vadot				};
2191fac71e4eSEmmanuel Vadot
2192fac71e4eSEmmanuel Vadot				cpuss1_crit: cpuss1-crit {
2193fac71e4eSEmmanuel Vadot					temperature = <110000>;
2194fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2195fac71e4eSEmmanuel Vadot					type = "critical";
2196fac71e4eSEmmanuel Vadot				};
2197fac71e4eSEmmanuel Vadot			};
2198fac71e4eSEmmanuel Vadot		};
2199fac71e4eSEmmanuel Vadot
2200fac71e4eSEmmanuel Vadot		mdm0-thermal {
2201fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 5>;
2202fac71e4eSEmmanuel Vadot
2203fac71e4eSEmmanuel Vadot			trips {
2204fac71e4eSEmmanuel Vadot				mdm0_alert0: trip-point0 {
2205fac71e4eSEmmanuel Vadot					temperature = <90000>;
2206fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2207fac71e4eSEmmanuel Vadot					type = "passive";
2208fac71e4eSEmmanuel Vadot				};
2209fac71e4eSEmmanuel Vadot
2210fac71e4eSEmmanuel Vadot				mdm0_alert1: trip-point1 {
2211fac71e4eSEmmanuel Vadot					temperature = <95000>;
2212fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2213fac71e4eSEmmanuel Vadot					type = "passive";
2214fac71e4eSEmmanuel Vadot				};
2215fac71e4eSEmmanuel Vadot
2216fac71e4eSEmmanuel Vadot				mdm0_crit: mdm0-crit {
2217fac71e4eSEmmanuel Vadot					temperature = <110000>;
2218fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2219fac71e4eSEmmanuel Vadot					type = "critical";
2220fac71e4eSEmmanuel Vadot				};
2221fac71e4eSEmmanuel Vadot			};
2222fac71e4eSEmmanuel Vadot		};
2223fac71e4eSEmmanuel Vadot
2224fac71e4eSEmmanuel Vadot		mdm1-thermal {
2225fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 6>;
2226fac71e4eSEmmanuel Vadot
2227fac71e4eSEmmanuel Vadot			trips {
2228fac71e4eSEmmanuel Vadot				mdm1_alert0: trip-point0 {
2229fac71e4eSEmmanuel Vadot					temperature = <90000>;
2230fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2231fac71e4eSEmmanuel Vadot					type = "passive";
2232fac71e4eSEmmanuel Vadot				};
2233fac71e4eSEmmanuel Vadot
2234fac71e4eSEmmanuel Vadot				mdm1_alert1: trip-point1 {
2235fac71e4eSEmmanuel Vadot					temperature = <95000>;
2236fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2237fac71e4eSEmmanuel Vadot					type = "passive";
2238fac71e4eSEmmanuel Vadot				};
2239fac71e4eSEmmanuel Vadot
2240fac71e4eSEmmanuel Vadot				mdm1_crit: mdm1-crit {
2241fac71e4eSEmmanuel Vadot					temperature = <110000>;
2242fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2243fac71e4eSEmmanuel Vadot					type = "critical";
2244fac71e4eSEmmanuel Vadot				};
2245fac71e4eSEmmanuel Vadot			};
2246fac71e4eSEmmanuel Vadot		};
2247fac71e4eSEmmanuel Vadot
2248fac71e4eSEmmanuel Vadot		gpu-thermal {
2249fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 7>;
2250fac71e4eSEmmanuel Vadot
2251fac71e4eSEmmanuel Vadot			trips {
2252fac71e4eSEmmanuel Vadot				gpu_alert0: trip-point0 {
2253fac71e4eSEmmanuel Vadot					temperature = <90000>;
2254fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2255fac71e4eSEmmanuel Vadot					type = "passive";
2256fac71e4eSEmmanuel Vadot				};
2257fac71e4eSEmmanuel Vadot
2258fac71e4eSEmmanuel Vadot				gpu_alert1: trip-point1 {
2259fac71e4eSEmmanuel Vadot					temperature = <95000>;
2260fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2261fac71e4eSEmmanuel Vadot					type = "passive";
2262fac71e4eSEmmanuel Vadot				};
2263fac71e4eSEmmanuel Vadot
2264fac71e4eSEmmanuel Vadot				gpu_crit: gpu-crit {
2265fac71e4eSEmmanuel Vadot					temperature = <110000>;
2266fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2267fac71e4eSEmmanuel Vadot					type = "critical";
2268fac71e4eSEmmanuel Vadot				};
2269fac71e4eSEmmanuel Vadot			};
2270fac71e4eSEmmanuel Vadot		};
2271fac71e4eSEmmanuel Vadot
2272fac71e4eSEmmanuel Vadot		hm-center-thermal {
2273fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 8>;
2274fac71e4eSEmmanuel Vadot
2275fac71e4eSEmmanuel Vadot			trips {
2276fac71e4eSEmmanuel Vadot				hm_center_alert0: trip-point0 {
2277fac71e4eSEmmanuel Vadot					temperature = <90000>;
2278fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2279fac71e4eSEmmanuel Vadot					type = "passive";
2280fac71e4eSEmmanuel Vadot				};
2281fac71e4eSEmmanuel Vadot
2282fac71e4eSEmmanuel Vadot				hm_center_alert1: trip-point1 {
2283fac71e4eSEmmanuel Vadot					temperature = <95000>;
2284fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2285fac71e4eSEmmanuel Vadot					type = "passive";
2286fac71e4eSEmmanuel Vadot				};
2287fac71e4eSEmmanuel Vadot
2288fac71e4eSEmmanuel Vadot				hm_center_crit: hm-center-crit {
2289fac71e4eSEmmanuel Vadot					temperature = <110000>;
2290fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2291fac71e4eSEmmanuel Vadot					type = "critical";
2292fac71e4eSEmmanuel Vadot				};
2293fac71e4eSEmmanuel Vadot			};
2294fac71e4eSEmmanuel Vadot		};
2295fac71e4eSEmmanuel Vadot
2296fac71e4eSEmmanuel Vadot		camera-thermal {
2297fac71e4eSEmmanuel Vadot			thermal-sensors = <&tsens0 9>;
2298fac71e4eSEmmanuel Vadot
2299fac71e4eSEmmanuel Vadot			trips {
2300fac71e4eSEmmanuel Vadot				camera_alert0: trip-point0 {
2301fac71e4eSEmmanuel Vadot					temperature = <90000>;
2302fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2303fac71e4eSEmmanuel Vadot					type = "passive";
2304fac71e4eSEmmanuel Vadot				};
2305fac71e4eSEmmanuel Vadot
2306fac71e4eSEmmanuel Vadot				camera_alert1: trip-point1 {
2307fac71e4eSEmmanuel Vadot					temperature = <95000>;
2308fac71e4eSEmmanuel Vadot					hysteresis = <2000>;
2309fac71e4eSEmmanuel Vadot					type = "passive";
2310fac71e4eSEmmanuel Vadot				};
2311fac71e4eSEmmanuel Vadot
2312fac71e4eSEmmanuel Vadot				camera_crit: camera-crit {
2313fac71e4eSEmmanuel Vadot					temperature = <110000>;
2314fac71e4eSEmmanuel Vadot					hysteresis = <1000>;
2315fac71e4eSEmmanuel Vadot					type = "critical";
2316fac71e4eSEmmanuel Vadot				};
2317fac71e4eSEmmanuel Vadot			};
2318fac71e4eSEmmanuel Vadot		};
2319fac71e4eSEmmanuel Vadot	};
2320fac71e4eSEmmanuel Vadot
2321fac71e4eSEmmanuel Vadot	timer {
2322fac71e4eSEmmanuel Vadot		compatible = "arm,armv8-timer";
2323fac71e4eSEmmanuel Vadot		interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2324fac71e4eSEmmanuel Vadot			     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2325fac71e4eSEmmanuel Vadot			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
2326fac71e4eSEmmanuel Vadot			     <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
2327fac71e4eSEmmanuel Vadot	};
2328fac71e4eSEmmanuel Vadot};
2329