xref: /freebsd-src/sys/contrib/device-tree/src/arm64/qcom/msm8939.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
4f126890aSEmmanuel Vadot * Copyright (c) 2020-2023, Linaro Limited
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8939.h>
8f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h>
9f126890aSEmmanuel Vadot#include <dt-bindings/interconnect/qcom,msm8939.h>
10f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
11f126890aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
12f126890aSEmmanuel Vadot#include <dt-bindings/reset/qcom,gcc-msm8939.h>
138d13bc63SEmmanuel Vadot#include <dt-bindings/soc/qcom,apr.h>
14f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h>
15f126890aSEmmanuel Vadot
16f126890aSEmmanuel Vadot/ {
17f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot	/*
20f126890aSEmmanuel Vadot	 * Stock LK wants address-cells/size-cells = 2
21f126890aSEmmanuel Vadot	 * A number of our drivers want address/size cells = 1
22f126890aSEmmanuel Vadot	 * hence the disparity between top-level and /soc below.
23f126890aSEmmanuel Vadot	 */
24f126890aSEmmanuel Vadot	#address-cells = <2>;
25f126890aSEmmanuel Vadot	#size-cells = <2>;
26f126890aSEmmanuel Vadot
27f126890aSEmmanuel Vadot	clocks {
28f126890aSEmmanuel Vadot		xo_board: xo-board {
29f126890aSEmmanuel Vadot			compatible = "fixed-clock";
30f126890aSEmmanuel Vadot			#clock-cells = <0>;
31f126890aSEmmanuel Vadot			clock-frequency = <19200000>;
32f126890aSEmmanuel Vadot		};
33f126890aSEmmanuel Vadot
34f126890aSEmmanuel Vadot		sleep_clk: sleep-clk {
35f126890aSEmmanuel Vadot			compatible = "fixed-clock";
36f126890aSEmmanuel Vadot			#clock-cells = <0>;
37f126890aSEmmanuel Vadot			clock-frequency = <32768>;
38f126890aSEmmanuel Vadot		};
39f126890aSEmmanuel Vadot	};
40f126890aSEmmanuel Vadot
41f126890aSEmmanuel Vadot	cpus {
42f126890aSEmmanuel Vadot		#address-cells = <1>;
43f126890aSEmmanuel Vadot		#size-cells = <0>;
44f126890aSEmmanuel Vadot
45f126890aSEmmanuel Vadot		CPU0: cpu@100 {
46f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
47f126890aSEmmanuel Vadot			device_type = "cpu";
48f126890aSEmmanuel Vadot			enable-method = "spin-table";
49f126890aSEmmanuel Vadot			reg = <0x100>;
50f126890aSEmmanuel Vadot			next-level-cache = <&L2_1>;
51f126890aSEmmanuel Vadot			qcom,acc = <&acc0>;
52f126890aSEmmanuel Vadot			qcom,saw = <&saw0>;
53f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
54f126890aSEmmanuel Vadot			clocks = <&apcs1_mbox>;
55f126890aSEmmanuel Vadot			#cooling-cells = <2>;
56f126890aSEmmanuel Vadot			L2_1: l2-cache {
57f126890aSEmmanuel Vadot				compatible = "cache";
58f126890aSEmmanuel Vadot				cache-level = <2>;
59aa1a8ff2SEmmanuel Vadot				cache-unified;
60f126890aSEmmanuel Vadot			};
61f126890aSEmmanuel Vadot		};
62f126890aSEmmanuel Vadot
63f126890aSEmmanuel Vadot		CPU1: cpu@101 {
64f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
65f126890aSEmmanuel Vadot			device_type = "cpu";
66f126890aSEmmanuel Vadot			enable-method = "spin-table";
67f126890aSEmmanuel Vadot			reg = <0x101>;
68f126890aSEmmanuel Vadot			next-level-cache = <&L2_1>;
69f126890aSEmmanuel Vadot			qcom,acc = <&acc1>;
70f126890aSEmmanuel Vadot			qcom,saw = <&saw1>;
71f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
72f126890aSEmmanuel Vadot			clocks = <&apcs1_mbox>;
73f126890aSEmmanuel Vadot			#cooling-cells = <2>;
74f126890aSEmmanuel Vadot		};
75f126890aSEmmanuel Vadot
76f126890aSEmmanuel Vadot		CPU2: cpu@102 {
77f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
78f126890aSEmmanuel Vadot			device_type = "cpu";
79f126890aSEmmanuel Vadot			enable-method = "spin-table";
80f126890aSEmmanuel Vadot			reg = <0x102>;
81f126890aSEmmanuel Vadot			next-level-cache = <&L2_1>;
82f126890aSEmmanuel Vadot			qcom,acc = <&acc2>;
83f126890aSEmmanuel Vadot			qcom,saw = <&saw2>;
84f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
85f126890aSEmmanuel Vadot			clocks = <&apcs1_mbox>;
86f126890aSEmmanuel Vadot			#cooling-cells = <2>;
87f126890aSEmmanuel Vadot		};
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot		CPU3: cpu@103 {
90f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
91f126890aSEmmanuel Vadot			device_type = "cpu";
92f126890aSEmmanuel Vadot			enable-method = "spin-table";
93f126890aSEmmanuel Vadot			reg = <0x103>;
94f126890aSEmmanuel Vadot			next-level-cache = <&L2_1>;
95f126890aSEmmanuel Vadot			qcom,acc = <&acc3>;
96f126890aSEmmanuel Vadot			qcom,saw = <&saw3>;
97f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
98f126890aSEmmanuel Vadot			clocks = <&apcs1_mbox>;
99f126890aSEmmanuel Vadot			#cooling-cells = <2>;
100f126890aSEmmanuel Vadot		};
101f126890aSEmmanuel Vadot
102f126890aSEmmanuel Vadot		CPU4: cpu@0 {
103f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
104f126890aSEmmanuel Vadot			device_type = "cpu";
105f126890aSEmmanuel Vadot			enable-method = "spin-table";
106f126890aSEmmanuel Vadot			reg = <0x0>;
107f126890aSEmmanuel Vadot			qcom,acc = <&acc4>;
108f126890aSEmmanuel Vadot			qcom,saw = <&saw4>;
109f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
110f126890aSEmmanuel Vadot			clocks = <&apcs0_mbox>;
111f126890aSEmmanuel Vadot			#cooling-cells = <2>;
112f126890aSEmmanuel Vadot			next-level-cache = <&L2_0>;
113f126890aSEmmanuel Vadot			L2_0: l2-cache {
114f126890aSEmmanuel Vadot				compatible = "cache";
115f126890aSEmmanuel Vadot				cache-level = <2>;
116aa1a8ff2SEmmanuel Vadot				cache-unified;
117f126890aSEmmanuel Vadot			};
118f126890aSEmmanuel Vadot		};
119f126890aSEmmanuel Vadot
120f126890aSEmmanuel Vadot		CPU5: cpu@1 {
121f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
122f126890aSEmmanuel Vadot			device_type = "cpu";
123f126890aSEmmanuel Vadot			enable-method = "spin-table";
124f126890aSEmmanuel Vadot			reg = <0x1>;
125f126890aSEmmanuel Vadot			next-level-cache = <&L2_0>;
126f126890aSEmmanuel Vadot			qcom,acc = <&acc5>;
127f126890aSEmmanuel Vadot			qcom,saw = <&saw5>;
128f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
129f126890aSEmmanuel Vadot			clocks = <&apcs0_mbox>;
130f126890aSEmmanuel Vadot			#cooling-cells = <2>;
131f126890aSEmmanuel Vadot		};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot		CPU6: cpu@2 {
134f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
135f126890aSEmmanuel Vadot			device_type = "cpu";
136f126890aSEmmanuel Vadot			enable-method = "spin-table";
137f126890aSEmmanuel Vadot			reg = <0x2>;
138f126890aSEmmanuel Vadot			next-level-cache = <&L2_0>;
139f126890aSEmmanuel Vadot			qcom,acc = <&acc6>;
140f126890aSEmmanuel Vadot			qcom,saw = <&saw6>;
141f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
142f126890aSEmmanuel Vadot			clocks = <&apcs0_mbox>;
143f126890aSEmmanuel Vadot			#cooling-cells = <2>;
144f126890aSEmmanuel Vadot		};
145f126890aSEmmanuel Vadot
146f126890aSEmmanuel Vadot		CPU7: cpu@3 {
147f126890aSEmmanuel Vadot			compatible = "arm,cortex-a53";
148f126890aSEmmanuel Vadot			device_type = "cpu";
149f126890aSEmmanuel Vadot			enable-method = "spin-table";
150f126890aSEmmanuel Vadot			reg = <0x3>;
151f126890aSEmmanuel Vadot			next-level-cache = <&L2_0>;
152f126890aSEmmanuel Vadot			qcom,acc = <&acc7>;
153f126890aSEmmanuel Vadot			qcom,saw = <&saw7>;
154f126890aSEmmanuel Vadot			cpu-idle-states = <&CPU_SLEEP_0>;
155f126890aSEmmanuel Vadot			clocks = <&apcs0_mbox>;
156f126890aSEmmanuel Vadot			#cooling-cells = <2>;
157f126890aSEmmanuel Vadot		};
158f126890aSEmmanuel Vadot
159f126890aSEmmanuel Vadot		idle-states {
160f126890aSEmmanuel Vadot			CPU_SLEEP_0: cpu-sleep-0 {
161aa1a8ff2SEmmanuel Vadot				compatible = "arm,idle-state";
162f126890aSEmmanuel Vadot				entry-latency-us = <130>;
163f126890aSEmmanuel Vadot				exit-latency-us = <150>;
164f126890aSEmmanuel Vadot				min-residency-us = <2000>;
165f126890aSEmmanuel Vadot				local-timer-stop;
166f126890aSEmmanuel Vadot			};
167f126890aSEmmanuel Vadot		};
168f126890aSEmmanuel Vadot	};
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot	/*
171f126890aSEmmanuel Vadot	 * MSM8939 has a big.LITTLE heterogeneous computing architecture,
172f126890aSEmmanuel Vadot	 * consisting of two clusters of four ARM Cortex-A53s each. The
173f126890aSEmmanuel Vadot	 * LITTLE cluster runs at 1.0-1.2GHz, and the big cluster runs
174f126890aSEmmanuel Vadot	 * at 1.5-1.7GHz.
175f126890aSEmmanuel Vadot	 *
176f126890aSEmmanuel Vadot	 * The enable method used here is spin-table which presupposes use
177f126890aSEmmanuel Vadot	 * of a 2nd stage boot shim such as lk2nd to have installed a
178f126890aSEmmanuel Vadot	 * spin-table, the downstream non-psci/non-spin-table method that
179f126890aSEmmanuel Vadot	 * default msm8916/msm8936/msm8939 will not be supported upstream.
180f126890aSEmmanuel Vadot	 */
181f126890aSEmmanuel Vadot	cpu-map {
182f126890aSEmmanuel Vadot		/* LITTLE (efficiency) cluster */
183f126890aSEmmanuel Vadot		cluster0 {
184f126890aSEmmanuel Vadot			core0 {
185f126890aSEmmanuel Vadot				cpu = <&CPU4>;
186f126890aSEmmanuel Vadot			};
187f126890aSEmmanuel Vadot
188f126890aSEmmanuel Vadot			core1 {
189f126890aSEmmanuel Vadot				cpu = <&CPU5>;
190f126890aSEmmanuel Vadot			};
191f126890aSEmmanuel Vadot
192f126890aSEmmanuel Vadot			core2 {
193f126890aSEmmanuel Vadot				cpu = <&CPU6>;
194f126890aSEmmanuel Vadot			};
195f126890aSEmmanuel Vadot
196f126890aSEmmanuel Vadot			core3 {
197f126890aSEmmanuel Vadot				cpu = <&CPU7>;
198f126890aSEmmanuel Vadot			};
199f126890aSEmmanuel Vadot		};
200f126890aSEmmanuel Vadot
201f126890aSEmmanuel Vadot		/* big (performance) cluster */
202f126890aSEmmanuel Vadot		/* Boot CPU is cluster 1 core 0 */
203f126890aSEmmanuel Vadot		cluster1 {
204f126890aSEmmanuel Vadot			core0 {
205f126890aSEmmanuel Vadot				cpu = <&CPU0>;
206f126890aSEmmanuel Vadot			};
207f126890aSEmmanuel Vadot
208f126890aSEmmanuel Vadot			core1 {
209f126890aSEmmanuel Vadot				cpu = <&CPU1>;
210f126890aSEmmanuel Vadot			};
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot			core2 {
213f126890aSEmmanuel Vadot				cpu = <&CPU2>;
214f126890aSEmmanuel Vadot			};
215f126890aSEmmanuel Vadot
216f126890aSEmmanuel Vadot			core3 {
217f126890aSEmmanuel Vadot				cpu = <&CPU3>;
218f126890aSEmmanuel Vadot			};
219f126890aSEmmanuel Vadot		};
220f126890aSEmmanuel Vadot	};
221f126890aSEmmanuel Vadot
222f126890aSEmmanuel Vadot	firmware {
223f126890aSEmmanuel Vadot		scm: scm {
224f126890aSEmmanuel Vadot			compatible = "qcom,scm-msm8916", "qcom,scm";
225f126890aSEmmanuel Vadot			clocks = <&gcc GCC_CRYPTO_CLK>,
226f126890aSEmmanuel Vadot				 <&gcc GCC_CRYPTO_AXI_CLK>,
227f126890aSEmmanuel Vadot				 <&gcc GCC_CRYPTO_AHB_CLK>;
228f126890aSEmmanuel Vadot			clock-names = "core", "bus", "iface";
229f126890aSEmmanuel Vadot			#reset-cells = <1>;
230f126890aSEmmanuel Vadot
231f126890aSEmmanuel Vadot			qcom,dload-mode = <&tcsr 0x6100>;
232f126890aSEmmanuel Vadot		};
233f126890aSEmmanuel Vadot	};
234f126890aSEmmanuel Vadot
235f126890aSEmmanuel Vadot	memory@80000000 {
236f126890aSEmmanuel Vadot		device_type = "memory";
237f126890aSEmmanuel Vadot		/* We expect the bootloader to fill in the reg */
238f126890aSEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x0>;
239f126890aSEmmanuel Vadot	};
240f126890aSEmmanuel Vadot
241f126890aSEmmanuel Vadot	pmu {
242f126890aSEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
243f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
244f126890aSEmmanuel Vadot	};
245f126890aSEmmanuel Vadot
246aa1a8ff2SEmmanuel Vadot	rpm: remoteproc {
247aa1a8ff2SEmmanuel Vadot		compatible = "qcom,msm8936-rpm-proc", "qcom,rpm-proc";
248aa1a8ff2SEmmanuel Vadot
249aa1a8ff2SEmmanuel Vadot		smd-edge {
250aa1a8ff2SEmmanuel Vadot			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
251*b2d2a78aSEmmanuel Vadot			qcom,ipc = <&apcs1_mbox 8 0>;
252aa1a8ff2SEmmanuel Vadot			qcom,smd-edge = <15>;
253aa1a8ff2SEmmanuel Vadot
254aa1a8ff2SEmmanuel Vadot			rpm_requests: rpm-requests {
255*b2d2a78aSEmmanuel Vadot				compatible = "qcom,rpm-msm8936", "qcom,smd-rpm";
256aa1a8ff2SEmmanuel Vadot				qcom,smd-channels = "rpm_requests";
257aa1a8ff2SEmmanuel Vadot
258aa1a8ff2SEmmanuel Vadot				rpmcc: clock-controller {
259aa1a8ff2SEmmanuel Vadot					compatible = "qcom,rpmcc-msm8936", "qcom,rpmcc";
260aa1a8ff2SEmmanuel Vadot					#clock-cells = <1>;
261aa1a8ff2SEmmanuel Vadot					clock-names = "xo";
262aa1a8ff2SEmmanuel Vadot					clocks = <&xo_board>;
263aa1a8ff2SEmmanuel Vadot				};
264aa1a8ff2SEmmanuel Vadot
265aa1a8ff2SEmmanuel Vadot				rpmpd: power-controller {
266aa1a8ff2SEmmanuel Vadot					compatible = "qcom,msm8939-rpmpd";
267aa1a8ff2SEmmanuel Vadot					#power-domain-cells = <1>;
268aa1a8ff2SEmmanuel Vadot					operating-points-v2 = <&rpmpd_opp_table>;
269aa1a8ff2SEmmanuel Vadot
270aa1a8ff2SEmmanuel Vadot					rpmpd_opp_table: opp-table {
271aa1a8ff2SEmmanuel Vadot						compatible = "operating-points-v2";
272aa1a8ff2SEmmanuel Vadot
273aa1a8ff2SEmmanuel Vadot						rpmpd_opp_ret: opp1 {
274aa1a8ff2SEmmanuel Vadot							opp-level = <1>;
275aa1a8ff2SEmmanuel Vadot						};
276aa1a8ff2SEmmanuel Vadot
277aa1a8ff2SEmmanuel Vadot						rpmpd_opp_svs_krait: opp2 {
278aa1a8ff2SEmmanuel Vadot							opp-level = <2>;
279aa1a8ff2SEmmanuel Vadot						};
280aa1a8ff2SEmmanuel Vadot
281aa1a8ff2SEmmanuel Vadot						rpmpd_opp_svs_soc: opp3 {
282aa1a8ff2SEmmanuel Vadot							opp-level = <3>;
283aa1a8ff2SEmmanuel Vadot						};
284aa1a8ff2SEmmanuel Vadot
285aa1a8ff2SEmmanuel Vadot						rpmpd_opp_nom: opp4 {
286aa1a8ff2SEmmanuel Vadot							opp-level = <4>;
287aa1a8ff2SEmmanuel Vadot						};
288aa1a8ff2SEmmanuel Vadot
289aa1a8ff2SEmmanuel Vadot						rpmpd_opp_turbo: opp5 {
290aa1a8ff2SEmmanuel Vadot							opp-level = <5>;
291aa1a8ff2SEmmanuel Vadot						};
292aa1a8ff2SEmmanuel Vadot
293aa1a8ff2SEmmanuel Vadot						rpmpd_opp_super_turbo: opp6 {
294aa1a8ff2SEmmanuel Vadot							opp-level = <6>;
295aa1a8ff2SEmmanuel Vadot						};
296aa1a8ff2SEmmanuel Vadot					};
297aa1a8ff2SEmmanuel Vadot				};
298aa1a8ff2SEmmanuel Vadot			};
299aa1a8ff2SEmmanuel Vadot		};
300aa1a8ff2SEmmanuel Vadot	};
301aa1a8ff2SEmmanuel Vadot
302f126890aSEmmanuel Vadot	reserved-memory {
303f126890aSEmmanuel Vadot		#address-cells = <2>;
304f126890aSEmmanuel Vadot		#size-cells = <2>;
305f126890aSEmmanuel Vadot		ranges;
306f126890aSEmmanuel Vadot
307f126890aSEmmanuel Vadot		tz-apps@86000000 {
308f126890aSEmmanuel Vadot			reg = <0x0 0x86000000 0x0 0x300000>;
309f126890aSEmmanuel Vadot			no-map;
310f126890aSEmmanuel Vadot		};
311f126890aSEmmanuel Vadot
312f126890aSEmmanuel Vadot		smem@86300000 {
313f126890aSEmmanuel Vadot			compatible = "qcom,smem";
314f126890aSEmmanuel Vadot			reg = <0x0 0x86300000 0x0 0x100000>;
315f126890aSEmmanuel Vadot			no-map;
316f126890aSEmmanuel Vadot
317f126890aSEmmanuel Vadot			hwlocks = <&tcsr_mutex 3>;
318f126890aSEmmanuel Vadot			qcom,rpm-msg-ram = <&rpm_msg_ram>;
319f126890aSEmmanuel Vadot		};
320f126890aSEmmanuel Vadot
321f126890aSEmmanuel Vadot		hypervisor@86400000 {
322f126890aSEmmanuel Vadot			reg = <0x0 0x86400000 0x0 0x100000>;
323f126890aSEmmanuel Vadot			no-map;
324f126890aSEmmanuel Vadot		};
325f126890aSEmmanuel Vadot
326f126890aSEmmanuel Vadot		tz@86500000 {
327f126890aSEmmanuel Vadot			reg = <0x0 0x86500000 0x0 0x180000>;
328f126890aSEmmanuel Vadot			no-map;
329f126890aSEmmanuel Vadot		};
330f126890aSEmmanuel Vadot
331f126890aSEmmanuel Vadot		reserved@86680000 {
332f126890aSEmmanuel Vadot			reg = <0x0 0x86680000 0x0 0x80000>;
333f126890aSEmmanuel Vadot			no-map;
334f126890aSEmmanuel Vadot		};
335f126890aSEmmanuel Vadot
336f126890aSEmmanuel Vadot		rmtfs@86700000 {
337f126890aSEmmanuel Vadot			compatible = "qcom,rmtfs-mem";
338f126890aSEmmanuel Vadot			reg = <0x0 0x86700000 0x0 0xe0000>;
339f126890aSEmmanuel Vadot			no-map;
340f126890aSEmmanuel Vadot
341f126890aSEmmanuel Vadot			qcom,client-id = <1>;
342f126890aSEmmanuel Vadot		};
343f126890aSEmmanuel Vadot
344f126890aSEmmanuel Vadot		rfsa@867e0000 {
345f126890aSEmmanuel Vadot			reg = <0x0 0x867e0000 0x0 0x20000>;
346f126890aSEmmanuel Vadot			no-map;
347f126890aSEmmanuel Vadot		};
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot		mpss_mem: mpss@86800000 {
35084943d6fSEmmanuel Vadot			/*
35184943d6fSEmmanuel Vadot			 * The memory region for the mpss firmware is generally
35284943d6fSEmmanuel Vadot			 * relocatable and could be allocated dynamically.
35384943d6fSEmmanuel Vadot			 * However, many firmware versions tend to fail when
35484943d6fSEmmanuel Vadot			 * loaded to some special addresses, so it is hard to
35584943d6fSEmmanuel Vadot			 * define reliable alloc-ranges.
35684943d6fSEmmanuel Vadot			 *
35784943d6fSEmmanuel Vadot			 * alignment = <0x0 0x400000>;
35884943d6fSEmmanuel Vadot			 * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
35984943d6fSEmmanuel Vadot			 */
36084943d6fSEmmanuel Vadot			reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
361f126890aSEmmanuel Vadot			no-map;
36284943d6fSEmmanuel Vadot			status = "disabled";
363f126890aSEmmanuel Vadot		};
364f126890aSEmmanuel Vadot
36584943d6fSEmmanuel Vadot		wcnss_mem: wcnss {
36684943d6fSEmmanuel Vadot			size = <0x0 0x600000>;
36784943d6fSEmmanuel Vadot			alignment = <0x0 0x100000>;
36884943d6fSEmmanuel Vadot			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
369f126890aSEmmanuel Vadot			no-map;
37084943d6fSEmmanuel Vadot			status = "disabled";
371f126890aSEmmanuel Vadot		};
372f126890aSEmmanuel Vadot
37384943d6fSEmmanuel Vadot		venus_mem: venus {
37484943d6fSEmmanuel Vadot			size = <0x0 0x500000>;
37584943d6fSEmmanuel Vadot			alignment = <0x0 0x100000>;
37684943d6fSEmmanuel Vadot			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
377f126890aSEmmanuel Vadot			no-map;
37884943d6fSEmmanuel Vadot			status = "disabled";
379f126890aSEmmanuel Vadot		};
380f126890aSEmmanuel Vadot
38184943d6fSEmmanuel Vadot		mba_mem: mba {
38284943d6fSEmmanuel Vadot			size = <0x0 0x100000>;
38384943d6fSEmmanuel Vadot			alignment = <0x0 0x100000>;
38484943d6fSEmmanuel Vadot			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
385f126890aSEmmanuel Vadot			no-map;
38684943d6fSEmmanuel Vadot			status = "disabled";
387f126890aSEmmanuel Vadot		};
388f126890aSEmmanuel Vadot	};
389f126890aSEmmanuel Vadot
390f126890aSEmmanuel Vadot	smp2p-hexagon {
391f126890aSEmmanuel Vadot		compatible = "qcom,smp2p";
392f126890aSEmmanuel Vadot		qcom,smem = <435>, <428>;
393f126890aSEmmanuel Vadot
394f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
395f126890aSEmmanuel Vadot
396f126890aSEmmanuel Vadot		mboxes = <&apcs1_mbox 14>;
397f126890aSEmmanuel Vadot
398f126890aSEmmanuel Vadot		qcom,local-pid = <0>;
399f126890aSEmmanuel Vadot		qcom,remote-pid = <1>;
400f126890aSEmmanuel Vadot
401f126890aSEmmanuel Vadot		hexagon_smp2p_out: master-kernel {
402f126890aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
403f126890aSEmmanuel Vadot
404f126890aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
405f126890aSEmmanuel Vadot		};
406f126890aSEmmanuel Vadot
407f126890aSEmmanuel Vadot		hexagon_smp2p_in: slave-kernel {
408f126890aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
409f126890aSEmmanuel Vadot
410f126890aSEmmanuel Vadot			interrupt-controller;
411f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
412f126890aSEmmanuel Vadot		};
413f126890aSEmmanuel Vadot	};
414f126890aSEmmanuel Vadot
415f126890aSEmmanuel Vadot	smp2p-wcnss {
416f126890aSEmmanuel Vadot		compatible = "qcom,smp2p";
417f126890aSEmmanuel Vadot		qcom,smem = <451>, <431>;
418f126890aSEmmanuel Vadot
419f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
420f126890aSEmmanuel Vadot
421f126890aSEmmanuel Vadot		mboxes = <&apcs1_mbox 18>;
422f126890aSEmmanuel Vadot
423f126890aSEmmanuel Vadot		qcom,local-pid = <0>;
424f126890aSEmmanuel Vadot		qcom,remote-pid = <4>;
425f126890aSEmmanuel Vadot
426f126890aSEmmanuel Vadot		wcnss_smp2p_in: slave-kernel {
427f126890aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
428f126890aSEmmanuel Vadot
429f126890aSEmmanuel Vadot			interrupt-controller;
430f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
431f126890aSEmmanuel Vadot		};
432f126890aSEmmanuel Vadot
433f126890aSEmmanuel Vadot		wcnss_smp2p_out: master-kernel {
434f126890aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
435f126890aSEmmanuel Vadot
436f126890aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
437f126890aSEmmanuel Vadot		};
438f126890aSEmmanuel Vadot	};
439f126890aSEmmanuel Vadot
440f126890aSEmmanuel Vadot	smsm {
441f126890aSEmmanuel Vadot		compatible = "qcom,smsm";
442f126890aSEmmanuel Vadot
443f126890aSEmmanuel Vadot		#address-cells = <1>;
444f126890aSEmmanuel Vadot		#size-cells = <0>;
445f126890aSEmmanuel Vadot
4460e8011faSEmmanuel Vadot		mboxes = <0>, <&apcs1_mbox 13>, <0>, <&apcs1_mbox 19>;
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot		apps_smsm: apps@0 {
449f126890aSEmmanuel Vadot			reg = <0>;
450f126890aSEmmanuel Vadot
451f126890aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
452f126890aSEmmanuel Vadot		};
453f126890aSEmmanuel Vadot
454f126890aSEmmanuel Vadot		hexagon_smsm: hexagon@1 {
455f126890aSEmmanuel Vadot			reg = <1>;
456f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot			interrupt-controller;
459f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
460f126890aSEmmanuel Vadot		};
461f126890aSEmmanuel Vadot
462f126890aSEmmanuel Vadot		wcnss_smsm: wcnss@6 {
463f126890aSEmmanuel Vadot			reg = <6>;
464f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
465f126890aSEmmanuel Vadot
466f126890aSEmmanuel Vadot			interrupt-controller;
467f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
468f126890aSEmmanuel Vadot		};
469f126890aSEmmanuel Vadot	};
470f126890aSEmmanuel Vadot
471f126890aSEmmanuel Vadot	soc: soc@0 {
472f126890aSEmmanuel Vadot		compatible = "simple-bus";
473f126890aSEmmanuel Vadot		#address-cells = <1>;
474f126890aSEmmanuel Vadot		#size-cells = <1>;
475f126890aSEmmanuel Vadot		ranges = <0 0 0 0xffffffff>;
476f126890aSEmmanuel Vadot
477f126890aSEmmanuel Vadot		rng@22000 {
478f126890aSEmmanuel Vadot			compatible = "qcom,prng";
479f126890aSEmmanuel Vadot			reg = <0x00022000 0x200>;
480f126890aSEmmanuel Vadot			clocks = <&gcc GCC_PRNG_AHB_CLK>;
481f126890aSEmmanuel Vadot			clock-names = "core";
482f126890aSEmmanuel Vadot		};
483f126890aSEmmanuel Vadot
484f126890aSEmmanuel Vadot		qfprom: qfprom@5c000 {
485f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-qfprom", "qcom,qfprom";
486f126890aSEmmanuel Vadot			reg = <0x0005c000 0x1000>;
487f126890aSEmmanuel Vadot			#address-cells = <1>;
488f126890aSEmmanuel Vadot			#size-cells = <1>;
489f126890aSEmmanuel Vadot
490f126890aSEmmanuel Vadot			tsens_base1: base1@a0 {
491f126890aSEmmanuel Vadot				reg = <0xa0 0x1>;
492f126890aSEmmanuel Vadot				bits = <0 8>;
493f126890aSEmmanuel Vadot			};
494f126890aSEmmanuel Vadot
495f126890aSEmmanuel Vadot			tsens_s6_p1: s6-p1@a1 {
496f126890aSEmmanuel Vadot				reg = <0xa1 0x1>;
497f126890aSEmmanuel Vadot				bits = <0 6>;
498f126890aSEmmanuel Vadot			};
499f126890aSEmmanuel Vadot
500f126890aSEmmanuel Vadot			tsens_s6_p2: s6-p2@a1 {
501f126890aSEmmanuel Vadot				reg = <0xa1 0x2>;
502f126890aSEmmanuel Vadot				bits = <6 6>;
503f126890aSEmmanuel Vadot			};
504f126890aSEmmanuel Vadot
505f126890aSEmmanuel Vadot			tsens_s7_p1: s7-p1@a2 {
506f126890aSEmmanuel Vadot				reg = <0xa2 0x2>;
507f126890aSEmmanuel Vadot				bits = <4 6>;
508f126890aSEmmanuel Vadot			};
509f126890aSEmmanuel Vadot
510f126890aSEmmanuel Vadot			tsens_s7_p2: s7-p2@a3 {
511f126890aSEmmanuel Vadot				reg = <0xa3 0x1>;
512f126890aSEmmanuel Vadot				bits = <2 6>;
513f126890aSEmmanuel Vadot			};
514f126890aSEmmanuel Vadot
515f126890aSEmmanuel Vadot			tsens_s8_p1: s8-p1@a4 {
516f126890aSEmmanuel Vadot				reg = <0xa4 0x1>;
517f126890aSEmmanuel Vadot				bits = <0 6>;
518f126890aSEmmanuel Vadot			};
519f126890aSEmmanuel Vadot
520f126890aSEmmanuel Vadot			tsens_s8_p2: s8-p2@a4 {
521f126890aSEmmanuel Vadot				reg = <0xa4 0x2>;
522f126890aSEmmanuel Vadot				bits = <6 6>;
523f126890aSEmmanuel Vadot			};
524f126890aSEmmanuel Vadot
525f126890aSEmmanuel Vadot			tsens_s9_p1: s9-p1@a5 {
526f126890aSEmmanuel Vadot				reg = <0xa5 0x2>;
527f126890aSEmmanuel Vadot				bits = <4 6>;
528f126890aSEmmanuel Vadot			};
529f126890aSEmmanuel Vadot
530f126890aSEmmanuel Vadot			tsens_s9_p2: s9-p2@a6 {
531f126890aSEmmanuel Vadot				reg = <0xa6 0x1>;
532f126890aSEmmanuel Vadot				bits = <2 6>;
533f126890aSEmmanuel Vadot			};
534f126890aSEmmanuel Vadot
535f126890aSEmmanuel Vadot			tsens_base2: base2@a7 {
536f126890aSEmmanuel Vadot				reg = <0xa7 0x1>;
537f126890aSEmmanuel Vadot				bits = <0 8>;
538f126890aSEmmanuel Vadot			};
539f126890aSEmmanuel Vadot
540f126890aSEmmanuel Vadot			tsens_mode: mode@d0 {
541f126890aSEmmanuel Vadot				reg = <0xd0 0x1>;
542f126890aSEmmanuel Vadot				bits = <0 3>;
543f126890aSEmmanuel Vadot			};
544f126890aSEmmanuel Vadot
545f126890aSEmmanuel Vadot			tsens_s0_p1: s0-p1@d0 {
546f126890aSEmmanuel Vadot				reg = <0xd0 0x2>;
547f126890aSEmmanuel Vadot				bits = <3 6>;
548f126890aSEmmanuel Vadot			};
549f126890aSEmmanuel Vadot
550f126890aSEmmanuel Vadot			tsens_s0_p2: s0-p1@d1 {
551f126890aSEmmanuel Vadot				reg = <0xd1 0x1>;
552f126890aSEmmanuel Vadot				bits = <1 6>;
553f126890aSEmmanuel Vadot			};
554f126890aSEmmanuel Vadot
555f126890aSEmmanuel Vadot			tsens_s1_p1: s1-p1@d1 {
556f126890aSEmmanuel Vadot				reg = <0xd1 0x2>;
557f126890aSEmmanuel Vadot				bits = <7 6>;
558f126890aSEmmanuel Vadot			};
559f126890aSEmmanuel Vadot
560f126890aSEmmanuel Vadot			tsens_s1_p2: s1-p2@d2 {
561f126890aSEmmanuel Vadot				reg = <0xd2 0x2>;
562f126890aSEmmanuel Vadot				bits = <5 6>;
563f126890aSEmmanuel Vadot			};
564f126890aSEmmanuel Vadot
565f126890aSEmmanuel Vadot			tsens_s2_p1: s2-p1@d3 {
566f126890aSEmmanuel Vadot				reg = <0xd3 0x2>;
567f126890aSEmmanuel Vadot				bits = <3 6>;
568f126890aSEmmanuel Vadot			};
569f126890aSEmmanuel Vadot
570f126890aSEmmanuel Vadot			tsens_s2_p2: s2-p2@d4 {
571f126890aSEmmanuel Vadot				reg = <0xd4 0x1>;
572f126890aSEmmanuel Vadot				bits = <1 6>;
573f126890aSEmmanuel Vadot			};
574f126890aSEmmanuel Vadot
575f126890aSEmmanuel Vadot			tsens_s3_p1: s3-p1@d4 {
576f126890aSEmmanuel Vadot				reg = <0xd4 0x2>;
577f126890aSEmmanuel Vadot				bits = <7 6>;
578f126890aSEmmanuel Vadot			};
579f126890aSEmmanuel Vadot
580f126890aSEmmanuel Vadot			tsens_s3_p2: s3-p2@d5 {
581f126890aSEmmanuel Vadot				reg = <0xd5 0x2>;
582f126890aSEmmanuel Vadot				bits = <5 6>;
583f126890aSEmmanuel Vadot			};
584f126890aSEmmanuel Vadot
585f126890aSEmmanuel Vadot			tsens_s5_p1: s5-p1@d6 {
586f126890aSEmmanuel Vadot				reg = <0xd6 0x2>;
587f126890aSEmmanuel Vadot				bits = <3 6>;
588f126890aSEmmanuel Vadot			};
589f126890aSEmmanuel Vadot
590f126890aSEmmanuel Vadot			tsens_s5_p2: s5-p2@d7 {
591f126890aSEmmanuel Vadot				reg = <0xd7 0x1>;
592f126890aSEmmanuel Vadot				bits = <1 6>;
593f126890aSEmmanuel Vadot			};
594f126890aSEmmanuel Vadot		};
595f126890aSEmmanuel Vadot
596f126890aSEmmanuel Vadot		rpm_msg_ram: sram@60000 {
597f126890aSEmmanuel Vadot			compatible = "qcom,rpm-msg-ram";
598f126890aSEmmanuel Vadot			reg = <0x00060000 0x8000>;
599f126890aSEmmanuel Vadot		};
600f126890aSEmmanuel Vadot
601f126890aSEmmanuel Vadot		bimc: interconnect@400000 {
602f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-bimc";
603f126890aSEmmanuel Vadot			reg = <0x00400000 0x62000>;
604f126890aSEmmanuel Vadot			#interconnect-cells = <1>;
605f126890aSEmmanuel Vadot		};
606f126890aSEmmanuel Vadot
607f126890aSEmmanuel Vadot		tsens: thermal-sensor@4a9000 {
608f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-tsens", "qcom,tsens-v0_1";
609f126890aSEmmanuel Vadot			reg = <0x004a9000 0x1000>, /* TM */
610f126890aSEmmanuel Vadot			      <0x004a8000 0x1000>; /* SROT */
611f126890aSEmmanuel Vadot			nvmem-cells = <&tsens_mode>,
612f126890aSEmmanuel Vadot				      <&tsens_base1>, <&tsens_base2>,
613f126890aSEmmanuel Vadot				      <&tsens_s0_p1>, <&tsens_s0_p2>,
614f126890aSEmmanuel Vadot				      <&tsens_s1_p1>, <&tsens_s1_p2>,
615f126890aSEmmanuel Vadot				      <&tsens_s2_p1>, <&tsens_s2_p2>,
616f126890aSEmmanuel Vadot				      <&tsens_s3_p1>, <&tsens_s3_p2>,
617f126890aSEmmanuel Vadot				      <&tsens_s5_p1>, <&tsens_s5_p2>,
618f126890aSEmmanuel Vadot				      <&tsens_s6_p1>, <&tsens_s6_p2>,
619f126890aSEmmanuel Vadot				      <&tsens_s7_p1>, <&tsens_s7_p2>,
620f126890aSEmmanuel Vadot				      <&tsens_s8_p1>, <&tsens_s8_p2>,
621f126890aSEmmanuel Vadot				      <&tsens_s9_p1>, <&tsens_s9_p2>;
622f126890aSEmmanuel Vadot			nvmem-cell-names = "mode",
623f126890aSEmmanuel Vadot					   "base1", "base2",
624f126890aSEmmanuel Vadot					   "s0_p1", "s0_p2",
625f126890aSEmmanuel Vadot					   "s1_p1", "s1_p2",
626f126890aSEmmanuel Vadot					   "s2_p1", "s2_p2",
627f126890aSEmmanuel Vadot					   "s3_p1", "s3_p2",
628f126890aSEmmanuel Vadot					   "s5_p1", "s5_p2",
629f126890aSEmmanuel Vadot					   "s6_p1", "s6_p2",
630f126890aSEmmanuel Vadot					   "s7_p1", "s7_p2",
631f126890aSEmmanuel Vadot					   "s8_p1", "s8_p2",
632f126890aSEmmanuel Vadot					   "s9_p1", "s9_p2";
633f126890aSEmmanuel Vadot			#qcom,sensors = <9>;
634f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
635f126890aSEmmanuel Vadot			interrupt-names = "uplow";
636f126890aSEmmanuel Vadot			#thermal-sensor-cells = <1>;
637f126890aSEmmanuel Vadot		};
638f126890aSEmmanuel Vadot
639f126890aSEmmanuel Vadot		restart@4ab000 {
640f126890aSEmmanuel Vadot			compatible = "qcom,pshold";
641f126890aSEmmanuel Vadot			reg = <0x004ab000 0x4>;
642f126890aSEmmanuel Vadot		};
643f126890aSEmmanuel Vadot
644f126890aSEmmanuel Vadot		pcnoc: interconnect@500000 {
645f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-pcnoc";
646f126890aSEmmanuel Vadot			reg = <0x00500000 0x11000>;
647f126890aSEmmanuel Vadot			#interconnect-cells = <1>;
648f126890aSEmmanuel Vadot		};
649f126890aSEmmanuel Vadot
650f126890aSEmmanuel Vadot		snoc: interconnect@580000 {
651f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-snoc";
652f126890aSEmmanuel Vadot			reg = <0x00580000 0x14080>;
653f126890aSEmmanuel Vadot			#interconnect-cells = <1>;
654f126890aSEmmanuel Vadot
655f126890aSEmmanuel Vadot			snoc_mm: interconnect-snoc {
656f126890aSEmmanuel Vadot				compatible = "qcom,msm8939-snoc-mm";
657f126890aSEmmanuel Vadot				#interconnect-cells = <1>;
658f126890aSEmmanuel Vadot			};
659f126890aSEmmanuel Vadot		};
660f126890aSEmmanuel Vadot
661f126890aSEmmanuel Vadot		tlmm: pinctrl@1000000 {
662f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-pinctrl";
663f126890aSEmmanuel Vadot			reg = <0x01000000 0x300000>;
664f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
665f126890aSEmmanuel Vadot			gpio-controller;
666f126890aSEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 122>;
667f126890aSEmmanuel Vadot			#gpio-cells = <2>;
668f126890aSEmmanuel Vadot			interrupt-controller;
669f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
670f126890aSEmmanuel Vadot
671f126890aSEmmanuel Vadot			blsp_i2c1_default: blsp-i2c1-default-state {
672f126890aSEmmanuel Vadot				pins = "gpio2", "gpio3";
673f126890aSEmmanuel Vadot				function = "blsp_i2c1";
674f126890aSEmmanuel Vadot				drive-strength = <2>;
675f126890aSEmmanuel Vadot				bias-disable;
676f126890aSEmmanuel Vadot			};
677f126890aSEmmanuel Vadot
678f126890aSEmmanuel Vadot			blsp_i2c1_sleep: blsp-i2c1-sleep-state {
679f126890aSEmmanuel Vadot				pins = "gpio2", "gpio3";
680f126890aSEmmanuel Vadot				function = "gpio";
681f126890aSEmmanuel Vadot				drive-strength = <2>;
682f126890aSEmmanuel Vadot				bias-disable;
683f126890aSEmmanuel Vadot			};
684f126890aSEmmanuel Vadot
685f126890aSEmmanuel Vadot			blsp_i2c2_default: blsp-i2c2-default-state {
686f126890aSEmmanuel Vadot				pins = "gpio6", "gpio7";
687f126890aSEmmanuel Vadot				function = "blsp_i2c2";
688f126890aSEmmanuel Vadot				drive-strength = <2>;
689f126890aSEmmanuel Vadot				bias-disable;
690f126890aSEmmanuel Vadot			};
691f126890aSEmmanuel Vadot
692f126890aSEmmanuel Vadot			blsp_i2c2_sleep: blsp-i2c2-sleep-state {
693f126890aSEmmanuel Vadot				pins = "gpio6", "gpio7";
694f126890aSEmmanuel Vadot				function = "gpio";
695f126890aSEmmanuel Vadot				drive-strength = <2>;
696f126890aSEmmanuel Vadot				bias-disable;
697f126890aSEmmanuel Vadot			};
698f126890aSEmmanuel Vadot
699f126890aSEmmanuel Vadot			blsp_i2c3_default: blsp-i2c3-default-state {
700f126890aSEmmanuel Vadot				pins = "gpio10", "gpio11";
701f126890aSEmmanuel Vadot				function = "blsp_i2c3";
702f126890aSEmmanuel Vadot				drive-strength = <2>;
703f126890aSEmmanuel Vadot				bias-disable;
704f126890aSEmmanuel Vadot			};
705f126890aSEmmanuel Vadot
706f126890aSEmmanuel Vadot			blsp_i2c3_sleep: blsp-i2c3-sleep-state {
707f126890aSEmmanuel Vadot				pins = "gpio10", "gpio11";
708f126890aSEmmanuel Vadot				function = "gpio";
709f126890aSEmmanuel Vadot				drive-strength = <2>;
710f126890aSEmmanuel Vadot				bias-disable;
711f126890aSEmmanuel Vadot			};
712f126890aSEmmanuel Vadot
713f126890aSEmmanuel Vadot			blsp_i2c4_default: blsp-i2c4-default-state {
714f126890aSEmmanuel Vadot				pins = "gpio14", "gpio15";
715f126890aSEmmanuel Vadot				function = "blsp_i2c4";
716f126890aSEmmanuel Vadot				drive-strength = <2>;
717f126890aSEmmanuel Vadot				bias-disable;
718f126890aSEmmanuel Vadot			};
719f126890aSEmmanuel Vadot
720f126890aSEmmanuel Vadot			blsp_i2c4_sleep: blsp-i2c4-sleep-state {
721f126890aSEmmanuel Vadot				pins = "gpio14", "gpio15";
722f126890aSEmmanuel Vadot				function = "gpio";
723f126890aSEmmanuel Vadot				drive-strength = <2>;
724f126890aSEmmanuel Vadot				bias-disable;
725f126890aSEmmanuel Vadot			};
726f126890aSEmmanuel Vadot
727f126890aSEmmanuel Vadot			blsp_i2c5_default: blsp-i2c5-default-state {
728f126890aSEmmanuel Vadot				pins = "gpio18", "gpio19";
729f126890aSEmmanuel Vadot				function = "blsp_i2c5";
730f126890aSEmmanuel Vadot				drive-strength = <2>;
731f126890aSEmmanuel Vadot				bias-disable;
732f126890aSEmmanuel Vadot			};
733f126890aSEmmanuel Vadot
734f126890aSEmmanuel Vadot			blsp_i2c5_sleep: blsp-i2c5-sleep-state {
735f126890aSEmmanuel Vadot				pins = "gpio18", "gpio19";
736f126890aSEmmanuel Vadot				function = "gpio";
737f126890aSEmmanuel Vadot				drive-strength = <2>;
738f126890aSEmmanuel Vadot				bias-disable;
739f126890aSEmmanuel Vadot			};
740f126890aSEmmanuel Vadot
741f126890aSEmmanuel Vadot			blsp_i2c6_default: blsp-i2c6-default-state {
742f126890aSEmmanuel Vadot				pins = "gpio22", "gpio23";
743f126890aSEmmanuel Vadot				function = "blsp_i2c6";
744f126890aSEmmanuel Vadot				drive-strength = <2>;
745f126890aSEmmanuel Vadot				bias-disable;
746f126890aSEmmanuel Vadot			};
747f126890aSEmmanuel Vadot
748f126890aSEmmanuel Vadot			blsp_i2c6_sleep: blsp-i2c6-sleep-state {
749f126890aSEmmanuel Vadot				pins = "gpio22", "gpio23";
750f126890aSEmmanuel Vadot				function = "gpio";
751f126890aSEmmanuel Vadot				drive-strength = <2>;
752f126890aSEmmanuel Vadot				bias-disable;
753f126890aSEmmanuel Vadot			};
754f126890aSEmmanuel Vadot
755f126890aSEmmanuel Vadot			blsp_spi1_default: blsp-spi1-default-state {
756f126890aSEmmanuel Vadot				spi-pins {
757f126890aSEmmanuel Vadot					pins = "gpio0", "gpio1", "gpio3";
758f126890aSEmmanuel Vadot					function = "blsp_spi1";
759f126890aSEmmanuel Vadot					drive-strength = <12>;
760f126890aSEmmanuel Vadot					bias-disable;
761f126890aSEmmanuel Vadot				};
762f126890aSEmmanuel Vadot
763f126890aSEmmanuel Vadot				cs-pins {
764f126890aSEmmanuel Vadot					pins = "gpio2";
765f126890aSEmmanuel Vadot					function = "gpio";
766f126890aSEmmanuel Vadot					drive-strength = <16>;
767f126890aSEmmanuel Vadot					bias-disable;
768f126890aSEmmanuel Vadot					output-high;
769f126890aSEmmanuel Vadot				};
770f126890aSEmmanuel Vadot			};
771f126890aSEmmanuel Vadot
772f126890aSEmmanuel Vadot			blsp_spi1_sleep: blsp-spi1-sleep-state {
773f126890aSEmmanuel Vadot				pins = "gpio0", "gpio1", "gpio2", "gpio3";
774f126890aSEmmanuel Vadot				function = "gpio";
775f126890aSEmmanuel Vadot				drive-strength = <2>;
776f126890aSEmmanuel Vadot				bias-pull-down;
777f126890aSEmmanuel Vadot			};
778f126890aSEmmanuel Vadot
779f126890aSEmmanuel Vadot			blsp_spi2_default: blsp-spi2-default-state {
780f126890aSEmmanuel Vadot				spi-pins {
781f126890aSEmmanuel Vadot					pins = "gpio4", "gpio5", "gpio7";
782f126890aSEmmanuel Vadot					function = "blsp_spi2";
783f126890aSEmmanuel Vadot					drive-strength = <12>;
784f126890aSEmmanuel Vadot					bias-disable;
785f126890aSEmmanuel Vadot				};
786f126890aSEmmanuel Vadot
787f126890aSEmmanuel Vadot				cs-pins {
788f126890aSEmmanuel Vadot					pins = "gpio6";
789f126890aSEmmanuel Vadot					function = "gpio";
790f126890aSEmmanuel Vadot					drive-strength = <16>;
791f126890aSEmmanuel Vadot					bias-disable;
792f126890aSEmmanuel Vadot					output-high;
793f126890aSEmmanuel Vadot				};
794f126890aSEmmanuel Vadot			};
795f126890aSEmmanuel Vadot
796f126890aSEmmanuel Vadot			blsp_spi2_sleep: blsp-spi2-sleep-state {
797f126890aSEmmanuel Vadot				pins = "gpio4", "gpio5", "gpio6", "gpio7";
798f126890aSEmmanuel Vadot				function = "gpio";
799f126890aSEmmanuel Vadot				drive-strength = <2>;
800f126890aSEmmanuel Vadot				bias-pull-down;
801f126890aSEmmanuel Vadot			};
802f126890aSEmmanuel Vadot
803f126890aSEmmanuel Vadot			blsp_spi3_default: blsp-spi3-default-state {
804f126890aSEmmanuel Vadot				spi-pins {
805f126890aSEmmanuel Vadot					pins = "gpio8", "gpio9", "gpio11";
806f126890aSEmmanuel Vadot					function = "blsp_spi3";
807f126890aSEmmanuel Vadot					drive-strength = <12>;
808f126890aSEmmanuel Vadot					bias-disable;
809f126890aSEmmanuel Vadot				};
810f126890aSEmmanuel Vadot
811f126890aSEmmanuel Vadot				cs-pins {
812f126890aSEmmanuel Vadot					pins = "gpio10";
813f126890aSEmmanuel Vadot					function = "gpio";
814f126890aSEmmanuel Vadot					drive-strength = <16>;
815f126890aSEmmanuel Vadot					bias-disable;
816f126890aSEmmanuel Vadot					output-high;
817f126890aSEmmanuel Vadot				};
818f126890aSEmmanuel Vadot			};
819f126890aSEmmanuel Vadot
820f126890aSEmmanuel Vadot			blsp_spi3_sleep: blsp-spi3-sleep-state {
821f126890aSEmmanuel Vadot				pins = "gpio8", "gpio9", "gpio10", "gpio11";
822f126890aSEmmanuel Vadot				function = "gpio";
823f126890aSEmmanuel Vadot				drive-strength = <2>;
824f126890aSEmmanuel Vadot				bias-pull-down;
825f126890aSEmmanuel Vadot			};
826f126890aSEmmanuel Vadot
827f126890aSEmmanuel Vadot			blsp_spi4_default: blsp-spi4-default-state {
828f126890aSEmmanuel Vadot				spi-pins {
829f126890aSEmmanuel Vadot					pins = "gpio12", "gpio13", "gpio15";
830f126890aSEmmanuel Vadot					function = "blsp_spi4";
831f126890aSEmmanuel Vadot					drive-strength = <12>;
832f126890aSEmmanuel Vadot					bias-disable;
833f126890aSEmmanuel Vadot				};
834f126890aSEmmanuel Vadot
835f126890aSEmmanuel Vadot				cs-pins {
836f126890aSEmmanuel Vadot					pins = "gpio14";
837f126890aSEmmanuel Vadot					function = "gpio";
838f126890aSEmmanuel Vadot					drive-strength = <16>;
839f126890aSEmmanuel Vadot					bias-disable;
840f126890aSEmmanuel Vadot					output-high;
841f126890aSEmmanuel Vadot				};
842f126890aSEmmanuel Vadot			};
843f126890aSEmmanuel Vadot
844f126890aSEmmanuel Vadot			blsp_spi4_sleep: blsp-spi4-sleep-state {
845f126890aSEmmanuel Vadot				pins = "gpio12", "gpio13", "gpio14", "gpio15";
846f126890aSEmmanuel Vadot				function = "gpio";
847f126890aSEmmanuel Vadot				drive-strength = <2>;
848f126890aSEmmanuel Vadot				bias-pull-down;
849f126890aSEmmanuel Vadot			};
850f126890aSEmmanuel Vadot
851f126890aSEmmanuel Vadot			blsp_spi5_default: blsp-spi5-default-state {
852f126890aSEmmanuel Vadot				spi-pins {
853f126890aSEmmanuel Vadot					pins = "gpio16", "gpio17", "gpio19";
854f126890aSEmmanuel Vadot					function = "blsp_spi5";
855f126890aSEmmanuel Vadot					drive-strength = <12>;
856f126890aSEmmanuel Vadot					bias-disable;
857f126890aSEmmanuel Vadot				};
858f126890aSEmmanuel Vadot
859f126890aSEmmanuel Vadot				cs-pins {
860f126890aSEmmanuel Vadot					pins = "gpio18";
861f126890aSEmmanuel Vadot					function = "gpio";
862f126890aSEmmanuel Vadot					drive-strength = <16>;
863f126890aSEmmanuel Vadot					bias-disable;
864f126890aSEmmanuel Vadot					output-high;
865f126890aSEmmanuel Vadot				};
866f126890aSEmmanuel Vadot			};
867f126890aSEmmanuel Vadot
868f126890aSEmmanuel Vadot			blsp_spi5_sleep: blsp-spi5-sleep-state {
869f126890aSEmmanuel Vadot				pins = "gpio16", "gpio17", "gpio18", "gpio19";
870f126890aSEmmanuel Vadot				function = "gpio";
871f126890aSEmmanuel Vadot				drive-strength = <2>;
872f126890aSEmmanuel Vadot				bias-pull-down;
873f126890aSEmmanuel Vadot			};
874f126890aSEmmanuel Vadot
875f126890aSEmmanuel Vadot			blsp_spi6_default: blsp-spi6-default-state {
876f126890aSEmmanuel Vadot				spi-pins {
877f126890aSEmmanuel Vadot					pins = "gpio20", "gpio21", "gpio23";
878f126890aSEmmanuel Vadot					function = "blsp_spi6";
879f126890aSEmmanuel Vadot					drive-strength = <12>;
880f126890aSEmmanuel Vadot					bias-disable;
881f126890aSEmmanuel Vadot				};
882f126890aSEmmanuel Vadot
883f126890aSEmmanuel Vadot				cs-pins {
884f126890aSEmmanuel Vadot					pins = "gpio22";
885f126890aSEmmanuel Vadot					function = "gpio";
886f126890aSEmmanuel Vadot					drive-strength = <16>;
887f126890aSEmmanuel Vadot					bias-disable;
888f126890aSEmmanuel Vadot					output-high;
889f126890aSEmmanuel Vadot				};
890f126890aSEmmanuel Vadot			};
891f126890aSEmmanuel Vadot
892f126890aSEmmanuel Vadot			blsp_spi6_sleep: blsp-spi6-sleep-state {
893f126890aSEmmanuel Vadot				pins = "gpio20", "gpio21", "gpio22", "gpio23";
894f126890aSEmmanuel Vadot				function = "gpio";
895f126890aSEmmanuel Vadot				drive-strength = <2>;
896f126890aSEmmanuel Vadot				bias-pull-down;
897f126890aSEmmanuel Vadot			};
898f126890aSEmmanuel Vadot
899f126890aSEmmanuel Vadot			blsp_uart1_default: blsp-uart1-default-state {
900f126890aSEmmanuel Vadot				pins = "gpio0", "gpio1", "gpio2", "gpio3";
901f126890aSEmmanuel Vadot				function = "blsp_uart1";
902f126890aSEmmanuel Vadot				drive-strength = <16>;
903f126890aSEmmanuel Vadot				bias-disable;
904f126890aSEmmanuel Vadot			};
905f126890aSEmmanuel Vadot
906f126890aSEmmanuel Vadot			blsp_uart1_sleep: blsp-uart1-sleep-state {
907f126890aSEmmanuel Vadot				pins = "gpio0", "gpio1", "gpio2", "gpio3";
908f126890aSEmmanuel Vadot				function = "gpio";
909f126890aSEmmanuel Vadot				drive-strength = <2>;
910f126890aSEmmanuel Vadot				bias-pull-down;
911f126890aSEmmanuel Vadot			};
912f126890aSEmmanuel Vadot
913f126890aSEmmanuel Vadot			blsp_uart2_default: blsp-uart2-default-state {
914f126890aSEmmanuel Vadot				pins = "gpio4", "gpio5";
915f126890aSEmmanuel Vadot				function = "blsp_uart2";
916f126890aSEmmanuel Vadot				drive-strength = <16>;
917f126890aSEmmanuel Vadot				bias-disable;
918f126890aSEmmanuel Vadot			};
919f126890aSEmmanuel Vadot
920f126890aSEmmanuel Vadot			blsp_uart2_sleep: blsp-uart2-sleep-state {
921f126890aSEmmanuel Vadot				pins = "gpio4", "gpio5";
922f126890aSEmmanuel Vadot				function = "gpio";
923f126890aSEmmanuel Vadot				drive-strength = <2>;
924f126890aSEmmanuel Vadot				bias-pull-down;
925f126890aSEmmanuel Vadot			};
926f126890aSEmmanuel Vadot
927f126890aSEmmanuel Vadot			camera_front_default: camera-front-default-state {
928f126890aSEmmanuel Vadot				pwdn-pins {
929f126890aSEmmanuel Vadot					pins = "gpio33";
930f126890aSEmmanuel Vadot					function = "gpio";
931f126890aSEmmanuel Vadot					drive-strength = <16>;
932f126890aSEmmanuel Vadot					bias-disable;
933f126890aSEmmanuel Vadot				};
934f126890aSEmmanuel Vadot
935f126890aSEmmanuel Vadot				rst-pins {
936f126890aSEmmanuel Vadot					pins = "gpio28";
937f126890aSEmmanuel Vadot					function = "gpio";
938f126890aSEmmanuel Vadot					drive-strength = <16>;
939f126890aSEmmanuel Vadot					bias-disable;
940f126890aSEmmanuel Vadot				};
941f126890aSEmmanuel Vadot
942f126890aSEmmanuel Vadot				mclk1-pins {
943f126890aSEmmanuel Vadot					pins = "gpio27";
944f126890aSEmmanuel Vadot					function = "cam_mclk1";
945f126890aSEmmanuel Vadot					drive-strength = <16>;
946f126890aSEmmanuel Vadot					bias-disable;
947f126890aSEmmanuel Vadot				};
948f126890aSEmmanuel Vadot			};
949f126890aSEmmanuel Vadot
950f126890aSEmmanuel Vadot			camera_rear_default: camera-rear-default-state {
951f126890aSEmmanuel Vadot				pwdn-pins {
952f126890aSEmmanuel Vadot					pins = "gpio34";
953f126890aSEmmanuel Vadot					function = "gpio";
954f126890aSEmmanuel Vadot					drive-strength = <16>;
955f126890aSEmmanuel Vadot					bias-disable;
956f126890aSEmmanuel Vadot				};
957f126890aSEmmanuel Vadot
958f126890aSEmmanuel Vadot				rst-pins {
959f126890aSEmmanuel Vadot					pins = "gpio35";
960f126890aSEmmanuel Vadot					function = "gpio";
961f126890aSEmmanuel Vadot					drive-strength = <16>;
962f126890aSEmmanuel Vadot					bias-disable;
963f126890aSEmmanuel Vadot				};
964f126890aSEmmanuel Vadot
965f126890aSEmmanuel Vadot				mclk0-pins {
966f126890aSEmmanuel Vadot					pins = "gpio26";
967f126890aSEmmanuel Vadot					function = "cam_mclk0";
968f126890aSEmmanuel Vadot					drive-strength = <16>;
969f126890aSEmmanuel Vadot					bias-disable;
970f126890aSEmmanuel Vadot				};
971f126890aSEmmanuel Vadot			};
972f126890aSEmmanuel Vadot
973f126890aSEmmanuel Vadot			cci0_default: cci0-default-state {
974f126890aSEmmanuel Vadot				pins = "gpio29", "gpio30";
975f126890aSEmmanuel Vadot				function = "cci_i2c";
976f126890aSEmmanuel Vadot				drive-strength = <16>;
977f126890aSEmmanuel Vadot				bias-disable;
978f126890aSEmmanuel Vadot			};
979f126890aSEmmanuel Vadot
980f126890aSEmmanuel Vadot			cdc_dmic_default: cdc-dmic-default-state {
981f126890aSEmmanuel Vadot				clk-pins {
982f126890aSEmmanuel Vadot					pins = "gpio0";
983f126890aSEmmanuel Vadot					function = "dmic0_clk";
984f126890aSEmmanuel Vadot					drive-strength = <8>;
985f126890aSEmmanuel Vadot				};
986f126890aSEmmanuel Vadot
987f126890aSEmmanuel Vadot				data-pins {
988f126890aSEmmanuel Vadot					pins = "gpio1";
989f126890aSEmmanuel Vadot					function = "dmic0_data";
990f126890aSEmmanuel Vadot					drive-strength = <8>;
991f126890aSEmmanuel Vadot				};
992f126890aSEmmanuel Vadot			};
993f126890aSEmmanuel Vadot
994f126890aSEmmanuel Vadot			cdc_dmic_sleep: cdc-dmic-sleep-state {
995f126890aSEmmanuel Vadot				clk-pins {
996f126890aSEmmanuel Vadot					pins = "gpio0";
997f126890aSEmmanuel Vadot					function = "dmic0_clk";
998f126890aSEmmanuel Vadot					drive-strength = <2>;
999f126890aSEmmanuel Vadot					bias-disable;
1000f126890aSEmmanuel Vadot				};
1001f126890aSEmmanuel Vadot
1002f126890aSEmmanuel Vadot				data-pins {
1003f126890aSEmmanuel Vadot					pins = "gpio1";
1004f126890aSEmmanuel Vadot					function = "dmic0_data";
1005f126890aSEmmanuel Vadot					drive-strength = <2>;
1006f126890aSEmmanuel Vadot					bias-disable;
1007f126890aSEmmanuel Vadot				};
1008f126890aSEmmanuel Vadot			};
1009f126890aSEmmanuel Vadot
1010f126890aSEmmanuel Vadot			cdc_pdm_default: cdc-pdm-default-state {
1011f126890aSEmmanuel Vadot				pins = "gpio63", "gpio64", "gpio65", "gpio66",
1012f126890aSEmmanuel Vadot				       "gpio67", "gpio68";
1013f126890aSEmmanuel Vadot				function = "cdc_pdm0";
1014f126890aSEmmanuel Vadot				drive-strength = <8>;
1015f126890aSEmmanuel Vadot				bias-disable;
1016f126890aSEmmanuel Vadot			};
1017f126890aSEmmanuel Vadot
1018f126890aSEmmanuel Vadot			cdc_pdm_sleep: cdc-pdm-sleep-state {
1019f126890aSEmmanuel Vadot				pins = "gpio63", "gpio64", "gpio65", "gpio66",
1020f126890aSEmmanuel Vadot				       "gpio67", "gpio68";
1021f126890aSEmmanuel Vadot				function = "cdc_pdm0";
1022f126890aSEmmanuel Vadot				drive-strength = <2>;
1023f126890aSEmmanuel Vadot				bias-pull-down;
1024f126890aSEmmanuel Vadot			};
1025f126890aSEmmanuel Vadot
1026f126890aSEmmanuel Vadot			pri_mi2s_default: mi2s-pri-default-state {
1027f126890aSEmmanuel Vadot				pins = "gpio113", "gpio114", "gpio115", "gpio116";
1028f126890aSEmmanuel Vadot				function = "pri_mi2s";
1029f126890aSEmmanuel Vadot				drive-strength = <8>;
1030f126890aSEmmanuel Vadot				bias-disable;
1031f126890aSEmmanuel Vadot			};
1032f126890aSEmmanuel Vadot
1033f126890aSEmmanuel Vadot			pri_mi2s_sleep: mi2s-pri-sleep-state {
1034f126890aSEmmanuel Vadot				pins = "gpio113", "gpio114", "gpio115", "gpio116";
1035f126890aSEmmanuel Vadot				function = "pri_mi2s";
1036f126890aSEmmanuel Vadot				drive-strength = <2>;
1037f126890aSEmmanuel Vadot				bias-disable;
1038f126890aSEmmanuel Vadot			};
1039f126890aSEmmanuel Vadot
1040f126890aSEmmanuel Vadot			pri_mi2s_mclk_default: mi2s-pri-mclk-default-state {
1041f126890aSEmmanuel Vadot				pins = "gpio116";
1042f126890aSEmmanuel Vadot				function = "pri_mi2s";
1043f126890aSEmmanuel Vadot				drive-strength = <8>;
1044f126890aSEmmanuel Vadot				bias-disable;
1045f126890aSEmmanuel Vadot			};
1046f126890aSEmmanuel Vadot
1047f126890aSEmmanuel Vadot			pri_mi2s_mclk_sleep: mi2s-pri-mclk-sleep-state {
1048f126890aSEmmanuel Vadot				pins = "gpio116";
1049f126890aSEmmanuel Vadot				function = "pri_mi2s";
1050f126890aSEmmanuel Vadot				drive-strength = <2>;
1051f126890aSEmmanuel Vadot				bias-disable;
1052f126890aSEmmanuel Vadot			};
1053f126890aSEmmanuel Vadot
1054f126890aSEmmanuel Vadot			pri_mi2s_ws_default: mi2s-pri-ws-default-state {
1055f126890aSEmmanuel Vadot				pins = "gpio110";
1056f126890aSEmmanuel Vadot				function = "pri_mi2s_ws";
1057f126890aSEmmanuel Vadot				drive-strength = <8>;
1058f126890aSEmmanuel Vadot				bias-disable;
1059f126890aSEmmanuel Vadot			};
1060f126890aSEmmanuel Vadot
1061f126890aSEmmanuel Vadot			pri_mi2s_ws_sleep: mi2s-pri-ws-sleep-state {
1062f126890aSEmmanuel Vadot				pins = "gpio110";
1063f126890aSEmmanuel Vadot				function = "pri_mi2s_ws";
1064f126890aSEmmanuel Vadot				drive-strength = <2>;
1065f126890aSEmmanuel Vadot				bias-disable;
1066f126890aSEmmanuel Vadot			};
1067f126890aSEmmanuel Vadot
1068f126890aSEmmanuel Vadot			sec_mi2s_default: mi2s-sec-default-state {
1069f126890aSEmmanuel Vadot				pins = "gpio112", "gpio117", "gpio118", "gpio119";
1070f126890aSEmmanuel Vadot				function = "sec_mi2s";
1071f126890aSEmmanuel Vadot				drive-strength = <8>;
1072f126890aSEmmanuel Vadot				bias-disable;
1073f126890aSEmmanuel Vadot			};
1074f126890aSEmmanuel Vadot
1075f126890aSEmmanuel Vadot			sec_mi2s_sleep: mi2s-sec-sleep-state {
1076f126890aSEmmanuel Vadot				pins = "gpio112", "gpio117", "gpio118", "gpio119";
1077f126890aSEmmanuel Vadot				function = "sec_mi2s";
1078f126890aSEmmanuel Vadot				drive-strength = <2>;
1079f126890aSEmmanuel Vadot				bias-disable;
1080f126890aSEmmanuel Vadot			};
1081f126890aSEmmanuel Vadot
1082f126890aSEmmanuel Vadot			sdc1_default: sdc1-default-state {
1083f126890aSEmmanuel Vadot				clk-pins {
1084f126890aSEmmanuel Vadot					pins = "sdc1_clk";
1085f126890aSEmmanuel Vadot					bias-disable;
1086f126890aSEmmanuel Vadot					drive-strength = <16>;
1087f126890aSEmmanuel Vadot				};
1088f126890aSEmmanuel Vadot
1089f126890aSEmmanuel Vadot				cmd-pins {
1090f126890aSEmmanuel Vadot					pins = "sdc1_cmd";
1091f126890aSEmmanuel Vadot					bias-pull-up;
1092f126890aSEmmanuel Vadot					drive-strength = <10>;
1093f126890aSEmmanuel Vadot				};
1094f126890aSEmmanuel Vadot
1095f126890aSEmmanuel Vadot				data-pins {
1096f126890aSEmmanuel Vadot					pins = "sdc1_data";
1097f126890aSEmmanuel Vadot					bias-pull-up;
1098f126890aSEmmanuel Vadot					drive-strength = <10>;
1099f126890aSEmmanuel Vadot				};
1100f126890aSEmmanuel Vadot			};
1101f126890aSEmmanuel Vadot
1102f126890aSEmmanuel Vadot			sdc1_sleep: sdc1-sleep-state {
1103f126890aSEmmanuel Vadot				clk-pins {
1104f126890aSEmmanuel Vadot					pins = "sdc1_clk";
1105f126890aSEmmanuel Vadot					bias-disable;
1106f126890aSEmmanuel Vadot					drive-strength = <2>;
1107f126890aSEmmanuel Vadot				};
1108f126890aSEmmanuel Vadot
1109f126890aSEmmanuel Vadot				cmd-pins {
1110f126890aSEmmanuel Vadot					pins = "sdc1_cmd";
1111f126890aSEmmanuel Vadot					bias-pull-up;
1112f126890aSEmmanuel Vadot					drive-strength = <2>;
1113f126890aSEmmanuel Vadot				};
1114f126890aSEmmanuel Vadot
1115f126890aSEmmanuel Vadot				data-pins {
1116f126890aSEmmanuel Vadot					pins = "sdc1_data";
1117f126890aSEmmanuel Vadot					bias-pull-up;
1118f126890aSEmmanuel Vadot					drive-strength = <2>;
1119f126890aSEmmanuel Vadot				};
1120f126890aSEmmanuel Vadot			};
1121f126890aSEmmanuel Vadot
1122f126890aSEmmanuel Vadot			sdc2_default: sdc2-default-state {
1123f126890aSEmmanuel Vadot				clk-pins {
1124f126890aSEmmanuel Vadot					pins = "sdc2_clk";
1125f126890aSEmmanuel Vadot					bias-disable;
1126f126890aSEmmanuel Vadot					drive-strength = <16>;
1127f126890aSEmmanuel Vadot				};
1128f126890aSEmmanuel Vadot
1129f126890aSEmmanuel Vadot				cmd-pins {
1130f126890aSEmmanuel Vadot					pins = "sdc2_cmd";
1131f126890aSEmmanuel Vadot					bias-pull-up;
1132f126890aSEmmanuel Vadot					drive-strength = <10>;
1133f126890aSEmmanuel Vadot				};
1134f126890aSEmmanuel Vadot
1135f126890aSEmmanuel Vadot				data-pins {
1136f126890aSEmmanuel Vadot					pins = "sdc2_data";
1137f126890aSEmmanuel Vadot					bias-pull-up;
1138f126890aSEmmanuel Vadot					drive-strength = <10>;
1139f126890aSEmmanuel Vadot				};
1140f126890aSEmmanuel Vadot			};
1141f126890aSEmmanuel Vadot
1142f126890aSEmmanuel Vadot			sdc2_sleep: sdc2-sleep-state {
1143f126890aSEmmanuel Vadot				clk-pins {
1144f126890aSEmmanuel Vadot					pins = "sdc2_clk";
1145f126890aSEmmanuel Vadot					bias-disable;
1146f126890aSEmmanuel Vadot					drive-strength = <2>;
1147f126890aSEmmanuel Vadot				};
1148f126890aSEmmanuel Vadot
1149f126890aSEmmanuel Vadot				cmd-pins {
1150f126890aSEmmanuel Vadot					pins = "sdc2_cmd";
1151f126890aSEmmanuel Vadot					bias-pull-up;
1152f126890aSEmmanuel Vadot					drive-strength = <2>;
1153f126890aSEmmanuel Vadot				};
1154f126890aSEmmanuel Vadot
1155f126890aSEmmanuel Vadot				data-pins {
1156f126890aSEmmanuel Vadot					pins = "sdc2_data";
1157f126890aSEmmanuel Vadot					bias-pull-up;
1158f126890aSEmmanuel Vadot					drive-strength = <2>;
1159f126890aSEmmanuel Vadot				};
1160f126890aSEmmanuel Vadot			};
1161f126890aSEmmanuel Vadot
1162f126890aSEmmanuel Vadot			wcss_wlan_default: wcss-wlan-default-state {
1163f126890aSEmmanuel Vadot				pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
1164f126890aSEmmanuel Vadot				function = "wcss_wlan";
1165f126890aSEmmanuel Vadot				drive-strength = <6>;
1166f126890aSEmmanuel Vadot				bias-pull-up;
1167f126890aSEmmanuel Vadot			};
1168f126890aSEmmanuel Vadot		};
1169f126890aSEmmanuel Vadot
1170f126890aSEmmanuel Vadot		gcc: clock-controller@1800000 {
1171f126890aSEmmanuel Vadot			compatible = "qcom,gcc-msm8939";
1172f126890aSEmmanuel Vadot			reg = <0x01800000 0x80000>;
1173f126890aSEmmanuel Vadot			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1174f126890aSEmmanuel Vadot				 <&sleep_clk>,
1175f126890aSEmmanuel Vadot				 <&mdss_dsi0_phy 1>,
1176f126890aSEmmanuel Vadot				 <&mdss_dsi0_phy 0>,
1177f126890aSEmmanuel Vadot				 <0>,
1178f126890aSEmmanuel Vadot				 <0>,
1179f126890aSEmmanuel Vadot				 <0>;
1180f126890aSEmmanuel Vadot			clock-names = "xo",
1181f126890aSEmmanuel Vadot				      "sleep_clk",
1182f126890aSEmmanuel Vadot				      "dsi0pll",
1183f126890aSEmmanuel Vadot				      "dsi0pllbyte",
1184f126890aSEmmanuel Vadot				      "ext_mclk",
1185f126890aSEmmanuel Vadot				      "ext_pri_i2s",
1186f126890aSEmmanuel Vadot				      "ext_sec_i2s";
1187f126890aSEmmanuel Vadot			#clock-cells = <1>;
1188f126890aSEmmanuel Vadot			#reset-cells = <1>;
1189f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
1190f126890aSEmmanuel Vadot		};
1191f126890aSEmmanuel Vadot
1192f126890aSEmmanuel Vadot		tcsr_mutex: hwlock@1905000 {
1193f126890aSEmmanuel Vadot			compatible = "qcom,tcsr-mutex";
1194f126890aSEmmanuel Vadot			reg = <0x01905000 0x20000>;
1195f126890aSEmmanuel Vadot			#hwlock-cells = <1>;
1196f126890aSEmmanuel Vadot		};
1197f126890aSEmmanuel Vadot
1198f126890aSEmmanuel Vadot		tcsr: syscon@1937000 {
1199f126890aSEmmanuel Vadot			compatible = "qcom,tcsr-msm8916", "syscon";
1200f126890aSEmmanuel Vadot			reg = <0x01937000 0x30000>;
1201f126890aSEmmanuel Vadot		};
1202f126890aSEmmanuel Vadot
1203f126890aSEmmanuel Vadot		mdss: display-subsystem@1a00000 {
1204f126890aSEmmanuel Vadot			compatible = "qcom,mdss";
1205f126890aSEmmanuel Vadot			reg = <0x01a00000 0x1000>,
1206f126890aSEmmanuel Vadot			      <0x01ac8000 0x3000>;
1207f126890aSEmmanuel Vadot			reg-names = "mdss_phys", "vbif_phys";
1208f126890aSEmmanuel Vadot
1209f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1210f126890aSEmmanuel Vadot			interrupt-controller;
1211f126890aSEmmanuel Vadot
1212f126890aSEmmanuel Vadot			clocks = <&gcc GCC_MDSS_AHB_CLK>,
1213f126890aSEmmanuel Vadot				 <&gcc GCC_MDSS_AXI_CLK>,
1214f126890aSEmmanuel Vadot				 <&gcc GCC_MDSS_VSYNC_CLK>;
1215f126890aSEmmanuel Vadot			clock-names = "iface",
1216f126890aSEmmanuel Vadot				      "bus",
1217f126890aSEmmanuel Vadot				      "vsync";
1218f126890aSEmmanuel Vadot
1219f126890aSEmmanuel Vadot			power-domains = <&gcc MDSS_GDSC>;
1220f126890aSEmmanuel Vadot
1221f126890aSEmmanuel Vadot			#address-cells = <1>;
1222f126890aSEmmanuel Vadot			#size-cells = <1>;
1223f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
1224f126890aSEmmanuel Vadot			ranges;
1225f126890aSEmmanuel Vadot
1226f126890aSEmmanuel Vadot			status = "disabled";
1227f126890aSEmmanuel Vadot
1228f126890aSEmmanuel Vadot			mdss_mdp: display-controller@1a01000 {
1229f126890aSEmmanuel Vadot				compatible = "qcom,mdp5";
1230f126890aSEmmanuel Vadot				reg = <0x01a01000 0x89000>;
1231f126890aSEmmanuel Vadot				reg-names = "mdp_phys";
1232f126890aSEmmanuel Vadot
1233f126890aSEmmanuel Vadot				interrupt-parent = <&mdss>;
1234f126890aSEmmanuel Vadot				interrupts = <0>;
1235f126890aSEmmanuel Vadot
1236f126890aSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1237f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_AXI_CLK>,
1238f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_MDP_CLK>,
1239f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_VSYNC_CLK>;
1240f126890aSEmmanuel Vadot				clock-names = "iface",
1241f126890aSEmmanuel Vadot					      "bus",
1242f126890aSEmmanuel Vadot					      "core",
1243f126890aSEmmanuel Vadot					      "vsync";
1244f126890aSEmmanuel Vadot
1245f126890aSEmmanuel Vadot				iommus = <&apps_iommu 4>;
1246f126890aSEmmanuel Vadot
1247f126890aSEmmanuel Vadot				interconnects = <&snoc_mm MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
1248f126890aSEmmanuel Vadot						<&snoc_mm MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>;
1249f126890aSEmmanuel Vadot				interconnect-names = "mdp0-mem", "mdp1-mem";
1250f126890aSEmmanuel Vadot
1251f126890aSEmmanuel Vadot				ports {
1252f126890aSEmmanuel Vadot					#address-cells = <1>;
1253f126890aSEmmanuel Vadot					#size-cells = <0>;
1254f126890aSEmmanuel Vadot
1255f126890aSEmmanuel Vadot					port@0 {
1256f126890aSEmmanuel Vadot						reg = <0>;
1257f126890aSEmmanuel Vadot						mdss_mdp_intf1_out: endpoint {
1258f126890aSEmmanuel Vadot							remote-endpoint = <&mdss_dsi0_in>;
1259f126890aSEmmanuel Vadot						};
1260f126890aSEmmanuel Vadot					};
1261f126890aSEmmanuel Vadot
1262f126890aSEmmanuel Vadot					port@1 {
1263f126890aSEmmanuel Vadot						reg = <1>;
1264f126890aSEmmanuel Vadot						mdss_mdp_intf2_out: endpoint {
1265f126890aSEmmanuel Vadot							remote-endpoint = <&mdss_dsi1_in>;
1266f126890aSEmmanuel Vadot						};
1267f126890aSEmmanuel Vadot					};
1268f126890aSEmmanuel Vadot				};
1269f126890aSEmmanuel Vadot			};
1270f126890aSEmmanuel Vadot
1271f126890aSEmmanuel Vadot			mdss_dsi0: dsi@1a98000 {
1272f126890aSEmmanuel Vadot				compatible = "qcom,msm8916-dsi-ctrl",
1273f126890aSEmmanuel Vadot					     "qcom,mdss-dsi-ctrl";
1274f126890aSEmmanuel Vadot				reg = <0x01a98000 0x25c>;
1275f126890aSEmmanuel Vadot				reg-names = "dsi_ctrl";
1276f126890aSEmmanuel Vadot
1277f126890aSEmmanuel Vadot				interrupt-parent = <&mdss>;
1278f126890aSEmmanuel Vadot				interrupts = <4>;
1279f126890aSEmmanuel Vadot
1280f126890aSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_MDP_CLK>,
1281f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_AHB_CLK>,
1282f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_AXI_CLK>,
1283f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_BYTE0_CLK>,
1284f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_PCLK0_CLK>,
1285f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_ESC0_CLK>;
1286f126890aSEmmanuel Vadot				clock-names = "mdp_core",
1287f126890aSEmmanuel Vadot					      "iface",
1288f126890aSEmmanuel Vadot					      "bus",
1289f126890aSEmmanuel Vadot					      "byte",
1290f126890aSEmmanuel Vadot					      "pixel",
1291f126890aSEmmanuel Vadot					      "core";
1292f126890aSEmmanuel Vadot				assigned-clocks = <&gcc BYTE0_CLK_SRC>,
1293f126890aSEmmanuel Vadot						  <&gcc PCLK0_CLK_SRC>;
1294f126890aSEmmanuel Vadot				assigned-clock-parents = <&mdss_dsi0_phy 0>,
1295f126890aSEmmanuel Vadot							 <&mdss_dsi0_phy 1>;
1296f126890aSEmmanuel Vadot
1297f126890aSEmmanuel Vadot				phys = <&mdss_dsi0_phy>;
1298f126890aSEmmanuel Vadot				status = "disabled";
1299f126890aSEmmanuel Vadot
1300f126890aSEmmanuel Vadot				#address-cells = <1>;
1301f126890aSEmmanuel Vadot				#size-cells = <0>;
1302f126890aSEmmanuel Vadot
1303f126890aSEmmanuel Vadot				ports {
1304f126890aSEmmanuel Vadot					#address-cells = <1>;
1305f126890aSEmmanuel Vadot					#size-cells = <0>;
1306f126890aSEmmanuel Vadot
1307f126890aSEmmanuel Vadot					port@0 {
1308f126890aSEmmanuel Vadot						reg = <0>;
1309f126890aSEmmanuel Vadot						mdss_dsi0_in: endpoint {
1310f126890aSEmmanuel Vadot							remote-endpoint = <&mdss_mdp_intf1_out>;
1311f126890aSEmmanuel Vadot						};
1312f126890aSEmmanuel Vadot					};
1313f126890aSEmmanuel Vadot
1314f126890aSEmmanuel Vadot					port@1 {
1315f126890aSEmmanuel Vadot						reg = <1>;
1316f126890aSEmmanuel Vadot						mdss_dsi0_out: endpoint {
1317f126890aSEmmanuel Vadot						};
1318f126890aSEmmanuel Vadot					};
1319f126890aSEmmanuel Vadot				};
1320f126890aSEmmanuel Vadot			};
1321f126890aSEmmanuel Vadot
1322f126890aSEmmanuel Vadot			mdss_dsi0_phy: phy@1a98300 {
1323f126890aSEmmanuel Vadot				compatible = "qcom,dsi-phy-28nm-lp";
1324f126890aSEmmanuel Vadot				reg = <0x01a98300 0xd4>,
1325f126890aSEmmanuel Vadot				      <0x01a98500 0x280>,
1326f126890aSEmmanuel Vadot				      <0x01a98780 0x30>;
1327f126890aSEmmanuel Vadot				reg-names = "dsi_pll",
1328f126890aSEmmanuel Vadot					    "dsi_phy",
1329f126890aSEmmanuel Vadot					    "dsi_phy_regulator";
1330f126890aSEmmanuel Vadot
1331f126890aSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1332f126890aSEmmanuel Vadot					 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1333f126890aSEmmanuel Vadot				clock-names = "iface", "ref";
1334f126890aSEmmanuel Vadot
1335f126890aSEmmanuel Vadot				#clock-cells = <1>;
1336f126890aSEmmanuel Vadot				#phy-cells = <0>;
1337f126890aSEmmanuel Vadot				status = "disabled";
1338f126890aSEmmanuel Vadot			};
1339f126890aSEmmanuel Vadot
1340f126890aSEmmanuel Vadot			mdss_dsi1: dsi@1aa0000 {
1341f126890aSEmmanuel Vadot				compatible = "qcom,msm8916-dsi-ctrl",
1342f126890aSEmmanuel Vadot					     "qcom,mdss-dsi-ctrl";
1343f126890aSEmmanuel Vadot				reg = <0x01aa0000 0x25c>;
1344f126890aSEmmanuel Vadot				reg-names = "dsi_ctrl";
1345f126890aSEmmanuel Vadot
1346f126890aSEmmanuel Vadot				interrupt-parent = <&mdss>;
1347f126890aSEmmanuel Vadot				interrupts = <5>;
1348f126890aSEmmanuel Vadot
1349f126890aSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_MDP_CLK>,
1350f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_AHB_CLK>,
1351f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_AXI_CLK>,
1352f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_BYTE1_CLK>,
1353f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_PCLK1_CLK>,
1354f126890aSEmmanuel Vadot					 <&gcc GCC_MDSS_ESC1_CLK>;
1355f126890aSEmmanuel Vadot				clock-names = "mdp_core",
1356f126890aSEmmanuel Vadot					      "iface",
1357f126890aSEmmanuel Vadot					      "bus",
1358f126890aSEmmanuel Vadot					      "byte",
1359f126890aSEmmanuel Vadot					      "pixel",
1360f126890aSEmmanuel Vadot					      "core";
1361f126890aSEmmanuel Vadot				assigned-clocks = <&gcc BYTE1_CLK_SRC>,
1362f126890aSEmmanuel Vadot						  <&gcc PCLK1_CLK_SRC>;
1363f126890aSEmmanuel Vadot				assigned-clock-parents = <&mdss_dsi0_phy 0>,
1364f126890aSEmmanuel Vadot							 <&mdss_dsi0_phy 1>;
1365f126890aSEmmanuel Vadot				phys = <&mdss_dsi1_phy>;
1366f126890aSEmmanuel Vadot				status = "disabled";
1367f126890aSEmmanuel Vadot
1368f126890aSEmmanuel Vadot				ports {
1369f126890aSEmmanuel Vadot					#address-cells = <1>;
1370f126890aSEmmanuel Vadot					#size-cells = <0>;
1371f126890aSEmmanuel Vadot
1372f126890aSEmmanuel Vadot					port@0 {
1373f126890aSEmmanuel Vadot						reg = <0>;
1374f126890aSEmmanuel Vadot						mdss_dsi1_in: endpoint {
1375f126890aSEmmanuel Vadot							remote-endpoint = <&mdss_mdp_intf2_out>;
1376f126890aSEmmanuel Vadot						};
1377f126890aSEmmanuel Vadot					};
1378f126890aSEmmanuel Vadot
1379f126890aSEmmanuel Vadot					port@1 {
1380f126890aSEmmanuel Vadot						reg = <1>;
1381f126890aSEmmanuel Vadot						mdss_dsi1_out: endpoint {
1382f126890aSEmmanuel Vadot						};
1383f126890aSEmmanuel Vadot					};
1384f126890aSEmmanuel Vadot				};
1385f126890aSEmmanuel Vadot			};
1386f126890aSEmmanuel Vadot
1387f126890aSEmmanuel Vadot			mdss_dsi1_phy: phy@1aa0300 {
1388f126890aSEmmanuel Vadot				compatible = "qcom,dsi-phy-28nm-lp";
1389f126890aSEmmanuel Vadot				reg = <0x01aa0300 0xd4>,
1390f126890aSEmmanuel Vadot				      <0x01aa0500 0x280>,
1391f126890aSEmmanuel Vadot				      <0x01aa0780 0x30>;
1392f126890aSEmmanuel Vadot				reg-names = "dsi_pll",
1393f126890aSEmmanuel Vadot					    "dsi_phy",
1394f126890aSEmmanuel Vadot					    "dsi_phy_regulator";
1395f126890aSEmmanuel Vadot
1396f126890aSEmmanuel Vadot				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1397f126890aSEmmanuel Vadot					 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1398f126890aSEmmanuel Vadot				clock-names = "iface", "ref";
1399f126890aSEmmanuel Vadot
1400f126890aSEmmanuel Vadot				#clock-cells = <1>;
1401f126890aSEmmanuel Vadot				#phy-cells = <0>;
1402f126890aSEmmanuel Vadot				status = "disabled";
1403f126890aSEmmanuel Vadot			};
1404f126890aSEmmanuel Vadot		};
1405f126890aSEmmanuel Vadot
140684943d6fSEmmanuel Vadot		gpu: gpu@1c00000 {
1407f126890aSEmmanuel Vadot			compatible = "qcom,adreno-405.0", "qcom,adreno";
1408f126890aSEmmanuel Vadot			reg = <0x01c00000 0x10000>;
1409f126890aSEmmanuel Vadot			reg-names = "kgsl_3d0_reg_memory";
1410f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1411f126890aSEmmanuel Vadot			interrupt-names = "kgsl_3d0_irq";
1412f126890aSEmmanuel Vadot			clock-names = "core",
1413f126890aSEmmanuel Vadot				      "iface",
1414f126890aSEmmanuel Vadot				      "mem",
1415f126890aSEmmanuel Vadot				      "mem_iface",
1416f126890aSEmmanuel Vadot				      "alt_mem_iface",
1417f126890aSEmmanuel Vadot				      "gfx3d",
1418f126890aSEmmanuel Vadot				      "rbbmtimer";
1419f126890aSEmmanuel Vadot			clocks = <&gcc GCC_OXILI_GFX3D_CLK>,
1420f126890aSEmmanuel Vadot				 <&gcc GCC_OXILI_AHB_CLK>,
1421f126890aSEmmanuel Vadot				 <&gcc GCC_OXILI_GMEM_CLK>,
1422f126890aSEmmanuel Vadot				 <&gcc GCC_BIMC_GFX_CLK>,
1423f126890aSEmmanuel Vadot				 <&gcc GCC_BIMC_GPU_CLK>,
1424f126890aSEmmanuel Vadot				 <&gcc GFX3D_CLK_SRC>,
1425f126890aSEmmanuel Vadot				 <&gcc GCC_OXILI_TIMER_CLK>;
1426f126890aSEmmanuel Vadot			power-domains = <&gcc OXILI_GDSC>;
1427f126890aSEmmanuel Vadot			operating-points-v2 = <&opp_table>;
1428f126890aSEmmanuel Vadot			iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
142901950c46SEmmanuel Vadot			#cooling-cells = <2>;
143001950c46SEmmanuel Vadot
143184943d6fSEmmanuel Vadot			status = "disabled";
1432f126890aSEmmanuel Vadot
1433f126890aSEmmanuel Vadot			opp_table: opp-table {
1434f126890aSEmmanuel Vadot				compatible = "operating-points-v2";
1435f126890aSEmmanuel Vadot
1436f126890aSEmmanuel Vadot				opp-550000000 {
1437f126890aSEmmanuel Vadot					opp-hz = /bits/ 64 <550000000>;
1438f126890aSEmmanuel Vadot				};
1439f126890aSEmmanuel Vadot
1440f126890aSEmmanuel Vadot				opp-465000000 {
1441f126890aSEmmanuel Vadot					opp-hz = /bits/ 64 <465000000>;
1442f126890aSEmmanuel Vadot				};
1443f126890aSEmmanuel Vadot
1444f126890aSEmmanuel Vadot				opp-400000000 {
1445f126890aSEmmanuel Vadot					opp-hz = /bits/ 64 <400000000>;
1446f126890aSEmmanuel Vadot				};
1447f126890aSEmmanuel Vadot
1448f126890aSEmmanuel Vadot				opp-220000000 {
1449f126890aSEmmanuel Vadot					opp-hz = /bits/ 64 <220000000>;
1450f126890aSEmmanuel Vadot				};
1451f126890aSEmmanuel Vadot
1452f126890aSEmmanuel Vadot				opp-19200000 {
1453f126890aSEmmanuel Vadot					opp-hz = /bits/ 64 <19200000>;
1454f126890aSEmmanuel Vadot				};
1455f126890aSEmmanuel Vadot			};
1456f126890aSEmmanuel Vadot		};
1457f126890aSEmmanuel Vadot
1458f126890aSEmmanuel Vadot		apps_iommu: iommu@1ef0000 {
1459f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1460f126890aSEmmanuel Vadot			reg = <0x01ef0000 0x3000>;
146184943d6fSEmmanuel Vadot			ranges = <0 0x01e20000 0x20000>;
1462f126890aSEmmanuel Vadot			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1463f126890aSEmmanuel Vadot				 <&gcc GCC_APSS_TCU_CLK>;
1464f126890aSEmmanuel Vadot			clock-names = "iface", "bus";
1465f126890aSEmmanuel Vadot			#address-cells = <1>;
1466f126890aSEmmanuel Vadot			#size-cells = <1>;
1467f126890aSEmmanuel Vadot			#iommu-cells = <1>;
1468f126890aSEmmanuel Vadot			qcom,iommu-secure-id = <17>;
1469f126890aSEmmanuel Vadot
1470f126890aSEmmanuel Vadot			/* mdp_0: */
1471f126890aSEmmanuel Vadot			iommu-ctx@4000 {
1472f126890aSEmmanuel Vadot				compatible = "qcom,msm-iommu-v1-ns";
1473f126890aSEmmanuel Vadot				reg = <0x4000 0x1000>;
1474f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
1475f126890aSEmmanuel Vadot			};
1476f126890aSEmmanuel Vadot
1477f126890aSEmmanuel Vadot			/* venus_ns: */
1478f126890aSEmmanuel Vadot			iommu-ctx@5000 {
1479f126890aSEmmanuel Vadot				compatible = "qcom,msm-iommu-v1-sec";
1480f126890aSEmmanuel Vadot				reg = <0x5000 0x1000>;
1481f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
1482f126890aSEmmanuel Vadot			};
1483f126890aSEmmanuel Vadot		};
1484f126890aSEmmanuel Vadot
1485f126890aSEmmanuel Vadot		gpu_iommu: iommu@1f08000 {
1486f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
1487f126890aSEmmanuel Vadot			ranges = <0 0x1f08000 0x10000>;
1488f126890aSEmmanuel Vadot			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1489f126890aSEmmanuel Vadot				 <&gcc GCC_GFX_TCU_CLK>,
1490f126890aSEmmanuel Vadot				 <&gcc GCC_GFX_TBU_CLK>;
1491f126890aSEmmanuel Vadot			clock-names = "iface", "bus", "tbu";
1492f126890aSEmmanuel Vadot			#address-cells = <1>;
1493f126890aSEmmanuel Vadot			#size-cells = <1>;
1494f126890aSEmmanuel Vadot			#iommu-cells = <1>;
1495f126890aSEmmanuel Vadot			qcom,iommu-secure-id = <18>;
1496f126890aSEmmanuel Vadot
1497f126890aSEmmanuel Vadot			/* gfx3d_user: */
1498f126890aSEmmanuel Vadot			iommu-ctx@1000 {
1499f126890aSEmmanuel Vadot				compatible = "qcom,msm-iommu-v1-ns";
1500f126890aSEmmanuel Vadot				reg = <0x1000 0x1000>;
1501f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
1502f126890aSEmmanuel Vadot			};
1503f126890aSEmmanuel Vadot
1504f126890aSEmmanuel Vadot			/* gfx3d_priv: */
1505f126890aSEmmanuel Vadot			iommu-ctx@2000 {
1506f126890aSEmmanuel Vadot				compatible = "qcom,msm-iommu-v1-ns";
1507f126890aSEmmanuel Vadot				reg = <0x2000 0x1000>;
1508f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
1509f126890aSEmmanuel Vadot			};
1510f126890aSEmmanuel Vadot		};
1511f126890aSEmmanuel Vadot
1512f126890aSEmmanuel Vadot		spmi_bus: spmi@200f000 {
1513f126890aSEmmanuel Vadot			compatible = "qcom,spmi-pmic-arb";
1514f126890aSEmmanuel Vadot			reg = <0x0200f000 0x001000>,
1515f126890aSEmmanuel Vadot			      <0x02400000 0x400000>,
1516f126890aSEmmanuel Vadot			      <0x02c00000 0x400000>,
1517f126890aSEmmanuel Vadot			      <0x03800000 0x200000>,
1518f126890aSEmmanuel Vadot			      <0x0200a000 0x002100>;
1519f126890aSEmmanuel Vadot			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1520f126890aSEmmanuel Vadot			interrupt-names = "periph_irq";
1521f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1522f126890aSEmmanuel Vadot			qcom,ee = <0>;
1523f126890aSEmmanuel Vadot			qcom,channel = <0>;
1524f126890aSEmmanuel Vadot			#address-cells = <2>;
1525f126890aSEmmanuel Vadot			#size-cells = <0>;
1526f126890aSEmmanuel Vadot			interrupt-controller;
1527f126890aSEmmanuel Vadot			#interrupt-cells = <4>;
1528f126890aSEmmanuel Vadot		};
1529f126890aSEmmanuel Vadot
15308d13bc63SEmmanuel Vadot		bam_dmux_dma: dma-controller@4044000 {
15318d13bc63SEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
15328d13bc63SEmmanuel Vadot			reg = <0x04044000 0x19000>;
15338d13bc63SEmmanuel Vadot			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
15348d13bc63SEmmanuel Vadot			#dma-cells = <1>;
15358d13bc63SEmmanuel Vadot			qcom,ee = <0>;
15368d13bc63SEmmanuel Vadot
15378d13bc63SEmmanuel Vadot			num-channels = <6>;
15388d13bc63SEmmanuel Vadot			qcom,num-ees = <1>;
15398d13bc63SEmmanuel Vadot			qcom,powered-remotely;
15408d13bc63SEmmanuel Vadot
15418d13bc63SEmmanuel Vadot			status = "disabled";
15428d13bc63SEmmanuel Vadot		};
15438d13bc63SEmmanuel Vadot
1544f126890aSEmmanuel Vadot		mpss: remoteproc@4080000 {
1545f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-mss-pil";
1546f126890aSEmmanuel Vadot			reg = <0x04080000 0x100>, <0x04020000 0x040>;
1547f126890aSEmmanuel Vadot			reg-names = "qdsp6", "rmb";
1548f126890aSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
1549f126890aSEmmanuel Vadot					      <&hexagon_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1550f126890aSEmmanuel Vadot					      <&hexagon_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1551f126890aSEmmanuel Vadot					      <&hexagon_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1552f126890aSEmmanuel Vadot					      <&hexagon_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1553f126890aSEmmanuel Vadot			interrupt-names = "wdog",
1554f126890aSEmmanuel Vadot					  "fatal",
1555f126890aSEmmanuel Vadot					  "ready",
1556f126890aSEmmanuel Vadot					  "handover",
1557f126890aSEmmanuel Vadot					  "stop-ack";
1558f126890aSEmmanuel Vadot			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1559f126890aSEmmanuel Vadot				 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
1560f126890aSEmmanuel Vadot				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
1561f126890aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1562f126890aSEmmanuel Vadot			clock-names = "iface",
1563f126890aSEmmanuel Vadot				      "bus",
1564f126890aSEmmanuel Vadot				      "mem",
1565f126890aSEmmanuel Vadot				      "xo";
1566f126890aSEmmanuel Vadot			power-domains = <&rpmpd MSM8939_VDDMDCX>,
1567f126890aSEmmanuel Vadot					<&rpmpd MSM8939_VDDMX>;
1568f126890aSEmmanuel Vadot			power-domain-names = "cx", "mx";
1569f126890aSEmmanuel Vadot			qcom,smem-states = <&hexagon_smp2p_out 0>;
1570f126890aSEmmanuel Vadot			qcom,smem-state-names = "stop";
1571f126890aSEmmanuel Vadot			resets = <&scm 0>;
1572f126890aSEmmanuel Vadot			reset-names = "mss_restart";
1573f126890aSEmmanuel Vadot			qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
1574f126890aSEmmanuel Vadot			status = "disabled";
1575f126890aSEmmanuel Vadot
15768d13bc63SEmmanuel Vadot			bam_dmux: bam-dmux {
15778d13bc63SEmmanuel Vadot				compatible = "qcom,bam-dmux";
15788d13bc63SEmmanuel Vadot
15798d13bc63SEmmanuel Vadot				interrupt-parent = <&hexagon_smsm>;
15808d13bc63SEmmanuel Vadot				interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>;
15818d13bc63SEmmanuel Vadot				interrupt-names = "pc", "pc-ack";
15828d13bc63SEmmanuel Vadot
15838d13bc63SEmmanuel Vadot				qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>;
15848d13bc63SEmmanuel Vadot				qcom,smem-state-names = "pc", "pc-ack";
15858d13bc63SEmmanuel Vadot
15868d13bc63SEmmanuel Vadot				dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
15878d13bc63SEmmanuel Vadot				dma-names = "tx", "rx";
15888d13bc63SEmmanuel Vadot
15898d13bc63SEmmanuel Vadot				status = "disabled";
15908d13bc63SEmmanuel Vadot			};
15918d13bc63SEmmanuel Vadot
1592f126890aSEmmanuel Vadot			mba {
1593f126890aSEmmanuel Vadot				memory-region = <&mba_mem>;
1594f126890aSEmmanuel Vadot			};
1595f126890aSEmmanuel Vadot
1596f126890aSEmmanuel Vadot			mpss {
1597f126890aSEmmanuel Vadot				memory-region = <&mpss_mem>;
1598f126890aSEmmanuel Vadot			};
1599f126890aSEmmanuel Vadot
1600f126890aSEmmanuel Vadot			smd-edge {
1601f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
1602f126890aSEmmanuel Vadot
1603f126890aSEmmanuel Vadot				qcom,smd-edge = <0>;
1604f126890aSEmmanuel Vadot				mboxes = <&apcs1_mbox 12>;
1605f126890aSEmmanuel Vadot				qcom,remote-pid = <1>;
1606f126890aSEmmanuel Vadot
1607f126890aSEmmanuel Vadot				label = "hexagon";
16088d13bc63SEmmanuel Vadot
16098d13bc63SEmmanuel Vadot				apr: apr {
16108d13bc63SEmmanuel Vadot					compatible = "qcom,apr-v2";
16118d13bc63SEmmanuel Vadot					qcom,smd-channels = "apr_audio_svc";
16128d13bc63SEmmanuel Vadot					qcom,domain = <APR_DOMAIN_ADSP>;
16138d13bc63SEmmanuel Vadot					#address-cells = <1>;
16148d13bc63SEmmanuel Vadot					#size-cells = <0>;
16158d13bc63SEmmanuel Vadot					status = "disabled";
16168d13bc63SEmmanuel Vadot
16178d13bc63SEmmanuel Vadot					q6core: service@3 {
16188d13bc63SEmmanuel Vadot						compatible = "qcom,q6core";
16198d13bc63SEmmanuel Vadot						reg = <APR_SVC_ADSP_CORE>;
16208d13bc63SEmmanuel Vadot					};
16218d13bc63SEmmanuel Vadot
16228d13bc63SEmmanuel Vadot					q6afe: service@4 {
16238d13bc63SEmmanuel Vadot						compatible = "qcom,q6afe";
16248d13bc63SEmmanuel Vadot						reg = <APR_SVC_AFE>;
16258d13bc63SEmmanuel Vadot
16268d13bc63SEmmanuel Vadot						q6afedai: dais {
16278d13bc63SEmmanuel Vadot							compatible = "qcom,q6afe-dais";
16288d13bc63SEmmanuel Vadot							#address-cells = <1>;
16298d13bc63SEmmanuel Vadot							#size-cells = <0>;
16308d13bc63SEmmanuel Vadot							#sound-dai-cells = <1>;
16318d13bc63SEmmanuel Vadot						};
16328d13bc63SEmmanuel Vadot					};
16338d13bc63SEmmanuel Vadot
16348d13bc63SEmmanuel Vadot					q6asm: service@7 {
16358d13bc63SEmmanuel Vadot						compatible = "qcom,q6asm";
16368d13bc63SEmmanuel Vadot						reg = <APR_SVC_ASM>;
16378d13bc63SEmmanuel Vadot
16388d13bc63SEmmanuel Vadot						q6asmdai: dais {
16398d13bc63SEmmanuel Vadot							compatible = "qcom,q6asm-dais";
16408d13bc63SEmmanuel Vadot							#address-cells = <1>;
16418d13bc63SEmmanuel Vadot							#size-cells = <0>;
16428d13bc63SEmmanuel Vadot							#sound-dai-cells = <1>;
16438d13bc63SEmmanuel Vadot						};
16448d13bc63SEmmanuel Vadot					};
16458d13bc63SEmmanuel Vadot
16468d13bc63SEmmanuel Vadot					q6adm: service@8 {
16478d13bc63SEmmanuel Vadot						compatible = "qcom,q6adm";
16488d13bc63SEmmanuel Vadot						reg = <APR_SVC_ADM>;
16498d13bc63SEmmanuel Vadot
16508d13bc63SEmmanuel Vadot						q6routing: routing {
16518d13bc63SEmmanuel Vadot							compatible = "qcom,q6adm-routing";
16528d13bc63SEmmanuel Vadot							#sound-dai-cells = <0>;
16538d13bc63SEmmanuel Vadot						};
16548d13bc63SEmmanuel Vadot					};
16558d13bc63SEmmanuel Vadot				};
1656f126890aSEmmanuel Vadot			};
1657f126890aSEmmanuel Vadot		};
1658f126890aSEmmanuel Vadot
1659f126890aSEmmanuel Vadot		sound: sound@7702000 {
1660f126890aSEmmanuel Vadot			compatible = "qcom,apq8016-sbc-sndcard";
1661f126890aSEmmanuel Vadot			reg = <0x07702000 0x4>,
1662f126890aSEmmanuel Vadot			      <0x07702004 0x4>;
1663f126890aSEmmanuel Vadot			reg-names = "mic-iomux", "spkr-iomux";
1664f126890aSEmmanuel Vadot			status = "disabled";
1665f126890aSEmmanuel Vadot		};
1666f126890aSEmmanuel Vadot
1667f126890aSEmmanuel Vadot		lpass: audio-controller@7708000 {
1668f126890aSEmmanuel Vadot			compatible = "qcom,apq8016-lpass-cpu";
1669f126890aSEmmanuel Vadot			reg = <0x07708000 0x10000>;
1670f126890aSEmmanuel Vadot			reg-names = "lpass-lpaif";
1671f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1672f126890aSEmmanuel Vadot			interrupt-names = "lpass-irq-lpaif";
1673f126890aSEmmanuel Vadot			clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
1674f126890aSEmmanuel Vadot				 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
1675f126890aSEmmanuel Vadot				 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
1676f126890aSEmmanuel Vadot				 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
1677f126890aSEmmanuel Vadot				 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>,
1678f126890aSEmmanuel Vadot				 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
1679f126890aSEmmanuel Vadot				 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>;
1680f126890aSEmmanuel Vadot			clock-names = "ahbix-clk",
1681f126890aSEmmanuel Vadot				      "mi2s-bit-clk0",
1682f126890aSEmmanuel Vadot				      "mi2s-bit-clk1",
1683f126890aSEmmanuel Vadot				      "mi2s-bit-clk2",
1684f126890aSEmmanuel Vadot				      "mi2s-bit-clk3",
1685f126890aSEmmanuel Vadot				      "pcnoc-mport-clk",
1686f126890aSEmmanuel Vadot				      "pcnoc-sway-clk";
1687f126890aSEmmanuel Vadot			#sound-dai-cells = <1>;
1688f126890aSEmmanuel Vadot			#address-cells = <1>;
1689f126890aSEmmanuel Vadot			#size-cells = <0>;
1690f126890aSEmmanuel Vadot			status = "disabled";
1691f126890aSEmmanuel Vadot		};
1692f126890aSEmmanuel Vadot
1693f126890aSEmmanuel Vadot		lpass_codec: audio-codec@771c000 {
1694f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-wcd-digital-codec";
1695f126890aSEmmanuel Vadot			reg = <0x0771c000 0x400>;
1696f126890aSEmmanuel Vadot			clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
1697f126890aSEmmanuel Vadot				 <&gcc GCC_CODEC_DIGCODEC_CLK>;
1698f126890aSEmmanuel Vadot			clock-names = "ahbix-clk", "mclk";
1699f126890aSEmmanuel Vadot			#sound-dai-cells = <1>;
1700f126890aSEmmanuel Vadot			status = "disabled";
1701f126890aSEmmanuel Vadot		};
1702f126890aSEmmanuel Vadot
1703f126890aSEmmanuel Vadot		sdhc_1: mmc@7824900 {
1704f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
1705f126890aSEmmanuel Vadot			reg = <0x07824900 0x11c>, <0x07824000 0x800>;
1706f126890aSEmmanuel Vadot			reg-names = "hc", "core";
1707f126890aSEmmanuel Vadot
1708f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1709f126890aSEmmanuel Vadot				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
1710f126890aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
1711f126890aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
1712f126890aSEmmanuel Vadot				 <&gcc GCC_SDCC1_APPS_CLK>,
1713f126890aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1714f126890aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
1715f126890aSEmmanuel Vadot			resets = <&gcc GCC_SDCC1_BCR>;
1716f126890aSEmmanuel Vadot			pinctrl-0 = <&sdc1_default>;
1717f126890aSEmmanuel Vadot			pinctrl-1 = <&sdc1_sleep>;
1718f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1719f126890aSEmmanuel Vadot			mmc-ddr-1_8v;
1720f126890aSEmmanuel Vadot			bus-width = <8>;
1721f126890aSEmmanuel Vadot			non-removable;
1722f126890aSEmmanuel Vadot			status = "disabled";
1723f126890aSEmmanuel Vadot		};
1724f126890aSEmmanuel Vadot
1725f126890aSEmmanuel Vadot		sdhc_2: mmc@7864900 {
1726f126890aSEmmanuel Vadot			compatible = "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4";
1727f126890aSEmmanuel Vadot			reg = <0x07864900 0x11c>, <0x07864000 0x800>;
1728f126890aSEmmanuel Vadot			reg-names = "hc", "core";
1729f126890aSEmmanuel Vadot
1730f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1731f126890aSEmmanuel Vadot				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
1732f126890aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
1733f126890aSEmmanuel Vadot			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
1734f126890aSEmmanuel Vadot				 <&gcc GCC_SDCC2_APPS_CLK>,
1735f126890aSEmmanuel Vadot				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1736f126890aSEmmanuel Vadot			clock-names = "iface", "core", "xo";
1737f126890aSEmmanuel Vadot			resets = <&gcc GCC_SDCC2_BCR>;
1738f126890aSEmmanuel Vadot			pinctrl-0 = <&sdc2_default>;
1739f126890aSEmmanuel Vadot			pinctrl-1 = <&sdc2_sleep>;
1740f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1741f126890aSEmmanuel Vadot			bus-width = <4>;
1742f126890aSEmmanuel Vadot			status = "disabled";
1743f126890aSEmmanuel Vadot		};
1744f126890aSEmmanuel Vadot
1745f126890aSEmmanuel Vadot		blsp_dma: dma-controller@7884000 {
1746f126890aSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
1747f126890aSEmmanuel Vadot			reg = <0x07884000 0x23000>;
1748f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
1749f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
1750f126890aSEmmanuel Vadot			clock-names = "bam_clk";
1751f126890aSEmmanuel Vadot			#dma-cells = <1>;
1752f126890aSEmmanuel Vadot			qcom,ee = <0>;
17538d13bc63SEmmanuel Vadot			qcom,controlled-remotely;
1754f126890aSEmmanuel Vadot		};
1755f126890aSEmmanuel Vadot
1756f126890aSEmmanuel Vadot		blsp_uart1: serial@78af000 {
1757f126890aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1758f126890aSEmmanuel Vadot			reg = <0x078af000 0x200>;
1759f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1760f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
1761f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1762f126890aSEmmanuel Vadot			dmas = <&blsp_dma 0>, <&blsp_dma 1>;
1763f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1764f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_uart1_default>;
1765f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_uart1_sleep>;
1766f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1767f126890aSEmmanuel Vadot			status = "disabled";
1768f126890aSEmmanuel Vadot		};
1769f126890aSEmmanuel Vadot
1770f126890aSEmmanuel Vadot		blsp_uart2: serial@78b0000 {
1771f126890aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1772f126890aSEmmanuel Vadot			reg = <0x078b0000 0x200>;
1773f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1774f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
1775f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1776f126890aSEmmanuel Vadot			dmas = <&blsp_dma 2>, <&blsp_dma 3>;
1777f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1778f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_uart2_default>;
1779f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_uart2_sleep>;
1780f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1781f126890aSEmmanuel Vadot			status = "disabled";
1782f126890aSEmmanuel Vadot		};
1783f126890aSEmmanuel Vadot
1784f126890aSEmmanuel Vadot		blsp_i2c1: i2c@78b5000 {
1785f126890aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
1786f126890aSEmmanuel Vadot			reg = <0x078b5000 0x500>;
1787f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
1788f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
1789f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1790f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1791f126890aSEmmanuel Vadot			dmas = <&blsp_dma 4>, <&blsp_dma 5>;
1792f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1793f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_i2c1_default>;
1794f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_i2c1_sleep>;
1795f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1796f126890aSEmmanuel Vadot			#address-cells = <1>;
1797f126890aSEmmanuel Vadot			#size-cells = <0>;
1798f126890aSEmmanuel Vadot			status = "disabled";
1799f126890aSEmmanuel Vadot		};
1800f126890aSEmmanuel Vadot
1801f126890aSEmmanuel Vadot		blsp_spi1: spi@78b5000 {
1802f126890aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
1803f126890aSEmmanuel Vadot			reg = <0x078b5000 0x500>;
1804f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
1805f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
1806f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1807f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1808f126890aSEmmanuel Vadot			dmas = <&blsp_dma 4>, <&blsp_dma 5>;
1809f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1810f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_spi1_default>;
1811f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_spi1_sleep>;
1812f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1813f126890aSEmmanuel Vadot			#address-cells = <1>;
1814f126890aSEmmanuel Vadot			#size-cells = <0>;
1815f126890aSEmmanuel Vadot			status = "disabled";
1816f126890aSEmmanuel Vadot		};
1817f126890aSEmmanuel Vadot
1818f126890aSEmmanuel Vadot		blsp_i2c2: i2c@78b6000 {
1819f126890aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
1820f126890aSEmmanuel Vadot			reg = <0x078b6000 0x500>;
1821f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1822f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
1823f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1824f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1825f126890aSEmmanuel Vadot			dmas = <&blsp_dma 6>, <&blsp_dma 7>;
1826f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1827f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_i2c2_default>;
1828f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_i2c2_sleep>;
1829f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1830f126890aSEmmanuel Vadot			#address-cells = <1>;
1831f126890aSEmmanuel Vadot			#size-cells = <0>;
1832f126890aSEmmanuel Vadot			status = "disabled";
1833f126890aSEmmanuel Vadot		};
1834f126890aSEmmanuel Vadot
1835f126890aSEmmanuel Vadot		blsp_spi2: spi@78b6000 {
1836f126890aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
1837f126890aSEmmanuel Vadot			reg = <0x078b6000 0x500>;
1838f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1839f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
1840f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1841f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1842f126890aSEmmanuel Vadot			dmas = <&blsp_dma 6>, <&blsp_dma 7>;
1843f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1844f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_spi2_default>;
1845f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_spi2_sleep>;
1846f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1847f126890aSEmmanuel Vadot			#address-cells = <1>;
1848f126890aSEmmanuel Vadot			#size-cells = <0>;
1849f126890aSEmmanuel Vadot			status = "disabled";
1850f126890aSEmmanuel Vadot		};
1851f126890aSEmmanuel Vadot
1852f126890aSEmmanuel Vadot		blsp_i2c3: i2c@78b7000 {
1853f126890aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
1854f126890aSEmmanuel Vadot			reg = <0x078b7000 0x500>;
1855f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1856f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
1857f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1858f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1859f126890aSEmmanuel Vadot			dmas = <&blsp_dma 8>, <&blsp_dma 9>;
1860f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1861f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_i2c3_default>;
1862f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_i2c3_sleep>;
1863f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1864f126890aSEmmanuel Vadot			#address-cells = <1>;
1865f126890aSEmmanuel Vadot			#size-cells = <0>;
1866f126890aSEmmanuel Vadot			status = "disabled";
1867f126890aSEmmanuel Vadot		};
1868f126890aSEmmanuel Vadot
1869f126890aSEmmanuel Vadot		blsp_spi3: spi@78b7000 {
1870f126890aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
1871f126890aSEmmanuel Vadot			reg = <0x078b7000 0x500>;
1872f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1873f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
1874f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1875f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1876f126890aSEmmanuel Vadot			dmas = <&blsp_dma 8>, <&blsp_dma 9>;
1877f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1878f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_spi3_default>;
1879f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_spi3_sleep>;
1880f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1881f126890aSEmmanuel Vadot			#address-cells = <1>;
1882f126890aSEmmanuel Vadot			#size-cells = <0>;
1883f126890aSEmmanuel Vadot			status = "disabled";
1884f126890aSEmmanuel Vadot		};
1885f126890aSEmmanuel Vadot
1886f126890aSEmmanuel Vadot		blsp_i2c4: i2c@78b8000 {
1887f126890aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
1888f126890aSEmmanuel Vadot			reg = <0x078b8000 0x500>;
1889f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1890f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
1891f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1892f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1893f126890aSEmmanuel Vadot			dmas = <&blsp_dma 10>, <&blsp_dma 11>;
1894f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1895f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_i2c4_default>;
1896f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_i2c4_sleep>;
1897f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1898f126890aSEmmanuel Vadot			#address-cells = <1>;
1899f126890aSEmmanuel Vadot			#size-cells = <0>;
1900f126890aSEmmanuel Vadot			status = "disabled";
1901f126890aSEmmanuel Vadot		};
1902f126890aSEmmanuel Vadot
1903f126890aSEmmanuel Vadot		blsp_spi4: spi@78b8000 {
1904f126890aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
1905f126890aSEmmanuel Vadot			reg = <0x078b8000 0x500>;
1906f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1907f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
1908f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1909f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1910f126890aSEmmanuel Vadot			dmas = <&blsp_dma 10>, <&blsp_dma 11>;
1911f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1912f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_spi4_default>;
1913f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_spi4_sleep>;
1914f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1915f126890aSEmmanuel Vadot			#address-cells = <1>;
1916f126890aSEmmanuel Vadot			#size-cells = <0>;
1917f126890aSEmmanuel Vadot			status = "disabled";
1918f126890aSEmmanuel Vadot		};
1919f126890aSEmmanuel Vadot
1920f126890aSEmmanuel Vadot		blsp_i2c5: i2c@78b9000 {
1921f126890aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
1922f126890aSEmmanuel Vadot			reg = <0x078b9000 0x500>;
1923f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1924f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
1925f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1926f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1927f126890aSEmmanuel Vadot			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
1928f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1929f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_i2c5_default>;
1930f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_i2c5_sleep>;
1931f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1932f126890aSEmmanuel Vadot			#address-cells = <1>;
1933f126890aSEmmanuel Vadot			#size-cells = <0>;
1934f126890aSEmmanuel Vadot			status = "disabled";
1935f126890aSEmmanuel Vadot		};
1936f126890aSEmmanuel Vadot
1937f126890aSEmmanuel Vadot		blsp_spi5: spi@78b9000 {
1938f126890aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
1939f126890aSEmmanuel Vadot			reg = <0x078b9000 0x500>;
1940f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1941f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
1942f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1943f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1944f126890aSEmmanuel Vadot			dmas = <&blsp_dma 12>, <&blsp_dma 13>;
1945f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1946f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_spi5_default>;
1947f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_spi5_sleep>;
1948f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1949f126890aSEmmanuel Vadot			#address-cells = <1>;
1950f126890aSEmmanuel Vadot			#size-cells = <0>;
1951f126890aSEmmanuel Vadot			status = "disabled";
1952f126890aSEmmanuel Vadot		};
1953f126890aSEmmanuel Vadot
1954f126890aSEmmanuel Vadot		blsp_i2c6: i2c@78ba000 {
1955f126890aSEmmanuel Vadot			compatible = "qcom,i2c-qup-v2.2.1";
1956f126890aSEmmanuel Vadot			reg = <0x078ba000 0x500>;
1957f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1958f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
1959f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1960f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1961f126890aSEmmanuel Vadot			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
1962f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1963f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_i2c6_default>;
1964f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_i2c6_sleep>;
1965f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1966f126890aSEmmanuel Vadot			#address-cells = <1>;
1967f126890aSEmmanuel Vadot			#size-cells = <0>;
1968f126890aSEmmanuel Vadot			status = "disabled";
1969f126890aSEmmanuel Vadot		};
1970f126890aSEmmanuel Vadot
1971f126890aSEmmanuel Vadot		blsp_spi6: spi@78ba000 {
1972f126890aSEmmanuel Vadot			compatible = "qcom,spi-qup-v2.2.1";
1973f126890aSEmmanuel Vadot			reg = <0x078ba000 0x500>;
1974f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1975f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
1976f126890aSEmmanuel Vadot				 <&gcc GCC_BLSP1_AHB_CLK>;
1977f126890aSEmmanuel Vadot			clock-names = "core", "iface";
1978f126890aSEmmanuel Vadot			dmas = <&blsp_dma 14>, <&blsp_dma 15>;
1979f126890aSEmmanuel Vadot			dma-names = "tx", "rx";
1980f126890aSEmmanuel Vadot			pinctrl-0 = <&blsp_spi6_default>;
1981f126890aSEmmanuel Vadot			pinctrl-1 = <&blsp_spi6_sleep>;
1982f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
1983f126890aSEmmanuel Vadot			#address-cells = <1>;
1984f126890aSEmmanuel Vadot			#size-cells = <0>;
1985f126890aSEmmanuel Vadot			status = "disabled";
1986f126890aSEmmanuel Vadot		};
1987f126890aSEmmanuel Vadot
1988f126890aSEmmanuel Vadot		usb: usb@78d9000 {
1989f126890aSEmmanuel Vadot			compatible = "qcom,ci-hdrc";
1990f126890aSEmmanuel Vadot			reg = <0x078d9000 0x200>,
1991f126890aSEmmanuel Vadot			      <0x078d9200 0x200>;
1992f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1993f126890aSEmmanuel Vadot				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
1994f126890aSEmmanuel Vadot			clocks = <&gcc GCC_USB_HS_AHB_CLK>,
1995f126890aSEmmanuel Vadot				 <&gcc GCC_USB_HS_SYSTEM_CLK>;
1996f126890aSEmmanuel Vadot			clock-names = "iface", "core";
1997f126890aSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
1998f126890aSEmmanuel Vadot			assigned-clock-rates = <80000000>;
1999f126890aSEmmanuel Vadot			resets = <&gcc GCC_USB_HS_BCR>;
2000f126890aSEmmanuel Vadot			reset-names = "core";
2001f126890aSEmmanuel Vadot			#reset-cells = <1>;
2002f126890aSEmmanuel Vadot			phy_type = "ulpi";
2003f126890aSEmmanuel Vadot			dr_mode = "otg";
2004f126890aSEmmanuel Vadot			adp-disable;
2005f126890aSEmmanuel Vadot			hnp-disable;
2006f126890aSEmmanuel Vadot			srp-disable;
2007f126890aSEmmanuel Vadot			ahb-burst-config = <0>;
2008f126890aSEmmanuel Vadot			phy-names = "usb-phy";
2009f126890aSEmmanuel Vadot			phys = <&usb_hs_phy>;
2010f126890aSEmmanuel Vadot			status = "disabled";
2011f126890aSEmmanuel Vadot
2012f126890aSEmmanuel Vadot			ulpi {
2013f126890aSEmmanuel Vadot				usb_hs_phy: phy {
2014f126890aSEmmanuel Vadot					compatible = "qcom,usb-hs-phy-msm8916",
2015f126890aSEmmanuel Vadot						     "qcom,usb-hs-phy";
2016f126890aSEmmanuel Vadot					clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
2017f126890aSEmmanuel Vadot						 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
2018f126890aSEmmanuel Vadot					clock-names = "ref", "sleep";
2019f126890aSEmmanuel Vadot					resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
2020f126890aSEmmanuel Vadot					reset-names = "phy", "por";
2021f126890aSEmmanuel Vadot					#phy-cells = <0>;
2022f126890aSEmmanuel Vadot					qcom,init-seq = /bits/ 8 <0x0 0x44>,
2023f126890aSEmmanuel Vadot								 <0x1 0x6b>,
2024f126890aSEmmanuel Vadot								 <0x2 0x24>,
2025f126890aSEmmanuel Vadot								 <0x3 0x13>;
2026f126890aSEmmanuel Vadot				};
2027f126890aSEmmanuel Vadot			};
2028f126890aSEmmanuel Vadot		};
2029f126890aSEmmanuel Vadot
2030f126890aSEmmanuel Vadot		wcnss: remoteproc@a204000 {
2031f126890aSEmmanuel Vadot			compatible = "qcom,pronto-v2-pil", "qcom,pronto";
2032f126890aSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
2033f126890aSEmmanuel Vadot					      <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2034f126890aSEmmanuel Vadot					      <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2035f126890aSEmmanuel Vadot					      <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2036f126890aSEmmanuel Vadot					      <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2037f126890aSEmmanuel Vadot			interrupt-names = "wdog",
2038f126890aSEmmanuel Vadot					  "fatal",
2039f126890aSEmmanuel Vadot					  "ready",
2040f126890aSEmmanuel Vadot					  "handover",
2041f126890aSEmmanuel Vadot					  "stop-ack";
2042f126890aSEmmanuel Vadot			reg = <0x0a204000 0x2000>,
2043f126890aSEmmanuel Vadot			      <0x0a202000 0x1000>,
2044f126890aSEmmanuel Vadot			      <0x0a21b000 0x3000>;
2045f126890aSEmmanuel Vadot			reg-names = "ccu", "dxe", "pmu";
2046f126890aSEmmanuel Vadot
2047f126890aSEmmanuel Vadot			memory-region = <&wcnss_mem>;
2048f126890aSEmmanuel Vadot
2049f126890aSEmmanuel Vadot			power-domains = <&rpmpd MSM8939_VDDCX>,
2050f126890aSEmmanuel Vadot					<&rpmpd MSM8939_VDDMX>;
2051f126890aSEmmanuel Vadot			power-domain-names = "cx", "mx";
2052f126890aSEmmanuel Vadot
2053f126890aSEmmanuel Vadot			qcom,smem-states = <&wcnss_smp2p_out 0>;
2054f126890aSEmmanuel Vadot			qcom,smem-state-names = "stop";
2055f126890aSEmmanuel Vadot
2056f126890aSEmmanuel Vadot			pinctrl-names = "default";
2057f126890aSEmmanuel Vadot			pinctrl-0 = <&wcss_wlan_default>;
2058f126890aSEmmanuel Vadot
2059f126890aSEmmanuel Vadot			status = "disabled";
2060f126890aSEmmanuel Vadot
2061f126890aSEmmanuel Vadot			wcnss_iris: iris {
2062f126890aSEmmanuel Vadot				/* Separate chip, compatible is board-specific */
2063f126890aSEmmanuel Vadot				clocks = <&rpmcc RPM_SMD_RF_CLK2>;
2064f126890aSEmmanuel Vadot				clock-names = "xo";
2065f126890aSEmmanuel Vadot			};
2066f126890aSEmmanuel Vadot
2067f126890aSEmmanuel Vadot			smd-edge {
2068aa1a8ff2SEmmanuel Vadot				interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
20690e8011faSEmmanuel Vadot				mboxes = <&apcs1_mbox 17>;
2070f126890aSEmmanuel Vadot				qcom,smd-edge = <6>;
2071f126890aSEmmanuel Vadot				qcom,remote-pid = <4>;
2072f126890aSEmmanuel Vadot
2073f126890aSEmmanuel Vadot				label = "pronto";
2074f126890aSEmmanuel Vadot
2075f126890aSEmmanuel Vadot				wcnss {
2076f126890aSEmmanuel Vadot					compatible = "qcom,wcnss";
2077f126890aSEmmanuel Vadot					qcom,smd-channels = "WCNSS_CTRL";
2078f126890aSEmmanuel Vadot
2079f126890aSEmmanuel Vadot					qcom,mmio = <&wcnss>;
2080f126890aSEmmanuel Vadot
2081f126890aSEmmanuel Vadot					wcnss_bt: bluetooth {
2082f126890aSEmmanuel Vadot						compatible = "qcom,wcnss-bt";
2083f126890aSEmmanuel Vadot					};
2084f126890aSEmmanuel Vadot
2085f126890aSEmmanuel Vadot					wcnss_wifi: wifi {
2086f126890aSEmmanuel Vadot						compatible = "qcom,wcnss-wlan";
2087f126890aSEmmanuel Vadot
2088f126890aSEmmanuel Vadot						interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2089f126890aSEmmanuel Vadot							     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
2090f126890aSEmmanuel Vadot						interrupt-names = "tx", "rx";
2091f126890aSEmmanuel Vadot
2092f126890aSEmmanuel Vadot						qcom,smem-states = <&apps_smsm 10>,
2093f126890aSEmmanuel Vadot								   <&apps_smsm 9>;
2094f126890aSEmmanuel Vadot						qcom,smem-state-names = "tx-enable",
2095f126890aSEmmanuel Vadot									"tx-rings-empty";
2096f126890aSEmmanuel Vadot					};
2097f126890aSEmmanuel Vadot				};
2098f126890aSEmmanuel Vadot			};
2099f126890aSEmmanuel Vadot		};
2100f126890aSEmmanuel Vadot
2101f126890aSEmmanuel Vadot		intc: interrupt-controller@b000000 {
2102f126890aSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
2103f126890aSEmmanuel Vadot			reg = <0x0b000000 0x1000>, <0x0b002000 0x2000>,
2104f126890aSEmmanuel Vadot			      <0x0b001000 0x1000>, <0x0b004000 0x2000>;
2105f126890aSEmmanuel Vadot			interrupt-controller;
2106f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
2107f126890aSEmmanuel Vadot			interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
2108f126890aSEmmanuel Vadot		};
2109f126890aSEmmanuel Vadot
2110f126890aSEmmanuel Vadot		apcs1_mbox: mailbox@b011000 {
2111f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-apcs-kpss-global", "syscon";
2112f126890aSEmmanuel Vadot			reg = <0x0b011000 0x1000>;
2113f126890aSEmmanuel Vadot			clocks = <&a53pll_c1>, <&gcc GPLL0_VOTE>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
2114f126890aSEmmanuel Vadot			clock-names = "pll", "aux", "ref";
2115f126890aSEmmanuel Vadot			#clock-cells = <0>;
2116f126890aSEmmanuel Vadot			assigned-clocks = <&apcs2>;
2117f126890aSEmmanuel Vadot			assigned-clock-rates = <297600000>;
2118f126890aSEmmanuel Vadot			#mbox-cells = <1>;
2119f126890aSEmmanuel Vadot		};
2120f126890aSEmmanuel Vadot
2121f126890aSEmmanuel Vadot		a53pll_c1: clock@b016000 {
2122f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-a53pll";
2123f126890aSEmmanuel Vadot			reg = <0x0b016000 0x40>;
2124f126890aSEmmanuel Vadot			#clock-cells = <0>;
2125f126890aSEmmanuel Vadot		};
2126f126890aSEmmanuel Vadot
2127f126890aSEmmanuel Vadot		acc0: clock-controller@b088000 {
2128f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2129f126890aSEmmanuel Vadot			reg = <0x0b088000 0x1000>;
2130f126890aSEmmanuel Vadot		};
2131f126890aSEmmanuel Vadot
2132f126890aSEmmanuel Vadot		saw0: power-manager@b089000 {
2133f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2134f126890aSEmmanuel Vadot			reg = <0x0b089000 0x1000>;
2135f126890aSEmmanuel Vadot		};
2136f126890aSEmmanuel Vadot
2137f126890aSEmmanuel Vadot		acc1: clock-controller@b098000 {
2138f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2139f126890aSEmmanuel Vadot			reg = <0x0b098000 0x1000>;
2140f126890aSEmmanuel Vadot		};
2141f126890aSEmmanuel Vadot
2142f126890aSEmmanuel Vadot		saw1: power-manager@b099000 {
2143f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2144f126890aSEmmanuel Vadot			reg = <0x0b099000 0x1000>;
2145f126890aSEmmanuel Vadot		};
2146f126890aSEmmanuel Vadot
2147f126890aSEmmanuel Vadot		acc2: clock-controller@b0a8000 {
2148f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2149f126890aSEmmanuel Vadot			reg = <0x0b0a8000 0x1000>;
2150f126890aSEmmanuel Vadot		};
2151f126890aSEmmanuel Vadot
2152f126890aSEmmanuel Vadot		saw2: power-manager@b0a9000 {
2153f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2154f126890aSEmmanuel Vadot			reg = <0x0b0a9000 0x1000>;
2155f126890aSEmmanuel Vadot		};
2156f126890aSEmmanuel Vadot
2157f126890aSEmmanuel Vadot		acc3: clock-controller@b0b8000 {
2158f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2159f126890aSEmmanuel Vadot			reg = <0x0b0b8000 0x1000>;
2160f126890aSEmmanuel Vadot		};
2161f126890aSEmmanuel Vadot
2162f126890aSEmmanuel Vadot		saw3: power-manager@b0b9000 {
2163f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2164f126890aSEmmanuel Vadot			reg = <0x0b0b9000 0x1000>;
2165f126890aSEmmanuel Vadot		};
2166f126890aSEmmanuel Vadot
2167f126890aSEmmanuel Vadot		apcs0_mbox: mailbox@b111000 {
2168f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-apcs-kpss-global", "syscon";
2169f126890aSEmmanuel Vadot			reg = <0x0b111000 0x1000>;
2170f126890aSEmmanuel Vadot			clocks = <&a53pll_c0>, <&gcc GPLL0_VOTE>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
2171f126890aSEmmanuel Vadot			clock-names = "pll", "aux", "ref";
2172f126890aSEmmanuel Vadot			#clock-cells = <0>;
2173f126890aSEmmanuel Vadot			#mbox-cells = <1>;
2174f126890aSEmmanuel Vadot		};
2175f126890aSEmmanuel Vadot
2176f126890aSEmmanuel Vadot		a53pll_c0: clock@b116000 {
2177f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-a53pll";
2178f126890aSEmmanuel Vadot			reg = <0x0b116000 0x40>;
2179f126890aSEmmanuel Vadot			#clock-cells = <0>;
2180f126890aSEmmanuel Vadot		};
2181f126890aSEmmanuel Vadot
2182f126890aSEmmanuel Vadot		timer@b120000 {
2183f126890aSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
2184f126890aSEmmanuel Vadot			reg = <0x0b120000 0x1000>;
2185f126890aSEmmanuel Vadot			#address-cells = <1>;
2186f126890aSEmmanuel Vadot			#size-cells = <1>;
2187f126890aSEmmanuel Vadot			ranges;
21888d13bc63SEmmanuel Vadot			/* Necessary because firmware does not configure this correctly */
21898d13bc63SEmmanuel Vadot			clock-frequency = <19200000>;
2190f126890aSEmmanuel Vadot
2191f126890aSEmmanuel Vadot			frame@b121000 {
2192f126890aSEmmanuel Vadot				reg = <0x0b121000 0x1000>,
2193f126890aSEmmanuel Vadot				      <0x0b122000 0x1000>;
2194f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2195f126890aSEmmanuel Vadot					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2196f126890aSEmmanuel Vadot				frame-number = <0>;
2197f126890aSEmmanuel Vadot			};
2198f126890aSEmmanuel Vadot
2199f126890aSEmmanuel Vadot			frame@b123000 {
2200f126890aSEmmanuel Vadot				reg = <0x0b123000 0x1000>;
2201f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2202f126890aSEmmanuel Vadot				frame-number = <1>;
2203f126890aSEmmanuel Vadot				status = "disabled";
2204f126890aSEmmanuel Vadot			};
2205f126890aSEmmanuel Vadot
2206f126890aSEmmanuel Vadot			frame@b124000 {
2207f126890aSEmmanuel Vadot				reg = <0x0b124000 0x1000>;
2208f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2209f126890aSEmmanuel Vadot				frame-number = <2>;
2210f126890aSEmmanuel Vadot				status = "disabled";
2211f126890aSEmmanuel Vadot			};
2212f126890aSEmmanuel Vadot
2213f126890aSEmmanuel Vadot			frame@b125000 {
2214f126890aSEmmanuel Vadot				reg = <0x0b125000 0x1000>;
2215f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2216f126890aSEmmanuel Vadot				frame-number = <3>;
2217f126890aSEmmanuel Vadot				status = "disabled";
2218f126890aSEmmanuel Vadot			};
2219f126890aSEmmanuel Vadot
2220f126890aSEmmanuel Vadot			frame@b126000 {
2221f126890aSEmmanuel Vadot				reg = <0x0b126000 0x1000>;
2222f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2223f126890aSEmmanuel Vadot				frame-number = <4>;
2224f126890aSEmmanuel Vadot				status = "disabled";
2225f126890aSEmmanuel Vadot			};
2226f126890aSEmmanuel Vadot
2227f126890aSEmmanuel Vadot			frame@b127000 {
2228f126890aSEmmanuel Vadot				reg = <0x0b127000 0x1000>;
2229f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2230f126890aSEmmanuel Vadot				frame-number = <5>;
2231f126890aSEmmanuel Vadot				status = "disabled";
2232f126890aSEmmanuel Vadot			};
2233f126890aSEmmanuel Vadot
2234f126890aSEmmanuel Vadot			frame@b128000 {
2235f126890aSEmmanuel Vadot				reg = <0x0b128000 0x1000>;
2236f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2237f126890aSEmmanuel Vadot				frame-number = <6>;
2238f126890aSEmmanuel Vadot				status = "disabled";
2239f126890aSEmmanuel Vadot			};
2240f126890aSEmmanuel Vadot		};
2241f126890aSEmmanuel Vadot
2242f126890aSEmmanuel Vadot		acc4: clock-controller@b188000 {
2243f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2244f126890aSEmmanuel Vadot			reg = <0x0b188000 0x1000>;
2245f126890aSEmmanuel Vadot		};
2246f126890aSEmmanuel Vadot
2247f126890aSEmmanuel Vadot		saw4: power-manager@b189000 {
2248f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2249f126890aSEmmanuel Vadot			reg = <0x0b189000 0x1000>;
2250f126890aSEmmanuel Vadot		};
2251f126890aSEmmanuel Vadot
2252f126890aSEmmanuel Vadot		acc5: clock-controller@b198000 {
2253f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2254f126890aSEmmanuel Vadot			reg = <0x0b198000 0x1000>;
2255f126890aSEmmanuel Vadot		};
2256f126890aSEmmanuel Vadot
2257f126890aSEmmanuel Vadot		saw5: power-manager@b199000 {
2258f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2259f126890aSEmmanuel Vadot			reg = <0x0b199000 0x1000>;
2260f126890aSEmmanuel Vadot		};
2261f126890aSEmmanuel Vadot
2262f126890aSEmmanuel Vadot		acc6: clock-controller@b1a8000 {
2263f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2264f126890aSEmmanuel Vadot			reg = <0x0b1a8000 0x1000>;
2265f126890aSEmmanuel Vadot		};
2266f126890aSEmmanuel Vadot
2267f126890aSEmmanuel Vadot		saw6: power-manager@b1a9000 {
2268f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2269f126890aSEmmanuel Vadot			reg = <0x0b1a9000 0x1000>;
2270f126890aSEmmanuel Vadot		};
2271f126890aSEmmanuel Vadot
2272f126890aSEmmanuel Vadot		acc7: clock-controller@b1b8000 {
2273f126890aSEmmanuel Vadot			compatible = "qcom,kpss-acc-v2";
2274f126890aSEmmanuel Vadot			reg = <0x0b1b8000 0x1000>;
2275f126890aSEmmanuel Vadot		};
2276f126890aSEmmanuel Vadot
2277f126890aSEmmanuel Vadot		saw7: power-manager@b1b9000 {
2278f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-saw2-v3.0-cpu", "qcom,saw2";
2279f126890aSEmmanuel Vadot			reg = <0x0b1b9000 0x1000>;
2280f126890aSEmmanuel Vadot		};
2281f126890aSEmmanuel Vadot
2282f126890aSEmmanuel Vadot		a53pll_cci: clock@b1d0000 {
2283f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-a53pll";
2284f126890aSEmmanuel Vadot			reg = <0x0b1d0000 0x40>;
2285f126890aSEmmanuel Vadot			#clock-cells = <0>;
2286f126890aSEmmanuel Vadot		};
2287f126890aSEmmanuel Vadot
2288f126890aSEmmanuel Vadot		apcs2: mailbox@b1d1000 {
2289f126890aSEmmanuel Vadot			compatible = "qcom,msm8939-apcs-kpss-global", "syscon";
2290f126890aSEmmanuel Vadot			reg = <0x0b1d1000 0x1000>;
2291f126890aSEmmanuel Vadot			clocks = <&a53pll_cci>, <&gcc GPLL0_VOTE>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
2292f126890aSEmmanuel Vadot			clock-names = "pll", "aux", "ref";
2293f126890aSEmmanuel Vadot			#clock-cells = <0>;
2294f126890aSEmmanuel Vadot			#mbox-cells = <1>;
2295f126890aSEmmanuel Vadot		};
2296f126890aSEmmanuel Vadot	};
2297f126890aSEmmanuel Vadot
2298f126890aSEmmanuel Vadot	thermal_zones: thermal-zones {
2299f126890aSEmmanuel Vadot		cpu0-thermal {
2300f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2301f126890aSEmmanuel Vadot
2302f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 5>;
2303f126890aSEmmanuel Vadot
2304f126890aSEmmanuel Vadot			trips {
2305f126890aSEmmanuel Vadot				cpu0_alert: trip0 {
2306f126890aSEmmanuel Vadot					temperature = <75000>;
2307f126890aSEmmanuel Vadot					hysteresis = <2000>;
2308f126890aSEmmanuel Vadot					type = "passive";
2309f126890aSEmmanuel Vadot				};
2310f126890aSEmmanuel Vadot
2311f126890aSEmmanuel Vadot				cpu0_crit: trip1 {
2312f126890aSEmmanuel Vadot					temperature = <115000>;
2313f126890aSEmmanuel Vadot					hysteresis = <0>;
2314f126890aSEmmanuel Vadot					type = "critical";
2315f126890aSEmmanuel Vadot				};
2316f126890aSEmmanuel Vadot			};
2317f126890aSEmmanuel Vadot
2318f126890aSEmmanuel Vadot			cooling-maps {
2319f126890aSEmmanuel Vadot				map0 {
2320f126890aSEmmanuel Vadot					trip = <&cpu0_alert>;
2321f126890aSEmmanuel Vadot					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2322f126890aSEmmanuel Vadot							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2323f126890aSEmmanuel Vadot							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2324f126890aSEmmanuel Vadot							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2325f126890aSEmmanuel Vadot				};
2326f126890aSEmmanuel Vadot			};
2327f126890aSEmmanuel Vadot		};
2328f126890aSEmmanuel Vadot
2329f126890aSEmmanuel Vadot		cpu1-thermal {
2330f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2331f126890aSEmmanuel Vadot
2332f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 6>;
2333f126890aSEmmanuel Vadot
2334f126890aSEmmanuel Vadot			trips {
2335f126890aSEmmanuel Vadot				cpu1_alert: trip0 {
2336f126890aSEmmanuel Vadot					temperature = <75000>;
2337f126890aSEmmanuel Vadot					hysteresis = <2000>;
2338f126890aSEmmanuel Vadot					type = "passive";
2339f126890aSEmmanuel Vadot				};
2340f126890aSEmmanuel Vadot
2341f126890aSEmmanuel Vadot				cpu1_crit: trip1 {
2342f126890aSEmmanuel Vadot					temperature = <110000>;
2343f126890aSEmmanuel Vadot					hysteresis = <2000>;
2344f126890aSEmmanuel Vadot					type = "critical";
2345f126890aSEmmanuel Vadot				};
2346f126890aSEmmanuel Vadot			};
2347f126890aSEmmanuel Vadot
2348f126890aSEmmanuel Vadot			cooling-maps {
2349f126890aSEmmanuel Vadot				map0 {
2350f126890aSEmmanuel Vadot					trip = <&cpu1_alert>;
2351f126890aSEmmanuel Vadot					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2352f126890aSEmmanuel Vadot							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2353f126890aSEmmanuel Vadot							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2354f126890aSEmmanuel Vadot							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2355f126890aSEmmanuel Vadot				};
2356f126890aSEmmanuel Vadot			};
2357f126890aSEmmanuel Vadot		};
2358f126890aSEmmanuel Vadot
2359f126890aSEmmanuel Vadot		cpu2-thermal {
2360f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2361f126890aSEmmanuel Vadot
2362f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 7>;
2363f126890aSEmmanuel Vadot
2364f126890aSEmmanuel Vadot			trips {
2365f126890aSEmmanuel Vadot				cpu2_alert: trip0 {
2366f126890aSEmmanuel Vadot					temperature = <75000>;
2367f126890aSEmmanuel Vadot					hysteresis = <2000>;
2368f126890aSEmmanuel Vadot					type = "passive";
2369f126890aSEmmanuel Vadot				};
2370f126890aSEmmanuel Vadot
2371f126890aSEmmanuel Vadot				cpu2_crit: trip1 {
2372f126890aSEmmanuel Vadot					temperature = <110000>;
2373f126890aSEmmanuel Vadot					hysteresis = <2000>;
2374f126890aSEmmanuel Vadot					type = "critical";
2375f126890aSEmmanuel Vadot				};
2376f126890aSEmmanuel Vadot			};
2377f126890aSEmmanuel Vadot
2378f126890aSEmmanuel Vadot			cooling-maps {
2379f126890aSEmmanuel Vadot				map0 {
2380f126890aSEmmanuel Vadot					trip = <&cpu2_alert>;
2381f126890aSEmmanuel Vadot					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2382f126890aSEmmanuel Vadot							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2383f126890aSEmmanuel Vadot							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2384f126890aSEmmanuel Vadot							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2385f126890aSEmmanuel Vadot				};
2386f126890aSEmmanuel Vadot			};
2387f126890aSEmmanuel Vadot		};
2388f126890aSEmmanuel Vadot
2389f126890aSEmmanuel Vadot		cpu3-thermal {
2390f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2391f126890aSEmmanuel Vadot
2392f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 8>;
2393f126890aSEmmanuel Vadot
2394f126890aSEmmanuel Vadot			trips {
2395f126890aSEmmanuel Vadot				cpu3_alert: trip0 {
2396f126890aSEmmanuel Vadot					temperature = <75000>;
2397f126890aSEmmanuel Vadot					hysteresis = <2000>;
2398f126890aSEmmanuel Vadot					type = "passive";
2399f126890aSEmmanuel Vadot				};
2400f126890aSEmmanuel Vadot
2401f126890aSEmmanuel Vadot				cpu3_crit: trip1 {
2402f126890aSEmmanuel Vadot					temperature = <110000>;
2403f126890aSEmmanuel Vadot					hysteresis = <2000>;
2404f126890aSEmmanuel Vadot					type = "critical";
2405f126890aSEmmanuel Vadot				};
2406f126890aSEmmanuel Vadot			};
2407f126890aSEmmanuel Vadot
2408f126890aSEmmanuel Vadot			cooling-maps {
2409f126890aSEmmanuel Vadot				map0 {
2410f126890aSEmmanuel Vadot					trip = <&cpu3_alert>;
2411f126890aSEmmanuel Vadot					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2412f126890aSEmmanuel Vadot							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2413f126890aSEmmanuel Vadot							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2414f126890aSEmmanuel Vadot							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2415f126890aSEmmanuel Vadot				};
2416f126890aSEmmanuel Vadot			};
2417f126890aSEmmanuel Vadot		};
2418f126890aSEmmanuel Vadot
2419f126890aSEmmanuel Vadot		cpu4567-thermal {
2420f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2421f126890aSEmmanuel Vadot
2422f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 9>;
2423f126890aSEmmanuel Vadot
2424f126890aSEmmanuel Vadot			trips {
2425f126890aSEmmanuel Vadot				cpu4567_alert: trip0 {
2426f126890aSEmmanuel Vadot					temperature = <75000>;
2427f126890aSEmmanuel Vadot					hysteresis = <2000>;
2428f126890aSEmmanuel Vadot					type = "passive";
2429f126890aSEmmanuel Vadot				};
2430f126890aSEmmanuel Vadot
2431f126890aSEmmanuel Vadot				cpu4567_crit: trip1 {
2432f126890aSEmmanuel Vadot					temperature = <110000>;
2433f126890aSEmmanuel Vadot					hysteresis = <2000>;
2434f126890aSEmmanuel Vadot					type = "critical";
2435f126890aSEmmanuel Vadot				};
2436f126890aSEmmanuel Vadot			};
2437f126890aSEmmanuel Vadot
2438f126890aSEmmanuel Vadot			cooling-maps {
2439f126890aSEmmanuel Vadot				map0 {
2440f126890aSEmmanuel Vadot					trip = <&cpu4567_alert>;
2441f126890aSEmmanuel Vadot					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2442f126890aSEmmanuel Vadot							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2443f126890aSEmmanuel Vadot							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
2444f126890aSEmmanuel Vadot							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2445f126890aSEmmanuel Vadot				};
2446f126890aSEmmanuel Vadot			};
2447f126890aSEmmanuel Vadot		};
2448f126890aSEmmanuel Vadot
2449f126890aSEmmanuel Vadot		gpu-thermal {
2450f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2451f126890aSEmmanuel Vadot
2452f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 3>;
2453f126890aSEmmanuel Vadot
245401950c46SEmmanuel Vadot			cooling-maps {
245501950c46SEmmanuel Vadot				map0 {
245601950c46SEmmanuel Vadot					trip = <&gpu_alert0>;
245701950c46SEmmanuel Vadot					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
245801950c46SEmmanuel Vadot				};
245901950c46SEmmanuel Vadot			};
246001950c46SEmmanuel Vadot
2461f126890aSEmmanuel Vadot			trips {
2462f126890aSEmmanuel Vadot				gpu_alert0: trip-point0 {
2463f126890aSEmmanuel Vadot					temperature = <75000>;
2464f126890aSEmmanuel Vadot					hysteresis = <2000>;
2465f126890aSEmmanuel Vadot					type = "passive";
2466f126890aSEmmanuel Vadot				};
2467f126890aSEmmanuel Vadot
246801950c46SEmmanuel Vadot				gpu_crit: gpu-crit {
2469f126890aSEmmanuel Vadot					temperature = <95000>;
2470f126890aSEmmanuel Vadot					hysteresis = <2000>;
2471f126890aSEmmanuel Vadot					type = "critical";
2472f126890aSEmmanuel Vadot				};
2473f126890aSEmmanuel Vadot			};
2474f126890aSEmmanuel Vadot		};
2475f126890aSEmmanuel Vadot
2476f126890aSEmmanuel Vadot		modem1-thermal {
2477f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2478f126890aSEmmanuel Vadot
2479f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 0>;
2480f126890aSEmmanuel Vadot
2481f126890aSEmmanuel Vadot			trips {
2482f126890aSEmmanuel Vadot				modem1_alert0: trip-point0 {
2483f126890aSEmmanuel Vadot					temperature = <85000>;
2484f126890aSEmmanuel Vadot					hysteresis = <2000>;
2485f126890aSEmmanuel Vadot					type = "hot";
2486f126890aSEmmanuel Vadot				};
2487f126890aSEmmanuel Vadot			};
2488f126890aSEmmanuel Vadot		};
2489f126890aSEmmanuel Vadot
2490f126890aSEmmanuel Vadot		modem2-thermal {
2491f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2492f126890aSEmmanuel Vadot
2493f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 2>;
2494f126890aSEmmanuel Vadot
2495f126890aSEmmanuel Vadot			trips {
2496f126890aSEmmanuel Vadot				modem2_alert0: trip-point0 {
2497f126890aSEmmanuel Vadot					temperature = <85000>;
2498f126890aSEmmanuel Vadot					hysteresis = <2000>;
2499f126890aSEmmanuel Vadot					type = "hot";
2500f126890aSEmmanuel Vadot				};
2501f126890aSEmmanuel Vadot			};
2502f126890aSEmmanuel Vadot		};
2503f126890aSEmmanuel Vadot
2504f126890aSEmmanuel Vadot		camera-thermal {
2505f126890aSEmmanuel Vadot			polling-delay-passive = <250>;
2506f126890aSEmmanuel Vadot
2507f126890aSEmmanuel Vadot			thermal-sensors = <&tsens 1>;
2508f126890aSEmmanuel Vadot
2509f126890aSEmmanuel Vadot			trips {
2510f126890aSEmmanuel Vadot				cam_alert0: trip-point0 {
2511f126890aSEmmanuel Vadot					temperature = <75000>;
2512f126890aSEmmanuel Vadot					hysteresis = <2000>;
2513f126890aSEmmanuel Vadot					type = "hot";
2514f126890aSEmmanuel Vadot				};
2515f126890aSEmmanuel Vadot			};
2516f126890aSEmmanuel Vadot		};
2517f126890aSEmmanuel Vadot	};
2518f126890aSEmmanuel Vadot
2519f126890aSEmmanuel Vadot	timer {
2520f126890aSEmmanuel Vadot		compatible = "arm,armv8-timer";
2521f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2522f126890aSEmmanuel Vadot			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2523f126890aSEmmanuel Vadot			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2524f126890aSEmmanuel Vadot			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
2525f126890aSEmmanuel Vadot	};
2526f126890aSEmmanuel Vadot};
2527