xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/qcom/sdm630.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: BSD-3-Clause
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2020, Konrad Dybcio
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,gcc-sdm660.h>
7*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,rpmcc.h>
8*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
9*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	interrupt-parent = <&intc>;
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	#address-cells = <2>;
15*4882a593Smuzhiyun	#size-cells = <2>;
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	chosen { };
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	clocks {
20*4882a593Smuzhiyun		xo_board: xo-board {
21*4882a593Smuzhiyun			compatible = "fixed-clock";
22*4882a593Smuzhiyun			#clock-cells = <0>;
23*4882a593Smuzhiyun			clock-frequency = <19200000>;
24*4882a593Smuzhiyun			clock-output-names = "xo_board";
25*4882a593Smuzhiyun		};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun		sleep_clk: sleep-clk {
28*4882a593Smuzhiyun			compatible = "fixed-clock";
29*4882a593Smuzhiyun			#clock-cells = <0>;
30*4882a593Smuzhiyun			clock-frequency = <32764>;
31*4882a593Smuzhiyun			clock-output-names = "sleep_clk";
32*4882a593Smuzhiyun		};
33*4882a593Smuzhiyun	};
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	cpus {
36*4882a593Smuzhiyun		#address-cells = <2>;
37*4882a593Smuzhiyun		#size-cells = <0>;
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun		CPU0: cpu@100 {
40*4882a593Smuzhiyun			device_type = "cpu";
41*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
42*4882a593Smuzhiyun			reg = <0x0 0x100>;
43*4882a593Smuzhiyun			enable-method = "psci";
44*4882a593Smuzhiyun			cpu-idle-states = <&PERF_CPU_SLEEP_0
45*4882a593Smuzhiyun						&PERF_CPU_SLEEP_1
46*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_0
47*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_1
48*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_2>;
49*4882a593Smuzhiyun			capacity-dmips-mhz = <1126>;
50*4882a593Smuzhiyun			#cooling-cells = <2>;
51*4882a593Smuzhiyun			next-level-cache = <&L2_1>;
52*4882a593Smuzhiyun			L2_1: l2-cache {
53*4882a593Smuzhiyun				compatible = "cache";
54*4882a593Smuzhiyun				cache-level = <2>;
55*4882a593Smuzhiyun			};
56*4882a593Smuzhiyun		};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun		CPU1: cpu@101 {
59*4882a593Smuzhiyun			device_type = "cpu";
60*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
61*4882a593Smuzhiyun			reg = <0x0 0x101>;
62*4882a593Smuzhiyun			enable-method = "psci";
63*4882a593Smuzhiyun			cpu-idle-states = <&PERF_CPU_SLEEP_0
64*4882a593Smuzhiyun						&PERF_CPU_SLEEP_1
65*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_0
66*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_1
67*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_2>;
68*4882a593Smuzhiyun			capacity-dmips-mhz = <1126>;
69*4882a593Smuzhiyun			#cooling-cells = <2>;
70*4882a593Smuzhiyun			next-level-cache = <&L2_1>;
71*4882a593Smuzhiyun		};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun		CPU2: cpu@102 {
74*4882a593Smuzhiyun			device_type = "cpu";
75*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
76*4882a593Smuzhiyun			reg = <0x0 0x102>;
77*4882a593Smuzhiyun			enable-method = "psci";
78*4882a593Smuzhiyun			cpu-idle-states = <&PERF_CPU_SLEEP_0
79*4882a593Smuzhiyun						&PERF_CPU_SLEEP_1
80*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_0
81*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_1
82*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_2>;
83*4882a593Smuzhiyun			capacity-dmips-mhz = <1126>;
84*4882a593Smuzhiyun			#cooling-cells = <2>;
85*4882a593Smuzhiyun			next-level-cache = <&L2_1>;
86*4882a593Smuzhiyun		};
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun		CPU3: cpu@103 {
89*4882a593Smuzhiyun			device_type = "cpu";
90*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
91*4882a593Smuzhiyun			reg = <0x0 0x103>;
92*4882a593Smuzhiyun			enable-method = "psci";
93*4882a593Smuzhiyun			cpu-idle-states = <&PERF_CPU_SLEEP_0
94*4882a593Smuzhiyun						&PERF_CPU_SLEEP_1
95*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_0
96*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_1
97*4882a593Smuzhiyun						&PERF_CLUSTER_SLEEP_2>;
98*4882a593Smuzhiyun			capacity-dmips-mhz = <1126>;
99*4882a593Smuzhiyun			#cooling-cells = <2>;
100*4882a593Smuzhiyun			next-level-cache = <&L2_1>;
101*4882a593Smuzhiyun		};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun		CPU4: cpu@0 {
104*4882a593Smuzhiyun			device_type = "cpu";
105*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
106*4882a593Smuzhiyun			reg = <0x0 0x0>;
107*4882a593Smuzhiyun			enable-method = "psci";
108*4882a593Smuzhiyun			cpu-idle-states = <&PWR_CPU_SLEEP_0
109*4882a593Smuzhiyun						&PWR_CPU_SLEEP_1
110*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_0
111*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_1
112*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_2>;
113*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
114*4882a593Smuzhiyun			#cooling-cells = <2>;
115*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
116*4882a593Smuzhiyun			L2_0: l2-cache {
117*4882a593Smuzhiyun				compatible = "cache";
118*4882a593Smuzhiyun				cache-level = <2>;
119*4882a593Smuzhiyun			};
120*4882a593Smuzhiyun		};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun		CPU5: cpu@1 {
123*4882a593Smuzhiyun			device_type = "cpu";
124*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
125*4882a593Smuzhiyun			reg = <0x0 0x1>;
126*4882a593Smuzhiyun			enable-method = "psci";
127*4882a593Smuzhiyun			cpu-idle-states = <&PWR_CPU_SLEEP_0
128*4882a593Smuzhiyun						&PWR_CPU_SLEEP_1
129*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_0
130*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_1
131*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_2>;
132*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
133*4882a593Smuzhiyun			#cooling-cells = <2>;
134*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
135*4882a593Smuzhiyun		};
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun		CPU6: cpu@2 {
138*4882a593Smuzhiyun			device_type = "cpu";
139*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
140*4882a593Smuzhiyun			reg = <0x0 0x2>;
141*4882a593Smuzhiyun			enable-method = "psci";
142*4882a593Smuzhiyun			cpu-idle-states = <&PWR_CPU_SLEEP_0
143*4882a593Smuzhiyun						&PWR_CPU_SLEEP_1
144*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_0
145*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_1
146*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_2>;
147*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
148*4882a593Smuzhiyun			#cooling-cells = <2>;
149*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
150*4882a593Smuzhiyun		};
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun		CPU7: cpu@3 {
153*4882a593Smuzhiyun			device_type = "cpu";
154*4882a593Smuzhiyun			compatible = "arm,cortex-a53";
155*4882a593Smuzhiyun			reg = <0x0 0x3>;
156*4882a593Smuzhiyun			enable-method = "psci";
157*4882a593Smuzhiyun			cpu-idle-states = <&PWR_CPU_SLEEP_0
158*4882a593Smuzhiyun						&PWR_CPU_SLEEP_1
159*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_0
160*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_1
161*4882a593Smuzhiyun						&PWR_CLUSTER_SLEEP_2>;
162*4882a593Smuzhiyun			capacity-dmips-mhz = <1024>;
163*4882a593Smuzhiyun			#cooling-cells = <2>;
164*4882a593Smuzhiyun			next-level-cache = <&L2_0>;
165*4882a593Smuzhiyun		};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun		cpu-map {
168*4882a593Smuzhiyun			cluster0 {
169*4882a593Smuzhiyun				core0 {
170*4882a593Smuzhiyun					cpu = <&CPU4>;
171*4882a593Smuzhiyun				};
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun				core1 {
174*4882a593Smuzhiyun					cpu = <&CPU5>;
175*4882a593Smuzhiyun				};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun				core2 {
178*4882a593Smuzhiyun					cpu = <&CPU6>;
179*4882a593Smuzhiyun				};
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun				core3 {
182*4882a593Smuzhiyun					cpu = <&CPU7>;
183*4882a593Smuzhiyun				};
184*4882a593Smuzhiyun			};
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun			cluster1 {
187*4882a593Smuzhiyun				core0 {
188*4882a593Smuzhiyun					cpu = <&CPU0>;
189*4882a593Smuzhiyun				};
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun				core1 {
192*4882a593Smuzhiyun					cpu = <&CPU1>;
193*4882a593Smuzhiyun				};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun				core2 {
196*4882a593Smuzhiyun					cpu = <&CPU2>;
197*4882a593Smuzhiyun				};
198*4882a593Smuzhiyun
199*4882a593Smuzhiyun				core3 {
200*4882a593Smuzhiyun					cpu = <&CPU3>;
201*4882a593Smuzhiyun				};
202*4882a593Smuzhiyun			};
203*4882a593Smuzhiyun		};
204*4882a593Smuzhiyun
205*4882a593Smuzhiyun		idle-states {
206*4882a593Smuzhiyun			entry-method = "psci";
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun			PWR_CPU_SLEEP_0: cpu-sleep-0-0 {
209*4882a593Smuzhiyun				compatible = "arm,idle-state";
210*4882a593Smuzhiyun				idle-state-name = "pwr-retention";
211*4882a593Smuzhiyun				arm,psci-suspend-param = <0x40000002>;
212*4882a593Smuzhiyun				entry-latency-us = <338>;
213*4882a593Smuzhiyun				exit-latency-us = <423>;
214*4882a593Smuzhiyun				min-residency-us = <200>;
215*4882a593Smuzhiyun			};
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun			PWR_CPU_SLEEP_1: cpu-sleep-0-1 {
218*4882a593Smuzhiyun				compatible = "arm,idle-state";
219*4882a593Smuzhiyun				idle-state-name = "pwr-power-collapse";
220*4882a593Smuzhiyun				arm,psci-suspend-param = <0x40000003>;
221*4882a593Smuzhiyun				entry-latency-us = <515>;
222*4882a593Smuzhiyun				exit-latency-us = <1821>;
223*4882a593Smuzhiyun				min-residency-us = <1000>;
224*4882a593Smuzhiyun				local-timer-stop;
225*4882a593Smuzhiyun			};
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun			PERF_CPU_SLEEP_0: cpu-sleep-1-0 {
228*4882a593Smuzhiyun				compatible = "arm,idle-state";
229*4882a593Smuzhiyun				idle-state-name = "perf-retention";
230*4882a593Smuzhiyun				arm,psci-suspend-param = <0x40000002>;
231*4882a593Smuzhiyun				entry-latency-us = <154>;
232*4882a593Smuzhiyun				exit-latency-us = <87>;
233*4882a593Smuzhiyun				min-residency-us = <200>;
234*4882a593Smuzhiyun			};
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun			PERF_CPU_SLEEP_1: cpu-sleep-1-1 {
237*4882a593Smuzhiyun				compatible = "arm,idle-state";
238*4882a593Smuzhiyun				idle-state-name = "perf-power-collapse";
239*4882a593Smuzhiyun				arm,psci-suspend-param = <0x40000003>;
240*4882a593Smuzhiyun				entry-latency-us = <262>;
241*4882a593Smuzhiyun				exit-latency-us = <301>;
242*4882a593Smuzhiyun				min-residency-us = <1000>;
243*4882a593Smuzhiyun				local-timer-stop;
244*4882a593Smuzhiyun			};
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun			PWR_CLUSTER_SLEEP_0: cluster-sleep-0-0 {
247*4882a593Smuzhiyun				compatible = "arm,idle-state";
248*4882a593Smuzhiyun				idle-state-name = "pwr-cluster-dynamic-retention";
249*4882a593Smuzhiyun				arm,psci-suspend-param = <0x400000F2>;
250*4882a593Smuzhiyun				entry-latency-us = <284>;
251*4882a593Smuzhiyun				exit-latency-us = <384>;
252*4882a593Smuzhiyun				min-residency-us = <9987>;
253*4882a593Smuzhiyun				local-timer-stop;
254*4882a593Smuzhiyun			};
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun			PWR_CLUSTER_SLEEP_1: cluster-sleep-0-1 {
257*4882a593Smuzhiyun				compatible = "arm,idle-state";
258*4882a593Smuzhiyun				idle-state-name = "pwr-cluster-retention";
259*4882a593Smuzhiyun				arm,psci-suspend-param = <0x400000F3>;
260*4882a593Smuzhiyun				entry-latency-us = <338>;
261*4882a593Smuzhiyun				exit-latency-us = <423>;
262*4882a593Smuzhiyun				min-residency-us = <9987>;
263*4882a593Smuzhiyun				local-timer-stop;
264*4882a593Smuzhiyun			};
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun			PWR_CLUSTER_SLEEP_2: cluster-sleep-0-2 {
267*4882a593Smuzhiyun				compatible = "arm,idle-state";
268*4882a593Smuzhiyun				idle-state-name = "pwr-cluster-retention";
269*4882a593Smuzhiyun				arm,psci-suspend-param = <0x400000F4>;
270*4882a593Smuzhiyun				entry-latency-us = <515>;
271*4882a593Smuzhiyun				exit-latency-us = <1821>;
272*4882a593Smuzhiyun				min-residency-us = <9987>;
273*4882a593Smuzhiyun				local-timer-stop;
274*4882a593Smuzhiyun			};
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun			PERF_CLUSTER_SLEEP_0: cluster-sleep-1-0 {
277*4882a593Smuzhiyun				compatible = "arm,idle-state";
278*4882a593Smuzhiyun				idle-state-name = "perf-cluster-dynamic-retention";
279*4882a593Smuzhiyun				arm,psci-suspend-param = <0x400000F2>;
280*4882a593Smuzhiyun				entry-latency-us = <272>;
281*4882a593Smuzhiyun				exit-latency-us = <329>;
282*4882a593Smuzhiyun				min-residency-us = <9987>;
283*4882a593Smuzhiyun				local-timer-stop;
284*4882a593Smuzhiyun			};
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun			PERF_CLUSTER_SLEEP_1: cluster-sleep-1-1 {
287*4882a593Smuzhiyun				compatible = "arm,idle-state";
288*4882a593Smuzhiyun				idle-state-name = "perf-cluster-retention";
289*4882a593Smuzhiyun				arm,psci-suspend-param = <0x400000F3>;
290*4882a593Smuzhiyun				entry-latency-us = <332>;
291*4882a593Smuzhiyun				exit-latency-us = <368>;
292*4882a593Smuzhiyun				min-residency-us = <9987>;
293*4882a593Smuzhiyun				local-timer-stop;
294*4882a593Smuzhiyun			};
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun			PERF_CLUSTER_SLEEP_2: cluster-sleep-1-2 {
297*4882a593Smuzhiyun				compatible = "arm,idle-state";
298*4882a593Smuzhiyun				idle-state-name = "perf-cluster-retention";
299*4882a593Smuzhiyun				arm,psci-suspend-param = <0x400000F4>;
300*4882a593Smuzhiyun				entry-latency-us = <545>;
301*4882a593Smuzhiyun				exit-latency-us = <1609>;
302*4882a593Smuzhiyun				min-residency-us = <9987>;
303*4882a593Smuzhiyun				local-timer-stop;
304*4882a593Smuzhiyun			};
305*4882a593Smuzhiyun		};
306*4882a593Smuzhiyun	};
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun	firmware {
309*4882a593Smuzhiyun		scm {
310*4882a593Smuzhiyun			compatible = "qcom,scm-msm8998", "qcom,scm";
311*4882a593Smuzhiyun		};
312*4882a593Smuzhiyun	};
313*4882a593Smuzhiyun
314*4882a593Smuzhiyun	memory {
315*4882a593Smuzhiyun		device_type = "memory";
316*4882a593Smuzhiyun		/* We expect the bootloader to fill in the reg */
317*4882a593Smuzhiyun		reg = <0 0 0 0>;
318*4882a593Smuzhiyun	};
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun	pmu {
321*4882a593Smuzhiyun		compatible = "arm,armv8-pmuv3";
322*4882a593Smuzhiyun		interrupts = <GIC_PPI 6 IRQ_TYPE_LEVEL_HIGH>;
323*4882a593Smuzhiyun	};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun	psci {
326*4882a593Smuzhiyun		compatible = "arm,psci-1.0";
327*4882a593Smuzhiyun		method = "smc";
328*4882a593Smuzhiyun	};
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun	reserved-memory {
331*4882a593Smuzhiyun		#address-cells = <2>;
332*4882a593Smuzhiyun		#size-cells = <2>;
333*4882a593Smuzhiyun		ranges;
334*4882a593Smuzhiyun
335*4882a593Smuzhiyun		wlan_msa_guard: wlan-msa-guard@85600000 {
336*4882a593Smuzhiyun			reg = <0x0 0x85600000 0x0 0x100000>;
337*4882a593Smuzhiyun			no-map;
338*4882a593Smuzhiyun		};
339*4882a593Smuzhiyun
340*4882a593Smuzhiyun		wlan_msa_mem: wlan-msa-mem@85700000 {
341*4882a593Smuzhiyun			reg = <0x0 0x85700000 0x0 0x100000>;
342*4882a593Smuzhiyun			no-map;
343*4882a593Smuzhiyun		};
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun		qhee_code: qhee-code@85800000 {
346*4882a593Smuzhiyun			reg = <0x0 0x85800000 0x0 0x600000>;
347*4882a593Smuzhiyun			no-map;
348*4882a593Smuzhiyun		};
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun		rmtfs_mem: memory@85e00000 {
351*4882a593Smuzhiyun			compatible = "qcom,rmtfs-mem";
352*4882a593Smuzhiyun			reg = <0x0 0x85e00000 0x0 0x200000>;
353*4882a593Smuzhiyun			no-map;
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun			qcom,client-id = <1>;
356*4882a593Smuzhiyun			qcom,vmid = <15>;
357*4882a593Smuzhiyun		};
358*4882a593Smuzhiyun
359*4882a593Smuzhiyun		smem_region: smem-mem@86000000 {
360*4882a593Smuzhiyun			reg = <0 0x86000000 0 0x200000>;
361*4882a593Smuzhiyun			no-map;
362*4882a593Smuzhiyun		};
363*4882a593Smuzhiyun
364*4882a593Smuzhiyun		tz_mem: memory@86200000 {
365*4882a593Smuzhiyun			reg = <0x0 0x86200000 0x0 0x3300000>;
366*4882a593Smuzhiyun			no-map;
367*4882a593Smuzhiyun		};
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun		mpss_region: mpss@8ac00000 {
370*4882a593Smuzhiyun			reg = <0x0 0x8ac00000 0x0 0x7e00000>;
371*4882a593Smuzhiyun			no-map;
372*4882a593Smuzhiyun		};
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun		adsp_region: adsp@92a00000 {
375*4882a593Smuzhiyun			reg = <0x0 0x92a00000 0x0 0x1e00000>;
376*4882a593Smuzhiyun			no-map;
377*4882a593Smuzhiyun		};
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun		mba_region: mba@94800000 {
380*4882a593Smuzhiyun			reg = <0x0 0x94800000 0x0 0x200000>;
381*4882a593Smuzhiyun			no-map;
382*4882a593Smuzhiyun		};
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun		buffer_mem: tzbuffer@94a00000 {
385*4882a593Smuzhiyun			reg = <0x0 0x94a00000 0x0 0x100000>;
386*4882a593Smuzhiyun			no-map;
387*4882a593Smuzhiyun		};
388*4882a593Smuzhiyun
389*4882a593Smuzhiyun		venus_region: venus@9f800000 {
390*4882a593Smuzhiyun			reg = <0x0 0x9f800000 0x0 0x800000>;
391*4882a593Smuzhiyun			no-map;
392*4882a593Smuzhiyun		};
393*4882a593Smuzhiyun
394*4882a593Smuzhiyun		adsp_mem: adsp-region@f6000000 {
395*4882a593Smuzhiyun			reg = <0x0 0xf6000000 0x0 0x800000>;
396*4882a593Smuzhiyun			no-map;
397*4882a593Smuzhiyun		};
398*4882a593Smuzhiyun
399*4882a593Smuzhiyun		qseecom_mem: qseecom-region@f6800000 {
400*4882a593Smuzhiyun			reg = <0x0 0xf6800000 0x0 0x1400000>;
401*4882a593Smuzhiyun			no-map;
402*4882a593Smuzhiyun		};
403*4882a593Smuzhiyun
404*4882a593Smuzhiyun		zap_shader_region: gpu@fed00000 {
405*4882a593Smuzhiyun			compatible = "shared-dma-pool";
406*4882a593Smuzhiyun			reg = <0x0 0xfed00000 0x0 0xa00000>;
407*4882a593Smuzhiyun			no-map;
408*4882a593Smuzhiyun		};
409*4882a593Smuzhiyun	};
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun	rpm-glink {
412*4882a593Smuzhiyun		compatible = "qcom,glink-rpm";
413*4882a593Smuzhiyun
414*4882a593Smuzhiyun		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
415*4882a593Smuzhiyun		qcom,rpm-msg-ram = <&rpm_msg_ram>;
416*4882a593Smuzhiyun		mboxes = <&apcs_glb 0>;
417*4882a593Smuzhiyun
418*4882a593Smuzhiyun		rpm_requests: rpm-requests {
419*4882a593Smuzhiyun			compatible = "qcom,rpm-sdm660";
420*4882a593Smuzhiyun			qcom,glink-channels = "rpm_requests";
421*4882a593Smuzhiyun
422*4882a593Smuzhiyun			rpmcc: clock-controller {
423*4882a593Smuzhiyun				compatible = "qcom,rpmcc-sdm660", "qcom,rpmcc";
424*4882a593Smuzhiyun				#clock-cells = <1>;
425*4882a593Smuzhiyun			};
426*4882a593Smuzhiyun		};
427*4882a593Smuzhiyun	};
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun	smem: smem {
430*4882a593Smuzhiyun		compatible = "qcom,smem";
431*4882a593Smuzhiyun		memory-region = <&smem_region>;
432*4882a593Smuzhiyun		hwlocks = <&tcsr_mutex 3>;
433*4882a593Smuzhiyun	};
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun	soc {
436*4882a593Smuzhiyun		#address-cells = <1>;
437*4882a593Smuzhiyun		#size-cells = <1>;
438*4882a593Smuzhiyun		ranges = <0 0 0 0xffffffff>;
439*4882a593Smuzhiyun		compatible = "simple-bus";
440*4882a593Smuzhiyun
441*4882a593Smuzhiyun		gcc: clock-controller@100000 {
442*4882a593Smuzhiyun			compatible = "qcom,gcc-sdm630";
443*4882a593Smuzhiyun			#clock-cells = <1>;
444*4882a593Smuzhiyun			#reset-cells = <1>;
445*4882a593Smuzhiyun			#power-domain-cells = <1>;
446*4882a593Smuzhiyun			reg = <0x00100000 0x94000>;
447*4882a593Smuzhiyun
448*4882a593Smuzhiyun			clock-names = "xo", "sleep_clk";
449*4882a593Smuzhiyun			clocks = <&xo_board>,
450*4882a593Smuzhiyun					<&sleep_clk>;
451*4882a593Smuzhiyun		};
452*4882a593Smuzhiyun
453*4882a593Smuzhiyun		rpm_msg_ram: memory@778000 {
454*4882a593Smuzhiyun			compatible = "qcom,rpm-msg-ram";
455*4882a593Smuzhiyun			reg = <0x00778000 0x7000>;
456*4882a593Smuzhiyun		};
457*4882a593Smuzhiyun
458*4882a593Smuzhiyun		qfprom: qfprom@780000 {
459*4882a593Smuzhiyun			compatible = "qcom,qfprom";
460*4882a593Smuzhiyun			reg = <0x00780000 0x621c>;
461*4882a593Smuzhiyun			#address-cells = <1>;
462*4882a593Smuzhiyun			#size-cells = <1>;
463*4882a593Smuzhiyun		};
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun		rng: rng@793000 {
466*4882a593Smuzhiyun			compatible = "qcom,prng-ee";
467*4882a593Smuzhiyun			reg = <0x00793000 0x1000>;
468*4882a593Smuzhiyun			clocks = <&gcc GCC_PRNG_AHB_CLK>;
469*4882a593Smuzhiyun			clock-names = "core";
470*4882a593Smuzhiyun		};
471*4882a593Smuzhiyun
472*4882a593Smuzhiyun		restart@10ac000 {
473*4882a593Smuzhiyun			compatible = "qcom,pshold";
474*4882a593Smuzhiyun			reg = <0x010ac000 0x4>;
475*4882a593Smuzhiyun		};
476*4882a593Smuzhiyun
477*4882a593Smuzhiyun		anoc2_smmu: iommu@16c0000 {
478*4882a593Smuzhiyun			compatible = "qcom,sdm630-smmu-v2", "qcom,smmu-v2";
479*4882a593Smuzhiyun			reg = <0x016c0000 0x40000>;
480*4882a593Smuzhiyun			#iommu-cells = <1>;
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun			#global-interrupts = <2>;
483*4882a593Smuzhiyun			interrupts =
484*4882a593Smuzhiyun				<GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
485*4882a593Smuzhiyun				<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
486*4882a593Smuzhiyun
487*4882a593Smuzhiyun				<GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>,
488*4882a593Smuzhiyun				<GIC_SPI 374 IRQ_TYPE_LEVEL_LOW>,
489*4882a593Smuzhiyun				<GIC_SPI 375 IRQ_TYPE_LEVEL_LOW>,
490*4882a593Smuzhiyun				<GIC_SPI 376 IRQ_TYPE_LEVEL_LOW>,
491*4882a593Smuzhiyun				<GIC_SPI 377 IRQ_TYPE_LEVEL_LOW>,
492*4882a593Smuzhiyun				<GIC_SPI 378 IRQ_TYPE_LEVEL_LOW>,
493*4882a593Smuzhiyun				<GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
494*4882a593Smuzhiyun				<GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
495*4882a593Smuzhiyun				<GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
496*4882a593Smuzhiyun				<GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
497*4882a593Smuzhiyun				<GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
498*4882a593Smuzhiyun				<GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
499*4882a593Smuzhiyun				<GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
500*4882a593Smuzhiyun				<GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
501*4882a593Smuzhiyun				<GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
502*4882a593Smuzhiyun				<GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
503*4882a593Smuzhiyun				<GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
504*4882a593Smuzhiyun				<GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
505*4882a593Smuzhiyun				<GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
506*4882a593Smuzhiyun				<GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
507*4882a593Smuzhiyun				<GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>,
508*4882a593Smuzhiyun				<GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>,
509*4882a593Smuzhiyun				<GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
510*4882a593Smuzhiyun				<GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
511*4882a593Smuzhiyun				<GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
512*4882a593Smuzhiyun				<GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
513*4882a593Smuzhiyun				<GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
514*4882a593Smuzhiyun				<GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
515*4882a593Smuzhiyun				<GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>;
516*4882a593Smuzhiyun
517*4882a593Smuzhiyun			status = "disabled";
518*4882a593Smuzhiyun		};
519*4882a593Smuzhiyun
520*4882a593Smuzhiyun		tcsr_mutex_regs: syscon@1f40000 {
521*4882a593Smuzhiyun			compatible = "syscon";
522*4882a593Smuzhiyun			reg = <0x01f40000 0x20000>;
523*4882a593Smuzhiyun		};
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun		tlmm: pinctrl@3100000 {
526*4882a593Smuzhiyun			compatible = "qcom,sdm630-pinctrl";
527*4882a593Smuzhiyun			reg = <0x03100000 0x400000>,
528*4882a593Smuzhiyun				  <0x03500000 0x400000>,
529*4882a593Smuzhiyun				  <0x03900000 0x400000>;
530*4882a593Smuzhiyun			reg-names = "south", "center", "north";
531*4882a593Smuzhiyun			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
532*4882a593Smuzhiyun			gpio-controller;
533*4882a593Smuzhiyun			gpio-ranges = <&tlmm 0 0 114>;
534*4882a593Smuzhiyun			#gpio-cells = <2>;
535*4882a593Smuzhiyun			interrupt-controller;
536*4882a593Smuzhiyun			#interrupt-cells = <2>;
537*4882a593Smuzhiyun
538*4882a593Smuzhiyun			blsp1_uart1_default: blsp1-uart1-default {
539*4882a593Smuzhiyun				pins = "gpio0", "gpio1", "gpio2", "gpio3";
540*4882a593Smuzhiyun				drive-strength = <2>;
541*4882a593Smuzhiyun				bias-disable;
542*4882a593Smuzhiyun			};
543*4882a593Smuzhiyun
544*4882a593Smuzhiyun			blsp1_uart1_sleep: blsp1-uart1-sleep {
545*4882a593Smuzhiyun				pins = "gpio0", "gpio1", "gpio2", "gpio3";
546*4882a593Smuzhiyun				drive-strength = <2>;
547*4882a593Smuzhiyun				bias-disable;
548*4882a593Smuzhiyun			};
549*4882a593Smuzhiyun
550*4882a593Smuzhiyun			blsp1_uart2_default: blsp1-uart2-default {
551*4882a593Smuzhiyun				pins = "gpio4", "gpio5";
552*4882a593Smuzhiyun				drive-strength = <2>;
553*4882a593Smuzhiyun				bias-disable;
554*4882a593Smuzhiyun			};
555*4882a593Smuzhiyun
556*4882a593Smuzhiyun			blsp2_uart1_default: blsp2-uart1-active {
557*4882a593Smuzhiyun				tx-rts {
558*4882a593Smuzhiyun					pins = "gpio16", "gpio19";
559*4882a593Smuzhiyun					function = "blsp_uart5";
560*4882a593Smuzhiyun					drive-strength = <2>;
561*4882a593Smuzhiyun					bias-disable;
562*4882a593Smuzhiyun				};
563*4882a593Smuzhiyun
564*4882a593Smuzhiyun				rx {
565*4882a593Smuzhiyun					/*
566*4882a593Smuzhiyun					 * Avoid garbage data while BT module
567*4882a593Smuzhiyun					 * is powered off or not driving signal
568*4882a593Smuzhiyun					 */
569*4882a593Smuzhiyun					pins = "gpio17";
570*4882a593Smuzhiyun					function = "blsp_uart5";
571*4882a593Smuzhiyun					drive-strength = <2>;
572*4882a593Smuzhiyun					bias-pull-up;
573*4882a593Smuzhiyun				};
574*4882a593Smuzhiyun
575*4882a593Smuzhiyun				cts {
576*4882a593Smuzhiyun					/* Match the pull of the BT module */
577*4882a593Smuzhiyun					pins = "gpio18";
578*4882a593Smuzhiyun					function = "blsp_uart5";
579*4882a593Smuzhiyun					drive-strength = <2>;
580*4882a593Smuzhiyun					bias-pull-down;
581*4882a593Smuzhiyun				};
582*4882a593Smuzhiyun			};
583*4882a593Smuzhiyun
584*4882a593Smuzhiyun			blsp2_uart1_sleep: blsp2-uart1-sleep {
585*4882a593Smuzhiyun				tx {
586*4882a593Smuzhiyun					pins = "gpio16";
587*4882a593Smuzhiyun					function = "gpio";
588*4882a593Smuzhiyun					drive-strength = <2>;
589*4882a593Smuzhiyun					bias-pull-up;
590*4882a593Smuzhiyun				};
591*4882a593Smuzhiyun
592*4882a593Smuzhiyun				rx-cts-rts {
593*4882a593Smuzhiyun					pins = "gpio17", "gpio18", "gpio19";
594*4882a593Smuzhiyun					function = "gpio";
595*4882a593Smuzhiyun					drive-strength = <2>;
596*4882a593Smuzhiyun					bias-no-pull;
597*4882a593Smuzhiyun				};
598*4882a593Smuzhiyun			};
599*4882a593Smuzhiyun
600*4882a593Smuzhiyun			i2c1_default: i2c1-default {
601*4882a593Smuzhiyun				pins = "gpio2", "gpio3";
602*4882a593Smuzhiyun				drive-strength = <2>;
603*4882a593Smuzhiyun				bias-disable;
604*4882a593Smuzhiyun			};
605*4882a593Smuzhiyun
606*4882a593Smuzhiyun			i2c1_sleep: i2c1-sleep {
607*4882a593Smuzhiyun				pins = "gpio2", "gpio3";
608*4882a593Smuzhiyun				drive-strength = <2>;
609*4882a593Smuzhiyun				bias-pull-up;
610*4882a593Smuzhiyun			};
611*4882a593Smuzhiyun
612*4882a593Smuzhiyun			i2c2_default: i2c2-default {
613*4882a593Smuzhiyun				pins = "gpio6", "gpio7";
614*4882a593Smuzhiyun				drive-strength = <2>;
615*4882a593Smuzhiyun				bias-disable;
616*4882a593Smuzhiyun			};
617*4882a593Smuzhiyun
618*4882a593Smuzhiyun			i2c2_sleep: i2c2-sleep {
619*4882a593Smuzhiyun				pins = "gpio6", "gpio7";
620*4882a593Smuzhiyun				drive-strength = <2>;
621*4882a593Smuzhiyun				bias-pull-up;
622*4882a593Smuzhiyun			};
623*4882a593Smuzhiyun
624*4882a593Smuzhiyun			i2c3_default: i2c3-default {
625*4882a593Smuzhiyun				pins = "gpio10", "gpio11";
626*4882a593Smuzhiyun				drive-strength = <2>;
627*4882a593Smuzhiyun				bias-disable;
628*4882a593Smuzhiyun			};
629*4882a593Smuzhiyun
630*4882a593Smuzhiyun			i2c3_sleep: i2c3-sleep {
631*4882a593Smuzhiyun				pins = "gpio10", "gpio11";
632*4882a593Smuzhiyun				drive-strength = <2>;
633*4882a593Smuzhiyun				bias-pull-up;
634*4882a593Smuzhiyun			};
635*4882a593Smuzhiyun
636*4882a593Smuzhiyun			i2c4_default: i2c4-default {
637*4882a593Smuzhiyun				pins = "gpio14", "gpio15";
638*4882a593Smuzhiyun				drive-strength = <2>;
639*4882a593Smuzhiyun				bias-disable;
640*4882a593Smuzhiyun			};
641*4882a593Smuzhiyun
642*4882a593Smuzhiyun			i2c4_sleep: i2c4-sleep {
643*4882a593Smuzhiyun				pins = "gpio14", "gpio15";
644*4882a593Smuzhiyun				drive-strength = <2>;
645*4882a593Smuzhiyun				bias-pull-up;
646*4882a593Smuzhiyun			};
647*4882a593Smuzhiyun
648*4882a593Smuzhiyun			i2c5_default: i2c5-default {
649*4882a593Smuzhiyun				pins = "gpio18", "gpio19";
650*4882a593Smuzhiyun				drive-strength = <2>;
651*4882a593Smuzhiyun				bias-disable;
652*4882a593Smuzhiyun			};
653*4882a593Smuzhiyun
654*4882a593Smuzhiyun			i2c5_sleep: i2c5-sleep {
655*4882a593Smuzhiyun				pins = "gpio18", "gpio19";
656*4882a593Smuzhiyun				drive-strength = <2>;
657*4882a593Smuzhiyun				bias-pull-up;
658*4882a593Smuzhiyun			};
659*4882a593Smuzhiyun
660*4882a593Smuzhiyun			i2c6_default: i2c6-default {
661*4882a593Smuzhiyun				pins = "gpio22", "gpio23";
662*4882a593Smuzhiyun				drive-strength = <2>;
663*4882a593Smuzhiyun				bias-disable;
664*4882a593Smuzhiyun			};
665*4882a593Smuzhiyun
666*4882a593Smuzhiyun			i2c6_sleep: i2c6-sleep {
667*4882a593Smuzhiyun				pins = "gpio22", "gpio23";
668*4882a593Smuzhiyun				drive-strength = <2>;
669*4882a593Smuzhiyun				bias-pull-up;
670*4882a593Smuzhiyun			};
671*4882a593Smuzhiyun
672*4882a593Smuzhiyun			i2c7_default: i2c7-default {
673*4882a593Smuzhiyun				pins = "gpio26", "gpio27";
674*4882a593Smuzhiyun				drive-strength = <2>;
675*4882a593Smuzhiyun				bias-disable;
676*4882a593Smuzhiyun			};
677*4882a593Smuzhiyun
678*4882a593Smuzhiyun			i2c7_sleep: i2c7-sleep {
679*4882a593Smuzhiyun				pins = "gpio26", "gpio27";
680*4882a593Smuzhiyun				drive-strength = <2>;
681*4882a593Smuzhiyun				bias-pull-up;
682*4882a593Smuzhiyun			};
683*4882a593Smuzhiyun
684*4882a593Smuzhiyun			i2c8_default: i2c8-default {
685*4882a593Smuzhiyun				pins = "gpio30", "gpio31";
686*4882a593Smuzhiyun				drive-strength = <2>;
687*4882a593Smuzhiyun				bias-disable;
688*4882a593Smuzhiyun			};
689*4882a593Smuzhiyun
690*4882a593Smuzhiyun			i2c8_sleep: i2c8-sleep {
691*4882a593Smuzhiyun				pins = "gpio30", "gpio31";
692*4882a593Smuzhiyun				drive-strength = <2>;
693*4882a593Smuzhiyun				bias-pull-up;
694*4882a593Smuzhiyun			};
695*4882a593Smuzhiyun
696*4882a593Smuzhiyun			sdc1_state_on: sdc1-on {
697*4882a593Smuzhiyun				clk {
698*4882a593Smuzhiyun					pins = "sdc1_clk";
699*4882a593Smuzhiyun					bias-disable;
700*4882a593Smuzhiyun					drive-strength = <16>;
701*4882a593Smuzhiyun				};
702*4882a593Smuzhiyun
703*4882a593Smuzhiyun				cmd {
704*4882a593Smuzhiyun					pins = "sdc1_cmd";
705*4882a593Smuzhiyun					bias-pull-up;
706*4882a593Smuzhiyun					drive-strength = <10>;
707*4882a593Smuzhiyun				};
708*4882a593Smuzhiyun
709*4882a593Smuzhiyun				data {
710*4882a593Smuzhiyun					pins = "sdc1_data";
711*4882a593Smuzhiyun					bias-pull-up;
712*4882a593Smuzhiyun					drive-strength = <10>;
713*4882a593Smuzhiyun				};
714*4882a593Smuzhiyun
715*4882a593Smuzhiyun				rclk {
716*4882a593Smuzhiyun					pins = "sdc1_rclk";
717*4882a593Smuzhiyun					bias-pull-down;
718*4882a593Smuzhiyun				};
719*4882a593Smuzhiyun			};
720*4882a593Smuzhiyun
721*4882a593Smuzhiyun			sdc1_state_off: sdc1-off {
722*4882a593Smuzhiyun				clk {
723*4882a593Smuzhiyun					pins = "sdc1_clk";
724*4882a593Smuzhiyun					bias-disable;
725*4882a593Smuzhiyun					drive-strength = <2>;
726*4882a593Smuzhiyun				};
727*4882a593Smuzhiyun
728*4882a593Smuzhiyun				cmd {
729*4882a593Smuzhiyun					pins = "sdc1_cmd";
730*4882a593Smuzhiyun					bias-pull-up;
731*4882a593Smuzhiyun					drive-strength = <2>;
732*4882a593Smuzhiyun				};
733*4882a593Smuzhiyun
734*4882a593Smuzhiyun				data {
735*4882a593Smuzhiyun					pins = "sdc1_data";
736*4882a593Smuzhiyun					bias-pull-up;
737*4882a593Smuzhiyun					drive-strength = <2>;
738*4882a593Smuzhiyun				};
739*4882a593Smuzhiyun
740*4882a593Smuzhiyun				rclk {
741*4882a593Smuzhiyun					pins = "sdc1_rclk";
742*4882a593Smuzhiyun					bias-pull-down;
743*4882a593Smuzhiyun				};
744*4882a593Smuzhiyun			};
745*4882a593Smuzhiyun
746*4882a593Smuzhiyun			sdc2_state_on: sdc2-on {
747*4882a593Smuzhiyun				clk {
748*4882a593Smuzhiyun					pins = "sdc2_clk";
749*4882a593Smuzhiyun					bias-disable;
750*4882a593Smuzhiyun					drive-strength = <16>;
751*4882a593Smuzhiyun				};
752*4882a593Smuzhiyun
753*4882a593Smuzhiyun				cmd {
754*4882a593Smuzhiyun					pins = "sdc2_cmd";
755*4882a593Smuzhiyun					bias-pull-up;
756*4882a593Smuzhiyun					drive-strength = <10>;
757*4882a593Smuzhiyun				};
758*4882a593Smuzhiyun
759*4882a593Smuzhiyun				data {
760*4882a593Smuzhiyun					pins = "sdc2_data";
761*4882a593Smuzhiyun					bias-pull-up;
762*4882a593Smuzhiyun					drive-strength = <10>;
763*4882a593Smuzhiyun				};
764*4882a593Smuzhiyun
765*4882a593Smuzhiyun				sd-cd {
766*4882a593Smuzhiyun					pins = "gpio54";
767*4882a593Smuzhiyun					bias-pull-up;
768*4882a593Smuzhiyun					drive-strength = <2>;
769*4882a593Smuzhiyun				};
770*4882a593Smuzhiyun			};
771*4882a593Smuzhiyun
772*4882a593Smuzhiyun			sdc2_state_off: sdc2-off {
773*4882a593Smuzhiyun				clk {
774*4882a593Smuzhiyun					pins = "sdc2_clk";
775*4882a593Smuzhiyun					bias-disable;
776*4882a593Smuzhiyun					drive-strength = <2>;
777*4882a593Smuzhiyun				};
778*4882a593Smuzhiyun
779*4882a593Smuzhiyun				cmd {
780*4882a593Smuzhiyun					pins = "sdc2_cmd";
781*4882a593Smuzhiyun					bias-pull-up;
782*4882a593Smuzhiyun					drive-strength = <2>;
783*4882a593Smuzhiyun				};
784*4882a593Smuzhiyun
785*4882a593Smuzhiyun				data {
786*4882a593Smuzhiyun					pins = "sdc2_data";
787*4882a593Smuzhiyun					bias-pull-up;
788*4882a593Smuzhiyun					drive-strength = <2>;
789*4882a593Smuzhiyun				};
790*4882a593Smuzhiyun
791*4882a593Smuzhiyun				sd-cd {
792*4882a593Smuzhiyun					pins = "gpio54";
793*4882a593Smuzhiyun					bias-disable;
794*4882a593Smuzhiyun					drive-strength = <2>;
795*4882a593Smuzhiyun				};
796*4882a593Smuzhiyun			};
797*4882a593Smuzhiyun		};
798*4882a593Smuzhiyun
799*4882a593Smuzhiyun		kgsl_smmu: iommu@5040000 {
800*4882a593Smuzhiyun			compatible = "qcom,sdm630-smmu-v2", "qcom,smmu-v2";
801*4882a593Smuzhiyun			reg = <0x05040000 0x10000>;
802*4882a593Smuzhiyun			#iommu-cells = <1>;
803*4882a593Smuzhiyun
804*4882a593Smuzhiyun			#global-interrupts = <2>;
805*4882a593Smuzhiyun			interrupts =
806*4882a593Smuzhiyun				<GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
807*4882a593Smuzhiyun				<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
808*4882a593Smuzhiyun
809*4882a593Smuzhiyun				<GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
810*4882a593Smuzhiyun				<GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
811*4882a593Smuzhiyun				<GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
812*4882a593Smuzhiyun				<GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
813*4882a593Smuzhiyun				<GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
814*4882a593Smuzhiyun				<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
815*4882a593Smuzhiyun				<GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>,
816*4882a593Smuzhiyun				<GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>;
817*4882a593Smuzhiyun
818*4882a593Smuzhiyun			status = "disabled";
819*4882a593Smuzhiyun		};
820*4882a593Smuzhiyun
821*4882a593Smuzhiyun		lpass_smmu: iommu@5100000 {
822*4882a593Smuzhiyun			compatible = "qcom,sdm630-smmu-v2", "qcom,smmu-v2";
823*4882a593Smuzhiyun			reg = <0x05100000 0x40000>;
824*4882a593Smuzhiyun			#iommu-cells = <1>;
825*4882a593Smuzhiyun
826*4882a593Smuzhiyun			#global-interrupts = <2>;
827*4882a593Smuzhiyun			interrupts =
828*4882a593Smuzhiyun				<GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
829*4882a593Smuzhiyun				<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
830*4882a593Smuzhiyun
831*4882a593Smuzhiyun				<GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
832*4882a593Smuzhiyun				<GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
833*4882a593Smuzhiyun				<GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
834*4882a593Smuzhiyun				<GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
835*4882a593Smuzhiyun				<GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
836*4882a593Smuzhiyun				<GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
837*4882a593Smuzhiyun				<GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
838*4882a593Smuzhiyun				<GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
839*4882a593Smuzhiyun				<GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
840*4882a593Smuzhiyun				<GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
841*4882a593Smuzhiyun				<GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
842*4882a593Smuzhiyun				<GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
843*4882a593Smuzhiyun				<GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
844*4882a593Smuzhiyun				<GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>,
845*4882a593Smuzhiyun				<GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>,
846*4882a593Smuzhiyun				<GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
847*4882a593Smuzhiyun				<GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>;
848*4882a593Smuzhiyun
849*4882a593Smuzhiyun			status = "disabled";
850*4882a593Smuzhiyun		};
851*4882a593Smuzhiyun
852*4882a593Smuzhiyun		spmi_bus: spmi@800f000 {
853*4882a593Smuzhiyun			compatible = "qcom,spmi-pmic-arb";
854*4882a593Smuzhiyun			reg =	<0x0800f000 0x1000>,
855*4882a593Smuzhiyun				<0x08400000 0x1000000>,
856*4882a593Smuzhiyun				<0x09400000 0x1000000>,
857*4882a593Smuzhiyun				<0x0a400000 0x220000>,
858*4882a593Smuzhiyun				<0x0800a000 0x3000>;
859*4882a593Smuzhiyun			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
860*4882a593Smuzhiyun			interrupt-names = "periph_irq";
861*4882a593Smuzhiyun			interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
862*4882a593Smuzhiyun			qcom,ee = <0>;
863*4882a593Smuzhiyun			qcom,channel = <0>;
864*4882a593Smuzhiyun			#address-cells = <2>;
865*4882a593Smuzhiyun			#size-cells = <0>;
866*4882a593Smuzhiyun			interrupt-controller;
867*4882a593Smuzhiyun			#interrupt-cells = <4>;
868*4882a593Smuzhiyun			cell-index = <0>;
869*4882a593Smuzhiyun		};
870*4882a593Smuzhiyun
871*4882a593Smuzhiyun		sdhc_1: sdhci@c0c4000 {
872*4882a593Smuzhiyun			compatible = "qcom,sdm630-sdhci", "qcom,sdhci-msm-v5";
873*4882a593Smuzhiyun			reg = <0x0c0c4000 0x1000>,
874*4882a593Smuzhiyun				<0x0c0c5000 0x1000>;
875*4882a593Smuzhiyun			reg-names = "hc", "cqhci";
876*4882a593Smuzhiyun
877*4882a593Smuzhiyun			interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
878*4882a593Smuzhiyun					<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
879*4882a593Smuzhiyun			interrupt-names = "hc_irq", "pwr_irq";
880*4882a593Smuzhiyun
881*4882a593Smuzhiyun			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
882*4882a593Smuzhiyun					<&gcc GCC_SDCC1_AHB_CLK>,
883*4882a593Smuzhiyun					<&xo_board>;
884*4882a593Smuzhiyun			clock-names = "core", "iface", "xo";
885*4882a593Smuzhiyun
886*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
887*4882a593Smuzhiyun			pinctrl-0 = <&sdc1_state_on>;
888*4882a593Smuzhiyun			pinctrl-1 = <&sdc1_state_off>;
889*4882a593Smuzhiyun
890*4882a593Smuzhiyun			bus-width = <8>;
891*4882a593Smuzhiyun			non-removable;
892*4882a593Smuzhiyun
893*4882a593Smuzhiyun			status = "disabled";
894*4882a593Smuzhiyun		};
895*4882a593Smuzhiyun
896*4882a593Smuzhiyun		blsp1_dma: dma@c144000 {
897*4882a593Smuzhiyun			compatible = "qcom,bam-v1.7.0";
898*4882a593Smuzhiyun			reg = <0x0c144000 0x1f000>;
899*4882a593Smuzhiyun			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
900*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
901*4882a593Smuzhiyun			clock-names = "bam_clk";
902*4882a593Smuzhiyun			#dma-cells = <1>;
903*4882a593Smuzhiyun			qcom,ee = <0>;
904*4882a593Smuzhiyun			qcom,controlled-remotely;
905*4882a593Smuzhiyun			num-channels = <18>;
906*4882a593Smuzhiyun			qcom,num-ees = <4>;
907*4882a593Smuzhiyun		};
908*4882a593Smuzhiyun
909*4882a593Smuzhiyun		blsp1_uart1: serial@c16f000 {
910*4882a593Smuzhiyun			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
911*4882a593Smuzhiyun			reg = <0x0c16f000 0x200>;
912*4882a593Smuzhiyun			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
913*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
914*4882a593Smuzhiyun				 <&gcc GCC_BLSP1_AHB_CLK>;
915*4882a593Smuzhiyun			clock-names = "core", "iface";
916*4882a593Smuzhiyun			dmas = <&blsp1_dma 0>, <&blsp1_dma 1>;
917*4882a593Smuzhiyun			dma-names = "tx", "rx";
918*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
919*4882a593Smuzhiyun			pinctrl-0 = <&blsp1_uart1_default>;
920*4882a593Smuzhiyun			pinctrl-1 = <&blsp1_uart1_sleep>;
921*4882a593Smuzhiyun			status = "disabled";
922*4882a593Smuzhiyun		};
923*4882a593Smuzhiyun
924*4882a593Smuzhiyun		blsp1_uart2: serial@c170000 {
925*4882a593Smuzhiyun			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
926*4882a593Smuzhiyun			reg = <0x0c170000 0x1000>;
927*4882a593Smuzhiyun			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
928*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
929*4882a593Smuzhiyun				 <&gcc GCC_BLSP1_AHB_CLK>;
930*4882a593Smuzhiyun			clock-names = "core", "iface";
931*4882a593Smuzhiyun			dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
932*4882a593Smuzhiyun			dma-names = "tx", "rx";
933*4882a593Smuzhiyun			pinctrl-names = "default";
934*4882a593Smuzhiyun			pinctrl-0 = <&blsp1_uart2_default>;
935*4882a593Smuzhiyun			status = "disabled";
936*4882a593Smuzhiyun		};
937*4882a593Smuzhiyun
938*4882a593Smuzhiyun		blsp_i2c1: i2c@c175000 {
939*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
940*4882a593Smuzhiyun			reg = <0x0c175000 0x600>;
941*4882a593Smuzhiyun			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
942*4882a593Smuzhiyun
943*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
944*4882a593Smuzhiyun					<&gcc GCC_BLSP1_AHB_CLK>;
945*4882a593Smuzhiyun			clock-names = "core", "iface";
946*4882a593Smuzhiyun			clock-frequency = <400000>;
947*4882a593Smuzhiyun
948*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
949*4882a593Smuzhiyun			pinctrl-0 = <&i2c1_default>;
950*4882a593Smuzhiyun			pinctrl-1 = <&i2c1_sleep>;
951*4882a593Smuzhiyun			#address-cells = <1>;
952*4882a593Smuzhiyun			#size-cells = <0>;
953*4882a593Smuzhiyun			status = "disabled";
954*4882a593Smuzhiyun		};
955*4882a593Smuzhiyun
956*4882a593Smuzhiyun		blsp_i2c2: i2c@c176000 {
957*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
958*4882a593Smuzhiyun			reg = <0x0c176000 0x600>;
959*4882a593Smuzhiyun			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
960*4882a593Smuzhiyun
961*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
962*4882a593Smuzhiyun				 <&gcc GCC_BLSP1_AHB_CLK>;
963*4882a593Smuzhiyun			clock-names = "core", "iface";
964*4882a593Smuzhiyun			clock-frequency = <400000>;
965*4882a593Smuzhiyun
966*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
967*4882a593Smuzhiyun			pinctrl-0 = <&i2c2_default>;
968*4882a593Smuzhiyun			pinctrl-1 = <&i2c2_sleep>;
969*4882a593Smuzhiyun			#address-cells = <1>;
970*4882a593Smuzhiyun			#size-cells = <0>;
971*4882a593Smuzhiyun			status = "disabled";
972*4882a593Smuzhiyun		};
973*4882a593Smuzhiyun
974*4882a593Smuzhiyun		blsp_i2c3: i2c@c177000 {
975*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
976*4882a593Smuzhiyun			reg = <0x0c177000 0x600>;
977*4882a593Smuzhiyun			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
978*4882a593Smuzhiyun
979*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
980*4882a593Smuzhiyun				 <&gcc GCC_BLSP1_AHB_CLK>;
981*4882a593Smuzhiyun			clock-names = "core", "iface";
982*4882a593Smuzhiyun			clock-frequency = <400000>;
983*4882a593Smuzhiyun
984*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
985*4882a593Smuzhiyun			pinctrl-0 = <&i2c3_default>;
986*4882a593Smuzhiyun			pinctrl-1 = <&i2c3_sleep>;
987*4882a593Smuzhiyun			#address-cells = <1>;
988*4882a593Smuzhiyun			#size-cells = <0>;
989*4882a593Smuzhiyun			status = "disabled";
990*4882a593Smuzhiyun		};
991*4882a593Smuzhiyun
992*4882a593Smuzhiyun		blsp_i2c4: i2c@c178000 {
993*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
994*4882a593Smuzhiyun			reg = <0x0c178000 0x600>;
995*4882a593Smuzhiyun			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
996*4882a593Smuzhiyun
997*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
998*4882a593Smuzhiyun				 <&gcc GCC_BLSP1_AHB_CLK>;
999*4882a593Smuzhiyun			clock-names = "core", "iface";
1000*4882a593Smuzhiyun			clock-frequency = <400000>;
1001*4882a593Smuzhiyun
1002*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
1003*4882a593Smuzhiyun			pinctrl-0 = <&i2c4_default>;
1004*4882a593Smuzhiyun			pinctrl-1 = <&i2c4_sleep>;
1005*4882a593Smuzhiyun			#address-cells = <1>;
1006*4882a593Smuzhiyun			#size-cells = <0>;
1007*4882a593Smuzhiyun			status = "disabled";
1008*4882a593Smuzhiyun		};
1009*4882a593Smuzhiyun
1010*4882a593Smuzhiyun		blsp2_dma: dma@c184000 {
1011*4882a593Smuzhiyun			compatible = "qcom,bam-v1.7.0";
1012*4882a593Smuzhiyun			reg = <0x0c184000 0x1f000>;
1013*4882a593Smuzhiyun			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
1014*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
1015*4882a593Smuzhiyun			clock-names = "bam_clk";
1016*4882a593Smuzhiyun			#dma-cells = <1>;
1017*4882a593Smuzhiyun			qcom,ee = <0>;
1018*4882a593Smuzhiyun			qcom,controlled-remotely;
1019*4882a593Smuzhiyun			num-channels = <18>;
1020*4882a593Smuzhiyun			qcom,num-ees = <4>;
1021*4882a593Smuzhiyun		};
1022*4882a593Smuzhiyun
1023*4882a593Smuzhiyun		blsp2_uart1: serial@c1af000 {
1024*4882a593Smuzhiyun			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1025*4882a593Smuzhiyun			reg = <0x0c1af000 0x200>;
1026*4882a593Smuzhiyun			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1027*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_UART1_APPS_CLK>,
1028*4882a593Smuzhiyun				 <&gcc GCC_BLSP2_AHB_CLK>;
1029*4882a593Smuzhiyun			clock-names = "core", "iface";
1030*4882a593Smuzhiyun			dmas = <&blsp2_dma 0>, <&blsp2_dma 1>;
1031*4882a593Smuzhiyun			dma-names = "tx", "rx";
1032*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
1033*4882a593Smuzhiyun			pinctrl-0 = <&blsp2_uart1_default>;
1034*4882a593Smuzhiyun			pinctrl-1 = <&blsp2_uart1_sleep>;
1035*4882a593Smuzhiyun			status = "disabled";
1036*4882a593Smuzhiyun		};
1037*4882a593Smuzhiyun
1038*4882a593Smuzhiyun		blsp_i2c5: i2c@c1b5000 {
1039*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
1040*4882a593Smuzhiyun			reg = <0x0c1b5000 0x600>;
1041*4882a593Smuzhiyun			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1042*4882a593Smuzhiyun
1043*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
1044*4882a593Smuzhiyun				 <&gcc GCC_BLSP2_AHB_CLK>;
1045*4882a593Smuzhiyun			clock-names = "core", "iface";
1046*4882a593Smuzhiyun			clock-frequency = <400000>;
1047*4882a593Smuzhiyun
1048*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
1049*4882a593Smuzhiyun			pinctrl-0 = <&i2c5_default>;
1050*4882a593Smuzhiyun			pinctrl-1 = <&i2c5_sleep>;
1051*4882a593Smuzhiyun			#address-cells = <1>;
1052*4882a593Smuzhiyun			#size-cells = <0>;
1053*4882a593Smuzhiyun			status = "disabled";
1054*4882a593Smuzhiyun		};
1055*4882a593Smuzhiyun
1056*4882a593Smuzhiyun		blsp_i2c6: i2c@c1b6000 {
1057*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
1058*4882a593Smuzhiyun			reg = <0x0c1b6000 0x600>;
1059*4882a593Smuzhiyun			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1060*4882a593Smuzhiyun
1061*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
1062*4882a593Smuzhiyun				 <&gcc GCC_BLSP2_AHB_CLK>;
1063*4882a593Smuzhiyun			clock-names = "core", "iface";
1064*4882a593Smuzhiyun			clock-frequency = <400000>;
1065*4882a593Smuzhiyun
1066*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
1067*4882a593Smuzhiyun			pinctrl-0 = <&i2c6_default>;
1068*4882a593Smuzhiyun			pinctrl-1 = <&i2c6_sleep>;
1069*4882a593Smuzhiyun			#address-cells = <1>;
1070*4882a593Smuzhiyun			#size-cells = <0>;
1071*4882a593Smuzhiyun			status = "disabled";
1072*4882a593Smuzhiyun		};
1073*4882a593Smuzhiyun
1074*4882a593Smuzhiyun		blsp_i2c7: i2c@c1b7000 {
1075*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
1076*4882a593Smuzhiyun			reg = <0x0c1b7000 0x600>;
1077*4882a593Smuzhiyun			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1078*4882a593Smuzhiyun
1079*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
1080*4882a593Smuzhiyun				 <&gcc GCC_BLSP2_AHB_CLK>;
1081*4882a593Smuzhiyun			clock-names = "core", "iface";
1082*4882a593Smuzhiyun			clock-frequency = <400000>;
1083*4882a593Smuzhiyun
1084*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
1085*4882a593Smuzhiyun			pinctrl-0 = <&i2c7_default>;
1086*4882a593Smuzhiyun			pinctrl-1 = <&i2c7_sleep>;
1087*4882a593Smuzhiyun			#address-cells = <1>;
1088*4882a593Smuzhiyun			#size-cells = <0>;
1089*4882a593Smuzhiyun			status = "disabled";
1090*4882a593Smuzhiyun		};
1091*4882a593Smuzhiyun
1092*4882a593Smuzhiyun		blsp_i2c8: i2c@c1b8000 {
1093*4882a593Smuzhiyun			compatible = "qcom,i2c-qup-v2.2.1";
1094*4882a593Smuzhiyun			reg = <0x0c1b8000 0x600>;
1095*4882a593Smuzhiyun			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1096*4882a593Smuzhiyun
1097*4882a593Smuzhiyun			clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
1098*4882a593Smuzhiyun				 <&gcc GCC_BLSP2_AHB_CLK>;
1099*4882a593Smuzhiyun			clock-names = "core", "iface";
1100*4882a593Smuzhiyun			clock-frequency = <400000>;
1101*4882a593Smuzhiyun
1102*4882a593Smuzhiyun			pinctrl-names = "default", "sleep";
1103*4882a593Smuzhiyun			pinctrl-0 = <&i2c8_default>;
1104*4882a593Smuzhiyun			pinctrl-1 = <&i2c8_sleep>;
1105*4882a593Smuzhiyun			#address-cells = <1>;
1106*4882a593Smuzhiyun			#size-cells = <0>;
1107*4882a593Smuzhiyun			status = "disabled";
1108*4882a593Smuzhiyun		};
1109*4882a593Smuzhiyun
1110*4882a593Smuzhiyun		mmss_smmu: iommu@cd00000 {
1111*4882a593Smuzhiyun			compatible = "qcom,sdm630-smmu-v2", "qcom,smmu-v2";
1112*4882a593Smuzhiyun			reg = <0x0cd00000 0x40000>;
1113*4882a593Smuzhiyun			#iommu-cells = <1>;
1114*4882a593Smuzhiyun
1115*4882a593Smuzhiyun			#global-interrupts = <2>;
1116*4882a593Smuzhiyun			interrupts =
1117*4882a593Smuzhiyun				<GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
1118*4882a593Smuzhiyun				<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
1119*4882a593Smuzhiyun
1120*4882a593Smuzhiyun				<GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
1121*4882a593Smuzhiyun				<GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
1122*4882a593Smuzhiyun				<GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
1123*4882a593Smuzhiyun				<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
1124*4882a593Smuzhiyun				<GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
1125*4882a593Smuzhiyun				<GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
1126*4882a593Smuzhiyun				<GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
1127*4882a593Smuzhiyun				<GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
1128*4882a593Smuzhiyun				<GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
1129*4882a593Smuzhiyun				<GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
1130*4882a593Smuzhiyun				<GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
1131*4882a593Smuzhiyun				<GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
1132*4882a593Smuzhiyun				<GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
1133*4882a593Smuzhiyun				<GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
1134*4882a593Smuzhiyun				<GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
1135*4882a593Smuzhiyun				<GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1136*4882a593Smuzhiyun				<GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
1137*4882a593Smuzhiyun				<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
1138*4882a593Smuzhiyun				<GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
1139*4882a593Smuzhiyun				<GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
1140*4882a593Smuzhiyun				<GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
1141*4882a593Smuzhiyun				<GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
1142*4882a593Smuzhiyun				<GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
1143*4882a593Smuzhiyun				<GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>;
1144*4882a593Smuzhiyun
1145*4882a593Smuzhiyun			status = "disabled";
1146*4882a593Smuzhiyun		};
1147*4882a593Smuzhiyun
1148*4882a593Smuzhiyun		apcs_glb: mailbox@17911000 {
1149*4882a593Smuzhiyun			compatible = "qcom,sdm660-apcs-hmss-global";
1150*4882a593Smuzhiyun			reg = <0x17911000 0x1000>;
1151*4882a593Smuzhiyun
1152*4882a593Smuzhiyun			#mbox-cells = <1>;
1153*4882a593Smuzhiyun		};
1154*4882a593Smuzhiyun
1155*4882a593Smuzhiyun		timer@17920000 {
1156*4882a593Smuzhiyun			#address-cells = <1>;
1157*4882a593Smuzhiyun			#size-cells = <1>;
1158*4882a593Smuzhiyun			ranges;
1159*4882a593Smuzhiyun			compatible = "arm,armv7-timer-mem";
1160*4882a593Smuzhiyun			reg = <0x17920000 0x1000>;
1161*4882a593Smuzhiyun			clock-frequency = <19200000>;
1162*4882a593Smuzhiyun
1163*4882a593Smuzhiyun			frame@17921000 {
1164*4882a593Smuzhiyun				frame-number = <0>;
1165*4882a593Smuzhiyun				interrupts = <0 8 0x4>,
1166*4882a593Smuzhiyun						<0 7 0x4>;
1167*4882a593Smuzhiyun				reg = <0x17921000 0x1000>,
1168*4882a593Smuzhiyun					<0x17922000 0x1000>;
1169*4882a593Smuzhiyun			};
1170*4882a593Smuzhiyun
1171*4882a593Smuzhiyun			frame@17923000 {
1172*4882a593Smuzhiyun				frame-number = <1>;
1173*4882a593Smuzhiyun				interrupts = <0 9 0x4>;
1174*4882a593Smuzhiyun				reg = <0x17923000 0x1000>;
1175*4882a593Smuzhiyun				status = "disabled";
1176*4882a593Smuzhiyun			};
1177*4882a593Smuzhiyun
1178*4882a593Smuzhiyun			frame@17924000 {
1179*4882a593Smuzhiyun				frame-number = <2>;
1180*4882a593Smuzhiyun				interrupts = <0 10 0x4>;
1181*4882a593Smuzhiyun				reg = <0x17924000 0x1000>;
1182*4882a593Smuzhiyun				status = "disabled";
1183*4882a593Smuzhiyun			};
1184*4882a593Smuzhiyun
1185*4882a593Smuzhiyun			frame@17925000 {
1186*4882a593Smuzhiyun				frame-number = <3>;
1187*4882a593Smuzhiyun				interrupts = <0 11 0x4>;
1188*4882a593Smuzhiyun				reg = <0x17925000 0x1000>;
1189*4882a593Smuzhiyun				status = "disabled";
1190*4882a593Smuzhiyun			};
1191*4882a593Smuzhiyun
1192*4882a593Smuzhiyun			frame@17926000 {
1193*4882a593Smuzhiyun				frame-number = <4>;
1194*4882a593Smuzhiyun				interrupts = <0 12 0x4>;
1195*4882a593Smuzhiyun				reg = <0x17926000 0x1000>;
1196*4882a593Smuzhiyun				status = "disabled";
1197*4882a593Smuzhiyun			};
1198*4882a593Smuzhiyun
1199*4882a593Smuzhiyun			frame@17927000 {
1200*4882a593Smuzhiyun				frame-number = <5>;
1201*4882a593Smuzhiyun				interrupts = <0 13 0x4>;
1202*4882a593Smuzhiyun				reg = <0x17927000 0x1000>;
1203*4882a593Smuzhiyun				status = "disabled";
1204*4882a593Smuzhiyun			};
1205*4882a593Smuzhiyun
1206*4882a593Smuzhiyun			frame@17928000 {
1207*4882a593Smuzhiyun				frame-number = <6>;
1208*4882a593Smuzhiyun				interrupts = <0 14 0x4>;
1209*4882a593Smuzhiyun				reg = <0x17928000 0x1000>;
1210*4882a593Smuzhiyun				status = "disabled";
1211*4882a593Smuzhiyun			};
1212*4882a593Smuzhiyun		};
1213*4882a593Smuzhiyun
1214*4882a593Smuzhiyun		intc: interrupt-controller@17a00000 {
1215*4882a593Smuzhiyun			compatible = "arm,gic-v3";
1216*4882a593Smuzhiyun			reg = <0x17a00000 0x10000>,	   /* GICD */
1217*4882a593Smuzhiyun				  <0x17b00000 0x100000>;	  /* GICR * 8 */
1218*4882a593Smuzhiyun			#interrupt-cells = <3>;
1219*4882a593Smuzhiyun			#address-cells = <1>;
1220*4882a593Smuzhiyun			#size-cells = <1>;
1221*4882a593Smuzhiyun			ranges;
1222*4882a593Smuzhiyun			interrupt-controller;
1223*4882a593Smuzhiyun			#redistributor-regions = <1>;
1224*4882a593Smuzhiyun			redistributor-stride = <0x0 0x20000>;
1225*4882a593Smuzhiyun			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
1226*4882a593Smuzhiyun		};
1227*4882a593Smuzhiyun	};
1228*4882a593Smuzhiyun
1229*4882a593Smuzhiyun	tcsr_mutex: hwlock {
1230*4882a593Smuzhiyun		compatible = "qcom,tcsr-mutex";
1231*4882a593Smuzhiyun		syscon = <&tcsr_mutex_regs 0 0x1000>;
1232*4882a593Smuzhiyun		#hwlock-cells = <1>;
1233*4882a593Smuzhiyun	};
1234*4882a593Smuzhiyun
1235*4882a593Smuzhiyun	timer {
1236*4882a593Smuzhiyun		compatible = "arm,armv8-timer";
1237*4882a593Smuzhiyun		interrupts = <GIC_PPI 1 0xf08>,
1238*4882a593Smuzhiyun				 <GIC_PPI 2 0xf08>,
1239*4882a593Smuzhiyun				 <GIC_PPI 3 0xf08>,
1240*4882a593Smuzhiyun				 <GIC_PPI 0 0xf08>;
1241*4882a593Smuzhiyun	};
1242*4882a593Smuzhiyun};
1243*4882a593Smuzhiyun
1244