xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/milos.dtsi (revision 6589b3d76db2d6adbf8f2084c303fb24252a0dc6)
1*d9d59d10SLuca Weiss// SPDX-License-Identifier: BSD-3-Clause
2*d9d59d10SLuca Weiss/*
3*d9d59d10SLuca Weiss * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com>
4*d9d59d10SLuca Weiss */
5*d9d59d10SLuca Weiss
6*d9d59d10SLuca Weiss#include <dt-bindings/clock/qcom,milos-camcc.h>
7*d9d59d10SLuca Weiss#include <dt-bindings/clock/qcom,milos-dispcc.h>
8*d9d59d10SLuca Weiss#include <dt-bindings/clock/qcom,milos-gcc.h>
9*d9d59d10SLuca Weiss#include <dt-bindings/clock/qcom,milos-gpucc.h>
10*d9d59d10SLuca Weiss#include <dt-bindings/clock/qcom,rpmh.h>
11*d9d59d10SLuca Weiss#include <dt-bindings/clock/qcom,sm8650-tcsr.h>
12*d9d59d10SLuca Weiss#include <dt-bindings/dma/qcom-gpi.h>
13*d9d59d10SLuca Weiss#include <dt-bindings/firmware/qcom,scm.h>
14*d9d59d10SLuca Weiss#include <dt-bindings/gpio/gpio.h>
15*d9d59d10SLuca Weiss#include <dt-bindings/interconnect/qcom,icc.h>
16*d9d59d10SLuca Weiss#include <dt-bindings/interconnect/qcom,milos-rpmh.h>
17*d9d59d10SLuca Weiss#include <dt-bindings/interrupt-controller/arm-gic.h>
18*d9d59d10SLuca Weiss#include <dt-bindings/mailbox/qcom-ipcc.h>
19*d9d59d10SLuca Weiss#include <dt-bindings/power/qcom,rpmhpd.h>
20*d9d59d10SLuca Weiss#include <dt-bindings/power/qcom-rpmpd.h>
21*d9d59d10SLuca Weiss#include <dt-bindings/soc/qcom,rpmh-rsc.h>
22*d9d59d10SLuca Weiss
23*d9d59d10SLuca Weiss/ {
24*d9d59d10SLuca Weiss	interrupt-parent = <&intc>;
25*d9d59d10SLuca Weiss
26*d9d59d10SLuca Weiss	#address-cells = <2>;
27*d9d59d10SLuca Weiss	#size-cells = <2>;
28*d9d59d10SLuca Weiss
29*d9d59d10SLuca Weiss	chosen { };
30*d9d59d10SLuca Weiss
31*d9d59d10SLuca Weiss	clocks {
32*d9d59d10SLuca Weiss		xo_board: xo-board {
33*d9d59d10SLuca Weiss			compatible = "fixed-clock";
34*d9d59d10SLuca Weiss			#clock-cells = <0>;
35*d9d59d10SLuca Weiss			clock-frequency = <76800000>;
36*d9d59d10SLuca Weiss		};
37*d9d59d10SLuca Weiss
38*d9d59d10SLuca Weiss		sleep_clk: sleep-clk {
39*d9d59d10SLuca Weiss			compatible = "fixed-clock";
40*d9d59d10SLuca Weiss			#clock-cells = <0>;
41*d9d59d10SLuca Weiss			clock-frequency = <32764>;
42*d9d59d10SLuca Weiss		};
43*d9d59d10SLuca Weiss	};
44*d9d59d10SLuca Weiss
45*d9d59d10SLuca Weiss	cpus {
46*d9d59d10SLuca Weiss		#address-cells = <2>;
47*d9d59d10SLuca Weiss		#size-cells = <0>;
48*d9d59d10SLuca Weiss
49*d9d59d10SLuca Weiss		cpu0: cpu@0 {
50*d9d59d10SLuca Weiss			device_type = "cpu";
51*d9d59d10SLuca Weiss			compatible = "arm,cortex-a520";
52*d9d59d10SLuca Weiss			reg = <0x0 0x0>;
53*d9d59d10SLuca Weiss
54*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 0>;
55*d9d59d10SLuca Weiss
56*d9d59d10SLuca Weiss			power-domains = <&cpu_pd0>;
57*d9d59d10SLuca Weiss			power-domain-names = "psci";
58*d9d59d10SLuca Weiss
59*d9d59d10SLuca Weiss			enable-method = "psci";
60*d9d59d10SLuca Weiss			next-level-cache = <&l2_0>;
61*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1024>;
62*d9d59d10SLuca Weiss			dynamic-power-coefficient = <100>;
63*d9d59d10SLuca Weiss
64*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 0>;
65*d9d59d10SLuca Weiss
66*d9d59d10SLuca Weiss			#cooling-cells = <2>;
67*d9d59d10SLuca Weiss
68*d9d59d10SLuca Weiss			l2_0: l2-cache {
69*d9d59d10SLuca Weiss				compatible = "cache";
70*d9d59d10SLuca Weiss				cache-level = <2>;
71*d9d59d10SLuca Weiss				cache-unified;
72*d9d59d10SLuca Weiss				next-level-cache = <&l3_0>;
73*d9d59d10SLuca Weiss
74*d9d59d10SLuca Weiss				l3_0: l3-cache {
75*d9d59d10SLuca Weiss					compatible = "cache";
76*d9d59d10SLuca Weiss					cache-level = <3>;
77*d9d59d10SLuca Weiss					cache-unified;
78*d9d59d10SLuca Weiss				};
79*d9d59d10SLuca Weiss			};
80*d9d59d10SLuca Weiss		};
81*d9d59d10SLuca Weiss
82*d9d59d10SLuca Weiss		cpu1: cpu@100 {
83*d9d59d10SLuca Weiss			device_type = "cpu";
84*d9d59d10SLuca Weiss			compatible = "arm,cortex-a520";
85*d9d59d10SLuca Weiss			reg = <0x0 0x100>;
86*d9d59d10SLuca Weiss
87*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 0>;
88*d9d59d10SLuca Weiss
89*d9d59d10SLuca Weiss			power-domains = <&cpu_pd1>;
90*d9d59d10SLuca Weiss			power-domain-names = "psci";
91*d9d59d10SLuca Weiss
92*d9d59d10SLuca Weiss			enable-method = "psci";
93*d9d59d10SLuca Weiss			next-level-cache = <&l2_0>;
94*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1024>;
95*d9d59d10SLuca Weiss			dynamic-power-coefficient = <100>;
96*d9d59d10SLuca Weiss
97*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 0>;
98*d9d59d10SLuca Weiss
99*d9d59d10SLuca Weiss			#cooling-cells = <2>;
100*d9d59d10SLuca Weiss		};
101*d9d59d10SLuca Weiss
102*d9d59d10SLuca Weiss		cpu2: cpu@200 {
103*d9d59d10SLuca Weiss			device_type = "cpu";
104*d9d59d10SLuca Weiss			compatible = "arm,cortex-a520";
105*d9d59d10SLuca Weiss			reg = <0x0 0x200>;
106*d9d59d10SLuca Weiss
107*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 0>;
108*d9d59d10SLuca Weiss
109*d9d59d10SLuca Weiss			power-domains = <&cpu_pd2>;
110*d9d59d10SLuca Weiss			power-domain-names = "psci";
111*d9d59d10SLuca Weiss
112*d9d59d10SLuca Weiss			enable-method = "psci";
113*d9d59d10SLuca Weiss			next-level-cache = <&l2_2>;
114*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1024>;
115*d9d59d10SLuca Weiss			dynamic-power-coefficient = <100>;
116*d9d59d10SLuca Weiss
117*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 0>;
118*d9d59d10SLuca Weiss
119*d9d59d10SLuca Weiss			#cooling-cells = <2>;
120*d9d59d10SLuca Weiss
121*d9d59d10SLuca Weiss			l2_2: l2-cache {
122*d9d59d10SLuca Weiss				compatible = "cache";
123*d9d59d10SLuca Weiss				cache-level = <2>;
124*d9d59d10SLuca Weiss				cache-unified;
125*d9d59d10SLuca Weiss				next-level-cache = <&l3_0>;
126*d9d59d10SLuca Weiss			};
127*d9d59d10SLuca Weiss		};
128*d9d59d10SLuca Weiss
129*d9d59d10SLuca Weiss		cpu3: cpu@300 {
130*d9d59d10SLuca Weiss			device_type = "cpu";
131*d9d59d10SLuca Weiss			compatible = "arm,cortex-a520";
132*d9d59d10SLuca Weiss			reg = <0x0 0x300>;
133*d9d59d10SLuca Weiss
134*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 0>;
135*d9d59d10SLuca Weiss
136*d9d59d10SLuca Weiss			power-domains = <&cpu_pd3>;
137*d9d59d10SLuca Weiss			power-domain-names = "psci";
138*d9d59d10SLuca Weiss
139*d9d59d10SLuca Weiss			enable-method = "psci";
140*d9d59d10SLuca Weiss			next-level-cache = <&l2_2>;
141*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1024>;
142*d9d59d10SLuca Weiss			dynamic-power-coefficient = <100>;
143*d9d59d10SLuca Weiss
144*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 0>;
145*d9d59d10SLuca Weiss
146*d9d59d10SLuca Weiss			#cooling-cells = <2>;
147*d9d59d10SLuca Weiss		};
148*d9d59d10SLuca Weiss
149*d9d59d10SLuca Weiss		cpu4: cpu@400 {
150*d9d59d10SLuca Weiss			device_type = "cpu";
151*d9d59d10SLuca Weiss			compatible = "arm,cortex-a720";
152*d9d59d10SLuca Weiss			reg = <0x0 0x400>;
153*d9d59d10SLuca Weiss
154*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 1>;
155*d9d59d10SLuca Weiss
156*d9d59d10SLuca Weiss			power-domains = <&cpu_pd4>;
157*d9d59d10SLuca Weiss			power-domain-names = "psci";
158*d9d59d10SLuca Weiss
159*d9d59d10SLuca Weiss			enable-method = "psci";
160*d9d59d10SLuca Weiss			next-level-cache = <&l2_4>;
161*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1670>;
162*d9d59d10SLuca Weiss			dynamic-power-coefficient = <264>;
163*d9d59d10SLuca Weiss
164*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 1>;
165*d9d59d10SLuca Weiss
166*d9d59d10SLuca Weiss			#cooling-cells = <2>;
167*d9d59d10SLuca Weiss
168*d9d59d10SLuca Weiss			l2_4: l2-cache {
169*d9d59d10SLuca Weiss				compatible = "cache";
170*d9d59d10SLuca Weiss				cache-level = <2>;
171*d9d59d10SLuca Weiss				cache-unified;
172*d9d59d10SLuca Weiss				next-level-cache = <&l3_0>;
173*d9d59d10SLuca Weiss			};
174*d9d59d10SLuca Weiss		};
175*d9d59d10SLuca Weiss
176*d9d59d10SLuca Weiss		cpu5: cpu@500 {
177*d9d59d10SLuca Weiss			device_type = "cpu";
178*d9d59d10SLuca Weiss			compatible = "arm,cortex-a720";
179*d9d59d10SLuca Weiss			reg = <0x0 0x500>;
180*d9d59d10SLuca Weiss
181*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 1>;
182*d9d59d10SLuca Weiss
183*d9d59d10SLuca Weiss			power-domains = <&cpu_pd5>;
184*d9d59d10SLuca Weiss			power-domain-names = "psci";
185*d9d59d10SLuca Weiss
186*d9d59d10SLuca Weiss			enable-method = "psci";
187*d9d59d10SLuca Weiss			next-level-cache = <&l2_5>;
188*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1670>;
189*d9d59d10SLuca Weiss			dynamic-power-coefficient = <264>;
190*d9d59d10SLuca Weiss
191*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 1>;
192*d9d59d10SLuca Weiss
193*d9d59d10SLuca Weiss			#cooling-cells = <2>;
194*d9d59d10SLuca Weiss
195*d9d59d10SLuca Weiss			l2_5: l2-cache {
196*d9d59d10SLuca Weiss				compatible = "cache";
197*d9d59d10SLuca Weiss				cache-level = <2>;
198*d9d59d10SLuca Weiss				cache-unified;
199*d9d59d10SLuca Weiss				next-level-cache = <&l3_0>;
200*d9d59d10SLuca Weiss			};
201*d9d59d10SLuca Weiss		};
202*d9d59d10SLuca Weiss
203*d9d59d10SLuca Weiss		cpu6: cpu@600 {
204*d9d59d10SLuca Weiss			device_type = "cpu";
205*d9d59d10SLuca Weiss			compatible = "arm,cortex-a720";
206*d9d59d10SLuca Weiss			reg = <0x0 0x600>;
207*d9d59d10SLuca Weiss
208*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 1>;
209*d9d59d10SLuca Weiss
210*d9d59d10SLuca Weiss			power-domains = <&cpu_pd6>;
211*d9d59d10SLuca Weiss			power-domain-names = "psci";
212*d9d59d10SLuca Weiss
213*d9d59d10SLuca Weiss			enable-method = "psci";
214*d9d59d10SLuca Weiss			next-level-cache = <&l2_6>;
215*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1670>;
216*d9d59d10SLuca Weiss			dynamic-power-coefficient = <264>;
217*d9d59d10SLuca Weiss
218*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 1>;
219*d9d59d10SLuca Weiss
220*d9d59d10SLuca Weiss			#cooling-cells = <2>;
221*d9d59d10SLuca Weiss
222*d9d59d10SLuca Weiss			l2_6: l2-cache {
223*d9d59d10SLuca Weiss				compatible = "cache";
224*d9d59d10SLuca Weiss				cache-level = <2>;
225*d9d59d10SLuca Weiss				cache-unified;
226*d9d59d10SLuca Weiss				next-level-cache = <&l3_0>;
227*d9d59d10SLuca Weiss			};
228*d9d59d10SLuca Weiss		};
229*d9d59d10SLuca Weiss
230*d9d59d10SLuca Weiss		cpu7: cpu@700 {
231*d9d59d10SLuca Weiss			device_type = "cpu";
232*d9d59d10SLuca Weiss			compatible = "arm,cortex-a720";
233*d9d59d10SLuca Weiss			reg = <0x0 0x700>;
234*d9d59d10SLuca Weiss
235*d9d59d10SLuca Weiss			clocks = <&cpufreq_hw 2>;
236*d9d59d10SLuca Weiss
237*d9d59d10SLuca Weiss			power-domains = <&cpu_pd7>;
238*d9d59d10SLuca Weiss			power-domain-names = "psci";
239*d9d59d10SLuca Weiss
240*d9d59d10SLuca Weiss			enable-method = "psci";
241*d9d59d10SLuca Weiss			next-level-cache = <&l2_7>;
242*d9d59d10SLuca Weiss			capacity-dmips-mhz = <1670>;
243*d9d59d10SLuca Weiss			dynamic-power-coefficient = <287>;
244*d9d59d10SLuca Weiss
245*d9d59d10SLuca Weiss			qcom,freq-domain = <&cpufreq_hw 2>;
246*d9d59d10SLuca Weiss
247*d9d59d10SLuca Weiss			#cooling-cells = <2>;
248*d9d59d10SLuca Weiss
249*d9d59d10SLuca Weiss			l2_7: l2-cache {
250*d9d59d10SLuca Weiss				compatible = "cache";
251*d9d59d10SLuca Weiss				cache-level = <2>;
252*d9d59d10SLuca Weiss				cache-unified;
253*d9d59d10SLuca Weiss				next-level-cache = <&l3_0>;
254*d9d59d10SLuca Weiss			};
255*d9d59d10SLuca Weiss		};
256*d9d59d10SLuca Weiss
257*d9d59d10SLuca Weiss		cpu-map {
258*d9d59d10SLuca Weiss			cluster0 {
259*d9d59d10SLuca Weiss				core0 {
260*d9d59d10SLuca Weiss					cpu = <&cpu0>;
261*d9d59d10SLuca Weiss				};
262*d9d59d10SLuca Weiss
263*d9d59d10SLuca Weiss				core1 {
264*d9d59d10SLuca Weiss					cpu = <&cpu1>;
265*d9d59d10SLuca Weiss				};
266*d9d59d10SLuca Weiss
267*d9d59d10SLuca Weiss				core2 {
268*d9d59d10SLuca Weiss					cpu = <&cpu2>;
269*d9d59d10SLuca Weiss				};
270*d9d59d10SLuca Weiss
271*d9d59d10SLuca Weiss				core3 {
272*d9d59d10SLuca Weiss					cpu = <&cpu3>;
273*d9d59d10SLuca Weiss				};
274*d9d59d10SLuca Weiss			};
275*d9d59d10SLuca Weiss
276*d9d59d10SLuca Weiss			cluster1 {
277*d9d59d10SLuca Weiss				core0 {
278*d9d59d10SLuca Weiss					cpu = <&cpu4>;
279*d9d59d10SLuca Weiss				};
280*d9d59d10SLuca Weiss
281*d9d59d10SLuca Weiss				core1 {
282*d9d59d10SLuca Weiss					cpu = <&cpu5>;
283*d9d59d10SLuca Weiss				};
284*d9d59d10SLuca Weiss
285*d9d59d10SLuca Weiss				core2 {
286*d9d59d10SLuca Weiss					cpu = <&cpu6>;
287*d9d59d10SLuca Weiss				};
288*d9d59d10SLuca Weiss			};
289*d9d59d10SLuca Weiss
290*d9d59d10SLuca Weiss			cluster2 {
291*d9d59d10SLuca Weiss				core0 {
292*d9d59d10SLuca Weiss					cpu = <&cpu7>;
293*d9d59d10SLuca Weiss				};
294*d9d59d10SLuca Weiss			};
295*d9d59d10SLuca Weiss		};
296*d9d59d10SLuca Weiss
297*d9d59d10SLuca Weiss		idle-states {
298*d9d59d10SLuca Weiss			entry-method = "psci";
299*d9d59d10SLuca Weiss
300*d9d59d10SLuca Weiss			silver_cpu_sleep_0: cpu-sleep-0-0 {
301*d9d59d10SLuca Weiss				compatible = "arm,idle-state";
302*d9d59d10SLuca Weiss				idle-state-name = "pc";
303*d9d59d10SLuca Weiss				arm,psci-suspend-param = <0x40000003>;
304*d9d59d10SLuca Weiss				entry-latency-us = <250>;
305*d9d59d10SLuca Weiss				exit-latency-us = <700>;
306*d9d59d10SLuca Weiss				min-residency-us = <5200>;
307*d9d59d10SLuca Weiss				local-timer-stop;
308*d9d59d10SLuca Weiss			};
309*d9d59d10SLuca Weiss
310*d9d59d10SLuca Weiss			silver_cpu_sleep_1: cpu-sleep-0-1 {
311*d9d59d10SLuca Weiss				compatible = "arm,idle-state";
312*d9d59d10SLuca Weiss				idle-state-name = "silver-rail-power-collapse";
313*d9d59d10SLuca Weiss				arm,psci-suspend-param = <0x40000004>;
314*d9d59d10SLuca Weiss				entry-latency-us = <550>;
315*d9d59d10SLuca Weiss				exit-latency-us = <750>;
316*d9d59d10SLuca Weiss				min-residency-us = <6700>;
317*d9d59d10SLuca Weiss				local-timer-stop;
318*d9d59d10SLuca Weiss			};
319*d9d59d10SLuca Weiss
320*d9d59d10SLuca Weiss			gold_cpu_sleep_0: cpu-sleep-1-0 {
321*d9d59d10SLuca Weiss				compatible = "arm,idle-state";
322*d9d59d10SLuca Weiss				idle-state-name = "silver-power-collapse";
323*d9d59d10SLuca Weiss				arm,psci-suspend-param = <0x40000003>;
324*d9d59d10SLuca Weiss				entry-latency-us = <400>;
325*d9d59d10SLuca Weiss				exit-latency-us = <900>;
326*d9d59d10SLuca Weiss				min-residency-us = <5511>;
327*d9d59d10SLuca Weiss				local-timer-stop;
328*d9d59d10SLuca Weiss			};
329*d9d59d10SLuca Weiss
330*d9d59d10SLuca Weiss			gold_cpu_sleep_1: cpu-sleep-1-1 {
331*d9d59d10SLuca Weiss				compatible = "arm,idle-state";
332*d9d59d10SLuca Weiss				idle-state-name = "gold-rail-power-collapse";
333*d9d59d10SLuca Weiss				arm,psci-suspend-param = <0x40000004>;
334*d9d59d10SLuca Weiss				entry-latency-us = <600>;
335*d9d59d10SLuca Weiss				exit-latency-us = <1300>;
336*d9d59d10SLuca Weiss				min-residency-us = <8136>;
337*d9d59d10SLuca Weiss				local-timer-stop;
338*d9d59d10SLuca Weiss			};
339*d9d59d10SLuca Weiss
340*d9d59d10SLuca Weiss			gold_plus_cpu_sleep_0: cpu-sleep-2-0 {
341*d9d59d10SLuca Weiss				compatible = "arm,idle-state";
342*d9d59d10SLuca Weiss				idle-state-name = "gold-plus-rail-power-collapse";
343*d9d59d10SLuca Weiss				arm,psci-suspend-param = <0x40000004>;
344*d9d59d10SLuca Weiss				entry-latency-us = <600>;
345*d9d59d10SLuca Weiss				exit-latency-us = <1500>;
346*d9d59d10SLuca Weiss				min-residency-us = <8551>;
347*d9d59d10SLuca Weiss				local-timer-stop;
348*d9d59d10SLuca Weiss			};
349*d9d59d10SLuca Weiss		};
350*d9d59d10SLuca Weiss
351*d9d59d10SLuca Weiss		domain-idle-states {
352*d9d59d10SLuca Weiss			cluster_sleep_0: cluster-sleep-0 {
353*d9d59d10SLuca Weiss				compatible = "domain-idle-state";
354*d9d59d10SLuca Weiss				arm,psci-suspend-param = <0x41000044>;
355*d9d59d10SLuca Weiss				entry-latency-us = <750>;
356*d9d59d10SLuca Weiss				exit-latency-us = <2350>;
357*d9d59d10SLuca Weiss				min-residency-us = <9144>;
358*d9d59d10SLuca Weiss			};
359*d9d59d10SLuca Weiss
360*d9d59d10SLuca Weiss			cluster_sleep_1: cluster-sleep-1 {
361*d9d59d10SLuca Weiss				compatible = "domain-idle-state";
362*d9d59d10SLuca Weiss				arm,psci-suspend-param = <0x41003344>;
363*d9d59d10SLuca Weiss				entry-latency-us = <2800>;
364*d9d59d10SLuca Weiss				exit-latency-us = <4400>;
365*d9d59d10SLuca Weiss				min-residency-us = <10150>;
366*d9d59d10SLuca Weiss			};
367*d9d59d10SLuca Weiss		};
368*d9d59d10SLuca Weiss	};
369*d9d59d10SLuca Weiss
370*d9d59d10SLuca Weiss	firmware {
371*d9d59d10SLuca Weiss		scm: scm {
372*d9d59d10SLuca Weiss			compatible = "qcom,scm-milos", "qcom,scm";
373*d9d59d10SLuca Weiss			qcom,dload-mode = <&tcsr 0x19000>;
374*d9d59d10SLuca Weiss		};
375*d9d59d10SLuca Weiss	};
376*d9d59d10SLuca Weiss
377*d9d59d10SLuca Weiss	clk_virt: interconnect-0 {
378*d9d59d10SLuca Weiss		compatible = "qcom,milos-clk-virt";
379*d9d59d10SLuca Weiss		#interconnect-cells = <2>;
380*d9d59d10SLuca Weiss		qcom,bcm-voters = <&apps_bcm_voter>;
381*d9d59d10SLuca Weiss	};
382*d9d59d10SLuca Weiss
383*d9d59d10SLuca Weiss	mc_virt: interconnect-1 {
384*d9d59d10SLuca Weiss		compatible = "qcom,milos-mc-virt";
385*d9d59d10SLuca Weiss		#interconnect-cells = <2>;
386*d9d59d10SLuca Weiss		qcom,bcm-voters = <&apps_bcm_voter>;
387*d9d59d10SLuca Weiss	};
388*d9d59d10SLuca Weiss
389*d9d59d10SLuca Weiss	memory@0 {
390*d9d59d10SLuca Weiss		device_type = "memory";
391*d9d59d10SLuca Weiss		/* We expect the bootloader to fill in the size */
392*d9d59d10SLuca Weiss		reg = <0 0 0 0>;
393*d9d59d10SLuca Weiss	};
394*d9d59d10SLuca Weiss
395*d9d59d10SLuca Weiss	pmu-a520 {
396*d9d59d10SLuca Weiss		compatible = "arm,cortex-a520-pmu";
397*d9d59d10SLuca Weiss		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
398*d9d59d10SLuca Weiss	};
399*d9d59d10SLuca Weiss
400*d9d59d10SLuca Weiss	pmu-a720 {
401*d9d59d10SLuca Weiss		compatible = "arm,cortex-a720-pmu";
402*d9d59d10SLuca Weiss		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
403*d9d59d10SLuca Weiss	};
404*d9d59d10SLuca Weiss
405*d9d59d10SLuca Weiss	psci {
406*d9d59d10SLuca Weiss		compatible = "arm,psci-1.0";
407*d9d59d10SLuca Weiss		method = "smc";
408*d9d59d10SLuca Weiss
409*d9d59d10SLuca Weiss		cpu_pd0: power-domain-cpu0 {
410*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
411*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
412*d9d59d10SLuca Weiss			domain-idle-states = <&silver_cpu_sleep_0>, <&silver_cpu_sleep_1>;
413*d9d59d10SLuca Weiss		};
414*d9d59d10SLuca Weiss
415*d9d59d10SLuca Weiss		cpu_pd1: power-domain-cpu1 {
416*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
417*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
418*d9d59d10SLuca Weiss			domain-idle-states = <&silver_cpu_sleep_0>, <&silver_cpu_sleep_1>;
419*d9d59d10SLuca Weiss		};
420*d9d59d10SLuca Weiss
421*d9d59d10SLuca Weiss		cpu_pd2: power-domain-cpu2 {
422*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
423*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
424*d9d59d10SLuca Weiss			domain-idle-states = <&silver_cpu_sleep_0>, <&silver_cpu_sleep_1>;
425*d9d59d10SLuca Weiss		};
426*d9d59d10SLuca Weiss
427*d9d59d10SLuca Weiss		cpu_pd3: power-domain-cpu3 {
428*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
429*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
430*d9d59d10SLuca Weiss			domain-idle-states = <&silver_cpu_sleep_0>, <&silver_cpu_sleep_1>;
431*d9d59d10SLuca Weiss		};
432*d9d59d10SLuca Weiss
433*d9d59d10SLuca Weiss		cpu_pd4: power-domain-cpu4 {
434*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
435*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
436*d9d59d10SLuca Weiss			domain-idle-states = <&gold_cpu_sleep_0>, <&gold_cpu_sleep_1>;
437*d9d59d10SLuca Weiss		};
438*d9d59d10SLuca Weiss
439*d9d59d10SLuca Weiss		cpu_pd5: power-domain-cpu5 {
440*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
441*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
442*d9d59d10SLuca Weiss			domain-idle-states = <&gold_cpu_sleep_0>, <&gold_cpu_sleep_1>;
443*d9d59d10SLuca Weiss		};
444*d9d59d10SLuca Weiss
445*d9d59d10SLuca Weiss		cpu_pd6: power-domain-cpu6 {
446*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
447*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
448*d9d59d10SLuca Weiss			domain-idle-states = <&gold_cpu_sleep_0>, <&gold_cpu_sleep_1>;
449*d9d59d10SLuca Weiss		};
450*d9d59d10SLuca Weiss
451*d9d59d10SLuca Weiss		cpu_pd7: power-domain-cpu7 {
452*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
453*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
454*d9d59d10SLuca Weiss			domain-idle-states = <&gold_plus_cpu_sleep_0>;
455*d9d59d10SLuca Weiss		};
456*d9d59d10SLuca Weiss
457*d9d59d10SLuca Weiss		cluster_pd: power-domain-cluster {
458*d9d59d10SLuca Weiss			#power-domain-cells = <0>;
459*d9d59d10SLuca Weiss			domain-idle-states = <&cluster_sleep_0>, <&cluster_sleep_1>;
460*d9d59d10SLuca Weiss		};
461*d9d59d10SLuca Weiss	};
462*d9d59d10SLuca Weiss
463*d9d59d10SLuca Weiss	reserved-memory {
464*d9d59d10SLuca Weiss		#address-cells = <2>;
465*d9d59d10SLuca Weiss		#size-cells = <2>;
466*d9d59d10SLuca Weiss		ranges;
467*d9d59d10SLuca Weiss
468*d9d59d10SLuca Weiss		gunyah_hyp_mem: gunyah-hyp-region@80000000 {
469*d9d59d10SLuca Weiss			reg = <0x0 0x80000000 0x0 0xe00000>;
470*d9d59d10SLuca Weiss			no-map;
471*d9d59d10SLuca Weiss		};
472*d9d59d10SLuca Weiss
473*d9d59d10SLuca Weiss		xbl_sc_mem: xbl-sc-region@81800000 {
474*d9d59d10SLuca Weiss			reg = <0x0 0x81800000 0x0 0x40000>;
475*d9d59d10SLuca Weiss			no-map;
476*d9d59d10SLuca Weiss		};
477*d9d59d10SLuca Weiss
478*d9d59d10SLuca Weiss		cpucp_fw_mem: cpucp-fw-region@81840000 {
479*d9d59d10SLuca Weiss			reg = <0x0 0x81840000 0x0 0x1c0000>;
480*d9d59d10SLuca Weiss			no-map;
481*d9d59d10SLuca Weiss		};
482*d9d59d10SLuca Weiss
483*d9d59d10SLuca Weiss		xbl_dtlog_mem: xbl-dtlog-region@81a00000 {
484*d9d59d10SLuca Weiss			reg = <0x0 0x81a00000 0x0 0x40000>;
485*d9d59d10SLuca Weiss			no-map;
486*d9d59d10SLuca Weiss		};
487*d9d59d10SLuca Weiss
488*d9d59d10SLuca Weiss		xbl_ramdump_mem: xbl-ramdump-region@81a40000 {
489*d9d59d10SLuca Weiss			reg = <0x0 0x81a40000 0x0 0x1c0000>;
490*d9d59d10SLuca Weiss			no-map;
491*d9d59d10SLuca Weiss		};
492*d9d59d10SLuca Weiss
493*d9d59d10SLuca Weiss		aop_image_mem: aop-image-region@81c00000 {
494*d9d59d10SLuca Weiss			reg = <0x0 0x81c00000 0x0 0x60000>;
495*d9d59d10SLuca Weiss			no-map;
496*d9d59d10SLuca Weiss		};
497*d9d59d10SLuca Weiss
498*d9d59d10SLuca Weiss		aop_cmd_db_mem: aop-cmd-db-region@81c60000 {
499*d9d59d10SLuca Weiss			compatible = "qcom,cmd-db";
500*d9d59d10SLuca Weiss			reg = <0x0 0x81c60000 0x0 0x20000>;
501*d9d59d10SLuca Weiss			no-map;
502*d9d59d10SLuca Weiss		};
503*d9d59d10SLuca Weiss
504*d9d59d10SLuca Weiss		aop_config_mem: aop-config-region@81c80000 {
505*d9d59d10SLuca Weiss			reg = <0x0 0x81c80000 0x0 0x20000>;
506*d9d59d10SLuca Weiss			no-map;
507*d9d59d10SLuca Weiss		};
508*d9d59d10SLuca Weiss
509*d9d59d10SLuca Weiss		tme_crash_dump_mem: tme-crash-dump-region@81ca0000 {
510*d9d59d10SLuca Weiss			reg = <0x0 0x81ca0000 0x0 0x40000>;
511*d9d59d10SLuca Weiss			no-map;
512*d9d59d10SLuca Weiss		};
513*d9d59d10SLuca Weiss
514*d9d59d10SLuca Weiss		tme_log_mem: tme-log-region@81ce0000 {
515*d9d59d10SLuca Weiss			reg = <0x0 0x81ce0000 0x0 0x4000>;
516*d9d59d10SLuca Weiss			no-map;
517*d9d59d10SLuca Weiss		};
518*d9d59d10SLuca Weiss
519*d9d59d10SLuca Weiss		uefi_log_mem: uefi-log-region@81ce4000 {
520*d9d59d10SLuca Weiss			reg = <0x0 0x81ce4000 0x0 0x10000>;
521*d9d59d10SLuca Weiss			no-map;
522*d9d59d10SLuca Weiss		};
523*d9d59d10SLuca Weiss
524*d9d59d10SLuca Weiss		chipinfo_mem: chipinfo-region@81cf4000 {
525*d9d59d10SLuca Weiss			reg = <0x0 0x81cf4000 0x0 0x1000>;
526*d9d59d10SLuca Weiss			no-map;
527*d9d59d10SLuca Weiss		};
528*d9d59d10SLuca Weiss
529*d9d59d10SLuca Weiss		secdata_apss_mem: secdata-apss-region@81cff000 {
530*d9d59d10SLuca Weiss			reg = <0x0 0x81cff000 0x0 0x1000>;
531*d9d59d10SLuca Weiss			no-map;
532*d9d59d10SLuca Weiss		};
533*d9d59d10SLuca Weiss
534*d9d59d10SLuca Weiss		smem_mem: smem-region@81d00000 {
535*d9d59d10SLuca Weiss			compatible = "qcom,smem";
536*d9d59d10SLuca Weiss			reg = <0x0 0x81d00000 0x0 0x200000>;
537*d9d59d10SLuca Weiss			hwlocks = <&tcsr_mutex 3>;
538*d9d59d10SLuca Weiss			no-map;
539*d9d59d10SLuca Weiss		};
540*d9d59d10SLuca Weiss
541*d9d59d10SLuca Weiss		adsp_mhi_mem: adsp-mhi-region@81f00000 {
542*d9d59d10SLuca Weiss			reg = <0x0 0x81f00000 0x0 0x20000>;
543*d9d59d10SLuca Weiss			no-map;
544*d9d59d10SLuca Weiss		};
545*d9d59d10SLuca Weiss
546*d9d59d10SLuca Weiss		pvm_fw_mem: pvm-fw-region@824a0000 {
547*d9d59d10SLuca Weiss			reg = <0x0 0x824a0000 0x0 0x100000>;
548*d9d59d10SLuca Weiss			no-map;
549*d9d59d10SLuca Weiss		};
550*d9d59d10SLuca Weiss
551*d9d59d10SLuca Weiss		hyp_mem_database_mem: hyp-mem-database-region@825a0000 {
552*d9d59d10SLuca Weiss			reg = <0x0 0x825a0000 0x0 0x60000>;
553*d9d59d10SLuca Weiss			no-map;
554*d9d59d10SLuca Weiss		};
555*d9d59d10SLuca Weiss
556*d9d59d10SLuca Weiss		global_sync_mem: global-sync-region@82600000 {
557*d9d59d10SLuca Weiss			reg = <0x0 0x82600000 0x0 0x100000>;
558*d9d59d10SLuca Weiss			no-map;
559*d9d59d10SLuca Weiss		};
560*d9d59d10SLuca Weiss
561*d9d59d10SLuca Weiss		tz_stat_mem: tz-stat-region@82700000 {
562*d9d59d10SLuca Weiss			reg = <0x0 0x82700000 0x0 0x100000>;
563*d9d59d10SLuca Weiss			no-map;
564*d9d59d10SLuca Weiss		};
565*d9d59d10SLuca Weiss
566*d9d59d10SLuca Weiss		qdss_apps_mem: qdss-apps-region@82800000 {
567*d9d59d10SLuca Weiss			reg = <0x0 0x82800000 0x0 0x2000000>;
568*d9d59d10SLuca Weiss			reusable;
569*d9d59d10SLuca Weiss		};
570*d9d59d10SLuca Weiss
571*d9d59d10SLuca Weiss		mpss_mem: mpss-region@8ac00000 {
572*d9d59d10SLuca Weiss			reg = <0x0 0x8ac00000 0x0 0xe600000>;
573*d9d59d10SLuca Weiss			no-map;
574*d9d59d10SLuca Weiss		};
575*d9d59d10SLuca Weiss
576*d9d59d10SLuca Weiss		q6_mpss_dtb_mem: q6-mpss-dtb-region@99200000 {
577*d9d59d10SLuca Weiss			reg = <0x0 0x99200000 0x0 0x80000>;
578*d9d59d10SLuca Weiss			no-map;
579*d9d59d10SLuca Weiss		};
580*d9d59d10SLuca Weiss
581*d9d59d10SLuca Weiss		q6_adsp_dtb_mem: q6-adsp-dtb-region@99280000 {
582*d9d59d10SLuca Weiss			reg = <0x0 0x99280000 0x0 0x80000>;
583*d9d59d10SLuca Weiss			no-map;
584*d9d59d10SLuca Weiss		};
585*d9d59d10SLuca Weiss
586*d9d59d10SLuca Weiss		adspslpi_mem: adspslpi-region@99300000 {
587*d9d59d10SLuca Weiss			reg = <0x0 0x99300000 0x0 0x2800000>;
588*d9d59d10SLuca Weiss			no-map;
589*d9d59d10SLuca Weiss		};
590*d9d59d10SLuca Weiss
591*d9d59d10SLuca Weiss		wpss_mem: wpss-region@9bb00000 {
592*d9d59d10SLuca Weiss			reg = <0x0 0x9bb00000 0x0 0x1900000>;
593*d9d59d10SLuca Weiss			no-map;
594*d9d59d10SLuca Weiss		};
595*d9d59d10SLuca Weiss
596*d9d59d10SLuca Weiss		video_mem: video-region@9d400000 {
597*d9d59d10SLuca Weiss			reg = <0x0 0x9d400000 0x0 0x700000>;
598*d9d59d10SLuca Weiss			no-map;
599*d9d59d10SLuca Weiss		};
600*d9d59d10SLuca Weiss
601*d9d59d10SLuca Weiss		cdsp_mem: cdsp-region@9db00000 {
602*d9d59d10SLuca Weiss			reg = <0x0 0x9db00000 0x0 0xf00000>;
603*d9d59d10SLuca Weiss			no-map;
604*d9d59d10SLuca Weiss		};
605*d9d59d10SLuca Weiss
606*d9d59d10SLuca Weiss		q6_cdsp_dtb_mem: q6-cdsp-dtb-region@9ea00000 {
607*d9d59d10SLuca Weiss			reg = <0x0 0x9ea00000 0x0 0x80000>;
608*d9d59d10SLuca Weiss			no-map;
609*d9d59d10SLuca Weiss		};
610*d9d59d10SLuca Weiss
611*d9d59d10SLuca Weiss		ipa_fw_mem: ipa-fw-region@9ea80000 {
612*d9d59d10SLuca Weiss			reg = <0x0 0x9ea80000 0x0 0x10000>;
613*d9d59d10SLuca Weiss			no-map;
614*d9d59d10SLuca Weiss		};
615*d9d59d10SLuca Weiss
616*d9d59d10SLuca Weiss		ipa_gsi_mem: ipa-gsi-region@9ea90000 {
617*d9d59d10SLuca Weiss			reg = <0x0 0x9ea90000 0x0 0xa000>;
618*d9d59d10SLuca Weiss			no-map;
619*d9d59d10SLuca Weiss		};
620*d9d59d10SLuca Weiss
621*d9d59d10SLuca Weiss		gpu_microcode_mem: gpu-microcode-region@9ea9a000 {
622*d9d59d10SLuca Weiss			reg = <0x0 0x9ea9a000 0x0 0x2000>;
623*d9d59d10SLuca Weiss			no-map;
624*d9d59d10SLuca Weiss		};
625*d9d59d10SLuca Weiss
626*d9d59d10SLuca Weiss		camera_mem: camera-region@9eb00000 {
627*d9d59d10SLuca Weiss			reg = <0x0 0x9eb00000 0x0 0x800000>;
628*d9d59d10SLuca Weiss			no-map;
629*d9d59d10SLuca Weiss		};
630*d9d59d10SLuca Weiss
631*d9d59d10SLuca Weiss		wlan_msa_mem: wlan-msa-region@a6400000 {
632*d9d59d10SLuca Weiss			reg = <0x0 0xa6400000 0x0 0xc00000>;
633*d9d59d10SLuca Weiss			no-map;
634*d9d59d10SLuca Weiss		};
635*d9d59d10SLuca Weiss
636*d9d59d10SLuca Weiss		cpusys_vm_mem: cpusys-vm-region@e0600000 {
637*d9d59d10SLuca Weiss			reg = <0x0 0xe0600000 0x0 0x400000>;
638*d9d59d10SLuca Weiss			no-map;
639*d9d59d10SLuca Weiss		};
640*d9d59d10SLuca Weiss
641*d9d59d10SLuca Weiss		rmtfs_mem: rmtfs@e1f00000 {
642*d9d59d10SLuca Weiss			compatible = "qcom,rmtfs-mem";
643*d9d59d10SLuca Weiss			reg = <0x0 0xe1f00000 0x0 0x600000>;
644*d9d59d10SLuca Weiss			no-map;
645*d9d59d10SLuca Weiss
646*d9d59d10SLuca Weiss			qcom,client-id = <1>;
647*d9d59d10SLuca Weiss			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
648*d9d59d10SLuca Weiss		};
649*d9d59d10SLuca Weiss
650*d9d59d10SLuca Weiss		qtee_mem: qtee-region@e8900000 {
651*d9d59d10SLuca Weiss			reg = <0x0 0xe8900000 0x0 0x500000>;
652*d9d59d10SLuca Weiss			no-map;
653*d9d59d10SLuca Weiss		};
654*d9d59d10SLuca Weiss
655*d9d59d10SLuca Weiss		tags_mem: tags-region@e8e00000 {
656*d9d59d10SLuca Weiss			reg = <0x0 0xe8e00000 0x0 0x700000>;
657*d9d59d10SLuca Weiss			no-map;
658*d9d59d10SLuca Weiss		};
659*d9d59d10SLuca Weiss
660*d9d59d10SLuca Weiss		trusted_apps_mem: trusted-apps-region@e9500000 {
661*d9d59d10SLuca Weiss			reg = <0x0 0xe9500000 0x0 0x1200000>;
662*d9d59d10SLuca Weiss			no-map;
663*d9d59d10SLuca Weiss		};
664*d9d59d10SLuca Weiss	};
665*d9d59d10SLuca Weiss
666*d9d59d10SLuca Weiss	smp2p-adsp {
667*d9d59d10SLuca Weiss		compatible = "qcom,smp2p";
668*d9d59d10SLuca Weiss		qcom,smem = <443>, <429>;
669*d9d59d10SLuca Weiss		interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
670*d9d59d10SLuca Weiss					     IPCC_MPROC_SIGNAL_SMP2P
671*d9d59d10SLuca Weiss					     IRQ_TYPE_EDGE_RISING>;
672*d9d59d10SLuca Weiss		mboxes = <&ipcc IPCC_CLIENT_LPASS
673*d9d59d10SLuca Weiss				IPCC_MPROC_SIGNAL_SMP2P>;
674*d9d59d10SLuca Weiss
675*d9d59d10SLuca Weiss		qcom,local-pid = <0>;
676*d9d59d10SLuca Weiss		qcom,remote-pid = <2>;
677*d9d59d10SLuca Weiss
678*d9d59d10SLuca Weiss		smp2p_adsp_out: master-kernel {
679*d9d59d10SLuca Weiss			qcom,entry-name = "master-kernel";
680*d9d59d10SLuca Weiss			#qcom,smem-state-cells = <1>;
681*d9d59d10SLuca Weiss		};
682*d9d59d10SLuca Weiss
683*d9d59d10SLuca Weiss		smp2p_adsp_in: slave-kernel {
684*d9d59d10SLuca Weiss			qcom,entry-name = "slave-kernel";
685*d9d59d10SLuca Weiss			interrupt-controller;
686*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
687*d9d59d10SLuca Weiss		};
688*d9d59d10SLuca Weiss	};
689*d9d59d10SLuca Weiss
690*d9d59d10SLuca Weiss	smp2p-cdsp {
691*d9d59d10SLuca Weiss		compatible = "qcom,smp2p";
692*d9d59d10SLuca Weiss		qcom,smem = <94>, <432>;
693*d9d59d10SLuca Weiss		interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
694*d9d59d10SLuca Weiss					     IPCC_MPROC_SIGNAL_SMP2P
695*d9d59d10SLuca Weiss					     IRQ_TYPE_EDGE_RISING>;
696*d9d59d10SLuca Weiss		mboxes = <&ipcc IPCC_CLIENT_CDSP
697*d9d59d10SLuca Weiss				IPCC_MPROC_SIGNAL_SMP2P>;
698*d9d59d10SLuca Weiss
699*d9d59d10SLuca Weiss		qcom,local-pid = <0>;
700*d9d59d10SLuca Weiss		qcom,remote-pid = <5>;
701*d9d59d10SLuca Weiss
702*d9d59d10SLuca Weiss		smp2p_cdsp_out: master-kernel {
703*d9d59d10SLuca Weiss			qcom,entry-name = "master-kernel";
704*d9d59d10SLuca Weiss			#qcom,smem-state-cells = <1>;
705*d9d59d10SLuca Weiss		};
706*d9d59d10SLuca Weiss
707*d9d59d10SLuca Weiss		smp2p_cdsp_in: slave-kernel {
708*d9d59d10SLuca Weiss			qcom,entry-name = "slave-kernel";
709*d9d59d10SLuca Weiss			interrupt-controller;
710*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
711*d9d59d10SLuca Weiss		};
712*d9d59d10SLuca Weiss	};
713*d9d59d10SLuca Weiss
714*d9d59d10SLuca Weiss	smp2p-modem {
715*d9d59d10SLuca Weiss		compatible = "qcom,smp2p";
716*d9d59d10SLuca Weiss		qcom,smem = <435>, <428>;
717*d9d59d10SLuca Weiss		interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
718*d9d59d10SLuca Weiss					     IPCC_MPROC_SIGNAL_SMP2P
719*d9d59d10SLuca Weiss					     IRQ_TYPE_EDGE_RISING>;
720*d9d59d10SLuca Weiss		mboxes = <&ipcc IPCC_CLIENT_MPSS
721*d9d59d10SLuca Weiss				IPCC_MPROC_SIGNAL_SMP2P>;
722*d9d59d10SLuca Weiss
723*d9d59d10SLuca Weiss		qcom,local-pid = <0>;
724*d9d59d10SLuca Weiss		qcom,remote-pid = <1>;
725*d9d59d10SLuca Weiss
726*d9d59d10SLuca Weiss		smp2p_modem_out: master-kernel {
727*d9d59d10SLuca Weiss			qcom,entry-name = "master-kernel";
728*d9d59d10SLuca Weiss			#qcom,smem-state-cells = <1>;
729*d9d59d10SLuca Weiss		};
730*d9d59d10SLuca Weiss
731*d9d59d10SLuca Weiss		smp2p_modem_in: slave-kernel {
732*d9d59d10SLuca Weiss			qcom,entry-name = "slave-kernel";
733*d9d59d10SLuca Weiss			interrupt-controller;
734*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
735*d9d59d10SLuca Weiss		};
736*d9d59d10SLuca Weiss
737*d9d59d10SLuca Weiss		smp2p_ipa_out: ipa-ap-to-modem {
738*d9d59d10SLuca Weiss			qcom,entry-name = "ipa";
739*d9d59d10SLuca Weiss			#qcom,smem-state-cells = <1>;
740*d9d59d10SLuca Weiss		};
741*d9d59d10SLuca Weiss
742*d9d59d10SLuca Weiss		smp2p_ipa_in: ipa-modem-to-ap {
743*d9d59d10SLuca Weiss			qcom,entry-name = "ipa";
744*d9d59d10SLuca Weiss			interrupt-controller;
745*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
746*d9d59d10SLuca Weiss		};
747*d9d59d10SLuca Weiss	};
748*d9d59d10SLuca Weiss
749*d9d59d10SLuca Weiss	smp2p-wpss {
750*d9d59d10SLuca Weiss		compatible = "qcom,smp2p";
751*d9d59d10SLuca Weiss		qcom,smem = <617>, <616>;
752*d9d59d10SLuca Weiss		interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
753*d9d59d10SLuca Weiss					     IPCC_MPROC_SIGNAL_SMP2P
754*d9d59d10SLuca Weiss					     IRQ_TYPE_EDGE_RISING>;
755*d9d59d10SLuca Weiss		mboxes = <&ipcc IPCC_CLIENT_WPSS
756*d9d59d10SLuca Weiss				IPCC_MPROC_SIGNAL_SMP2P>;
757*d9d59d10SLuca Weiss
758*d9d59d10SLuca Weiss		qcom,local-pid = <0>;
759*d9d59d10SLuca Weiss		qcom,remote-pid = <13>;
760*d9d59d10SLuca Weiss
761*d9d59d10SLuca Weiss		smp2p_wpss_out: master-kernel {
762*d9d59d10SLuca Weiss			qcom,entry-name = "master-kernel";
763*d9d59d10SLuca Weiss			#qcom,smem-state-cells = <1>;
764*d9d59d10SLuca Weiss		};
765*d9d59d10SLuca Weiss
766*d9d59d10SLuca Weiss		smp2p_wpss_in: slave-kernel {
767*d9d59d10SLuca Weiss			qcom,entry-name = "slave-kernel";
768*d9d59d10SLuca Weiss			interrupt-controller;
769*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
770*d9d59d10SLuca Weiss		};
771*d9d59d10SLuca Weiss
772*d9d59d10SLuca Weiss		smp2p_wlan_out: wlan-ap-to-wpss {
773*d9d59d10SLuca Weiss			qcom,entry-name = "wlan";
774*d9d59d10SLuca Weiss			#qcom,smem-state-cells = <1>;
775*d9d59d10SLuca Weiss		};
776*d9d59d10SLuca Weiss
777*d9d59d10SLuca Weiss		smp2p_wlan_in: wlan-wpss-to-ap {
778*d9d59d10SLuca Weiss			qcom,entry-name = "wlan";
779*d9d59d10SLuca Weiss			interrupt-controller;
780*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
781*d9d59d10SLuca Weiss		};
782*d9d59d10SLuca Weiss	};
783*d9d59d10SLuca Weiss
784*d9d59d10SLuca Weiss	soc: soc@0 {
785*d9d59d10SLuca Weiss		compatible = "simple-bus";
786*d9d59d10SLuca Weiss
787*d9d59d10SLuca Weiss		#address-cells = <2>;
788*d9d59d10SLuca Weiss		#size-cells = <2>;
789*d9d59d10SLuca Weiss		dma-ranges = <0 0 0 0 0x10 0>;
790*d9d59d10SLuca Weiss		ranges = <0 0 0 0 0x10 0>;
791*d9d59d10SLuca Weiss
792*d9d59d10SLuca Weiss		gcc: clock-controller@100000 {
793*d9d59d10SLuca Weiss			compatible = "qcom,milos-gcc";
794*d9d59d10SLuca Weiss			reg = <0x0 0x00100000 0x0 0x1f4200>;
795*d9d59d10SLuca Weiss
796*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>,
797*d9d59d10SLuca Weiss				 <&sleep_clk>,
798*d9d59d10SLuca Weiss				 <0>, /* pcie_0_pipe_clk */
799*d9d59d10SLuca Weiss				 <0>, /* pcie_1_pipe_clk */
800*d9d59d10SLuca Weiss				 <0>, /* ufs_phy_rx_symbol_0_clk */
801*d9d59d10SLuca Weiss				 <0>, /* ufs_phy_rx_symbol_1_clk */
802*d9d59d10SLuca Weiss				 <0>, /* ufs_phy_tx_symbol_0_clk */
803*d9d59d10SLuca Weiss				 <0>; /* usb3_phy_wrapper_gcc_usb30_pipe_clk */
804*d9d59d10SLuca Weiss
805*d9d59d10SLuca Weiss			#clock-cells = <1>;
806*d9d59d10SLuca Weiss			#reset-cells = <1>;
807*d9d59d10SLuca Weiss			#power-domain-cells = <1>;
808*d9d59d10SLuca Weiss		};
809*d9d59d10SLuca Weiss
810*d9d59d10SLuca Weiss		ipcc: mailbox@405000 {
811*d9d59d10SLuca Weiss			compatible = "qcom,milos-ipcc", "qcom,ipcc";
812*d9d59d10SLuca Weiss			reg = <0x0 0x00405000 0x0 0x1000>;
813*d9d59d10SLuca Weiss
814*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH 0>;
815*d9d59d10SLuca Weiss			interrupt-controller;
816*d9d59d10SLuca Weiss			#interrupt-cells = <3>;
817*d9d59d10SLuca Weiss
818*d9d59d10SLuca Weiss			#mbox-cells = <2>;
819*d9d59d10SLuca Weiss		};
820*d9d59d10SLuca Weiss
821*d9d59d10SLuca Weiss		gpi_dma1: dma-controller@800000 {
822*d9d59d10SLuca Weiss			compatible = "qcom,milos-gpi-dma", "qcom,sm6350-gpi-dma";
823*d9d59d10SLuca Weiss			reg = <0x0 0x00800000 0x0 0x60000>;
824*d9d59d10SLuca Weiss
825*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH 0>,
826*d9d59d10SLuca Weiss				     <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH 0>,
827*d9d59d10SLuca Weiss				     <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH 0>,
828*d9d59d10SLuca Weiss				     <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH 0>,
829*d9d59d10SLuca Weiss				     <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH 0>,
830*d9d59d10SLuca Weiss				     <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH 0>,
831*d9d59d10SLuca Weiss				     <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH 0>,
832*d9d59d10SLuca Weiss				     <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH 0>,
833*d9d59d10SLuca Weiss				     <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH 0>,
834*d9d59d10SLuca Weiss				     <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH 0>,
835*d9d59d10SLuca Weiss				     <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH 0>,
836*d9d59d10SLuca Weiss				     <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH 0>;
837*d9d59d10SLuca Weiss
838*d9d59d10SLuca Weiss			dma-channels = <12>;
839*d9d59d10SLuca Weiss			dma-channel-mask = <0x3f>;
840*d9d59d10SLuca Weiss			#dma-cells = <3>;
841*d9d59d10SLuca Weiss
842*d9d59d10SLuca Weiss			iommus = <&apps_smmu 0x36 0x0>;
843*d9d59d10SLuca Weiss			dma-coherent;
844*d9d59d10SLuca Weiss		};
845*d9d59d10SLuca Weiss
846*d9d59d10SLuca Weiss		qupv3_id_1: geniqup@8c0000 {
847*d9d59d10SLuca Weiss			compatible = "qcom,geni-se-qup";
848*d9d59d10SLuca Weiss			reg = <0x0 0x008c0000 0x0 0x2000>;
849*d9d59d10SLuca Weiss
850*d9d59d10SLuca Weiss			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
851*d9d59d10SLuca Weiss				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
852*d9d59d10SLuca Weiss			clock-names = "m-ahb",
853*d9d59d10SLuca Weiss				      "s-ahb";
854*d9d59d10SLuca Weiss
855*d9d59d10SLuca Weiss			interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
856*d9d59d10SLuca Weiss					 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>;
857*d9d59d10SLuca Weiss			interconnect-names = "qup-core";
858*d9d59d10SLuca Weiss
859*d9d59d10SLuca Weiss			iommus = <&apps_smmu 0x23 0>;
860*d9d59d10SLuca Weiss
861*d9d59d10SLuca Weiss			dma-coherent;
862*d9d59d10SLuca Weiss
863*d9d59d10SLuca Weiss			#address-cells = <2>;
864*d9d59d10SLuca Weiss			#size-cells = <2>;
865*d9d59d10SLuca Weiss			ranges;
866*d9d59d10SLuca Weiss
867*d9d59d10SLuca Weiss			status = "disabled";
868*d9d59d10SLuca Weiss
869*d9d59d10SLuca Weiss			i2c7: i2c@880000 {
870*d9d59d10SLuca Weiss				compatible = "qcom,geni-i2c";
871*d9d59d10SLuca Weiss				reg = <0x0 0x00880000 0x0 0x4000>;
872*d9d59d10SLuca Weiss
873*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH 0>;
874*d9d59d10SLuca Weiss
875*d9d59d10SLuca Weiss				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
876*d9d59d10SLuca Weiss				clock-names = "se";
877*d9d59d10SLuca Weiss
878*d9d59d10SLuca Weiss				interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
879*d9d59d10SLuca Weiss						 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
880*d9d59d10SLuca Weiss						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
881*d9d59d10SLuca Weiss						 &cnoc_cfg SLAVE_QUP_1 QCOM_ICC_TAG_ACTIVE_ONLY>,
882*d9d59d10SLuca Weiss						<&aggre1_noc MASTER_QUP_1 QCOM_ICC_TAG_ALWAYS
883*d9d59d10SLuca Weiss						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
884*d9d59d10SLuca Weiss				interconnect-names = "qup-core",
885*d9d59d10SLuca Weiss						     "qup-config",
886*d9d59d10SLuca Weiss						     "qup-memory";
887*d9d59d10SLuca Weiss
888*d9d59d10SLuca Weiss				dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
889*d9d59d10SLuca Weiss				       <&gpi_dma1 1 0 QCOM_GPI_I2C>;
890*d9d59d10SLuca Weiss				dma-names = "tx",
891*d9d59d10SLuca Weiss					    "rx";
892*d9d59d10SLuca Weiss
893*d9d59d10SLuca Weiss				pinctrl-0 = <&qup_i2c7_data_clk>;
894*d9d59d10SLuca Weiss				pinctrl-names = "default";
895*d9d59d10SLuca Weiss
896*d9d59d10SLuca Weiss				#address-cells = <1>;
897*d9d59d10SLuca Weiss				#size-cells = <0>;
898*d9d59d10SLuca Weiss
899*d9d59d10SLuca Weiss				status = "disabled";
900*d9d59d10SLuca Weiss			};
901*d9d59d10SLuca Weiss
902*d9d59d10SLuca Weiss			uart11: serial@890000 {
903*d9d59d10SLuca Weiss				compatible = "qcom,geni-uart";
904*d9d59d10SLuca Weiss				reg = <0x0 0x00890000 0x0 0x4000>;
905*d9d59d10SLuca Weiss
906*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH 0>;
907*d9d59d10SLuca Weiss
908*d9d59d10SLuca Weiss				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
909*d9d59d10SLuca Weiss				clock-names = "se";
910*d9d59d10SLuca Weiss
911*d9d59d10SLuca Weiss				interconnects = <&clk_virt MASTER_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS
912*d9d59d10SLuca Weiss						 &clk_virt SLAVE_QUP_CORE_1 QCOM_ICC_TAG_ALWAYS>,
913*d9d59d10SLuca Weiss						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
914*d9d59d10SLuca Weiss						 &cnoc_cfg SLAVE_QUP_1 QCOM_ICC_TAG_ACTIVE_ONLY>;
915*d9d59d10SLuca Weiss				interconnect-names = "qup-core",
916*d9d59d10SLuca Weiss						     "qup-config";
917*d9d59d10SLuca Weiss
918*d9d59d10SLuca Weiss				pinctrl-0 = <&qup_uart11_default>, <&qup_uart11_cts_rts>;
919*d9d59d10SLuca Weiss				pinctrl-names = "default";
920*d9d59d10SLuca Weiss
921*d9d59d10SLuca Weiss				status = "disabled";
922*d9d59d10SLuca Weiss			};
923*d9d59d10SLuca Weiss		};
924*d9d59d10SLuca Weiss
925*d9d59d10SLuca Weiss		gpi_dma0: dma-controller@a00000 {
926*d9d59d10SLuca Weiss			compatible = "qcom,milos-gpi-dma", "qcom,sm6350-gpi-dma";
927*d9d59d10SLuca Weiss			reg = <0x0 0x00a00000 0x0 0x60000>;
928*d9d59d10SLuca Weiss
929*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH 0>,
930*d9d59d10SLuca Weiss				     <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH 0>,
931*d9d59d10SLuca Weiss				     <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH 0>,
932*d9d59d10SLuca Weiss				     <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH 0>,
933*d9d59d10SLuca Weiss				     <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH 0>,
934*d9d59d10SLuca Weiss				     <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH 0>,
935*d9d59d10SLuca Weiss				     <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH 0>,
936*d9d59d10SLuca Weiss				     <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH 0>,
937*d9d59d10SLuca Weiss				     <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH 0>,
938*d9d59d10SLuca Weiss				     <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH 0>,
939*d9d59d10SLuca Weiss				     <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH 0>,
940*d9d59d10SLuca Weiss				     <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH 0>;
941*d9d59d10SLuca Weiss
942*d9d59d10SLuca Weiss			dma-channels = <12>;
943*d9d59d10SLuca Weiss			dma-channel-mask = <0x3e>;
944*d9d59d10SLuca Weiss			#dma-cells = <3>;
945*d9d59d10SLuca Weiss
946*d9d59d10SLuca Weiss			iommus = <&apps_smmu 0x576 0x0>;
947*d9d59d10SLuca Weiss			dma-coherent;
948*d9d59d10SLuca Weiss		};
949*d9d59d10SLuca Weiss
950*d9d59d10SLuca Weiss		qupv3_id_0: geniqup@ac0000 {
951*d9d59d10SLuca Weiss			compatible = "qcom,geni-se-qup";
952*d9d59d10SLuca Weiss			reg = <0x0 0x00ac0000 0x0 0x2000>;
953*d9d59d10SLuca Weiss
954*d9d59d10SLuca Weiss			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
955*d9d59d10SLuca Weiss				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
956*d9d59d10SLuca Weiss			clock-names = "m-ahb",
957*d9d59d10SLuca Weiss				      "s-ahb";
958*d9d59d10SLuca Weiss
959*d9d59d10SLuca Weiss			interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
960*d9d59d10SLuca Weiss					 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>;
961*d9d59d10SLuca Weiss			interconnect-names = "qup-core";
962*d9d59d10SLuca Weiss
963*d9d59d10SLuca Weiss			iommus = <&apps_smmu 0x563 0>;
964*d9d59d10SLuca Weiss
965*d9d59d10SLuca Weiss			dma-coherent;
966*d9d59d10SLuca Weiss
967*d9d59d10SLuca Weiss			#address-cells = <2>;
968*d9d59d10SLuca Weiss			#size-cells = <2>;
969*d9d59d10SLuca Weiss			ranges;
970*d9d59d10SLuca Weiss
971*d9d59d10SLuca Weiss			status = "disabled";
972*d9d59d10SLuca Weiss
973*d9d59d10SLuca Weiss			spi0: spi@a80000 {
974*d9d59d10SLuca Weiss				compatible = "qcom,geni-spi";
975*d9d59d10SLuca Weiss				reg = <0x0 0x00a80000 0x0 0x4000>;
976*d9d59d10SLuca Weiss
977*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH 0>;
978*d9d59d10SLuca Weiss
979*d9d59d10SLuca Weiss				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
980*d9d59d10SLuca Weiss				clock-names = "se";
981*d9d59d10SLuca Weiss
982*d9d59d10SLuca Weiss				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
983*d9d59d10SLuca Weiss						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
984*d9d59d10SLuca Weiss						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
985*d9d59d10SLuca Weiss						 &cnoc_cfg SLAVE_QUP_0 QCOM_ICC_TAG_ACTIVE_ONLY>,
986*d9d59d10SLuca Weiss						<&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
987*d9d59d10SLuca Weiss						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
988*d9d59d10SLuca Weiss				interconnect-names = "qup-core",
989*d9d59d10SLuca Weiss						     "qup-config",
990*d9d59d10SLuca Weiss						     "qup-memory";
991*d9d59d10SLuca Weiss
992*d9d59d10SLuca Weiss				dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
993*d9d59d10SLuca Weiss				       <&gpi_dma0 1 0 QCOM_GPI_SPI>;
994*d9d59d10SLuca Weiss				dma-names = "tx",
995*d9d59d10SLuca Weiss					    "rx";
996*d9d59d10SLuca Weiss
997*d9d59d10SLuca Weiss				pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>;
998*d9d59d10SLuca Weiss				pinctrl-names = "default";
999*d9d59d10SLuca Weiss
1000*d9d59d10SLuca Weiss				#address-cells = <1>;
1001*d9d59d10SLuca Weiss				#size-cells = <0>;
1002*d9d59d10SLuca Weiss
1003*d9d59d10SLuca Weiss				status = "disabled";
1004*d9d59d10SLuca Weiss			};
1005*d9d59d10SLuca Weiss
1006*d9d59d10SLuca Weiss			i2c1: i2c@a84000 {
1007*d9d59d10SLuca Weiss				compatible = "qcom,geni-i2c";
1008*d9d59d10SLuca Weiss				reg = <0x0 0x00a84000 0x0 0x4000>;
1009*d9d59d10SLuca Weiss
1010*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 521 IRQ_TYPE_LEVEL_HIGH 0>;
1011*d9d59d10SLuca Weiss
1012*d9d59d10SLuca Weiss				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1013*d9d59d10SLuca Weiss				clock-names = "se";
1014*d9d59d10SLuca Weiss
1015*d9d59d10SLuca Weiss				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
1016*d9d59d10SLuca Weiss						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
1017*d9d59d10SLuca Weiss						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
1018*d9d59d10SLuca Weiss						 &cnoc_cfg SLAVE_QUP_0 QCOM_ICC_TAG_ACTIVE_ONLY>,
1019*d9d59d10SLuca Weiss						<&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
1020*d9d59d10SLuca Weiss						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1021*d9d59d10SLuca Weiss				interconnect-names = "qup-core",
1022*d9d59d10SLuca Weiss						     "qup-config",
1023*d9d59d10SLuca Weiss						     "qup-memory";
1024*d9d59d10SLuca Weiss
1025*d9d59d10SLuca Weiss				dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
1026*d9d59d10SLuca Weiss				       <&gpi_dma0 1 1 QCOM_GPI_I2C>;
1027*d9d59d10SLuca Weiss				dma-names = "tx",
1028*d9d59d10SLuca Weiss					    "rx";
1029*d9d59d10SLuca Weiss
1030*d9d59d10SLuca Weiss				pinctrl-0 = <&qup_i2c1_data_clk>;
1031*d9d59d10SLuca Weiss				pinctrl-names = "default";
1032*d9d59d10SLuca Weiss
1033*d9d59d10SLuca Weiss				#address-cells = <1>;
1034*d9d59d10SLuca Weiss				#size-cells = <0>;
1035*d9d59d10SLuca Weiss
1036*d9d59d10SLuca Weiss				status = "disabled";
1037*d9d59d10SLuca Weiss			};
1038*d9d59d10SLuca Weiss
1039*d9d59d10SLuca Weiss			i2c3: i2c@a8c000 {
1040*d9d59d10SLuca Weiss				compatible = "qcom,geni-i2c";
1041*d9d59d10SLuca Weiss				reg = <0x0 0x00a8c000 0x0 0x4000>;
1042*d9d59d10SLuca Weiss
1043*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 523 IRQ_TYPE_LEVEL_HIGH 0>;
1044*d9d59d10SLuca Weiss
1045*d9d59d10SLuca Weiss				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1046*d9d59d10SLuca Weiss				clock-names = "se";
1047*d9d59d10SLuca Weiss
1048*d9d59d10SLuca Weiss				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
1049*d9d59d10SLuca Weiss						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
1050*d9d59d10SLuca Weiss						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
1051*d9d59d10SLuca Weiss						 &cnoc_cfg SLAVE_QUP_0 QCOM_ICC_TAG_ACTIVE_ONLY>,
1052*d9d59d10SLuca Weiss						<&aggre2_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
1053*d9d59d10SLuca Weiss						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1054*d9d59d10SLuca Weiss				interconnect-names = "qup-core",
1055*d9d59d10SLuca Weiss						     "qup-config",
1056*d9d59d10SLuca Weiss						     "qup-memory";
1057*d9d59d10SLuca Weiss
1058*d9d59d10SLuca Weiss				dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
1059*d9d59d10SLuca Weiss				       <&gpi_dma0 1 3 QCOM_GPI_I2C>;
1060*d9d59d10SLuca Weiss				dma-names = "tx",
1061*d9d59d10SLuca Weiss					    "rx";
1062*d9d59d10SLuca Weiss
1063*d9d59d10SLuca Weiss				pinctrl-0 = <&qup_i2c3_data_clk>;
1064*d9d59d10SLuca Weiss				pinctrl-names = "default";
1065*d9d59d10SLuca Weiss
1066*d9d59d10SLuca Weiss				#address-cells = <1>;
1067*d9d59d10SLuca Weiss				#size-cells = <0>;
1068*d9d59d10SLuca Weiss
1069*d9d59d10SLuca Weiss				status = "disabled";
1070*d9d59d10SLuca Weiss			};
1071*d9d59d10SLuca Weiss
1072*d9d59d10SLuca Weiss			uart5: serial@a94000 {
1073*d9d59d10SLuca Weiss				compatible = "qcom,geni-debug-uart";
1074*d9d59d10SLuca Weiss				reg = <0x0 0x00a94000 0x0 0x4000>;
1075*d9d59d10SLuca Weiss
1076*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 525 IRQ_TYPE_LEVEL_HIGH 0>;
1077*d9d59d10SLuca Weiss
1078*d9d59d10SLuca Weiss				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1079*d9d59d10SLuca Weiss				clock-names = "se";
1080*d9d59d10SLuca Weiss
1081*d9d59d10SLuca Weiss				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
1082*d9d59d10SLuca Weiss						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
1083*d9d59d10SLuca Weiss						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
1084*d9d59d10SLuca Weiss						 &cnoc_cfg SLAVE_QUP_0 QCOM_ICC_TAG_ACTIVE_ONLY>;
1085*d9d59d10SLuca Weiss				interconnect-names = "qup-core",
1086*d9d59d10SLuca Weiss						     "qup-config";
1087*d9d59d10SLuca Weiss
1088*d9d59d10SLuca Weiss				pinctrl-0 = <&qup_uart5_default>;
1089*d9d59d10SLuca Weiss				pinctrl-names = "default";
1090*d9d59d10SLuca Weiss
1091*d9d59d10SLuca Weiss				status = "disabled";
1092*d9d59d10SLuca Weiss			};
1093*d9d59d10SLuca Weiss		};
1094*d9d59d10SLuca Weiss
1095*d9d59d10SLuca Weiss		rng: rng@10c3000 {
1096*d9d59d10SLuca Weiss			compatible = "qcom,milos-trng", "qcom,trng";
1097*d9d59d10SLuca Weiss			reg = <0x0 0x010c3000 0x0 0x1000>;
1098*d9d59d10SLuca Weiss		};
1099*d9d59d10SLuca Weiss
1100*d9d59d10SLuca Weiss		mmss_noc: interconnect@1400000 {
1101*d9d59d10SLuca Weiss			compatible = "qcom,milos-mmss-noc";
1102*d9d59d10SLuca Weiss			reg = <0x0 0x01400000 0x0 0xdb800>;
1103*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1104*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1105*d9d59d10SLuca Weiss		};
1106*d9d59d10SLuca Weiss
1107*d9d59d10SLuca Weiss		cnoc_main: interconnect@1500000 {
1108*d9d59d10SLuca Weiss			compatible = "qcom,milos-cnoc-main";
1109*d9d59d10SLuca Weiss			reg = <0x0 0x01500000 0x0 0x14400>;
1110*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1111*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1112*d9d59d10SLuca Weiss		};
1113*d9d59d10SLuca Weiss
1114*d9d59d10SLuca Weiss		cnoc_cfg: interconnect@1600000 {
1115*d9d59d10SLuca Weiss			compatible = "qcom,milos-cnoc-cfg";
1116*d9d59d10SLuca Weiss			reg = <0x0 0x01600000 0x0 0x6e00>;
1117*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1118*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1119*d9d59d10SLuca Weiss		};
1120*d9d59d10SLuca Weiss
1121*d9d59d10SLuca Weiss		system_noc: interconnect@1680000 {
1122*d9d59d10SLuca Weiss			compatible = "qcom,milos-system-noc";
1123*d9d59d10SLuca Weiss			reg = <0x0 0x01680000 0x0 0x40000>;
1124*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1125*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1126*d9d59d10SLuca Weiss		};
1127*d9d59d10SLuca Weiss
1128*d9d59d10SLuca Weiss		pcie_anoc: interconnect@16c0000 {
1129*d9d59d10SLuca Weiss			compatible = "qcom,milos-pcie-anoc";
1130*d9d59d10SLuca Weiss			reg = <0x0 0x016c0000 0x0 0x12400>;
1131*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1132*d9d59d10SLuca Weiss			clocks = <&gcc GCC_AGGRE_NOC_PCIE_AXI_CLK>,
1133*d9d59d10SLuca Weiss				 <&gcc GCC_CFG_NOC_PCIE_ANOC_AHB_CLK>;
1134*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1135*d9d59d10SLuca Weiss		};
1136*d9d59d10SLuca Weiss
1137*d9d59d10SLuca Weiss		aggre1_noc: interconnect@16e0000 {
1138*d9d59d10SLuca Weiss			compatible = "qcom,milos-aggre1-noc";
1139*d9d59d10SLuca Weiss			reg = <0x0 0x016e0000 0x0 0x16400>;
1140*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1141*d9d59d10SLuca Weiss			clocks = <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
1142*d9d59d10SLuca Weiss				 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>;
1143*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1144*d9d59d10SLuca Weiss		};
1145*d9d59d10SLuca Weiss
1146*d9d59d10SLuca Weiss		aggre2_noc: interconnect@1700000 {
1147*d9d59d10SLuca Weiss			compatible = "qcom,milos-aggre2-noc";
1148*d9d59d10SLuca Weiss			reg = <0x0 0x01700000 0x0 0x1f400>;
1149*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1150*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_IPA_CLK>;
1151*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1152*d9d59d10SLuca Weiss		};
1153*d9d59d10SLuca Weiss
1154*d9d59d10SLuca Weiss		tcsr_mutex: hwlock@1f40000 {
1155*d9d59d10SLuca Weiss			compatible = "qcom,tcsr-mutex";
1156*d9d59d10SLuca Weiss			reg = <0x0 0x01f40000 0x0 0x20000>;
1157*d9d59d10SLuca Weiss
1158*d9d59d10SLuca Weiss			#hwlock-cells = <1>;
1159*d9d59d10SLuca Weiss		};
1160*d9d59d10SLuca Weiss
1161*d9d59d10SLuca Weiss		tcsr: clock-controller@1fc0000 {
1162*d9d59d10SLuca Weiss			compatible = "qcom,milos-tcsr", "syscon";
1163*d9d59d10SLuca Weiss			reg = <0x0 0x01fc0000 0x0 0xa0000>;
1164*d9d59d10SLuca Weiss
1165*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>;
1166*d9d59d10SLuca Weiss
1167*d9d59d10SLuca Weiss			#clock-cells = <1>;
1168*d9d59d10SLuca Weiss			#reset-cells = <1>;
1169*d9d59d10SLuca Weiss		};
1170*d9d59d10SLuca Weiss
1171*d9d59d10SLuca Weiss		remoteproc_adsp: remoteproc@3000000 {
1172*d9d59d10SLuca Weiss			compatible = "qcom,milos-adsp-pas";
1173*d9d59d10SLuca Weiss			reg = <0x0 0x03000000 0x0 0x10000>;
1174*d9d59d10SLuca Weiss
1175*d9d59d10SLuca Weiss			interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
1176*d9d59d10SLuca Weiss					      <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1177*d9d59d10SLuca Weiss					      <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1178*d9d59d10SLuca Weiss					      <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1179*d9d59d10SLuca Weiss					      <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
1180*d9d59d10SLuca Weiss					      <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
1181*d9d59d10SLuca Weiss			interrupt-names = "wdog",
1182*d9d59d10SLuca Weiss					  "fatal",
1183*d9d59d10SLuca Weiss					  "ready",
1184*d9d59d10SLuca Weiss					  "handover",
1185*d9d59d10SLuca Weiss					  "stop-ack",
1186*d9d59d10SLuca Weiss					  "shutdown-ack";
1187*d9d59d10SLuca Weiss
1188*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>;
1189*d9d59d10SLuca Weiss			clock-names = "xo";
1190*d9d59d10SLuca Weiss
1191*d9d59d10SLuca Weiss			power-domains = <&rpmhpd RPMHPD_LCX>,
1192*d9d59d10SLuca Weiss					<&rpmhpd RPMHPD_LMX>;
1193*d9d59d10SLuca Weiss			power-domain-names = "lcx",
1194*d9d59d10SLuca Weiss					     "lmx";
1195*d9d59d10SLuca Weiss
1196*d9d59d10SLuca Weiss			interconnects = <&lpass_ag_noc MASTER_LPASS_PROC QCOM_ICC_TAG_ALWAYS
1197*d9d59d10SLuca Weiss					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1198*d9d59d10SLuca Weiss
1199*d9d59d10SLuca Weiss			memory-region = <&adspslpi_mem>, <&q6_adsp_dtb_mem>;
1200*d9d59d10SLuca Weiss
1201*d9d59d10SLuca Weiss			qcom,qmp = <&aoss_qmp>;
1202*d9d59d10SLuca Weiss
1203*d9d59d10SLuca Weiss			qcom,smem-states = <&smp2p_adsp_out 0>;
1204*d9d59d10SLuca Weiss			qcom,smem-state-names = "stop";
1205*d9d59d10SLuca Weiss
1206*d9d59d10SLuca Weiss			status = "disabled";
1207*d9d59d10SLuca Weiss
1208*d9d59d10SLuca Weiss			glink-edge {
1209*d9d59d10SLuca Weiss				interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1210*d9d59d10SLuca Weiss							     IPCC_MPROC_SIGNAL_GLINK_QMP
1211*d9d59d10SLuca Weiss							     IRQ_TYPE_EDGE_RISING>;
1212*d9d59d10SLuca Weiss				mboxes = <&ipcc IPCC_CLIENT_LPASS
1213*d9d59d10SLuca Weiss						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1214*d9d59d10SLuca Weiss
1215*d9d59d10SLuca Weiss				label = "lpass";
1216*d9d59d10SLuca Weiss				qcom,remote-pid = <2>;
1217*d9d59d10SLuca Weiss			};
1218*d9d59d10SLuca Weiss		};
1219*d9d59d10SLuca Weiss
1220*d9d59d10SLuca Weiss		lpass_ag_noc: interconnect@3c40000 {
1221*d9d59d10SLuca Weiss			compatible = "qcom,milos-lpass-ag-noc";
1222*d9d59d10SLuca Weiss			reg = <0x0 0x03c40000 0x0 0x17200>;
1223*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
1224*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
1225*d9d59d10SLuca Weiss		};
1226*d9d59d10SLuca Weiss
1227*d9d59d10SLuca Weiss		gpucc: clock-controller@3d90000 {
1228*d9d59d10SLuca Weiss			compatible = "qcom,milos-gpucc";
1229*d9d59d10SLuca Weiss			reg = <0x0 0x03d90000 0x0 0x9800>;
1230*d9d59d10SLuca Weiss
1231*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>,
1232*d9d59d10SLuca Weiss				 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
1233*d9d59d10SLuca Weiss				 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
1234*d9d59d10SLuca Weiss
1235*d9d59d10SLuca Weiss			#clock-cells = <1>;
1236*d9d59d10SLuca Weiss			#reset-cells = <1>;
1237*d9d59d10SLuca Weiss			#power-domain-cells = <1>;
1238*d9d59d10SLuca Weiss		};
1239*d9d59d10SLuca Weiss
1240*d9d59d10SLuca Weiss		adreno_smmu: iommu@3da0000 {
1241*d9d59d10SLuca Weiss			compatible = "qcom,milos-smmu-500", "qcom,adreno-smmu",
1242*d9d59d10SLuca Weiss				     "qcom,smmu-500", "arm,mmu-500";
1243*d9d59d10SLuca Weiss			reg = <0x0 0x03da0000 0x0 0x40000>;
1244*d9d59d10SLuca Weiss			#iommu-cells = <2>;
1245*d9d59d10SLuca Weiss			#global-interrupts = <1>;
1246*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH 0>,
1247*d9d59d10SLuca Weiss				     <GIC_SPI 677 IRQ_TYPE_LEVEL_HIGH 0>,
1248*d9d59d10SLuca Weiss				     <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH 0>,
1249*d9d59d10SLuca Weiss				     <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH 0>,
1250*d9d59d10SLuca Weiss				     <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH 0>,
1251*d9d59d10SLuca Weiss				     <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH 0>,
1252*d9d59d10SLuca Weiss				     <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH 0>,
1253*d9d59d10SLuca Weiss				     <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH 0>,
1254*d9d59d10SLuca Weiss				     <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH 0>,
1255*d9d59d10SLuca Weiss				     <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH 0>,
1256*d9d59d10SLuca Weiss				     <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH 0>,
1257*d9d59d10SLuca Weiss				     <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH 0>,
1258*d9d59d10SLuca Weiss				     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH 0>,
1259*d9d59d10SLuca Weiss				     <GIC_SPI 476 IRQ_TYPE_LEVEL_HIGH 0>,
1260*d9d59d10SLuca Weiss				     <GIC_SPI 574 IRQ_TYPE_LEVEL_HIGH 0>,
1261*d9d59d10SLuca Weiss				     <GIC_SPI 575 IRQ_TYPE_LEVEL_HIGH 0>,
1262*d9d59d10SLuca Weiss				     <GIC_SPI 576 IRQ_TYPE_LEVEL_HIGH 0>,
1263*d9d59d10SLuca Weiss				     <GIC_SPI 577 IRQ_TYPE_LEVEL_HIGH 0>,
1264*d9d59d10SLuca Weiss				     <GIC_SPI 659 IRQ_TYPE_LEVEL_HIGH 0>,
1265*d9d59d10SLuca Weiss				     <GIC_SPI 661 IRQ_TYPE_LEVEL_HIGH 0>,
1266*d9d59d10SLuca Weiss				     <GIC_SPI 664 IRQ_TYPE_LEVEL_HIGH 0>,
1267*d9d59d10SLuca Weiss				     <GIC_SPI 665 IRQ_TYPE_LEVEL_HIGH 0>,
1268*d9d59d10SLuca Weiss				     <GIC_SPI 666 IRQ_TYPE_LEVEL_HIGH 0>,
1269*d9d59d10SLuca Weiss				     <GIC_SPI 668 IRQ_TYPE_LEVEL_HIGH 0>,
1270*d9d59d10SLuca Weiss				     <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH 0>,
1271*d9d59d10SLuca Weiss				     <GIC_SPI 699 IRQ_TYPE_LEVEL_HIGH 0>;
1272*d9d59d10SLuca Weiss			clocks = <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
1273*d9d59d10SLuca Weiss				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
1274*d9d59d10SLuca Weiss				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>,
1275*d9d59d10SLuca Weiss				 <&gpucc GPU_CC_AHB_CLK>;
1276*d9d59d10SLuca Weiss			clock-names = "hlos",
1277*d9d59d10SLuca Weiss				      "bus",
1278*d9d59d10SLuca Weiss				      "iface",
1279*d9d59d10SLuca Weiss				      "ahb";
1280*d9d59d10SLuca Weiss			power-domains = <&gpucc GPU_CC_CX_GDSC>;
1281*d9d59d10SLuca Weiss			dma-coherent;
1282*d9d59d10SLuca Weiss		};
1283*d9d59d10SLuca Weiss
1284*d9d59d10SLuca Weiss		remoteproc_mpss: remoteproc@4080000 {
1285*d9d59d10SLuca Weiss			compatible = "qcom,milos-mpss-pas";
1286*d9d59d10SLuca Weiss			reg = <0x0 0x04080000 0x0 0x10000>;
1287*d9d59d10SLuca Weiss
1288*d9d59d10SLuca Weiss			interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING 0>,
1289*d9d59d10SLuca Weiss					      <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
1290*d9d59d10SLuca Weiss					      <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
1291*d9d59d10SLuca Weiss					      <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
1292*d9d59d10SLuca Weiss					      <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
1293*d9d59d10SLuca Weiss					      <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
1294*d9d59d10SLuca Weiss			interrupt-names = "wdog",
1295*d9d59d10SLuca Weiss					  "fatal",
1296*d9d59d10SLuca Weiss					  "ready",
1297*d9d59d10SLuca Weiss					  "handover",
1298*d9d59d10SLuca Weiss					  "stop-ack",
1299*d9d59d10SLuca Weiss					  "shutdown-ack";
1300*d9d59d10SLuca Weiss
1301*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>;
1302*d9d59d10SLuca Weiss			clock-names = "xo";
1303*d9d59d10SLuca Weiss
1304*d9d59d10SLuca Weiss			power-domains = <&rpmhpd RPMHPD_CX>,
1305*d9d59d10SLuca Weiss					<&rpmhpd RPMHPD_MSS>;
1306*d9d59d10SLuca Weiss			power-domain-names = "cx",
1307*d9d59d10SLuca Weiss					     "mss";
1308*d9d59d10SLuca Weiss
1309*d9d59d10SLuca Weiss			interconnects = <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ALWAYS
1310*d9d59d10SLuca Weiss					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
1311*d9d59d10SLuca Weiss
1312*d9d59d10SLuca Weiss			memory-region = <&mpss_mem>;
1313*d9d59d10SLuca Weiss
1314*d9d59d10SLuca Weiss			qcom,qmp = <&aoss_qmp>;
1315*d9d59d10SLuca Weiss
1316*d9d59d10SLuca Weiss			qcom,smem-states = <&smp2p_modem_out 0>;
1317*d9d59d10SLuca Weiss			qcom,smem-state-names = "stop";
1318*d9d59d10SLuca Weiss
1319*d9d59d10SLuca Weiss			status = "disabled";
1320*d9d59d10SLuca Weiss
1321*d9d59d10SLuca Weiss			glink-edge {
1322*d9d59d10SLuca Weiss				interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
1323*d9d59d10SLuca Weiss							     IPCC_MPROC_SIGNAL_GLINK_QMP
1324*d9d59d10SLuca Weiss							     IRQ_TYPE_EDGE_RISING>;
1325*d9d59d10SLuca Weiss				mboxes = <&ipcc IPCC_CLIENT_MPSS
1326*d9d59d10SLuca Weiss						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1327*d9d59d10SLuca Weiss
1328*d9d59d10SLuca Weiss				label = "mpss";
1329*d9d59d10SLuca Weiss				qcom,remote-pid = <1>;
1330*d9d59d10SLuca Weiss			};
1331*d9d59d10SLuca Weiss		};
1332*d9d59d10SLuca Weiss
1333*d9d59d10SLuca Weiss		sdhc_2: mmc@8804000 {
1334*d9d59d10SLuca Weiss			compatible = "qcom,milos-sdhci", "qcom,sdhci-msm-v5";
1335*d9d59d10SLuca Weiss			reg = <0x0 0x08804000 0x0 0x1000>;
1336*d9d59d10SLuca Weiss
1337*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 0>,
1338*d9d59d10SLuca Weiss				     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH 0>;
1339*d9d59d10SLuca Weiss			interrupt-names = "hc_irq",
1340*d9d59d10SLuca Weiss					  "pwr_irq";
1341*d9d59d10SLuca Weiss
1342*d9d59d10SLuca Weiss			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
1343*d9d59d10SLuca Weiss				 <&gcc GCC_SDCC2_APPS_CLK>,
1344*d9d59d10SLuca Weiss				 <&rpmhcc RPMH_CXO_CLK>;
1345*d9d59d10SLuca Weiss			clock-names = "iface",
1346*d9d59d10SLuca Weiss				      "core",
1347*d9d59d10SLuca Weiss				      "xo";
1348*d9d59d10SLuca Weiss
1349*d9d59d10SLuca Weiss			interconnects = <&aggre2_noc MASTER_SDCC_2 QCOM_ICC_TAG_ALWAYS
1350*d9d59d10SLuca Weiss					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
1351*d9d59d10SLuca Weiss					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
1352*d9d59d10SLuca Weiss					 &cnoc_cfg SLAVE_SDCC_2 QCOM_ICC_TAG_ACTIVE_ONLY>;
1353*d9d59d10SLuca Weiss			interconnect-names = "sdhc-ddr",
1354*d9d59d10SLuca Weiss					     "cpu-sdhc";
1355*d9d59d10SLuca Weiss
1356*d9d59d10SLuca Weiss			power-domains = <&rpmhpd RPMHPD_CX>;
1357*d9d59d10SLuca Weiss			operating-points-v2 = <&sdhc2_opp_table>;
1358*d9d59d10SLuca Weiss
1359*d9d59d10SLuca Weiss			iommus = <&apps_smmu 0x540 0>;
1360*d9d59d10SLuca Weiss
1361*d9d59d10SLuca Weiss			bus-width = <4>;
1362*d9d59d10SLuca Weiss
1363*d9d59d10SLuca Weiss			qcom,dll-config = <0x0007442c>;
1364*d9d59d10SLuca Weiss			qcom,ddr-config = <0x80040868>;
1365*d9d59d10SLuca Weiss
1366*d9d59d10SLuca Weiss			dma-coherent;
1367*d9d59d10SLuca Weiss
1368*d9d59d10SLuca Weiss			status = "disabled";
1369*d9d59d10SLuca Weiss
1370*d9d59d10SLuca Weiss			sdhc2_opp_table: opp-table {
1371*d9d59d10SLuca Weiss				compatible = "operating-points-v2";
1372*d9d59d10SLuca Weiss
1373*d9d59d10SLuca Weiss				opp-100000000 {
1374*d9d59d10SLuca Weiss					opp-hz = /bits/ 64 <100000000>;
1375*d9d59d10SLuca Weiss					required-opps = <&rpmhpd_opp_low_svs>;
1376*d9d59d10SLuca Weiss				};
1377*d9d59d10SLuca Weiss
1378*d9d59d10SLuca Weiss				opp-202000000 {
1379*d9d59d10SLuca Weiss					opp-hz = /bits/ 64 <202000000>;
1380*d9d59d10SLuca Weiss					required-opps = <&rpmhpd_opp_svs_l1>;
1381*d9d59d10SLuca Weiss				};
1382*d9d59d10SLuca Weiss			};
1383*d9d59d10SLuca Weiss		};
1384*d9d59d10SLuca Weiss
1385*d9d59d10SLuca Weiss		usb_1_hsphy: phy@88e3000 {
1386*d9d59d10SLuca Weiss			compatible = "qcom,milos-snps-eusb2-phy",
1387*d9d59d10SLuca Weiss				     "qcom,sm8550-snps-eusb2-phy";
1388*d9d59d10SLuca Weiss			reg = <0x0 0x088e3000 0x0 0x154>;
1389*d9d59d10SLuca Weiss			#phy-cells = <0>;
1390*d9d59d10SLuca Weiss
1391*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>;
1392*d9d59d10SLuca Weiss			clock-names = "ref";
1393*d9d59d10SLuca Weiss
1394*d9d59d10SLuca Weiss			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
1395*d9d59d10SLuca Weiss
1396*d9d59d10SLuca Weiss			status = "disabled";
1397*d9d59d10SLuca Weiss		};
1398*d9d59d10SLuca Weiss
1399*d9d59d10SLuca Weiss		remoteproc_wpss: remoteproc@8a00000 {
1400*d9d59d10SLuca Weiss			compatible = "qcom,milos-wpss-pas";
1401*d9d59d10SLuca Weiss			reg = <0x0 0x08a00000 0x0 0x10000>;
1402*d9d59d10SLuca Weiss
1403*d9d59d10SLuca Weiss			interrupts-extended = <&intc GIC_SPI 579 IRQ_TYPE_EDGE_RISING 0>,
1404*d9d59d10SLuca Weiss					      <&smp2p_wpss_in 0 IRQ_TYPE_EDGE_RISING>,
1405*d9d59d10SLuca Weiss					      <&smp2p_wpss_in 1 IRQ_TYPE_EDGE_RISING>,
1406*d9d59d10SLuca Weiss					      <&smp2p_wpss_in 2 IRQ_TYPE_EDGE_RISING>,
1407*d9d59d10SLuca Weiss					      <&smp2p_wpss_in 3 IRQ_TYPE_EDGE_RISING>,
1408*d9d59d10SLuca Weiss					      <&smp2p_wpss_in 7 IRQ_TYPE_EDGE_RISING>;
1409*d9d59d10SLuca Weiss			interrupt-names = "wdog",
1410*d9d59d10SLuca Weiss					  "fatal",
1411*d9d59d10SLuca Weiss					  "ready",
1412*d9d59d10SLuca Weiss					  "handover",
1413*d9d59d10SLuca Weiss					  "stop-ack",
1414*d9d59d10SLuca Weiss					  "shutdown-ack";
1415*d9d59d10SLuca Weiss
1416*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>;
1417*d9d59d10SLuca Weiss			clock-names = "xo";
1418*d9d59d10SLuca Weiss
1419*d9d59d10SLuca Weiss			power-domains = <&rpmhpd RPMHPD_CX>,
1420*d9d59d10SLuca Weiss					<&rpmhpd RPMHPD_MX>;
1421*d9d59d10SLuca Weiss			power-domain-names = "cx",
1422*d9d59d10SLuca Weiss					     "mx";
1423*d9d59d10SLuca Weiss
1424*d9d59d10SLuca Weiss			memory-region = <&wpss_mem>;
1425*d9d59d10SLuca Weiss
1426*d9d59d10SLuca Weiss			qcom,qmp = <&aoss_qmp>;
1427*d9d59d10SLuca Weiss
1428*d9d59d10SLuca Weiss			qcom,smem-states = <&smp2p_wpss_out 0>;
1429*d9d59d10SLuca Weiss			qcom,smem-state-names = "stop";
1430*d9d59d10SLuca Weiss
1431*d9d59d10SLuca Weiss			status = "disabled";
1432*d9d59d10SLuca Weiss
1433*d9d59d10SLuca Weiss			glink-edge {
1434*d9d59d10SLuca Weiss				interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
1435*d9d59d10SLuca Weiss							     IPCC_MPROC_SIGNAL_GLINK_QMP
1436*d9d59d10SLuca Weiss							     IRQ_TYPE_EDGE_RISING>;
1437*d9d59d10SLuca Weiss				mboxes = <&ipcc IPCC_CLIENT_WPSS
1438*d9d59d10SLuca Weiss						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1439*d9d59d10SLuca Weiss
1440*d9d59d10SLuca Weiss				label = "wpss";
1441*d9d59d10SLuca Weiss				qcom,remote-pid = <13>;
1442*d9d59d10SLuca Weiss			};
1443*d9d59d10SLuca Weiss		};
1444*d9d59d10SLuca Weiss
1445*d9d59d10SLuca Weiss		usb_1: usb@a600000 {
1446*d9d59d10SLuca Weiss			compatible = "qcom,milos-dwc3", "qcom,snps-dwc3";
1447*d9d59d10SLuca Weiss			reg = <0x0 0x0a600000 0x0 0xfc000>;
1448*d9d59d10SLuca Weiss
1449*d9d59d10SLuca Weiss			clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1450*d9d59d10SLuca Weiss				 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1451*d9d59d10SLuca Weiss				 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
1452*d9d59d10SLuca Weiss				 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1453*d9d59d10SLuca Weiss				 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1454*d9d59d10SLuca Weiss				 <&rpmhcc RPMH_CXO_CLK>;
1455*d9d59d10SLuca Weiss			clock-names = "cfg_noc",
1456*d9d59d10SLuca Weiss				      "core",
1457*d9d59d10SLuca Weiss				      "iface",
1458*d9d59d10SLuca Weiss				      "sleep",
1459*d9d59d10SLuca Weiss				      "mock_utmi",
1460*d9d59d10SLuca Weiss				      "xo";
1461*d9d59d10SLuca Weiss
1462*d9d59d10SLuca Weiss			assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1463*d9d59d10SLuca Weiss					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1464*d9d59d10SLuca Weiss			assigned-clock-rates = <19200000>, <200000000>;
1465*d9d59d10SLuca Weiss
1466*d9d59d10SLuca Weiss			interrupts-extended = <&intc GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH 0>,
1467*d9d59d10SLuca Weiss					      <&intc GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH 0>,
1468*d9d59d10SLuca Weiss					      <&pdc 14 IRQ_TYPE_EDGE_BOTH>,
1469*d9d59d10SLuca Weiss					      <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
1470*d9d59d10SLuca Weiss					      <&pdc 25 IRQ_TYPE_LEVEL_HIGH>;
1471*d9d59d10SLuca Weiss			interrupt-names = "dwc_usb3",
1472*d9d59d10SLuca Weiss					  "pwr_event",
1473*d9d59d10SLuca Weiss					  "dp_hs_phy_irq",
1474*d9d59d10SLuca Weiss					  "dm_hs_phy_irq",
1475*d9d59d10SLuca Weiss					  "ss_phy_irq";
1476*d9d59d10SLuca Weiss
1477*d9d59d10SLuca Weiss			iommus = <&apps_smmu 0x40 0x0>;
1478*d9d59d10SLuca Weiss			power-domains = <&gcc USB30_PRIM_GDSC>;
1479*d9d59d10SLuca Weiss			required-opps = <&rpmhpd_opp_nom>;
1480*d9d59d10SLuca Weiss
1481*d9d59d10SLuca Weiss			resets = <&gcc GCC_USB30_PRIM_BCR>;
1482*d9d59d10SLuca Weiss
1483*d9d59d10SLuca Weiss			interconnects = <&aggre1_noc MASTER_USB3_0 QCOM_ICC_TAG_ALWAYS
1484*d9d59d10SLuca Weiss					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
1485*d9d59d10SLuca Weiss					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
1486*d9d59d10SLuca Weiss					 &cnoc_cfg SLAVE_USB3_0 QCOM_ICC_TAG_ACTIVE_ONLY>;
1487*d9d59d10SLuca Weiss			interconnect-names = "usb-ddr", "apps-usb";
1488*d9d59d10SLuca Weiss
1489*d9d59d10SLuca Weiss			phys = <&usb_1_hsphy>;
1490*d9d59d10SLuca Weiss			phy-names = "usb2-phy";
1491*d9d59d10SLuca Weiss
1492*d9d59d10SLuca Weiss			snps,dis-u1-entry-quirk;
1493*d9d59d10SLuca Weiss			snps,dis-u2-entry-quirk;
1494*d9d59d10SLuca Weiss			snps,dis_enblslpm_quirk;
1495*d9d59d10SLuca Weiss			snps,dis_u2_susphy_quirk;
1496*d9d59d10SLuca Weiss			snps,dis_u3_susphy_quirk;
1497*d9d59d10SLuca Weiss			snps,has-lpm-erratum;
1498*d9d59d10SLuca Weiss			snps,hird-threshold = /bits/ 8 <0x0>;
1499*d9d59d10SLuca Weiss			snps,is-utmi-l1-suspend;
1500*d9d59d10SLuca Weiss			snps,parkmode-disable-ss-quirk;
1501*d9d59d10SLuca Weiss			tx-fifo-resize;
1502*d9d59d10SLuca Weiss			dma-coherent;
1503*d9d59d10SLuca Weiss			usb-role-switch;
1504*d9d59d10SLuca Weiss
1505*d9d59d10SLuca Weiss			status = "disabled";
1506*d9d59d10SLuca Weiss
1507*d9d59d10SLuca Weiss			ports {
1508*d9d59d10SLuca Weiss				#address-cells = <1>;
1509*d9d59d10SLuca Weiss				#size-cells = <0>;
1510*d9d59d10SLuca Weiss
1511*d9d59d10SLuca Weiss				port@0 {
1512*d9d59d10SLuca Weiss					reg = <0>;
1513*d9d59d10SLuca Weiss
1514*d9d59d10SLuca Weiss					usb_1_dwc3_hs: endpoint {
1515*d9d59d10SLuca Weiss					};
1516*d9d59d10SLuca Weiss				};
1517*d9d59d10SLuca Weiss			};
1518*d9d59d10SLuca Weiss		};
1519*d9d59d10SLuca Weiss
1520*d9d59d10SLuca Weiss		videocc: clock-controller@aaf0000 {
1521*d9d59d10SLuca Weiss			compatible = "qcom,milos-videocc";
1522*d9d59d10SLuca Weiss			reg = <0x0 0x0aaf0000 0x0 0x10000>;
1523*d9d59d10SLuca Weiss
1524*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>,
1525*d9d59d10SLuca Weiss				 <&rpmhcc RPMH_CXO_CLK_A>,
1526*d9d59d10SLuca Weiss				 <&sleep_clk>,
1527*d9d59d10SLuca Weiss				 <&gcc GCC_VIDEO_AHB_CLK>;
1528*d9d59d10SLuca Weiss
1529*d9d59d10SLuca Weiss			#clock-cells = <1>;
1530*d9d59d10SLuca Weiss			#reset-cells = <1>;
1531*d9d59d10SLuca Weiss			#power-domain-cells = <1>;
1532*d9d59d10SLuca Weiss		};
1533*d9d59d10SLuca Weiss
1534*d9d59d10SLuca Weiss		camcc: clock-controller@adb0000 {
1535*d9d59d10SLuca Weiss			compatible = "qcom,milos-camcc";
1536*d9d59d10SLuca Weiss			reg = <0x0 0x0adb0000 0x0 0x40000>;
1537*d9d59d10SLuca Weiss
1538*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>,
1539*d9d59d10SLuca Weiss				 <&sleep_clk>,
1540*d9d59d10SLuca Weiss				 <&gcc GCC_CAMERA_AHB_CLK>;
1541*d9d59d10SLuca Weiss
1542*d9d59d10SLuca Weiss			#clock-cells = <1>;
1543*d9d59d10SLuca Weiss			#reset-cells = <1>;
1544*d9d59d10SLuca Weiss			#power-domain-cells = <1>;
1545*d9d59d10SLuca Weiss		};
1546*d9d59d10SLuca Weiss
1547*d9d59d10SLuca Weiss		dispcc: clock-controller@af00000 {
1548*d9d59d10SLuca Weiss			compatible = "qcom,milos-dispcc";
1549*d9d59d10SLuca Weiss			reg = <0x0 0x0af00000 0x0 0x20000>;
1550*d9d59d10SLuca Weiss
1551*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>,
1552*d9d59d10SLuca Weiss				 <&sleep_clk>,
1553*d9d59d10SLuca Weiss				 <&gcc GCC_DISP_AHB_CLK>,
1554*d9d59d10SLuca Weiss				 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>,
1555*d9d59d10SLuca Weiss				 <0>, /* dsi0_phy_pll_out_byteclk */
1556*d9d59d10SLuca Weiss				 <0>, /* dsi0_phy_pll_out_dsiclk */
1557*d9d59d10SLuca Weiss				 <0>, /* dp0_phy_pll_link_clk */
1558*d9d59d10SLuca Weiss				 <0>; /* dp0_phy_pll_vco_div_clk */
1559*d9d59d10SLuca Weiss
1560*d9d59d10SLuca Weiss			#clock-cells = <1>;
1561*d9d59d10SLuca Weiss			#reset-cells = <1>;
1562*d9d59d10SLuca Weiss			#power-domain-cells = <1>;
1563*d9d59d10SLuca Weiss		};
1564*d9d59d10SLuca Weiss
1565*d9d59d10SLuca Weiss		pdc: interrupt-controller@b220000 {
1566*d9d59d10SLuca Weiss			compatible = "qcom,milos-pdc", "qcom,pdc";
1567*d9d59d10SLuca Weiss			reg = <0x0 0x0b220000 0x0 0x30000>,
1568*d9d59d10SLuca Weiss			      <0x0 0x174000f0 0x0 0x64>;
1569*d9d59d10SLuca Weiss			interrupt-parent = <&intc>;
1570*d9d59d10SLuca Weiss
1571*d9d59d10SLuca Weiss			qcom,pdc-ranges = <0 480 40>, <40 140 11>, <51 527 47>,
1572*d9d59d10SLuca Weiss					  <98 609 31>, <129 63 1>, <130 716 12>,
1573*d9d59d10SLuca Weiss					  <142 251 5>;
1574*d9d59d10SLuca Weiss
1575*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
1576*d9d59d10SLuca Weiss			interrupt-controller;
1577*d9d59d10SLuca Weiss		};
1578*d9d59d10SLuca Weiss
1579*d9d59d10SLuca Weiss		tsens0: thermal-sensor@c228000 {
1580*d9d59d10SLuca Weiss			compatible = "qcom,milos-tsens", "qcom,tsens-v2";
1581*d9d59d10SLuca Weiss			reg = <0x0 0x0c228000 0x0 0x1000>,
1582*d9d59d10SLuca Weiss			      <0x0 0x0c222000 0x0 0x1000>;
1583*d9d59d10SLuca Weiss
1584*d9d59d10SLuca Weiss			interrupts-extended = <&pdc 26 IRQ_TYPE_LEVEL_HIGH>,
1585*d9d59d10SLuca Weiss					      <&intc GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH 0>;
1586*d9d59d10SLuca Weiss			interrupt-names = "uplow",
1587*d9d59d10SLuca Weiss					  "critical";
1588*d9d59d10SLuca Weiss
1589*d9d59d10SLuca Weiss			#qcom,sensors = <15>;
1590*d9d59d10SLuca Weiss
1591*d9d59d10SLuca Weiss			#thermal-sensor-cells = <1>;
1592*d9d59d10SLuca Weiss		};
1593*d9d59d10SLuca Weiss
1594*d9d59d10SLuca Weiss		tsens1: thermal-sensor@c229000 {
1595*d9d59d10SLuca Weiss			compatible = "qcom,milos-tsens", "qcom,tsens-v2";
1596*d9d59d10SLuca Weiss			reg = <0x0 0x0c229000 0x0 0x1000>,
1597*d9d59d10SLuca Weiss			      <0x0 0x0c223000 0x0 0x1000>;
1598*d9d59d10SLuca Weiss
1599*d9d59d10SLuca Weiss			interrupts-extended = <&pdc 27 IRQ_TYPE_LEVEL_HIGH>,
1600*d9d59d10SLuca Weiss					      <&intc GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH 0>;
1601*d9d59d10SLuca Weiss			interrupt-names = "uplow",
1602*d9d59d10SLuca Weiss					  "critical";
1603*d9d59d10SLuca Weiss
1604*d9d59d10SLuca Weiss			#qcom,sensors = <14>;
1605*d9d59d10SLuca Weiss
1606*d9d59d10SLuca Weiss			#thermal-sensor-cells = <1>;
1607*d9d59d10SLuca Weiss		};
1608*d9d59d10SLuca Weiss
1609*d9d59d10SLuca Weiss		aoss_qmp: power-management@c300000 {
1610*d9d59d10SLuca Weiss			compatible = "qcom,milos-aoss-qmp", "qcom,aoss-qmp";
1611*d9d59d10SLuca Weiss			reg = <0x0 0x0c300000 0x0 0x400>;
1612*d9d59d10SLuca Weiss
1613*d9d59d10SLuca Weiss			interrupt-parent = <&ipcc>;
1614*d9d59d10SLuca Weiss			interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
1615*d9d59d10SLuca Weiss						     IRQ_TYPE_EDGE_RISING>;
1616*d9d59d10SLuca Weiss
1617*d9d59d10SLuca Weiss			mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
1618*d9d59d10SLuca Weiss
1619*d9d59d10SLuca Weiss			#clock-cells = <0>;
1620*d9d59d10SLuca Weiss		};
1621*d9d59d10SLuca Weiss
1622*d9d59d10SLuca Weiss		sram@c3f0000 {
1623*d9d59d10SLuca Weiss			compatible = "qcom,rpmh-stats";
1624*d9d59d10SLuca Weiss			reg = <0x0 0x0c3f0000 0x0 0x400>;
1625*d9d59d10SLuca Weiss		};
1626*d9d59d10SLuca Weiss
1627*d9d59d10SLuca Weiss		spmi_bus: spmi@c400000 {
1628*d9d59d10SLuca Weiss			compatible = "qcom,spmi-pmic-arb";
1629*d9d59d10SLuca Weiss			reg = <0x0 0x0c400000 0x0 0x3000>,
1630*d9d59d10SLuca Weiss			      <0x0 0x0c500000 0x0 0x400000>,
1631*d9d59d10SLuca Weiss			      <0x0 0x0c440000 0x0 0x80000>,
1632*d9d59d10SLuca Weiss			      <0x0 0x0c4c0000 0x0 0x10000>,
1633*d9d59d10SLuca Weiss			      <0x0 0x0c42d000 0x0 0x4000>;
1634*d9d59d10SLuca Weiss			reg-names = "core",
1635*d9d59d10SLuca Weiss				    "chnls",
1636*d9d59d10SLuca Weiss				    "obsrvr",
1637*d9d59d10SLuca Weiss				    "intr",
1638*d9d59d10SLuca Weiss				    "cnfg";
1639*d9d59d10SLuca Weiss
1640*d9d59d10SLuca Weiss			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
1641*d9d59d10SLuca Weiss			interrupt-names = "periph_irq";
1642*d9d59d10SLuca Weiss
1643*d9d59d10SLuca Weiss			qcom,ee = <0>;
1644*d9d59d10SLuca Weiss			qcom,channel = <0>;
1645*d9d59d10SLuca Weiss			qcom,bus-id = <0>;
1646*d9d59d10SLuca Weiss
1647*d9d59d10SLuca Weiss			interrupt-controller;
1648*d9d59d10SLuca Weiss			#interrupt-cells = <4>;
1649*d9d59d10SLuca Weiss
1650*d9d59d10SLuca Weiss			#address-cells = <2>;
1651*d9d59d10SLuca Weiss			#size-cells = <0>;
1652*d9d59d10SLuca Weiss		};
1653*d9d59d10SLuca Weiss
1654*d9d59d10SLuca Weiss		tlmm: pinctrl@f100000 {
1655*d9d59d10SLuca Weiss			compatible = "qcom,milos-tlmm";
1656*d9d59d10SLuca Weiss			reg = <0x0 0x0f100000 0x0 0x300000>;
1657*d9d59d10SLuca Weiss
1658*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH 0>;
1659*d9d59d10SLuca Weiss
1660*d9d59d10SLuca Weiss			gpio-controller;
1661*d9d59d10SLuca Weiss			#gpio-cells = <2>;
1662*d9d59d10SLuca Weiss
1663*d9d59d10SLuca Weiss			interrupt-controller;
1664*d9d59d10SLuca Weiss			#interrupt-cells = <2>;
1665*d9d59d10SLuca Weiss
1666*d9d59d10SLuca Weiss			gpio-ranges = <&tlmm 0 0 168>;
1667*d9d59d10SLuca Weiss
1668*d9d59d10SLuca Weiss			wakeup-parent = <&pdc>;
1669*d9d59d10SLuca Weiss
1670*d9d59d10SLuca Weiss			qup_i2c1_data_clk: qup-i2c1-data-clk-state {
1671*d9d59d10SLuca Weiss				/* SDA, SCL */
1672*d9d59d10SLuca Weiss				pins = "gpio4", "gpio5";
1673*d9d59d10SLuca Weiss				function = "qup0_se1";
1674*d9d59d10SLuca Weiss				drive-strength = <2>;
1675*d9d59d10SLuca Weiss				bias-pull-up;
1676*d9d59d10SLuca Weiss			};
1677*d9d59d10SLuca Weiss
1678*d9d59d10SLuca Weiss			qup_i2c3_data_clk: qup-i2c3-data-clk-state {
1679*d9d59d10SLuca Weiss				/* SDA, SCL */
1680*d9d59d10SLuca Weiss				pins = "gpio15", "gpio16";
1681*d9d59d10SLuca Weiss				function = "qup0_se3";
1682*d9d59d10SLuca Weiss				drive-strength = <2>;
1683*d9d59d10SLuca Weiss				bias-pull-up = <2200>;
1684*d9d59d10SLuca Weiss			};
1685*d9d59d10SLuca Weiss
1686*d9d59d10SLuca Weiss			qup_i2c7_data_clk: qup-i2c7-data-clk-state {
1687*d9d59d10SLuca Weiss				/* SDA, SCL */
1688*d9d59d10SLuca Weiss				pins = "gpio32", "gpio33";
1689*d9d59d10SLuca Weiss				function = "qup1_se0";
1690*d9d59d10SLuca Weiss				drive-strength = <2>;
1691*d9d59d10SLuca Weiss				bias-pull-up;
1692*d9d59d10SLuca Weiss			};
1693*d9d59d10SLuca Weiss
1694*d9d59d10SLuca Weiss			qup_spi0_cs: qup-spi0-cs-state {
1695*d9d59d10SLuca Weiss				pins = "gpio3";
1696*d9d59d10SLuca Weiss				function = "qup0_se0";
1697*d9d59d10SLuca Weiss				drive-strength = <6>;
1698*d9d59d10SLuca Weiss				bias-disable;
1699*d9d59d10SLuca Weiss			};
1700*d9d59d10SLuca Weiss
1701*d9d59d10SLuca Weiss			qup_spi0_data_clk: qup-spi0-data-clk-state {
1702*d9d59d10SLuca Weiss				/* MISO, MOSI, CLK */
1703*d9d59d10SLuca Weiss				pins = "gpio0", "gpio1", "gpio2";
1704*d9d59d10SLuca Weiss				function = "qup0_se0";
1705*d9d59d10SLuca Weiss				drive-strength = <6>;
1706*d9d59d10SLuca Weiss				bias-disable;
1707*d9d59d10SLuca Weiss			};
1708*d9d59d10SLuca Weiss
1709*d9d59d10SLuca Weiss			qup_uart5_default: qup-uart5-default-state {
1710*d9d59d10SLuca Weiss				/* TX, RX */
1711*d9d59d10SLuca Weiss				pins = "gpio25", "gpio26";
1712*d9d59d10SLuca Weiss				function = "qup0_se5";
1713*d9d59d10SLuca Weiss				drive-strength = <2>;
1714*d9d59d10SLuca Weiss				bias-disable;
1715*d9d59d10SLuca Weiss			};
1716*d9d59d10SLuca Weiss
1717*d9d59d10SLuca Weiss			qup_uart11_default: qup-uart11-default-state {
1718*d9d59d10SLuca Weiss				/* TX, RX */
1719*d9d59d10SLuca Weiss				pins = "gpio50", "gpio51";
1720*d9d59d10SLuca Weiss				function = "qup1_se4";
1721*d9d59d10SLuca Weiss				drive-strength = <2>;
1722*d9d59d10SLuca Weiss				bias-pull-up;
1723*d9d59d10SLuca Weiss			};
1724*d9d59d10SLuca Weiss
1725*d9d59d10SLuca Weiss			qup_uart11_cts_rts: qup-uart11-cts-rts-state {
1726*d9d59d10SLuca Weiss				/* CTS, RTS */
1727*d9d59d10SLuca Weiss				pins = "gpio48", "gpio49";
1728*d9d59d10SLuca Weiss				function = "qup1_se4";
1729*d9d59d10SLuca Weiss				drive-strength = <2>;
1730*d9d59d10SLuca Weiss				bias-pull-down;
1731*d9d59d10SLuca Weiss			};
1732*d9d59d10SLuca Weiss
1733*d9d59d10SLuca Weiss			sdc2_default: sdc2-default-state {
1734*d9d59d10SLuca Weiss				clk-pins {
1735*d9d59d10SLuca Weiss					pins = "gpio62";
1736*d9d59d10SLuca Weiss					function = "sdc2_clk";
1737*d9d59d10SLuca Weiss					drive-strength = <16>;
1738*d9d59d10SLuca Weiss					bias-disable;
1739*d9d59d10SLuca Weiss				};
1740*d9d59d10SLuca Weiss
1741*d9d59d10SLuca Weiss				cmd-pins {
1742*d9d59d10SLuca Weiss					pins = "gpio61";
1743*d9d59d10SLuca Weiss					function = "sdc2_cmd";
1744*d9d59d10SLuca Weiss					drive-strength = <10>;
1745*d9d59d10SLuca Weiss					bias-pull-up;
1746*d9d59d10SLuca Weiss				};
1747*d9d59d10SLuca Weiss
1748*d9d59d10SLuca Weiss				data-pins {
1749*d9d59d10SLuca Weiss					pins = "gpio58", "gpio57", "gpio35", "gpio34";
1750*d9d59d10SLuca Weiss					function = "sdc2_data";
1751*d9d59d10SLuca Weiss					drive-strength = <10>;
1752*d9d59d10SLuca Weiss					bias-pull-up;
1753*d9d59d10SLuca Weiss				};
1754*d9d59d10SLuca Weiss			};
1755*d9d59d10SLuca Weiss
1756*d9d59d10SLuca Weiss			sdc2_sleep: sdc2-sleep-state {
1757*d9d59d10SLuca Weiss				clk-pins {
1758*d9d59d10SLuca Weiss					pins = "gpio62";
1759*d9d59d10SLuca Weiss					function = "gpio";
1760*d9d59d10SLuca Weiss					drive-strength = <2>;
1761*d9d59d10SLuca Weiss					bias-disable;
1762*d9d59d10SLuca Weiss				};
1763*d9d59d10SLuca Weiss
1764*d9d59d10SLuca Weiss				cmd-pins {
1765*d9d59d10SLuca Weiss					pins = "gpio61";
1766*d9d59d10SLuca Weiss					function = "gpio";
1767*d9d59d10SLuca Weiss					drive-strength = <2>;
1768*d9d59d10SLuca Weiss					bias-pull-up;
1769*d9d59d10SLuca Weiss				};
1770*d9d59d10SLuca Weiss
1771*d9d59d10SLuca Weiss				data-pins {
1772*d9d59d10SLuca Weiss					pins = "gpio58", "gpio57", "gpio35", "gpio34";
1773*d9d59d10SLuca Weiss					function = "gpio";
1774*d9d59d10SLuca Weiss					drive-strength = <2>;
1775*d9d59d10SLuca Weiss					bias-pull-up;
1776*d9d59d10SLuca Weiss				};
1777*d9d59d10SLuca Weiss			};
1778*d9d59d10SLuca Weiss		};
1779*d9d59d10SLuca Weiss
1780*d9d59d10SLuca Weiss		apps_smmu: iommu@15000000 {
1781*d9d59d10SLuca Weiss			compatible = "qcom,milos-smmu-500", "qcom,smmu-500", "arm,mmu-500";
1782*d9d59d10SLuca Weiss			reg = <0x0 0x15000000 0x0 0x100000>;
1783*d9d59d10SLuca Weiss			#iommu-cells = <2>;
1784*d9d59d10SLuca Weiss			#global-interrupts = <1>;
1785*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH 0>,
1786*d9d59d10SLuca Weiss				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>,
1787*d9d59d10SLuca Weiss				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>,
1788*d9d59d10SLuca Weiss				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>,
1789*d9d59d10SLuca Weiss				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>,
1790*d9d59d10SLuca Weiss				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>,
1791*d9d59d10SLuca Weiss				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>,
1792*d9d59d10SLuca Weiss				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,
1793*d9d59d10SLuca Weiss				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,
1794*d9d59d10SLuca Weiss				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>,
1795*d9d59d10SLuca Weiss				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>,
1796*d9d59d10SLuca Weiss				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH 0>,
1797*d9d59d10SLuca Weiss				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>,
1798*d9d59d10SLuca Weiss				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>,
1799*d9d59d10SLuca Weiss				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>,
1800*d9d59d10SLuca Weiss				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH 0>,
1801*d9d59d10SLuca Weiss				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH 0>,
1802*d9d59d10SLuca Weiss				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 0>,
1803*d9d59d10SLuca Weiss				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH 0>,
1804*d9d59d10SLuca Weiss				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH 0>,
1805*d9d59d10SLuca Weiss				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>,
1806*d9d59d10SLuca Weiss				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH 0>,
1807*d9d59d10SLuca Weiss				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH 0>,
1808*d9d59d10SLuca Weiss				     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH 0>,
1809*d9d59d10SLuca Weiss				     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH 0>,
1810*d9d59d10SLuca Weiss				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH 0>,
1811*d9d59d10SLuca Weiss				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH 0>,
1812*d9d59d10SLuca Weiss				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH 0>,
1813*d9d59d10SLuca Weiss				     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH 0>,
1814*d9d59d10SLuca Weiss				     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH 0>,
1815*d9d59d10SLuca Weiss				     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH 0>,
1816*d9d59d10SLuca Weiss				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH 0>,
1817*d9d59d10SLuca Weiss				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH 0>,
1818*d9d59d10SLuca Weiss				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH 0>,
1819*d9d59d10SLuca Weiss				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH 0>,
1820*d9d59d10SLuca Weiss				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH 0>,
1821*d9d59d10SLuca Weiss				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH 0>,
1822*d9d59d10SLuca Weiss				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 0>,
1823*d9d59d10SLuca Weiss				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 0>,
1824*d9d59d10SLuca Weiss				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH 0>,
1825*d9d59d10SLuca Weiss				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 0>,
1826*d9d59d10SLuca Weiss				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 0>,
1827*d9d59d10SLuca Weiss				     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>,
1828*d9d59d10SLuca Weiss				     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 0>,
1829*d9d59d10SLuca Weiss				     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>,
1830*d9d59d10SLuca Weiss				     <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 0>,
1831*d9d59d10SLuca Weiss				     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 0>,
1832*d9d59d10SLuca Weiss				     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 0>,
1833*d9d59d10SLuca Weiss				     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>,
1834*d9d59d10SLuca Weiss				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 0>,
1835*d9d59d10SLuca Weiss				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>,
1836*d9d59d10SLuca Weiss				     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>,
1837*d9d59d10SLuca Weiss				     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH 0>,
1838*d9d59d10SLuca Weiss				     <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 0>,
1839*d9d59d10SLuca Weiss				     <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 0>,
1840*d9d59d10SLuca Weiss				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 0>,
1841*d9d59d10SLuca Weiss				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 0>,
1842*d9d59d10SLuca Weiss				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 0>,
1843*d9d59d10SLuca Weiss				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH 0>,
1844*d9d59d10SLuca Weiss				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH 0>,
1845*d9d59d10SLuca Weiss				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH 0>,
1846*d9d59d10SLuca Weiss				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH 0>,
1847*d9d59d10SLuca Weiss				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH 0>,
1848*d9d59d10SLuca Weiss				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH 0>,
1849*d9d59d10SLuca Weiss				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH 0>,
1850*d9d59d10SLuca Weiss				     <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH 0>,
1851*d9d59d10SLuca Weiss				     <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH 0>,
1852*d9d59d10SLuca Weiss				     <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH 0>,
1853*d9d59d10SLuca Weiss				     <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH 0>,
1854*d9d59d10SLuca Weiss				     <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH 0>,
1855*d9d59d10SLuca Weiss				     <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH 0>,
1856*d9d59d10SLuca Weiss				     <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH 0>,
1857*d9d59d10SLuca Weiss				     <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH 0>,
1858*d9d59d10SLuca Weiss				     <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH 0>,
1859*d9d59d10SLuca Weiss				     <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH 0>,
1860*d9d59d10SLuca Weiss				     <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH 0>,
1861*d9d59d10SLuca Weiss				     <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH 0>,
1862*d9d59d10SLuca Weiss				     <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH 0>,
1863*d9d59d10SLuca Weiss				     <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH 0>,
1864*d9d59d10SLuca Weiss				     <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH 0>,
1865*d9d59d10SLuca Weiss				     <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH 0>,
1866*d9d59d10SLuca Weiss				     <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH 0>,
1867*d9d59d10SLuca Weiss				     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH 0>,
1868*d9d59d10SLuca Weiss				     <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH 0>,
1869*d9d59d10SLuca Weiss				     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH 0>,
1870*d9d59d10SLuca Weiss				     <GIC_SPI 706 IRQ_TYPE_LEVEL_HIGH 0>,
1871*d9d59d10SLuca Weiss				     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH 0>,
1872*d9d59d10SLuca Weiss				     <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH 0>,
1873*d9d59d10SLuca Weiss				     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>,
1874*d9d59d10SLuca Weiss				     <GIC_SPI 689 IRQ_TYPE_LEVEL_HIGH 0>,
1875*d9d59d10SLuca Weiss				     <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH 0>,
1876*d9d59d10SLuca Weiss				     <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH 0>,
1877*d9d59d10SLuca Weiss				     <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH 0>,
1878*d9d59d10SLuca Weiss				     <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH 0>,
1879*d9d59d10SLuca Weiss				     <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH 0>,
1880*d9d59d10SLuca Weiss				     <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH 0>,
1881*d9d59d10SLuca Weiss				     <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH 0>;
1882*d9d59d10SLuca Weiss			dma-coherent;
1883*d9d59d10SLuca Weiss		};
1884*d9d59d10SLuca Weiss
1885*d9d59d10SLuca Weiss		intc: interrupt-controller@17100000 {
1886*d9d59d10SLuca Weiss			compatible = "arm,gic-v3";
1887*d9d59d10SLuca Weiss			reg = <0x0 0x17100000 0x0 0x10000>,
1888*d9d59d10SLuca Weiss			      <0x0 0x17180000 0x0 0x200000>;
1889*d9d59d10SLuca Weiss
1890*d9d59d10SLuca Weiss			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
1891*d9d59d10SLuca Weiss
1892*d9d59d10SLuca Weiss			#interrupt-cells = <4>;
1893*d9d59d10SLuca Weiss			interrupt-controller;
1894*d9d59d10SLuca Weiss
1895*d9d59d10SLuca Weiss			#redistributor-regions = <1>;
1896*d9d59d10SLuca Weiss			redistributor-stride = <0 0x40000>;
1897*d9d59d10SLuca Weiss
1898*d9d59d10SLuca Weiss			#address-cells = <2>;
1899*d9d59d10SLuca Weiss			#size-cells = <2>;
1900*d9d59d10SLuca Weiss			ranges;
1901*d9d59d10SLuca Weiss
1902*d9d59d10SLuca Weiss			ppi-partitions {
1903*d9d59d10SLuca Weiss				ppi_cluster0: interrupt-partition-0 {
1904*d9d59d10SLuca Weiss					affinity = <&cpu0 &cpu1 &cpu2 &cpu3>;
1905*d9d59d10SLuca Weiss				};
1906*d9d59d10SLuca Weiss
1907*d9d59d10SLuca Weiss				ppi_cluster1: interrupt-partition-1 {
1908*d9d59d10SLuca Weiss					affinity = <&cpu4 &cpu5 &cpu6 &cpu7>;
1909*d9d59d10SLuca Weiss				};
1910*d9d59d10SLuca Weiss			};
1911*d9d59d10SLuca Weiss
1912*d9d59d10SLuca Weiss			gic_its: msi-controller@17140000 {
1913*d9d59d10SLuca Weiss				compatible = "arm,gic-v3-its";
1914*d9d59d10SLuca Weiss				reg = <0x0 0x17140000 0x0 0x20000>;
1915*d9d59d10SLuca Weiss
1916*d9d59d10SLuca Weiss				msi-controller;
1917*d9d59d10SLuca Weiss				#msi-cells = <1>;
1918*d9d59d10SLuca Weiss			};
1919*d9d59d10SLuca Weiss		};
1920*d9d59d10SLuca Weiss
1921*d9d59d10SLuca Weiss		timer@17420000 {
1922*d9d59d10SLuca Weiss			compatible = "arm,armv7-timer-mem";
1923*d9d59d10SLuca Weiss			reg = <0x0 0x17420000 0x0 0x1000>;
1924*d9d59d10SLuca Weiss
1925*d9d59d10SLuca Weiss			ranges = <0 0 0 0x20000000>;
1926*d9d59d10SLuca Weiss			#address-cells = <1>;
1927*d9d59d10SLuca Weiss			#size-cells = <1>;
1928*d9d59d10SLuca Weiss
1929*d9d59d10SLuca Weiss			frame@17421000 {
1930*d9d59d10SLuca Weiss				reg = <0x17421000 0x1000>,
1931*d9d59d10SLuca Weiss				      <0x17422000 0x1000>;
1932*d9d59d10SLuca Weiss
1933*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>,
1934*d9d59d10SLuca Weiss					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
1935*d9d59d10SLuca Weiss
1936*d9d59d10SLuca Weiss				frame-number = <0>;
1937*d9d59d10SLuca Weiss			};
1938*d9d59d10SLuca Weiss
1939*d9d59d10SLuca Weiss			frame@17423000 {
1940*d9d59d10SLuca Weiss				reg = <0x17423000 0x1000>;
1941*d9d59d10SLuca Weiss
1942*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
1943*d9d59d10SLuca Weiss
1944*d9d59d10SLuca Weiss				frame-number = <1>;
1945*d9d59d10SLuca Weiss
1946*d9d59d10SLuca Weiss				status = "disabled";
1947*d9d59d10SLuca Weiss			};
1948*d9d59d10SLuca Weiss
1949*d9d59d10SLuca Weiss			frame@17425000 {
1950*d9d59d10SLuca Weiss				reg = <0x17425000 0x1000>;
1951*d9d59d10SLuca Weiss
1952*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>;
1953*d9d59d10SLuca Weiss
1954*d9d59d10SLuca Weiss				frame-number = <2>;
1955*d9d59d10SLuca Weiss
1956*d9d59d10SLuca Weiss				status = "disabled";
1957*d9d59d10SLuca Weiss			};
1958*d9d59d10SLuca Weiss
1959*d9d59d10SLuca Weiss			frame@17427000 {
1960*d9d59d10SLuca Weiss				reg = <0x17427000 0x1000>;
1961*d9d59d10SLuca Weiss
1962*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>;
1963*d9d59d10SLuca Weiss
1964*d9d59d10SLuca Weiss				frame-number = <3>;
1965*d9d59d10SLuca Weiss
1966*d9d59d10SLuca Weiss				status = "disabled";
1967*d9d59d10SLuca Weiss			};
1968*d9d59d10SLuca Weiss
1969*d9d59d10SLuca Weiss			frame@17429000 {
1970*d9d59d10SLuca Weiss				reg = <0x17429000 0x1000>;
1971*d9d59d10SLuca Weiss
1972*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
1973*d9d59d10SLuca Weiss
1974*d9d59d10SLuca Weiss				frame-number = <4>;
1975*d9d59d10SLuca Weiss
1976*d9d59d10SLuca Weiss				status = "disabled";
1977*d9d59d10SLuca Weiss			};
1978*d9d59d10SLuca Weiss
1979*d9d59d10SLuca Weiss			frame@1742b000 {
1980*d9d59d10SLuca Weiss				reg = <0x1742b000 0x1000>;
1981*d9d59d10SLuca Weiss
1982*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH 0>;
1983*d9d59d10SLuca Weiss
1984*d9d59d10SLuca Weiss				frame-number = <5>;
1985*d9d59d10SLuca Weiss
1986*d9d59d10SLuca Weiss				status = "disabled";
1987*d9d59d10SLuca Weiss			};
1988*d9d59d10SLuca Weiss
1989*d9d59d10SLuca Weiss			frame@1742d000 {
1990*d9d59d10SLuca Weiss				reg = <0x1742d000 0x1000>;
1991*d9d59d10SLuca Weiss
1992*d9d59d10SLuca Weiss				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH 0>;
1993*d9d59d10SLuca Weiss
1994*d9d59d10SLuca Weiss				frame-number = <6>;
1995*d9d59d10SLuca Weiss
1996*d9d59d10SLuca Weiss				status = "disabled";
1997*d9d59d10SLuca Weiss			};
1998*d9d59d10SLuca Weiss		};
1999*d9d59d10SLuca Weiss
2000*d9d59d10SLuca Weiss		apps_rsc: rsc@17a00000 {
2001*d9d59d10SLuca Weiss			compatible = "qcom,rpmh-rsc";
2002*d9d59d10SLuca Weiss			reg = <0x0 0x17a00000 0x0 0x10000>,
2003*d9d59d10SLuca Weiss			      <0x0 0x17a10000 0x0 0x10000>,
2004*d9d59d10SLuca Weiss			      <0x0 0x17a20000 0x0 0x10000>;
2005*d9d59d10SLuca Weiss			reg-names = "drv-0",
2006*d9d59d10SLuca Weiss				    "drv-1",
2007*d9d59d10SLuca Weiss				    "drv-2";
2008*d9d59d10SLuca Weiss
2009*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH 0>,
2010*d9d59d10SLuca Weiss				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH 0>,
2011*d9d59d10SLuca Weiss				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>;
2012*d9d59d10SLuca Weiss
2013*d9d59d10SLuca Weiss			power-domains = <&cluster_pd>;
2014*d9d59d10SLuca Weiss
2015*d9d59d10SLuca Weiss			qcom,tcs-offset = <0xd00>;
2016*d9d59d10SLuca Weiss			qcom,drv-id = <2>;
2017*d9d59d10SLuca Weiss			qcom,tcs-config = <ACTIVE_TCS    3>, <SLEEP_TCS     2>,
2018*d9d59d10SLuca Weiss					  <WAKE_TCS      2>, <CONTROL_TCS   0>;
2019*d9d59d10SLuca Weiss
2020*d9d59d10SLuca Weiss			label = "apps_rsc";
2021*d9d59d10SLuca Weiss
2022*d9d59d10SLuca Weiss			apps_bcm_voter: bcm-voter {
2023*d9d59d10SLuca Weiss				compatible = "qcom,bcm-voter";
2024*d9d59d10SLuca Weiss			};
2025*d9d59d10SLuca Weiss
2026*d9d59d10SLuca Weiss			rpmhcc: clock-controller {
2027*d9d59d10SLuca Weiss				compatible = "qcom,milos-rpmh-clk";
2028*d9d59d10SLuca Weiss
2029*d9d59d10SLuca Weiss				clocks = <&xo_board>;
2030*d9d59d10SLuca Weiss				clock-names = "xo";
2031*d9d59d10SLuca Weiss
2032*d9d59d10SLuca Weiss				#clock-cells = <1>;
2033*d9d59d10SLuca Weiss			};
2034*d9d59d10SLuca Weiss
2035*d9d59d10SLuca Weiss			rpmhpd: power-controller {
2036*d9d59d10SLuca Weiss				compatible = "qcom,milos-rpmhpd";
2037*d9d59d10SLuca Weiss				#power-domain-cells = <1>;
2038*d9d59d10SLuca Weiss				operating-points-v2 = <&rpmhpd_opp_table>;
2039*d9d59d10SLuca Weiss
2040*d9d59d10SLuca Weiss				rpmhpd_opp_table: opp-table {
2041*d9d59d10SLuca Weiss					compatible = "operating-points-v2";
2042*d9d59d10SLuca Weiss
2043*d9d59d10SLuca Weiss					rpmhpd_opp_ret: opp-16 {
2044*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
2045*d9d59d10SLuca Weiss					};
2046*d9d59d10SLuca Weiss
2047*d9d59d10SLuca Weiss					rpmhpd_opp_low_svs_d1: opp-56 {
2048*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
2049*d9d59d10SLuca Weiss					};
2050*d9d59d10SLuca Weiss
2051*d9d59d10SLuca Weiss					rpmhpd_opp_low_svs: opp-64 {
2052*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2053*d9d59d10SLuca Weiss					};
2054*d9d59d10SLuca Weiss
2055*d9d59d10SLuca Weiss					rpmhpd_opp_svs: opp-128 {
2056*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2057*d9d59d10SLuca Weiss					};
2058*d9d59d10SLuca Weiss
2059*d9d59d10SLuca Weiss					rpmhpd_opp_svs_l1: opp-192 {
2060*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2061*d9d59d10SLuca Weiss					};
2062*d9d59d10SLuca Weiss
2063*d9d59d10SLuca Weiss					rpmhpd_opp_nom: opp-256 {
2064*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2065*d9d59d10SLuca Weiss					};
2066*d9d59d10SLuca Weiss
2067*d9d59d10SLuca Weiss					rpmhpd_opp_nom_l1: opp-320 {
2068*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2069*d9d59d10SLuca Weiss					};
2070*d9d59d10SLuca Weiss
2071*d9d59d10SLuca Weiss					rpmhpd_opp_turbo: opp-384 {
2072*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
2073*d9d59d10SLuca Weiss					};
2074*d9d59d10SLuca Weiss
2075*d9d59d10SLuca Weiss					rpmhpd_opp_turbo_l1: opp-416 {
2076*d9d59d10SLuca Weiss						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
2077*d9d59d10SLuca Weiss					};
2078*d9d59d10SLuca Weiss				};
2079*d9d59d10SLuca Weiss			};
2080*d9d59d10SLuca Weiss		};
2081*d9d59d10SLuca Weiss
2082*d9d59d10SLuca Weiss		cpufreq_hw: cpufreq@17d91000 {
2083*d9d59d10SLuca Weiss			compatible = "qcom,milos-cpufreq-epss", "qcom,cpufreq-epss";
2084*d9d59d10SLuca Weiss			reg = <0x0 0x17d91000 0x0 0x1000>,
2085*d9d59d10SLuca Weiss			      <0x0 0x17d92000 0x0 0x1000>,
2086*d9d59d10SLuca Weiss			      <0x0 0x17d93000 0x0 0x1000>;
2087*d9d59d10SLuca Weiss			reg-names = "freq-domain0",
2088*d9d59d10SLuca Weiss				    "freq-domain1",
2089*d9d59d10SLuca Weiss				    "freq-domain2";
2090*d9d59d10SLuca Weiss
2091*d9d59d10SLuca Weiss			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>,
2092*d9d59d10SLuca Weiss				     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH 0>,
2093*d9d59d10SLuca Weiss				     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH 0>;
2094*d9d59d10SLuca Weiss			interrupt-names = "dcvsh-irq-0",
2095*d9d59d10SLuca Weiss					  "dcvsh-irq-1",
2096*d9d59d10SLuca Weiss					  "dcvsh-irq-2";
2097*d9d59d10SLuca Weiss
2098*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>,
2099*d9d59d10SLuca Weiss				 <&gcc GCC_GPLL0>;
2100*d9d59d10SLuca Weiss			clock-names = "xo",
2101*d9d59d10SLuca Weiss				      "alternate";
2102*d9d59d10SLuca Weiss
2103*d9d59d10SLuca Weiss			#freq-domain-cells = <1>;
2104*d9d59d10SLuca Weiss			#clock-cells = <1>;
2105*d9d59d10SLuca Weiss		};
2106*d9d59d10SLuca Weiss
2107*d9d59d10SLuca Weiss		gem_noc: interconnect@24100000 {
2108*d9d59d10SLuca Weiss			compatible = "qcom,milos-gem-noc";
2109*d9d59d10SLuca Weiss			reg = <0x0 0x24100000 0x0 0xff080>;
2110*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
2111*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
2112*d9d59d10SLuca Weiss		};
2113*d9d59d10SLuca Weiss
2114*d9d59d10SLuca Weiss		nsp_noc: interconnect@320c0000 {
2115*d9d59d10SLuca Weiss			compatible = "qcom,milos-nsp-noc";
2116*d9d59d10SLuca Weiss			reg = <0x0 0x320c0000 0x0 0xe080>;
2117*d9d59d10SLuca Weiss			#interconnect-cells = <2>;
2118*d9d59d10SLuca Weiss			qcom,bcm-voters = <&apps_bcm_voter>;
2119*d9d59d10SLuca Weiss		};
2120*d9d59d10SLuca Weiss
2121*d9d59d10SLuca Weiss		remoteproc_cdsp: remoteproc@32300000 {
2122*d9d59d10SLuca Weiss			compatible = "qcom,milos-cdsp-pas";
2123*d9d59d10SLuca Weiss			reg = <0x0 0x32300000 0x0 0x10000>;
2124*d9d59d10SLuca Weiss
2125*d9d59d10SLuca Weiss			interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING 0>,
2126*d9d59d10SLuca Weiss					      <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
2127*d9d59d10SLuca Weiss					      <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
2128*d9d59d10SLuca Weiss					      <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
2129*d9d59d10SLuca Weiss					      <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>,
2130*d9d59d10SLuca Weiss					      <&smp2p_cdsp_in 7 IRQ_TYPE_EDGE_RISING>;
2131*d9d59d10SLuca Weiss			interrupt-names = "wdog",
2132*d9d59d10SLuca Weiss					  "fatal",
2133*d9d59d10SLuca Weiss					  "ready",
2134*d9d59d10SLuca Weiss					  "handover",
2135*d9d59d10SLuca Weiss					  "stop-ack",
2136*d9d59d10SLuca Weiss					  "shutdown-ack";
2137*d9d59d10SLuca Weiss
2138*d9d59d10SLuca Weiss			clocks = <&rpmhcc RPMH_CXO_CLK>;
2139*d9d59d10SLuca Weiss			clock-names = "xo";
2140*d9d59d10SLuca Weiss
2141*d9d59d10SLuca Weiss			power-domains = <&rpmhpd RPMHPD_CX>,
2142*d9d59d10SLuca Weiss					<&rpmhpd RPMHPD_MX>;
2143*d9d59d10SLuca Weiss			power-domain-names = "cx",
2144*d9d59d10SLuca Weiss					     "mx";
2145*d9d59d10SLuca Weiss
2146*d9d59d10SLuca Weiss			interconnects = <&nsp_noc MASTER_CDSP_PROC QCOM_ICC_TAG_ALWAYS
2147*d9d59d10SLuca Weiss					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
2148*d9d59d10SLuca Weiss
2149*d9d59d10SLuca Weiss			memory-region = <&cdsp_mem>, <&q6_cdsp_dtb_mem>;
2150*d9d59d10SLuca Weiss
2151*d9d59d10SLuca Weiss			qcom,qmp = <&aoss_qmp>;
2152*d9d59d10SLuca Weiss
2153*d9d59d10SLuca Weiss			qcom,smem-states = <&smp2p_cdsp_out 0>;
2154*d9d59d10SLuca Weiss			qcom,smem-state-names = "stop";
2155*d9d59d10SLuca Weiss
2156*d9d59d10SLuca Weiss			status = "disabled";
2157*d9d59d10SLuca Weiss
2158*d9d59d10SLuca Weiss			glink-edge {
2159*d9d59d10SLuca Weiss				interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
2160*d9d59d10SLuca Weiss							     IPCC_MPROC_SIGNAL_GLINK_QMP
2161*d9d59d10SLuca Weiss							     IRQ_TYPE_EDGE_RISING>;
2162*d9d59d10SLuca Weiss				mboxes = <&ipcc IPCC_CLIENT_CDSP
2163*d9d59d10SLuca Weiss						IPCC_MPROC_SIGNAL_GLINK_QMP>;
2164*d9d59d10SLuca Weiss
2165*d9d59d10SLuca Weiss				label = "cdsp";
2166*d9d59d10SLuca Weiss				qcom,remote-pid = <5>;
2167*d9d59d10SLuca Weiss			};
2168*d9d59d10SLuca Weiss		};
2169*d9d59d10SLuca Weiss	};
2170*d9d59d10SLuca Weiss
2171*d9d59d10SLuca Weiss	thermal-zones {
2172*d9d59d10SLuca Weiss		aoss0-thermal {
2173*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 0>;
2174*d9d59d10SLuca Weiss
2175*d9d59d10SLuca Weiss			trips {
2176*d9d59d10SLuca Weiss				aoss0-hot {
2177*d9d59d10SLuca Weiss					temperature = <110000>;
2178*d9d59d10SLuca Weiss					hysteresis = <1000>;
2179*d9d59d10SLuca Weiss					type = "hot";
2180*d9d59d10SLuca Weiss				};
2181*d9d59d10SLuca Weiss
2182*d9d59d10SLuca Weiss				aoss0-critical {
2183*d9d59d10SLuca Weiss					temperature = <115000>;
2184*d9d59d10SLuca Weiss					hysteresis = <0>;
2185*d9d59d10SLuca Weiss					type = "critical";
2186*d9d59d10SLuca Weiss				};
2187*d9d59d10SLuca Weiss			};
2188*d9d59d10SLuca Weiss		};
2189*d9d59d10SLuca Weiss
2190*d9d59d10SLuca Weiss		cpuss0-thermal {
2191*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 1>;
2192*d9d59d10SLuca Weiss
2193*d9d59d10SLuca Weiss			trips {
2194*d9d59d10SLuca Weiss				cpuss0-critical {
2195*d9d59d10SLuca Weiss					temperature = <115000>;
2196*d9d59d10SLuca Weiss					hysteresis = <0>;
2197*d9d59d10SLuca Weiss					type = "critical";
2198*d9d59d10SLuca Weiss				};
2199*d9d59d10SLuca Weiss			};
2200*d9d59d10SLuca Weiss		};
2201*d9d59d10SLuca Weiss
2202*d9d59d10SLuca Weiss		cpuss1-thermal {
2203*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 2>;
2204*d9d59d10SLuca Weiss
2205*d9d59d10SLuca Weiss			trips {
2206*d9d59d10SLuca Weiss				cpuss1-critical {
2207*d9d59d10SLuca Weiss					temperature = <115000>;
2208*d9d59d10SLuca Weiss					hysteresis = <0>;
2209*d9d59d10SLuca Weiss					type = "critical";
2210*d9d59d10SLuca Weiss				};
2211*d9d59d10SLuca Weiss			};
2212*d9d59d10SLuca Weiss		};
2213*d9d59d10SLuca Weiss
2214*d9d59d10SLuca Weiss		cpu4-left-thermal {
2215*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 3>;
2216*d9d59d10SLuca Weiss
2217*d9d59d10SLuca Weiss			trips {
2218*d9d59d10SLuca Weiss				cpu4-left-critical {
2219*d9d59d10SLuca Weiss					temperature = <110000>;
2220*d9d59d10SLuca Weiss					hysteresis = <1000>;
2221*d9d59d10SLuca Weiss					type = "critical";
2222*d9d59d10SLuca Weiss				};
2223*d9d59d10SLuca Weiss			};
2224*d9d59d10SLuca Weiss		};
2225*d9d59d10SLuca Weiss
2226*d9d59d10SLuca Weiss		cpu4-right-thermal {
2227*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 4>;
2228*d9d59d10SLuca Weiss
2229*d9d59d10SLuca Weiss			trips {
2230*d9d59d10SLuca Weiss				cpu4-right-critical {
2231*d9d59d10SLuca Weiss					temperature = <110000>;
2232*d9d59d10SLuca Weiss					hysteresis = <1000>;
2233*d9d59d10SLuca Weiss					type = "critical";
2234*d9d59d10SLuca Weiss				};
2235*d9d59d10SLuca Weiss			};
2236*d9d59d10SLuca Weiss		};
2237*d9d59d10SLuca Weiss
2238*d9d59d10SLuca Weiss		cpu5-left-thermal {
2239*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 5>;
2240*d9d59d10SLuca Weiss
2241*d9d59d10SLuca Weiss			trips {
2242*d9d59d10SLuca Weiss				cpu5-left-critical {
2243*d9d59d10SLuca Weiss					temperature = <110000>;
2244*d9d59d10SLuca Weiss					hysteresis = <1000>;
2245*d9d59d10SLuca Weiss					type = "critical";
2246*d9d59d10SLuca Weiss				};
2247*d9d59d10SLuca Weiss			};
2248*d9d59d10SLuca Weiss		};
2249*d9d59d10SLuca Weiss
2250*d9d59d10SLuca Weiss		cpu5-right-thermal {
2251*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 6>;
2252*d9d59d10SLuca Weiss
2253*d9d59d10SLuca Weiss			trips {
2254*d9d59d10SLuca Weiss				cpu5-right-critical {
2255*d9d59d10SLuca Weiss					temperature = <110000>;
2256*d9d59d10SLuca Weiss					hysteresis = <1000>;
2257*d9d59d10SLuca Weiss					type = "critical";
2258*d9d59d10SLuca Weiss				};
2259*d9d59d10SLuca Weiss			};
2260*d9d59d10SLuca Weiss		};
2261*d9d59d10SLuca Weiss
2262*d9d59d10SLuca Weiss		cpu6-left-thermal {
2263*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 7>;
2264*d9d59d10SLuca Weiss
2265*d9d59d10SLuca Weiss			trips {
2266*d9d59d10SLuca Weiss				cpu6-left-critical {
2267*d9d59d10SLuca Weiss					temperature = <110000>;
2268*d9d59d10SLuca Weiss					hysteresis = <1000>;
2269*d9d59d10SLuca Weiss					type = "critical";
2270*d9d59d10SLuca Weiss				};
2271*d9d59d10SLuca Weiss			};
2272*d9d59d10SLuca Weiss		};
2273*d9d59d10SLuca Weiss
2274*d9d59d10SLuca Weiss		cpu6-right-thermal {
2275*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 8>;
2276*d9d59d10SLuca Weiss
2277*d9d59d10SLuca Weiss			trips {
2278*d9d59d10SLuca Weiss				cpu6-right-critical {
2279*d9d59d10SLuca Weiss					temperature = <110000>;
2280*d9d59d10SLuca Weiss					hysteresis = <1000>;
2281*d9d59d10SLuca Weiss					type = "critical";
2282*d9d59d10SLuca Weiss				};
2283*d9d59d10SLuca Weiss			};
2284*d9d59d10SLuca Weiss		};
2285*d9d59d10SLuca Weiss
2286*d9d59d10SLuca Weiss		cpu7-left-thermal {
2287*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 9>;
2288*d9d59d10SLuca Weiss
2289*d9d59d10SLuca Weiss			trips {
2290*d9d59d10SLuca Weiss				cpu7-left-critical {
2291*d9d59d10SLuca Weiss					temperature = <110000>;
2292*d9d59d10SLuca Weiss					hysteresis = <1000>;
2293*d9d59d10SLuca Weiss					type = "critical";
2294*d9d59d10SLuca Weiss				};
2295*d9d59d10SLuca Weiss			};
2296*d9d59d10SLuca Weiss		};
2297*d9d59d10SLuca Weiss
2298*d9d59d10SLuca Weiss		cpu7-right-thermal {
2299*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 10>;
2300*d9d59d10SLuca Weiss
2301*d9d59d10SLuca Weiss			trips {
2302*d9d59d10SLuca Weiss				cpu7-right-critical {
2303*d9d59d10SLuca Weiss					temperature = <110000>;
2304*d9d59d10SLuca Weiss					hysteresis = <1000>;
2305*d9d59d10SLuca Weiss					type = "critical";
2306*d9d59d10SLuca Weiss				};
2307*d9d59d10SLuca Weiss			};
2308*d9d59d10SLuca Weiss		};
2309*d9d59d10SLuca Weiss
2310*d9d59d10SLuca Weiss		cpu0-thermal {
2311*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 11>;
2312*d9d59d10SLuca Weiss
2313*d9d59d10SLuca Weiss			trips {
2314*d9d59d10SLuca Weiss				cpu0-critical {
2315*d9d59d10SLuca Weiss					temperature = <110000>;
2316*d9d59d10SLuca Weiss					hysteresis = <1000>;
2317*d9d59d10SLuca Weiss					type = "critical";
2318*d9d59d10SLuca Weiss				};
2319*d9d59d10SLuca Weiss			};
2320*d9d59d10SLuca Weiss		};
2321*d9d59d10SLuca Weiss
2322*d9d59d10SLuca Weiss		cpu1-thermal {
2323*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 12>;
2324*d9d59d10SLuca Weiss
2325*d9d59d10SLuca Weiss			trips {
2326*d9d59d10SLuca Weiss				cpu1-critical {
2327*d9d59d10SLuca Weiss					temperature = <110000>;
2328*d9d59d10SLuca Weiss					hysteresis = <1000>;
2329*d9d59d10SLuca Weiss					type = "critical";
2330*d9d59d10SLuca Weiss				};
2331*d9d59d10SLuca Weiss			};
2332*d9d59d10SLuca Weiss		};
2333*d9d59d10SLuca Weiss
2334*d9d59d10SLuca Weiss		cpu2-thermal {
2335*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 13>;
2336*d9d59d10SLuca Weiss
2337*d9d59d10SLuca Weiss			trips {
2338*d9d59d10SLuca Weiss				cpu2-critical {
2339*d9d59d10SLuca Weiss					temperature = <110000>;
2340*d9d59d10SLuca Weiss					hysteresis = <1000>;
2341*d9d59d10SLuca Weiss					type = "critical";
2342*d9d59d10SLuca Weiss				};
2343*d9d59d10SLuca Weiss			};
2344*d9d59d10SLuca Weiss		};
2345*d9d59d10SLuca Weiss
2346*d9d59d10SLuca Weiss		cpu3-thermal {
2347*d9d59d10SLuca Weiss			thermal-sensors = <&tsens0 14>;
2348*d9d59d10SLuca Weiss
2349*d9d59d10SLuca Weiss			trips {
2350*d9d59d10SLuca Weiss				cpu3-critical {
2351*d9d59d10SLuca Weiss					temperature = <110000>;
2352*d9d59d10SLuca Weiss					hysteresis = <1000>;
2353*d9d59d10SLuca Weiss					type = "critical";
2354*d9d59d10SLuca Weiss				};
2355*d9d59d10SLuca Weiss			};
2356*d9d59d10SLuca Weiss		};
2357*d9d59d10SLuca Weiss
2358*d9d59d10SLuca Weiss		aoss1-thermal {
2359*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 0>;
2360*d9d59d10SLuca Weiss
2361*d9d59d10SLuca Weiss			trips {
2362*d9d59d10SLuca Weiss				aoss1-hot {
2363*d9d59d10SLuca Weiss					temperature = <110000>;
2364*d9d59d10SLuca Weiss					hysteresis = <1000>;
2365*d9d59d10SLuca Weiss					type = "hot";
2366*d9d59d10SLuca Weiss				};
2367*d9d59d10SLuca Weiss
2368*d9d59d10SLuca Weiss				aoss1-critical {
2369*d9d59d10SLuca Weiss					temperature = <115000>;
2370*d9d59d10SLuca Weiss					hysteresis = <0>;
2371*d9d59d10SLuca Weiss					type = "critical";
2372*d9d59d10SLuca Weiss				};
2373*d9d59d10SLuca Weiss			};
2374*d9d59d10SLuca Weiss		};
2375*d9d59d10SLuca Weiss
2376*d9d59d10SLuca Weiss		nsphvx0-thermal {
2377*d9d59d10SLuca Weiss			polling-delay-passive = <10>;
2378*d9d59d10SLuca Weiss
2379*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 1>;
2380*d9d59d10SLuca Weiss
2381*d9d59d10SLuca Weiss			trips {
2382*d9d59d10SLuca Weiss				nsphvx0-hot {
2383*d9d59d10SLuca Weiss					temperature = <110000>;
2384*d9d59d10SLuca Weiss					hysteresis = <1000>;
2385*d9d59d10SLuca Weiss					type = "hot";
2386*d9d59d10SLuca Weiss				};
2387*d9d59d10SLuca Weiss
2388*d9d59d10SLuca Weiss				nsphvx0-critical {
2389*d9d59d10SLuca Weiss					temperature = <115000>;
2390*d9d59d10SLuca Weiss					hysteresis = <0>;
2391*d9d59d10SLuca Weiss					type = "critical";
2392*d9d59d10SLuca Weiss				};
2393*d9d59d10SLuca Weiss			};
2394*d9d59d10SLuca Weiss		};
2395*d9d59d10SLuca Weiss
2396*d9d59d10SLuca Weiss		nsphmx1-thermal {
2397*d9d59d10SLuca Weiss			polling-delay-passive = <10>;
2398*d9d59d10SLuca Weiss
2399*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 2>;
2400*d9d59d10SLuca Weiss
2401*d9d59d10SLuca Weiss			trips {
2402*d9d59d10SLuca Weiss				nsphmx1-hot {
2403*d9d59d10SLuca Weiss					temperature = <110000>;
2404*d9d59d10SLuca Weiss					hysteresis = <1000>;
2405*d9d59d10SLuca Weiss					type = "hot";
2406*d9d59d10SLuca Weiss				};
2407*d9d59d10SLuca Weiss
2408*d9d59d10SLuca Weiss				nsphmx1-critical {
2409*d9d59d10SLuca Weiss					temperature = <115000>;
2410*d9d59d10SLuca Weiss					hysteresis = <0>;
2411*d9d59d10SLuca Weiss					type = "critical";
2412*d9d59d10SLuca Weiss				};
2413*d9d59d10SLuca Weiss			};
2414*d9d59d10SLuca Weiss		};
2415*d9d59d10SLuca Weiss
2416*d9d59d10SLuca Weiss		nsphmx0-thermal {
2417*d9d59d10SLuca Weiss			polling-delay-passive = <10>;
2418*d9d59d10SLuca Weiss
2419*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 3>;
2420*d9d59d10SLuca Weiss
2421*d9d59d10SLuca Weiss			trips {
2422*d9d59d10SLuca Weiss				nsphmx0-hot {
2423*d9d59d10SLuca Weiss					temperature = <110000>;
2424*d9d59d10SLuca Weiss					hysteresis = <1000>;
2425*d9d59d10SLuca Weiss					type = "hot";
2426*d9d59d10SLuca Weiss				};
2427*d9d59d10SLuca Weiss
2428*d9d59d10SLuca Weiss				nsphmx0-critical {
2429*d9d59d10SLuca Weiss					temperature = <115000>;
2430*d9d59d10SLuca Weiss					hysteresis = <0>;
2431*d9d59d10SLuca Weiss					type = "critical";
2432*d9d59d10SLuca Weiss				};
2433*d9d59d10SLuca Weiss			};
2434*d9d59d10SLuca Weiss		};
2435*d9d59d10SLuca Weiss
2436*d9d59d10SLuca Weiss		gpuss0-thermal {
2437*d9d59d10SLuca Weiss			polling-delay-passive = <10>;
2438*d9d59d10SLuca Weiss
2439*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 4>;
2440*d9d59d10SLuca Weiss
2441*d9d59d10SLuca Weiss			trips {
2442*d9d59d10SLuca Weiss				gpu0_alert0: trip-point0 {
2443*d9d59d10SLuca Weiss					temperature = <85000>;
2444*d9d59d10SLuca Weiss					hysteresis = <1000>;
2445*d9d59d10SLuca Weiss					type = "passive";
2446*d9d59d10SLuca Weiss				};
2447*d9d59d10SLuca Weiss
2448*d9d59d10SLuca Weiss				trip-point1 {
2449*d9d59d10SLuca Weiss					temperature = <90000>;
2450*d9d59d10SLuca Weiss					hysteresis = <1000>;
2451*d9d59d10SLuca Weiss					type = "hot";
2452*d9d59d10SLuca Weiss				};
2453*d9d59d10SLuca Weiss
2454*d9d59d10SLuca Weiss				gpuss0-critical {
2455*d9d59d10SLuca Weiss					temperature = <110000>;
2456*d9d59d10SLuca Weiss					hysteresis = <1000>;
2457*d9d59d10SLuca Weiss					type = "critical";
2458*d9d59d10SLuca Weiss				};
2459*d9d59d10SLuca Weiss			};
2460*d9d59d10SLuca Weiss		};
2461*d9d59d10SLuca Weiss
2462*d9d59d10SLuca Weiss		gpuss1-thermal {
2463*d9d59d10SLuca Weiss			polling-delay-passive = <10>;
2464*d9d59d10SLuca Weiss
2465*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 5>;
2466*d9d59d10SLuca Weiss
2467*d9d59d10SLuca Weiss			trips {
2468*d9d59d10SLuca Weiss				gpu1_alert0: trip-point0 {
2469*d9d59d10SLuca Weiss					temperature = <85000>;
2470*d9d59d10SLuca Weiss					hysteresis = <1000>;
2471*d9d59d10SLuca Weiss					type = "passive";
2472*d9d59d10SLuca Weiss				};
2473*d9d59d10SLuca Weiss
2474*d9d59d10SLuca Weiss				trip-point1 {
2475*d9d59d10SLuca Weiss					temperature = <90000>;
2476*d9d59d10SLuca Weiss					hysteresis = <1000>;
2477*d9d59d10SLuca Weiss					type = "hot";
2478*d9d59d10SLuca Weiss				};
2479*d9d59d10SLuca Weiss
2480*d9d59d10SLuca Weiss				gpuss1-critical {
2481*d9d59d10SLuca Weiss					temperature = <110000>;
2482*d9d59d10SLuca Weiss					hysteresis = <1000>;
2483*d9d59d10SLuca Weiss					type = "critical";
2484*d9d59d10SLuca Weiss				};
2485*d9d59d10SLuca Weiss			};
2486*d9d59d10SLuca Weiss		};
2487*d9d59d10SLuca Weiss
2488*d9d59d10SLuca Weiss		video-thermal {
2489*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 7>;
2490*d9d59d10SLuca Weiss
2491*d9d59d10SLuca Weiss			trips {
2492*d9d59d10SLuca Weiss				video-hot {
2493*d9d59d10SLuca Weiss					temperature = <110000>;
2494*d9d59d10SLuca Weiss					hysteresis = <1000>;
2495*d9d59d10SLuca Weiss					type = "hot";
2496*d9d59d10SLuca Weiss				};
2497*d9d59d10SLuca Weiss
2498*d9d59d10SLuca Weiss				video-critical {
2499*d9d59d10SLuca Weiss					temperature = <115000>;
2500*d9d59d10SLuca Weiss					hysteresis = <0>;
2501*d9d59d10SLuca Weiss					type = "critical";
2502*d9d59d10SLuca Weiss				};
2503*d9d59d10SLuca Weiss			};
2504*d9d59d10SLuca Weiss		};
2505*d9d59d10SLuca Weiss
2506*d9d59d10SLuca Weiss		ddr-thermal {
2507*d9d59d10SLuca Weiss			polling-delay-passive = <10>;
2508*d9d59d10SLuca Weiss
2509*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 8>;
2510*d9d59d10SLuca Weiss
2511*d9d59d10SLuca Weiss			trips {
2512*d9d59d10SLuca Weiss				ddr-hot {
2513*d9d59d10SLuca Weiss					temperature = <110000>;
2514*d9d59d10SLuca Weiss					hysteresis = <1000>;
2515*d9d59d10SLuca Weiss					type = "hot";
2516*d9d59d10SLuca Weiss				};
2517*d9d59d10SLuca Weiss
2518*d9d59d10SLuca Weiss				ddr-critical {
2519*d9d59d10SLuca Weiss					temperature = <115000>;
2520*d9d59d10SLuca Weiss					hysteresis = <0>;
2521*d9d59d10SLuca Weiss					type = "critical";
2522*d9d59d10SLuca Weiss				};
2523*d9d59d10SLuca Weiss			};
2524*d9d59d10SLuca Weiss		};
2525*d9d59d10SLuca Weiss
2526*d9d59d10SLuca Weiss		camera0-thermal {
2527*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 9>;
2528*d9d59d10SLuca Weiss
2529*d9d59d10SLuca Weiss			trips {
2530*d9d59d10SLuca Weiss				camera0-hot {
2531*d9d59d10SLuca Weiss					temperature = <110000>;
2532*d9d59d10SLuca Weiss					hysteresis = <1000>;
2533*d9d59d10SLuca Weiss					type = "hot";
2534*d9d59d10SLuca Weiss				};
2535*d9d59d10SLuca Weiss
2536*d9d59d10SLuca Weiss				camera0-critical {
2537*d9d59d10SLuca Weiss					temperature = <115000>;
2538*d9d59d10SLuca Weiss					hysteresis = <0>;
2539*d9d59d10SLuca Weiss					type = "critical";
2540*d9d59d10SLuca Weiss				};
2541*d9d59d10SLuca Weiss			};
2542*d9d59d10SLuca Weiss		};
2543*d9d59d10SLuca Weiss
2544*d9d59d10SLuca Weiss		modem0-thermal {
2545*d9d59d10SLuca Weiss			polling-delay-passive = <100>;
2546*d9d59d10SLuca Weiss
2547*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 10>;
2548*d9d59d10SLuca Weiss
2549*d9d59d10SLuca Weiss			trips {
2550*d9d59d10SLuca Weiss				modem0-hot {
2551*d9d59d10SLuca Weiss					temperature = <110000>;
2552*d9d59d10SLuca Weiss					hysteresis = <1000>;
2553*d9d59d10SLuca Weiss					type = "hot";
2554*d9d59d10SLuca Weiss				};
2555*d9d59d10SLuca Weiss
2556*d9d59d10SLuca Weiss				modem0-critical {
2557*d9d59d10SLuca Weiss					temperature = <115000>;
2558*d9d59d10SLuca Weiss					hysteresis = <0>;
2559*d9d59d10SLuca Weiss					type = "critical";
2560*d9d59d10SLuca Weiss				};
2561*d9d59d10SLuca Weiss			};
2562*d9d59d10SLuca Weiss		};
2563*d9d59d10SLuca Weiss
2564*d9d59d10SLuca Weiss		modem1-thermal {
2565*d9d59d10SLuca Weiss			polling-delay-passive = <100>;
2566*d9d59d10SLuca Weiss
2567*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 11>;
2568*d9d59d10SLuca Weiss
2569*d9d59d10SLuca Weiss			trips {
2570*d9d59d10SLuca Weiss				modem1-hot {
2571*d9d59d10SLuca Weiss					temperature = <110000>;
2572*d9d59d10SLuca Weiss					hysteresis = <1000>;
2573*d9d59d10SLuca Weiss					type = "hot";
2574*d9d59d10SLuca Weiss				};
2575*d9d59d10SLuca Weiss
2576*d9d59d10SLuca Weiss				modem1-critical {
2577*d9d59d10SLuca Weiss					temperature = <115000>;
2578*d9d59d10SLuca Weiss					hysteresis = <0>;
2579*d9d59d10SLuca Weiss					type = "critical";
2580*d9d59d10SLuca Weiss				};
2581*d9d59d10SLuca Weiss			};
2582*d9d59d10SLuca Weiss		};
2583*d9d59d10SLuca Weiss
2584*d9d59d10SLuca Weiss		modem2-thermal {
2585*d9d59d10SLuca Weiss			polling-delay-passive = <100>;
2586*d9d59d10SLuca Weiss
2587*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 12>;
2588*d9d59d10SLuca Weiss
2589*d9d59d10SLuca Weiss			trips {
2590*d9d59d10SLuca Weiss				modem2-hot {
2591*d9d59d10SLuca Weiss					temperature = <110000>;
2592*d9d59d10SLuca Weiss					hysteresis = <1000>;
2593*d9d59d10SLuca Weiss					type = "hot";
2594*d9d59d10SLuca Weiss				};
2595*d9d59d10SLuca Weiss
2596*d9d59d10SLuca Weiss				modem2-critical {
2597*d9d59d10SLuca Weiss					temperature = <115000>;
2598*d9d59d10SLuca Weiss					hysteresis = <0>;
2599*d9d59d10SLuca Weiss					type = "critical";
2600*d9d59d10SLuca Weiss				};
2601*d9d59d10SLuca Weiss			};
2602*d9d59d10SLuca Weiss		};
2603*d9d59d10SLuca Weiss
2604*d9d59d10SLuca Weiss		modem3-thermal {
2605*d9d59d10SLuca Weiss			polling-delay-passive = <100>;
2606*d9d59d10SLuca Weiss
2607*d9d59d10SLuca Weiss			thermal-sensors = <&tsens1 13>;
2608*d9d59d10SLuca Weiss
2609*d9d59d10SLuca Weiss			trips {
2610*d9d59d10SLuca Weiss				modem3-hot {
2611*d9d59d10SLuca Weiss					temperature = <110000>;
2612*d9d59d10SLuca Weiss					hysteresis = <1000>;
2613*d9d59d10SLuca Weiss					type = "hot";
2614*d9d59d10SLuca Weiss				};
2615*d9d59d10SLuca Weiss
2616*d9d59d10SLuca Weiss				modem3-critical {
2617*d9d59d10SLuca Weiss					temperature = <115000>;
2618*d9d59d10SLuca Weiss					hysteresis = <0>;
2619*d9d59d10SLuca Weiss					type = "critical";
2620*d9d59d10SLuca Weiss				};
2621*d9d59d10SLuca Weiss			};
2622*d9d59d10SLuca Weiss		};
2623*d9d59d10SLuca Weiss	};
2624*d9d59d10SLuca Weiss
2625*d9d59d10SLuca Weiss	timer {
2626*d9d59d10SLuca Weiss		compatible = "arm,armv8-timer";
2627*d9d59d10SLuca Weiss
2628*d9d59d10SLuca Weiss		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
2629*d9d59d10SLuca Weiss			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
2630*d9d59d10SLuca Weiss			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
2631*d9d59d10SLuca Weiss			     <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW 0>;
2632*d9d59d10SLuca Weiss	};
2633*d9d59d10SLuca Weiss};
2634