xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/msm8976.dtsi (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1*8bab661aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2*8bab661aSEmmanuel Vadot/*
3*8bab661aSEmmanuel Vadot * Copyright (c) 2016-2022, AngeloGioacchino Del Regno
4*8bab661aSEmmanuel Vadot *                          <angelogioacchino.delregno@collabora.com>
5*8bab661aSEmmanuel Vadot * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
6*8bab661aSEmmanuel Vadot * Copyright (c) 2022, Marijn Suijten <marijn.suijten@somainline.org>
7*8bab661aSEmmanuel Vadot */
8*8bab661aSEmmanuel Vadot
9*8bab661aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8976.h>
10*8bab661aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h>
11*8bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12*8bab661aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
13*8bab661aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
14*8bab661aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
15*8bab661aSEmmanuel Vadot
16*8bab661aSEmmanuel Vadot/ {
17*8bab661aSEmmanuel Vadot	interrupt-parent = <&intc>;
18*8bab661aSEmmanuel Vadot	#address-cells = <2>;
19*8bab661aSEmmanuel Vadot	#size-cells = <2>;
20*8bab661aSEmmanuel Vadot
21*8bab661aSEmmanuel Vadot	chosen { };
22*8bab661aSEmmanuel Vadot
23*8bab661aSEmmanuel Vadot	cpus {
24*8bab661aSEmmanuel Vadot		#address-cells = <1>;
25*8bab661aSEmmanuel Vadot		#size-cells = <0>;
26*8bab661aSEmmanuel Vadot
27*8bab661aSEmmanuel Vadot		CPU0: cpu@0 {
28*8bab661aSEmmanuel Vadot			device_type = "cpu";
29*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
30*8bab661aSEmmanuel Vadot			reg = <0x0>;
31*8bab661aSEmmanuel Vadot			enable-method = "psci";
32*8bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
33*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
34*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
35*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
36*8bab661aSEmmanuel Vadot		};
37*8bab661aSEmmanuel Vadot
38*8bab661aSEmmanuel Vadot		CPU1: cpu@1 {
39*8bab661aSEmmanuel Vadot			device_type = "cpu";
40*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
41*8bab661aSEmmanuel Vadot			reg = <0x1>;
42*8bab661aSEmmanuel Vadot			enable-method = "psci";
43*8bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
44*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
45*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
46*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
47*8bab661aSEmmanuel Vadot		};
48*8bab661aSEmmanuel Vadot
49*8bab661aSEmmanuel Vadot		CPU2: cpu@2 {
50*8bab661aSEmmanuel Vadot			device_type = "cpu";
51*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
52*8bab661aSEmmanuel Vadot			reg = <0x2>;
53*8bab661aSEmmanuel Vadot			enable-method = "psci";
54*8bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
55*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
56*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
57*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
58*8bab661aSEmmanuel Vadot		};
59*8bab661aSEmmanuel Vadot
60*8bab661aSEmmanuel Vadot		CPU3: cpu@3 {
61*8bab661aSEmmanuel Vadot			device_type = "cpu";
62*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a53";
63*8bab661aSEmmanuel Vadot			reg = <0x3>;
64*8bab661aSEmmanuel Vadot			enable-method = "psci";
65*8bab661aSEmmanuel Vadot			cpu-idle-states = <&little_cpu_sleep_0>;
66*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <573>;
67*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_0>;
68*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
69*8bab661aSEmmanuel Vadot		};
70*8bab661aSEmmanuel Vadot
71*8bab661aSEmmanuel Vadot		CPU4: cpu@100 {
72*8bab661aSEmmanuel Vadot			device_type = "cpu";
73*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
74*8bab661aSEmmanuel Vadot			reg = <0x100>;
75*8bab661aSEmmanuel Vadot			enable-method = "psci";
76*8bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
77*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
78*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
79*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
80*8bab661aSEmmanuel Vadot		};
81*8bab661aSEmmanuel Vadot
82*8bab661aSEmmanuel Vadot		CPU5: cpu@101 {
83*8bab661aSEmmanuel Vadot			device_type = "cpu";
84*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
85*8bab661aSEmmanuel Vadot			reg = <0x101>;
86*8bab661aSEmmanuel Vadot			enable-method = "psci";
87*8bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
88*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
89*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
90*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
91*8bab661aSEmmanuel Vadot		};
92*8bab661aSEmmanuel Vadot
93*8bab661aSEmmanuel Vadot		CPU6: cpu@102 {
94*8bab661aSEmmanuel Vadot			device_type = "cpu";
95*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
96*8bab661aSEmmanuel Vadot			reg = <0x102>;
97*8bab661aSEmmanuel Vadot			enable-method = "psci";
98*8bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
99*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
100*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
101*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
102*8bab661aSEmmanuel Vadot		};
103*8bab661aSEmmanuel Vadot
104*8bab661aSEmmanuel Vadot		CPU7: cpu@103 {
105*8bab661aSEmmanuel Vadot			device_type = "cpu";
106*8bab661aSEmmanuel Vadot			compatible = "arm,cortex-a72";
107*8bab661aSEmmanuel Vadot			reg = <0x103>;
108*8bab661aSEmmanuel Vadot			enable-method = "psci";
109*8bab661aSEmmanuel Vadot			cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
110*8bab661aSEmmanuel Vadot			capacity-dmips-mhz = <1024>;
111*8bab661aSEmmanuel Vadot			next-level-cache = <&l2_1>;
112*8bab661aSEmmanuel Vadot			#cooling-cells = <2>;
113*8bab661aSEmmanuel Vadot		};
114*8bab661aSEmmanuel Vadot
115*8bab661aSEmmanuel Vadot		cpu-map {
116*8bab661aSEmmanuel Vadot			cluster0 {
117*8bab661aSEmmanuel Vadot				core0 {
118*8bab661aSEmmanuel Vadot					cpu = <&CPU0>;
119*8bab661aSEmmanuel Vadot				};
120*8bab661aSEmmanuel Vadot
121*8bab661aSEmmanuel Vadot				core1 {
122*8bab661aSEmmanuel Vadot					cpu = <&CPU1>;
123*8bab661aSEmmanuel Vadot				};
124*8bab661aSEmmanuel Vadot
125*8bab661aSEmmanuel Vadot				core2 {
126*8bab661aSEmmanuel Vadot					cpu = <&CPU2>;
127*8bab661aSEmmanuel Vadot				};
128*8bab661aSEmmanuel Vadot
129*8bab661aSEmmanuel Vadot				core3 {
130*8bab661aSEmmanuel Vadot					cpu = <&CPU3>;
131*8bab661aSEmmanuel Vadot				};
132*8bab661aSEmmanuel Vadot			};
133*8bab661aSEmmanuel Vadot
134*8bab661aSEmmanuel Vadot			cluster1 {
135*8bab661aSEmmanuel Vadot				core0 {
136*8bab661aSEmmanuel Vadot					cpu = <&CPU4>;
137*8bab661aSEmmanuel Vadot				};
138*8bab661aSEmmanuel Vadot
139*8bab661aSEmmanuel Vadot				core1 {
140*8bab661aSEmmanuel Vadot					cpu = <&CPU5>;
141*8bab661aSEmmanuel Vadot				};
142*8bab661aSEmmanuel Vadot
143*8bab661aSEmmanuel Vadot				core2 {
144*8bab661aSEmmanuel Vadot					cpu = <&CPU6>;
145*8bab661aSEmmanuel Vadot				};
146*8bab661aSEmmanuel Vadot
147*8bab661aSEmmanuel Vadot				core3 {
148*8bab661aSEmmanuel Vadot					cpu = <&CPU7>;
149*8bab661aSEmmanuel Vadot				};
150*8bab661aSEmmanuel Vadot			};
151*8bab661aSEmmanuel Vadot		};
152*8bab661aSEmmanuel Vadot
153*8bab661aSEmmanuel Vadot		idle-states {
154*8bab661aSEmmanuel Vadot			entry-method = "psci";
155*8bab661aSEmmanuel Vadot
156*8bab661aSEmmanuel Vadot			little_cpu_sleep_0: cpu-sleep-0-0 {
157*8bab661aSEmmanuel Vadot				compatible = "arm,idle-state";
158*8bab661aSEmmanuel Vadot				idle-state-name = "little-power-collapse";
159*8bab661aSEmmanuel Vadot				arm,psci-suspend-param = <0x40000003>;
160*8bab661aSEmmanuel Vadot				entry-latency-us = <181>;
161*8bab661aSEmmanuel Vadot				exit-latency-us = <149>;
162*8bab661aSEmmanuel Vadot				min-residency-us = <703>;
163*8bab661aSEmmanuel Vadot				local-timer-stop;
164*8bab661aSEmmanuel Vadot			};
165*8bab661aSEmmanuel Vadot
166*8bab661aSEmmanuel Vadot			big_cpu_sleep_0: cpu-sleep-1-0 {
167*8bab661aSEmmanuel Vadot				compatible = "arm,idle-state";
168*8bab661aSEmmanuel Vadot				idle-state-name = "big-retention";
169*8bab661aSEmmanuel Vadot				arm,psci-suspend-param = <0x00000002>;
170*8bab661aSEmmanuel Vadot				entry-latency-us = <142>;
171*8bab661aSEmmanuel Vadot				exit-latency-us = <99>;
172*8bab661aSEmmanuel Vadot				min-residency-us = <242>;
173*8bab661aSEmmanuel Vadot			};
174*8bab661aSEmmanuel Vadot
175*8bab661aSEmmanuel Vadot			big_cpu_sleep_1: cpu-sleep-1-1 {
176*8bab661aSEmmanuel Vadot				compatible = "arm,idle-state";
177*8bab661aSEmmanuel Vadot				idle-state-name = "big-power-collapse";
178*8bab661aSEmmanuel Vadot				arm,psci-suspend-param = <0x40000003>;
179*8bab661aSEmmanuel Vadot				entry-latency-us = <158>;
180*8bab661aSEmmanuel Vadot				exit-latency-us = <144>;
181*8bab661aSEmmanuel Vadot				min-residency-us = <863>;
182*8bab661aSEmmanuel Vadot				local-timer-stop;
183*8bab661aSEmmanuel Vadot			};
184*8bab661aSEmmanuel Vadot		};
185*8bab661aSEmmanuel Vadot
186*8bab661aSEmmanuel Vadot		l2_0: l2-cache0 {
187*8bab661aSEmmanuel Vadot			compatible = "cache";
188*8bab661aSEmmanuel Vadot			cache-level = <2>;
189*8bab661aSEmmanuel Vadot		};
190*8bab661aSEmmanuel Vadot
191*8bab661aSEmmanuel Vadot		l2_1: l2-cache1 {
192*8bab661aSEmmanuel Vadot			compatible = "cache";
193*8bab661aSEmmanuel Vadot			cache-level = <2>;
194*8bab661aSEmmanuel Vadot		};
195*8bab661aSEmmanuel Vadot	};
196*8bab661aSEmmanuel Vadot
197*8bab661aSEmmanuel Vadot	firmware {
198*8bab661aSEmmanuel Vadot		scm: scm {
199*8bab661aSEmmanuel Vadot			compatible = "qcom,scm-msm8976", "qcom,scm";
200*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_CRYPTO_CLK>,
201*8bab661aSEmmanuel Vadot				 <&gcc GCC_CRYPTO_AXI_CLK>,
202*8bab661aSEmmanuel Vadot				 <&gcc GCC_CRYPTO_AHB_CLK>;
203*8bab661aSEmmanuel Vadot			clock-names = "core", "bus", "iface";
204*8bab661aSEmmanuel Vadot			#reset-cells = <1>;
205*8bab661aSEmmanuel Vadot
206*8bab661aSEmmanuel Vadot			qcom,dload-mode = <&tcsr 0x6100>;
207*8bab661aSEmmanuel Vadot		};
208*8bab661aSEmmanuel Vadot	};
209*8bab661aSEmmanuel Vadot
210*8bab661aSEmmanuel Vadot	memory@80000000 {
211*8bab661aSEmmanuel Vadot		device_type = "memory";
212*8bab661aSEmmanuel Vadot		/* We expect the bootloader to fill in the size */
213*8bab661aSEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x0>;
214*8bab661aSEmmanuel Vadot	};
215*8bab661aSEmmanuel Vadot
216*8bab661aSEmmanuel Vadot	pmu: pmu {
217*8bab661aSEmmanuel Vadot		compatible = "arm,armv8-pmuv3";
218*8bab661aSEmmanuel Vadot		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
219*8bab661aSEmmanuel Vadot	};
220*8bab661aSEmmanuel Vadot
221*8bab661aSEmmanuel Vadot	psci {
222*8bab661aSEmmanuel Vadot		compatible = "arm,psci-1.0";
223*8bab661aSEmmanuel Vadot		method = "smc";
224*8bab661aSEmmanuel Vadot	};
225*8bab661aSEmmanuel Vadot
226*8bab661aSEmmanuel Vadot	reserved-memory {
227*8bab661aSEmmanuel Vadot		#address-cells = <2>;
228*8bab661aSEmmanuel Vadot		#size-cells = <2>;
229*8bab661aSEmmanuel Vadot		ranges;
230*8bab661aSEmmanuel Vadot
231*8bab661aSEmmanuel Vadot		ext-region@85b00000 {
232*8bab661aSEmmanuel Vadot			reg = <0x0 0x85b00000 0x0 0x500000>;
233*8bab661aSEmmanuel Vadot			no-map;
234*8bab661aSEmmanuel Vadot		};
235*8bab661aSEmmanuel Vadot
236*8bab661aSEmmanuel Vadot		smem@86300000 {
237*8bab661aSEmmanuel Vadot			compatible = "qcom,smem";
238*8bab661aSEmmanuel Vadot			reg = <0x0 0x86300000 0x0 0x100000>;
239*8bab661aSEmmanuel Vadot			no-map;
240*8bab661aSEmmanuel Vadot
241*8bab661aSEmmanuel Vadot			hwlocks = <&tcsr_mutex 3>;
242*8bab661aSEmmanuel Vadot			qcom,rpm-msg-ram = <&rpm_msg_ram>;
243*8bab661aSEmmanuel Vadot		};
244*8bab661aSEmmanuel Vadot
245*8bab661aSEmmanuel Vadot		reserved@86400000 {
246*8bab661aSEmmanuel Vadot			reg = <0x0 0x86400000 0x0 0x800000>;
247*8bab661aSEmmanuel Vadot			no-map;
248*8bab661aSEmmanuel Vadot		};
249*8bab661aSEmmanuel Vadot
250*8bab661aSEmmanuel Vadot		mpss_mem: mpss@86c00000 {
251*8bab661aSEmmanuel Vadot			reg = <0x0 0x86c00000 0x0 0x5600000>;
252*8bab661aSEmmanuel Vadot			no-map;
253*8bab661aSEmmanuel Vadot		};
254*8bab661aSEmmanuel Vadot
255*8bab661aSEmmanuel Vadot		lpass_mem: lpass@8c200000 {
256*8bab661aSEmmanuel Vadot			reg = <0x0 0x8c200000 0x0 0x1800000>;
257*8bab661aSEmmanuel Vadot			no-map;
258*8bab661aSEmmanuel Vadot		};
259*8bab661aSEmmanuel Vadot
260*8bab661aSEmmanuel Vadot		venus_mem: memory@8da00000 {
261*8bab661aSEmmanuel Vadot			reg = <0x0 0x8da00000 0x0 0x2600000>;
262*8bab661aSEmmanuel Vadot			no-map;
263*8bab661aSEmmanuel Vadot		};
264*8bab661aSEmmanuel Vadot
265*8bab661aSEmmanuel Vadot		tz-apps@8dd00000 {
266*8bab661aSEmmanuel Vadot			reg = <0x0 0x8dd00000 0x0 0x1400000>;
267*8bab661aSEmmanuel Vadot			no-map;
268*8bab661aSEmmanuel Vadot		};
269*8bab661aSEmmanuel Vadot	};
270*8bab661aSEmmanuel Vadot
271*8bab661aSEmmanuel Vadot	smp2p-hexagon {
272*8bab661aSEmmanuel Vadot		compatible = "qcom,smp2p";
273*8bab661aSEmmanuel Vadot		interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
274*8bab661aSEmmanuel Vadot		qcom,ipc = <&apcs 8 10>;
275*8bab661aSEmmanuel Vadot
276*8bab661aSEmmanuel Vadot		qcom,local-pid = <0>;
277*8bab661aSEmmanuel Vadot		qcom,remote-pid = <2>;
278*8bab661aSEmmanuel Vadot		qcom,smem = <443>, <429>;
279*8bab661aSEmmanuel Vadot
280*8bab661aSEmmanuel Vadot		adsp_smp2p_out: master-kernel {
281*8bab661aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
282*8bab661aSEmmanuel Vadot
283*8bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
284*8bab661aSEmmanuel Vadot		};
285*8bab661aSEmmanuel Vadot
286*8bab661aSEmmanuel Vadot		adsp_smp2p_in: slave-kernel {
287*8bab661aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
288*8bab661aSEmmanuel Vadot
289*8bab661aSEmmanuel Vadot			interrupt-controller;
290*8bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
291*8bab661aSEmmanuel Vadot		};
292*8bab661aSEmmanuel Vadot	};
293*8bab661aSEmmanuel Vadot
294*8bab661aSEmmanuel Vadot	smp2p-modem {
295*8bab661aSEmmanuel Vadot		compatible = "qcom,smp2p";
296*8bab661aSEmmanuel Vadot		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
297*8bab661aSEmmanuel Vadot		qcom,ipc = <&apcs 8 13>;
298*8bab661aSEmmanuel Vadot
299*8bab661aSEmmanuel Vadot		qcom,local-pid = <0>;
300*8bab661aSEmmanuel Vadot		qcom,remote-pid = <1>;
301*8bab661aSEmmanuel Vadot		qcom,smem = <435>, <428>;
302*8bab661aSEmmanuel Vadot
303*8bab661aSEmmanuel Vadot		modem_smp2p_out: master-kernel {
304*8bab661aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
305*8bab661aSEmmanuel Vadot
306*8bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
307*8bab661aSEmmanuel Vadot		};
308*8bab661aSEmmanuel Vadot
309*8bab661aSEmmanuel Vadot		modem_smp2p_in: slave-kernel {
310*8bab661aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
311*8bab661aSEmmanuel Vadot
312*8bab661aSEmmanuel Vadot			interrupt-controller;
313*8bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
314*8bab661aSEmmanuel Vadot		};
315*8bab661aSEmmanuel Vadot	};
316*8bab661aSEmmanuel Vadot
317*8bab661aSEmmanuel Vadot	smp2p-wcnss {
318*8bab661aSEmmanuel Vadot		compatible = "qcom,smp2p";
319*8bab661aSEmmanuel Vadot		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
320*8bab661aSEmmanuel Vadot		qcom,ipc = <&apcs 8 17>;
321*8bab661aSEmmanuel Vadot
322*8bab661aSEmmanuel Vadot		qcom,local-pid = <0>;
323*8bab661aSEmmanuel Vadot		qcom,remote-pid = <4>;
324*8bab661aSEmmanuel Vadot		qcom,smem = <451>, <431>;
325*8bab661aSEmmanuel Vadot
326*8bab661aSEmmanuel Vadot		wcnss_smp2p_out: master-kernel {
327*8bab661aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
328*8bab661aSEmmanuel Vadot
329*8bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
330*8bab661aSEmmanuel Vadot		};
331*8bab661aSEmmanuel Vadot
332*8bab661aSEmmanuel Vadot		wcnss_smp2p_in: slave-kernel {
333*8bab661aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
334*8bab661aSEmmanuel Vadot
335*8bab661aSEmmanuel Vadot			interrupt-controller;
336*8bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
337*8bab661aSEmmanuel Vadot		};
338*8bab661aSEmmanuel Vadot	};
339*8bab661aSEmmanuel Vadot
340*8bab661aSEmmanuel Vadot	smd {
341*8bab661aSEmmanuel Vadot		compatible = "qcom,smd";
342*8bab661aSEmmanuel Vadot
343*8bab661aSEmmanuel Vadot		rpm {
344*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
345*8bab661aSEmmanuel Vadot			qcom,ipc = <&apcs 8 0>;
346*8bab661aSEmmanuel Vadot			qcom,smd-edge = <15>;
347*8bab661aSEmmanuel Vadot
348*8bab661aSEmmanuel Vadot			rpm_requests: rpm-requests {
349*8bab661aSEmmanuel Vadot				compatible = "qcom,rpm-msm8976";
350*8bab661aSEmmanuel Vadot				qcom,smd-channels = "rpm_requests";
351*8bab661aSEmmanuel Vadot
352*8bab661aSEmmanuel Vadot				rpmcc: clock-controller {
353*8bab661aSEmmanuel Vadot					compatible = "qcom,rpmcc-msm8976", "qcom,rpmcc";
354*8bab661aSEmmanuel Vadot					#clock-cells = <1>;
355*8bab661aSEmmanuel Vadot				};
356*8bab661aSEmmanuel Vadot
357*8bab661aSEmmanuel Vadot				rpmpd: power-controller {
358*8bab661aSEmmanuel Vadot					compatible = "qcom,msm8976-rpmpd";
359*8bab661aSEmmanuel Vadot					#power-domain-cells = <1>;
360*8bab661aSEmmanuel Vadot					operating-points-v2 = <&rpmpd_opp_table>;
361*8bab661aSEmmanuel Vadot
362*8bab661aSEmmanuel Vadot					rpmpd_opp_table: opp-table {
363*8bab661aSEmmanuel Vadot						compatible = "operating-points-v2";
364*8bab661aSEmmanuel Vadot
365*8bab661aSEmmanuel Vadot						rpmpd_opp_ret: opp1 {
366*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_RETENTION>;
367*8bab661aSEmmanuel Vadot						};
368*8bab661aSEmmanuel Vadot
369*8bab661aSEmmanuel Vadot						rpmpd_opp_ret_plus: opp2 {
370*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
371*8bab661aSEmmanuel Vadot						};
372*8bab661aSEmmanuel Vadot
373*8bab661aSEmmanuel Vadot						rpmpd_opp_min_svs: opp3 {
374*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
375*8bab661aSEmmanuel Vadot						};
376*8bab661aSEmmanuel Vadot
377*8bab661aSEmmanuel Vadot						rpmpd_opp_low_svs: opp4 {
378*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
379*8bab661aSEmmanuel Vadot						};
380*8bab661aSEmmanuel Vadot
381*8bab661aSEmmanuel Vadot						rpmpd_opp_svs: opp5 {
382*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_SVS>;
383*8bab661aSEmmanuel Vadot						};
384*8bab661aSEmmanuel Vadot
385*8bab661aSEmmanuel Vadot						rpmpd_opp_svs_plus: opp6 {
386*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
387*8bab661aSEmmanuel Vadot						};
388*8bab661aSEmmanuel Vadot
389*8bab661aSEmmanuel Vadot						rpmpd_opp_nom: opp7 {
390*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_NOM>;
391*8bab661aSEmmanuel Vadot						};
392*8bab661aSEmmanuel Vadot
393*8bab661aSEmmanuel Vadot						rpmpd_opp_nom_plus: opp8 {
394*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
395*8bab661aSEmmanuel Vadot						};
396*8bab661aSEmmanuel Vadot
397*8bab661aSEmmanuel Vadot						rpmpd_opp_turbo: opp9 {
398*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO>;
399*8bab661aSEmmanuel Vadot						};
400*8bab661aSEmmanuel Vadot
401*8bab661aSEmmanuel Vadot						rpmpd_opp_turbo_no_cpr: opp10 {
402*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
403*8bab661aSEmmanuel Vadot						};
404*8bab661aSEmmanuel Vadot
405*8bab661aSEmmanuel Vadot						rpmpd_opp_turbo_high: opp111 {
406*8bab661aSEmmanuel Vadot							opp-level = <RPM_SMD_LEVEL_TURBO_HIGH>;
407*8bab661aSEmmanuel Vadot						};
408*8bab661aSEmmanuel Vadot					};
409*8bab661aSEmmanuel Vadot				};
410*8bab661aSEmmanuel Vadot			};
411*8bab661aSEmmanuel Vadot		};
412*8bab661aSEmmanuel Vadot	};
413*8bab661aSEmmanuel Vadot
414*8bab661aSEmmanuel Vadot	smsm {
415*8bab661aSEmmanuel Vadot		compatible = "qcom,smsm";
416*8bab661aSEmmanuel Vadot
417*8bab661aSEmmanuel Vadot		#address-cells = <1>;
418*8bab661aSEmmanuel Vadot		#size-cells = <0>;
419*8bab661aSEmmanuel Vadot
420*8bab661aSEmmanuel Vadot		qcom,ipc-1 = <&apcs 8 12>;
421*8bab661aSEmmanuel Vadot		qcom,ipc-2 = <&apcs 8 9>;
422*8bab661aSEmmanuel Vadot		qcom,ipc-3 = <&apcs 8 18>;
423*8bab661aSEmmanuel Vadot
424*8bab661aSEmmanuel Vadot		apps_smsm: apps@0 {
425*8bab661aSEmmanuel Vadot			reg = <0>;
426*8bab661aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
427*8bab661aSEmmanuel Vadot		};
428*8bab661aSEmmanuel Vadot
429*8bab661aSEmmanuel Vadot		hexagon_smsm: hexagon@1 {
430*8bab661aSEmmanuel Vadot			reg = <1>;
431*8bab661aSEmmanuel Vadot			interrupts = <0 290 IRQ_TYPE_EDGE_RISING>;
432*8bab661aSEmmanuel Vadot
433*8bab661aSEmmanuel Vadot			interrupt-controller;
434*8bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
435*8bab661aSEmmanuel Vadot		};
436*8bab661aSEmmanuel Vadot
437*8bab661aSEmmanuel Vadot		wcnss_smsm: wcnss@6 {
438*8bab661aSEmmanuel Vadot			reg = <6>;
439*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
440*8bab661aSEmmanuel Vadot
441*8bab661aSEmmanuel Vadot			interrupt-controller;
442*8bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
443*8bab661aSEmmanuel Vadot		};
444*8bab661aSEmmanuel Vadot	};
445*8bab661aSEmmanuel Vadot
446*8bab661aSEmmanuel Vadot	soc: soc@0 {
447*8bab661aSEmmanuel Vadot		#address-cells = <1>;
448*8bab661aSEmmanuel Vadot		#size-cells = <1>;
449*8bab661aSEmmanuel Vadot		ranges = <0 0 0 0xffffffff>;
450*8bab661aSEmmanuel Vadot		compatible = "simple-bus";
451*8bab661aSEmmanuel Vadot
452*8bab661aSEmmanuel Vadot		rng@22000 {
453*8bab661aSEmmanuel Vadot			compatible = "qcom,prng";
454*8bab661aSEmmanuel Vadot			reg = <0x00022000 0x140>;
455*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_PRNG_AHB_CLK>;
456*8bab661aSEmmanuel Vadot			clock-names = "core";
457*8bab661aSEmmanuel Vadot		};
458*8bab661aSEmmanuel Vadot
459*8bab661aSEmmanuel Vadot		rpm_msg_ram: sram@60000 {
460*8bab661aSEmmanuel Vadot			compatible = "qcom,rpm-msg-ram";
461*8bab661aSEmmanuel Vadot			reg = <0x00060000 0x8000>;
462*8bab661aSEmmanuel Vadot		};
463*8bab661aSEmmanuel Vadot
464*8bab661aSEmmanuel Vadot		usb_hs_phy: phy@6c000 {
465*8bab661aSEmmanuel Vadot			compatible = "qcom,usb-hs-28nm-femtophy";
466*8bab661aSEmmanuel Vadot			reg = <0x0006c000 0x200>;
467*8bab661aSEmmanuel Vadot			#phy-cells = <0>;
468*8bab661aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
469*8bab661aSEmmanuel Vadot				 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
470*8bab661aSEmmanuel Vadot				 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
471*8bab661aSEmmanuel Vadot			clock-names = "ref", "ahb", "sleep";
472*8bab661aSEmmanuel Vadot			resets = <&gcc RST_QUSB2_PHY_BCR>,
473*8bab661aSEmmanuel Vadot				 <&gcc RST_USB2_HS_PHY_ONLY_BCR>;
474*8bab661aSEmmanuel Vadot			reset-names = "phy", "por";
475*8bab661aSEmmanuel Vadot			status = "disabled";
476*8bab661aSEmmanuel Vadot		};
477*8bab661aSEmmanuel Vadot
478*8bab661aSEmmanuel Vadot		qfprom: qfprom@a4000 {
479*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-qfprom", "qcom,qfprom";
480*8bab661aSEmmanuel Vadot			reg = <0x000a4000 0x1000>;
481*8bab661aSEmmanuel Vadot			#address-cells = <1>;
482*8bab661aSEmmanuel Vadot			#size-cells = <1>;
483*8bab661aSEmmanuel Vadot
484*8bab661aSEmmanuel Vadot			tsens_caldata: caldata@218 {
485*8bab661aSEmmanuel Vadot				reg = <0x218 0x18>;
486*8bab661aSEmmanuel Vadot			};
487*8bab661aSEmmanuel Vadot		};
488*8bab661aSEmmanuel Vadot
489*8bab661aSEmmanuel Vadot		tsens: thermal-sensor@4a9000 {
490*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-tsens", "qcom,tsens-v1";
491*8bab661aSEmmanuel Vadot			reg = <0x004a9000 0x1000>, /* TM */
492*8bab661aSEmmanuel Vadot			      <0x004a8000 0x1000>; /* SROT */
493*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
494*8bab661aSEmmanuel Vadot			interrupt-names = "uplow";
495*8bab661aSEmmanuel Vadot			nvmem-cells = <&tsens_caldata>;
496*8bab661aSEmmanuel Vadot			nvmem-cell-names = "calib";
497*8bab661aSEmmanuel Vadot			#qcom,sensors = <11>;
498*8bab661aSEmmanuel Vadot			#thermal-sensor-cells = <1>;
499*8bab661aSEmmanuel Vadot		};
500*8bab661aSEmmanuel Vadot
501*8bab661aSEmmanuel Vadot		tlmm: pinctrl@1000000 {
502*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-pinctrl";
503*8bab661aSEmmanuel Vadot			reg = <0x01000000 0x300000>;
504*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
505*8bab661aSEmmanuel Vadot			#gpio-cells = <2>;
506*8bab661aSEmmanuel Vadot			gpio-controller;
507*8bab661aSEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 145>;
508*8bab661aSEmmanuel Vadot			interrupt-controller;
509*8bab661aSEmmanuel Vadot			#interrupt-cells = <2>;
510*8bab661aSEmmanuel Vadot
511*8bab661aSEmmanuel Vadot			spi1_default: spi0-default-state {
512*8bab661aSEmmanuel Vadot				spi-pins {
513*8bab661aSEmmanuel Vadot					pins = "gpio0", "gpio1", "gpio3";
514*8bab661aSEmmanuel Vadot					function = "blsp_spi1";
515*8bab661aSEmmanuel Vadot					drive-strength = <12>;
516*8bab661aSEmmanuel Vadot					bias-disable;
517*8bab661aSEmmanuel Vadot				};
518*8bab661aSEmmanuel Vadot
519*8bab661aSEmmanuel Vadot				cs-pins {
520*8bab661aSEmmanuel Vadot					pins = "gpio2";
521*8bab661aSEmmanuel Vadot					function = "blsp_spi1";
522*8bab661aSEmmanuel Vadot					drive-strength = <2>;
523*8bab661aSEmmanuel Vadot					bias-disable;
524*8bab661aSEmmanuel Vadot				};
525*8bab661aSEmmanuel Vadot			};
526*8bab661aSEmmanuel Vadot
527*8bab661aSEmmanuel Vadot			spi1_sleep: spi0-sleep-state {
528*8bab661aSEmmanuel Vadot				spi-pins {
529*8bab661aSEmmanuel Vadot					pins = "gpio0", "gpio1", "gpio3";
530*8bab661aSEmmanuel Vadot					function = "gpio";
531*8bab661aSEmmanuel Vadot					drive-strength = <2>;
532*8bab661aSEmmanuel Vadot					bias-pull-down;
533*8bab661aSEmmanuel Vadot				};
534*8bab661aSEmmanuel Vadot
535*8bab661aSEmmanuel Vadot				cs-pins {
536*8bab661aSEmmanuel Vadot					pins = "gpio2";
537*8bab661aSEmmanuel Vadot					function = "gpio";
538*8bab661aSEmmanuel Vadot					drive-strength = <2>;
539*8bab661aSEmmanuel Vadot					bias-disable;
540*8bab661aSEmmanuel Vadot				};
541*8bab661aSEmmanuel Vadot			};
542*8bab661aSEmmanuel Vadot
543*8bab661aSEmmanuel Vadot			blsp1_i2c2_default: blsp1-i2c2-default-state {
544*8bab661aSEmmanuel Vadot				pins = "gpio6", "gpio7";
545*8bab661aSEmmanuel Vadot				function = "blsp_i2c2";
546*8bab661aSEmmanuel Vadot				drive-strength = <2>;
547*8bab661aSEmmanuel Vadot				bias-disable;
548*8bab661aSEmmanuel Vadot			};
549*8bab661aSEmmanuel Vadot
550*8bab661aSEmmanuel Vadot			blsp1_i2c2_sleep: blsp1-i2c2-sleep-state {
551*8bab661aSEmmanuel Vadot				pins = "gpio6", "gpio7";
552*8bab661aSEmmanuel Vadot				function = "gpio";
553*8bab661aSEmmanuel Vadot				drive-strength = <2>;
554*8bab661aSEmmanuel Vadot				bias-disable;
555*8bab661aSEmmanuel Vadot			};
556*8bab661aSEmmanuel Vadot
557*8bab661aSEmmanuel Vadot			blsp1_i2c4_default: blsp1-i2c4-default-state {
558*8bab661aSEmmanuel Vadot				pins = "gpio14", "gpio15";
559*8bab661aSEmmanuel Vadot				function = "blsp_i2c4";
560*8bab661aSEmmanuel Vadot				drive-strength = <2>;
561*8bab661aSEmmanuel Vadot				bias-disable;
562*8bab661aSEmmanuel Vadot			};
563*8bab661aSEmmanuel Vadot
564*8bab661aSEmmanuel Vadot			blsp1_i2c4_sleep: blsp1-i2c4-sleep-state {
565*8bab661aSEmmanuel Vadot				pins = "gpio14", "gpio15";
566*8bab661aSEmmanuel Vadot				function = "gpio";
567*8bab661aSEmmanuel Vadot				drive-strength = <2>;
568*8bab661aSEmmanuel Vadot				bias-disable;
569*8bab661aSEmmanuel Vadot			};
570*8bab661aSEmmanuel Vadot
571*8bab661aSEmmanuel Vadot			blsp2_uart2_active: blsp2-uart2-active-state {
572*8bab661aSEmmanuel Vadot				pins = "gpio20", "gpio21";
573*8bab661aSEmmanuel Vadot				function = "blsp_uart6";
574*8bab661aSEmmanuel Vadot				drive-strength = <4>;
575*8bab661aSEmmanuel Vadot				bias-disable;
576*8bab661aSEmmanuel Vadot			};
577*8bab661aSEmmanuel Vadot
578*8bab661aSEmmanuel Vadot			blsp2_uart2_sleep: blsp2-uart2-sleep-state {
579*8bab661aSEmmanuel Vadot				pins = "gpio20", "gpio21";
580*8bab661aSEmmanuel Vadot				function = "gpio";
581*8bab661aSEmmanuel Vadot				drive-strength = <2>;
582*8bab661aSEmmanuel Vadot				bias-disable;
583*8bab661aSEmmanuel Vadot			};
584*8bab661aSEmmanuel Vadot
585*8bab661aSEmmanuel Vadot			/* 4 (not 6!) interfaces per QUP, BLSP2 indexes are numbered (n)+4 */
586*8bab661aSEmmanuel Vadot			blsp2_i2c2_default: blsp2-i2c2-default-state {
587*8bab661aSEmmanuel Vadot				pins = "gpio22", "gpio23";
588*8bab661aSEmmanuel Vadot				function = "blsp_i2c6";
589*8bab661aSEmmanuel Vadot				drive-strength = <2>;
590*8bab661aSEmmanuel Vadot				bias-disable;
591*8bab661aSEmmanuel Vadot			};
592*8bab661aSEmmanuel Vadot
593*8bab661aSEmmanuel Vadot			blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
594*8bab661aSEmmanuel Vadot				pins = "gpio22", "gpio23";
595*8bab661aSEmmanuel Vadot				function = "gpio";
596*8bab661aSEmmanuel Vadot				drive-strength = <2>;
597*8bab661aSEmmanuel Vadot				bias-disable;
598*8bab661aSEmmanuel Vadot			};
599*8bab661aSEmmanuel Vadot
600*8bab661aSEmmanuel Vadot			blsp2_i2c4_default: blsp2-i2c4-default-state {
601*8bab661aSEmmanuel Vadot				pins = "gpio18", "gpio19";
602*8bab661aSEmmanuel Vadot				function = "blsp_i2c8";
603*8bab661aSEmmanuel Vadot				drive-strength = <2>;
604*8bab661aSEmmanuel Vadot				bias-disable;
605*8bab661aSEmmanuel Vadot			};
606*8bab661aSEmmanuel Vadot
607*8bab661aSEmmanuel Vadot			blsp2_i2c4_sleep: blsp2-i2c4-sleep-state {
608*8bab661aSEmmanuel Vadot				pins = "gpio18", "gpio19";
609*8bab661aSEmmanuel Vadot				function = "gpio";
610*8bab661aSEmmanuel Vadot				drive-strength = <2>;
611*8bab661aSEmmanuel Vadot				bias-disable;
612*8bab661aSEmmanuel Vadot			};
613*8bab661aSEmmanuel Vadot		};
614*8bab661aSEmmanuel Vadot
615*8bab661aSEmmanuel Vadot		gcc: clock-controller@1800000 {
616*8bab661aSEmmanuel Vadot			compatible = "qcom,gcc-msm8976";
617*8bab661aSEmmanuel Vadot			reg = <0x01800000 0x80000>;
618*8bab661aSEmmanuel Vadot			#clock-cells = <1>;
619*8bab661aSEmmanuel Vadot			#reset-cells = <1>;
620*8bab661aSEmmanuel Vadot			#power-domain-cells = <1>;
621*8bab661aSEmmanuel Vadot
622*8bab661aSEmmanuel Vadot			assigned-clocks = <&gcc GPLL3>;
623*8bab661aSEmmanuel Vadot			assigned-clock-rates = <1100000000>;
624*8bab661aSEmmanuel Vadot
625*8bab661aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
626*8bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_A_CLK_SRC>,
627*8bab661aSEmmanuel Vadot				 <0>,
628*8bab661aSEmmanuel Vadot				 <0>,
629*8bab661aSEmmanuel Vadot				 <0>,
630*8bab661aSEmmanuel Vadot				 <0>;
631*8bab661aSEmmanuel Vadot			clock-names = "xo",
632*8bab661aSEmmanuel Vadot				      "xo_a",
633*8bab661aSEmmanuel Vadot				      "dsi0pll",
634*8bab661aSEmmanuel Vadot				      "dsi0pllbyte",
635*8bab661aSEmmanuel Vadot				      "dsi1pll",
636*8bab661aSEmmanuel Vadot				      "dsi1pllbyte";
637*8bab661aSEmmanuel Vadot		};
638*8bab661aSEmmanuel Vadot
639*8bab661aSEmmanuel Vadot		tcsr_mutex: hwlock@1905000 {
640*8bab661aSEmmanuel Vadot			compatible = "qcom,tcsr-mutex";
641*8bab661aSEmmanuel Vadot			reg = <0x01905000 0x20000>;
642*8bab661aSEmmanuel Vadot			#hwlock-cells = <1>;
643*8bab661aSEmmanuel Vadot		};
644*8bab661aSEmmanuel Vadot
645*8bab661aSEmmanuel Vadot		tcsr: syscon@1937000 {
646*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-tcsr", "syscon";
647*8bab661aSEmmanuel Vadot			reg = <0x01937000 0x30000>;
648*8bab661aSEmmanuel Vadot		};
649*8bab661aSEmmanuel Vadot
650*8bab661aSEmmanuel Vadot		spmi_bus: spmi@200f000 {
651*8bab661aSEmmanuel Vadot			compatible = "qcom,spmi-pmic-arb";
652*8bab661aSEmmanuel Vadot			reg = <0x0200f000 0x1000>,
653*8bab661aSEmmanuel Vadot			      <0x02400000 0x800000>,
654*8bab661aSEmmanuel Vadot			      <0x02c00000 0x800000>,
655*8bab661aSEmmanuel Vadot			      <0x03800000 0x200000>,
656*8bab661aSEmmanuel Vadot			      <0x0200a000 0x2100>;
657*8bab661aSEmmanuel Vadot			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
658*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
659*8bab661aSEmmanuel Vadot			interrupt-names = "periph_irq";
660*8bab661aSEmmanuel Vadot			qcom,channel = <0>;
661*8bab661aSEmmanuel Vadot			qcom,ee = <0>;
662*8bab661aSEmmanuel Vadot
663*8bab661aSEmmanuel Vadot			#address-cells = <2>;
664*8bab661aSEmmanuel Vadot			#size-cells = <0>;
665*8bab661aSEmmanuel Vadot			interrupt-controller;
666*8bab661aSEmmanuel Vadot			#interrupt-cells = <4>;
667*8bab661aSEmmanuel Vadot			cell-index = <0>;
668*8bab661aSEmmanuel Vadot		};
669*8bab661aSEmmanuel Vadot
670*8bab661aSEmmanuel Vadot		sdhc_1: mmc@7824000 {
671*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
672*8bab661aSEmmanuel Vadot			reg = <0x07824900 0x500>, <0x07824000 0x800>;
673*8bab661aSEmmanuel Vadot			reg-names = "hc", "core";
674*8bab661aSEmmanuel Vadot
675*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
676*8bab661aSEmmanuel Vadot				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
677*8bab661aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
678*8bab661aSEmmanuel Vadot
679*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
680*8bab661aSEmmanuel Vadot				 <&gcc GCC_SDCC1_APPS_CLK>,
681*8bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
682*8bab661aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
683*8bab661aSEmmanuel Vadot			status = "disabled";
684*8bab661aSEmmanuel Vadot		};
685*8bab661aSEmmanuel Vadot
686*8bab661aSEmmanuel Vadot		sdhc_2: mmc@7864000 {
687*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
688*8bab661aSEmmanuel Vadot			reg = <0x07864900 0x11c>, <0x07864000 0x800>;
689*8bab661aSEmmanuel Vadot			reg-names = "hc", "core";
690*8bab661aSEmmanuel Vadot
691*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
692*8bab661aSEmmanuel Vadot				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
693*8bab661aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
694*8bab661aSEmmanuel Vadot
695*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
696*8bab661aSEmmanuel Vadot				 <&gcc GCC_SDCC2_APPS_CLK>,
697*8bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
698*8bab661aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
699*8bab661aSEmmanuel Vadot			status = "disabled";
700*8bab661aSEmmanuel Vadot		};
701*8bab661aSEmmanuel Vadot
702*8bab661aSEmmanuel Vadot		blsp1_dma: dma-controller@7884000 {
703*8bab661aSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
704*8bab661aSEmmanuel Vadot			reg = <0x07884000 0x1f000>;
705*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
706*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
707*8bab661aSEmmanuel Vadot			clock-names = "bam_clk";
708*8bab661aSEmmanuel Vadot			#dma-cells = <1>;
709*8bab661aSEmmanuel Vadot			qcom,ee = <0>;
710*8bab661aSEmmanuel Vadot		};
711*8bab661aSEmmanuel Vadot
712*8bab661aSEmmanuel Vadot		blsp1_uart1: serial@78af000 {
713*8bab661aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
714*8bab661aSEmmanuel Vadot			reg = <0x078af000 0x200>;
715*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
716*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
717*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
718*8bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 0>, <&blsp1_dma 1>;
719*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
720*8bab661aSEmmanuel Vadot			status = "disabled";
721*8bab661aSEmmanuel Vadot		};
722*8bab661aSEmmanuel Vadot
723*8bab661aSEmmanuel Vadot		blsp1_uart2: serial@78b0000 {
724*8bab661aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
725*8bab661aSEmmanuel Vadot			reg = <0x078b0000 0x200>;
726*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
727*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
728*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
729*8bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
730*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
731*8bab661aSEmmanuel Vadot			status = "disabled";
732*8bab661aSEmmanuel Vadot		};
733*8bab661aSEmmanuel Vadot
734*8bab661aSEmmanuel Vadot		blsp1_spi1: spi@78b5000 {
735*8bab661aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
736*8bab661aSEmmanuel Vadot			reg = <0x078b5000 0x500>;
737*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
738*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
739*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
740*8bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
741*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
742*8bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
743*8bab661aSEmmanuel Vadot			pinctrl-0 = <&spi1_default>;
744*8bab661aSEmmanuel Vadot			pinctrl-1 = <&spi1_sleep>;
745*8bab661aSEmmanuel Vadot			#address-cells = <1>;
746*8bab661aSEmmanuel Vadot			#size-cells = <0>;
747*8bab661aSEmmanuel Vadot			status = "disabled";
748*8bab661aSEmmanuel Vadot		};
749*8bab661aSEmmanuel Vadot
750*8bab661aSEmmanuel Vadot		blsp1_i2c2: i2c@78b6000 {
751*8bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
752*8bab661aSEmmanuel Vadot			reg = <0x078b6000 0x500>;
753*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
754*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
755*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
756*8bab661aSEmmanuel Vadot			clock-frequency = <400000>;
757*8bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
758*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
759*8bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
760*8bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp1_i2c2_default>;
761*8bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp1_i2c2_default>;
762*8bab661aSEmmanuel Vadot			#address-cells = <1>;
763*8bab661aSEmmanuel Vadot			#size-cells = <0>;
764*8bab661aSEmmanuel Vadot			status = "disabled";
765*8bab661aSEmmanuel Vadot		};
766*8bab661aSEmmanuel Vadot
767*8bab661aSEmmanuel Vadot		blsp1_i2c4: i2c@78b8000 {
768*8bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
769*8bab661aSEmmanuel Vadot			reg = <0x078b8000 0x500>;
770*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
771*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
772*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
773*8bab661aSEmmanuel Vadot			clock-frequency = <400000>;
774*8bab661aSEmmanuel Vadot			dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
775*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
776*8bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
777*8bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp1_i2c4_default>;
778*8bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp1_i2c4_sleep>;
779*8bab661aSEmmanuel Vadot			#address-cells = <1>;
780*8bab661aSEmmanuel Vadot			#size-cells = <0>;
781*8bab661aSEmmanuel Vadot			status = "disabled";
782*8bab661aSEmmanuel Vadot		};
783*8bab661aSEmmanuel Vadot
784*8bab661aSEmmanuel Vadot		otg: usb@78db000 {
785*8bab661aSEmmanuel Vadot			compatible = "qcom,ci-hdrc";
786*8bab661aSEmmanuel Vadot			reg = <0x078db000 0x200>,
787*8bab661aSEmmanuel Vadot			      <0x078db200 0x200>;
788*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
789*8bab661aSEmmanuel Vadot				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
790*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_USB_HS_AHB_CLK>, <&gcc GCC_USB_HS_SYSTEM_CLK>;
791*8bab661aSEmmanuel Vadot			clock-names = "iface", "core";
792*8bab661aSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
793*8bab661aSEmmanuel Vadot			assigned-clock-rates = <80000000>;
794*8bab661aSEmmanuel Vadot			resets = <&gcc RST_USB_HS_BCR>;
795*8bab661aSEmmanuel Vadot			reset-names = "core";
796*8bab661aSEmmanuel Vadot			ahb-burst-config = <0>;
797*8bab661aSEmmanuel Vadot			dr_mode = "peripheral";
798*8bab661aSEmmanuel Vadot			phy_type = "ulpi";
799*8bab661aSEmmanuel Vadot			phy-names = "usb-phy";
800*8bab661aSEmmanuel Vadot			phys = <&usb_hs_phy>;
801*8bab661aSEmmanuel Vadot			status = "disabled";
802*8bab661aSEmmanuel Vadot			#reset-cells = <1>;
803*8bab661aSEmmanuel Vadot		};
804*8bab661aSEmmanuel Vadot
805*8bab661aSEmmanuel Vadot		sdhc_3: mmc@7a24000 {
806*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
807*8bab661aSEmmanuel Vadot			reg = <0x07a24900 0x11c>, <0x07a24000 0x800>;
808*8bab661aSEmmanuel Vadot			reg-names = "hc", "core";
809*8bab661aSEmmanuel Vadot
810*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
811*8bab661aSEmmanuel Vadot				     <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
812*8bab661aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
813*8bab661aSEmmanuel Vadot
814*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC3_AHB_CLK>,
815*8bab661aSEmmanuel Vadot				 <&gcc GCC_SDCC3_APPS_CLK>,
816*8bab661aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
817*8bab661aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
818*8bab661aSEmmanuel Vadot
819*8bab661aSEmmanuel Vadot			status = "disabled";
820*8bab661aSEmmanuel Vadot		};
821*8bab661aSEmmanuel Vadot
822*8bab661aSEmmanuel Vadot		blsp2_dma: dma-controller@7ac4000 {
823*8bab661aSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
824*8bab661aSEmmanuel Vadot			reg = <0x07ac4000 0x1f000>;
825*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
826*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
827*8bab661aSEmmanuel Vadot			clock-names = "bam_clk";
828*8bab661aSEmmanuel Vadot			#dma-cells = <1>;
829*8bab661aSEmmanuel Vadot			qcom,ee = <0>;
830*8bab661aSEmmanuel Vadot		};
831*8bab661aSEmmanuel Vadot
832*8bab661aSEmmanuel Vadot		blsp2_uart2: serial@7af0000 {
833*8bab661aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
834*8bab661aSEmmanuel Vadot			reg = <0x07af0000 0x200>;
835*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
836*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
837*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
838*8bab661aSEmmanuel Vadot			dmas = <&blsp2_dma 0>, <&blsp2_dma 1>;
839*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
840*8bab661aSEmmanuel Vadot			status = "disabled";
841*8bab661aSEmmanuel Vadot		};
842*8bab661aSEmmanuel Vadot
843*8bab661aSEmmanuel Vadot		blsp2_i2c2: i2c@7af6000 {
844*8bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
845*8bab661aSEmmanuel Vadot			reg = <0x07af6000 0x600>;
846*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
847*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
848*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
849*8bab661aSEmmanuel Vadot			clock-frequency = <400000>;
850*8bab661aSEmmanuel Vadot			dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
851*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
852*8bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
853*8bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c2_default>;
854*8bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c2_sleep>;
855*8bab661aSEmmanuel Vadot			#address-cells = <1>;
856*8bab661aSEmmanuel Vadot			#size-cells = <0>;
857*8bab661aSEmmanuel Vadot			status = "disabled";
858*8bab661aSEmmanuel Vadot		};
859*8bab661aSEmmanuel Vadot
860*8bab661aSEmmanuel Vadot		blsp2_i2c4: i2c@7af8000 {
861*8bab661aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
862*8bab661aSEmmanuel Vadot			reg = <0x07af8000 0x600>;
863*8bab661aSEmmanuel Vadot			interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>;
864*8bab661aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
865*8bab661aSEmmanuel Vadot			clock-names = "core", "iface";
866*8bab661aSEmmanuel Vadot			clock-frequency = <400000>;
867*8bab661aSEmmanuel Vadot			dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
868*8bab661aSEmmanuel Vadot			dma-names = "tx", "rx";
869*8bab661aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
870*8bab661aSEmmanuel Vadot			pinctrl-0 = <&blsp2_i2c4_default>;
871*8bab661aSEmmanuel Vadot			pinctrl-1 = <&blsp2_i2c4_sleep>;
872*8bab661aSEmmanuel Vadot			#address-cells = <1>;
873*8bab661aSEmmanuel Vadot			#size-cells = <0>;
874*8bab661aSEmmanuel Vadot			status = "disabled";
875*8bab661aSEmmanuel Vadot		};
876*8bab661aSEmmanuel Vadot
877*8bab661aSEmmanuel Vadot		intc: interrupt-controller@b000000 {
878*8bab661aSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
879*8bab661aSEmmanuel Vadot			reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
880*8bab661aSEmmanuel Vadot			interrupt-controller;
881*8bab661aSEmmanuel Vadot			#interrupt-cells = <3>;
882*8bab661aSEmmanuel Vadot		};
883*8bab661aSEmmanuel Vadot
884*8bab661aSEmmanuel Vadot		apcs: mailbox@b011000 {
885*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-apcs-kpss-global", "syscon";
886*8bab661aSEmmanuel Vadot			reg = <0x0b011000 0x1000>;
887*8bab661aSEmmanuel Vadot			#mbox-cells = <1>;
888*8bab661aSEmmanuel Vadot		};
889*8bab661aSEmmanuel Vadot
890*8bab661aSEmmanuel Vadot		timer@b120000 {
891*8bab661aSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
892*8bab661aSEmmanuel Vadot			reg = <0x0b120000 0x1000>;
893*8bab661aSEmmanuel Vadot			#address-cells = <1>;
894*8bab661aSEmmanuel Vadot			#size-cells = <1>;
895*8bab661aSEmmanuel Vadot			ranges;
896*8bab661aSEmmanuel Vadot			clock-frequency = <19200000>;
897*8bab661aSEmmanuel Vadot
898*8bab661aSEmmanuel Vadot			frame@b121000 {
899*8bab661aSEmmanuel Vadot				reg = <0x0b121000 0x1000>, <0x0b122000 0x1000>;
900*8bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
901*8bab661aSEmmanuel Vadot					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
902*8bab661aSEmmanuel Vadot				frame-number = <0>;
903*8bab661aSEmmanuel Vadot			};
904*8bab661aSEmmanuel Vadot
905*8bab661aSEmmanuel Vadot			frame@b123000 {
906*8bab661aSEmmanuel Vadot				reg = <0x0b123000 0x1000>;
907*8bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
908*8bab661aSEmmanuel Vadot				frame-number = <1>;
909*8bab661aSEmmanuel Vadot				status = "disabled";
910*8bab661aSEmmanuel Vadot			};
911*8bab661aSEmmanuel Vadot
912*8bab661aSEmmanuel Vadot			frame@b124000 {
913*8bab661aSEmmanuel Vadot				reg = <0x0b124000 0x1000>;
914*8bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
915*8bab661aSEmmanuel Vadot				frame-number = <2>;
916*8bab661aSEmmanuel Vadot				status = "disabled";
917*8bab661aSEmmanuel Vadot			};
918*8bab661aSEmmanuel Vadot
919*8bab661aSEmmanuel Vadot			frame@b125000 {
920*8bab661aSEmmanuel Vadot				reg = <0x0b125000 0x1000>;
921*8bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
922*8bab661aSEmmanuel Vadot				frame-number = <3>;
923*8bab661aSEmmanuel Vadot				status = "disabled";
924*8bab661aSEmmanuel Vadot			};
925*8bab661aSEmmanuel Vadot
926*8bab661aSEmmanuel Vadot			frame@b126000 {
927*8bab661aSEmmanuel Vadot				reg = <0x0b126000 0x1000>;
928*8bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
929*8bab661aSEmmanuel Vadot				frame-number = <4>;
930*8bab661aSEmmanuel Vadot				status = "disabled";
931*8bab661aSEmmanuel Vadot			};
932*8bab661aSEmmanuel Vadot
933*8bab661aSEmmanuel Vadot			frame@b127000 {
934*8bab661aSEmmanuel Vadot				reg = <0x0b127000 0x1000>;
935*8bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
936*8bab661aSEmmanuel Vadot				frame-number = <5>;
937*8bab661aSEmmanuel Vadot				status = "disabled";
938*8bab661aSEmmanuel Vadot			};
939*8bab661aSEmmanuel Vadot
940*8bab661aSEmmanuel Vadot			frame@b128000 {
941*8bab661aSEmmanuel Vadot				reg = <0x0b128000 0x1000>;
942*8bab661aSEmmanuel Vadot				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
943*8bab661aSEmmanuel Vadot				frame-number = <6>;
944*8bab661aSEmmanuel Vadot				status = "disabled";
945*8bab661aSEmmanuel Vadot			};
946*8bab661aSEmmanuel Vadot		};
947*8bab661aSEmmanuel Vadot
948*8bab661aSEmmanuel Vadot		imem: sram@8600000 {
949*8bab661aSEmmanuel Vadot			compatible = "qcom,msm8976-imem", "syscon", "simple-mfd";
950*8bab661aSEmmanuel Vadot			reg = <0x08600000 0x1000>;
951*8bab661aSEmmanuel Vadot			#address-cells = <1>;
952*8bab661aSEmmanuel Vadot			#size-cells = <1>;
953*8bab661aSEmmanuel Vadot
954*8bab661aSEmmanuel Vadot			ranges = <0 0x08600000 0x1000>;
955*8bab661aSEmmanuel Vadot
956*8bab661aSEmmanuel Vadot			pil-reloc@94c {
957*8bab661aSEmmanuel Vadot				compatible = "qcom,pil-reloc-info";
958*8bab661aSEmmanuel Vadot				reg = <0x94c 0xc8>;
959*8bab661aSEmmanuel Vadot			};
960*8bab661aSEmmanuel Vadot		};
961*8bab661aSEmmanuel Vadot	};
962*8bab661aSEmmanuel Vadot
963*8bab661aSEmmanuel Vadot	thermal-zones {
964*8bab661aSEmmanuel Vadot		aoss0-thermal {
965*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
966*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
967*8bab661aSEmmanuel Vadot
968*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 0>;
969*8bab661aSEmmanuel Vadot
970*8bab661aSEmmanuel Vadot			trips {
971*8bab661aSEmmanuel Vadot				aoss0_alert0: trip-point0 {
972*8bab661aSEmmanuel Vadot					temperature = <75000>;
973*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
974*8bab661aSEmmanuel Vadot					type = "hot";
975*8bab661aSEmmanuel Vadot				};
976*8bab661aSEmmanuel Vadot			};
977*8bab661aSEmmanuel Vadot		};
978*8bab661aSEmmanuel Vadot
979*8bab661aSEmmanuel Vadot		modem-thermal {
980*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
981*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
982*8bab661aSEmmanuel Vadot
983*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 1>;
984*8bab661aSEmmanuel Vadot			trips {
985*8bab661aSEmmanuel Vadot				modem_alert0: trip-point0 {
986*8bab661aSEmmanuel Vadot					temperature = <75000>;
987*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
988*8bab661aSEmmanuel Vadot					type = "hot";
989*8bab661aSEmmanuel Vadot				};
990*8bab661aSEmmanuel Vadot			};
991*8bab661aSEmmanuel Vadot		};
992*8bab661aSEmmanuel Vadot
993*8bab661aSEmmanuel Vadot		qdsp-thermal {
994*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
995*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
996*8bab661aSEmmanuel Vadot
997*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 2>;
998*8bab661aSEmmanuel Vadot			trips {
999*8bab661aSEmmanuel Vadot				qdsp_alert0: trip-point0 {
1000*8bab661aSEmmanuel Vadot					temperature = <75000>;
1001*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1002*8bab661aSEmmanuel Vadot					type = "hot";
1003*8bab661aSEmmanuel Vadot				};
1004*8bab661aSEmmanuel Vadot			};
1005*8bab661aSEmmanuel Vadot		};
1006*8bab661aSEmmanuel Vadot
1007*8bab661aSEmmanuel Vadot		cam-isp-thermal {
1008*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1009*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1010*8bab661aSEmmanuel Vadot
1011*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 3>;
1012*8bab661aSEmmanuel Vadot			trips {
1013*8bab661aSEmmanuel Vadot				cam_isp_alert0: trip-point0 {
1014*8bab661aSEmmanuel Vadot					temperature = <75000>;
1015*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1016*8bab661aSEmmanuel Vadot					type = "hot";
1017*8bab661aSEmmanuel Vadot				};
1018*8bab661aSEmmanuel Vadot			};
1019*8bab661aSEmmanuel Vadot		};
1020*8bab661aSEmmanuel Vadot
1021*8bab661aSEmmanuel Vadot		cpu4-thermal {
1022*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1023*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1024*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 4>;
1025*8bab661aSEmmanuel Vadot
1026*8bab661aSEmmanuel Vadot			trips {
1027*8bab661aSEmmanuel Vadot				cpu4_alert0: trip-point0 {
1028*8bab661aSEmmanuel Vadot					temperature = <50000>;
1029*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1030*8bab661aSEmmanuel Vadot					type = "hot";
1031*8bab661aSEmmanuel Vadot				};
1032*8bab661aSEmmanuel Vadot				cpu4_alert1: trip-point1 {
1033*8bab661aSEmmanuel Vadot					temperature = <55000>;
1034*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1035*8bab661aSEmmanuel Vadot					type = "passive";
1036*8bab661aSEmmanuel Vadot				};
1037*8bab661aSEmmanuel Vadot				cpu4_crit: cpu-crit {
1038*8bab661aSEmmanuel Vadot					temperature = <75000>;
1039*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1040*8bab661aSEmmanuel Vadot					type = "critical";
1041*8bab661aSEmmanuel Vadot				};
1042*8bab661aSEmmanuel Vadot			};
1043*8bab661aSEmmanuel Vadot		};
1044*8bab661aSEmmanuel Vadot
1045*8bab661aSEmmanuel Vadot		cpu5-thermal {
1046*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1047*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1048*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 5>;
1049*8bab661aSEmmanuel Vadot
1050*8bab661aSEmmanuel Vadot			trips {
1051*8bab661aSEmmanuel Vadot				cpu5_alert0: trip-point0 {
1052*8bab661aSEmmanuel Vadot					temperature = <50000>;
1053*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1054*8bab661aSEmmanuel Vadot					type = "hot";
1055*8bab661aSEmmanuel Vadot				};
1056*8bab661aSEmmanuel Vadot				cpu5_alert1: trip-point1 {
1057*8bab661aSEmmanuel Vadot					temperature = <55000>;
1058*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1059*8bab661aSEmmanuel Vadot					type = "passive";
1060*8bab661aSEmmanuel Vadot				};
1061*8bab661aSEmmanuel Vadot				cpu5_crit: cpu-crit {
1062*8bab661aSEmmanuel Vadot					temperature = <75000>;
1063*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1064*8bab661aSEmmanuel Vadot					type = "critical";
1065*8bab661aSEmmanuel Vadot				};
1066*8bab661aSEmmanuel Vadot			};
1067*8bab661aSEmmanuel Vadot		};
1068*8bab661aSEmmanuel Vadot
1069*8bab661aSEmmanuel Vadot		cpu6-thermal {
1070*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1071*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1072*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 6>;
1073*8bab661aSEmmanuel Vadot
1074*8bab661aSEmmanuel Vadot			trips {
1075*8bab661aSEmmanuel Vadot				cpu6_alert0: trip-point0 {
1076*8bab661aSEmmanuel Vadot					temperature = <50000>;
1077*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1078*8bab661aSEmmanuel Vadot					type = "hot";
1079*8bab661aSEmmanuel Vadot				};
1080*8bab661aSEmmanuel Vadot				cpu6_alert1: trip-point1 {
1081*8bab661aSEmmanuel Vadot					temperature = <55000>;
1082*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1083*8bab661aSEmmanuel Vadot					type = "passive";
1084*8bab661aSEmmanuel Vadot				};
1085*8bab661aSEmmanuel Vadot				cpu6_crit: cpu-crit {
1086*8bab661aSEmmanuel Vadot					temperature = <75000>;
1087*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1088*8bab661aSEmmanuel Vadot					type = "critical";
1089*8bab661aSEmmanuel Vadot				};
1090*8bab661aSEmmanuel Vadot			};
1091*8bab661aSEmmanuel Vadot		};
1092*8bab661aSEmmanuel Vadot
1093*8bab661aSEmmanuel Vadot		cpu7-thermal {
1094*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1095*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1096*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 7>;
1097*8bab661aSEmmanuel Vadot
1098*8bab661aSEmmanuel Vadot			trips {
1099*8bab661aSEmmanuel Vadot				cpu7_alert0: trip-point0 {
1100*8bab661aSEmmanuel Vadot					temperature = <50000>;
1101*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1102*8bab661aSEmmanuel Vadot					type = "hot";
1103*8bab661aSEmmanuel Vadot				};
1104*8bab661aSEmmanuel Vadot				cpu7_alert1: trip-point1 {
1105*8bab661aSEmmanuel Vadot					temperature = <55000>;
1106*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1107*8bab661aSEmmanuel Vadot					type = "passive";
1108*8bab661aSEmmanuel Vadot				};
1109*8bab661aSEmmanuel Vadot				cpu7_crit: cpu-crit {
1110*8bab661aSEmmanuel Vadot					temperature = <75000>;
1111*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1112*8bab661aSEmmanuel Vadot					type = "critical";
1113*8bab661aSEmmanuel Vadot				};
1114*8bab661aSEmmanuel Vadot			};
1115*8bab661aSEmmanuel Vadot		};
1116*8bab661aSEmmanuel Vadot
1117*8bab661aSEmmanuel Vadot		big-l2-thermal {
1118*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1119*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1120*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 8>;
1121*8bab661aSEmmanuel Vadot
1122*8bab661aSEmmanuel Vadot			trips {
1123*8bab661aSEmmanuel Vadot				l2_alert0: trip-point0 {
1124*8bab661aSEmmanuel Vadot					temperature = <50000>;
1125*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1126*8bab661aSEmmanuel Vadot					type = "hot";
1127*8bab661aSEmmanuel Vadot				};
1128*8bab661aSEmmanuel Vadot				l2_alert1: trip-point1 {
1129*8bab661aSEmmanuel Vadot					temperature = <55000>;
1130*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1131*8bab661aSEmmanuel Vadot					type = "passive";
1132*8bab661aSEmmanuel Vadot				};
1133*8bab661aSEmmanuel Vadot				l2_crit: l2-crit {
1134*8bab661aSEmmanuel Vadot					temperature = <75000>;
1135*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1136*8bab661aSEmmanuel Vadot					type = "critical";
1137*8bab661aSEmmanuel Vadot				};
1138*8bab661aSEmmanuel Vadot			};
1139*8bab661aSEmmanuel Vadot		};
1140*8bab661aSEmmanuel Vadot
1141*8bab661aSEmmanuel Vadot		cpu0-thermal {
1142*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1143*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1144*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 9>;
1145*8bab661aSEmmanuel Vadot
1146*8bab661aSEmmanuel Vadot			trips {
1147*8bab661aSEmmanuel Vadot				cpu0_alert0: trip-point0 {
1148*8bab661aSEmmanuel Vadot					temperature = <50000>;
1149*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1150*8bab661aSEmmanuel Vadot					type = "hot";
1151*8bab661aSEmmanuel Vadot				};
1152*8bab661aSEmmanuel Vadot				cpu0_alert1: trip-point1 {
1153*8bab661aSEmmanuel Vadot					temperature = <55000>;
1154*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1155*8bab661aSEmmanuel Vadot					type = "passive";
1156*8bab661aSEmmanuel Vadot				};
1157*8bab661aSEmmanuel Vadot				cpu0_crit: cpu-crit {
1158*8bab661aSEmmanuel Vadot					temperature = <75000>;
1159*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1160*8bab661aSEmmanuel Vadot					type = "critical";
1161*8bab661aSEmmanuel Vadot				};
1162*8bab661aSEmmanuel Vadot			};
1163*8bab661aSEmmanuel Vadot		};
1164*8bab661aSEmmanuel Vadot
1165*8bab661aSEmmanuel Vadot		gpu-thermal {
1166*8bab661aSEmmanuel Vadot			polling-delay-passive = <250>;
1167*8bab661aSEmmanuel Vadot			polling-delay = <1000>;
1168*8bab661aSEmmanuel Vadot			thermal-sensors = <&tsens 10>;
1169*8bab661aSEmmanuel Vadot
1170*8bab661aSEmmanuel Vadot			trips {
1171*8bab661aSEmmanuel Vadot				gpu_alert0: trip-point0 {
1172*8bab661aSEmmanuel Vadot					temperature = <50000>;
1173*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1174*8bab661aSEmmanuel Vadot					type = "hot";
1175*8bab661aSEmmanuel Vadot				};
1176*8bab661aSEmmanuel Vadot				gpu_alert1: trip-point1 {
1177*8bab661aSEmmanuel Vadot					temperature = <55000>;
1178*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1179*8bab661aSEmmanuel Vadot					type = "passive";
1180*8bab661aSEmmanuel Vadot				};
1181*8bab661aSEmmanuel Vadot				gpu_crit: gpu-crit {
1182*8bab661aSEmmanuel Vadot					temperature = <75000>;
1183*8bab661aSEmmanuel Vadot					hysteresis = <2000>;
1184*8bab661aSEmmanuel Vadot					type = "critical";
1185*8bab661aSEmmanuel Vadot				};
1186*8bab661aSEmmanuel Vadot			};
1187*8bab661aSEmmanuel Vadot		};
1188*8bab661aSEmmanuel Vadot	};
1189*8bab661aSEmmanuel Vadot
1190*8bab661aSEmmanuel Vadot	timer {
1191*8bab661aSEmmanuel Vadot		compatible = "arm,armv8-timer";
1192*8bab661aSEmmanuel Vadot		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1193*8bab661aSEmmanuel Vadot			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1194*8bab661aSEmmanuel Vadot			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1195*8bab661aSEmmanuel Vadot			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
1196*8bab661aSEmmanuel Vadot		clock-frequency = <19200000>;
1197*8bab661aSEmmanuel Vadot	};
1198*8bab661aSEmmanuel Vadot};
1199