xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sc8180x.dtsi (revision 8575f197b077001591ef3ff709cdee48785daf0d)
1*8575f197SBjorn Andersson// SPDX-License-Identifier: BSD-3-Clause
2*8575f197SBjorn Andersson/*
3*8575f197SBjorn Andersson * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
4*8575f197SBjorn Andersson * Copyright (c) 2020-2023, Linaro Limited
5*8575f197SBjorn Andersson */
6*8575f197SBjorn Andersson
7*8575f197SBjorn Andersson#include <dt-bindings/clock/qcom,gcc-sc8180x.h>
8*8575f197SBjorn Andersson#include <dt-bindings/clock/qcom,rpmh.h>
9*8575f197SBjorn Andersson#include <dt-bindings/interrupt-controller/arm-gic.h>
10*8575f197SBjorn Andersson#include <dt-bindings/power/qcom-rpmpd.h>
11*8575f197SBjorn Andersson#include <dt-bindings/soc/qcom,rpmh-rsc.h>
12*8575f197SBjorn Andersson
13*8575f197SBjorn Andersson/ {
14*8575f197SBjorn Andersson	interrupt-parent = <&intc>;
15*8575f197SBjorn Andersson
16*8575f197SBjorn Andersson	#address-cells = <2>;
17*8575f197SBjorn Andersson	#size-cells = <2>;
18*8575f197SBjorn Andersson
19*8575f197SBjorn Andersson	clocks {
20*8575f197SBjorn Andersson		xo_board_clk: xo-board {
21*8575f197SBjorn Andersson			compatible = "fixed-clock";
22*8575f197SBjorn Andersson			#clock-cells = <0>;
23*8575f197SBjorn Andersson			clock-frequency = <38400000>;
24*8575f197SBjorn Andersson		};
25*8575f197SBjorn Andersson
26*8575f197SBjorn Andersson		sleep_clk: sleep-clk {
27*8575f197SBjorn Andersson			compatible = "fixed-clock";
28*8575f197SBjorn Andersson			#clock-cells = <0>;
29*8575f197SBjorn Andersson			clock-frequency = <32764>;
30*8575f197SBjorn Andersson			clock-output-names = "sleep_clk";
31*8575f197SBjorn Andersson		};
32*8575f197SBjorn Andersson	};
33*8575f197SBjorn Andersson
34*8575f197SBjorn Andersson	cpus {
35*8575f197SBjorn Andersson		#address-cells = <2>;
36*8575f197SBjorn Andersson		#size-cells = <0>;
37*8575f197SBjorn Andersson
38*8575f197SBjorn Andersson		CPU0: cpu@0 {
39*8575f197SBjorn Andersson			device_type = "cpu";
40*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
41*8575f197SBjorn Andersson			reg = <0x0 0x0>;
42*8575f197SBjorn Andersson			enable-method = "psci";
43*8575f197SBjorn Andersson			capacity-dmips-mhz = <602>;
44*8575f197SBjorn Andersson			next-level-cache = <&L2_0>;
45*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 0>;
46*8575f197SBjorn Andersson			operating-points-v2 = <&cpu0_opp_table>;
47*8575f197SBjorn Andersson			power-domains = <&CPU_PD0>;
48*8575f197SBjorn Andersson			power-domain-names = "psci";
49*8575f197SBjorn Andersson			#cooling-cells = <2>;
50*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 0>;
51*8575f197SBjorn Andersson
52*8575f197SBjorn Andersson			L2_0: l2-cache {
53*8575f197SBjorn Andersson				compatible = "cache";
54*8575f197SBjorn Andersson				cache-level = <2>;
55*8575f197SBjorn Andersson				cache-unified;
56*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
57*8575f197SBjorn Andersson				L3_0: l3-cache {
58*8575f197SBjorn Andersson					compatible = "cache";
59*8575f197SBjorn Andersson					cache-level = <3>;
60*8575f197SBjorn Andersson				};
61*8575f197SBjorn Andersson			};
62*8575f197SBjorn Andersson		};
63*8575f197SBjorn Andersson
64*8575f197SBjorn Andersson		CPU1: cpu@100 {
65*8575f197SBjorn Andersson			device_type = "cpu";
66*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
67*8575f197SBjorn Andersson			reg = <0x0 0x100>;
68*8575f197SBjorn Andersson			enable-method = "psci";
69*8575f197SBjorn Andersson			capacity-dmips-mhz = <602>;
70*8575f197SBjorn Andersson			next-level-cache = <&L2_100>;
71*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 0>;
72*8575f197SBjorn Andersson			operating-points-v2 = <&cpu0_opp_table>;
73*8575f197SBjorn Andersson			power-domains = <&CPU_PD1>;
74*8575f197SBjorn Andersson			power-domain-names = "psci";
75*8575f197SBjorn Andersson			#cooling-cells = <2>;
76*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 0>;
77*8575f197SBjorn Andersson
78*8575f197SBjorn Andersson			L2_100: l2-cache {
79*8575f197SBjorn Andersson				compatible = "cache";
80*8575f197SBjorn Andersson				cache-level = <2>;
81*8575f197SBjorn Andersson				cache-unified;
82*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
83*8575f197SBjorn Andersson			};
84*8575f197SBjorn Andersson
85*8575f197SBjorn Andersson		};
86*8575f197SBjorn Andersson
87*8575f197SBjorn Andersson		CPU2: cpu@200 {
88*8575f197SBjorn Andersson			device_type = "cpu";
89*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
90*8575f197SBjorn Andersson			reg = <0x0 0x200>;
91*8575f197SBjorn Andersson			enable-method = "psci";
92*8575f197SBjorn Andersson			capacity-dmips-mhz = <602>;
93*8575f197SBjorn Andersson			next-level-cache = <&L2_200>;
94*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 0>;
95*8575f197SBjorn Andersson			operating-points-v2 = <&cpu0_opp_table>;
96*8575f197SBjorn Andersson			power-domains = <&CPU_PD2>;
97*8575f197SBjorn Andersson			power-domain-names = "psci";
98*8575f197SBjorn Andersson			#cooling-cells = <2>;
99*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 0>;
100*8575f197SBjorn Andersson
101*8575f197SBjorn Andersson			L2_200: l2-cache {
102*8575f197SBjorn Andersson				compatible = "cache";
103*8575f197SBjorn Andersson				cache-level = <2>;
104*8575f197SBjorn Andersson				cache-unified;
105*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
106*8575f197SBjorn Andersson			};
107*8575f197SBjorn Andersson		};
108*8575f197SBjorn Andersson
109*8575f197SBjorn Andersson		CPU3: cpu@300 {
110*8575f197SBjorn Andersson			device_type = "cpu";
111*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
112*8575f197SBjorn Andersson			reg = <0x0 0x300>;
113*8575f197SBjorn Andersson			enable-method = "psci";
114*8575f197SBjorn Andersson			capacity-dmips-mhz = <602>;
115*8575f197SBjorn Andersson			next-level-cache = <&L2_300>;
116*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 0>;
117*8575f197SBjorn Andersson			operating-points-v2 = <&cpu0_opp_table>;
118*8575f197SBjorn Andersson			power-domains = <&CPU_PD3>;
119*8575f197SBjorn Andersson			power-domain-names = "psci";
120*8575f197SBjorn Andersson			#cooling-cells = <2>;
121*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 0>;
122*8575f197SBjorn Andersson
123*8575f197SBjorn Andersson			L2_300: l2-cache {
124*8575f197SBjorn Andersson				compatible = "cache";
125*8575f197SBjorn Andersson				cache-unified;
126*8575f197SBjorn Andersson				cache-level = <2>;
127*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
128*8575f197SBjorn Andersson			};
129*8575f197SBjorn Andersson		};
130*8575f197SBjorn Andersson
131*8575f197SBjorn Andersson		CPU4: cpu@400 {
132*8575f197SBjorn Andersson			device_type = "cpu";
133*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
134*8575f197SBjorn Andersson			reg = <0x0 0x400>;
135*8575f197SBjorn Andersson			enable-method = "psci";
136*8575f197SBjorn Andersson			capacity-dmips-mhz = <1024>;
137*8575f197SBjorn Andersson			next-level-cache = <&L2_400>;
138*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 1>;
139*8575f197SBjorn Andersson			operating-points-v2 = <&cpu4_opp_table>;
140*8575f197SBjorn Andersson			power-domains = <&CPU_PD4>;
141*8575f197SBjorn Andersson			power-domain-names = "psci";
142*8575f197SBjorn Andersson			#cooling-cells = <2>;
143*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 1>;
144*8575f197SBjorn Andersson
145*8575f197SBjorn Andersson			L2_400: l2-cache {
146*8575f197SBjorn Andersson				compatible = "cache";
147*8575f197SBjorn Andersson				cache-unified;
148*8575f197SBjorn Andersson				cache-level = <2>;
149*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
150*8575f197SBjorn Andersson			};
151*8575f197SBjorn Andersson		};
152*8575f197SBjorn Andersson
153*8575f197SBjorn Andersson		CPU5: cpu@500 {
154*8575f197SBjorn Andersson			device_type = "cpu";
155*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
156*8575f197SBjorn Andersson			reg = <0x0 0x500>;
157*8575f197SBjorn Andersson			enable-method = "psci";
158*8575f197SBjorn Andersson			capacity-dmips-mhz = <1024>;
159*8575f197SBjorn Andersson			next-level-cache = <&L2_500>;
160*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 1>;
161*8575f197SBjorn Andersson			operating-points-v2 = <&cpu4_opp_table>;
162*8575f197SBjorn Andersson			power-domains = <&CPU_PD5>;
163*8575f197SBjorn Andersson			power-domain-names = "psci";
164*8575f197SBjorn Andersson			#cooling-cells = <2>;
165*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 1>;
166*8575f197SBjorn Andersson
167*8575f197SBjorn Andersson			L2_500: l2-cache {
168*8575f197SBjorn Andersson				compatible = "cache";
169*8575f197SBjorn Andersson				cache-unified;
170*8575f197SBjorn Andersson				cache-level = <2>;
171*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
172*8575f197SBjorn Andersson			};
173*8575f197SBjorn Andersson		};
174*8575f197SBjorn Andersson
175*8575f197SBjorn Andersson		CPU6: cpu@600 {
176*8575f197SBjorn Andersson			device_type = "cpu";
177*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
178*8575f197SBjorn Andersson			reg = <0x0 0x600>;
179*8575f197SBjorn Andersson			enable-method = "psci";
180*8575f197SBjorn Andersson			capacity-dmips-mhz = <1024>;
181*8575f197SBjorn Andersson			next-level-cache = <&L2_600>;
182*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 1>;
183*8575f197SBjorn Andersson			operating-points-v2 = <&cpu4_opp_table>;
184*8575f197SBjorn Andersson			power-domains = <&CPU_PD6>;
185*8575f197SBjorn Andersson			power-domain-names = "psci";
186*8575f197SBjorn Andersson			#cooling-cells = <2>;
187*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 1>;
188*8575f197SBjorn Andersson
189*8575f197SBjorn Andersson			L2_600: l2-cache {
190*8575f197SBjorn Andersson				compatible = "cache";
191*8575f197SBjorn Andersson				cache-unified;
192*8575f197SBjorn Andersson				cache-level = <2>;
193*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
194*8575f197SBjorn Andersson			};
195*8575f197SBjorn Andersson		};
196*8575f197SBjorn Andersson
197*8575f197SBjorn Andersson		CPU7: cpu@700 {
198*8575f197SBjorn Andersson			device_type = "cpu";
199*8575f197SBjorn Andersson			compatible = "qcom,kryo485";
200*8575f197SBjorn Andersson			reg = <0x0 0x700>;
201*8575f197SBjorn Andersson			enable-method = "psci";
202*8575f197SBjorn Andersson			capacity-dmips-mhz = <1024>;
203*8575f197SBjorn Andersson			next-level-cache = <&L2_700>;
204*8575f197SBjorn Andersson			qcom,freq-domain = <&cpufreq_hw 1>;
205*8575f197SBjorn Andersson			operating-points-v2 = <&cpu4_opp_table>;
206*8575f197SBjorn Andersson			power-domains = <&CPU_PD7>;
207*8575f197SBjorn Andersson			power-domain-names = "psci";
208*8575f197SBjorn Andersson			#cooling-cells = <2>;
209*8575f197SBjorn Andersson			clocks = <&cpufreq_hw 1>;
210*8575f197SBjorn Andersson
211*8575f197SBjorn Andersson			L2_700: l2-cache {
212*8575f197SBjorn Andersson				compatible = "cache";
213*8575f197SBjorn Andersson				cache-unified;
214*8575f197SBjorn Andersson				cache-level = <2>;
215*8575f197SBjorn Andersson				next-level-cache = <&L3_0>;
216*8575f197SBjorn Andersson			};
217*8575f197SBjorn Andersson		};
218*8575f197SBjorn Andersson
219*8575f197SBjorn Andersson		cpu-map {
220*8575f197SBjorn Andersson			cluster0 {
221*8575f197SBjorn Andersson				core0 {
222*8575f197SBjorn Andersson					cpu = <&CPU0>;
223*8575f197SBjorn Andersson				};
224*8575f197SBjorn Andersson
225*8575f197SBjorn Andersson				core1 {
226*8575f197SBjorn Andersson					cpu = <&CPU1>;
227*8575f197SBjorn Andersson				};
228*8575f197SBjorn Andersson
229*8575f197SBjorn Andersson				core2 {
230*8575f197SBjorn Andersson					cpu = <&CPU2>;
231*8575f197SBjorn Andersson				};
232*8575f197SBjorn Andersson
233*8575f197SBjorn Andersson				core3 {
234*8575f197SBjorn Andersson					cpu = <&CPU3>;
235*8575f197SBjorn Andersson				};
236*8575f197SBjorn Andersson
237*8575f197SBjorn Andersson				core4 {
238*8575f197SBjorn Andersson					cpu = <&CPU4>;
239*8575f197SBjorn Andersson				};
240*8575f197SBjorn Andersson
241*8575f197SBjorn Andersson				core5 {
242*8575f197SBjorn Andersson					cpu = <&CPU5>;
243*8575f197SBjorn Andersson				};
244*8575f197SBjorn Andersson
245*8575f197SBjorn Andersson				core6 {
246*8575f197SBjorn Andersson					cpu = <&CPU6>;
247*8575f197SBjorn Andersson				};
248*8575f197SBjorn Andersson
249*8575f197SBjorn Andersson				core7 {
250*8575f197SBjorn Andersson					cpu = <&CPU7>;
251*8575f197SBjorn Andersson				};
252*8575f197SBjorn Andersson			};
253*8575f197SBjorn Andersson		};
254*8575f197SBjorn Andersson
255*8575f197SBjorn Andersson		idle-states {
256*8575f197SBjorn Andersson			entry-method = "psci";
257*8575f197SBjorn Andersson
258*8575f197SBjorn Andersson			LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
259*8575f197SBjorn Andersson				compatible = "arm,idle-state";
260*8575f197SBjorn Andersson				arm,psci-suspend-param = <0x40000004>;
261*8575f197SBjorn Andersson				entry-latency-us = <355>;
262*8575f197SBjorn Andersson				exit-latency-us = <909>;
263*8575f197SBjorn Andersson				min-residency-us = <3934>;
264*8575f197SBjorn Andersson				local-timer-stop;
265*8575f197SBjorn Andersson			};
266*8575f197SBjorn Andersson
267*8575f197SBjorn Andersson			BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
268*8575f197SBjorn Andersson				compatible = "arm,idle-state";
269*8575f197SBjorn Andersson				arm,psci-suspend-param = <0x40000004>;
270*8575f197SBjorn Andersson				entry-latency-us = <241>;
271*8575f197SBjorn Andersson				exit-latency-us = <1461>;
272*8575f197SBjorn Andersson				min-residency-us = <4488>;
273*8575f197SBjorn Andersson				local-timer-stop;
274*8575f197SBjorn Andersson			};
275*8575f197SBjorn Andersson		};
276*8575f197SBjorn Andersson
277*8575f197SBjorn Andersson		domain-idle-states {
278*8575f197SBjorn Andersson			CLUSTER_SLEEP_0: cluster-sleep-0 {
279*8575f197SBjorn Andersson				compatible = "domain-idle-state";
280*8575f197SBjorn Andersson				arm,psci-suspend-param = <0x4100c244>;
281*8575f197SBjorn Andersson				entry-latency-us = <3263>;
282*8575f197SBjorn Andersson				exit-latency-us = <6562>;
283*8575f197SBjorn Andersson				min-residency-us = <9987>;
284*8575f197SBjorn Andersson			};
285*8575f197SBjorn Andersson		};
286*8575f197SBjorn Andersson	};
287*8575f197SBjorn Andersson
288*8575f197SBjorn Andersson	cpu0_opp_table: opp-table-cpu0 {
289*8575f197SBjorn Andersson		compatible = "operating-points-v2";
290*8575f197SBjorn Andersson		opp-shared;
291*8575f197SBjorn Andersson
292*8575f197SBjorn Andersson		opp-300000000 {
293*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <300000000>;
294*8575f197SBjorn Andersson			opp-peak-kBps = <800000 9600000>;
295*8575f197SBjorn Andersson		};
296*8575f197SBjorn Andersson
297*8575f197SBjorn Andersson		opp-422400000 {
298*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <422400000>;
299*8575f197SBjorn Andersson			opp-peak-kBps = <800000 9600000>;
300*8575f197SBjorn Andersson		};
301*8575f197SBjorn Andersson
302*8575f197SBjorn Andersson		opp-537600000 {
303*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <537600000>;
304*8575f197SBjorn Andersson			opp-peak-kBps = <800000 12902400>;
305*8575f197SBjorn Andersson		};
306*8575f197SBjorn Andersson
307*8575f197SBjorn Andersson		opp-652800000 {
308*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <652800000>;
309*8575f197SBjorn Andersson			opp-peak-kBps = <800000 12902400>;
310*8575f197SBjorn Andersson		};
311*8575f197SBjorn Andersson
312*8575f197SBjorn Andersson		opp-768000000 {
313*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <768000000>;
314*8575f197SBjorn Andersson			opp-peak-kBps = <800000 15974400>;
315*8575f197SBjorn Andersson		};
316*8575f197SBjorn Andersson
317*8575f197SBjorn Andersson		opp-883200000 {
318*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <883200000>;
319*8575f197SBjorn Andersson			opp-peak-kBps = <1804000 19660800>;
320*8575f197SBjorn Andersson		};
321*8575f197SBjorn Andersson
322*8575f197SBjorn Andersson		opp-998400000 {
323*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <998400000>;
324*8575f197SBjorn Andersson			opp-peak-kBps = <1804000 19660800>;
325*8575f197SBjorn Andersson		};
326*8575f197SBjorn Andersson
327*8575f197SBjorn Andersson		opp-1113600000 {
328*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1113600000>;
329*8575f197SBjorn Andersson			opp-peak-kBps = <1804000 22732800>;
330*8575f197SBjorn Andersson		};
331*8575f197SBjorn Andersson
332*8575f197SBjorn Andersson		opp-1228800000 {
333*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1228800000>;
334*8575f197SBjorn Andersson			opp-peak-kBps = <1804000 22732800>;
335*8575f197SBjorn Andersson		};
336*8575f197SBjorn Andersson
337*8575f197SBjorn Andersson		opp-1363200000 {
338*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1363200000>;
339*8575f197SBjorn Andersson			opp-peak-kBps = <2188000 25804800>;
340*8575f197SBjorn Andersson		};
341*8575f197SBjorn Andersson
342*8575f197SBjorn Andersson		opp-1478400000 {
343*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1478400000>;
344*8575f197SBjorn Andersson			opp-peak-kBps = <2188000 31948800>;
345*8575f197SBjorn Andersson		};
346*8575f197SBjorn Andersson
347*8575f197SBjorn Andersson		opp-1574400000 {
348*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1574400000>;
349*8575f197SBjorn Andersson			opp-peak-kBps = <3072000 31948800>;
350*8575f197SBjorn Andersson		};
351*8575f197SBjorn Andersson
352*8575f197SBjorn Andersson		opp-1670400000 {
353*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1670400000>;
354*8575f197SBjorn Andersson			opp-peak-kBps = <3072000 31948800>;
355*8575f197SBjorn Andersson		};
356*8575f197SBjorn Andersson
357*8575f197SBjorn Andersson		opp-1766400000 {
358*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1766400000>;
359*8575f197SBjorn Andersson			opp-peak-kBps = <3072000 31948800>;
360*8575f197SBjorn Andersson		};
361*8575f197SBjorn Andersson	};
362*8575f197SBjorn Andersson
363*8575f197SBjorn Andersson	cpu4_opp_table: opp-table-cpu4 {
364*8575f197SBjorn Andersson		compatible = "operating-points-v2";
365*8575f197SBjorn Andersson		opp-shared;
366*8575f197SBjorn Andersson
367*8575f197SBjorn Andersson		opp-825600000 {
368*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <825600000>;
369*8575f197SBjorn Andersson			opp-peak-kBps = <1804000 15974400>;
370*8575f197SBjorn Andersson		};
371*8575f197SBjorn Andersson
372*8575f197SBjorn Andersson		opp-940800000 {
373*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <940800000>;
374*8575f197SBjorn Andersson			opp-peak-kBps = <2188000 19660800>;
375*8575f197SBjorn Andersson		};
376*8575f197SBjorn Andersson
377*8575f197SBjorn Andersson		opp-1056000000 {
378*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1056000000>;
379*8575f197SBjorn Andersson			opp-peak-kBps = <2188000 22732800>;
380*8575f197SBjorn Andersson		};
381*8575f197SBjorn Andersson
382*8575f197SBjorn Andersson		opp-1171200000 {
383*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1171200000>;
384*8575f197SBjorn Andersson			opp-peak-kBps = <3072000 25804800>;
385*8575f197SBjorn Andersson		};
386*8575f197SBjorn Andersson
387*8575f197SBjorn Andersson		opp-1286400000 {
388*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1286400000>;
389*8575f197SBjorn Andersson			opp-peak-kBps = <3072000 31948800>;
390*8575f197SBjorn Andersson		};
391*8575f197SBjorn Andersson
392*8575f197SBjorn Andersson		opp-1420800000 {
393*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1420800000>;
394*8575f197SBjorn Andersson			opp-peak-kBps = <4068000 31948800>;
395*8575f197SBjorn Andersson		};
396*8575f197SBjorn Andersson
397*8575f197SBjorn Andersson		opp-1536000000 {
398*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1536000000>;
399*8575f197SBjorn Andersson			opp-peak-kBps = <4068000 31948800>;
400*8575f197SBjorn Andersson		};
401*8575f197SBjorn Andersson
402*8575f197SBjorn Andersson		opp-1651200000 {
403*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1651200000>;
404*8575f197SBjorn Andersson			opp-peak-kBps = <4068000 40550400>;
405*8575f197SBjorn Andersson		};
406*8575f197SBjorn Andersson
407*8575f197SBjorn Andersson		opp-1766400000 {
408*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1766400000>;
409*8575f197SBjorn Andersson			opp-peak-kBps = <4068000 40550400>;
410*8575f197SBjorn Andersson		};
411*8575f197SBjorn Andersson
412*8575f197SBjorn Andersson		opp-1881600000 {
413*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1881600000>;
414*8575f197SBjorn Andersson			opp-peak-kBps = <4068000 43008000>;
415*8575f197SBjorn Andersson		};
416*8575f197SBjorn Andersson
417*8575f197SBjorn Andersson		opp-1996800000 {
418*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <1996800000>;
419*8575f197SBjorn Andersson			opp-peak-kBps = <6220000 43008000>;
420*8575f197SBjorn Andersson		};
421*8575f197SBjorn Andersson
422*8575f197SBjorn Andersson		opp-2131200000 {
423*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2131200000>;
424*8575f197SBjorn Andersson			opp-peak-kBps = <6220000 49152000>;
425*8575f197SBjorn Andersson		};
426*8575f197SBjorn Andersson
427*8575f197SBjorn Andersson		opp-2246400000 {
428*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2246400000>;
429*8575f197SBjorn Andersson			opp-peak-kBps = <7216000 49152000>;
430*8575f197SBjorn Andersson		};
431*8575f197SBjorn Andersson
432*8575f197SBjorn Andersson		opp-2361600000 {
433*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2361600000>;
434*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 49152000>;
435*8575f197SBjorn Andersson		};
436*8575f197SBjorn Andersson
437*8575f197SBjorn Andersson		opp-2457600000 {
438*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2457600000>;
439*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 51609600>;
440*8575f197SBjorn Andersson		};
441*8575f197SBjorn Andersson
442*8575f197SBjorn Andersson		opp-2553600000 {
443*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2553600000>;
444*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 51609600>;
445*8575f197SBjorn Andersson		};
446*8575f197SBjorn Andersson
447*8575f197SBjorn Andersson		opp-2649600000 {
448*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2649600000>;
449*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 51609600>;
450*8575f197SBjorn Andersson		};
451*8575f197SBjorn Andersson
452*8575f197SBjorn Andersson		opp-2745600000 {
453*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2745600000>;
454*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 51609600>;
455*8575f197SBjorn Andersson		};
456*8575f197SBjorn Andersson
457*8575f197SBjorn Andersson		opp-2841600000 {
458*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2841600000>;
459*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 51609600>;
460*8575f197SBjorn Andersson		};
461*8575f197SBjorn Andersson
462*8575f197SBjorn Andersson		opp-2918400000 {
463*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2918400000>;
464*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 51609600>;
465*8575f197SBjorn Andersson		};
466*8575f197SBjorn Andersson
467*8575f197SBjorn Andersson		opp-2995200000 {
468*8575f197SBjorn Andersson			opp-hz = /bits/ 64 <2995200000>;
469*8575f197SBjorn Andersson			opp-peak-kBps = <8368000 51609600>;
470*8575f197SBjorn Andersson		};
471*8575f197SBjorn Andersson	};
472*8575f197SBjorn Andersson
473*8575f197SBjorn Andersson	firmware {
474*8575f197SBjorn Andersson		scm: scm {
475*8575f197SBjorn Andersson			compatible = "qcom,scm-sc8180x", "qcom,scm";
476*8575f197SBjorn Andersson		};
477*8575f197SBjorn Andersson	};
478*8575f197SBjorn Andersson
479*8575f197SBjorn Andersson	memory@80000000 {
480*8575f197SBjorn Andersson		device_type = "memory";
481*8575f197SBjorn Andersson		/* We expect the bootloader to fill in the size */
482*8575f197SBjorn Andersson		reg = <0x0 0x80000000 0x0 0x0>;
483*8575f197SBjorn Andersson	};
484*8575f197SBjorn Andersson
485*8575f197SBjorn Andersson	pmu {
486*8575f197SBjorn Andersson		compatible = "arm,armv8-pmuv3";
487*8575f197SBjorn Andersson		interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
488*8575f197SBjorn Andersson	};
489*8575f197SBjorn Andersson
490*8575f197SBjorn Andersson	psci {
491*8575f197SBjorn Andersson		compatible = "arm,psci-1.0";
492*8575f197SBjorn Andersson		method = "smc";
493*8575f197SBjorn Andersson
494*8575f197SBjorn Andersson		CPU_PD0: power-domain-cpu0 {
495*8575f197SBjorn Andersson			#power-domain-cells = <0>;
496*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
497*8575f197SBjorn Andersson			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
498*8575f197SBjorn Andersson		};
499*8575f197SBjorn Andersson
500*8575f197SBjorn Andersson		CPU_PD1: power-domain-cpu1 {
501*8575f197SBjorn Andersson			#power-domain-cells = <0>;
502*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
503*8575f197SBjorn Andersson			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
504*8575f197SBjorn Andersson		};
505*8575f197SBjorn Andersson
506*8575f197SBjorn Andersson		CPU_PD2: power-domain-cpu2 {
507*8575f197SBjorn Andersson			#power-domain-cells = <0>;
508*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
509*8575f197SBjorn Andersson			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
510*8575f197SBjorn Andersson		};
511*8575f197SBjorn Andersson
512*8575f197SBjorn Andersson		CPU_PD3: power-domain-cpu3 {
513*8575f197SBjorn Andersson			#power-domain-cells = <0>;
514*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
515*8575f197SBjorn Andersson			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
516*8575f197SBjorn Andersson		};
517*8575f197SBjorn Andersson
518*8575f197SBjorn Andersson		CPU_PD4: power-domain-cpu4 {
519*8575f197SBjorn Andersson			#power-domain-cells = <0>;
520*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
521*8575f197SBjorn Andersson			domain-idle-states = <&BIG_CPU_SLEEP_0>;
522*8575f197SBjorn Andersson		};
523*8575f197SBjorn Andersson
524*8575f197SBjorn Andersson		CPU_PD5: power-domain-cpu5 {
525*8575f197SBjorn Andersson			#power-domain-cells = <0>;
526*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
527*8575f197SBjorn Andersson			domain-idle-states = <&BIG_CPU_SLEEP_0>;
528*8575f197SBjorn Andersson		};
529*8575f197SBjorn Andersson
530*8575f197SBjorn Andersson		CPU_PD6: power-domain-cpu6 {
531*8575f197SBjorn Andersson			#power-domain-cells = <0>;
532*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
533*8575f197SBjorn Andersson			domain-idle-states = <&BIG_CPU_SLEEP_0>;
534*8575f197SBjorn Andersson		};
535*8575f197SBjorn Andersson
536*8575f197SBjorn Andersson		CPU_PD7: power-domain-cpu7 {
537*8575f197SBjorn Andersson			#power-domain-cells = <0>;
538*8575f197SBjorn Andersson			power-domains = <&CLUSTER_PD>;
539*8575f197SBjorn Andersson			domain-idle-states = <&BIG_CPU_SLEEP_0>;
540*8575f197SBjorn Andersson		};
541*8575f197SBjorn Andersson
542*8575f197SBjorn Andersson		CLUSTER_PD: power-domain-cpu-cluster0 {
543*8575f197SBjorn Andersson			#power-domain-cells = <0>;
544*8575f197SBjorn Andersson			domain-idle-states = <&CLUSTER_SLEEP_0>;
545*8575f197SBjorn Andersson		};
546*8575f197SBjorn Andersson	};
547*8575f197SBjorn Andersson
548*8575f197SBjorn Andersson	reserved-memory {
549*8575f197SBjorn Andersson		#address-cells = <2>;
550*8575f197SBjorn Andersson		#size-cells = <2>;
551*8575f197SBjorn Andersson		ranges;
552*8575f197SBjorn Andersson
553*8575f197SBjorn Andersson		hyp_mem: hyp@85700000 {
554*8575f197SBjorn Andersson			reg = <0x0 0x85700000 0x0 0x600000>;
555*8575f197SBjorn Andersson			no-map;
556*8575f197SBjorn Andersson		};
557*8575f197SBjorn Andersson
558*8575f197SBjorn Andersson		xbl_mem: xbl@85d00000 {
559*8575f197SBjorn Andersson			reg = <0x0 0x85d00000 0x0 0x140000>;
560*8575f197SBjorn Andersson			no-map;
561*8575f197SBjorn Andersson		};
562*8575f197SBjorn Andersson
563*8575f197SBjorn Andersson		aop_mem: aop@85f00000 {
564*8575f197SBjorn Andersson			reg = <0x0 0x85f00000 0x0 0x20000>;
565*8575f197SBjorn Andersson			no-map;
566*8575f197SBjorn Andersson		};
567*8575f197SBjorn Andersson
568*8575f197SBjorn Andersson		aop_cmd_db: cmd-db@85f20000 {
569*8575f197SBjorn Andersson			compatible = "qcom,cmd-db";
570*8575f197SBjorn Andersson			reg = <0x0 0x85f20000 0x0 0x20000>;
571*8575f197SBjorn Andersson			no-map;
572*8575f197SBjorn Andersson		};
573*8575f197SBjorn Andersson
574*8575f197SBjorn Andersson		reserved@85f40000 {
575*8575f197SBjorn Andersson			reg = <0x0 0x85f40000 0x0 0x10000>;
576*8575f197SBjorn Andersson			no-map;
577*8575f197SBjorn Andersson		};
578*8575f197SBjorn Andersson
579*8575f197SBjorn Andersson		smem_mem: smem@86000000 {
580*8575f197SBjorn Andersson			compatible = "qcom,smem";
581*8575f197SBjorn Andersson			reg = <0x0 0x86000000 0x0 0x200000>;
582*8575f197SBjorn Andersson			no-map;
583*8575f197SBjorn Andersson			hwlocks = <&tcsr_mutex 3>;
584*8575f197SBjorn Andersson		};
585*8575f197SBjorn Andersson
586*8575f197SBjorn Andersson		reserved@86200000 {
587*8575f197SBjorn Andersson			reg = <0x0 0x86200000 0x0 0x3900000>;
588*8575f197SBjorn Andersson			no-map;
589*8575f197SBjorn Andersson		};
590*8575f197SBjorn Andersson
591*8575f197SBjorn Andersson		reserved@89b00000 {
592*8575f197SBjorn Andersson			reg = <0x0 0x89b00000 0x0 0x1c00000>;
593*8575f197SBjorn Andersson			no-map;
594*8575f197SBjorn Andersson		};
595*8575f197SBjorn Andersson
596*8575f197SBjorn Andersson		reserved@9d400000 {
597*8575f197SBjorn Andersson			reg = <0x0 0x9d400000 0x0 0x1000000>;
598*8575f197SBjorn Andersson			no-map;
599*8575f197SBjorn Andersson		};
600*8575f197SBjorn Andersson
601*8575f197SBjorn Andersson		reserved@9e400000 {
602*8575f197SBjorn Andersson			reg = <0x0 0x9e400000 0x0 0x1400000>;
603*8575f197SBjorn Andersson			no-map;
604*8575f197SBjorn Andersson		};
605*8575f197SBjorn Andersson
606*8575f197SBjorn Andersson		reserved@9f800000 {
607*8575f197SBjorn Andersson			reg = <0x0 0x9f800000 0x0 0x800000>;
608*8575f197SBjorn Andersson			no-map;
609*8575f197SBjorn Andersson		};
610*8575f197SBjorn Andersson	};
611*8575f197SBjorn Andersson
612*8575f197SBjorn Andersson	smp2p-cdsp {
613*8575f197SBjorn Andersson		compatible = "qcom,smp2p";
614*8575f197SBjorn Andersson		qcom,smem = <94>, <432>;
615*8575f197SBjorn Andersson
616*8575f197SBjorn Andersson		interrupts = <GIC_SPI 576 IRQ_TYPE_EDGE_RISING>;
617*8575f197SBjorn Andersson
618*8575f197SBjorn Andersson		mboxes = <&apss_shared 6>;
619*8575f197SBjorn Andersson
620*8575f197SBjorn Andersson		qcom,local-pid = <0>;
621*8575f197SBjorn Andersson		qcom,remote-pid = <5>;
622*8575f197SBjorn Andersson
623*8575f197SBjorn Andersson		cdsp_smp2p_out: master-kernel {
624*8575f197SBjorn Andersson			qcom,entry-name = "master-kernel";
625*8575f197SBjorn Andersson			#qcom,smem-state-cells = <1>;
626*8575f197SBjorn Andersson		};
627*8575f197SBjorn Andersson
628*8575f197SBjorn Andersson		cdsp_smp2p_in: slave-kernel {
629*8575f197SBjorn Andersson			qcom,entry-name = "slave-kernel";
630*8575f197SBjorn Andersson
631*8575f197SBjorn Andersson			interrupt-controller;
632*8575f197SBjorn Andersson			#interrupt-cells = <2>;
633*8575f197SBjorn Andersson		};
634*8575f197SBjorn Andersson	};
635*8575f197SBjorn Andersson
636*8575f197SBjorn Andersson	smp2p-lpass {
637*8575f197SBjorn Andersson		compatible = "qcom,smp2p";
638*8575f197SBjorn Andersson		qcom,smem = <443>, <429>;
639*8575f197SBjorn Andersson
640*8575f197SBjorn Andersson		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
641*8575f197SBjorn Andersson
642*8575f197SBjorn Andersson		mboxes = <&apss_shared 10>;
643*8575f197SBjorn Andersson
644*8575f197SBjorn Andersson		qcom,local-pid = <0>;
645*8575f197SBjorn Andersson		qcom,remote-pid = <2>;
646*8575f197SBjorn Andersson
647*8575f197SBjorn Andersson		adsp_smp2p_out: master-kernel {
648*8575f197SBjorn Andersson			qcom,entry-name = "master-kernel";
649*8575f197SBjorn Andersson			#qcom,smem-state-cells = <1>;
650*8575f197SBjorn Andersson		};
651*8575f197SBjorn Andersson
652*8575f197SBjorn Andersson		adsp_smp2p_in: slave-kernel {
653*8575f197SBjorn Andersson			qcom,entry-name = "slave-kernel";
654*8575f197SBjorn Andersson
655*8575f197SBjorn Andersson			interrupt-controller;
656*8575f197SBjorn Andersson			#interrupt-cells = <2>;
657*8575f197SBjorn Andersson		};
658*8575f197SBjorn Andersson	};
659*8575f197SBjorn Andersson
660*8575f197SBjorn Andersson	smp2p-mpss {
661*8575f197SBjorn Andersson		compatible = "qcom,smp2p";
662*8575f197SBjorn Andersson		qcom,smem = <435>, <428>;
663*8575f197SBjorn Andersson
664*8575f197SBjorn Andersson		interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
665*8575f197SBjorn Andersson
666*8575f197SBjorn Andersson		mboxes = <&apss_shared 14>;
667*8575f197SBjorn Andersson
668*8575f197SBjorn Andersson		qcom,local-pid = <0>;
669*8575f197SBjorn Andersson		qcom,remote-pid = <1>;
670*8575f197SBjorn Andersson
671*8575f197SBjorn Andersson		modem_smp2p_out: master-kernel {
672*8575f197SBjorn Andersson			qcom,entry-name = "master-kernel";
673*8575f197SBjorn Andersson			#qcom,smem-state-cells = <1>;
674*8575f197SBjorn Andersson		};
675*8575f197SBjorn Andersson
676*8575f197SBjorn Andersson		modem_smp2p_in: slave-kernel {
677*8575f197SBjorn Andersson			qcom,entry-name = "slave-kernel";
678*8575f197SBjorn Andersson
679*8575f197SBjorn Andersson			interrupt-controller;
680*8575f197SBjorn Andersson			#interrupt-cells = <2>;
681*8575f197SBjorn Andersson		};
682*8575f197SBjorn Andersson
683*8575f197SBjorn Andersson		modem_smp2p_ipa_out: ipa-ap-to-modem {
684*8575f197SBjorn Andersson			qcom,entry-name = "ipa";
685*8575f197SBjorn Andersson			#qcom,smem-state-cells = <1>;
686*8575f197SBjorn Andersson		};
687*8575f197SBjorn Andersson
688*8575f197SBjorn Andersson		modem_smp2p_ipa_in: ipa-modem-to-ap {
689*8575f197SBjorn Andersson			qcom,entry-name = "ipa";
690*8575f197SBjorn Andersson			interrupt-controller;
691*8575f197SBjorn Andersson			#interrupt-cells = <2>;
692*8575f197SBjorn Andersson		};
693*8575f197SBjorn Andersson
694*8575f197SBjorn Andersson		modem_smp2p_wlan_in: wlan-wpss-to-ap {
695*8575f197SBjorn Andersson			qcom,entry-name = "wlan";
696*8575f197SBjorn Andersson			interrupt-controller;
697*8575f197SBjorn Andersson			#interrupt-cells = <2>;
698*8575f197SBjorn Andersson		};
699*8575f197SBjorn Andersson	};
700*8575f197SBjorn Andersson
701*8575f197SBjorn Andersson	smp2p-slpi {
702*8575f197SBjorn Andersson		compatible = "qcom,smp2p";
703*8575f197SBjorn Andersson		qcom,smem = <481>, <430>;
704*8575f197SBjorn Andersson
705*8575f197SBjorn Andersson		interrupts = <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>;
706*8575f197SBjorn Andersson
707*8575f197SBjorn Andersson		mboxes = <&apss_shared 26>;
708*8575f197SBjorn Andersson
709*8575f197SBjorn Andersson		qcom,local-pid = <0>;
710*8575f197SBjorn Andersson		qcom,remote-pid = <3>;
711*8575f197SBjorn Andersson
712*8575f197SBjorn Andersson		slpi_smp2p_out: master-kernel {
713*8575f197SBjorn Andersson			qcom,entry-name = "master-kernel";
714*8575f197SBjorn Andersson			#qcom,smem-state-cells = <1>;
715*8575f197SBjorn Andersson		};
716*8575f197SBjorn Andersson
717*8575f197SBjorn Andersson		slpi_smp2p_in: slave-kernel {
718*8575f197SBjorn Andersson			qcom,entry-name = "slave-kernel";
719*8575f197SBjorn Andersson
720*8575f197SBjorn Andersson			interrupt-controller;
721*8575f197SBjorn Andersson			#interrupt-cells = <2>;
722*8575f197SBjorn Andersson		};
723*8575f197SBjorn Andersson	};
724*8575f197SBjorn Andersson
725*8575f197SBjorn Andersson	soc: soc@0 {
726*8575f197SBjorn Andersson		compatible = "simple-bus";
727*8575f197SBjorn Andersson		#address-cells = <2>;
728*8575f197SBjorn Andersson		#size-cells = <2>;
729*8575f197SBjorn Andersson		ranges = <0 0 0 0 0x10 0>;
730*8575f197SBjorn Andersson		dma-ranges = <0 0 0 0 0x10 0>;
731*8575f197SBjorn Andersson
732*8575f197SBjorn Andersson		gcc: clock-controller@100000 {
733*8575f197SBjorn Andersson			compatible = "qcom,gcc-sc8180x";
734*8575f197SBjorn Andersson			reg = <0x0 0x00100000 0x0 0x1f0000>;
735*8575f197SBjorn Andersson			#clock-cells = <1>;
736*8575f197SBjorn Andersson			#reset-cells = <1>;
737*8575f197SBjorn Andersson			#power-domain-cells = <1>;
738*8575f197SBjorn Andersson			clocks = <&rpmhcc RPMH_CXO_CLK>,
739*8575f197SBjorn Andersson				 <&rpmhcc RPMH_CXO_CLK_A>,
740*8575f197SBjorn Andersson				 <&sleep_clk>;
741*8575f197SBjorn Andersson			clock-names = "bi_tcxo",
742*8575f197SBjorn Andersson				      "bi_tcxo_ao",
743*8575f197SBjorn Andersson				      "sleep_clk";
744*8575f197SBjorn Andersson		};
745*8575f197SBjorn Andersson
746*8575f197SBjorn Andersson		ufs_mem_hc: ufshc@1d84000 {
747*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-ufshc", "qcom,ufshc",
748*8575f197SBjorn Andersson				     "jedec,ufs-2.0";
749*8575f197SBjorn Andersson			reg = <0 0x01d84000 0 0x2500>;
750*8575f197SBjorn Andersson			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
751*8575f197SBjorn Andersson			phys = <&ufs_mem_phy_lanes>;
752*8575f197SBjorn Andersson			phy-names = "ufsphy";
753*8575f197SBjorn Andersson			lanes-per-direction = <2>;
754*8575f197SBjorn Andersson			#reset-cells = <1>;
755*8575f197SBjorn Andersson			resets = <&gcc GCC_UFS_PHY_BCR>;
756*8575f197SBjorn Andersson			reset-names = "rst";
757*8575f197SBjorn Andersson
758*8575f197SBjorn Andersson			iommus = <&apps_smmu 0x300 0>;
759*8575f197SBjorn Andersson
760*8575f197SBjorn Andersson			clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
761*8575f197SBjorn Andersson				 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
762*8575f197SBjorn Andersson				 <&gcc GCC_UFS_PHY_AHB_CLK>,
763*8575f197SBjorn Andersson				 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
764*8575f197SBjorn Andersson				 <&rpmhcc RPMH_CXO_CLK>,
765*8575f197SBjorn Andersson				 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
766*8575f197SBjorn Andersson				 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
767*8575f197SBjorn Andersson				 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
768*8575f197SBjorn Andersson			clock-names = "core_clk",
769*8575f197SBjorn Andersson				      "bus_aggr_clk",
770*8575f197SBjorn Andersson				      "iface_clk",
771*8575f197SBjorn Andersson				      "core_clk_unipro",
772*8575f197SBjorn Andersson				      "ref_clk",
773*8575f197SBjorn Andersson				      "tx_lane0_sync_clk",
774*8575f197SBjorn Andersson				      "rx_lane0_sync_clk",
775*8575f197SBjorn Andersson				      "rx_lane1_sync_clk";
776*8575f197SBjorn Andersson			freq-table-hz = <37500000 300000000>,
777*8575f197SBjorn Andersson					<0 0>,
778*8575f197SBjorn Andersson					<0 0>,
779*8575f197SBjorn Andersson					<37500000 300000000>,
780*8575f197SBjorn Andersson					<0 0>,
781*8575f197SBjorn Andersson					<0 0>,
782*8575f197SBjorn Andersson					<0 0>,
783*8575f197SBjorn Andersson					<0 0>;
784*8575f197SBjorn Andersson
785*8575f197SBjorn Andersson			status = "disabled";
786*8575f197SBjorn Andersson		};
787*8575f197SBjorn Andersson
788*8575f197SBjorn Andersson		ufs_mem_phy: phy-wrapper@1d87000 {
789*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-qmp-ufs-phy";
790*8575f197SBjorn Andersson			reg = <0 0x01d87000 0 0x1c0>;
791*8575f197SBjorn Andersson			#address-cells = <2>;
792*8575f197SBjorn Andersson			#size-cells = <2>;
793*8575f197SBjorn Andersson			ranges;
794*8575f197SBjorn Andersson			clocks = <&rpmhcc RPMH_CXO_CLK>,
795*8575f197SBjorn Andersson				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
796*8575f197SBjorn Andersson			clock-names = "ref",
797*8575f197SBjorn Andersson				      "ref_aux";
798*8575f197SBjorn Andersson
799*8575f197SBjorn Andersson			resets = <&ufs_mem_hc 0>;
800*8575f197SBjorn Andersson			reset-names = "ufsphy";
801*8575f197SBjorn Andersson			status = "disabled";
802*8575f197SBjorn Andersson
803*8575f197SBjorn Andersson			ufs_mem_phy_lanes: phy@1d87400 {
804*8575f197SBjorn Andersson				reg = <0 0x01d87400 0 0x108>,
805*8575f197SBjorn Andersson				      <0 0x01d87600 0 0x1e0>,
806*8575f197SBjorn Andersson				      <0 0x01d87c00 0 0x1dc>,
807*8575f197SBjorn Andersson				      <0 0x01d87800 0 0x108>,
808*8575f197SBjorn Andersson				      <0 0x01d87a00 0 0x1e0>;
809*8575f197SBjorn Andersson				#phy-cells = <0>;
810*8575f197SBjorn Andersson			};
811*8575f197SBjorn Andersson		};
812*8575f197SBjorn Andersson
813*8575f197SBjorn Andersson		tcsr_mutex: hwlock@1f40000 {
814*8575f197SBjorn Andersson			compatible = "qcom,tcsr-mutex";
815*8575f197SBjorn Andersson			reg = <0x0 0x01f40000 0x0 0x40000>;
816*8575f197SBjorn Andersson			#hwlock-cells = <1>;
817*8575f197SBjorn Andersson		};
818*8575f197SBjorn Andersson
819*8575f197SBjorn Andersson		adreno_smmu: iommu@2ca0000 {
820*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-smmu-500", "arm,mmu-500";
821*8575f197SBjorn Andersson			reg = <0 0x02ca0000 0 0x10000>;
822*8575f197SBjorn Andersson			#iommu-cells = <2>;
823*8575f197SBjorn Andersson			#global-interrupts = <1>;
824*8575f197SBjorn Andersson			interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
825*8575f197SBjorn Andersson				     <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
826*8575f197SBjorn Andersson				     <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
827*8575f197SBjorn Andersson				     <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
828*8575f197SBjorn Andersson				     <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
829*8575f197SBjorn Andersson				     <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
830*8575f197SBjorn Andersson				     <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
831*8575f197SBjorn Andersson				     <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>,
832*8575f197SBjorn Andersson				     <GIC_SPI 688 IRQ_TYPE_LEVEL_HIGH>;
833*8575f197SBjorn Andersson			clocks = <&gpucc GPU_CC_AHB_CLK>,
834*8575f197SBjorn Andersson				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
835*8575f197SBjorn Andersson				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
836*8575f197SBjorn Andersson			clock-names = "ahb", "bus", "iface";
837*8575f197SBjorn Andersson
838*8575f197SBjorn Andersson			power-domains = <&gpucc GPU_CX_GDSC>;
839*8575f197SBjorn Andersson		};
840*8575f197SBjorn Andersson
841*8575f197SBjorn Andersson		tlmm: pinctrl@3100000 {
842*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-tlmm";
843*8575f197SBjorn Andersson			reg = <0 0x03100000 0 0x300000>,
844*8575f197SBjorn Andersson			      <0 0x03500000 0 0x700000>,
845*8575f197SBjorn Andersson			      <0 0x03d00000 0 0x300000>;
846*8575f197SBjorn Andersson			reg-names = "west", "east", "south";
847*8575f197SBjorn Andersson			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
848*8575f197SBjorn Andersson			gpio-controller;
849*8575f197SBjorn Andersson			#gpio-cells = <2>;
850*8575f197SBjorn Andersson			interrupt-controller;
851*8575f197SBjorn Andersson			#interrupt-cells = <2>;
852*8575f197SBjorn Andersson			gpio-ranges = <&tlmm 0 0 191>;
853*8575f197SBjorn Andersson			wakeup-parent = <&pdc>;
854*8575f197SBjorn Andersson		};
855*8575f197SBjorn Andersson
856*8575f197SBjorn Andersson		system-cache-controller@9200000 {
857*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-llcc";
858*8575f197SBjorn Andersson			reg = <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>;
859*8575f197SBjorn Andersson			reg-names = "llcc_base", "llcc_broadcast_base";
860*8575f197SBjorn Andersson			interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
861*8575f197SBjorn Andersson		};
862*8575f197SBjorn Andersson
863*8575f197SBjorn Andersson		pdc: interrupt-controller@b220000 {
864*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-pdc", "qcom,pdc";
865*8575f197SBjorn Andersson			reg = <0 0x0b220000 0 0x30000>;
866*8575f197SBjorn Andersson			qcom,pdc-ranges = <0 480 94>, <94 609 31>;
867*8575f197SBjorn Andersson			#interrupt-cells = <2>;
868*8575f197SBjorn Andersson			interrupt-parent = <&intc>;
869*8575f197SBjorn Andersson			interrupt-controller;
870*8575f197SBjorn Andersson		};
871*8575f197SBjorn Andersson
872*8575f197SBjorn Andersson		aoss_qmp: power-controller@c300000 {
873*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-aoss-qmp", "qcom,aoss-qmp";
874*8575f197SBjorn Andersson			reg = <0x0 0x0c300000 0x0 0x100000>;
875*8575f197SBjorn Andersson			interrupts = <GIC_SPI 389 IRQ_TYPE_EDGE_RISING>;
876*8575f197SBjorn Andersson			mboxes = <&apss_shared 0>;
877*8575f197SBjorn Andersson
878*8575f197SBjorn Andersson			#clock-cells = <0>;
879*8575f197SBjorn Andersson			#power-domain-cells = <1>;
880*8575f197SBjorn Andersson		};
881*8575f197SBjorn Andersson
882*8575f197SBjorn Andersson		spmi_bus: spmi@c440000 {
883*8575f197SBjorn Andersson			compatible = "qcom,spmi-pmic-arb";
884*8575f197SBjorn Andersson			reg = <0x0 0x0c440000 0x0 0x0001100>,
885*8575f197SBjorn Andersson			      <0x0 0x0c600000 0x0 0x2000000>,
886*8575f197SBjorn Andersson			      <0x0 0x0e600000 0x0 0x0100000>,
887*8575f197SBjorn Andersson			      <0x0 0x0e700000 0x0 0x00a0000>,
888*8575f197SBjorn Andersson			      <0x0 0x0c40a000 0x0 0x0026000>;
889*8575f197SBjorn Andersson			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
890*8575f197SBjorn Andersson			interrupt-names = "periph_irq";
891*8575f197SBjorn Andersson			interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
892*8575f197SBjorn Andersson			qcom,ee = <0>;
893*8575f197SBjorn Andersson			qcom,channel = <0>;
894*8575f197SBjorn Andersson			#address-cells = <2>;
895*8575f197SBjorn Andersson			#size-cells = <0>;
896*8575f197SBjorn Andersson			interrupt-controller;
897*8575f197SBjorn Andersson			#interrupt-cells = <4>;
898*8575f197SBjorn Andersson			cell-index = <0>;
899*8575f197SBjorn Andersson		};
900*8575f197SBjorn Andersson
901*8575f197SBjorn Andersson		apps_smmu: iommu@15000000 {
902*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-smmu-500", "arm,mmu-500";
903*8575f197SBjorn Andersson			reg = <0 0x15000000 0 0x100000>;
904*8575f197SBjorn Andersson			#iommu-cells = <2>;
905*8575f197SBjorn Andersson			#global-interrupts = <1>;
906*8575f197SBjorn Andersson			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
907*8575f197SBjorn Andersson				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
908*8575f197SBjorn Andersson				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
909*8575f197SBjorn Andersson				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
910*8575f197SBjorn Andersson				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
911*8575f197SBjorn Andersson				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
912*8575f197SBjorn Andersson				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
913*8575f197SBjorn Andersson				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
914*8575f197SBjorn Andersson				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
915*8575f197SBjorn Andersson				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
916*8575f197SBjorn Andersson				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
917*8575f197SBjorn Andersson				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
918*8575f197SBjorn Andersson				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
919*8575f197SBjorn Andersson				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
920*8575f197SBjorn Andersson				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
921*8575f197SBjorn Andersson				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
922*8575f197SBjorn Andersson				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
923*8575f197SBjorn Andersson				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
924*8575f197SBjorn Andersson				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
925*8575f197SBjorn Andersson				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
926*8575f197SBjorn Andersson				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
927*8575f197SBjorn Andersson				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
928*8575f197SBjorn Andersson				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
929*8575f197SBjorn Andersson				     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
930*8575f197SBjorn Andersson				     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
931*8575f197SBjorn Andersson				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
932*8575f197SBjorn Andersson				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
933*8575f197SBjorn Andersson				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
934*8575f197SBjorn Andersson				     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
935*8575f197SBjorn Andersson				     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
936*8575f197SBjorn Andersson				     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
937*8575f197SBjorn Andersson				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
938*8575f197SBjorn Andersson				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
939*8575f197SBjorn Andersson				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
940*8575f197SBjorn Andersson				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
941*8575f197SBjorn Andersson				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
942*8575f197SBjorn Andersson				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
943*8575f197SBjorn Andersson				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
944*8575f197SBjorn Andersson				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
945*8575f197SBjorn Andersson				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
946*8575f197SBjorn Andersson				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
947*8575f197SBjorn Andersson				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
948*8575f197SBjorn Andersson				     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
949*8575f197SBjorn Andersson				     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
950*8575f197SBjorn Andersson				     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
951*8575f197SBjorn Andersson				     <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
952*8575f197SBjorn Andersson				     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
953*8575f197SBjorn Andersson				     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
954*8575f197SBjorn Andersson				     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
955*8575f197SBjorn Andersson				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
956*8575f197SBjorn Andersson				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
957*8575f197SBjorn Andersson				     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
958*8575f197SBjorn Andersson				     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
959*8575f197SBjorn Andersson				     <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
960*8575f197SBjorn Andersson				     <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
961*8575f197SBjorn Andersson				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
962*8575f197SBjorn Andersson				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
963*8575f197SBjorn Andersson				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
964*8575f197SBjorn Andersson				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
965*8575f197SBjorn Andersson				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
966*8575f197SBjorn Andersson				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
967*8575f197SBjorn Andersson				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
968*8575f197SBjorn Andersson				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
969*8575f197SBjorn Andersson				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
970*8575f197SBjorn Andersson				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
971*8575f197SBjorn Andersson				     <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
972*8575f197SBjorn Andersson				     <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
973*8575f197SBjorn Andersson				     <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
974*8575f197SBjorn Andersson				     <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
975*8575f197SBjorn Andersson				     <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
976*8575f197SBjorn Andersson				     <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
977*8575f197SBjorn Andersson				     <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
978*8575f197SBjorn Andersson				     <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
979*8575f197SBjorn Andersson				     <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
980*8575f197SBjorn Andersson				     <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
981*8575f197SBjorn Andersson				     <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
982*8575f197SBjorn Andersson				     <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
983*8575f197SBjorn Andersson				     <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
984*8575f197SBjorn Andersson				     <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
985*8575f197SBjorn Andersson				     <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
986*8575f197SBjorn Andersson				     <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
987*8575f197SBjorn Andersson				     <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
988*8575f197SBjorn Andersson				     <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>,
989*8575f197SBjorn Andersson				     <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
990*8575f197SBjorn Andersson				     <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
991*8575f197SBjorn Andersson				     <GIC_SPI 706 IRQ_TYPE_LEVEL_HIGH>,
992*8575f197SBjorn Andersson				     <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
993*8575f197SBjorn Andersson				     <GIC_SPI 708 IRQ_TYPE_LEVEL_HIGH>,
994*8575f197SBjorn Andersson				     <GIC_SPI 709 IRQ_TYPE_LEVEL_HIGH>,
995*8575f197SBjorn Andersson				     <GIC_SPI 710 IRQ_TYPE_LEVEL_HIGH>,
996*8575f197SBjorn Andersson				     <GIC_SPI 711 IRQ_TYPE_LEVEL_HIGH>,
997*8575f197SBjorn Andersson				     <GIC_SPI 712 IRQ_TYPE_LEVEL_HIGH>,
998*8575f197SBjorn Andersson				     <GIC_SPI 713 IRQ_TYPE_LEVEL_HIGH>,
999*8575f197SBjorn Andersson				     <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>,
1000*8575f197SBjorn Andersson				     <GIC_SPI 715 IRQ_TYPE_LEVEL_HIGH>,
1001*8575f197SBjorn Andersson				     <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH>,
1002*8575f197SBjorn Andersson				     <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH>,
1003*8575f197SBjorn Andersson				     <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
1004*8575f197SBjorn Andersson				     <GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH>,
1005*8575f197SBjorn Andersson				     <GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>,
1006*8575f197SBjorn Andersson				     <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH>,
1007*8575f197SBjorn Andersson				     <GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>,
1008*8575f197SBjorn Andersson				     <GIC_SPI 771 IRQ_TYPE_LEVEL_HIGH>,
1009*8575f197SBjorn Andersson				     <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>,
1010*8575f197SBjorn Andersson				     <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
1011*8575f197SBjorn Andersson				     <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>,
1012*8575f197SBjorn Andersson				     <GIC_SPI 775 IRQ_TYPE_LEVEL_HIGH>;
1013*8575f197SBjorn Andersson
1014*8575f197SBjorn Andersson		};
1015*8575f197SBjorn Andersson
1016*8575f197SBjorn Andersson		intc: interrupt-controller@17a00000 {
1017*8575f197SBjorn Andersson			compatible = "arm,gic-v3";
1018*8575f197SBjorn Andersson			interrupt-controller;
1019*8575f197SBjorn Andersson			#interrupt-cells = <3>;
1020*8575f197SBjorn Andersson			reg = <0x0 0x17a00000 0x0 0x10000>,	/* GICD */
1021*8575f197SBjorn Andersson			      <0x0 0x17a60000 0x0 0x100000>;	/* GICR * 8 */
1022*8575f197SBjorn Andersson			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
1023*8575f197SBjorn Andersson		};
1024*8575f197SBjorn Andersson
1025*8575f197SBjorn Andersson		apss_shared: mailbox@17c00000 {
1026*8575f197SBjorn Andersson			compatible = "qcom,sc8180x-apss-shared";
1027*8575f197SBjorn Andersson			reg = <0x0 0x17c00000 0x0 0x1000>;
1028*8575f197SBjorn Andersson			#mbox-cells = <1>;
1029*8575f197SBjorn Andersson		};
1030*8575f197SBjorn Andersson
1031*8575f197SBjorn Andersson		timer@17c20000 {
1032*8575f197SBjorn Andersson			compatible = "arm,armv7-timer-mem";
1033*8575f197SBjorn Andersson			reg = <0x0 0x17c20000 0x0 0x1000>;
1034*8575f197SBjorn Andersson
1035*8575f197SBjorn Andersson			#address-cells = <1>;
1036*8575f197SBjorn Andersson			#size-cells = <1>;
1037*8575f197SBjorn Andersson			ranges = <0 0 0 0x20000000>;
1038*8575f197SBjorn Andersson
1039*8575f197SBjorn Andersson			frame@17c21000{
1040*8575f197SBjorn Andersson				reg = <0x17c21000 0x1000>,
1041*8575f197SBjorn Andersson				      <0x17c22000 0x1000>;
1042*8575f197SBjorn Andersson				frame-number = <0>;
1043*8575f197SBjorn Andersson				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1044*8575f197SBjorn Andersson					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1045*8575f197SBjorn Andersson			};
1046*8575f197SBjorn Andersson
1047*8575f197SBjorn Andersson			frame@17c23000 {
1048*8575f197SBjorn Andersson				reg = <0x17c23000 0x1000>;
1049*8575f197SBjorn Andersson				frame-number = <1>;
1050*8575f197SBjorn Andersson				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1051*8575f197SBjorn Andersson				status = "disabled";
1052*8575f197SBjorn Andersson			};
1053*8575f197SBjorn Andersson
1054*8575f197SBjorn Andersson			frame@17c25000 {
1055*8575f197SBjorn Andersson				reg = <0x17c25000 0x1000>;
1056*8575f197SBjorn Andersson				frame-number = <2>;
1057*8575f197SBjorn Andersson				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1058*8575f197SBjorn Andersson				status = "disabled";
1059*8575f197SBjorn Andersson			};
1060*8575f197SBjorn Andersson
1061*8575f197SBjorn Andersson			frame@17c27000 {
1062*8575f197SBjorn Andersson				reg = <0x17c26000 0x1000>;
1063*8575f197SBjorn Andersson				frame-number = <3>;
1064*8575f197SBjorn Andersson				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1065*8575f197SBjorn Andersson				status = "disabled";
1066*8575f197SBjorn Andersson			};
1067*8575f197SBjorn Andersson
1068*8575f197SBjorn Andersson			frame@17c29000 {
1069*8575f197SBjorn Andersson				reg = <0x17c29000 0x1000>;
1070*8575f197SBjorn Andersson				frame-number = <4>;
1071*8575f197SBjorn Andersson				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1072*8575f197SBjorn Andersson				status = "disabled";
1073*8575f197SBjorn Andersson			};
1074*8575f197SBjorn Andersson
1075*8575f197SBjorn Andersson			frame@17c2b000 {
1076*8575f197SBjorn Andersson				reg = <0x17c2b000 0x1000>;
1077*8575f197SBjorn Andersson				frame-number = <5>;
1078*8575f197SBjorn Andersson				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1079*8575f197SBjorn Andersson				status = "disabled";
1080*8575f197SBjorn Andersson			};
1081*8575f197SBjorn Andersson
1082*8575f197SBjorn Andersson			frame@17c2d000 {
1083*8575f197SBjorn Andersson				reg = <0x17c2d000 0x1000>;
1084*8575f197SBjorn Andersson				frame-number = <6>;
1085*8575f197SBjorn Andersson				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1086*8575f197SBjorn Andersson				status = "disabled";
1087*8575f197SBjorn Andersson			};
1088*8575f197SBjorn Andersson		};
1089*8575f197SBjorn Andersson
1090*8575f197SBjorn Andersson		apps_rsc: rsc@18200000 {
1091*8575f197SBjorn Andersson			compatible = "qcom,rpmh-rsc";
1092*8575f197SBjorn Andersson			reg = <0x0 0x18200000 0x0 0x10000>,
1093*8575f197SBjorn Andersson			      <0x0 0x18210000 0x0 0x10000>,
1094*8575f197SBjorn Andersson			      <0x0 0x18220000 0x0 0x10000>;
1095*8575f197SBjorn Andersson			reg-names = "drv-0", "drv-1", "drv-2";
1096*8575f197SBjorn Andersson			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
1097*8575f197SBjorn Andersson				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
1098*8575f197SBjorn Andersson				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1099*8575f197SBjorn Andersson			qcom,tcs-offset = <0xd00>;
1100*8575f197SBjorn Andersson			qcom,drv-id = <2>;
1101*8575f197SBjorn Andersson			qcom,tcs-config = <ACTIVE_TCS  2>,
1102*8575f197SBjorn Andersson					  <SLEEP_TCS   1>,
1103*8575f197SBjorn Andersson					  <WAKE_TCS    1>,
1104*8575f197SBjorn Andersson					  <CONTROL_TCS 0>;
1105*8575f197SBjorn Andersson			label = "apps_rsc";
1106*8575f197SBjorn Andersson
1107*8575f197SBjorn Andersson			apps_bcm_voter: bcm-voter {
1108*8575f197SBjorn Andersson				compatible = "qcom,bcm-voter";
1109*8575f197SBjorn Andersson			};
1110*8575f197SBjorn Andersson
1111*8575f197SBjorn Andersson			rpmhcc: clock-controller {
1112*8575f197SBjorn Andersson				compatible = "qcom,sc8180x-rpmh-clk";
1113*8575f197SBjorn Andersson				#clock-cells = <1>;
1114*8575f197SBjorn Andersson				clock-names = "xo";
1115*8575f197SBjorn Andersson				clocks = <&xo_board_clk>;
1116*8575f197SBjorn Andersson			};
1117*8575f197SBjorn Andersson
1118*8575f197SBjorn Andersson			rpmhpd: power-controller {
1119*8575f197SBjorn Andersson				compatible = "qcom,sc8180x-rpmhpd";
1120*8575f197SBjorn Andersson				#power-domain-cells = <1>;
1121*8575f197SBjorn Andersson				operating-points-v2 = <&rpmhpd_opp_table>;
1122*8575f197SBjorn Andersson
1123*8575f197SBjorn Andersson				rpmhpd_opp_table: opp-table {
1124*8575f197SBjorn Andersson					compatible = "operating-points-v2";
1125*8575f197SBjorn Andersson
1126*8575f197SBjorn Andersson					rpmhpd_opp_ret: opp1 {
1127*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
1128*8575f197SBjorn Andersson					};
1129*8575f197SBjorn Andersson
1130*8575f197SBjorn Andersson					rpmhpd_opp_min_svs: opp2 {
1131*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
1132*8575f197SBjorn Andersson					};
1133*8575f197SBjorn Andersson
1134*8575f197SBjorn Andersson					rpmhpd_opp_low_svs: opp3 {
1135*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
1136*8575f197SBjorn Andersson					};
1137*8575f197SBjorn Andersson
1138*8575f197SBjorn Andersson					rpmhpd_opp_svs: opp4 {
1139*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
1140*8575f197SBjorn Andersson					};
1141*8575f197SBjorn Andersson
1142*8575f197SBjorn Andersson					rpmhpd_opp_svs_l1: opp5 {
1143*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
1144*8575f197SBjorn Andersson					};
1145*8575f197SBjorn Andersson
1146*8575f197SBjorn Andersson					rpmhpd_opp_nom: opp6 {
1147*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
1148*8575f197SBjorn Andersson					};
1149*8575f197SBjorn Andersson
1150*8575f197SBjorn Andersson					rpmhpd_opp_nom_l1: opp7 {
1151*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
1152*8575f197SBjorn Andersson					};
1153*8575f197SBjorn Andersson
1154*8575f197SBjorn Andersson					rpmhpd_opp_nom_l2: opp8 {
1155*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
1156*8575f197SBjorn Andersson					};
1157*8575f197SBjorn Andersson
1158*8575f197SBjorn Andersson					rpmhpd_opp_turbo: opp9 {
1159*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
1160*8575f197SBjorn Andersson					};
1161*8575f197SBjorn Andersson
1162*8575f197SBjorn Andersson					rpmhpd_opp_turbo_l1: opp10 {
1163*8575f197SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
1164*8575f197SBjorn Andersson					};
1165*8575f197SBjorn Andersson				};
1166*8575f197SBjorn Andersson			};
1167*8575f197SBjorn Andersson		};
1168*8575f197SBjorn Andersson
1169*8575f197SBjorn Andersson		cpufreq_hw: cpufreq@18323000 {
1170*8575f197SBjorn Andersson			compatible = "qcom,cpufreq-hw";
1171*8575f197SBjorn Andersson			reg = <0 0x18323000 0 0x1400>, <0 0x18325800 0 0x1400>;
1172*8575f197SBjorn Andersson			reg-names = "freq-domain0", "freq-domain1";
1173*8575f197SBjorn Andersson
1174*8575f197SBjorn Andersson			clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
1175*8575f197SBjorn Andersson			clock-names = "xo", "alternate";
1176*8575f197SBjorn Andersson
1177*8575f197SBjorn Andersson			#freq-domain-cells = <1>;
1178*8575f197SBjorn Andersson			#clock-cells = <1>;
1179*8575f197SBjorn Andersson		};
1180*8575f197SBjorn Andersson
1181*8575f197SBjorn Andersson	timer {
1182*8575f197SBjorn Andersson		compatible = "arm,armv8-timer";
1183*8575f197SBjorn Andersson		interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
1184*8575f197SBjorn Andersson			     <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
1185*8575f197SBjorn Andersson			     <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
1186*8575f197SBjorn Andersson			     <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
1187*8575f197SBjorn Andersson	};
1188*8575f197SBjorn Andersson};
1189