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