1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
4 */
5
6#include <dt-bindings/clock/qcom,rpmcc.h>
7#include <dt-bindings/clock/qcom,sm6375-gcc.h>
8#include <dt-bindings/clock/qcom,sm6375-gpucc.h>
9#include <dt-bindings/dma/qcom-gpi.h>
10#include <dt-bindings/firmware/qcom,scm.h>
11#include <dt-bindings/interrupt-controller/arm-gic.h>
12#include <dt-bindings/mailbox/qcom-ipcc.h>
13#include <dt-bindings/power/qcom-rpmpd.h>
14
15/ {
16	interrupt-parent = <&intc>;
17
18	#address-cells = <2>;
19	#size-cells = <2>;
20
21	chosen { };
22
23	clocks {
24		xo_board_clk: xo-board-clk {
25			compatible = "fixed-clock";
26			#clock-cells = <0>;
27		};
28
29		sleep_clk: sleep-clk {
30			compatible = "fixed-clock";
31			clock-frequency = <32000>;
32			#clock-cells = <0>;
33		};
34	};
35
36	cpus {
37		#address-cells = <2>;
38		#size-cells = <0>;
39
40		CPU0: cpu@0 {
41			device_type = "cpu";
42			compatible = "qcom,kryo660";
43			reg = <0x0 0x0>;
44			clocks = <&cpufreq_hw 0>;
45			enable-method = "psci";
46			next-level-cache = <&L2_0>;
47			qcom,freq-domain = <&cpufreq_hw 0>;
48			power-domains = <&CPU_PD0>;
49			power-domain-names = "psci";
50			#cooling-cells = <2>;
51			L2_0: l2-cache {
52				compatible = "cache";
53				cache-level = <2>;
54				cache-unified;
55				next-level-cache = <&L3_0>;
56				L3_0: l3-cache {
57					compatible = "cache";
58					cache-level = <3>;
59					cache-unified;
60				};
61			};
62		};
63
64		CPU1: cpu@100 {
65			device_type = "cpu";
66			compatible = "qcom,kryo660";
67			reg = <0x0 0x100>;
68			clocks = <&cpufreq_hw 0>;
69			enable-method = "psci";
70			next-level-cache = <&L2_100>;
71			qcom,freq-domain = <&cpufreq_hw 0>;
72			power-domains = <&CPU_PD1>;
73			power-domain-names = "psci";
74			#cooling-cells = <2>;
75			L2_100: l2-cache {
76				compatible = "cache";
77				cache-level = <2>;
78				cache-unified;
79				next-level-cache = <&L3_0>;
80			};
81		};
82
83		CPU2: cpu@200 {
84			device_type = "cpu";
85			compatible = "qcom,kryo660";
86			reg = <0x0 0x200>;
87			clocks = <&cpufreq_hw 0>;
88			enable-method = "psci";
89			next-level-cache = <&L2_200>;
90			qcom,freq-domain = <&cpufreq_hw 0>;
91			power-domains = <&CPU_PD2>;
92			power-domain-names = "psci";
93			#cooling-cells = <2>;
94			L2_200: l2-cache {
95				compatible = "cache";
96				cache-level = <2>;
97				cache-unified;
98				next-level-cache = <&L3_0>;
99			};
100		};
101
102		CPU3: cpu@300 {
103			device_type = "cpu";
104			compatible = "qcom,kryo660";
105			reg = <0x0 0x300>;
106			clocks = <&cpufreq_hw 0>;
107			enable-method = "psci";
108			next-level-cache = <&L2_300>;
109			qcom,freq-domain = <&cpufreq_hw 0>;
110			power-domains = <&CPU_PD3>;
111			power-domain-names = "psci";
112			#cooling-cells = <2>;
113			L2_300: l2-cache {
114				compatible = "cache";
115				cache-level = <2>;
116				cache-unified;
117				next-level-cache = <&L3_0>;
118			};
119		};
120
121		CPU4: cpu@400 {
122			device_type = "cpu";
123			compatible = "qcom,kryo660";
124			reg = <0x0 0x400>;
125			clocks = <&cpufreq_hw 0>;
126			enable-method = "psci";
127			next-level-cache = <&L2_400>;
128			qcom,freq-domain = <&cpufreq_hw 0>;
129			power-domains = <&CPU_PD4>;
130			power-domain-names = "psci";
131			#cooling-cells = <2>;
132			L2_400: l2-cache {
133				compatible = "cache";
134				cache-level = <2>;
135				cache-unified;
136				next-level-cache = <&L3_0>;
137			};
138		};
139
140		CPU5: cpu@500 {
141			device_type = "cpu";
142			compatible = "qcom,kryo660";
143			reg = <0x0 0x500>;
144			clocks = <&cpufreq_hw 0>;
145			enable-method = "psci";
146			next-level-cache = <&L2_500>;
147			qcom,freq-domain = <&cpufreq_hw 0>;
148			power-domains = <&CPU_PD5>;
149			power-domain-names = "psci";
150			#cooling-cells = <2>;
151			L2_500: l2-cache {
152				compatible = "cache";
153				cache-level = <2>;
154				cache-unified;
155				next-level-cache = <&L3_0>;
156			};
157		};
158
159		CPU6: cpu@600 {
160			device_type = "cpu";
161			compatible = "qcom,kryo660";
162			reg = <0x0 0x600>;
163			clocks = <&cpufreq_hw 1>;
164			enable-method = "psci";
165			next-level-cache = <&L2_600>;
166			qcom,freq-domain = <&cpufreq_hw 1>;
167			power-domains = <&CPU_PD6>;
168			power-domain-names = "psci";
169			#cooling-cells = <2>;
170			L2_600: l2-cache {
171				compatible = "cache";
172				cache-level = <2>;
173				cache-unified;
174				next-level-cache = <&L3_0>;
175			};
176		};
177
178		CPU7: cpu@700 {
179			device_type = "cpu";
180			compatible = "qcom,kryo660";
181			reg = <0x0 0x700>;
182			clocks = <&cpufreq_hw 1>;
183			enable-method = "psci";
184			next-level-cache = <&L2_700>;
185			qcom,freq-domain = <&cpufreq_hw 1>;
186			power-domains = <&CPU_PD7>;
187			power-domain-names = "psci";
188			#cooling-cells = <2>;
189			L2_700: l2-cache {
190				compatible = "cache";
191				cache-level = <2>;
192				cache-unified;
193				next-level-cache = <&L3_0>;
194			};
195		};
196
197		cpu-map {
198			cluster0 {
199				core0 {
200					cpu = <&CPU0>;
201				};
202
203				core1 {
204					cpu = <&CPU1>;
205				};
206
207				core2 {
208					cpu = <&CPU2>;
209				};
210
211				core3 {
212					cpu = <&CPU3>;
213				};
214
215				core4 {
216					cpu = <&CPU4>;
217				};
218
219				core5 {
220					cpu = <&CPU5>;
221				};
222
223				core6 {
224					cpu = <&CPU6>;
225				};
226
227				core7 {
228					cpu = <&CPU7>;
229				};
230			};
231		};
232
233		idle-states {
234			entry-method = "psci";
235
236			LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
237				compatible = "arm,idle-state";
238				idle-state-name = "silver-power-collapse";
239				arm,psci-suspend-param = <0x40000003>;
240				entry-latency-us = <549>;
241				exit-latency-us = <901>;
242				min-residency-us = <1774>;
243				local-timer-stop;
244			};
245
246			LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
247				compatible = "arm,idle-state";
248				idle-state-name = "silver-rail-power-collapse";
249				arm,psci-suspend-param = <0x40000004>;
250				entry-latency-us = <702>;
251				exit-latency-us = <915>;
252				min-residency-us = <4001>;
253				local-timer-stop;
254			};
255
256			BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
257				compatible = "arm,idle-state";
258				idle-state-name = "gold-power-collapse";
259				arm,psci-suspend-param = <0x40000003>;
260				entry-latency-us = <523>;
261				exit-latency-us = <1244>;
262				min-residency-us = <2207>;
263				local-timer-stop;
264			};
265
266			BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
267				compatible = "arm,idle-state";
268				idle-state-name = "gold-rail-power-collapse";
269				arm,psci-suspend-param = <0x40000004>;
270				entry-latency-us = <526>;
271				exit-latency-us = <1854>;
272				min-residency-us = <5555>;
273				local-timer-stop;
274			};
275		};
276
277		domain-idle-states {
278			CLUSTER_SLEEP_0: cluster-sleep-0 {
279				compatible = "domain-idle-state";
280				arm,psci-suspend-param = <0x41000044>;
281				entry-latency-us = <2752>;
282				exit-latency-us = <3048>;
283				min-residency-us = <6118>;
284			};
285		};
286	};
287
288	firmware {
289		scm {
290			compatible = "qcom,scm-sm6375", "qcom,scm";
291			clocks = <&rpmcc RPM_SMD_CE1_CLK>;
292			clock-names = "core";
293			#reset-cells = <1>;
294		};
295	};
296
297	memory@80000000 {
298		device_type = "memory";
299		/* We expect the bootloader to fill in the size */
300		reg = <0x0 0x80000000 0x0 0x0>;
301	};
302
303	pmu {
304		compatible = "arm,armv8-pmuv3";
305		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
306	};
307
308	psci {
309		compatible = "arm,psci-1.0";
310		method = "smc";
311
312		CPU_PD0: power-domain-cpu0 {
313			#power-domain-cells = <0>;
314			power-domains = <&CLUSTER_PD>;
315			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
316		};
317
318		CPU_PD1: power-domain-cpu1 {
319			#power-domain-cells = <0>;
320			power-domains = <&CLUSTER_PD>;
321			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
322		};
323
324		CPU_PD2: power-domain-cpu2 {
325			#power-domain-cells = <0>;
326			power-domains = <&CLUSTER_PD>;
327			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
328		};
329
330		CPU_PD3: power-domain-cpu3 {
331			#power-domain-cells = <0>;
332			power-domains = <&CLUSTER_PD>;
333			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
334		};
335
336		CPU_PD4: power-domain-cpu4 {
337			#power-domain-cells = <0>;
338			power-domains = <&CLUSTER_PD>;
339			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
340		};
341
342		CPU_PD5: power-domain-cpu5 {
343			#power-domain-cells = <0>;
344			power-domains = <&CLUSTER_PD>;
345			domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
346		};
347
348		CPU_PD6: power-domain-cpu6 {
349			#power-domain-cells = <0>;
350			power-domains = <&CLUSTER_PD>;
351			domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
352		};
353
354		CPU_PD7: power-domain-cpu7 {
355			#power-domain-cells = <0>;
356			power-domains = <&CLUSTER_PD>;
357			domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
358		};
359
360		CLUSTER_PD: power-domain-cpu-cluster0 {
361			#power-domain-cells = <0>;
362			domain-idle-states = <&CLUSTER_SLEEP_0>;
363		};
364	};
365
366	qup_opp_table: opp-table-qup {
367		compatible = "operating-points-v2";
368
369		opp-75000000 {
370			opp-hz = /bits/ 64 <75000000>;
371			required-opps = <&rpmpd_opp_low_svs>;
372		};
373
374		opp-100000000 {
375			opp-hz = /bits/ 64 <100000000>;
376			required-opps = <&rpmpd_opp_svs>;
377		};
378
379		opp-128000000 {
380			opp-hz = /bits/ 64 <128000000>;
381			required-opps = <&rpmpd_opp_nom>;
382		};
383	};
384
385	reserved_memory: reserved-memory {
386		#address-cells = <2>;
387		#size-cells = <2>;
388		ranges;
389
390		hyp_mem: hypervisor@80000000 {
391			reg = <0 0x80000000 0 0x600000>;
392			no-map;
393		};
394
395		xbl_aop_mem: xbl-aop@80700000 {
396			reg = <0 0x80700000 0 0x100000>;
397			no-map;
398		};
399
400		reserved_xbl_uefi: xbl-uefi-res@80880000 {
401			reg = <0 0x80880000 0 0x14000>;
402			no-map;
403		};
404
405		smem_mem: smem@80900000 {
406			compatible = "qcom,smem";
407			reg = <0 0x80900000 0 0x200000>;
408			hwlocks = <&tcsr_mutex 3>;
409			no-map;
410		};
411
412		fw_mem: fw@80b00000 {
413			reg = <0 0x80b00000 0 0x100000>;
414			no-map;
415		};
416
417		cdsp_secure_heap_mem: cdsp-sec-heap@80c00000 {
418			reg = <0 0x80c00000 0 0x1e00000>;
419			no-map;
420		};
421
422		dfps_data_mem: dpfs-data@85e00000 {
423			reg = <0 0x85e00000 0 0x100000>;
424			no-map;
425		};
426
427		pil_wlan_mem: pil-wlan@86500000 {
428			reg = <0 0x86500000 0 0x200000>;
429			no-map;
430		};
431
432		pil_adsp_mem: pil-adsp@86700000 {
433			reg = <0 0x86700000 0 0x2000000>;
434			no-map;
435		};
436
437		pil_cdsp_mem: pil-cdsp@88700000 {
438			reg = <0 0x88700000 0 0x1e00000>;
439			no-map;
440		};
441
442		pil_video_mem: pil-video@8a500000 {
443			reg = <0 0x8a500000 0 0x500000>;
444			no-map;
445		};
446
447		pil_ipa_fw_mem: pil-ipa-fw@8aa00000 {
448			reg = <0 0x8aa00000 0 0x10000>;
449			no-map;
450		};
451
452		pil_ipa_gsi_mem: pil-ipa-gsi@8aa10000 {
453			reg = <0 0x8aa10000 0 0xa000>;
454			no-map;
455		};
456
457		pil_gpu_micro_code_mem: pil-gpu-ucode@8aa1a000 {
458			reg = <0 0x8aa1a000 0 0x2000>;
459			no-map;
460		};
461
462		pil_mpss_wlan_mem: pil-mpss-wlan@8b800000 {
463			reg = <0 0x8b800000 0 0x10000000>;
464			no-map;
465		};
466
467		removed_mem: removed@c0000000 {
468			reg = <0 0xc0000000 0 0x5100000>;
469			no-map;
470		};
471
472		rmtfs_mem: rmtfs@f3900000 {
473			compatible = "qcom,rmtfs-mem";
474			reg = <0 0xf3900000 0 0x280000>;
475			no-map;
476
477			qcom,client-id = <1>;
478			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
479		};
480
481		debug_mem: debug@ffb00000 {
482			reg = <0 0xffb00000 0 0xc0000>;
483			no-map;
484		};
485
486		last_log_mem: lastlog@ffbc0000 {
487			reg = <0 0xffbc0000 0 0x80000>;
488			no-map;
489		};
490
491		cmdline_region: cmdline@ffd00000 {
492			reg = <0 0xffd00000 0 0x1000>;
493			no-map;
494		};
495	};
496
497	rpm-glink {
498		compatible = "qcom,glink-rpm";
499		interrupts-extended = <&ipcc IPCC_CLIENT_AOP
500					     IPCC_MPROC_SIGNAL_GLINK_QMP
501					     IRQ_TYPE_EDGE_RISING>;
502		qcom,rpm-msg-ram = <&rpm_msg_ram>;
503		mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
504
505		rpm_requests: rpm-requests {
506			compatible = "qcom,rpm-sm6375";
507			qcom,glink-channels = "rpm_requests";
508
509			rpmcc: clock-controller {
510				compatible = "qcom,rpmcc-sm6375", "qcom,rpmcc";
511				clocks = <&xo_board_clk>;
512				clock-names = "xo";
513				#clock-cells = <1>;
514			};
515
516			rpmpd: power-controller {
517				compatible = "qcom,sm6375-rpmpd";
518				#power-domain-cells = <1>;
519				operating-points-v2 = <&rpmpd_opp_table>;
520
521				rpmpd_opp_table: opp-table {
522					compatible = "operating-points-v2";
523
524					rpmpd_opp_ret: opp1 {
525						opp-level = <RPM_SMD_LEVEL_RETENTION>;
526					};
527
528					rpmpd_opp_min_svs: opp2 {
529						opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
530					};
531
532					rpmpd_opp_low_svs: opp3 {
533						opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
534					};
535
536					rpmpd_opp_svs: opp4 {
537						opp-level = <RPM_SMD_LEVEL_SVS>;
538					};
539
540					rpmpd_opp_svs_plus: opp5 {
541						opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
542					};
543
544					rpmpd_opp_nom: opp6 {
545						opp-level = <RPM_SMD_LEVEL_NOM>;
546					};
547
548					rpmpd_opp_nom_plus: opp7 {
549						opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
550					};
551
552					rpmpd_opp_turbo: opp8 {
553						opp-level = <RPM_SMD_LEVEL_TURBO>;
554					};
555
556					rpmpd_opp_turbo_no_cpr: opp9 {
557						opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
558					};
559				};
560			};
561		};
562	};
563
564	smp2p-adsp {
565		compatible = "qcom,smp2p";
566		qcom,smem = <443>, <429>;
567		interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
568					     IPCC_MPROC_SIGNAL_SMP2P
569					     IRQ_TYPE_EDGE_RISING>;
570		mboxes = <&ipcc IPCC_CLIENT_LPASS
571				IPCC_MPROC_SIGNAL_SMP2P>;
572
573		qcom,local-pid = <0>;
574		qcom,remote-pid = <2>;
575
576		smp2p_adsp_out: master-kernel {
577			qcom,entry-name = "master-kernel";
578			#qcom,smem-state-cells = <1>;
579		};
580
581		smp2p_adsp_in: slave-kernel {
582			qcom,entry-name = "slave-kernel";
583			interrupt-controller;
584			#interrupt-cells = <2>;
585		};
586	};
587
588	smp2p-cdsp {
589		compatible = "qcom,smp2p";
590		qcom,smem = <94>, <432>;
591		interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
592					     IPCC_MPROC_SIGNAL_SMP2P
593					     IRQ_TYPE_EDGE_RISING>;
594		mboxes = <&ipcc IPCC_CLIENT_CDSP
595				IPCC_MPROC_SIGNAL_SMP2P>;
596
597		qcom,local-pid = <0>;
598		qcom,remote-pid = <5>;
599
600		smp2p_cdsp_out: master-kernel {
601			qcom,entry-name = "master-kernel";
602			#qcom,smem-state-cells = <1>;
603		};
604
605		smp2p_cdsp_in: slave-kernel {
606			qcom,entry-name = "slave-kernel";
607			interrupt-controller;
608			#interrupt-cells = <2>;
609		};
610	};
611
612	smp2p-modem {
613		compatible = "qcom,smp2p";
614		qcom,smem = <435>, <428>;
615		interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
616					     IPCC_MPROC_SIGNAL_SMP2P
617					     IRQ_TYPE_EDGE_RISING>;
618		mboxes = <&ipcc IPCC_CLIENT_MPSS
619				IPCC_MPROC_SIGNAL_SMP2P>;
620
621		qcom,local-pid = <0>;
622		qcom,remote-pid = <1>;
623
624		smp2p_modem_out: master-kernel {
625			qcom,entry-name = "master-kernel";
626			#qcom,smem-state-cells = <1>;
627		};
628
629		smp2p_modem_in: slave-kernel {
630			qcom,entry-name = "slave-kernel";
631			interrupt-controller;
632			#interrupt-cells = <2>;
633		};
634
635		ipa_smp2p_out: ipa-ap-to-modem {
636			qcom,entry-name = "ipa";
637			#qcom,smem-state-cells = <1>;
638		};
639
640		ipa_smp2p_in: ipa-modem-to-ap {
641			qcom,entry-name = "ipa";
642			interrupt-controller;
643			#interrupt-cells = <2>;
644		};
645
646		wlan_smp2p_in: wlan-wpss-to-ap {
647			qcom,entry-name = "wlan";
648			interrupt-controller;
649			#interrupt-cells = <2>;
650		};
651	};
652
653	soc: soc@0 {
654		#address-cells = <2>;
655		#size-cells = <2>;
656		ranges = <0 0 0 0 0x10 0>;
657		dma-ranges = <0 0 0 0 0x10 0>;
658		compatible = "simple-bus";
659
660		ipcc: mailbox@208000 {
661			compatible = "qcom,sm6375-ipcc", "qcom,ipcc";
662			reg = <0 0x00208000 0 0x1000>;
663			interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>;
664			interrupt-controller;
665			#interrupt-cells = <3>;
666			#mbox-cells = <2>;
667		};
668
669		tcsr_mutex: hwlock@340000 {
670			compatible = "qcom,tcsr-mutex";
671			reg = <0x0 0x00340000 0x0 0x40000>;
672			#hwlock-cells = <1>;
673		};
674
675		tlmm: pinctrl@500000 {
676			compatible = "qcom,sm6375-tlmm";
677			reg = <0 0x00500000 0 0x800000>;
678			interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
679			gpio-ranges = <&tlmm 0 0 157>;
680			/* TODO: Hook up MPM as wakeup-parent when it's there */
681			interrupt-controller;
682			gpio-controller;
683			#interrupt-cells = <2>;
684			#gpio-cells = <2>;
685
686			sdc2_off_state: sdc2-off-state {
687				clk-pins {
688					pins = "sdc2_clk";
689					drive-strength = <2>;
690					bias-disable;
691				};
692
693				cmd-pins {
694					pins = "sdc2_cmd";
695					drive-strength = <2>;
696					bias-pull-up;
697				};
698
699				data-pins {
700					pins = "sdc2_data";
701					drive-strength = <2>;
702					bias-pull-up;
703				};
704			};
705
706			sdc2_on_state: sdc2-on-state {
707				clk-pins {
708					pins = "sdc2_clk";
709					drive-strength = <16>;
710					bias-disable;
711				};
712
713				cmd-pins {
714					pins = "sdc2_cmd";
715					drive-strength = <10>;
716					bias-pull-up;
717				};
718
719				data-pins {
720					pins = "sdc2_data";
721					drive-strength = <10>;
722					bias-pull-up;
723				};
724			};
725
726			qup_i2c0_default: qup-i2c0-default-state {
727				pins = "gpio0", "gpio1";
728				function = "qup00";
729				drive-strength = <2>;
730				bias-pull-up;
731			};
732
733			qup_i2c1_default: qup-i2c1-default-state {
734				pins = "gpio61", "gpio62";
735				function = "qup01";
736				drive-strength = <2>;
737				bias-pull-up;
738			};
739
740			qup_i2c2_default: qup-i2c2-default-state {
741				pins = "gpio45", "gpio46";
742				function = "qup02";
743				drive-strength = <2>;
744				bias-pull-up;
745			};
746
747			qup_i2c8_default: qup-i2c8-default-state {
748				pins = "gpio19", "gpio20";
749				/* TLMM, GCC and vendor DT all have different indices.. */
750				function = "qup12";
751				drive-strength = <2>;
752				bias-pull-up;
753			};
754
755			qup_i2c10_default: qup-i2c10-default-state {
756				pins = "gpio4", "gpio5";
757				function = "qup10";
758				drive-strength = <2>;
759				bias-pull-up;
760			};
761
762			qup_spi0_default: qup-spi0-default-state {
763				pins = "gpio0", "gpio1", "gpio2", "gpio3";
764				function = "qup00";
765				drive-strength = <6>;
766				bias-disable;
767			};
768		};
769
770		gcc: clock-controller@1400000 {
771			compatible = "qcom,sm6375-gcc";
772			reg = <0 0x01400000 0 0x1f0000>;
773			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
774				 <&rpmcc RPM_SMD_XO_A_CLK_SRC>,
775				 <&sleep_clk>;
776			#power-domain-cells = <1>;
777			#clock-cells = <1>;
778			#reset-cells = <1>;
779		};
780
781		usb_1_hsphy: phy@162b000 {
782			compatible = "qcom,sm6375-usb-hs-phy", "qcom,usb-snps-hs-7nm-phy";
783			reg = <0 0x0162b000 0 0x400>;
784
785			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
786			clock-names = "ref";
787			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
788			#phy-cells = <0>;
789
790			status = "disabled";
791		};
792
793		spmi_bus: spmi@1c40000 {
794			compatible = "qcom,spmi-pmic-arb";
795			reg = <0 0x01c40000 0 0x1100>,
796			      <0 0x01e00000 0 0x2000000>,
797			      <0 0x03e00000 0 0x100000>,
798			      <0 0x03f00000 0 0xa0000>,
799			      <0 0x01c0a000 0 0x26000>;
800			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
801			interrupt-names = "periph_irq";
802			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
803			qcom,ee = <0>;
804			qcom,channel = <0>;
805			#address-cells = <2>;
806			#size-cells = <0>;
807			interrupt-controller;
808			#interrupt-cells = <4>;
809		};
810
811		tsens0: thermal-sensor@4411000 {
812			compatible = "qcom,sm6375-tsens", "qcom,tsens-v2";
813			reg = <0 0x04411000 0 0x140>, /* TM */
814			      <0 0x04410000 0 0x20>;  /* SROT */
815			interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
816				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
817			interrupt-names = "uplow", "critical";
818			#thermal-sensor-cells = <1>;
819			#qcom,sensors = <15>;
820		};
821
822		tsens1: thermal-sensor@4413000 {
823			compatible = "qcom,sm6375-tsens", "qcom,tsens-v2";
824			reg = <0 0x04413000 0 0x140>, /* TM */
825			      <0 0x04412000 0 0x20>;  /* SROT */
826			interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
827				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>;
828			interrupt-names = "uplow", "critical";
829			#thermal-sensor-cells = <1>;
830			#qcom,sensors = <11>;
831		};
832
833		rpm_msg_ram: sram@45f0000 {
834			compatible = "qcom,rpm-msg-ram";
835			reg = <0 0x045f0000 0 0x7000>;
836		};
837
838		sram@4690000 {
839			compatible = "qcom,rpm-stats";
840			reg = <0 0x04690000 0 0x400>;
841		};
842
843		sdhc_2: mmc@4784000 {
844			compatible = "qcom,sm6375-sdhci", "qcom,sdhci-msm-v5";
845			reg = <0 0x04784000 0 0x1000>;
846
847			interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
848				     <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
849			interrupt-names = "hc_irq", "pwr_irq";
850
851			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
852				 <&gcc GCC_SDCC2_APPS_CLK>,
853				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
854			clock-names = "iface", "core", "xo";
855			resets = <&gcc GCC_SDCC2_BCR>;
856			iommus = <&apps_smmu 0x40 0x0>;
857
858			pinctrl-0 = <&sdc2_on_state>;
859			pinctrl-1 = <&sdc2_off_state>;
860			pinctrl-names = "default", "sleep";
861
862			qcom,dll-config = <0x0007642c>;
863			qcom,ddr-config = <0x80040868>;
864			power-domains = <&rpmpd SM6375_VDDCX>;
865			operating-points-v2 = <&sdhc2_opp_table>;
866			bus-width = <4>;
867
868			status = "disabled";
869
870			sdhc2_opp_table: opp-table {
871				compatible = "operating-points-v2";
872
873				opp-100000000 {
874					opp-hz = /bits/ 64 <100000000>;
875					required-opps = <&rpmpd_opp_low_svs>;
876				};
877
878				opp-202000000 {
879					opp-hz = /bits/ 64 <202000000>;
880					required-opps = <&rpmpd_opp_svs_plus>;
881				};
882			};
883		};
884
885		gpi_dma0: dma-controller@4a00000 {
886			compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma";
887			reg = <0 0x04a00000 0 0x60000>;
888			interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
889				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
890				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
891				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
892				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
893				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
894				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
895				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
896				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
897				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
898			dma-channels = <10>;
899			dma-channel-mask = <0x1f>;
900			iommus = <&apps_smmu 0x16 0x0>;
901			#dma-cells = <3>;
902			status = "disabled";
903		};
904
905		qupv3_id_0: geniqup@4ac0000 {
906			compatible = "qcom,geni-se-qup";
907			reg = <0x0 0x04ac0000 0x0 0x2000>;
908			clock-names = "m-ahb", "s-ahb";
909			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
910				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
911			iommus = <&apps_smmu 0x3 0x0>;
912			#address-cells = <2>;
913			#size-cells = <2>;
914			ranges;
915			status = "disabled";
916
917			i2c0: i2c@4a80000 {
918				compatible = "qcom,geni-i2c";
919				reg = <0x0 0x04a80000 0x0 0x4000>;
920				clock-names = "se";
921				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
922				interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
923				pinctrl-names = "default";
924				pinctrl-0 = <&qup_i2c0_default>;
925				dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
926				       <&gpi_dma0 1 0 QCOM_GPI_I2C>;
927				dma-names = "tx", "rx";
928				#address-cells = <1>;
929				#size-cells = <0>;
930				status = "disabled";
931			};
932
933			spi0: spi@4a80000 {
934				compatible = "qcom,geni-spi";
935				reg = <0x0 0x04a80000 0x0 0x4000>;
936				clock-names = "se";
937				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
938				interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
939				pinctrl-names = "default";
940				pinctrl-0 = <&qup_spi0_default>;
941				power-domains = <&rpmpd SM6375_VDDCX>;
942				operating-points-v2 = <&qup_opp_table>;
943				dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
944				       <&gpi_dma0 1 0 QCOM_GPI_SPI>;
945				dma-names = "tx", "rx";
946				#address-cells = <1>;
947				#size-cells = <0>;
948				status = "disabled";
949			};
950
951			i2c1: i2c@4a84000 {
952				compatible = "qcom,geni-i2c";
953				reg = <0x0 0x04a84000 0x0 0x4000>;
954				clock-names = "se";
955				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
956				interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
957				pinctrl-names = "default";
958				pinctrl-0 = <&qup_i2c1_default>;
959				dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
960				       <&gpi_dma0 1 1 QCOM_GPI_I2C>;
961				dma-names = "tx", "rx";
962				#address-cells = <1>;
963				#size-cells = <0>;
964				status = "disabled";
965			};
966
967			spi1: spi@4a84000 {
968				compatible = "qcom,geni-spi";
969				reg = <0x0 0x04a84000 0x0 0x4000>;
970				clock-names = "se";
971				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
972				interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
973				power-domains = <&rpmpd SM6375_VDDCX>;
974				operating-points-v2 = <&qup_opp_table>;
975				dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
976				       <&gpi_dma0 1 1 QCOM_GPI_SPI>;
977				dma-names = "tx", "rx";
978				#address-cells = <1>;
979				#size-cells = <0>;
980				status = "disabled";
981			};
982
983			i2c2: i2c@4a88000 {
984				compatible = "qcom,geni-i2c";
985				reg = <0x0 0x04a88000 0x0 0x4000>;
986				clock-names = "se";
987				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
988				interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
989				pinctrl-names = "default";
990				pinctrl-0 = <&qup_i2c2_default>;
991				dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
992				       <&gpi_dma0 1 2 QCOM_GPI_I2C>;
993				dma-names = "tx", "rx";
994				#address-cells = <1>;
995				#size-cells = <0>;
996				status = "disabled";
997			};
998
999			spi2: spi@4a88000 {
1000				compatible = "qcom,geni-spi";
1001				reg = <0x0 0x04a88000 0x0 0x4000>;
1002				clock-names = "se";
1003				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1004				interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1005				power-domains = <&rpmpd SM6375_VDDCX>;
1006				operating-points-v2 = <&qup_opp_table>;
1007				dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1008				       <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1009				dma-names = "tx", "rx";
1010				#address-cells = <1>;
1011				#size-cells = <0>;
1012				status = "disabled";
1013			};
1014
1015			/*
1016			 * As per GCC, QUP3/4/5/11 also exist, but are not even defined downstream.
1017			 * There is a comment in the included DTSI of another SoC saying that they
1018			 * are not "bolled out" (probably meaning not routed to solder balls)
1019			 * TLMM driver however, suggests there are as many as 15 QUPs in total!
1020			 * Most of which don't even have pin configurations for.. Sad stuff!
1021			 */
1022		};
1023
1024		gpi_dma1: dma-controller@4c00000 {
1025			compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma";
1026			reg = <0 0x04c00000 0 0x60000>;
1027			interrupts = <GIC_SPI 497 IRQ_TYPE_LEVEL_HIGH>,
1028				     <GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH>,
1029				     <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH>,
1030				     <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH>,
1031				     <GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH>,
1032				     <GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH>,
1033				     <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH>,
1034				     <GIC_SPI 504 IRQ_TYPE_LEVEL_HIGH>,
1035				     <GIC_SPI 505 IRQ_TYPE_LEVEL_HIGH>,
1036				     <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>;
1037			dma-channels = <10>;
1038			dma-channel-mask = <0x1f>;
1039			iommus = <&apps_smmu 0xd6 0x0>;
1040			#dma-cells = <3>;
1041			status = "disabled";
1042		};
1043
1044		qupv3_id_1: geniqup@4cc0000 {
1045			compatible = "qcom,geni-se-qup";
1046			reg = <0x0 0x04cc0000 0x0 0x2000>;
1047			clock-names = "m-ahb", "s-ahb";
1048			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1049				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1050			iommus = <&apps_smmu 0xc3 0x0>;
1051			#address-cells = <2>;
1052			#size-cells = <2>;
1053			ranges;
1054			status = "disabled";
1055
1056			i2c6: i2c@4c80000 {
1057				compatible = "qcom,geni-i2c";
1058				reg = <0x0 0x04c80000 0x0 0x4000>;
1059				clock-names = "se";
1060				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1061				interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>;
1062				dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1063				       <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1064				dma-names = "tx", "rx";
1065				#address-cells = <1>;
1066				#size-cells = <0>;
1067				status = "disabled";
1068			};
1069
1070			spi6: spi@4c80000 {
1071				compatible = "qcom,geni-spi";
1072				reg = <0x0 0x04c80000 0x0 0x4000>;
1073				clock-names = "se";
1074				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1075				interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>;
1076				power-domains = <&rpmpd SM6375_VDDCX>;
1077				operating-points-v2 = <&qup_opp_table>;
1078				dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1079				       <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1080				dma-names = "tx", "rx";
1081				#address-cells = <1>;
1082				#size-cells = <0>;
1083				status = "disabled";
1084			};
1085
1086			i2c7: i2c@4c84000 {
1087				compatible = "qcom,geni-i2c";
1088				reg = <0x0 0x04c84000 0x0 0x4000>;
1089				clock-names = "se";
1090				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1091				interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
1092				dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1093				       <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1094				dma-names = "tx", "rx";
1095				#address-cells = <1>;
1096				#size-cells = <0>;
1097				status = "disabled";
1098			};
1099
1100			spi7: spi@4c84000 {
1101				compatible = "qcom,geni-spi";
1102				reg = <0x0 0x04c84000 0x0 0x4000>;
1103				clock-names = "se";
1104				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1105				interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
1106				power-domains = <&rpmpd SM6375_VDDCX>;
1107				operating-points-v2 = <&qup_opp_table>;
1108				dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1109				       <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1110				dma-names = "tx", "rx";
1111				#address-cells = <1>;
1112				#size-cells = <0>;
1113				status = "disabled";
1114			};
1115
1116			i2c8: i2c@4c88000 {
1117				compatible = "qcom,geni-i2c";
1118				reg = <0x0 0x04c88000 0x0 0x4000>;
1119				clock-names = "se";
1120				clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1121				interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
1122				pinctrl-names = "default";
1123				pinctrl-0 = <&qup_i2c8_default>;
1124				dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1125				       <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1126				dma-names = "tx", "rx";
1127				#address-cells = <1>;
1128				#size-cells = <0>;
1129				status = "disabled";
1130			};
1131
1132			spi8: spi@4c88000 {
1133				compatible = "qcom,geni-spi";
1134				reg = <0x0 0x04c88000 0x0 0x4000>;
1135				clock-names = "se";
1136				clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1137				interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
1138				power-domains = <&rpmpd SM6375_VDDCX>;
1139				operating-points-v2 = <&qup_opp_table>;
1140				dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1141				       <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1142				dma-names = "tx", "rx";
1143				#address-cells = <1>;
1144				#size-cells = <0>;
1145				status = "disabled";
1146			};
1147
1148			i2c9: i2c@4c8c000 {
1149				compatible = "qcom,geni-i2c";
1150				reg = <0x0 0x04c8c000 0x0 0x4000>;
1151				clock-names = "se";
1152				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1153				interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>;
1154				dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1155				       <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1156				dma-names = "tx", "rx";
1157				#address-cells = <1>;
1158				#size-cells = <0>;
1159				status = "disabled";
1160			};
1161
1162			spi9: spi@4c8c000 {
1163				compatible = "qcom,geni-spi";
1164				reg = <0x0 0x04c8c000 0x0 0x4000>;
1165				clock-names = "se";
1166				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1167				interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>;
1168				power-domains = <&rpmpd SM6375_VDDCX>;
1169				operating-points-v2 = <&qup_opp_table>;
1170				dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1171				       <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1172				dma-names = "tx", "rx";
1173				#address-cells = <1>;
1174				#size-cells = <0>;
1175				status = "disabled";
1176			};
1177
1178			i2c10: i2c@4c90000 {
1179				compatible = "qcom,geni-i2c";
1180				reg = <0x0 0x04c90000 0x0 0x4000>;
1181				clock-names = "se";
1182				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1183				interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>;
1184				pinctrl-names = "default";
1185				pinctrl-0 = <&qup_i2c10_default>;
1186				dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1187				       <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1188				dma-names = "tx", "rx";
1189				#address-cells = <1>;
1190				#size-cells = <0>;
1191				status = "disabled";
1192			};
1193
1194			spi10: spi@4c90000 {
1195				compatible = "qcom,geni-spi";
1196				reg = <0x0 0x04c90000 0x0 0x4000>;
1197				clock-names = "se";
1198				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1199				interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>;
1200				power-domains = <&rpmpd SM6375_VDDCX>;
1201				operating-points-v2 = <&qup_opp_table>;
1202				dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1203				       <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1204				dma-names = "tx", "rx";
1205				#address-cells = <1>;
1206				#size-cells = <0>;
1207				status = "disabled";
1208			};
1209		};
1210
1211		usb_1: usb@4ef8800 {
1212			compatible = "qcom,sm6375-dwc3", "qcom,dwc3";
1213			reg = <0 0x04ef8800 0 0x400>;
1214
1215			clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1216				 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1217				 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
1218				 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1219				 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1220				 <&gcc GCC_USB3_PRIM_CLKREF_CLK>;
1221			clock-names = "cfg_noc",
1222				      "core",
1223				      "iface",
1224				      "sleep",
1225				      "mock_utmi",
1226				      "xo";
1227
1228			assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1229					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1230			assigned-clock-rates = <19200000>, <133333333>;
1231
1232			interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
1233				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
1234				     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1235				     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
1236			interrupt-names = "hs_phy_irq",
1237					  "ss_phy_irq",
1238					  "dm_hs_phy_irq",
1239					  "dp_hs_phy_irq";
1240
1241			power-domains = <&gcc USB30_PRIM_GDSC>;
1242
1243			resets = <&gcc GCC_USB30_PRIM_BCR>;
1244
1245			/*
1246			 * This property is there to allow USB2 to work, as
1247			 * USB3 is not implemented yet - (re)move it when
1248			 * proper support is in place.
1249			 */
1250			qcom,select-utmi-as-pipe-clk;
1251
1252			#address-cells = <2>;
1253			#size-cells = <2>;
1254			ranges;
1255
1256			status = "disabled";
1257
1258			usb_1_dwc3: usb@4e00000 {
1259				compatible = "snps,dwc3";
1260				reg = <0 0x04e00000 0 0xcd00>;
1261				interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1262				maximum-speed = "high-speed";
1263				phys = <&usb_1_hsphy>;
1264				phy-names = "usb2-phy";
1265				iommus = <&apps_smmu 0xe0 0x0>;
1266
1267				/* Yes, this impl *does* have an unfunny number of quirks.. */
1268				snps,hird-threshold = /bits/ 8 <0x10>;
1269				snps,usb2-gadget-lpm-disable;
1270				snps,dis_u2_susphy_quirk;
1271				snps,is-utmi-l1-suspend;
1272				snps,dis-u1-entry-quirk;
1273				snps,dis-u2-entry-quirk;
1274				snps,usb3_lpm_capable;
1275				snps,has-lpm-erratum;
1276				tx-fifo-resize;
1277			};
1278		};
1279
1280		adreno_smmu: iommu@5940000 {
1281			compatible = "qcom,sm6375-smmu-v2", "qcom,smmu-v2";
1282			reg = <0 0x05940000 0 0x10000>;
1283			#iommu-cells = <1>;
1284			#global-interrupts = <2>;
1285			interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
1286				     <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
1287				     <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
1288				     <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
1289				     <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
1290				     <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
1291				     <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
1292				     <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
1293				     <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
1294				     <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>;
1295
1296			clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
1297			clock-names = "bus";
1298
1299			power-domains = <&gpucc GPU_CX_GDSC>;
1300		};
1301
1302		gpucc: clock-controller@5990000 {
1303			compatible = "qcom,sm6375-gpucc";
1304			reg = <0 0x05990000 0 0x9000>;
1305			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1306				 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
1307				 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>,
1308				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
1309			power-domains = <&rpmpd SM6375_VDDGX>;
1310			required-opps = <&rpmpd_opp_low_svs>;
1311			#clock-cells = <1>;
1312			#reset-cells = <1>;
1313			#power-domain-cells = <1>;
1314		};
1315
1316		remoteproc_mss: remoteproc@6000000 {
1317			compatible = "qcom,sm6375-mpss-pas";
1318			reg = <0 0x06000000 0 0x4040>;
1319
1320			interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
1321					      <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
1322					      <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
1323					      <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
1324					      <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
1325					      <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
1326			interrupt-names = "wdog",
1327					  "fatal",
1328					  "ready",
1329					  "handover",
1330					  "stop-ack",
1331					  "shutdown-ack";
1332
1333			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1334			clock-names = "xo";
1335
1336			power-domains = <&rpmpd SM6375_VDDCX>;
1337			power-domain-names = "cx";
1338
1339			memory-region = <&pil_mpss_wlan_mem>;
1340
1341			qcom,smem-states = <&smp2p_modem_out 0>;
1342			qcom,smem-state-names = "stop";
1343
1344			status = "disabled";
1345
1346			glink-edge {
1347				interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
1348							     IPCC_MPROC_SIGNAL_GLINK_QMP
1349							     IRQ_TYPE_EDGE_RISING>;
1350				mboxes = <&ipcc IPCC_CLIENT_MPSS
1351						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1352				label = "modem";
1353				qcom,remote-pid = <1>;
1354			};
1355		};
1356
1357		remoteproc_adsp: remoteproc@a400000 {
1358			compatible = "qcom,sm6375-adsp-pas";
1359			reg = <0 0x0a400000 0 0x100>;
1360
1361			interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1362					      <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1363					      <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1364					      <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1365					      <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1366			interrupt-names = "wdog", "fatal", "ready",
1367					  "handover", "stop-ack";
1368
1369			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1370			clock-names = "xo";
1371
1372			power-domains = <&rpmpd SM6375_VDD_LPI_CX>,
1373					<&rpmpd SM6375_VDD_LPI_MX>;
1374			power-domain-names = "lcx", "lmx";
1375
1376			memory-region = <&pil_adsp_mem>;
1377
1378			qcom,smem-states = <&smp2p_adsp_out 0>;
1379			qcom,smem-state-names = "stop";
1380
1381			status = "disabled";
1382
1383			glink-edge {
1384				interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1385							     IPCC_MPROC_SIGNAL_GLINK_QMP
1386							     IRQ_TYPE_EDGE_RISING>;
1387				mboxes = <&ipcc IPCC_CLIENT_LPASS
1388						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1389
1390				label = "lpass";
1391				qcom,remote-pid = <2>;
1392			};
1393		};
1394
1395		remoteproc_cdsp: remoteproc@b000000 {
1396			compatible = "qcom,sm6375-cdsp-pas";
1397			reg = <0x0 0x0b000000 0x0 0x100000>;
1398
1399			interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
1400					      <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
1401					      <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
1402					      <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
1403					      <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
1404			interrupt-names = "wdog", "fatal", "ready",
1405					  "handover", "stop-ack";
1406
1407			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1408			clock-names = "xo";
1409
1410			power-domains = <&rpmpd SM6375_VDDCX>;
1411			power-domain-names = "cx";
1412
1413			memory-region = <&pil_cdsp_mem>;
1414
1415			qcom,smem-states = <&smp2p_cdsp_out 0>;
1416			qcom,smem-state-names = "stop";
1417
1418			status = "disabled";
1419
1420			glink-edge {
1421				interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
1422							     IPCC_MPROC_SIGNAL_GLINK_QMP
1423							     IRQ_TYPE_EDGE_RISING>;
1424				mboxes = <&ipcc IPCC_CLIENT_CDSP
1425						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1426				label = "cdsp";
1427				qcom,remote-pid = <5>;
1428			};
1429		};
1430
1431		sram@c125000 {
1432			compatible = "qcom,sm6375-imem", "syscon", "simple-mfd";
1433			reg = <0 0x0c125000 0 0x1000>;
1434			ranges = <0 0 0x0c125000 0x1000>;
1435
1436			#address-cells = <1>;
1437			#size-cells = <1>;
1438
1439			pil-reloc@94c {
1440				compatible = "qcom,pil-reloc-info";
1441				reg = <0x94c 0xc8>;
1442			};
1443		};
1444
1445		apps_smmu: iommu@c600000 {
1446			compatible = "qcom,sm6375-smmu-500", "arm,mmu-500";
1447			reg = <0 0x0c600000 0 0x100000>;
1448			interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
1449				     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
1450				     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
1451				     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
1452				     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
1453				     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1454				     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
1455				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1456				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1457				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1458				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1459				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1460				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1461				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1462				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1463				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1464				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1465				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1466				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1467				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1468				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1469				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1470				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1471				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1472				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1473				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1474				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1475				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1476				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1477				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1478				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1479				     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1480				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1481				     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1482				     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1483				     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1484				     <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1485				     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1486				     <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1487				     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
1488				     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
1489				     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
1490				     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1491				     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1492				     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
1493				     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
1494				     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1495				     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1496				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
1497				     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
1498				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
1499				     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
1500				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
1501				     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1502				     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1503				     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1504				     <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1505				     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1506				     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1507				     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1508				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
1509				     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
1510				     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
1511				     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
1512				     <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
1513
1514			power-domains = <&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_RT_GDSC>,
1515					<&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_NRT_GDSC>,
1516					<&gcc HLOS1_VOTE_TURING_MMU_TBU0_GDSC>;
1517			#global-interrupts = <1>;
1518			#iommu-cells = <2>;
1519		};
1520
1521		wifi: wifi@c800000 {
1522			compatible = "qcom,wcn3990-wifi";
1523			reg = <0 0x0c800000 0 0x800000>;
1524			reg-names = "membase";
1525			memory-region = <&pil_wlan_mem>;
1526			interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
1527				     <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
1528				     <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
1529				     <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
1530				     <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
1531				     <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
1532				     <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
1533				     <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
1534				     <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
1535				     <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
1536				     <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
1537				     <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>;
1538			iommus = <&apps_smmu 0x80 0x1>;
1539			qcom,msa-fixed-perm;
1540			status = "disabled";
1541		};
1542
1543		intc: interrupt-controller@f200000 {
1544			compatible = "arm,gic-v3";
1545			reg = <0x0 0x0f200000 0x0 0x10000>,  /* GICD */
1546			      <0x0 0x0f240000 0x0 0x100000>; /* GICR * 8 */
1547			interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>;
1548			#redistributor-regions = <1>;
1549			#interrupt-cells = <3>;
1550			redistributor-stride = <0 0x20000>;
1551			interrupt-controller;
1552		};
1553
1554		timer@f420000 {
1555			compatible = "arm,armv7-timer-mem";
1556			reg = <0 0x0f420000 0 0x1000>;
1557			ranges = <0 0 0 0x20000000>;
1558			#address-cells = <1>;
1559			#size-cells = <1>;
1560
1561			frame@f421000 {
1562				reg = <0x0f421000 0x1000>, <0x0f422000 0x1000>;
1563				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1564					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1565				frame-number = <0>;
1566			};
1567
1568			frame@f423000 {
1569				reg = <0x0f243000 0x1000>;
1570				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1571				frame-number = <1>;
1572				status = "disabled";
1573			};
1574
1575			frame@f425000 {
1576				reg = <0x0f425000 0x1000>;
1577				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1578				frame-number = <2>;
1579				status = "disabled";
1580			};
1581
1582			frame@f427000 {
1583				reg = <0x0f427000 0x1000>;
1584				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1585				frame-number = <3>;
1586				status = "disabled";
1587			};
1588
1589			frame@f429000 {
1590				reg = <0x0f429000 0x1000>;
1591				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1592				frame-number = <4>;
1593				status = "disabled";
1594			};
1595
1596			frame@f42b000 {
1597				reg = <0x0f42b000 0x1000>;
1598				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1599				frame-number = <5>;
1600				status = "disabled";
1601			};
1602
1603			frame@f42d000 {
1604				reg = <0x0f42d000 0x1000>;
1605				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1606				frame-number = <6>;
1607				status = "disabled";
1608			};
1609		};
1610
1611		cpucp_l3: interconnect@fd90000 {
1612			compatible = "qcom,sm6375-cpucp-l3", "qcom,epss-l3";
1613			reg = <0 0x0fd90000 0 0x1000>;
1614
1615			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
1616			clock-names = "xo", "alternate";
1617			#interconnect-cells = <1>;
1618		};
1619
1620		cpufreq_hw: cpufreq@fd91000 {
1621			compatible = "qcom,sm6375-cpufreq-epss", "qcom,cpufreq-epss";
1622			reg = <0 0x0fd91000 0 0x1000>, <0 0x0fd92000 0 0x1000>;
1623			reg-names = "freq-domain0", "freq-domain1";
1624
1625			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
1626			clock-names = "xo", "alternate";
1627			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
1628				     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1629			interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1";
1630			#freq-domain-cells = <1>;
1631			#clock-cells = <1>;
1632		};
1633	};
1634
1635	thermal-zones {
1636		mapss0-thermal {
1637			polling-delay-passive = <0>;
1638			polling-delay = <0>;
1639
1640			thermal-sensors = <&tsens0 0>;
1641
1642			trips {
1643				mapss0_alert0: trip-point0 {
1644					temperature = <90000>;
1645					hysteresis = <2000>;
1646					type = "passive";
1647				};
1648
1649				mapss0_alert1: trip-point1 {
1650					temperature = <95000>;
1651					hysteresis = <2000>;
1652					type = "passive";
1653				};
1654
1655				mapss0_crit: mapss-crit {
1656					temperature = <110000>;
1657					hysteresis = <1000>;
1658					type = "critical";
1659				};
1660			};
1661		};
1662
1663		cpu0-thermal {
1664			polling-delay-passive = <0>;
1665			polling-delay = <0>;
1666
1667			thermal-sensors = <&tsens0 1>;
1668
1669			trips {
1670				cpu0_alert0: trip-point0 {
1671					temperature = <90000>;
1672					hysteresis = <2000>;
1673					type = "passive";
1674				};
1675
1676				cpu0_alert1: trip-point1 {
1677					temperature = <95000>;
1678					hysteresis = <2000>;
1679					type = "passive";
1680				};
1681
1682				cpu0_crit: cpu-crit {
1683					temperature = <110000>;
1684					hysteresis = <1000>;
1685					type = "critical";
1686				};
1687			};
1688		};
1689
1690		cpu1-thermal {
1691			polling-delay-passive = <0>;
1692			polling-delay = <0>;
1693
1694			thermal-sensors = <&tsens0 2>;
1695
1696			trips {
1697				cpu1_alert0: trip-point0 {
1698					temperature = <90000>;
1699					hysteresis = <2000>;
1700					type = "passive";
1701				};
1702
1703				cpu1_alert1: trip-point1 {
1704					temperature = <95000>;
1705					hysteresis = <2000>;
1706					type = "passive";
1707				};
1708
1709				cpu1_crit: cpu-crit {
1710					temperature = <110000>;
1711					hysteresis = <1000>;
1712					type = "critical";
1713				};
1714			};
1715		};
1716
1717		cpu2-thermal {
1718			polling-delay-passive = <0>;
1719			polling-delay = <0>;
1720
1721			thermal-sensors = <&tsens0 3>;
1722
1723			trips {
1724				cpu2_alert0: trip-point0 {
1725					temperature = <90000>;
1726					hysteresis = <2000>;
1727					type = "passive";
1728				};
1729
1730				cpu2_alert1: trip-point1 {
1731					temperature = <95000>;
1732					hysteresis = <2000>;
1733					type = "passive";
1734				};
1735
1736				cpu2_crit: cpu-crit {
1737					temperature = <110000>;
1738					hysteresis = <1000>;
1739					type = "critical";
1740				};
1741			};
1742		};
1743
1744		cpu3-thermal {
1745			polling-delay-passive = <0>;
1746			polling-delay = <0>;
1747
1748			thermal-sensors = <&tsens0 4>;
1749
1750			trips {
1751				cpu3_alert0: trip-point0 {
1752					temperature = <90000>;
1753					hysteresis = <2000>;
1754					type = "passive";
1755				};
1756
1757				cpu3_alert1: trip-point1 {
1758					temperature = <95000>;
1759					hysteresis = <2000>;
1760					type = "passive";
1761				};
1762
1763				cpu3_crit: cpu-crit {
1764					temperature = <110000>;
1765					hysteresis = <1000>;
1766					type = "critical";
1767				};
1768			};
1769		};
1770
1771		cpu4-thermal {
1772			polling-delay-passive = <0>;
1773			polling-delay = <0>;
1774
1775			thermal-sensors = <&tsens0 5>;
1776
1777			trips {
1778				cpu4_alert0: trip-point0 {
1779					temperature = <90000>;
1780					hysteresis = <2000>;
1781					type = "passive";
1782				};
1783
1784				cpu4_alert1: trip-point1 {
1785					temperature = <95000>;
1786					hysteresis = <2000>;
1787					type = "passive";
1788				};
1789
1790				cpu4_crit: cpu-crit {
1791					temperature = <110000>;
1792					hysteresis = <1000>;
1793					type = "critical";
1794				};
1795			};
1796		};
1797
1798		cpu5-thermal {
1799			polling-delay-passive = <0>;
1800			polling-delay = <0>;
1801
1802			thermal-sensors = <&tsens0 6>;
1803
1804			trips {
1805				cpu5_alert0: trip-point0 {
1806					temperature = <90000>;
1807					hysteresis = <2000>;
1808					type = "passive";
1809				};
1810
1811				cpu5_alert1: trip-point1 {
1812					temperature = <95000>;
1813					hysteresis = <2000>;
1814					type = "passive";
1815				};
1816
1817				cpu5_crit: cpu-crit {
1818					temperature = <110000>;
1819					hysteresis = <1000>;
1820					type = "critical";
1821				};
1822			};
1823		};
1824
1825		cluster0-thermal {
1826			polling-delay-passive = <0>;
1827			polling-delay = <0>;
1828
1829			thermal-sensors = <&tsens0 7>;
1830
1831			trips {
1832				cluster0_alert0: trip-point0 {
1833					temperature = <90000>;
1834					hysteresis = <2000>;
1835					type = "passive";
1836				};
1837
1838				cluster0_alert1: trip-point1 {
1839					temperature = <95000>;
1840					hysteresis = <2000>;
1841					type = "passive";
1842				};
1843
1844				cluster0_crit: cpu-crit {
1845					temperature = <110000>;
1846					hysteresis = <1000>;
1847					type = "critical";
1848				};
1849			};
1850		};
1851
1852		cluster1-thermal {
1853			polling-delay-passive = <0>;
1854			polling-delay = <0>;
1855
1856			thermal-sensors = <&tsens0 8>;
1857
1858			trips {
1859				cluster1_alert0: trip-point0 {
1860					temperature = <90000>;
1861					hysteresis = <2000>;
1862					type = "passive";
1863				};
1864
1865				cluster1_alert1: trip-point1 {
1866					temperature = <95000>;
1867					hysteresis = <2000>;
1868					type = "passive";
1869				};
1870
1871				cluster1_crit: cpu-crit {
1872					temperature = <110000>;
1873					hysteresis = <1000>;
1874					type = "critical";
1875				};
1876			};
1877		};
1878
1879		cpu6-thermal {
1880			polling-delay-passive = <0>;
1881			polling-delay = <0>;
1882
1883			thermal-sensors = <&tsens0 9>;
1884
1885			trips {
1886				cpu6_alert0: trip-point0 {
1887					temperature = <90000>;
1888					hysteresis = <2000>;
1889					type = "passive";
1890				};
1891
1892				cpu6_alert1: trip-point1 {
1893					temperature = <95000>;
1894					hysteresis = <2000>;
1895					type = "passive";
1896				};
1897
1898				cpu6_crit: cpu-crit {
1899					temperature = <110000>;
1900					hysteresis = <1000>;
1901					type = "critical";
1902				};
1903			};
1904		};
1905
1906		cpu7-thermal {
1907			polling-delay-passive = <0>;
1908			polling-delay = <0>;
1909
1910			thermal-sensors = <&tsens0 10>;
1911
1912			trips {
1913				cpu7_alert0: trip-point0 {
1914					temperature = <90000>;
1915					hysteresis = <2000>;
1916					type = "passive";
1917				};
1918
1919				cpu7_alert1: trip-point1 {
1920					temperature = <95000>;
1921					hysteresis = <2000>;
1922					type = "passive";
1923				};
1924
1925				cpu7_crit: cpu-crit {
1926					temperature = <110000>;
1927					hysteresis = <1000>;
1928					type = "critical";
1929				};
1930			};
1931		};
1932
1933		cpu-unk0-thermal {
1934			polling-delay-passive = <0>;
1935			polling-delay = <0>;
1936
1937			thermal-sensors = <&tsens0 11>;
1938
1939			trips {
1940				cpu_unk0_alert0: trip-point0 {
1941					temperature = <90000>;
1942					hysteresis = <2000>;
1943					type = "passive";
1944				};
1945
1946				cpu_unk0_alert1: trip-point1 {
1947					temperature = <95000>;
1948					hysteresis = <2000>;
1949					type = "passive";
1950				};
1951
1952				cpu_unk0_crit: cpu-crit {
1953					temperature = <110000>;
1954					hysteresis = <1000>;
1955					type = "critical";
1956				};
1957			};
1958		};
1959
1960		cpu-unk1-thermal {
1961			polling-delay-passive = <0>;
1962			polling-delay = <0>;
1963
1964			thermal-sensors = <&tsens0 12>;
1965
1966			trips {
1967				cpu_unk1_alert0: trip-point0 {
1968					temperature = <90000>;
1969					hysteresis = <2000>;
1970					type = "passive";
1971				};
1972
1973				cpu_unk1_alert1: trip-point1 {
1974					temperature = <95000>;
1975					hysteresis = <2000>;
1976					type = "passive";
1977				};
1978
1979				cpu_unk1_crit: cpu-crit {
1980					temperature = <110000>;
1981					hysteresis = <1000>;
1982					type = "critical";
1983				};
1984			};
1985		};
1986
1987		gpuss0-thermal {
1988			polling-delay-passive = <0>;
1989			polling-delay = <0>;
1990
1991			thermal-sensors = <&tsens0 13>;
1992
1993			trips {
1994				gpuss0_alert0: trip-point0 {
1995					temperature = <90000>;
1996					hysteresis = <2000>;
1997					type = "passive";
1998				};
1999
2000				gpuss0_alert1: trip-point1 {
2001					temperature = <95000>;
2002					hysteresis = <2000>;
2003					type = "passive";
2004				};
2005
2006				gpuss0_crit: gpu-crit {
2007					temperature = <110000>;
2008					hysteresis = <1000>;
2009					type = "critical";
2010				};
2011			};
2012		};
2013
2014		gpuss1-thermal {
2015			polling-delay-passive = <0>;
2016			polling-delay = <0>;
2017
2018			thermal-sensors = <&tsens0 14>;
2019
2020			trips {
2021				gpuss1_alert0: trip-point0 {
2022					temperature = <90000>;
2023					hysteresis = <2000>;
2024					type = "passive";
2025				};
2026
2027				gpuss1_alert1: trip-point1 {
2028					temperature = <95000>;
2029					hysteresis = <2000>;
2030					type = "passive";
2031				};
2032
2033				gpuss1_crit: gpu-crit {
2034					temperature = <110000>;
2035					hysteresis = <1000>;
2036					type = "critical";
2037				};
2038			};
2039		};
2040
2041		mapss1-thermal {
2042			polling-delay-passive = <0>;
2043			polling-delay = <0>;
2044
2045			thermal-sensors = <&tsens1 0>;
2046
2047			trips {
2048				mapss1_alert0: trip-point0 {
2049					temperature = <90000>;
2050					hysteresis = <2000>;
2051					type = "passive";
2052				};
2053
2054				mapss1_alert1: trip-point1 {
2055					temperature = <95000>;
2056					hysteresis = <2000>;
2057					type = "passive";
2058				};
2059
2060				mapss1_crit: mapss-crit {
2061					temperature = <110000>;
2062					hysteresis = <1000>;
2063					type = "critical";
2064				};
2065			};
2066		};
2067
2068		cwlan-thermal {
2069			polling-delay-passive = <0>;
2070			polling-delay = <0>;
2071
2072			thermal-sensors = <&tsens1 1>;
2073
2074			trips {
2075				cwlan_alert0: trip-point0 {
2076					temperature = <90000>;
2077					hysteresis = <2000>;
2078					type = "passive";
2079				};
2080
2081				cwlan_alert1: trip-point1 {
2082					temperature = <95000>;
2083					hysteresis = <2000>;
2084					type = "passive";
2085				};
2086
2087				cwlan_crit: cwlan-crit {
2088					temperature = <110000>;
2089					hysteresis = <1000>;
2090					type = "critical";
2091				};
2092			};
2093		};
2094
2095		audio-thermal {
2096			polling-delay-passive = <0>;
2097			polling-delay = <0>;
2098
2099			thermal-sensors = <&tsens1 2>;
2100
2101			trips {
2102				audio_alert0: trip-point0 {
2103					temperature = <90000>;
2104					hysteresis = <2000>;
2105					type = "passive";
2106				};
2107
2108				audio_alert1: trip-point1 {
2109					temperature = <95000>;
2110					hysteresis = <2000>;
2111					type = "passive";
2112				};
2113
2114				audio_crit: audio-crit {
2115					temperature = <110000>;
2116					hysteresis = <1000>;
2117					type = "critical";
2118				};
2119			};
2120		};
2121
2122		ddr-thermal {
2123			polling-delay-passive = <0>;
2124			polling-delay = <0>;
2125
2126			thermal-sensors = <&tsens1 3>;
2127
2128			trips {
2129				ddr_alert0: trip-point0 {
2130					temperature = <90000>;
2131					hysteresis = <2000>;
2132					type = "passive";
2133				};
2134
2135				ddr_alert1: trip-point1 {
2136					temperature = <95000>;
2137					hysteresis = <2000>;
2138					type = "passive";
2139				};
2140
2141				ddr_crit: ddr-crit {
2142					temperature = <110000>;
2143					hysteresis = <1000>;
2144					type = "critical";
2145				};
2146			};
2147		};
2148
2149		q6hvx-thermal {
2150			polling-delay-passive = <0>;
2151			polling-delay = <0>;
2152
2153			thermal-sensors = <&tsens1 4>;
2154
2155			trips {
2156				q6hvx_alert0: trip-point0 {
2157					temperature = <90000>;
2158					hysteresis = <2000>;
2159					type = "passive";
2160				};
2161
2162				q6hvx_alert1: trip-point1 {
2163					temperature = <95000>;
2164					hysteresis = <2000>;
2165					type = "passive";
2166				};
2167
2168				q6hvx_crit: q6hvx-crit {
2169					temperature = <110000>;
2170					hysteresis = <1000>;
2171					type = "critical";
2172				};
2173			};
2174		};
2175
2176		camera-thermal {
2177			polling-delay-passive = <0>;
2178			polling-delay = <0>;
2179
2180			thermal-sensors = <&tsens1 5>;
2181
2182			trips {
2183				camera_alert0: trip-point0 {
2184					temperature = <90000>;
2185					hysteresis = <2000>;
2186					type = "passive";
2187				};
2188
2189				camera_alert1: trip-point1 {
2190					temperature = <95000>;
2191					hysteresis = <2000>;
2192					type = "passive";
2193				};
2194
2195				camera_crit: camera-crit {
2196					temperature = <110000>;
2197					hysteresis = <1000>;
2198					type = "critical";
2199				};
2200			};
2201		};
2202
2203		mdm-core0-thermal {
2204			polling-delay-passive = <0>;
2205			polling-delay = <0>;
2206
2207			thermal-sensors = <&tsens1 6>;
2208
2209			trips {
2210				mdm_core0_alert0: trip-point0 {
2211					temperature = <90000>;
2212					hysteresis = <2000>;
2213					type = "passive";
2214				};
2215
2216				mdm_core0_alert1: trip-point1 {
2217					temperature = <95000>;
2218					hysteresis = <2000>;
2219					type = "passive";
2220				};
2221
2222				mdm_core0_crit: mdm-core0-crit {
2223					temperature = <110000>;
2224					hysteresis = <1000>;
2225					type = "critical";
2226				};
2227			};
2228		};
2229
2230		mdm-core1-thermal {
2231			polling-delay-passive = <0>;
2232			polling-delay = <0>;
2233
2234			thermal-sensors = <&tsens1 7>;
2235
2236			trips {
2237				mdm_core1_alert0: trip-point0 {
2238					temperature = <90000>;
2239					hysteresis = <2000>;
2240					type = "passive";
2241				};
2242
2243				mdm_core1_alert1: trip-point1 {
2244					temperature = <95000>;
2245					hysteresis = <2000>;
2246					type = "passive";
2247				};
2248
2249				mdm_core1_crit: mdm-core1-crit {
2250					temperature = <110000>;
2251					hysteresis = <1000>;
2252					type = "critical";
2253				};
2254			};
2255		};
2256
2257		mdm-vec-thermal {
2258			polling-delay-passive = <0>;
2259			polling-delay = <0>;
2260
2261			thermal-sensors = <&tsens1 8>;
2262
2263			trips {
2264				mdm_vec_alert0: trip-point0 {
2265					temperature = <90000>;
2266					hysteresis = <2000>;
2267					type = "passive";
2268				};
2269
2270				mdm_vec_alert1: trip-point1 {
2271					temperature = <95000>;
2272					hysteresis = <2000>;
2273					type = "passive";
2274				};
2275
2276				mdm_vec_crit: mdm-vec-crit {
2277					temperature = <110000>;
2278					hysteresis = <1000>;
2279					type = "critical";
2280				};
2281			};
2282		};
2283
2284		msm-scl-thermal {
2285			polling-delay-passive = <0>;
2286			polling-delay = <0>;
2287
2288			thermal-sensors = <&tsens1 9>;
2289
2290			trips {
2291				msm_scl_alert0: trip-point0 {
2292					temperature = <90000>;
2293					hysteresis = <2000>;
2294					type = "passive";
2295				};
2296
2297				msm_scl_alert1: trip-point1 {
2298					temperature = <95000>;
2299					hysteresis = <2000>;
2300					type = "passive";
2301				};
2302
2303				msm_scl_crit: msm-scl-crit {
2304					temperature = <110000>;
2305					hysteresis = <1000>;
2306					type = "critical";
2307				};
2308			};
2309		};
2310
2311		video-thermal {
2312			polling-delay-passive = <0>;
2313			polling-delay = <0>;
2314
2315			thermal-sensors = <&tsens1 10>;
2316
2317			trips {
2318				video_alert0: trip-point0 {
2319					temperature = <90000>;
2320					hysteresis = <2000>;
2321					type = "passive";
2322				};
2323
2324				video_alert1: trip-point1 {
2325					temperature = <95000>;
2326					hysteresis = <2000>;
2327					type = "passive";
2328				};
2329
2330				video_crit: video-crit {
2331					temperature = <110000>;
2332					hysteresis = <1000>;
2333					type = "critical";
2334				};
2335			};
2336		};
2337	};
2338
2339	timer {
2340		compatible = "arm,armv8-timer";
2341		interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2342			     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2343			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2344			     <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
2345	};
2346};
2347