xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sm6350.dtsi (revision 26f54add)
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
4 * Copyright (c) 2022, Luca Weiss <luca.weiss@fairphone.com>
5 */
6
7#include <dt-bindings/clock/qcom,dispcc-sm6350.h>
8#include <dt-bindings/clock/qcom,gcc-sm6350.h>
9#include <dt-bindings/clock/qcom,gpucc-sm6350.h>
10#include <dt-bindings/clock/qcom,rpmh.h>
11#include <dt-bindings/clock/qcom,sm6350-camcc.h>
12#include <dt-bindings/dma/qcom-gpi.h>
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interconnect/qcom,icc.h>
15#include <dt-bindings/interconnect/qcom,osm-l3.h>
16#include <dt-bindings/interconnect/qcom,sm6350.h>
17#include <dt-bindings/interrupt-controller/arm-gic.h>
18#include <dt-bindings/mailbox/qcom-ipcc.h>
19#include <dt-bindings/phy/phy-qcom-qmp.h>
20#include <dt-bindings/power/qcom-rpmpd.h>
21#include <dt-bindings/soc/qcom,rpmh-rsc.h>
22
23/ {
24	interrupt-parent = <&intc>;
25	#address-cells = <2>;
26	#size-cells = <2>;
27
28	clocks {
29		xo_board: xo-board {
30			compatible = "fixed-clock";
31			#clock-cells = <0>;
32			clock-frequency = <76800000>;
33			clock-output-names = "xo_board";
34		};
35
36		sleep_clk: sleep-clk {
37			compatible = "fixed-clock";
38			clock-frequency = <32764>;
39			#clock-cells = <0>;
40		};
41	};
42
43	cpus {
44		#address-cells = <2>;
45		#size-cells = <0>;
46
47		CPU0: cpu@0 {
48			device_type = "cpu";
49			compatible = "qcom,kryo560";
50			reg = <0x0 0x0>;
51			clocks = <&cpufreq_hw 0>;
52			enable-method = "psci";
53			capacity-dmips-mhz = <1024>;
54			dynamic-power-coefficient = <100>;
55			next-level-cache = <&L2_0>;
56			qcom,freq-domain = <&cpufreq_hw 0>;
57			operating-points-v2 = <&cpu0_opp_table>;
58			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
59					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
60					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
61			power-domains = <&CPU_PD0>;
62			power-domain-names = "psci";
63			#cooling-cells = <2>;
64			L2_0: l2-cache {
65				compatible = "cache";
66				cache-level = <2>;
67				cache-unified;
68				next-level-cache = <&L3_0>;
69				L3_0: l3-cache {
70					compatible = "cache";
71					cache-level = <3>;
72					cache-unified;
73				};
74			};
75		};
76
77		CPU1: cpu@100 {
78			device_type = "cpu";
79			compatible = "qcom,kryo560";
80			reg = <0x0 0x100>;
81			clocks = <&cpufreq_hw 0>;
82			enable-method = "psci";
83			capacity-dmips-mhz = <1024>;
84			dynamic-power-coefficient = <100>;
85			next-level-cache = <&L2_100>;
86			qcom,freq-domain = <&cpufreq_hw 0>;
87			operating-points-v2 = <&cpu0_opp_table>;
88			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
89					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
90					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
91			power-domains = <&CPU_PD1>;
92			power-domain-names = "psci";
93			#cooling-cells = <2>;
94			L2_100: l2-cache {
95				compatible = "cache";
96				cache-level = <2>;
97				cache-unified;
98				next-level-cache = <&L3_0>;
99			};
100		};
101
102		CPU2: cpu@200 {
103			device_type = "cpu";
104			compatible = "qcom,kryo560";
105			reg = <0x0 0x200>;
106			clocks = <&cpufreq_hw 0>;
107			enable-method = "psci";
108			capacity-dmips-mhz = <1024>;
109			dynamic-power-coefficient = <100>;
110			next-level-cache = <&L2_200>;
111			qcom,freq-domain = <&cpufreq_hw 0>;
112			operating-points-v2 = <&cpu0_opp_table>;
113			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
114					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
115					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
116			power-domains = <&CPU_PD2>;
117			power-domain-names = "psci";
118			#cooling-cells = <2>;
119			L2_200: l2-cache {
120				compatible = "cache";
121				cache-level = <2>;
122				cache-unified;
123				next-level-cache = <&L3_0>;
124			};
125		};
126
127		CPU3: cpu@300 {
128			device_type = "cpu";
129			compatible = "qcom,kryo560";
130			reg = <0x0 0x300>;
131			clocks = <&cpufreq_hw 0>;
132			enable-method = "psci";
133			capacity-dmips-mhz = <1024>;
134			dynamic-power-coefficient = <100>;
135			next-level-cache = <&L2_300>;
136			qcom,freq-domain = <&cpufreq_hw 0>;
137			operating-points-v2 = <&cpu0_opp_table>;
138			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
139					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
140					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
141			power-domains = <&CPU_PD3>;
142			power-domain-names = "psci";
143			#cooling-cells = <2>;
144			L2_300: l2-cache {
145				compatible = "cache";
146				cache-level = <2>;
147				cache-unified;
148				next-level-cache = <&L3_0>;
149			};
150		};
151
152		CPU4: cpu@400 {
153			device_type = "cpu";
154			compatible = "qcom,kryo560";
155			reg = <0x0 0x400>;
156			clocks = <&cpufreq_hw 0>;
157			enable-method = "psci";
158			capacity-dmips-mhz = <1024>;
159			dynamic-power-coefficient = <100>;
160			next-level-cache = <&L2_400>;
161			qcom,freq-domain = <&cpufreq_hw 0>;
162			operating-points-v2 = <&cpu0_opp_table>;
163			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
164					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
165					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
166			power-domains = <&CPU_PD4>;
167			power-domain-names = "psci";
168			#cooling-cells = <2>;
169			L2_400: l2-cache {
170				compatible = "cache";
171				cache-level = <2>;
172				cache-unified;
173				next-level-cache = <&L3_0>;
174			};
175		};
176
177		CPU5: cpu@500 {
178			device_type = "cpu";
179			compatible = "qcom,kryo560";
180			reg = <0x0 0x500>;
181			clocks = <&cpufreq_hw 0>;
182			enable-method = "psci";
183			capacity-dmips-mhz = <1024>;
184			dynamic-power-coefficient = <100>;
185			next-level-cache = <&L2_500>;
186			qcom,freq-domain = <&cpufreq_hw 0>;
187			operating-points-v2 = <&cpu0_opp_table>;
188			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
189					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
190					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
191			power-domains = <&CPU_PD5>;
192			power-domain-names = "psci";
193			#cooling-cells = <2>;
194			L2_500: l2-cache {
195				compatible = "cache";
196				cache-level = <2>;
197				cache-unified;
198				next-level-cache = <&L3_0>;
199			};
200		};
201
202		CPU6: cpu@600 {
203			device_type = "cpu";
204			compatible = "qcom,kryo560";
205			reg = <0x0 0x600>;
206			clocks = <&cpufreq_hw 1>;
207			enable-method = "psci";
208			capacity-dmips-mhz = <1894>;
209			dynamic-power-coefficient = <703>;
210			next-level-cache = <&L2_600>;
211			qcom,freq-domain = <&cpufreq_hw 1>;
212			operating-points-v2 = <&cpu6_opp_table>;
213			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
214					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
215					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
216			power-domains = <&CPU_PD6>;
217			power-domain-names = "psci";
218			#cooling-cells = <2>;
219			L2_600: l2-cache {
220				compatible = "cache";
221				cache-level = <2>;
222				cache-unified;
223				next-level-cache = <&L3_0>;
224			};
225		};
226
227		CPU7: cpu@700 {
228			device_type = "cpu";
229			compatible = "qcom,kryo560";
230			reg = <0x0 0x700>;
231			clocks = <&cpufreq_hw 1>;
232			enable-method = "psci";
233			capacity-dmips-mhz = <1894>;
234			dynamic-power-coefficient = <703>;
235			next-level-cache = <&L2_700>;
236			qcom,freq-domain = <&cpufreq_hw 1>;
237			operating-points-v2 = <&cpu6_opp_table>;
238			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
239					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
240					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
241			power-domains = <&CPU_PD7>;
242			power-domain-names = "psci";
243			#cooling-cells = <2>;
244			L2_700: l2-cache {
245				compatible = "cache";
246				cache-level = <2>;
247				cache-unified;
248				next-level-cache = <&L3_0>;
249			};
250		};
251
252		cpu-map {
253			cluster0 {
254				core0 {
255					cpu = <&CPU0>;
256				};
257
258				core1 {
259					cpu = <&CPU1>;
260				};
261
262				core2 {
263					cpu = <&CPU2>;
264				};
265
266				core3 {
267					cpu = <&CPU3>;
268				};
269
270				core4 {
271					cpu = <&CPU4>;
272				};
273
274				core5 {
275					cpu = <&CPU5>;
276				};
277
278				core6 {
279					cpu = <&CPU6>;
280				};
281
282				core7 {
283					cpu = <&CPU7>;
284				};
285			};
286		};
287
288		domain-idle-states {
289			CLUSTER_SLEEP_PC: cluster-sleep-0 {
290				compatible = "domain-idle-state";
291				arm,psci-suspend-param = <0x41000044>;
292				entry-latency-us = <2752>;
293				exit-latency-us = <3048>;
294				min-residency-us = <6118>;
295			};
296
297			CLUSTER_SLEEP_CX_RET: cluster-sleep-1 {
298				compatible = "domain-idle-state";
299				arm,psci-suspend-param = <0x41001244>;
300				entry-latency-us = <3638>;
301				exit-latency-us = <4562>;
302				min-residency-us = <8467>;
303			};
304
305			CLUSTER_AOSS_SLEEP: cluster-sleep-2 {
306				compatible = "domain-idle-state";
307				arm,psci-suspend-param = <0x4100b244>;
308				entry-latency-us = <3263>;
309				exit-latency-us = <6562>;
310				min-residency-us = <9987>;
311			};
312		};
313
314		cpu_idle_states: idle-states {
315			entry-method = "psci";
316
317			LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
318				compatible = "arm,idle-state";
319				idle-state-name = "little-power-collapse";
320				arm,psci-suspend-param = <0x40000003>;
321				entry-latency-us = <549>;
322				exit-latency-us = <901>;
323				min-residency-us = <1774>;
324				local-timer-stop;
325			};
326
327			LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
328				compatible = "arm,idle-state";
329				idle-state-name = "little-rail-power-collapse";
330				arm,psci-suspend-param = <0x40000004>;
331				entry-latency-us = <702>;
332				exit-latency-us = <915>;
333				min-residency-us = <4001>;
334				local-timer-stop;
335			};
336
337			BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
338				compatible = "arm,idle-state";
339				idle-state-name = "big-power-collapse";
340				arm,psci-suspend-param = <0x40000003>;
341				entry-latency-us = <523>;
342				exit-latency-us = <1244>;
343				min-residency-us = <2207>;
344				local-timer-stop;
345			};
346
347			BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
348				compatible = "arm,idle-state";
349				idle-state-name = "big-rail-power-collapse";
350				arm,psci-suspend-param = <0x40000004>;
351				entry-latency-us = <526>;
352				exit-latency-us = <1854>;
353				min-residency-us = <5555>;
354				local-timer-stop;
355			};
356		};
357	};
358
359	firmware {
360		scm: scm {
361			compatible = "qcom,scm-sm6350", "qcom,scm";
362			#reset-cells = <1>;
363		};
364	};
365
366	memory@80000000 {
367		device_type = "memory";
368		/* We expect the bootloader to fill in the size */
369		reg = <0x0 0x80000000 0x0 0x0>;
370	};
371
372	cpu0_opp_table: opp-table-cpu0 {
373		compatible = "operating-points-v2";
374		opp-shared;
375
376		opp-300000000 {
377			opp-hz = /bits/ 64 <300000000>;
378			/* DDR: 4-wide, 2 channels, double data rate, L3: 16-wide, 2 channels */
379			opp-peak-kBps = <(200000 * 4 * 2 * 2) (300000 * 16 * 2)>;
380		};
381
382		opp-576000000 {
383			opp-hz = /bits/ 64 <576000000>;
384			opp-peak-kBps = <(547000 * 4 * 2 * 2) (556800 * 16 * 2)>;
385		};
386
387		opp-768000000 {
388			opp-hz = /bits/ 64 <768000000>;
389			opp-peak-kBps = <(768000 * 4 * 2 * 2) (652800 * 16 * 2)>;
390		};
391
392		opp-1017600000 {
393			opp-hz = /bits/ 64 <1017600000>;
394			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (940800 * 16 * 2)>;
395		};
396
397		opp-1248000000 {
398			opp-hz = /bits/ 64 <1248000000>;
399			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (1209600 * 16 * 2)>;
400		};
401
402		opp-1324800000 {
403			opp-hz = /bits/ 64 <1324800000>;
404			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (1286400 * 16 * 2)>;
405		};
406
407		opp-1516800000 {
408			opp-hz = /bits/ 64 <1516800000>;
409			opp-peak-kBps = <(1353000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
410		};
411
412		opp-1612800000 {
413			opp-hz = /bits/ 64 <1612800000>;
414			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
415		};
416
417		opp-1708800000 {
418			opp-hz = /bits/ 64 <1708800000>;
419			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
420		};
421	};
422
423	cpu6_opp_table: opp-table-cpu6 {
424		compatible = "operating-points-v2";
425		opp-shared;
426
427		opp-300000000 {
428			opp-hz = /bits/ 64 <300000000>;
429			opp-peak-kBps = <(200000 * 4 * 2 * 2) (300000 * 16 * 2)>;
430		};
431
432		opp-787200000 {
433			opp-hz = /bits/ 64 <787200000>;
434			opp-peak-kBps = <(768000 * 4 * 2 * 2) (652800 * 16 * 2)>;
435		};
436
437		opp-979200000 {
438			opp-hz = /bits/ 64 <979200000>;
439			opp-peak-kBps = <(768000 * 4 * 2 * 2) (940800 * 16 * 2)>;
440		};
441
442		opp-1036800000 {
443			opp-hz = /bits/ 64 <1036800000>;
444			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (940800 * 16 * 2)>;
445		};
446
447		opp-1248000000 {
448			opp-hz = /bits/ 64 <1248000000>;
449			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (1209600 * 16 * 2)>;
450		};
451
452		opp-1401600000 {
453			opp-hz = /bits/ 64 <1401600000>;
454			opp-peak-kBps = <(1353000 * 4 * 2 * 2) (1401600 * 16 * 2)>;
455		};
456
457		opp-1555200000 {
458			opp-hz = /bits/ 64 <1555200000>;
459			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
460		};
461
462		opp-1766400000 {
463			opp-hz = /bits/ 64 <1766400000>;
464			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
465		};
466
467		opp-1900800000 {
468			opp-hz = /bits/ 64 <1900800000>;
469			opp-peak-kBps = <(1804000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
470		};
471
472		opp-2073600000 {
473			opp-hz = /bits/ 64 <2073600000>;
474			opp-peak-kBps = <(2092000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
475		};
476	};
477
478	qup_opp_table: opp-table-qup {
479		compatible = "operating-points-v2";
480
481		opp-75000000 {
482			opp-hz = /bits/ 64 <75000000>;
483			required-opps = <&rpmhpd_opp_low_svs>;
484		};
485
486		opp-100000000 {
487			opp-hz = /bits/ 64 <100000000>;
488			required-opps = <&rpmhpd_opp_svs>;
489		};
490
491		opp-128000000 {
492			opp-hz = /bits/ 64 <128000000>;
493			required-opps = <&rpmhpd_opp_nom>;
494		};
495	};
496
497	pmu {
498		compatible = "arm,armv8-pmuv3";
499		interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_LOW>;
500	};
501
502	psci {
503		compatible = "arm,psci-1.0";
504		method = "smc";
505
506		CPU_PD0: power-domain-cpu0 {
507			#power-domain-cells = <0>;
508			power-domains = <&CLUSTER_PD>;
509			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
510		};
511
512		CPU_PD1: power-domain-cpu1 {
513			#power-domain-cells = <0>;
514			power-domains = <&CLUSTER_PD>;
515			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
516		};
517
518		CPU_PD2: power-domain-cpu2 {
519			#power-domain-cells = <0>;
520			power-domains = <&CLUSTER_PD>;
521			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
522		};
523
524		CPU_PD3: power-domain-cpu3 {
525			#power-domain-cells = <0>;
526			power-domains = <&CLUSTER_PD>;
527			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
528		};
529
530		CPU_PD4: power-domain-cpu4 {
531			#power-domain-cells = <0>;
532			power-domains = <&CLUSTER_PD>;
533			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
534		};
535
536		CPU_PD5: power-domain-cpu5 {
537			#power-domain-cells = <0>;
538			power-domains = <&CLUSTER_PD>;
539			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
540		};
541
542		CPU_PD6: power-domain-cpu6 {
543			#power-domain-cells = <0>;
544			power-domains = <&CLUSTER_PD>;
545			domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
546		};
547
548		CPU_PD7: power-domain-cpu7 {
549			#power-domain-cells = <0>;
550			power-domains = <&CLUSTER_PD>;
551			domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
552		};
553
554		CLUSTER_PD: power-domain-cpu-cluster0 {
555			#power-domain-cells = <0>;
556			domain-idle-states = <&CLUSTER_SLEEP_PC
557					      &CLUSTER_SLEEP_CX_RET
558					      &CLUSTER_AOSS_SLEEP>;
559		};
560	};
561
562	reserved_memory: reserved-memory {
563		#address-cells = <2>;
564		#size-cells = <2>;
565		ranges;
566
567		hyp_mem: memory@80000000 {
568			reg = <0 0x80000000 0 0x600000>;
569			no-map;
570		};
571
572		xbl_aop_mem: memory@80700000 {
573			reg = <0 0x80700000 0 0x160000>;
574			no-map;
575		};
576
577		cmd_db: memory@80860000 {
578			compatible = "qcom,cmd-db";
579			reg = <0 0x80860000 0 0x20000>;
580			no-map;
581		};
582
583		sec_apps_mem: memory@808ff000 {
584			reg = <0 0x808ff000 0 0x1000>;
585			no-map;
586		};
587
588		smem_mem: memory@80900000 {
589			reg = <0 0x80900000 0 0x200000>;
590			no-map;
591		};
592
593		cdsp_sec_mem: memory@80b00000 {
594			reg = <0 0x80b00000 0 0x1e00000>;
595			no-map;
596		};
597
598		pil_camera_mem: memory@86000000 {
599			reg = <0 0x86000000 0 0x500000>;
600			no-map;
601		};
602
603		pil_npu_mem: memory@86500000 {
604			reg = <0 0x86500000 0 0x500000>;
605			no-map;
606		};
607
608		pil_video_mem: memory@86a00000 {
609			reg = <0 0x86a00000 0 0x500000>;
610			no-map;
611		};
612
613		pil_cdsp_mem: memory@86f00000 {
614			reg = <0 0x86f00000 0 0x1e00000>;
615			no-map;
616		};
617
618		pil_adsp_mem: memory@88d00000 {
619			reg = <0 0x88d00000 0 0x2800000>;
620			no-map;
621		};
622
623		wlan_fw_mem: memory@8b500000 {
624			reg = <0 0x8b500000 0 0x200000>;
625			no-map;
626		};
627
628		pil_ipa_fw_mem: memory@8b700000 {
629			reg = <0 0x8b700000 0 0x10000>;
630			no-map;
631		};
632
633		pil_ipa_gsi_mem: memory@8b710000 {
634			reg = <0 0x8b710000 0 0x5400>;
635			no-map;
636		};
637
638		pil_modem_mem: memory@8b800000 {
639			reg = <0 0x8b800000 0 0xf800000>;
640			no-map;
641		};
642
643		cont_splash_memory: memory@a0000000 {
644			reg = <0 0xa0000000 0 0x2300000>;
645			no-map;
646		};
647
648		dfps_data_memory: memory@a2300000 {
649			reg = <0 0xa2300000 0 0x100000>;
650			no-map;
651		};
652
653		removed_region: memory@c0000000 {
654			reg = <0 0xc0000000 0 0x3900000>;
655			no-map;
656		};
657
658		pil_gpu_mem: memory@f0d00000 {
659			reg = <0 0xf0d00000 0 0x1000>;
660			no-map;
661		};
662
663		debug_region: memory@ffb00000 {
664			reg = <0 0xffb00000 0 0xc0000>;
665			no-map;
666		};
667
668		last_log_region: memory@ffbc0000 {
669			reg = <0 0xffbc0000 0 0x40000>;
670			no-map;
671		};
672
673		ramoops: ramoops@ffc00000 {
674			compatible = "ramoops";
675			reg = <0 0xffc00000 0 0x100000>;
676			record-size = <0x1000>;
677			console-size = <0x40000>;
678			pmsg-size = <0x20000>;
679			ecc-size = <16>;
680			no-map;
681		};
682
683		cmdline_region: memory@ffd00000 {
684			reg = <0 0xffd00000 0 0x1000>;
685			no-map;
686		};
687	};
688
689	smem {
690		compatible = "qcom,smem";
691		memory-region = <&smem_mem>;
692		hwlocks = <&tcsr_mutex 3>;
693	};
694
695	smp2p-adsp {
696		compatible = "qcom,smp2p";
697		qcom,smem = <443>, <429>;
698		interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
699					     IPCC_MPROC_SIGNAL_SMP2P
700					     IRQ_TYPE_EDGE_RISING>;
701		mboxes = <&ipcc IPCC_CLIENT_LPASS
702				IPCC_MPROC_SIGNAL_SMP2P>;
703
704		qcom,local-pid = <0>;
705		qcom,remote-pid = <2>;
706
707		smp2p_adsp_out: master-kernel {
708			qcom,entry-name = "master-kernel";
709			#qcom,smem-state-cells = <1>;
710		};
711
712		smp2p_adsp_in: slave-kernel {
713			qcom,entry-name = "slave-kernel";
714			interrupt-controller;
715			#interrupt-cells = <2>;
716		};
717	};
718
719	smp2p-cdsp {
720		compatible = "qcom,smp2p";
721		qcom,smem = <94>, <432>;
722		interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
723					     IPCC_MPROC_SIGNAL_SMP2P
724					     IRQ_TYPE_EDGE_RISING>;
725		mboxes = <&ipcc IPCC_CLIENT_CDSP
726				IPCC_MPROC_SIGNAL_SMP2P>;
727
728		qcom,local-pid = <0>;
729		qcom,remote-pid = <5>;
730
731		smp2p_cdsp_out: master-kernel {
732			qcom,entry-name = "master-kernel";
733			#qcom,smem-state-cells = <1>;
734		};
735
736		smp2p_cdsp_in: slave-kernel {
737			qcom,entry-name = "slave-kernel";
738			interrupt-controller;
739			#interrupt-cells = <2>;
740		};
741	};
742
743	smp2p-mpss {
744		compatible = "qcom,smp2p";
745		qcom,smem = <435>, <428>;
746
747		interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
748					     IPCC_MPROC_SIGNAL_SMP2P
749					     IRQ_TYPE_EDGE_RISING>;
750		mboxes = <&ipcc IPCC_CLIENT_MPSS
751				IPCC_MPROC_SIGNAL_SMP2P>;
752
753		qcom,local-pid = <0>;
754		qcom,remote-pid = <1>;
755
756		modem_smp2p_out: master-kernel {
757			qcom,entry-name = "master-kernel";
758			#qcom,smem-state-cells = <1>;
759		};
760
761		modem_smp2p_in: slave-kernel {
762			qcom,entry-name = "slave-kernel";
763			interrupt-controller;
764			#interrupt-cells = <2>;
765		};
766
767		ipa_smp2p_out: ipa-ap-to-modem {
768			qcom,entry-name = "ipa";
769			#qcom,smem-state-cells = <1>;
770		};
771
772		ipa_smp2p_in: ipa-modem-to-ap {
773			qcom,entry-name = "ipa";
774			interrupt-controller;
775			#interrupt-cells = <2>;
776		};
777	};
778
779	soc: soc@0 {
780		#address-cells = <2>;
781		#size-cells = <2>;
782		ranges = <0 0 0 0 0x10 0>;
783		dma-ranges = <0 0 0 0 0x10 0>;
784		compatible = "simple-bus";
785
786		gcc: clock-controller@100000 {
787			compatible = "qcom,gcc-sm6350";
788			reg = <0 0x00100000 0 0x1f0000>;
789			#clock-cells = <1>;
790			#reset-cells = <1>;
791			#power-domain-cells = <1>;
792			clock-names = "bi_tcxo",
793				      "bi_tcxo_ao",
794				      "sleep_clk";
795			clocks = <&rpmhcc RPMH_CXO_CLK>,
796				 <&rpmhcc RPMH_CXO_CLK_A>,
797				 <&sleep_clk>;
798		};
799
800		ipcc: mailbox@408000 {
801			compatible = "qcom,sm6350-ipcc", "qcom,ipcc";
802			reg = <0 0x00408000 0 0x1000>;
803			interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
804			interrupt-controller;
805			#interrupt-cells = <3>;
806			#mbox-cells = <2>;
807		};
808
809		qfprom: qfprom@784000 {
810			compatible = "qcom,sm6350-qfprom", "qcom,qfprom";
811			reg = <0 0x00784000 0 0x3000>;
812			#address-cells = <1>;
813			#size-cells = <1>;
814
815			gpu_speed_bin: gpu-speed-bin@2015 {
816				reg = <0x2015 0x1>;
817				bits = <0 8>;
818			};
819		};
820
821		rng: rng@793000 {
822			compatible = "qcom,prng-ee";
823			reg = <0 0x00793000 0 0x1000>;
824			clocks = <&gcc GCC_PRNG_AHB_CLK>;
825			clock-names = "core";
826		};
827
828		sdhc_1: mmc@7c4000 {
829			compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5";
830			reg = <0 0x007c4000 0 0x1000>,
831				<0 0x007c5000 0 0x1000>,
832				<0 0x007c8000 0 0x8000>;
833			reg-names = "hc", "cqhci", "ice";
834
835			interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
836				     <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>;
837			interrupt-names = "hc_irq", "pwr_irq";
838			iommus = <&apps_smmu 0x60 0x0>;
839
840			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
841				 <&gcc GCC_SDCC1_APPS_CLK>,
842				 <&rpmhcc RPMH_CXO_CLK>;
843			clock-names = "iface", "core", "xo";
844			resets = <&gcc GCC_SDCC1_BCR>;
845			qcom,dll-config = <0x000f642c>;
846			qcom,ddr-config = <0x80040868>;
847			power-domains = <&rpmhpd SM6350_CX>;
848			operating-points-v2 = <&sdhc1_opp_table>;
849			bus-width = <8>;
850			non-removable;
851			supports-cqe;
852
853			status = "disabled";
854
855			sdhc1_opp_table: opp-table {
856				compatible = "operating-points-v2";
857
858				opp-19200000 {
859					opp-hz = /bits/ 64 <19200000>;
860					required-opps = <&rpmhpd_opp_min_svs>;
861				};
862
863				opp-100000000 {
864					opp-hz = /bits/ 64 <100000000>;
865					required-opps = <&rpmhpd_opp_low_svs>;
866				};
867
868				opp-384000000 {
869					opp-hz = /bits/ 64 <384000000>;
870					required-opps = <&rpmhpd_opp_svs_l1>;
871				};
872			};
873		};
874
875		gpi_dma0: dma-controller@800000 {
876			compatible = "qcom,sm6350-gpi-dma";
877			reg = <0 0x00800000 0 0x60000>;
878			interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
879				     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
880				     <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
881				     <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
882				     <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
883				     <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
884				     <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
885				     <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
886				     <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
887				     <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>;
888			dma-channels = <10>;
889			dma-channel-mask = <0x1f>;
890			iommus = <&apps_smmu 0x56 0x0>;
891			#dma-cells = <3>;
892			status = "disabled";
893		};
894
895		qupv3_id_0: geniqup@8c0000 {
896			compatible = "qcom,geni-se-qup";
897			reg = <0x0 0x008c0000 0x0 0x2000>;
898			clock-names = "m-ahb", "s-ahb";
899			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
900				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
901			#address-cells = <2>;
902			#size-cells = <2>;
903			iommus = <&apps_smmu 0x43 0x0>;
904			ranges;
905			status = "disabled";
906
907			i2c0: i2c@880000 {
908				compatible = "qcom,geni-i2c";
909				reg = <0 0x00880000 0 0x4000>;
910				clock-names = "se";
911				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
912				pinctrl-names = "default";
913				pinctrl-0 = <&qup_i2c0_default>;
914				interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
915				dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
916				       <&gpi_dma0 1 0 QCOM_GPI_I2C>;
917				dma-names = "tx", "rx";
918				#address-cells = <1>;
919				#size-cells = <0>;
920				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
921						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
922						<&aggre1_noc MASTER_QUP_0 0 &clk_virt SLAVE_EBI_CH0 0>;
923				interconnect-names = "qup-core", "qup-config", "qup-memory";
924				status = "disabled";
925			};
926
927			uart1: serial@884000 {
928				compatible = "qcom,geni-uart";
929				reg = <0 0x00884000 0 0x4000>;
930				clock-names = "se";
931				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
932				pinctrl-names = "default";
933				pinctrl-0 = <&qup_uart1_cts>, <&qup_uart1_rts>, <&qup_uart1_tx>, <&qup_uart1_rx>;
934				interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
935				power-domains = <&rpmhpd SM6350_CX>;
936				operating-points-v2 = <&qup_opp_table>;
937				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
938						<&aggre1_noc MASTER_QUP_0 0 &clk_virt SLAVE_EBI_CH0 0>;
939				interconnect-names = "qup-core", "qup-config";
940				status = "disabled";
941			};
942
943			i2c2: i2c@888000 {
944				compatible = "qcom,geni-i2c";
945				reg = <0 0x00888000 0 0x4000>;
946				clock-names = "se";
947				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
948				pinctrl-names = "default";
949				pinctrl-0 = <&qup_i2c2_default>;
950				interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
951				dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
952				       <&gpi_dma0 1 2 QCOM_GPI_I2C>;
953				dma-names = "tx", "rx";
954				#address-cells = <1>;
955				#size-cells = <0>;
956				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
957						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
958						<&aggre1_noc MASTER_QUP_0 0 &clk_virt SLAVE_EBI_CH0 0>;
959				interconnect-names = "qup-core", "qup-config", "qup-memory";
960				status = "disabled";
961			};
962		};
963
964		gpi_dma1: dma-controller@900000 {
965			compatible = "qcom,sm6350-gpi-dma";
966			reg = <0 0x00900000 0 0x60000>;
967			interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH>,
968				     <GIC_SPI 646 IRQ_TYPE_LEVEL_HIGH>,
969				     <GIC_SPI 647 IRQ_TYPE_LEVEL_HIGH>,
970				     <GIC_SPI 648 IRQ_TYPE_LEVEL_HIGH>,
971				     <GIC_SPI 649 IRQ_TYPE_LEVEL_HIGH>,
972				     <GIC_SPI 650 IRQ_TYPE_LEVEL_HIGH>,
973				     <GIC_SPI 651 IRQ_TYPE_LEVEL_HIGH>,
974				     <GIC_SPI 652 IRQ_TYPE_LEVEL_HIGH>,
975				     <GIC_SPI 653 IRQ_TYPE_LEVEL_HIGH>,
976				     <GIC_SPI 654 IRQ_TYPE_LEVEL_HIGH>;
977			dma-channels = <10>;
978			dma-channel-mask = <0x3f>;
979			iommus = <&apps_smmu 0x4d6 0x0>;
980			#dma-cells = <3>;
981			status = "disabled";
982		};
983
984		qupv3_id_1: geniqup@9c0000 {
985			compatible = "qcom,geni-se-qup";
986			reg = <0x0 0x009c0000 0x0 0x2000>;
987			clock-names = "m-ahb", "s-ahb";
988			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
989				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
990			#address-cells = <2>;
991			#size-cells = <2>;
992			iommus = <&apps_smmu 0x4c3 0x0>;
993			ranges;
994			status = "disabled";
995
996			i2c6: i2c@980000 {
997				compatible = "qcom,geni-i2c";
998				reg = <0 0x00980000 0 0x4000>;
999				clock-names = "se";
1000				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1001				pinctrl-names = "default";
1002				pinctrl-0 = <&qup_i2c6_default>;
1003				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1004				dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1005				       <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1006				dma-names = "tx", "rx";
1007				#address-cells = <1>;
1008				#size-cells = <0>;
1009				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1010						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1011						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1012				interconnect-names = "qup-core", "qup-config", "qup-memory";
1013				status = "disabled";
1014			};
1015
1016			i2c7: i2c@984000 {
1017				compatible = "qcom,geni-i2c";
1018				reg = <0 0x00984000 0 0x4000>;
1019				clock-names = "se";
1020				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1021				pinctrl-names = "default";
1022				pinctrl-0 = <&qup_i2c7_default>;
1023				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1024				dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1025				       <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1026				dma-names = "tx", "rx";
1027				#address-cells = <1>;
1028				#size-cells = <0>;
1029				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1030						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1031						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1032				interconnect-names = "qup-core", "qup-config", "qup-memory";
1033				status = "disabled";
1034			};
1035
1036			i2c8: i2c@988000 {
1037				compatible = "qcom,geni-i2c";
1038				reg = <0 0x00988000 0 0x4000>;
1039				clock-names = "se";
1040				clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1041				pinctrl-names = "default";
1042				pinctrl-0 = <&qup_i2c8_default>;
1043				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1044				dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1045				       <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1046				dma-names = "tx", "rx";
1047				#address-cells = <1>;
1048				#size-cells = <0>;
1049				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1050						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1051						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1052				interconnect-names = "qup-core", "qup-config", "qup-memory";
1053				status = "disabled";
1054			};
1055
1056			uart9: serial@98c000 {
1057				compatible = "qcom,geni-debug-uart";
1058				reg = <0 0x0098c000 0 0x4000>;
1059				clock-names = "se";
1060				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1061				pinctrl-names = "default";
1062				pinctrl-0 = <&qup_uart9_default>;
1063				interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1064				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1065						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1066				interconnect-names = "qup-core", "qup-config";
1067				status = "disabled";
1068			};
1069
1070			i2c10: i2c@990000 {
1071				compatible = "qcom,geni-i2c";
1072				reg = <0 0x00990000 0 0x4000>;
1073				clock-names = "se";
1074				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1075				pinctrl-names = "default";
1076				pinctrl-0 = <&qup_i2c10_default>;
1077				interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1078				dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1079				       <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1080				dma-names = "tx", "rx";
1081				#address-cells = <1>;
1082				#size-cells = <0>;
1083				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1084						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1085						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1086				interconnect-names = "qup-core", "qup-config", "qup-memory";
1087				status = "disabled";
1088			};
1089		};
1090
1091		config_noc: interconnect@1500000 {
1092			compatible = "qcom,sm6350-config-noc";
1093			reg = <0 0x01500000 0 0x28000>;
1094			#interconnect-cells = <2>;
1095			qcom,bcm-voters = <&apps_bcm_voter>;
1096		};
1097
1098		system_noc: interconnect@1620000 {
1099			compatible = "qcom,sm6350-system-noc";
1100			reg = <0 0x01620000 0 0x17080>;
1101			#interconnect-cells = <2>;
1102			qcom,bcm-voters = <&apps_bcm_voter>;
1103
1104			clk_virt: interconnect-clk-virt {
1105				compatible = "qcom,sm6350-clk-virt";
1106				#interconnect-cells = <2>;
1107				qcom,bcm-voters = <&apps_bcm_voter>;
1108			};
1109		};
1110
1111		aggre1_noc: interconnect@16e0000 {
1112			compatible = "qcom,sm6350-aggre1-noc";
1113			reg = <0 0x016e0000 0 0x15080>;
1114			#interconnect-cells = <2>;
1115			qcom,bcm-voters = <&apps_bcm_voter>;
1116		};
1117
1118		aggre2_noc: interconnect@1700000 {
1119			compatible = "qcom,sm6350-aggre2-noc";
1120			reg = <0 0x01700000 0 0x1f880>;
1121			#interconnect-cells = <2>;
1122			qcom,bcm-voters = <&apps_bcm_voter>;
1123
1124			compute_noc: interconnect-compute-noc {
1125				compatible = "qcom,sm6350-compute-noc";
1126				#interconnect-cells = <2>;
1127				qcom,bcm-voters = <&apps_bcm_voter>;
1128			};
1129		};
1130
1131		mmss_noc: interconnect@1740000 {
1132			compatible = "qcom,sm6350-mmss-noc";
1133			reg = <0 0x01740000 0 0x1c100>;
1134			#interconnect-cells = <2>;
1135			qcom,bcm-voters = <&apps_bcm_voter>;
1136		};
1137
1138		ufs_mem_hc: ufs@1d84000 {
1139			compatible = "qcom,sm6350-ufshc", "qcom,ufshc",
1140				     "jedec,ufs-2.0";
1141			reg = <0 0x01d84000 0 0x3000>,
1142			      <0 0x01d90000 0 0x8000>;
1143			reg-names = "std", "ice";
1144			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
1145			phys = <&ufs_mem_phy_lanes>;
1146			phy-names = "ufsphy";
1147			lanes-per-direction = <2>;
1148			#reset-cells = <1>;
1149			resets = <&gcc GCC_UFS_PHY_BCR>;
1150			reset-names = "rst";
1151
1152			power-domains = <&gcc UFS_PHY_GDSC>;
1153
1154			iommus = <&apps_smmu 0x80 0x0>;
1155
1156			clock-names = "core_clk",
1157				      "bus_aggr_clk",
1158				      "iface_clk",
1159				      "core_clk_unipro",
1160				      "ref_clk",
1161				      "tx_lane0_sync_clk",
1162				      "rx_lane0_sync_clk",
1163				      "rx_lane1_sync_clk",
1164				      "ice_core_clk";
1165			clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
1166				 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
1167				 <&gcc GCC_UFS_PHY_AHB_CLK>,
1168				 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
1169				 <&rpmhcc RPMH_QLINK_CLK>,
1170				 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
1171				 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
1172				 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>,
1173				 <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
1174			freq-table-hz =
1175				<50000000 200000000>,
1176				<0 0>,
1177				<0 0>,
1178				<37500000 150000000>,
1179				<75000000 300000000>,
1180				<0 0>,
1181				<0 0>,
1182				<0 0>,
1183				<0 0>;
1184
1185			status = "disabled";
1186		};
1187
1188		ufs_mem_phy: phy@1d87000 {
1189			compatible = "qcom,sm6350-qmp-ufs-phy";
1190			reg = <0 0x01d87000 0 0x18c>;
1191			#address-cells = <2>;
1192			#size-cells = <2>;
1193			ranges;
1194
1195			clock-names = "ref",
1196				      "ref_aux";
1197			clocks = <&gcc GCC_UFS_MEM_CLKREF_CLK>,
1198				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
1199
1200			power-domains = <&gcc UFS_PHY_GDSC>;
1201
1202			resets = <&ufs_mem_hc 0>;
1203			reset-names = "ufsphy";
1204
1205			status = "disabled";
1206
1207			ufs_mem_phy_lanes: phy@1d87400 {
1208				reg = <0 0x01d87400 0 0x128>,
1209				      <0 0x01d87600 0 0x1fc>,
1210				      <0 0x01d87c00 0 0x1dc>,
1211				      <0 0x01d87800 0 0x128>,
1212				      <0 0x01d87a00 0 0x1fc>;
1213				#phy-cells = <0>;
1214			};
1215		};
1216
1217		ipa: ipa@1e40000 {
1218			compatible = "qcom,sm6350-ipa";
1219
1220			iommus = <&apps_smmu 0x440 0x0>,
1221				 <&apps_smmu 0x442 0x0>;
1222			reg = <0 0x01e40000 0 0x8000>,
1223			      <0 0x01e50000 0 0x3000>,
1224			      <0 0x01e04000 0 0x23000>;
1225			reg-names = "ipa-reg",
1226				    "ipa-shared",
1227				    "gsi";
1228
1229			interrupts-extended = <&intc GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
1230					      <&intc GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>,
1231					      <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1232					      <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
1233			interrupt-names = "ipa",
1234					  "gsi",
1235					  "ipa-clock-query",
1236					  "ipa-setup-ready";
1237
1238			clocks = <&rpmhcc RPMH_IPA_CLK>;
1239			clock-names = "core";
1240
1241			interconnects = <&aggre2_noc MASTER_IPA 0 &clk_virt SLAVE_EBI_CH0 0>,
1242					<&aggre2_noc MASTER_IPA 0 &system_noc SLAVE_OCIMEM 0>,
1243					<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_IPA_CFG 0>;
1244			interconnect-names = "memory", "imem", "config";
1245
1246			qcom,smem-states = <&ipa_smp2p_out 0>,
1247					   <&ipa_smp2p_out 1>;
1248			qcom,smem-state-names = "ipa-clock-enabled-valid",
1249						"ipa-clock-enabled";
1250
1251			status = "disabled";
1252		};
1253
1254		tcsr_mutex: hwlock@1f40000 {
1255			compatible = "qcom,tcsr-mutex";
1256			reg = <0x0 0x01f40000 0x0 0x40000>;
1257			#hwlock-cells = <1>;
1258		};
1259
1260		adsp: remoteproc@3000000 {
1261			compatible = "qcom,sm6350-adsp-pas";
1262			reg = <0 0x03000000 0 0x100>;
1263
1264			interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
1265					      <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1266					      <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1267					      <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1268					      <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1269			interrupt-names = "wdog", "fatal", "ready",
1270					  "handover", "stop-ack";
1271
1272			clocks = <&rpmhcc RPMH_CXO_CLK>;
1273			clock-names = "xo";
1274
1275			power-domains = <&rpmhpd SM6350_LCX>,
1276					<&rpmhpd SM6350_LMX>;
1277			power-domain-names = "lcx", "lmx";
1278
1279			memory-region = <&pil_adsp_mem>;
1280
1281			qcom,qmp = <&aoss_qmp>;
1282
1283			qcom,smem-states = <&smp2p_adsp_out 0>;
1284			qcom,smem-state-names = "stop";
1285
1286			status = "disabled";
1287
1288			glink-edge {
1289				interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1290							     IPCC_MPROC_SIGNAL_GLINK_QMP
1291							     IRQ_TYPE_EDGE_RISING>;
1292				mboxes = <&ipcc IPCC_CLIENT_LPASS
1293						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1294
1295				label = "lpass";
1296				qcom,remote-pid = <2>;
1297
1298				fastrpc {
1299					compatible = "qcom,fastrpc";
1300					qcom,glink-channels = "fastrpcglink-apps-dsp";
1301					label = "adsp";
1302					qcom,non-secure-domain;
1303					#address-cells = <1>;
1304					#size-cells = <0>;
1305
1306					compute-cb@3 {
1307						compatible = "qcom,fastrpc-compute-cb";
1308						reg = <3>;
1309						iommus = <&apps_smmu 0x1003 0x0>;
1310					};
1311
1312					compute-cb@4 {
1313						compatible = "qcom,fastrpc-compute-cb";
1314						reg = <4>;
1315						iommus = <&apps_smmu 0x1004 0x0>;
1316					};
1317
1318					compute-cb@5 {
1319						compatible = "qcom,fastrpc-compute-cb";
1320						reg = <5>;
1321						iommus = <&apps_smmu 0x1005 0x0>;
1322						qcom,nsessions = <5>;
1323					};
1324				};
1325			};
1326		};
1327
1328		gpu: gpu@3d00000 {
1329			compatible = "qcom,adreno-619.0", "qcom,adreno";
1330			reg = <0 0x03d00000 0 0x40000>,
1331			      <0 0x03d9e000 0 0x1000>;
1332			reg-names = "kgsl_3d0_reg_memory",
1333				    "cx_mem";
1334			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1335
1336			iommus = <&adreno_smmu 0>;
1337			operating-points-v2 = <&gpu_opp_table>;
1338			qcom,gmu = <&gmu>;
1339			nvmem-cells = <&gpu_speed_bin>;
1340			nvmem-cell-names = "speed_bin";
1341
1342			status = "disabled";
1343
1344			zap-shader {
1345				memory-region = <&pil_gpu_mem>;
1346			};
1347
1348			gpu_opp_table: opp-table {
1349				compatible = "operating-points-v2";
1350
1351				opp-850000000 {
1352					opp-hz = /bits/ 64 <850000000>;
1353					opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
1354					opp-supported-hw = <0x03>;
1355				};
1356
1357				opp-800000000 {
1358					opp-hz = /bits/ 64 <800000000>;
1359					opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
1360					opp-supported-hw = <0x07>;
1361				};
1362
1363				opp-650000000 {
1364					opp-hz = /bits/ 64 <650000000>;
1365					opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
1366					opp-supported-hw = <0x0f>;
1367				};
1368
1369				opp-565000000 {
1370					opp-hz = /bits/ 64 <565000000>;
1371					opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
1372					opp-supported-hw = <0x1f>;
1373				};
1374
1375				opp-430000000 {
1376					opp-hz = /bits/ 64 <430000000>;
1377					opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
1378					opp-supported-hw = <0x1f>;
1379				};
1380
1381				opp-355000000 {
1382					opp-hz = /bits/ 64 <355000000>;
1383					opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
1384					opp-supported-hw = <0x1f>;
1385				};
1386
1387				opp-253000000 {
1388					opp-hz = /bits/ 64 <253000000>;
1389					opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
1390					opp-supported-hw = <0x1f>;
1391				};
1392			};
1393		};
1394
1395		adreno_smmu: iommu@3d40000 {
1396			compatible = "qcom,sm6350-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
1397			reg = <0 0x03d40000 0 0x10000>;
1398			#iommu-cells = <1>;
1399			#global-interrupts = <2>;
1400			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
1401				     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
1402				     <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
1403				     <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
1404				     <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
1405				     <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
1406				     <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
1407				     <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>,
1408				     <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
1409				     <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1410
1411			clocks = <&gpucc GPU_CC_AHB_CLK>,
1412				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
1413				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
1414			clock-names = "ahb",
1415				      "bus",
1416				      "iface";
1417
1418			power-domains = <&gpucc GPU_CX_GDSC>;
1419		};
1420
1421		gmu: gmu@3d6a000 {
1422			compatible = "qcom,adreno-gmu-619.0", "qcom,adreno-gmu";
1423			reg = <0 0x03d6a000 0 0x31000>,
1424			      <0 0x0b290000 0 0x10000>,
1425			      <0 0x0b490000 0 0x10000>;
1426			reg-names = "gmu",
1427				    "gmu_pdc",
1428				    "gmu_pdc_seq";
1429
1430			interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
1431				     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
1432			interrupt-names = "hfi",
1433					  "gmu";
1434
1435			clocks = <&gpucc GPU_CC_AHB_CLK>,
1436				 <&gpucc GPU_CC_CX_GMU_CLK>,
1437				 <&gpucc GPU_CC_CXO_CLK>,
1438				 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
1439				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
1440			clock-names = "ahb",
1441				      "gmu",
1442				      "cxo",
1443				      "axi",
1444				      "memnoc";
1445
1446			power-domains = <&gpucc GPU_CX_GDSC>,
1447					<&gpucc GPU_GX_GDSC>;
1448			power-domain-names = "cx",
1449					     "gx";
1450
1451			iommus = <&adreno_smmu 5>;
1452
1453			operating-points-v2 = <&gmu_opp_table>;
1454
1455			status = "disabled";
1456
1457			gmu_opp_table: opp-table {
1458				compatible = "operating-points-v2";
1459
1460				opp-200000000 {
1461					opp-hz = /bits/ 64 <200000000>;
1462					opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
1463				};
1464			};
1465		};
1466
1467		gpucc: clock-controller@3d90000 {
1468			compatible = "qcom,sm6350-gpucc";
1469			reg = <0 0x03d90000 0 0x9000>;
1470			clocks = <&rpmhcc RPMH_CXO_CLK>,
1471				 <&gcc GCC_GPU_GPLL0_CLK>,
1472				 <&gcc GCC_GPU_GPLL0_DIV_CLK>;
1473			clock-names = "bi_tcxo",
1474				      "gcc_gpu_gpll0_clk_src",
1475				      "gcc_gpu_gpll0_div_clk_src";
1476			#clock-cells = <1>;
1477			#reset-cells = <1>;
1478			#power-domain-cells = <1>;
1479		};
1480
1481		mpss: remoteproc@4080000 {
1482			compatible = "qcom,sm6350-mpss-pas";
1483			reg = <0x0 0x04080000 0x0 0x4040>;
1484
1485			interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
1486					      <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1487					      <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1488					      <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1489					      <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1490					      <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1491			interrupt-names = "wdog", "fatal", "ready", "handover",
1492					  "stop-ack", "shutdown-ack";
1493
1494			clocks = <&rpmhcc RPMH_CXO_CLK>;
1495			clock-names = "xo";
1496
1497			power-domains = <&rpmhpd SM6350_CX>,
1498					<&rpmhpd SM6350_MSS>;
1499			power-domain-names = "cx", "mss";
1500
1501			memory-region = <&pil_modem_mem>;
1502
1503			qcom,qmp = <&aoss_qmp>;
1504
1505			qcom,smem-states = <&modem_smp2p_out 0>;
1506			qcom,smem-state-names = "stop";
1507
1508			status = "disabled";
1509
1510			glink-edge {
1511				interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
1512							     IPCC_MPROC_SIGNAL_GLINK_QMP
1513							     IRQ_TYPE_EDGE_RISING>;
1514				mboxes = <&ipcc IPCC_CLIENT_MPSS
1515						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1516				label = "modem";
1517				qcom,remote-pid = <1>;
1518			};
1519		};
1520
1521		cdsp: remoteproc@8300000 {
1522			compatible = "qcom,sm6350-cdsp-pas";
1523			reg = <0 0x08300000 0 0x10000>;
1524
1525			interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>,
1526					      <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
1527					      <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
1528					      <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
1529					      <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
1530			interrupt-names = "wdog", "fatal", "ready",
1531					  "handover", "stop-ack";
1532
1533			clocks = <&rpmhcc RPMH_CXO_CLK>;
1534			clock-names = "xo";
1535
1536			power-domains = <&rpmhpd SM6350_CX>,
1537					<&rpmhpd SM6350_MX>;
1538			power-domain-names = "cx", "mx";
1539
1540			memory-region = <&pil_cdsp_mem>;
1541
1542			qcom,qmp = <&aoss_qmp>;
1543
1544			qcom,smem-states = <&smp2p_cdsp_out 0>;
1545			qcom,smem-state-names = "stop";
1546
1547			status = "disabled";
1548
1549			glink-edge {
1550				interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
1551							     IPCC_MPROC_SIGNAL_GLINK_QMP
1552							     IRQ_TYPE_EDGE_RISING>;
1553				mboxes = <&ipcc IPCC_CLIENT_CDSP
1554						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1555
1556				label = "cdsp";
1557				qcom,remote-pid = <5>;
1558
1559				fastrpc {
1560					compatible = "qcom,fastrpc";
1561					qcom,glink-channels = "fastrpcglink-apps-dsp";
1562					label = "cdsp";
1563					qcom,non-secure-domain;
1564					#address-cells = <1>;
1565					#size-cells = <0>;
1566
1567					compute-cb@1 {
1568						compatible = "qcom,fastrpc-compute-cb";
1569						reg = <1>;
1570						iommus = <&apps_smmu 0x1401 0x20>;
1571					};
1572
1573					compute-cb@2 {
1574						compatible = "qcom,fastrpc-compute-cb";
1575						reg = <2>;
1576						iommus = <&apps_smmu 0x1402 0x20>;
1577					};
1578
1579					compute-cb@3 {
1580						compatible = "qcom,fastrpc-compute-cb";
1581						reg = <3>;
1582						iommus = <&apps_smmu 0x1403 0x20>;
1583					};
1584
1585					compute-cb@4 {
1586						compatible = "qcom,fastrpc-compute-cb";
1587						reg = <4>;
1588						iommus = <&apps_smmu 0x1404 0x20>;
1589					};
1590
1591					compute-cb@5 {
1592						compatible = "qcom,fastrpc-compute-cb";
1593						reg = <5>;
1594						iommus = <&apps_smmu 0x1405 0x20>;
1595					};
1596
1597					compute-cb@6 {
1598						compatible = "qcom,fastrpc-compute-cb";
1599						reg = <6>;
1600						iommus = <&apps_smmu 0x1406 0x20>;
1601					};
1602
1603					compute-cb@7 {
1604						compatible = "qcom,fastrpc-compute-cb";
1605						reg = <7>;
1606						iommus = <&apps_smmu 0x1407 0x20>;
1607					};
1608
1609					compute-cb@8 {
1610						compatible = "qcom,fastrpc-compute-cb";
1611						reg = <8>;
1612						iommus = <&apps_smmu 0x1408 0x20>;
1613					};
1614
1615					/* note: secure cb9 in downstream */
1616				};
1617			};
1618		};
1619
1620		sdhc_2: mmc@8804000 {
1621			compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5";
1622			reg = <0 0x08804000 0 0x1000>;
1623
1624			interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
1625				     <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
1626			interrupt-names = "hc_irq", "pwr_irq";
1627			iommus = <&apps_smmu 0x560 0x0>;
1628
1629			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
1630				 <&gcc GCC_SDCC2_APPS_CLK>,
1631				 <&rpmhcc RPMH_CXO_CLK>;
1632			clock-names = "iface", "core", "xo";
1633			resets = <&gcc GCC_SDCC2_BCR>;
1634			interconnects = <&aggre2_noc MASTER_SDCC_2 0 &clk_virt SLAVE_EBI_CH0 0>,
1635					<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_SDCC_2 0>;
1636			interconnect-names = "sdhc-ddr", "cpu-sdhc";
1637
1638			pinctrl-0 = <&sdc2_on_state>;
1639			pinctrl-1 = <&sdc2_off_state>;
1640			pinctrl-names = "default", "sleep";
1641
1642			qcom,dll-config = <0x0007642c>;
1643			qcom,ddr-config = <0x80040868>;
1644			power-domains = <&rpmhpd SM6350_CX>;
1645			operating-points-v2 = <&sdhc2_opp_table>;
1646			bus-width = <4>;
1647
1648			status = "disabled";
1649
1650			sdhc2_opp_table: opp-table {
1651				compatible = "operating-points-v2";
1652
1653				opp-100000000 {
1654					opp-hz = /bits/ 64 <100000000>;
1655					required-opps = <&rpmhpd_opp_svs_l1>;
1656					opp-peak-kBps = <790000 131000>;
1657					opp-avg-kBps = <50000 50000>;
1658				};
1659
1660				opp-202000000 {
1661					opp-hz = /bits/ 64 <202000000>;
1662					required-opps = <&rpmhpd_opp_nom>;
1663					opp-peak-kBps = <3190000 294000>;
1664					opp-avg-kBps = <261438 300000>;
1665				};
1666			};
1667		};
1668
1669		usb_1_hsphy: phy@88e3000 {
1670			compatible = "qcom,sm6350-qusb2-phy", "qcom,qusb2-v2-phy";
1671			reg = <0 0x088e3000 0 0x400>;
1672			status = "disabled";
1673			#phy-cells = <0>;
1674
1675			clocks = <&xo_board>, <&rpmhcc RPMH_CXO_CLK>;
1676			clock-names = "cfg_ahb", "ref";
1677
1678			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
1679		};
1680
1681		usb_1_qmpphy: phy@88e8000 {
1682			compatible = "qcom,sm6350-qmp-usb3-dp-phy";
1683			reg = <0 0x088e8000 0 0x3000>;
1684
1685			clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
1686				 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
1687				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
1688				 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
1689			clock-names = "aux", "ref", "com_aux", "usb3_pipe";
1690
1691			power-domains = <&gcc USB30_PRIM_GDSC>;
1692
1693			resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
1694				 <&gcc GCC_USB3_DP_PHY_PRIM_BCR>;
1695			reset-names = "phy", "common";
1696
1697			#clock-cells = <1>;
1698			#phy-cells = <1>;
1699
1700			status = "disabled";
1701		};
1702
1703		dc_noc: interconnect@9160000 {
1704			compatible = "qcom,sm6350-dc-noc";
1705			reg = <0 0x09160000 0 0x3200>;
1706			#interconnect-cells = <2>;
1707			qcom,bcm-voters = <&apps_bcm_voter>;
1708		};
1709
1710		system-cache-controller@9200000 {
1711			compatible = "qcom,sm6350-llcc";
1712			reg = <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>;
1713			reg-names = "llcc0_base", "llcc_broadcast_base";
1714		};
1715
1716		gem_noc: interconnect@9680000 {
1717			compatible = "qcom,sm6350-gem-noc";
1718			reg = <0 0x09680000 0 0x3e200>;
1719			#interconnect-cells = <2>;
1720			qcom,bcm-voters = <&apps_bcm_voter>;
1721		};
1722
1723		npu_noc: interconnect@9990000 {
1724			compatible = "qcom,sm6350-npu-noc";
1725			reg = <0 0x09990000 0 0x1600>;
1726			#interconnect-cells = <2>;
1727			qcom,bcm-voters = <&apps_bcm_voter>;
1728		};
1729
1730		pmu@90b6300 {
1731			compatible = "qcom,sm6350-llcc-bwmon", "qcom,sdm845-bwmon";
1732			reg = <0x0 0x090b6300 0x0 0x600>;
1733			interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
1734
1735			operating-points-v2 = <&llcc_bwmon_opp_table>;
1736			interconnects = <&clk_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY
1737					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>;
1738
1739			llcc_bwmon_opp_table: opp-table {
1740				compatible = "operating-points-v2";
1741
1742				opp-0 {
1743					opp-peak-kBps = <2288000>;
1744				};
1745
1746				opp-1 {
1747					opp-peak-kBps = <4577000>;
1748				};
1749
1750				opp-2 {
1751					opp-peak-kBps = <7110000>;
1752				};
1753
1754				opp-3 {
1755					opp-peak-kBps = <9155000>;
1756				};
1757
1758				opp-4 {
1759					opp-peak-kBps = <12298000>;
1760				};
1761
1762				opp-5 {
1763					opp-peak-kBps = <14236000>;
1764				};
1765
1766			};
1767		};
1768
1769		pmu@90cd000 {
1770			compatible = "qcom,sm6350-cpu-bwmon", "qcom,sc7280-llcc-bwmon";
1771			reg = <0x0 0x090cd000 0x0 0x1000>;
1772			interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
1773
1774			operating-points-v2 = <&cpu_bwmon_opp_table>;
1775			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
1776					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>;
1777
1778			cpu_bwmon_opp_table: opp-table {
1779				compatible = "operating-points-v2";
1780
1781				opp-0 {
1782					opp-peak-kBps = <762000>;
1783				};
1784
1785				opp-1 {
1786					opp-peak-kBps = <1144000>;
1787				};
1788
1789				opp-2 {
1790					opp-peak-kBps = <1720000>;
1791				};
1792
1793				opp-3 {
1794					opp-peak-kBps = <2086000>;
1795				};
1796
1797				opp-4 {
1798					opp-peak-kBps = <2597000>;
1799				};
1800
1801				opp-5 {
1802					opp-peak-kBps = <2929000>;
1803				};
1804
1805				opp-6 {
1806					opp-peak-kBps = <3879000>;
1807				};
1808
1809				opp-7 {
1810					opp-peak-kBps = <5161000>;
1811				};
1812
1813				opp-8 {
1814					opp-peak-kBps = <5931000>;
1815				};
1816
1817				opp-9 {
1818					opp-peak-kBps = <6881000>;
1819				};
1820
1821				opp-10 {
1822					opp-peak-kBps = <7980000>;
1823				};
1824			};
1825		};
1826
1827		usb_1: usb@a6f8800 {
1828			compatible = "qcom,sm6350-dwc3", "qcom,dwc3";
1829			reg = <0 0x0a6f8800 0 0x400>;
1830			status = "disabled";
1831			#address-cells = <2>;
1832			#size-cells = <2>;
1833			ranges;
1834
1835			clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1836				 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1837				 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
1838				 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1839				 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
1840			clock-names = "cfg_noc",
1841				      "core",
1842				      "iface",
1843				      "sleep",
1844				      "mock_utmi";
1845
1846			interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1847					      <&pdc 17 IRQ_TYPE_LEVEL_HIGH>,
1848					      <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
1849					      <&pdc 14 IRQ_TYPE_EDGE_BOTH>;
1850
1851			interrupt-names = "hs_phy_irq", "ss_phy_irq",
1852					  "dm_hs_phy_irq", "dp_hs_phy_irq";
1853
1854			power-domains = <&gcc USB30_PRIM_GDSC>;
1855
1856			resets = <&gcc GCC_USB30_PRIM_BCR>;
1857
1858			interconnects = <&aggre2_noc MASTER_USB3 0 &clk_virt SLAVE_EBI_CH0 0>,
1859					<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3 0>;
1860			interconnect-names = "usb-ddr", "apps-usb";
1861
1862			usb_1_dwc3: usb@a600000 {
1863				compatible = "snps,dwc3";
1864				reg = <0 0x0a600000 0 0xcd00>;
1865				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
1866				iommus = <&apps_smmu 0x540 0x0>;
1867				snps,dis_u2_susphy_quirk;
1868				snps,dis_enblslpm_quirk;
1869				snps,has-lpm-erratum;
1870				snps,hird-threshold = /bits/ 8 <0x10>;
1871				snps,parkmode-disable-ss-quirk;
1872				phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
1873				phy-names = "usb2-phy", "usb3-phy";
1874			};
1875		};
1876
1877		cci0: cci@ac4a000 {
1878			compatible = "qcom,sm6350-cci", "qcom,msm8996-cci";
1879			reg = <0 0x0ac4a000 0 0x1000>;
1880			interrupts = <GIC_SPI 468 IRQ_TYPE_EDGE_RISING>;
1881			power-domains = <&camcc TITAN_TOP_GDSC>;
1882
1883			clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
1884				 <&camcc CAMCC_SOC_AHB_CLK>,
1885				 <&camcc CAMCC_SLOW_AHB_CLK_SRC>,
1886				 <&camcc CAMCC_CPAS_AHB_CLK>,
1887				 <&camcc CAMCC_CCI_0_CLK>,
1888				 <&camcc CAMCC_CCI_0_CLK_SRC>;
1889			clock-names = "camnoc_axi",
1890				      "soc_ahb",
1891				      "slow_ahb_src",
1892				      "cpas_ahb",
1893				      "cci",
1894				      "cci_src";
1895
1896			assigned-clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
1897					  <&camcc CAMCC_CCI_0_CLK>;
1898			assigned-clock-rates = <80000000>, <37500000>;
1899
1900			pinctrl-0 = <&cci0_default &cci1_default>;
1901			pinctrl-1 = <&cci0_sleep &cci1_sleep>;
1902			pinctrl-names = "default", "sleep";
1903
1904			#address-cells = <1>;
1905			#size-cells = <0>;
1906
1907			status = "disabled";
1908
1909			cci0_i2c0: i2c-bus@0 {
1910				reg = <0>;
1911				clock-frequency = <1000000>;
1912				#address-cells = <1>;
1913				#size-cells = <0>;
1914			};
1915
1916			cci0_i2c1: i2c-bus@1 {
1917				reg = <1>;
1918				clock-frequency = <1000000>;
1919				#address-cells = <1>;
1920				#size-cells = <0>;
1921			};
1922		};
1923
1924		cci1: cci@ac4b000 {
1925			compatible = "qcom,sm6350-cci", "qcom,msm8996-cci";
1926			reg = <0 0x0ac4b000 0 0x1000>;
1927			interrupts = <GIC_SPI 462 IRQ_TYPE_EDGE_RISING>;
1928			power-domains = <&camcc TITAN_TOP_GDSC>;
1929
1930			clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
1931				 <&camcc CAMCC_SOC_AHB_CLK>,
1932				 <&camcc CAMCC_SLOW_AHB_CLK_SRC>,
1933				 <&camcc CAMCC_CPAS_AHB_CLK>,
1934				 <&camcc CAMCC_CCI_1_CLK>,
1935				 <&camcc CAMCC_CCI_1_CLK_SRC>;
1936			clock-names = "camnoc_axi",
1937				      "soc_ahb",
1938				      "slow_ahb_src",
1939				      "cpas_ahb",
1940				      "cci",
1941				      "cci_src";
1942
1943			assigned-clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
1944					  <&camcc CAMCC_CCI_1_CLK>;
1945			assigned-clock-rates = <80000000>, <37500000>;
1946
1947			pinctrl-0 = <&cci2_default>;
1948			pinctrl-1 = <&cci2_sleep>;
1949			pinctrl-names = "default", "sleep";
1950
1951			#address-cells = <1>;
1952			#size-cells = <0>;
1953
1954			status = "disabled";
1955
1956			cci1_i2c0: i2c-bus@0 {
1957				reg = <0>;
1958				clock-frequency = <1000000>;
1959				#address-cells = <1>;
1960				#size-cells = <0>;
1961			};
1962
1963			/* SM6350 seems to have cci1_i2c1 on gpio2 & gpio3 but unused downstream */
1964		};
1965
1966		camcc: clock-controller@ad00000 {
1967			compatible = "qcom,sm6350-camcc";
1968			reg = <0 0x0ad00000 0 0x16000>;
1969			clocks = <&rpmhcc RPMH_CXO_CLK>;
1970			#clock-cells = <1>;
1971			#reset-cells = <1>;
1972			#power-domain-cells = <1>;
1973		};
1974
1975		mdss: display-subsystem@ae00000 {
1976			compatible = "qcom,sm6350-mdss";
1977			reg = <0 0x0ae00000 0 0x1000>;
1978			reg-names = "mdss";
1979
1980			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1981			interrupt-controller;
1982			#interrupt-cells = <1>;
1983
1984			clocks = <&gcc GCC_DISP_AHB_CLK>,
1985				 <&gcc GCC_DISP_AXI_CLK>,
1986				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
1987			clock-names = "iface",
1988				      "bus",
1989				      "core";
1990
1991			power-domains = <&dispcc MDSS_GDSC>;
1992			iommus = <&apps_smmu 0x800 0x2>;
1993
1994			#address-cells = <2>;
1995			#size-cells = <2>;
1996			ranges;
1997
1998			status = "disabled";
1999
2000			mdss_mdp: display-controller@ae01000 {
2001				compatible = "qcom,sm6350-dpu";
2002				reg = <0 0x0ae01000 0 0x8f000>,
2003				      <0 0x0aeb0000 0 0x2008>;
2004				reg-names = "mdp", "vbif";
2005
2006				interrupt-parent = <&mdss>;
2007				interrupts = <0>;
2008
2009				clocks = <&gcc GCC_DISP_AXI_CLK>,
2010					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2011					 <&dispcc DISP_CC_MDSS_ROT_CLK>,
2012					 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
2013					 <&dispcc DISP_CC_MDSS_MDP_CLK>,
2014					 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2015				clock-names = "bus",
2016					      "iface",
2017					      "rot",
2018					      "lut",
2019					      "core",
2020					      "vsync";
2021
2022				assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2023				assigned-clock-rates = <19200000>;
2024
2025				operating-points-v2 = <&mdp_opp_table>;
2026				power-domains = <&rpmhpd SM6350_CX>;
2027
2028				ports {
2029					#address-cells = <1>;
2030					#size-cells = <0>;
2031
2032					port@0 {
2033						reg = <0>;
2034
2035						dpu_intf1_out: endpoint {
2036							remote-endpoint = <&mdss_dsi0_in>;
2037						};
2038					};
2039				};
2040
2041				mdp_opp_table: opp-table {
2042					compatible = "operating-points-v2";
2043
2044					opp-19200000 {
2045						opp-hz = /bits/ 64 <19200000>;
2046						required-opps = <&rpmhpd_opp_min_svs>;
2047					};
2048
2049					opp-200000000 {
2050						opp-hz = /bits/ 64 <200000000>;
2051						required-opps = <&rpmhpd_opp_low_svs>;
2052					};
2053
2054					opp-300000000 {
2055						opp-hz = /bits/ 64 <300000000>;
2056						required-opps = <&rpmhpd_opp_svs>;
2057					};
2058
2059					opp-373333333 {
2060						opp-hz = /bits/ 64 <373333333>;
2061						required-opps = <&rpmhpd_opp_svs_l1>;
2062					};
2063
2064					opp-448000000 {
2065						opp-hz = /bits/ 64 <448000000>;
2066						required-opps = <&rpmhpd_opp_nom>;
2067					};
2068
2069					opp-560000000 {
2070						opp-hz = /bits/ 64 <560000000>;
2071						required-opps = <&rpmhpd_opp_turbo>;
2072					};
2073				};
2074			};
2075
2076			mdss_dsi0: dsi@ae94000 {
2077				compatible = "qcom,sm6350-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2078				reg = <0 0x0ae94000 0 0x400>;
2079				reg-names = "dsi_ctrl";
2080
2081				interrupt-parent = <&mdss>;
2082				interrupts = <4>;
2083
2084				clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
2085					 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
2086					 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
2087					 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
2088					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2089					 <&gcc GCC_DISP_AXI_CLK>;
2090				clock-names = "byte",
2091					      "byte_intf",
2092					      "pixel",
2093					      "core",
2094					      "iface",
2095					      "bus";
2096
2097				assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
2098						  <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
2099				assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
2100
2101				operating-points-v2 = <&mdss_dsi_opp_table>;
2102				power-domains = <&rpmhpd SM6350_MX>;
2103
2104				phys = <&mdss_dsi0_phy>;
2105				phy-names = "dsi";
2106
2107				#address-cells = <1>;
2108				#size-cells = <0>;
2109
2110				status = "disabled";
2111
2112				ports {
2113					#address-cells = <1>;
2114					#size-cells = <0>;
2115
2116					port@0 {
2117						reg = <0>;
2118
2119						mdss_dsi0_in: endpoint {
2120							remote-endpoint = <&dpu_intf1_out>;
2121						};
2122					};
2123
2124					port@1 {
2125						reg = <1>;
2126
2127						mdss_dsi0_out: endpoint {
2128						};
2129					};
2130				};
2131
2132				mdss_dsi_opp_table: opp-table {
2133					compatible = "operating-points-v2";
2134
2135					opp-187500000 {
2136						opp-hz = /bits/ 64 <187500000>;
2137						required-opps = <&rpmhpd_opp_low_svs>;
2138					};
2139
2140					opp-300000000 {
2141						opp-hz = /bits/ 64 <300000000>;
2142						required-opps = <&rpmhpd_opp_svs>;
2143					};
2144
2145					opp-358000000 {
2146						opp-hz = /bits/ 64 <358000000>;
2147						required-opps = <&rpmhpd_opp_svs_l1>;
2148					};
2149				};
2150			};
2151
2152			mdss_dsi0_phy: phy@ae94400 {
2153				compatible = "qcom,dsi-phy-10nm";
2154				reg = <0 0x0ae94400 0 0x200>,
2155				      <0 0x0ae94600 0 0x280>,
2156				      <0 0x0ae94a00 0 0x1e0>;
2157				reg-names = "dsi_phy",
2158					    "dsi_phy_lane",
2159					    "dsi_pll";
2160
2161				#clock-cells = <1>;
2162				#phy-cells = <0>;
2163
2164				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2165					 <&rpmhcc RPMH_CXO_CLK>;
2166				clock-names = "iface", "ref";
2167
2168				status = "disabled";
2169			};
2170		};
2171
2172		dispcc: clock-controller@af00000 {
2173			compatible = "qcom,sm6350-dispcc";
2174			reg = <0 0x0af00000 0 0x20000>;
2175			clocks = <&rpmhcc RPMH_CXO_CLK>,
2176				 <&gcc GCC_DISP_GPLL0_CLK>,
2177				 <&mdss_dsi0_phy 0>,
2178				 <&mdss_dsi0_phy 1>,
2179				 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
2180				 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
2181			clock-names = "bi_tcxo",
2182				      "gcc_disp_gpll0_clk",
2183				      "dsi0_phy_pll_out_byteclk",
2184				      "dsi0_phy_pll_out_dsiclk",
2185				      "dp_phy_pll_link_clk",
2186				      "dp_phy_pll_vco_div_clk";
2187			#clock-cells = <1>;
2188			#reset-cells = <1>;
2189			#power-domain-cells = <1>;
2190		};
2191
2192		pdc: interrupt-controller@b220000 {
2193			compatible = "qcom,sm6350-pdc", "qcom,pdc";
2194			reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x64>;
2195			qcom,pdc-ranges = <0 480 94>, <94 609 31>,
2196					  <125 63 1>, <126 655 12>, <138 139 15>;
2197			#interrupt-cells = <2>;
2198			interrupt-parent = <&intc>;
2199			interrupt-controller;
2200		};
2201
2202		tsens0: thermal-sensor@c263000 {
2203			compatible = "qcom,sm6350-tsens", "qcom,tsens-v2";
2204			reg = <0 0x0c263000 0 0x1ff>, /* TM */
2205			      <0 0x0c222000 0 0x8>; /* SROT */
2206			#qcom,sensors = <16>;
2207			interrupts-extended = <&pdc 26 IRQ_TYPE_LEVEL_HIGH>,
2208				     <&pdc 28 IRQ_TYPE_LEVEL_HIGH>;
2209			interrupt-names = "uplow", "critical";
2210			#thermal-sensor-cells = <1>;
2211		};
2212
2213		tsens1: thermal-sensor@c265000 {
2214			compatible = "qcom,sm6350-tsens", "qcom,tsens-v2";
2215			reg = <0 0x0c265000 0 0x1ff>, /* TM */
2216			      <0 0x0c223000 0 0x8>; /* SROT */
2217			#qcom,sensors = <16>;
2218			interrupts-extended = <&pdc 27 IRQ_TYPE_LEVEL_HIGH>,
2219				     <&pdc 29 IRQ_TYPE_LEVEL_HIGH>;
2220			interrupt-names = "uplow", "critical";
2221			#thermal-sensor-cells = <1>;
2222		};
2223
2224		aoss_qmp: power-management@c300000 {
2225			compatible = "qcom,sm6350-aoss-qmp", "qcom,aoss-qmp";
2226			reg = <0 0x0c300000 0 0x1000>;
2227			interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
2228						     IRQ_TYPE_EDGE_RISING>;
2229			mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
2230
2231			#clock-cells = <0>;
2232		};
2233
2234		spmi_bus: spmi@c440000 {
2235			compatible = "qcom,spmi-pmic-arb";
2236			reg = <0 0x0c440000 0 0x1100>,
2237			      <0 0x0c600000 0 0x2000000>,
2238			      <0 0x0e600000 0 0x100000>,
2239			      <0 0x0e700000 0 0xa0000>,
2240			      <0 0x0c40a000 0 0x26000>;
2241			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
2242			interrupt-names = "periph_irq";
2243			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
2244			qcom,ee = <0>;
2245			qcom,channel = <0>;
2246			#address-cells = <2>;
2247			#size-cells = <0>;
2248			interrupt-controller;
2249			#interrupt-cells = <4>;
2250		};
2251
2252		tlmm: pinctrl@f100000 {
2253			compatible = "qcom,sm6350-tlmm";
2254			reg = <0 0x0f100000 0 0x300000>;
2255			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
2256					<GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
2257					<GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
2258					<GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
2259					<GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
2260					<GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
2261					<GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
2262					<GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
2263					<GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
2264			gpio-controller;
2265			#gpio-cells = <2>;
2266			interrupt-controller;
2267			#interrupt-cells = <2>;
2268			gpio-ranges = <&tlmm 0 0 157>;
2269			wakeup-parent = <&pdc>;
2270
2271			cci0_default: cci0-default-state {
2272				pins = "gpio39", "gpio40";
2273				function = "cci_i2c";
2274				drive-strength = <2>;
2275				bias-pull-up;
2276			};
2277
2278			cci0_sleep: cci0-sleep-state {
2279				pins = "gpio39", "gpio40";
2280				function = "cci_i2c";
2281				drive-strength = <2>;
2282				bias-pull-down;
2283			};
2284
2285			cci1_default: cci1-default-state {
2286				pins = "gpio41", "gpio42";
2287				function = "cci_i2c";
2288				drive-strength = <2>;
2289				bias-pull-up;
2290			};
2291
2292			cci1_sleep: cci1-sleep-state {
2293				pins = "gpio41", "gpio42";
2294				function = "cci_i2c";
2295				drive-strength = <2>;
2296				bias-pull-down;
2297			};
2298
2299			cci2_default: cci2-default-state {
2300				pins = "gpio43", "gpio44";
2301				function = "cci_i2c";
2302				drive-strength = <2>;
2303				bias-pull-up;
2304			};
2305
2306			cci2_sleep: cci2-sleep-state {
2307				pins = "gpio43", "gpio44";
2308				function = "cci_i2c";
2309				drive-strength = <2>;
2310				bias-pull-down;
2311			};
2312
2313			sdc2_off_state: sdc2-off-state {
2314				clk-pins {
2315					pins = "sdc2_clk";
2316					drive-strength = <2>;
2317					bias-disable;
2318				};
2319
2320				cmd-pins {
2321					pins = "sdc2_cmd";
2322					drive-strength = <2>;
2323					bias-pull-up;
2324				};
2325
2326				data-pins {
2327					pins = "sdc2_data";
2328					drive-strength = <2>;
2329					bias-pull-up;
2330				};
2331			};
2332
2333			sdc2_on_state: sdc2-on-state {
2334				clk-pins {
2335					pins = "sdc2_clk";
2336					drive-strength = <16>;
2337					bias-disable;
2338				};
2339
2340				cmd-pins {
2341					pins = "sdc2_cmd";
2342					drive-strength = <10>;
2343					bias-pull-up;
2344				};
2345
2346				data-pins {
2347					pins = "sdc2_data";
2348					drive-strength = <10>;
2349					bias-pull-up;
2350				};
2351			};
2352
2353			qup_uart9_default: qup-uart9-default-state {
2354				pins = "gpio25", "gpio26";
2355				function = "qup13_f2";
2356				drive-strength = <2>;
2357				bias-disable;
2358			};
2359
2360			qup_i2c0_default: qup-i2c0-default-state {
2361				pins = "gpio0", "gpio1";
2362				function = "qup00";
2363				drive-strength = <2>;
2364				bias-pull-up;
2365			};
2366
2367			qup_i2c2_default: qup-i2c2-default-state {
2368				pins = "gpio45", "gpio46";
2369				function = "qup02";
2370				drive-strength = <2>;
2371				bias-pull-up;
2372			};
2373
2374			qup_i2c6_default: qup-i2c6-default-state {
2375				pins = "gpio13", "gpio14";
2376				function = "qup10";
2377				drive-strength = <2>;
2378				bias-pull-up;
2379			};
2380
2381			qup_i2c7_default: qup-i2c7-default-state {
2382				pins = "gpio27", "gpio28";
2383				function = "qup11";
2384				drive-strength = <2>;
2385				bias-pull-up;
2386			};
2387
2388			qup_i2c8_default: qup-i2c8-default-state {
2389				pins = "gpio19", "gpio20";
2390				function = "qup12";
2391				drive-strength = <2>;
2392				bias-pull-up;
2393			};
2394
2395			qup_i2c10_default: qup-i2c10-default-state {
2396				pins = "gpio4", "gpio5";
2397				function = "qup14";
2398				drive-strength = <2>;
2399				bias-pull-up;
2400			};
2401
2402			qup_uart1_cts: qup-uart1-cts-default-state {
2403				pins = "gpio61";
2404				function = "qup01";
2405				drive-strength = <2>;
2406				bias-disable;
2407			};
2408
2409			qup_uart1_rts: qup-uart1-rts-default-state {
2410				pins = "gpio62";
2411				function = "qup01";
2412				drive-strength = <2>;
2413				bias-pull-down;
2414			};
2415
2416			qup_uart1_rx: qup-uart1-rx-default-state {
2417				pins = "gpio64";
2418				function = "qup01";
2419				drive-strength = <2>;
2420				bias-disable;
2421			};
2422
2423			qup_uart1_tx: qup-uart1-tx-default-state {
2424				pins = "gpio63";
2425				function = "qup01";
2426				drive-strength = <2>;
2427				bias-pull-up;
2428			};
2429		};
2430
2431		apps_smmu: iommu@15000000 {
2432			compatible = "qcom,sm6350-smmu-500", "arm,mmu-500";
2433			reg = <0 0x15000000 0 0x100000>;
2434			#iommu-cells = <2>;
2435			#global-interrupts = <1>;
2436			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
2437				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
2438				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
2439				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
2440				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
2441				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
2442				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
2443				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
2444				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
2445				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
2446				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
2447				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
2448				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
2449				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
2450				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
2451				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
2452				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
2453				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
2454				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
2455				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
2456				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
2457				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
2458				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
2459				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
2460				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
2461				     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
2462				     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
2463				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
2464				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
2465				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
2466				     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
2467				     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
2468				     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
2469				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
2470				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
2471				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
2472				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
2473				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
2474				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
2475				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
2476				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
2477				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
2478				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2479				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
2480				     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
2481				     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
2482				     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
2483				     <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
2484				     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
2485				     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
2486				     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
2487				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
2488				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
2489				     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
2490				     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
2491				     <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
2492				     <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
2493				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
2494				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
2495				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
2496				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
2497				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
2498				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
2499				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
2500				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
2501				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
2502				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
2503				     <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
2504				     <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
2505				     <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
2506				     <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
2507				     <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
2508				     <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
2509				     <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
2510				     <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
2511				     <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
2512				     <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
2513				     <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
2514				     <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>,
2515				     <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
2516				     <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
2517		};
2518
2519		intc: interrupt-controller@17a00000 {
2520			compatible = "arm,gic-v3";
2521			#interrupt-cells = <3>;
2522			interrupt-controller;
2523			reg = <0x0 0x17a00000 0x0 0x10000>,     /* GICD */
2524			      <0x0 0x17a60000 0x0 0x100000>;    /* GICR * 8 */
2525			interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>;
2526		};
2527
2528		watchdog@17c10000 {
2529			compatible = "qcom,apss-wdt-sm6350", "qcom,kpss-wdt";
2530			reg = <0 0x17c10000 0 0x1000>;
2531			clocks = <&sleep_clk>;
2532			interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
2533		};
2534
2535		timer@17c20000 {
2536			compatible = "arm,armv7-timer-mem";
2537			reg = <0x0 0x17c20000 0x0 0x1000>;
2538			clock-frequency = <19200000>;
2539			#address-cells = <1>;
2540			#size-cells = <1>;
2541			ranges = <0 0 0 0x20000000>;
2542
2543			frame@17c21000 {
2544				frame-number = <0>;
2545				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2546					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
2547				reg = <0x17c21000 0x1000>,
2548				      <0x17c22000 0x1000>;
2549			};
2550
2551			frame@17c23000 {
2552				frame-number = <1>;
2553				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2554				reg = <0x17c23000 0x1000>;
2555				status = "disabled";
2556			};
2557
2558			frame@17c25000 {
2559				frame-number = <2>;
2560				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2561				reg = <0x17c25000 0x1000>;
2562				status = "disabled";
2563			};
2564
2565			frame@17c27000 {
2566				frame-number = <3>;
2567				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2568				reg = <0x17c27000 0x1000>;
2569				status = "disabled";
2570			};
2571
2572			frame@17c29000 {
2573				frame-number = <4>;
2574				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2575				reg = <0x17c29000 0x1000>;
2576				status = "disabled";
2577			};
2578
2579			frame@17c2b000 {
2580				frame-number = <5>;
2581				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2582				reg = <0x17c2b000 0x1000>;
2583				status = "disabled";
2584			};
2585
2586			frame@17c2d000 {
2587				frame-number = <6>;
2588				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2589				reg = <0x17c2d000 0x1000>;
2590				status = "disabled";
2591			};
2592		};
2593
2594		apps_rsc: rsc@18200000 {
2595			compatible = "qcom,rpmh-rsc";
2596			label = "apps_rsc";
2597			reg = <0x0 0x18200000 0x0 0x10000>,
2598				<0x0 0x18210000 0x0 0x10000>,
2599				<0x0 0x18220000 0x0 0x10000>;
2600			reg-names = "drv-0", "drv-1", "drv-2";
2601			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
2602				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
2603				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
2604			qcom,tcs-offset = <0xd00>;
2605			qcom,drv-id = <2>;
2606			qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>,
2607					  <WAKE_TCS 3>, <CONTROL_TCS 1>;
2608			power-domains = <&CLUSTER_PD>;
2609
2610			rpmhcc: clock-controller {
2611				compatible = "qcom,sm6350-rpmh-clk";
2612				#clock-cells = <1>;
2613				clock-names = "xo";
2614				clocks = <&xo_board>;
2615			};
2616
2617			rpmhpd: power-controller {
2618				compatible = "qcom,sm6350-rpmhpd";
2619				#power-domain-cells = <1>;
2620				operating-points-v2 = <&rpmhpd_opp_table>;
2621
2622				rpmhpd_opp_table: opp-table {
2623					compatible = "operating-points-v2";
2624
2625					rpmhpd_opp_ret: opp1 {
2626						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
2627					};
2628
2629					rpmhpd_opp_min_svs: opp2 {
2630						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
2631					};
2632
2633					rpmhpd_opp_low_svs: opp3 {
2634						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2635					};
2636
2637					rpmhpd_opp_svs: opp4 {
2638						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2639					};
2640
2641					rpmhpd_opp_svs_l1: opp5 {
2642						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2643					};
2644
2645					rpmhpd_opp_nom: opp6 {
2646						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2647					};
2648
2649					rpmhpd_opp_nom_l1: opp7 {
2650						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2651					};
2652
2653					rpmhpd_opp_nom_l2: opp8 {
2654						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
2655					};
2656
2657					rpmhpd_opp_turbo: opp9 {
2658						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
2659					};
2660
2661					rpmhpd_opp_turbo_l1: opp10 {
2662						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
2663					};
2664				};
2665			};
2666
2667			apps_bcm_voter: bcm-voter {
2668				compatible = "qcom,bcm-voter";
2669			};
2670		};
2671
2672		osm_l3: interconnect@18321000 {
2673			compatible = "qcom,sm6350-osm-l3", "qcom,osm-l3";
2674			reg = <0x0 0x18321000 0x0 0x1000>;
2675
2676			clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
2677			clock-names = "xo", "alternate";
2678
2679			#interconnect-cells = <1>;
2680		};
2681
2682		cpufreq_hw: cpufreq@18323000 {
2683			compatible = "qcom,sm6350-cpufreq-hw", "qcom,cpufreq-hw";
2684			reg = <0 0x18323000 0 0x1000>, <0 0x18325800 0 0x1000>;
2685			reg-names = "freq-domain0", "freq-domain1";
2686			clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
2687			clock-names = "xo", "alternate";
2688
2689			#freq-domain-cells = <1>;
2690			#clock-cells = <1>;
2691		};
2692
2693		wifi: wifi@18800000 {
2694			compatible = "qcom,wcn3990-wifi";
2695			reg = <0 0x18800000 0 0x800000>;
2696			reg-names = "membase";
2697			memory-region = <&wlan_fw_mem>;
2698			interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
2699				     <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
2700				     <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
2701				     <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
2702				     <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
2703				     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
2704				     <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
2705				     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
2706				     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
2707				     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
2708				     <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
2709				     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
2710			iommus = <&apps_smmu 0x20 0x1>;
2711			qcom,msa-fixed-perm;
2712			status = "disabled";
2713		};
2714	};
2715
2716	timer {
2717		compatible = "arm,armv8-timer";
2718		clock-frequency = <19200000>;
2719		interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2720			     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2721			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2722			     <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
2723	};
2724};
2725