• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: BSD-3-Clause
2/*
3 * Copyright (c) 2020, Linaro Limited
4 */
5
6#include <dt-bindings/interconnect/qcom,sm8350.h>
7#include <dt-bindings/interrupt-controller/arm-gic.h>
8#include <dt-bindings/clock/qcom,dispcc-sm8350.h>
9#include <dt-bindings/clock/qcom,gcc-sm8350.h>
10#include <dt-bindings/clock/qcom,gpucc-sm8350.h>
11#include <dt-bindings/clock/qcom,rpmh.h>
12#include <dt-bindings/dma/qcom-gpi.h>
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interconnect/qcom,sm8350.h>
15#include <dt-bindings/mailbox/qcom-ipcc.h>
16#include <dt-bindings/phy/phy-qcom-qmp.h>
17#include <dt-bindings/power/qcom-rpmpd.h>
18#include <dt-bindings/power/qcom,rpmhpd.h>
19#include <dt-bindings/soc/qcom,apr.h>
20#include <dt-bindings/soc/qcom,rpmh-rsc.h>
21#include <dt-bindings/sound/qcom,q6afe.h>
22#include <dt-bindings/thermal/thermal.h>
23#include <dt-bindings/interconnect/qcom,sm8350.h>
24
25/ {
26	interrupt-parent = <&intc>;
27
28	#address-cells = <2>;
29	#size-cells = <2>;
30
31	chosen { };
32
33	clocks {
34		xo_board: xo-board {
35			compatible = "fixed-clock";
36			#clock-cells = <0>;
37			clock-frequency = <38400000>;
38			clock-output-names = "xo_board";
39		};
40
41		sleep_clk: sleep-clk {
42			compatible = "fixed-clock";
43			clock-frequency = <32764>;
44			#clock-cells = <0>;
45		};
46	};
47
48	cpus {
49		#address-cells = <2>;
50		#size-cells = <0>;
51
52		CPU0: cpu@0 {
53			device_type = "cpu";
54			compatible = "arm,cortex-a55";
55			reg = <0x0 0x0>;
56			clocks = <&cpufreq_hw 0>;
57			enable-method = "psci";
58			next-level-cache = <&L2_0>;
59			qcom,freq-domain = <&cpufreq_hw 0>;
60			power-domains = <&CPU_PD0>;
61			power-domain-names = "psci";
62			#cooling-cells = <2>;
63			L2_0: l2-cache {
64				compatible = "cache";
65				cache-level = <2>;
66				cache-unified;
67				next-level-cache = <&L3_0>;
68				L3_0: l3-cache {
69					compatible = "cache";
70					cache-level = <3>;
71					cache-unified;
72				};
73			};
74		};
75
76		CPU1: cpu@100 {
77			device_type = "cpu";
78			compatible = "arm,cortex-a55";
79			reg = <0x0 0x100>;
80			clocks = <&cpufreq_hw 0>;
81			enable-method = "psci";
82			next-level-cache = <&L2_100>;
83			qcom,freq-domain = <&cpufreq_hw 0>;
84			power-domains = <&CPU_PD1>;
85			power-domain-names = "psci";
86			#cooling-cells = <2>;
87			L2_100: l2-cache {
88				compatible = "cache";
89				cache-level = <2>;
90				cache-unified;
91				next-level-cache = <&L3_0>;
92			};
93		};
94
95		CPU2: cpu@200 {
96			device_type = "cpu";
97			compatible = "arm,cortex-a55";
98			reg = <0x0 0x200>;
99			clocks = <&cpufreq_hw 0>;
100			enable-method = "psci";
101			next-level-cache = <&L2_200>;
102			qcom,freq-domain = <&cpufreq_hw 0>;
103			power-domains = <&CPU_PD2>;
104			power-domain-names = "psci";
105			#cooling-cells = <2>;
106			L2_200: l2-cache {
107				compatible = "cache";
108				cache-level = <2>;
109				cache-unified;
110				next-level-cache = <&L3_0>;
111			};
112		};
113
114		CPU3: cpu@300 {
115			device_type = "cpu";
116			compatible = "arm,cortex-a55";
117			reg = <0x0 0x300>;
118			clocks = <&cpufreq_hw 0>;
119			enable-method = "psci";
120			next-level-cache = <&L2_300>;
121			qcom,freq-domain = <&cpufreq_hw 0>;
122			power-domains = <&CPU_PD3>;
123			power-domain-names = "psci";
124			#cooling-cells = <2>;
125			L2_300: l2-cache {
126				compatible = "cache";
127				cache-level = <2>;
128				cache-unified;
129				next-level-cache = <&L3_0>;
130			};
131		};
132
133		CPU4: cpu@400 {
134			device_type = "cpu";
135			compatible = "arm,cortex-a78";
136			reg = <0x0 0x400>;
137			clocks = <&cpufreq_hw 1>;
138			enable-method = "psci";
139			next-level-cache = <&L2_400>;
140			qcom,freq-domain = <&cpufreq_hw 1>;
141			power-domains = <&CPU_PD4>;
142			power-domain-names = "psci";
143			#cooling-cells = <2>;
144			L2_400: l2-cache {
145				compatible = "cache";
146				cache-level = <2>;
147				cache-unified;
148				next-level-cache = <&L3_0>;
149			};
150		};
151
152		CPU5: cpu@500 {
153			device_type = "cpu";
154			compatible = "arm,cortex-a78";
155			reg = <0x0 0x500>;
156			clocks = <&cpufreq_hw 1>;
157			enable-method = "psci";
158			next-level-cache = <&L2_500>;
159			qcom,freq-domain = <&cpufreq_hw 1>;
160			power-domains = <&CPU_PD5>;
161			power-domain-names = "psci";
162			#cooling-cells = <2>;
163			L2_500: l2-cache {
164				compatible = "cache";
165				cache-level = <2>;
166				cache-unified;
167				next-level-cache = <&L3_0>;
168			};
169		};
170
171		CPU6: cpu@600 {
172			device_type = "cpu";
173			compatible = "arm,cortex-a78";
174			reg = <0x0 0x600>;
175			clocks = <&cpufreq_hw 1>;
176			enable-method = "psci";
177			next-level-cache = <&L2_600>;
178			qcom,freq-domain = <&cpufreq_hw 1>;
179			power-domains = <&CPU_PD6>;
180			power-domain-names = "psci";
181			#cooling-cells = <2>;
182			L2_600: l2-cache {
183				compatible = "cache";
184				cache-level = <2>;
185				cache-unified;
186				next-level-cache = <&L3_0>;
187			};
188		};
189
190		CPU7: cpu@700 {
191			device_type = "cpu";
192			compatible = "arm,cortex-x1";
193			reg = <0x0 0x700>;
194			clocks = <&cpufreq_hw 2>;
195			enable-method = "psci";
196			next-level-cache = <&L2_700>;
197			qcom,freq-domain = <&cpufreq_hw 2>;
198			power-domains = <&CPU_PD7>;
199			power-domain-names = "psci";
200			#cooling-cells = <2>;
201			L2_700: l2-cache {
202				compatible = "cache";
203				cache-level = <2>;
204				cache-unified;
205				next-level-cache = <&L3_0>;
206			};
207		};
208
209		cpu-map {
210			cluster0 {
211				core0 {
212					cpu = <&CPU0>;
213				};
214
215				core1 {
216					cpu = <&CPU1>;
217				};
218
219				core2 {
220					cpu = <&CPU2>;
221				};
222
223				core3 {
224					cpu = <&CPU3>;
225				};
226
227				core4 {
228					cpu = <&CPU4>;
229				};
230
231				core5 {
232					cpu = <&CPU5>;
233				};
234
235				core6 {
236					cpu = <&CPU6>;
237				};
238
239				core7 {
240					cpu = <&CPU7>;
241				};
242			};
243		};
244
245		idle-states {
246			entry-method = "psci";
247
248			LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
249				compatible = "arm,idle-state";
250				idle-state-name = "silver-rail-power-collapse";
251				arm,psci-suspend-param = <0x40000004>;
252				entry-latency-us = <360>;
253				exit-latency-us = <531>;
254				min-residency-us = <3934>;
255				local-timer-stop;
256			};
257
258			BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
259				compatible = "arm,idle-state";
260				idle-state-name = "gold-rail-power-collapse";
261				arm,psci-suspend-param = <0x40000004>;
262				entry-latency-us = <702>;
263				exit-latency-us = <1061>;
264				min-residency-us = <4488>;
265				local-timer-stop;
266			};
267		};
268
269		domain-idle-states {
270			CLUSTER_SLEEP_APSS_OFF: cluster-sleep-0 {
271				compatible = "domain-idle-state";
272				arm,psci-suspend-param = <0x41000044>;
273				entry-latency-us = <2752>;
274				exit-latency-us = <3048>;
275				min-residency-us = <6118>;
276			};
277
278			CLUSTER_SLEEP_AOSS_SLEEP: cluster-sleep-1 {
279				compatible = "domain-idle-state";
280				arm,psci-suspend-param = <0x4100c344>;
281				entry-latency-us = <3263>;
282				exit-latency-us = <6562>;
283				min-residency-us = <9987>;
284			};
285		};
286	};
287
288	firmware {
289		scm: scm {
290			compatible = "qcom,scm-sm8350", "qcom,scm";
291			#reset-cells = <1>;
292		};
293	};
294
295	memory@80000000 {
296		device_type = "memory";
297		/* We expect the bootloader to fill in the size */
298		reg = <0x0 0x80000000 0x0 0x0>;
299	};
300
301	pmu {
302		compatible = "arm,armv8-pmuv3";
303		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
304	};
305
306	psci {
307		compatible = "arm,psci-1.0";
308		method = "smc";
309
310		CPU_PD0: power-domain-cpu0 {
311			#power-domain-cells = <0>;
312			power-domains = <&CLUSTER_PD>;
313			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
314		};
315
316		CPU_PD1: power-domain-cpu1 {
317			#power-domain-cells = <0>;
318			power-domains = <&CLUSTER_PD>;
319			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
320		};
321
322		CPU_PD2: power-domain-cpu2 {
323			#power-domain-cells = <0>;
324			power-domains = <&CLUSTER_PD>;
325			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
326		};
327
328		CPU_PD3: power-domain-cpu3 {
329			#power-domain-cells = <0>;
330			power-domains = <&CLUSTER_PD>;
331			domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
332		};
333
334		CPU_PD4: power-domain-cpu4 {
335			#power-domain-cells = <0>;
336			power-domains = <&CLUSTER_PD>;
337			domain-idle-states = <&BIG_CPU_SLEEP_0>;
338		};
339
340		CPU_PD5: power-domain-cpu5 {
341			#power-domain-cells = <0>;
342			power-domains = <&CLUSTER_PD>;
343			domain-idle-states = <&BIG_CPU_SLEEP_0>;
344		};
345
346		CPU_PD6: power-domain-cpu6 {
347			#power-domain-cells = <0>;
348			power-domains = <&CLUSTER_PD>;
349			domain-idle-states = <&BIG_CPU_SLEEP_0>;
350		};
351
352		CPU_PD7: power-domain-cpu7 {
353			#power-domain-cells = <0>;
354			power-domains = <&CLUSTER_PD>;
355			domain-idle-states = <&BIG_CPU_SLEEP_0>;
356		};
357
358		CLUSTER_PD: power-domain-cpu-cluster0 {
359			#power-domain-cells = <0>;
360			domain-idle-states = <&CLUSTER_SLEEP_APSS_OFF &CLUSTER_SLEEP_AOSS_SLEEP>;
361		};
362	};
363
364	qup_opp_table_100mhz: opp-table-qup100mhz {
365		compatible = "operating-points-v2";
366
367		opp-50000000 {
368			opp-hz = /bits/ 64 <50000000>;
369			required-opps = <&rpmhpd_opp_min_svs>;
370		};
371
372		opp-75000000 {
373			opp-hz = /bits/ 64 <75000000>;
374			required-opps = <&rpmhpd_opp_low_svs>;
375		};
376
377		opp-100000000 {
378			opp-hz = /bits/ 64 <100000000>;
379			required-opps = <&rpmhpd_opp_svs>;
380		};
381	};
382
383	qup_opp_table_120mhz: opp-table-qup120mhz {
384		compatible = "operating-points-v2";
385
386		opp-50000000 {
387			opp-hz = /bits/ 64 <50000000>;
388			required-opps = <&rpmhpd_opp_min_svs>;
389		};
390
391		opp-75000000 {
392			opp-hz = /bits/ 64 <75000000>;
393			required-opps = <&rpmhpd_opp_low_svs>;
394		};
395
396		opp-120000000 {
397			opp-hz = /bits/ 64 <120000000>;
398			required-opps = <&rpmhpd_opp_svs>;
399		};
400	};
401
402	reserved_memory: reserved-memory {
403		#address-cells = <2>;
404		#size-cells = <2>;
405		ranges;
406
407		hyp_mem: memory@80000000 {
408			reg = <0x0 0x80000000 0x0 0x600000>;
409			no-map;
410		};
411
412		xbl_aop_mem: memory@80700000 {
413			no-map;
414			reg = <0x0 0x80700000 0x0 0x160000>;
415		};
416
417		cmd_db: memory@80860000 {
418			compatible = "qcom,cmd-db";
419			reg = <0x0 0x80860000 0x0 0x20000>;
420			no-map;
421		};
422
423		reserved_xbl_uefi_log: memory@80880000 {
424			reg = <0x0 0x80880000 0x0 0x14000>;
425			no-map;
426		};
427
428		smem@80900000 {
429			compatible = "qcom,smem";
430			reg = <0x0 0x80900000 0x0 0x200000>;
431			hwlocks = <&tcsr_mutex 3>;
432			no-map;
433		};
434
435		cpucp_fw_mem: memory@80b00000 {
436			reg = <0x0 0x80b00000 0x0 0x100000>;
437			no-map;
438		};
439
440		cdsp_secure_heap: memory@80c00000 {
441			reg = <0x0 0x80c00000 0x0 0x4600000>;
442			no-map;
443		};
444
445		pil_camera_mem: memory@85200000 {
446			reg = <0x0 0x85200000 0x0 0x500000>;
447			no-map;
448		};
449
450		pil_video_mem: memory@85700000 {
451			reg = <0x0 0x85700000 0x0 0x500000>;
452			no-map;
453		};
454
455		pil_cvp_mem: memory@85c00000 {
456			reg = <0x0 0x85c00000 0x0 0x500000>;
457			no-map;
458		};
459
460		pil_adsp_mem: memory@86100000 {
461			reg = <0x0 0x86100000 0x0 0x2100000>;
462			no-map;
463		};
464
465		pil_slpi_mem: memory@88200000 {
466			reg = <0x0 0x88200000 0x0 0x1500000>;
467			no-map;
468		};
469
470		pil_cdsp_mem: memory@89700000 {
471			reg = <0x0 0x89700000 0x0 0x1e00000>;
472			no-map;
473		};
474
475		pil_ipa_fw_mem: memory@8b500000 {
476			reg = <0x0 0x8b500000 0x0 0x10000>;
477			no-map;
478		};
479
480		pil_ipa_gsi_mem: memory@8b510000 {
481			reg = <0x0 0x8b510000 0x0 0xa000>;
482			no-map;
483		};
484
485		pil_gpu_mem: memory@8b51a000 {
486			reg = <0x0 0x8b51a000 0x0 0x2000>;
487			no-map;
488		};
489
490		pil_spss_mem: memory@8b600000 {
491			reg = <0x0 0x8b600000 0x0 0x100000>;
492			no-map;
493		};
494
495		pil_modem_mem: memory@8b800000 {
496			reg = <0x0 0x8b800000 0x0 0x10000000>;
497			no-map;
498		};
499
500		rmtfs_mem: memory@9b800000 {
501			compatible = "qcom,rmtfs-mem";
502			reg = <0x0 0x9b800000 0x0 0x280000>;
503			no-map;
504
505			qcom,client-id = <1>;
506			qcom,vmid = <15>;
507		};
508
509		hyp_reserved_mem: memory@d0000000 {
510			reg = <0x0 0xd0000000 0x0 0x800000>;
511			no-map;
512		};
513
514		pil_trustedvm_mem: memory@d0800000 {
515			reg = <0x0 0xd0800000 0x0 0x76f7000>;
516			no-map;
517		};
518
519		qrtr_shbuf: memory@d7ef7000 {
520			reg = <0x0 0xd7ef7000 0x0 0x9000>;
521			no-map;
522		};
523
524		chan0_shbuf: memory@d7f00000 {
525			reg = <0x0 0xd7f00000 0x0 0x80000>;
526			no-map;
527		};
528
529		chan1_shbuf: memory@d7f80000 {
530			reg = <0x0 0xd7f80000 0x0 0x80000>;
531			no-map;
532		};
533
534		removed_mem: memory@d8800000 {
535			reg = <0x0 0xd8800000 0x0 0x6800000>;
536			no-map;
537		};
538	};
539
540	smp2p-adsp {
541		compatible = "qcom,smp2p";
542		qcom,smem = <443>, <429>;
543		interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
544					     IPCC_MPROC_SIGNAL_SMP2P
545					     IRQ_TYPE_EDGE_RISING>;
546		mboxes = <&ipcc IPCC_CLIENT_LPASS
547				IPCC_MPROC_SIGNAL_SMP2P>;
548
549		qcom,local-pid = <0>;
550		qcom,remote-pid = <2>;
551
552		smp2p_adsp_out: master-kernel {
553			qcom,entry-name = "master-kernel";
554			#qcom,smem-state-cells = <1>;
555		};
556
557		smp2p_adsp_in: slave-kernel {
558			qcom,entry-name = "slave-kernel";
559			interrupt-controller;
560			#interrupt-cells = <2>;
561		};
562	};
563
564	smp2p-cdsp {
565		compatible = "qcom,smp2p";
566		qcom,smem = <94>, <432>;
567		interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
568					     IPCC_MPROC_SIGNAL_SMP2P
569					     IRQ_TYPE_EDGE_RISING>;
570		mboxes = <&ipcc IPCC_CLIENT_CDSP
571				IPCC_MPROC_SIGNAL_SMP2P>;
572
573		qcom,local-pid = <0>;
574		qcom,remote-pid = <5>;
575
576		smp2p_cdsp_out: master-kernel {
577			qcom,entry-name = "master-kernel";
578			#qcom,smem-state-cells = <1>;
579		};
580
581		smp2p_cdsp_in: slave-kernel {
582			qcom,entry-name = "slave-kernel";
583			interrupt-controller;
584			#interrupt-cells = <2>;
585		};
586	};
587
588	smp2p-modem {
589		compatible = "qcom,smp2p";
590		qcom,smem = <435>, <428>;
591		interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
592					     IPCC_MPROC_SIGNAL_SMP2P
593					     IRQ_TYPE_EDGE_RISING>;
594		mboxes = <&ipcc IPCC_CLIENT_MPSS
595				IPCC_MPROC_SIGNAL_SMP2P>;
596
597		qcom,local-pid = <0>;
598		qcom,remote-pid = <1>;
599
600		smp2p_modem_out: master-kernel {
601			qcom,entry-name = "master-kernel";
602			#qcom,smem-state-cells = <1>;
603		};
604
605		smp2p_modem_in: slave-kernel {
606			qcom,entry-name = "slave-kernel";
607			interrupt-controller;
608			#interrupt-cells = <2>;
609		};
610
611		ipa_smp2p_out: ipa-ap-to-modem {
612			qcom,entry-name = "ipa";
613			#qcom,smem-state-cells = <1>;
614		};
615
616		ipa_smp2p_in: ipa-modem-to-ap {
617			qcom,entry-name = "ipa";
618			interrupt-controller;
619			#interrupt-cells = <2>;
620		};
621	};
622
623	smp2p-slpi {
624		compatible = "qcom,smp2p";
625		qcom,smem = <481>, <430>;
626		interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
627					     IPCC_MPROC_SIGNAL_SMP2P
628					     IRQ_TYPE_EDGE_RISING>;
629		mboxes = <&ipcc IPCC_CLIENT_SLPI
630				IPCC_MPROC_SIGNAL_SMP2P>;
631
632		qcom,local-pid = <0>;
633		qcom,remote-pid = <3>;
634
635		smp2p_slpi_out: master-kernel {
636			qcom,entry-name = "master-kernel";
637			#qcom,smem-state-cells = <1>;
638		};
639
640		smp2p_slpi_in: slave-kernel {
641			qcom,entry-name = "slave-kernel";
642			interrupt-controller;
643			#interrupt-cells = <2>;
644		};
645	};
646
647	soc: soc@0 {
648		#address-cells = <2>;
649		#size-cells = <2>;
650		ranges = <0 0 0 0 0x10 0>;
651		dma-ranges = <0 0 0 0 0x10 0>;
652		compatible = "simple-bus";
653
654		gcc: clock-controller@100000 {
655			compatible = "qcom,gcc-sm8350";
656			reg = <0x0 0x00100000 0x0 0x1f0000>;
657			#clock-cells = <1>;
658			#reset-cells = <1>;
659			#power-domain-cells = <1>;
660			clock-names = "bi_tcxo",
661				      "sleep_clk",
662				      "pcie_0_pipe_clk",
663				      "pcie_1_pipe_clk",
664				      "ufs_card_rx_symbol_0_clk",
665				      "ufs_card_rx_symbol_1_clk",
666				      "ufs_card_tx_symbol_0_clk",
667				      "ufs_phy_rx_symbol_0_clk",
668				      "ufs_phy_rx_symbol_1_clk",
669				      "ufs_phy_tx_symbol_0_clk",
670				      "usb3_phy_wrapper_gcc_usb30_pipe_clk",
671				      "usb3_uni_phy_sec_gcc_usb30_pipe_clk";
672			clocks = <&rpmhcc RPMH_CXO_CLK>,
673				 <&sleep_clk>,
674				 <&pcie0_phy>,
675				 <&pcie1_phy>,
676				 <0>,
677				 <0>,
678				 <0>,
679				 <&ufs_mem_phy_lanes 0>,
680				 <&ufs_mem_phy_lanes 1>,
681				 <&ufs_mem_phy_lanes 2>,
682				 <&usb_1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
683				 <0>;
684		};
685
686		ipcc: mailbox@408000 {
687			compatible = "qcom,sm8350-ipcc", "qcom,ipcc";
688			reg = <0 0x00408000 0 0x1000>;
689			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
690			interrupt-controller;
691			#interrupt-cells = <3>;
692			#mbox-cells = <2>;
693		};
694
695		gpi_dma2: dma-controller@800000 {
696			compatible = "qcom,sm8350-gpi-dma", "qcom,sm6350-gpi-dma";
697			reg = <0 0x00800000 0 0x60000>;
698			interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
699				     <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
700				     <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
701				     <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
702				     <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
703				     <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
704				     <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
705				     <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
706				     <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
707				     <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
708				     <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
709				     <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>;
710			dma-channels = <12>;
711			dma-channel-mask = <0xff>;
712			iommus = <&apps_smmu 0x5f6 0x0>;
713			#dma-cells = <3>;
714			status = "disabled";
715		};
716
717		qupv3_id_2: geniqup@8c0000 {
718			compatible = "qcom,geni-se-qup";
719			reg = <0x0 0x008c0000 0x0 0x6000>;
720			clock-names = "m-ahb", "s-ahb";
721			clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
722				 <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
723			iommus = <&apps_smmu 0x5e3 0x0>;
724			#address-cells = <2>;
725			#size-cells = <2>;
726			ranges;
727			status = "disabled";
728
729			i2c14: i2c@880000 {
730				compatible = "qcom,geni-i2c";
731				reg = <0 0x00880000 0 0x4000>;
732				clock-names = "se";
733				clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
734				pinctrl-names = "default";
735				pinctrl-0 = <&qup_i2c14_default>;
736				interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
737				dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
738				       <&gpi_dma2 1 0 QCOM_GPI_I2C>;
739				dma-names = "tx", "rx";
740				#address-cells = <1>;
741				#size-cells = <0>;
742				status = "disabled";
743			};
744
745			spi14: spi@880000 {
746				compatible = "qcom,geni-spi";
747				reg = <0 0x00880000 0 0x4000>;
748				clock-names = "se";
749				clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
750				interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
751				power-domains = <&rpmhpd RPMHPD_CX>;
752				operating-points-v2 = <&qup_opp_table_120mhz>;
753				dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>,
754				       <&gpi_dma2 1 0 QCOM_GPI_SPI>;
755				dma-names = "tx", "rx";
756				#address-cells = <1>;
757				#size-cells = <0>;
758				status = "disabled";
759			};
760
761			i2c15: i2c@884000 {
762				compatible = "qcom,geni-i2c";
763				reg = <0 0x00884000 0 0x4000>;
764				clock-names = "se";
765				clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
766				pinctrl-names = "default";
767				pinctrl-0 = <&qup_i2c15_default>;
768				interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
769				dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
770				       <&gpi_dma2 1 1 QCOM_GPI_I2C>;
771				dma-names = "tx", "rx";
772				#address-cells = <1>;
773				#size-cells = <0>;
774				status = "disabled";
775			};
776
777			spi15: spi@884000 {
778				compatible = "qcom,geni-spi";
779				reg = <0 0x00884000 0 0x4000>;
780				clock-names = "se";
781				clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
782				interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
783				power-domains = <&rpmhpd RPMHPD_CX>;
784				operating-points-v2 = <&qup_opp_table_120mhz>;
785				dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>,
786				       <&gpi_dma2 1 1 QCOM_GPI_SPI>;
787				dma-names = "tx", "rx";
788				#address-cells = <1>;
789				#size-cells = <0>;
790				status = "disabled";
791			};
792
793			i2c16: i2c@888000 {
794				compatible = "qcom,geni-i2c";
795				reg = <0 0x00888000 0 0x4000>;
796				clock-names = "se";
797				clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
798				pinctrl-names = "default";
799				pinctrl-0 = <&qup_i2c16_default>;
800				interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
801				dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
802				       <&gpi_dma2 1 2 QCOM_GPI_I2C>;
803				dma-names = "tx", "rx";
804				#address-cells = <1>;
805				#size-cells = <0>;
806				status = "disabled";
807			};
808
809			spi16: spi@888000 {
810				compatible = "qcom,geni-spi";
811				reg = <0 0x00888000 0 0x4000>;
812				clock-names = "se";
813				clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
814				interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
815				power-domains = <&rpmhpd RPMHPD_CX>;
816				operating-points-v2 = <&qup_opp_table_100mhz>;
817				dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>,
818				       <&gpi_dma2 1 2 QCOM_GPI_SPI>;
819				dma-names = "tx", "rx";
820				#address-cells = <1>;
821				#size-cells = <0>;
822				status = "disabled";
823			};
824
825			i2c17: i2c@88c000 {
826				compatible = "qcom,geni-i2c";
827				reg = <0 0x0088c000 0 0x4000>;
828				clock-names = "se";
829				clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
830				pinctrl-names = "default";
831				pinctrl-0 = <&qup_i2c17_default>;
832				interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
833				dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
834				       <&gpi_dma2 1 3 QCOM_GPI_I2C>;
835				dma-names = "tx", "rx";
836				#address-cells = <1>;
837				#size-cells = <0>;
838				status = "disabled";
839			};
840
841			spi17: spi@88c000 {
842				compatible = "qcom,geni-spi";
843				reg = <0 0x0088c000 0 0x4000>;
844				clock-names = "se";
845				clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
846				interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
847				power-domains = <&rpmhpd RPMHPD_CX>;
848				operating-points-v2 = <&qup_opp_table_100mhz>;
849				dmas = <&gpi_dma2 0 3 QCOM_GPI_SPI>,
850				       <&gpi_dma2 1 3 QCOM_GPI_SPI>;
851				dma-names = "tx", "rx";
852				#address-cells = <1>;
853				#size-cells = <0>;
854				status = "disabled";
855			};
856
857			/* QUP no. 18 seems to be strictly SPI/UART-only */
858
859			spi18: spi@890000 {
860				compatible = "qcom,geni-spi";
861				reg = <0 0x00890000 0 0x4000>;
862				clock-names = "se";
863				clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
864				interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
865				power-domains = <&rpmhpd RPMHPD_CX>;
866				operating-points-v2 = <&qup_opp_table_100mhz>;
867				dmas = <&gpi_dma2 0 4 QCOM_GPI_SPI>,
868				       <&gpi_dma2 1 4 QCOM_GPI_SPI>;
869				dma-names = "tx", "rx";
870				#address-cells = <1>;
871				#size-cells = <0>;
872				status = "disabled";
873			};
874
875			uart18: serial@890000 {
876				compatible = "qcom,geni-uart";
877				reg = <0 0x00890000 0 0x4000>;
878				clock-names = "se";
879				clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
880				pinctrl-names = "default";
881				pinctrl-0 = <&qup_uart18_default>;
882				interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
883				power-domains = <&rpmhpd RPMHPD_CX>;
884				operating-points-v2 = <&qup_opp_table_100mhz>;
885				status = "disabled";
886			};
887
888			i2c19: i2c@894000 {
889				compatible = "qcom,geni-i2c";
890				reg = <0 0x00894000 0 0x4000>;
891				clock-names = "se";
892				clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
893				pinctrl-names = "default";
894				pinctrl-0 = <&qup_i2c19_default>;
895				interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
896				dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
897				       <&gpi_dma2 1 5 QCOM_GPI_I2C>;
898				dma-names = "tx", "rx";
899				#address-cells = <1>;
900				#size-cells = <0>;
901				status = "disabled";
902			};
903
904			spi19: spi@894000 {
905				compatible = "qcom,geni-spi";
906				reg = <0 0x00894000 0 0x4000>;
907				clock-names = "se";
908				clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
909				interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
910				power-domains = <&rpmhpd RPMHPD_CX>;
911				operating-points-v2 = <&qup_opp_table_100mhz>;
912				dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
913				       <&gpi_dma2 1 5 QCOM_GPI_SPI>;
914				dma-names = "tx", "rx";
915				#address-cells = <1>;
916				#size-cells = <0>;
917				status = "disabled";
918			};
919		};
920
921		gpi_dma0: dma-controller@900000 {
922			compatible = "qcom,sm8350-gpi-dma", "qcom,sm6350-gpi-dma";
923			reg = <0 0x00900000 0 0x60000>;
924			interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
925				     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
926				     <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
927				     <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
928				     <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
929				     <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
930				     <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
931				     <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
932				     <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
933				     <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
934				     <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
935				     <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
936			dma-channels = <12>;
937			dma-channel-mask = <0x7e>;
938			iommus = <&apps_smmu 0x5b6 0x0>;
939			#dma-cells = <3>;
940			status = "disabled";
941		};
942
943		qupv3_id_0: geniqup@9c0000 {
944			compatible = "qcom,geni-se-qup";
945			reg = <0x0 0x009c0000 0x0 0x6000>;
946			clock-names = "m-ahb", "s-ahb";
947			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
948				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
949			iommus = <&apps_smmu 0x5a3 0>;
950			#address-cells = <2>;
951			#size-cells = <2>;
952			ranges;
953			status = "disabled";
954
955			i2c0: i2c@980000 {
956				compatible = "qcom,geni-i2c";
957				reg = <0 0x00980000 0 0x4000>;
958				clock-names = "se";
959				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
960				pinctrl-names = "default";
961				pinctrl-0 = <&qup_i2c0_default>;
962				interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
963				dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
964				       <&gpi_dma0 1 0 QCOM_GPI_I2C>;
965				dma-names = "tx", "rx";
966				#address-cells = <1>;
967				#size-cells = <0>;
968				status = "disabled";
969			};
970
971			spi0: spi@980000 {
972				compatible = "qcom,geni-spi";
973				reg = <0 0x00980000 0 0x4000>;
974				clock-names = "se";
975				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
976				interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
977				power-domains = <&rpmhpd RPMHPD_CX>;
978				operating-points-v2 = <&qup_opp_table_100mhz>;
979				dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
980				       <&gpi_dma0 1 0 QCOM_GPI_SPI>;
981				dma-names = "tx", "rx";
982				#address-cells = <1>;
983				#size-cells = <0>;
984				status = "disabled";
985			};
986
987			i2c1: i2c@984000 {
988				compatible = "qcom,geni-i2c";
989				reg = <0 0x00984000 0 0x4000>;
990				clock-names = "se";
991				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
992				pinctrl-names = "default";
993				pinctrl-0 = <&qup_i2c1_default>;
994				interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
995				dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
996				       <&gpi_dma0 1 1 QCOM_GPI_I2C>;
997				dma-names = "tx", "rx";
998				#address-cells = <1>;
999				#size-cells = <0>;
1000				status = "disabled";
1001			};
1002
1003			spi1: spi@984000 {
1004				compatible = "qcom,geni-spi";
1005				reg = <0 0x00984000 0 0x4000>;
1006				clock-names = "se";
1007				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
1008				interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
1009				power-domains = <&rpmhpd RPMHPD_CX>;
1010				operating-points-v2 = <&qup_opp_table_100mhz>;
1011				dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
1012				       <&gpi_dma0 1 1 QCOM_GPI_SPI>;
1013				dma-names = "tx", "rx";
1014				#address-cells = <1>;
1015				#size-cells = <0>;
1016				status = "disabled";
1017			};
1018
1019			i2c2: i2c@988000 {
1020				compatible = "qcom,geni-i2c";
1021				reg = <0 0x00988000 0 0x4000>;
1022				clock-names = "se";
1023				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1024				pinctrl-names = "default";
1025				pinctrl-0 = <&qup_i2c2_default>;
1026				interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1027				dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
1028				       <&gpi_dma0 1 2 QCOM_GPI_I2C>;
1029				dma-names = "tx", "rx";
1030				#address-cells = <1>;
1031				#size-cells = <0>;
1032				status = "disabled";
1033			};
1034
1035			spi2: spi@988000 {
1036				compatible = "qcom,geni-spi";
1037				reg = <0 0x00988000 0 0x4000>;
1038				clock-names = "se";
1039				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1040				interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
1041				power-domains = <&rpmhpd RPMHPD_CX>;
1042				operating-points-v2 = <&qup_opp_table_100mhz>;
1043				dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1044				       <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1045				dma-names = "tx", "rx";
1046				#address-cells = <1>;
1047				#size-cells = <0>;
1048				status = "disabled";
1049			};
1050
1051			uart2: serial@98c000 {
1052				compatible = "qcom,geni-debug-uart";
1053				reg = <0 0x0098c000 0 0x4000>;
1054				clock-names = "se";
1055				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1056				pinctrl-names = "default";
1057				pinctrl-0 = <&qup_uart3_default_state>;
1058				interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1059				power-domains = <&rpmhpd RPMHPD_CX>;
1060				operating-points-v2 = <&qup_opp_table_100mhz>;
1061				status = "disabled";
1062			};
1063
1064			/* QUP no. 3 seems to be strictly SPI-only */
1065
1066			spi3: spi@98c000 {
1067				compatible = "qcom,geni-spi";
1068				reg = <0 0x0098c000 0 0x4000>;
1069				clock-names = "se";
1070				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
1071				interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
1072				power-domains = <&rpmhpd RPMHPD_CX>;
1073				operating-points-v2 = <&qup_opp_table_100mhz>;
1074				dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
1075				       <&gpi_dma0 1 3 QCOM_GPI_SPI>;
1076				dma-names = "tx", "rx";
1077				#address-cells = <1>;
1078				#size-cells = <0>;
1079				status = "disabled";
1080			};
1081
1082			i2c4: i2c@990000 {
1083				compatible = "qcom,geni-i2c";
1084				reg = <0 0x00990000 0 0x4000>;
1085				clock-names = "se";
1086				clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1087				pinctrl-names = "default";
1088				pinctrl-0 = <&qup_i2c4_default>;
1089				interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1090				dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
1091				       <&gpi_dma0 1 4 QCOM_GPI_I2C>;
1092				dma-names = "tx", "rx";
1093				#address-cells = <1>;
1094				#size-cells = <0>;
1095				status = "disabled";
1096			};
1097
1098			spi4: spi@990000 {
1099				compatible = "qcom,geni-spi";
1100				reg = <0 0x00990000 0 0x4000>;
1101				clock-names = "se";
1102				clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
1103				interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
1104				power-domains = <&rpmhpd RPMHPD_CX>;
1105				operating-points-v2 = <&qup_opp_table_100mhz>;
1106				dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
1107				       <&gpi_dma0 1 4 QCOM_GPI_SPI>;
1108				dma-names = "tx", "rx";
1109				#address-cells = <1>;
1110				#size-cells = <0>;
1111				status = "disabled";
1112			};
1113
1114			i2c5: i2c@994000 {
1115				compatible = "qcom,geni-i2c";
1116				reg = <0 0x00994000 0 0x4000>;
1117				clock-names = "se";
1118				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1119				pinctrl-names = "default";
1120				pinctrl-0 = <&qup_i2c5_default>;
1121				interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1122				dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
1123				       <&gpi_dma0 1 5 QCOM_GPI_I2C>;
1124				dma-names = "tx", "rx";
1125				#address-cells = <1>;
1126				#size-cells = <0>;
1127				status = "disabled";
1128			};
1129
1130			spi5: spi@994000 {
1131				compatible = "qcom,geni-spi";
1132				reg = <0 0x00994000 0 0x4000>;
1133				clock-names = "se";
1134				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
1135				interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
1136				power-domains = <&rpmhpd RPMHPD_CX>;
1137				operating-points-v2 = <&qup_opp_table_100mhz>;
1138				dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
1139				       <&gpi_dma0 1 5 QCOM_GPI_SPI>;
1140				dma-names = "tx", "rx";
1141				#address-cells = <1>;
1142				#size-cells = <0>;
1143				status = "disabled";
1144			};
1145
1146			i2c6: i2c@998000 {
1147				compatible = "qcom,geni-i2c";
1148				reg = <0 0x00998000 0 0x4000>;
1149				clock-names = "se";
1150				clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1151				pinctrl-names = "default";
1152				pinctrl-0 = <&qup_i2c6_default>;
1153				interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1154				dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
1155				       <&gpi_dma0 1 6 QCOM_GPI_I2C>;
1156				dma-names = "tx", "rx";
1157				#address-cells = <1>;
1158				#size-cells = <0>;
1159				status = "disabled";
1160			};
1161
1162			spi6: spi@998000 {
1163				compatible = "qcom,geni-spi";
1164				reg = <0 0x00998000 0 0x4000>;
1165				clock-names = "se";
1166				clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1167				interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1168				power-domains = <&rpmhpd RPMHPD_CX>;
1169				operating-points-v2 = <&qup_opp_table_100mhz>;
1170				dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
1171				       <&gpi_dma0 1 6 QCOM_GPI_SPI>;
1172				dma-names = "tx", "rx";
1173				#address-cells = <1>;
1174				#size-cells = <0>;
1175				status = "disabled";
1176			};
1177
1178			uart6: serial@998000 {
1179				compatible = "qcom,geni-uart";
1180				reg = <0 0x00998000 0 0x4000>;
1181				clock-names = "se";
1182				clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
1183				pinctrl-names = "default";
1184				pinctrl-0 = <&qup_uart6_default>;
1185				interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
1186				power-domains = <&rpmhpd RPMHPD_CX>;
1187				operating-points-v2 = <&qup_opp_table_100mhz>;
1188				status = "disabled";
1189			};
1190
1191			i2c7: i2c@99c000 {
1192				compatible = "qcom,geni-i2c";
1193				reg = <0 0x0099c000 0 0x4000>;
1194				clock-names = "se";
1195				clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1196				pinctrl-names = "default";
1197				pinctrl-0 = <&qup_i2c7_default>;
1198				interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1199				dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
1200				       <&gpi_dma0 1 7 QCOM_GPI_I2C>;
1201				dma-names = "tx", "rx";
1202				#address-cells = <1>;
1203				#size-cells = <0>;
1204				status = "disabled";
1205			};
1206
1207			spi7: spi@99c000 {
1208				compatible = "qcom,geni-spi";
1209				reg = <0 0x0099c000 0 0x4000>;
1210				clock-names = "se";
1211				clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
1212				interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
1213				power-domains = <&rpmhpd RPMHPD_CX>;
1214				operating-points-v2 = <&qup_opp_table_100mhz>;
1215				dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>,
1216				       <&gpi_dma0 1 7 QCOM_GPI_SPI>;
1217				dma-names = "tx", "rx";
1218				#address-cells = <1>;
1219				#size-cells = <0>;
1220				status = "disabled";
1221			};
1222		};
1223
1224		gpi_dma1: dma-controller@a00000 {
1225			compatible = "qcom,sm8350-gpi-dma", "qcom,sm6350-gpi-dma";
1226			reg = <0 0x00a00000 0 0x60000>;
1227			interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
1228				     <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
1229				     <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
1230				     <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1231				     <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
1232				     <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
1233				     <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
1234				     <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
1235				     <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
1236				     <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
1237				     <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
1238				     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
1239			dma-channels = <12>;
1240			dma-channel-mask = <0xff>;
1241			iommus = <&apps_smmu 0x56 0x0>;
1242			#dma-cells = <3>;
1243			status = "disabled";
1244		};
1245
1246		qupv3_id_1: geniqup@ac0000 {
1247			compatible = "qcom,geni-se-qup";
1248			reg = <0x0 0x00ac0000 0x0 0x6000>;
1249			clock-names = "m-ahb", "s-ahb";
1250			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1251				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1252			iommus = <&apps_smmu 0x43 0>;
1253			#address-cells = <2>;
1254			#size-cells = <2>;
1255			ranges;
1256			status = "disabled";
1257
1258			i2c8: i2c@a80000 {
1259				compatible = "qcom,geni-i2c";
1260				reg = <0 0x00a80000 0 0x4000>;
1261				clock-names = "se";
1262				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1263				pinctrl-names = "default";
1264				pinctrl-0 = <&qup_i2c8_default>;
1265				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1266				dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1267				       <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1268				dma-names = "tx", "rx";
1269				#address-cells = <1>;
1270				#size-cells = <0>;
1271				status = "disabled";
1272			};
1273
1274			spi8: spi@a80000 {
1275				compatible = "qcom,geni-spi";
1276				reg = <0 0x00a80000 0 0x4000>;
1277				clock-names = "se";
1278				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1279				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1280				power-domains = <&rpmhpd RPMHPD_CX>;
1281				operating-points-v2 = <&qup_opp_table_120mhz>;
1282				dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1283				       <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1284				dma-names = "tx", "rx";
1285				#address-cells = <1>;
1286				#size-cells = <0>;
1287				status = "disabled";
1288			};
1289
1290			i2c9: i2c@a84000 {
1291				compatible = "qcom,geni-i2c";
1292				reg = <0 0x00a84000 0 0x4000>;
1293				clock-names = "se";
1294				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1295				pinctrl-names = "default";
1296				pinctrl-0 = <&qup_i2c9_default>;
1297				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1298				dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1299				       <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1300				dma-names = "tx", "rx";
1301				#address-cells = <1>;
1302				#size-cells = <0>;
1303				status = "disabled";
1304			};
1305
1306			spi9: spi@a84000 {
1307				compatible = "qcom,geni-spi";
1308				reg = <0 0x00a84000 0 0x4000>;
1309				clock-names = "se";
1310				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1311				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1312				power-domains = <&rpmhpd RPMHPD_CX>;
1313				operating-points-v2 = <&qup_opp_table_100mhz>;
1314				dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1315				       <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1316				dma-names = "tx", "rx";
1317				#address-cells = <1>;
1318				#size-cells = <0>;
1319				status = "disabled";
1320			};
1321
1322			i2c10: i2c@a88000 {
1323				compatible = "qcom,geni-i2c";
1324				reg = <0 0x00a88000 0 0x4000>;
1325				clock-names = "se";
1326				clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1327				pinctrl-names = "default";
1328				pinctrl-0 = <&qup_i2c10_default>;
1329				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1330				dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1331				       <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1332				dma-names = "tx", "rx";
1333				#address-cells = <1>;
1334				#size-cells = <0>;
1335				status = "disabled";
1336			};
1337
1338			spi10: spi@a88000 {
1339				compatible = "qcom,geni-spi";
1340				reg = <0 0x00a88000 0 0x4000>;
1341				clock-names = "se";
1342				clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1343				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1344				power-domains = <&rpmhpd RPMHPD_CX>;
1345				operating-points-v2 = <&qup_opp_table_100mhz>;
1346				dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1347				       <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1348				dma-names = "tx", "rx";
1349				#address-cells = <1>;
1350				#size-cells = <0>;
1351				status = "disabled";
1352			};
1353
1354			i2c11: i2c@a8c000 {
1355				compatible = "qcom,geni-i2c";
1356				reg = <0 0x00a8c000 0 0x4000>;
1357				clock-names = "se";
1358				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1359				pinctrl-names = "default";
1360				pinctrl-0 = <&qup_i2c11_default>;
1361				interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1362				dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1363				       <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1364				dma-names = "tx", "rx";
1365				#address-cells = <1>;
1366				#size-cells = <0>;
1367				status = "disabled";
1368			};
1369
1370			spi11: spi@a8c000 {
1371				compatible = "qcom,geni-spi";
1372				reg = <0 0x00a8c000 0 0x4000>;
1373				clock-names = "se";
1374				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1375				interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1376				power-domains = <&rpmhpd RPMHPD_CX>;
1377				operating-points-v2 = <&qup_opp_table_100mhz>;
1378				dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1379				       <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1380				dma-names = "tx", "rx";
1381				#address-cells = <1>;
1382				#size-cells = <0>;
1383				status = "disabled";
1384			};
1385
1386			i2c12: i2c@a90000 {
1387				compatible = "qcom,geni-i2c";
1388				reg = <0 0x00a90000 0 0x4000>;
1389				clock-names = "se";
1390				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1391				pinctrl-names = "default";
1392				pinctrl-0 = <&qup_i2c12_default>;
1393				interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1394				dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1395				       <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1396				dma-names = "tx", "rx";
1397				#address-cells = <1>;
1398				#size-cells = <0>;
1399				status = "disabled";
1400			};
1401
1402			spi12: spi@a90000 {
1403				compatible = "qcom,geni-spi";
1404				reg = <0 0x00a90000 0 0x4000>;
1405				clock-names = "se";
1406				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1407				interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1408				power-domains = <&rpmhpd RPMHPD_CX>;
1409				operating-points-v2 = <&qup_opp_table_100mhz>;
1410				dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1411				       <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1412				dma-names = "tx", "rx";
1413				#address-cells = <1>;
1414				#size-cells = <0>;
1415				status = "disabled";
1416			};
1417
1418			i2c13: i2c@a94000 {
1419				compatible = "qcom,geni-i2c";
1420				reg = <0 0x00a94000 0 0x4000>;
1421				clock-names = "se";
1422				clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1423				pinctrl-names = "default";
1424				pinctrl-0 = <&qup_i2c13_default>;
1425				interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1426				dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
1427				       <&gpi_dma1 1 5 QCOM_GPI_I2C>;
1428				dma-names = "tx", "rx";
1429				#address-cells = <1>;
1430				#size-cells = <0>;
1431				status = "disabled";
1432			};
1433
1434			spi13: spi@a94000 {
1435				compatible = "qcom,geni-spi";
1436				reg = <0 0x00a94000 0 0x4000>;
1437				clock-names = "se";
1438				clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1439				interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1440				power-domains = <&rpmhpd RPMHPD_CX>;
1441				operating-points-v2 = <&qup_opp_table_100mhz>;
1442				dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
1443				       <&gpi_dma1 1 5 QCOM_GPI_SPI>;
1444				dma-names = "tx", "rx";
1445				#address-cells = <1>;
1446				#size-cells = <0>;
1447				status = "disabled";
1448			};
1449		};
1450
1451		rng: rng@10d3000 {
1452			compatible = "qcom,prng-ee";
1453			reg = <0 0x010d3000 0 0x1000>;
1454			clocks = <&rpmhcc RPMH_HWKM_CLK>;
1455			clock-names = "core";
1456		};
1457
1458		config_noc: interconnect@1500000 {
1459			compatible = "qcom,sm8350-config-noc";
1460			reg = <0 0x01500000 0 0xa580>;
1461			#interconnect-cells = <2>;
1462			qcom,bcm-voters = <&apps_bcm_voter>;
1463		};
1464
1465		mc_virt: interconnect@1580000 {
1466			compatible = "qcom,sm8350-mc-virt";
1467			reg = <0 0x01580000 0 0x1000>;
1468			#interconnect-cells = <2>;
1469			qcom,bcm-voters = <&apps_bcm_voter>;
1470		};
1471
1472		system_noc: interconnect@1680000 {
1473			compatible = "qcom,sm8350-system-noc";
1474			reg = <0 0x01680000 0 0x1c200>;
1475			#interconnect-cells = <2>;
1476			qcom,bcm-voters = <&apps_bcm_voter>;
1477		};
1478
1479		aggre1_noc: interconnect@16e0000 {
1480			compatible = "qcom,sm8350-aggre1-noc";
1481			reg = <0 0x016e0000 0 0x1f180>;
1482			#interconnect-cells = <2>;
1483			qcom,bcm-voters = <&apps_bcm_voter>;
1484		};
1485
1486		aggre2_noc: interconnect@1700000 {
1487			compatible = "qcom,sm8350-aggre2-noc";
1488			reg = <0 0x01700000 0 0x33000>;
1489			#interconnect-cells = <2>;
1490			qcom,bcm-voters = <&apps_bcm_voter>;
1491		};
1492
1493		mmss_noc: interconnect@1740000 {
1494			compatible = "qcom,sm8350-mmss-noc";
1495			reg = <0 0x01740000 0 0x1f080>;
1496			#interconnect-cells = <2>;
1497			qcom,bcm-voters = <&apps_bcm_voter>;
1498		};
1499
1500		pcie0: pci@1c00000 {
1501			compatible = "qcom,pcie-sm8350";
1502			reg = <0 0x01c00000 0 0x3000>,
1503			      <0 0x60000000 0 0xf1d>,
1504			      <0 0x60000f20 0 0xa8>,
1505			      <0 0x60001000 0 0x1000>,
1506			      <0 0x60100000 0 0x100000>;
1507			reg-names = "parf", "dbi", "elbi", "atu", "config";
1508			device_type = "pci";
1509			linux,pci-domain = <0>;
1510			bus-range = <0x00 0xff>;
1511			num-lanes = <1>;
1512
1513			#address-cells = <3>;
1514			#size-cells = <2>;
1515
1516			ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
1517				 <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>;
1518
1519			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1520				     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1521				     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1522				     <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1523				     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1524				     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1525				     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1526				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
1527			interrupt-names = "msi0", "msi1", "msi2", "msi3",
1528					  "msi4", "msi5", "msi6", "msi7";
1529			#interrupt-cells = <1>;
1530			interrupt-map-mask = <0 0 0 0x7>;
1531			interrupt-map = <0 0 0 1 &intc 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1532					<0 0 0 2 &intc 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1533					<0 0 0 3 &intc 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1534					<0 0 0 4 &intc 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1535
1536			clocks = <&gcc GCC_PCIE_0_AUX_CLK>,
1537				 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1538				 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1539				 <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
1540				 <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
1541				 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
1542				 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
1543				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
1544				 <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>;
1545			clock-names = "aux",
1546				      "cfg",
1547				      "bus_master",
1548				      "bus_slave",
1549				      "slave_q2a",
1550				      "tbu",
1551				      "ddrss_sf_tbu",
1552				      "aggre1",
1553				      "aggre0";
1554
1555			iommu-map = <0x0   &apps_smmu 0x1c00 0x1>,
1556				    <0x100 &apps_smmu 0x1c01 0x1>;
1557
1558			resets = <&gcc GCC_PCIE_0_BCR>;
1559			reset-names = "pci";
1560
1561			power-domains = <&gcc PCIE_0_GDSC>;
1562
1563			phys = <&pcie0_phy>;
1564			phy-names = "pciephy";
1565
1566			status = "disabled";
1567		};
1568
1569		pcie0_phy: phy@1c06000 {
1570			compatible = "qcom,sm8350-qmp-gen3x1-pcie-phy";
1571			reg = <0 0x01c06000 0 0x2000>;
1572			clocks = <&gcc GCC_PCIE_0_AUX_CLK>,
1573				 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1574				 <&gcc GCC_PCIE_0_CLKREF_EN>,
1575				 <&gcc GCC_PCIE0_PHY_RCHNG_CLK>,
1576				 <&gcc GCC_PCIE_0_PIPE_CLK>;
1577			clock-names = "aux", "cfg_ahb", "ref", "rchng", "pipe";
1578
1579			resets = <&gcc GCC_PCIE_0_PHY_BCR>;
1580			reset-names = "phy";
1581
1582			assigned-clocks = <&gcc GCC_PCIE0_PHY_RCHNG_CLK>;
1583			assigned-clock-rates = <100000000>;
1584
1585			#clock-cells = <0>;
1586			clock-output-names = "pcie_0_pipe_clk";
1587
1588			#phy-cells = <0>;
1589
1590			status = "disabled";
1591		};
1592
1593		pcie1: pci@1c08000 {
1594			compatible = "qcom,pcie-sm8350";
1595			reg = <0 0x01c08000 0 0x3000>,
1596			      <0 0x40000000 0 0xf1d>,
1597			      <0 0x40000f20 0 0xa8>,
1598			      <0 0x40001000 0 0x1000>,
1599			      <0 0x40100000 0 0x100000>;
1600			reg-names = "parf", "dbi", "elbi", "atu", "config";
1601			device_type = "pci";
1602			linux,pci-domain = <1>;
1603			bus-range = <0x00 0xff>;
1604			num-lanes = <2>;
1605
1606			#address-cells = <3>;
1607			#size-cells = <2>;
1608
1609			ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
1610				 <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;
1611
1612			interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
1613			interrupt-names = "msi";
1614			#interrupt-cells = <1>;
1615			interrupt-map-mask = <0 0 0 0x7>;
1616			interrupt-map = <0 0 0 1 &intc 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1617					<0 0 0 2 &intc 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1618					<0 0 0 3 &intc 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1619					<0 0 0 4 &intc 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1620
1621			clocks = <&gcc GCC_PCIE_1_AUX_CLK>,
1622				 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1623				 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1624				 <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
1625				 <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
1626				 <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
1627				 <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
1628				 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
1629			clock-names = "aux",
1630				      "cfg",
1631				      "bus_master",
1632				      "bus_slave",
1633				      "slave_q2a",
1634				      "tbu",
1635				      "ddrss_sf_tbu",
1636				      "aggre1";
1637
1638			iommu-map = <0x0   &apps_smmu 0x1c80 0x1>,
1639				    <0x100 &apps_smmu 0x1c81 0x1>;
1640
1641			resets = <&gcc GCC_PCIE_1_BCR>;
1642			reset-names = "pci";
1643
1644			power-domains = <&gcc PCIE_1_GDSC>;
1645
1646			phys = <&pcie1_phy>;
1647			phy-names = "pciephy";
1648
1649			status = "disabled";
1650		};
1651
1652		pcie1_phy: phy@1c0e000 {
1653			compatible = "qcom,sm8350-qmp-gen3x2-pcie-phy";
1654			reg = <0 0x01c0e000 0 0x2000>;
1655			clocks = <&gcc GCC_PCIE_1_AUX_CLK>,
1656				 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1657				 <&gcc GCC_PCIE_1_CLKREF_EN>,
1658				 <&gcc GCC_PCIE1_PHY_RCHNG_CLK>,
1659				 <&gcc GCC_PCIE_1_PIPE_CLK>;
1660			clock-names = "aux", "cfg_ahb", "ref", "rchng", "pipe";
1661
1662			resets = <&gcc GCC_PCIE_1_PHY_BCR>;
1663			reset-names = "phy";
1664
1665			assigned-clocks = <&gcc GCC_PCIE1_PHY_RCHNG_CLK>;
1666			assigned-clock-rates = <100000000>;
1667
1668			#clock-cells = <0>;
1669			clock-output-names = "pcie_1_pipe_clk";
1670
1671			#phy-cells = <0>;
1672
1673			status = "disabled";
1674		};
1675
1676		ufs_mem_hc: ufshc@1d84000 {
1677			compatible = "qcom,sm8350-ufshc", "qcom,ufshc",
1678				     "jedec,ufs-2.0";
1679			reg = <0 0x01d84000 0 0x3000>;
1680			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
1681			phys = <&ufs_mem_phy_lanes>;
1682			phy-names = "ufsphy";
1683			lanes-per-direction = <2>;
1684			#reset-cells = <1>;
1685			resets = <&gcc GCC_UFS_PHY_BCR>;
1686			reset-names = "rst";
1687
1688			power-domains = <&gcc UFS_PHY_GDSC>;
1689
1690			iommus = <&apps_smmu 0xe0 0x0>;
1691			dma-coherent;
1692
1693			clock-names =
1694				"core_clk",
1695				"bus_aggr_clk",
1696				"iface_clk",
1697				"core_clk_unipro",
1698				"ref_clk",
1699				"tx_lane0_sync_clk",
1700				"rx_lane0_sync_clk",
1701				"rx_lane1_sync_clk";
1702			clocks =
1703				<&gcc GCC_UFS_PHY_AXI_CLK>,
1704				<&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
1705				<&gcc GCC_UFS_PHY_AHB_CLK>,
1706				<&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
1707				<&rpmhcc RPMH_CXO_CLK>,
1708				<&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
1709				<&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
1710				<&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
1711			freq-table-hz =
1712				<75000000 300000000>,
1713				<0 0>,
1714				<0 0>,
1715				<75000000 300000000>,
1716				<0 0>,
1717				<0 0>,
1718				<0 0>,
1719				<0 0>;
1720			status = "disabled";
1721		};
1722
1723		ufs_mem_phy: phy@1d87000 {
1724			compatible = "qcom,sm8350-qmp-ufs-phy";
1725			reg = <0 0x01d87000 0 0x1c4>;
1726			#address-cells = <2>;
1727			#size-cells = <2>;
1728			ranges;
1729			clock-names = "ref",
1730				      "ref_aux";
1731			clocks = <&rpmhcc RPMH_CXO_CLK>,
1732				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
1733
1734			power-domains = <&gcc UFS_PHY_GDSC>;
1735
1736			resets = <&ufs_mem_hc 0>;
1737			reset-names = "ufsphy";
1738			status = "disabled";
1739
1740			ufs_mem_phy_lanes: phy@1d87400 {
1741				reg = <0 0x01d87400 0 0x188>,
1742				      <0 0x01d87600 0 0x200>,
1743				      <0 0x01d87c00 0 0x200>,
1744				      <0 0x01d87800 0 0x188>,
1745				      <0 0x01d87a00 0 0x200>;
1746				#clock-cells = <1>;
1747				#phy-cells = <0>;
1748			};
1749		};
1750
1751		cryptobam: dma-controller@1dc4000 {
1752			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
1753			reg = <0 0x01dc4000 0 0x24000>;
1754			interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
1755			#dma-cells = <1>;
1756			qcom,ee = <0>;
1757			qcom,num-ees = <4>;
1758			num-channels = <16>;
1759			qcom,controlled-remotely;
1760			iommus = <&apps_smmu 0x594 0x0011>,
1761				 <&apps_smmu 0x596 0x0011>;
1762		};
1763
1764		crypto: crypto@1dfa000 {
1765			compatible = "qcom,sm8350-qce", "qcom,sm8150-qce", "qcom,qce";
1766			reg = <0 0x01dfa000 0 0x6000>;
1767			dmas = <&cryptobam 4>, <&cryptobam 5>;
1768			dma-names = "rx", "tx";
1769			iommus = <&apps_smmu 0x594 0x0011>,
1770				 <&apps_smmu 0x596 0x0011>;
1771			interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
1772			interconnect-names = "memory";
1773		};
1774
1775		ipa: ipa@1e40000 {
1776			compatible = "qcom,sm8350-ipa";
1777
1778			iommus = <&apps_smmu 0x5c0 0x0>,
1779				 <&apps_smmu 0x5c2 0x0>;
1780			reg = <0 0x01e40000 0 0x8000>,
1781			      <0 0x01e50000 0 0x4b20>,
1782			      <0 0x01e04000 0 0x23000>;
1783			reg-names = "ipa-reg",
1784				    "ipa-shared",
1785				    "gsi";
1786
1787			interrupts-extended = <&intc GIC_SPI 655 IRQ_TYPE_EDGE_RISING>,
1788					      <&intc GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>,
1789					      <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1790					      <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
1791			interrupt-names = "ipa",
1792					  "gsi",
1793					  "ipa-clock-query",
1794					  "ipa-setup-ready";
1795
1796			clocks = <&rpmhcc RPMH_IPA_CLK>;
1797			clock-names = "core";
1798
1799			interconnects = <&aggre2_noc MASTER_IPA 0 &mc_virt SLAVE_EBI1 0>,
1800					<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_IPA_CFG 0>;
1801			interconnect-names = "memory",
1802					     "config";
1803
1804			qcom,qmp = <&aoss_qmp>;
1805
1806			qcom,smem-states = <&ipa_smp2p_out 0>,
1807					   <&ipa_smp2p_out 1>;
1808			qcom,smem-state-names = "ipa-clock-enabled-valid",
1809						"ipa-clock-enabled";
1810
1811			status = "disabled";
1812		};
1813
1814		tcsr_mutex: hwlock@1f40000 {
1815			compatible = "qcom,tcsr-mutex";
1816			reg = <0x0 0x01f40000 0x0 0x40000>;
1817			#hwlock-cells = <1>;
1818		};
1819
1820		adsp: remoteproc@3000000 {
1821			compatible = "qcom,sm8350-adsp-pas";
1822			reg = <0x0 0x03000000 0x0 0x10000>;
1823
1824			interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
1825					      <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1826					      <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1827					      <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1828					      <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1829			interrupt-names = "wdog", "fatal", "ready",
1830					  "handover", "stop-ack";
1831
1832			clocks = <&rpmhcc RPMH_CXO_CLK>;
1833			clock-names = "xo";
1834
1835			power-domains = <&rpmhpd RPMHPD_LCX>,
1836					<&rpmhpd RPMHPD_LMX>;
1837			power-domain-names = "lcx", "lmx";
1838
1839			memory-region = <&pil_adsp_mem>;
1840
1841			qcom,qmp = <&aoss_qmp>;
1842
1843			qcom,smem-states = <&smp2p_adsp_out 0>;
1844			qcom,smem-state-names = "stop";
1845
1846			status = "disabled";
1847
1848			glink-edge {
1849				interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1850							     IPCC_MPROC_SIGNAL_GLINK_QMP
1851							     IRQ_TYPE_EDGE_RISING>;
1852				mboxes = <&ipcc IPCC_CLIENT_LPASS
1853						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1854
1855				label = "lpass";
1856				qcom,remote-pid = <2>;
1857
1858				apr {
1859					compatible = "qcom,apr-v2";
1860					qcom,glink-channels = "apr_audio_svc";
1861					qcom,domain = <APR_DOMAIN_ADSP>;
1862					#address-cells = <1>;
1863					#size-cells = <0>;
1864
1865					service@3 {
1866						reg = <APR_SVC_ADSP_CORE>;
1867						compatible = "qcom,q6core";
1868						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1869					};
1870
1871					q6afe: service@4 {
1872						compatible = "qcom,q6afe";
1873						reg = <APR_SVC_AFE>;
1874						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1875
1876						q6afedai: dais {
1877							compatible = "qcom,q6afe-dais";
1878							#address-cells = <1>;
1879							#size-cells = <0>;
1880							#sound-dai-cells = <1>;
1881						};
1882
1883						q6afecc: clock-controller {
1884							compatible = "qcom,q6afe-clocks";
1885							#clock-cells = <2>;
1886						};
1887					};
1888
1889					q6asm: service@7 {
1890						compatible = "qcom,q6asm";
1891						reg = <APR_SVC_ASM>;
1892						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1893
1894						q6asmdai: dais {
1895							compatible = "qcom,q6asm-dais";
1896							#address-cells = <1>;
1897							#size-cells = <0>;
1898							#sound-dai-cells = <1>;
1899							iommus = <&apps_smmu 0x1801 0x0>;
1900
1901							dai@0 {
1902								reg = <0>;
1903							};
1904
1905							dai@1 {
1906								reg = <1>;
1907							};
1908
1909							dai@2 {
1910								reg = <2>;
1911							};
1912						};
1913					};
1914
1915					q6adm: service@8 {
1916						compatible = "qcom,q6adm";
1917						reg = <APR_SVC_ADM>;
1918						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1919
1920						q6routing: routing {
1921							compatible = "qcom,q6adm-routing";
1922							#sound-dai-cells = <0>;
1923						};
1924					};
1925				};
1926
1927				fastrpc {
1928					compatible = "qcom,fastrpc";
1929					qcom,glink-channels = "fastrpcglink-apps-dsp";
1930					label = "adsp";
1931					qcom,non-secure-domain;
1932					#address-cells = <1>;
1933					#size-cells = <0>;
1934
1935					compute-cb@3 {
1936						compatible = "qcom,fastrpc-compute-cb";
1937						reg = <3>;
1938						iommus = <&apps_smmu 0x1803 0x0>;
1939					};
1940
1941					compute-cb@4 {
1942						compatible = "qcom,fastrpc-compute-cb";
1943						reg = <4>;
1944						iommus = <&apps_smmu 0x1804 0x0>;
1945					};
1946
1947					compute-cb@5 {
1948						compatible = "qcom,fastrpc-compute-cb";
1949						reg = <5>;
1950						iommus = <&apps_smmu 0x1805 0x0>;
1951					};
1952				};
1953			};
1954		};
1955
1956		lpass_tlmm: pinctrl@33c0000 {
1957			compatible = "qcom,sm8350-lpass-lpi-pinctrl";
1958			reg = <0 0x033c0000 0 0x20000>,
1959			      <0 0x03550000 0 0x10000>;
1960
1961			clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
1962				 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
1963			clock-names = "core", "audio";
1964
1965			gpio-controller;
1966			#gpio-cells = <2>;
1967			gpio-ranges = <&lpass_tlmm 0 0 15>;
1968		};
1969
1970		gpu: gpu@3d00000 {
1971			compatible = "qcom,adreno-660.1", "qcom,adreno";
1972
1973			reg = <0 0x03d00000 0 0x40000>,
1974			      <0 0x03d9e000 0 0x1000>,
1975			      <0 0x03d61000 0 0x800>;
1976			reg-names = "kgsl_3d0_reg_memory",
1977				    "cx_mem",
1978				    "cx_dbgc";
1979
1980			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1981
1982			iommus = <&adreno_smmu 0 0x400>, <&adreno_smmu 1 0x400>;
1983
1984			operating-points-v2 = <&gpu_opp_table>;
1985
1986			qcom,gmu = <&gmu>;
1987
1988			status = "disabled";
1989
1990			zap-shader {
1991				memory-region = <&pil_gpu_mem>;
1992			};
1993
1994			/* note: downstream checks gpu binning for 670 Mhz */
1995			gpu_opp_table: opp-table {
1996				compatible = "operating-points-v2";
1997
1998				opp-840000000 {
1999					opp-hz = /bits/ 64 <840000000>;
2000					opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
2001				};
2002
2003				opp-778000000 {
2004					opp-hz = /bits/ 64 <778000000>;
2005					opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
2006				};
2007
2008				opp-738000000 {
2009					opp-hz = /bits/ 64 <738000000>;
2010					opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2011				};
2012
2013				opp-676000000 {
2014					opp-hz = /bits/ 64 <676000000>;
2015					opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2016				};
2017
2018				opp-608000000 {
2019					opp-hz = /bits/ 64 <608000000>;
2020					opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
2021				};
2022
2023				opp-540000000 {
2024					opp-hz = /bits/ 64 <540000000>;
2025					opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2026				};
2027
2028				opp-491000000 {
2029					opp-hz = /bits/ 64 <491000000>;
2030					opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
2031				};
2032
2033				opp-443000000 {
2034					opp-hz = /bits/ 64 <443000000>;
2035					opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2036				};
2037
2038				opp-379000000 {
2039					opp-hz = /bits/ 64 <379000000>;
2040					opp-level = <80 /* RPMH_REGULATOR_LEVEL_LOW_SVS_L1 */>;
2041				};
2042
2043				opp-315000000 {
2044					opp-hz = /bits/ 64 <315000000>;
2045					opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2046				};
2047			};
2048		};
2049
2050		gmu: gmu@3d6a000 {
2051			compatible = "qcom,adreno-gmu-660.1", "qcom,adreno-gmu";
2052
2053			reg = <0 0x03d6a000 0 0x34000>,
2054			      <0 0x03de0000 0 0x10000>,
2055			      <0 0x0b290000 0 0x10000>;
2056			reg-names = "gmu", "rscc", "gmu_pdc";
2057
2058			interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
2059				     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
2060			interrupt-names = "hfi", "gmu";
2061
2062			clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
2063				 <&gpucc GPU_CC_CXO_CLK>,
2064				 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
2065				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2066				 <&gpucc GPU_CC_AHB_CLK>,
2067				 <&gpucc GPU_CC_HUB_CX_INT_CLK>,
2068				 <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>;
2069			clock-names = "gmu",
2070				      "cxo",
2071				      "axi",
2072				      "memnoc",
2073				      "ahb",
2074				      "hub",
2075				      "smmu_vote";
2076
2077			power-domains = <&gpucc GPU_CX_GDSC>,
2078					<&gpucc GPU_GX_GDSC>;
2079			power-domain-names = "cx",
2080					     "gx";
2081
2082			iommus = <&adreno_smmu 5 0x400>;
2083
2084			operating-points-v2 = <&gmu_opp_table>;
2085
2086			gmu_opp_table: opp-table {
2087				compatible = "operating-points-v2";
2088
2089				opp-200000000 {
2090					opp-hz = /bits/ 64 <200000000>;
2091					opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
2092				};
2093			};
2094		};
2095
2096		gpucc: clock-controller@3d90000 {
2097			compatible = "qcom,sm8350-gpucc";
2098			reg = <0 0x03d90000 0 0x9000>;
2099			clocks = <&rpmhcc RPMH_CXO_CLK>,
2100				 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
2101				 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>;
2102			clock-names = "bi_tcxo",
2103				      "gcc_gpu_gpll0_clk_src",
2104				      "gcc_gpu_gpll0_div_clk_src";
2105			#clock-cells = <1>;
2106			#reset-cells = <1>;
2107			#power-domain-cells = <1>;
2108		};
2109
2110		adreno_smmu: iommu@3da0000 {
2111			compatible = "qcom,sm8350-smmu-500", "qcom,adreno-smmu",
2112				     "qcom,smmu-500", "arm,mmu-500";
2113			reg = <0 0x03da0000 0 0x20000>;
2114			#iommu-cells = <2>;
2115			#global-interrupts = <2>;
2116			interrupts = <GIC_SPI 672 IRQ_TYPE_LEVEL_HIGH>,
2117				     <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH>,
2118				     <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
2119				     <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
2120				     <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
2121				     <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
2122				     <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
2123				     <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
2124				     <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
2125				     <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
2126				     <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
2127				     <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>;
2128
2129			clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
2130				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>,
2131				 <&gpucc GPU_CC_AHB_CLK>,
2132				 <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
2133				 <&gpucc GPU_CC_CX_GMU_CLK>,
2134				 <&gpucc GPU_CC_HUB_CX_INT_CLK>,
2135				 <&gpucc GPU_CC_HUB_AON_CLK>;
2136			clock-names = "bus",
2137				      "iface",
2138				      "ahb",
2139				      "hlos1_vote_gpu_smmu",
2140				      "cx_gmu",
2141				      "hub_cx_int",
2142				      "hub_aon";
2143
2144			power-domains = <&gpucc GPU_CX_GDSC>;
2145			dma-coherent;
2146		};
2147
2148		lpass_ag_noc: interconnect@3c40000 {
2149			compatible = "qcom,sm8350-lpass-ag-noc";
2150			reg = <0 0x03c40000 0 0xf080>;
2151			#interconnect-cells = <2>;
2152			qcom,bcm-voters = <&apps_bcm_voter>;
2153		};
2154
2155		mpss: remoteproc@4080000 {
2156			compatible = "qcom,sm8350-mpss-pas";
2157			reg = <0x0 0x04080000 0x0 0x10000>;
2158
2159			interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>,
2160					      <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
2161					      <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
2162					      <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
2163					      <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
2164					      <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
2165			interrupt-names = "wdog", "fatal", "ready", "handover",
2166					  "stop-ack", "shutdown-ack";
2167
2168			clocks = <&rpmhcc RPMH_CXO_CLK>;
2169			clock-names = "xo";
2170
2171			power-domains = <&rpmhpd RPMHPD_CX>,
2172					<&rpmhpd RPMHPD_MSS>;
2173			power-domain-names = "cx", "mss";
2174
2175			interconnects = <&mc_virt MASTER_LLCC 0 &mc_virt SLAVE_EBI1 0>;
2176
2177			memory-region = <&pil_modem_mem>;
2178
2179			qcom,qmp = <&aoss_qmp>;
2180
2181			qcom,smem-states = <&smp2p_modem_out 0>;
2182			qcom,smem-state-names = "stop";
2183
2184			status = "disabled";
2185
2186			glink-edge {
2187				interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
2188							     IPCC_MPROC_SIGNAL_GLINK_QMP
2189							     IRQ_TYPE_EDGE_RISING>;
2190				mboxes = <&ipcc IPCC_CLIENT_MPSS
2191						IPCC_MPROC_SIGNAL_GLINK_QMP>;
2192				label = "modem";
2193				qcom,remote-pid = <1>;
2194			};
2195		};
2196
2197		slpi: remoteproc@5c00000 {
2198			compatible = "qcom,sm8350-slpi-pas";
2199			reg = <0 0x05c00000 0 0x4000>;
2200
2201			interrupts-extended = <&pdc 9 IRQ_TYPE_EDGE_RISING>,
2202					      <&smp2p_slpi_in 0 IRQ_TYPE_EDGE_RISING>,
2203					      <&smp2p_slpi_in 1 IRQ_TYPE_EDGE_RISING>,
2204					      <&smp2p_slpi_in 2 IRQ_TYPE_EDGE_RISING>,
2205					      <&smp2p_slpi_in 3 IRQ_TYPE_EDGE_RISING>;
2206			interrupt-names = "wdog", "fatal", "ready",
2207					  "handover", "stop-ack";
2208
2209			clocks = <&rpmhcc RPMH_CXO_CLK>;
2210			clock-names = "xo";
2211
2212			power-domains = <&rpmhpd RPMHPD_LCX>,
2213					<&rpmhpd RPMHPD_LMX>;
2214			power-domain-names = "lcx", "lmx";
2215
2216			memory-region = <&pil_slpi_mem>;
2217
2218			qcom,qmp = <&aoss_qmp>;
2219
2220			qcom,smem-states = <&smp2p_slpi_out 0>;
2221			qcom,smem-state-names = "stop";
2222
2223			status = "disabled";
2224
2225			glink-edge {
2226				interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
2227							     IPCC_MPROC_SIGNAL_GLINK_QMP
2228							     IRQ_TYPE_EDGE_RISING>;
2229				mboxes = <&ipcc IPCC_CLIENT_SLPI
2230						IPCC_MPROC_SIGNAL_GLINK_QMP>;
2231
2232				label = "slpi";
2233				qcom,remote-pid = <3>;
2234
2235				fastrpc {
2236					compatible = "qcom,fastrpc";
2237					qcom,glink-channels = "fastrpcglink-apps-dsp";
2238					label = "sdsp";
2239					qcom,non-secure-domain;
2240					#address-cells = <1>;
2241					#size-cells = <0>;
2242
2243					compute-cb@1 {
2244						compatible = "qcom,fastrpc-compute-cb";
2245						reg = <1>;
2246						iommus = <&apps_smmu 0x0541 0x0>;
2247					};
2248
2249					compute-cb@2 {
2250						compatible = "qcom,fastrpc-compute-cb";
2251						reg = <2>;
2252						iommus = <&apps_smmu 0x0542 0x0>;
2253					};
2254
2255					compute-cb@3 {
2256						compatible = "qcom,fastrpc-compute-cb";
2257						reg = <3>;
2258						iommus = <&apps_smmu 0x0543 0x0>;
2259						/* note: shared-cb = <4> in downstream */
2260					};
2261				};
2262			};
2263		};
2264
2265		sdhc_2: mmc@8804000 {
2266			compatible = "qcom,sm8350-sdhci", "qcom,sdhci-msm-v5";
2267			reg = <0 0x08804000 0 0x1000>;
2268
2269			interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
2270				     <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
2271			interrupt-names = "hc_irq", "pwr_irq";
2272
2273			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
2274				 <&gcc GCC_SDCC2_APPS_CLK>,
2275				 <&rpmhcc RPMH_CXO_CLK>;
2276			clock-names = "iface", "core", "xo";
2277			resets = <&gcc GCC_SDCC2_BCR>;
2278			interconnects = <&aggre2_noc MASTER_SDCC_2 0 &mc_virt SLAVE_EBI1 0>,
2279					<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_SDCC_2 0>;
2280			interconnect-names = "sdhc-ddr","cpu-sdhc";
2281			iommus = <&apps_smmu 0x4a0 0x0>;
2282			power-domains = <&rpmhpd RPMHPD_CX>;
2283			operating-points-v2 = <&sdhc2_opp_table>;
2284			bus-width = <4>;
2285			dma-coherent;
2286
2287			status = "disabled";
2288
2289			sdhc2_opp_table: opp-table {
2290				compatible = "operating-points-v2";
2291
2292				opp-100000000 {
2293					opp-hz = /bits/ 64 <100000000>;
2294					required-opps = <&rpmhpd_opp_low_svs>;
2295				};
2296
2297				opp-202000000 {
2298					opp-hz = /bits/ 64 <202000000>;
2299					required-opps = <&rpmhpd_opp_svs_l1>;
2300				};
2301			};
2302		};
2303
2304		usb_1_hsphy: phy@88e3000 {
2305			compatible = "qcom,sm8350-usb-hs-phy",
2306				     "qcom,usb-snps-hs-7nm-phy";
2307			reg = <0 0x088e3000 0 0x400>;
2308			status = "disabled";
2309			#phy-cells = <0>;
2310
2311			clocks = <&rpmhcc RPMH_CXO_CLK>;
2312			clock-names = "ref";
2313
2314			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
2315		};
2316
2317		usb_2_hsphy: phy@88e4000 {
2318			compatible = "qcom,sm8250-usb-hs-phy",
2319				     "qcom,usb-snps-hs-7nm-phy";
2320			reg = <0 0x088e4000 0 0x400>;
2321			status = "disabled";
2322			#phy-cells = <0>;
2323
2324			clocks = <&rpmhcc RPMH_CXO_CLK>;
2325			clock-names = "ref";
2326
2327			resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
2328		};
2329
2330		usb_1_qmpphy: phy@88e8000 {
2331			compatible = "qcom,sm8350-qmp-usb3-dp-phy";
2332			reg = <0 0x088e8000 0 0x3000>;
2333
2334			clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
2335				 <&rpmhcc RPMH_CXO_CLK>,
2336				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
2337				 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
2338			clock-names = "aux", "ref", "com_aux", "usb3_pipe";
2339
2340			resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
2341				 <&gcc GCC_USB3_PHY_PRIM_BCR>;
2342			reset-names = "phy", "common";
2343
2344			#clock-cells = <1>;
2345			#phy-cells = <1>;
2346
2347			status = "disabled";
2348
2349			ports {
2350				#address-cells = <1>;
2351				#size-cells = <0>;
2352
2353				port@0 {
2354					reg = <0>;
2355
2356					usb_1_qmpphy_out: endpoint {
2357					};
2358				};
2359
2360				port@1 {
2361					reg = <1>;
2362
2363					usb_1_qmpphy_usb_ss_in: endpoint {
2364					};
2365				};
2366
2367				port@2 {
2368					reg = <2>;
2369
2370					usb_1_qmpphy_dp_in: endpoint {
2371					};
2372				};
2373			};
2374		};
2375
2376		usb_2_qmpphy: phy-wrapper@88eb000 {
2377			compatible = "qcom,sm8350-qmp-usb3-uni-phy";
2378			reg = <0 0x088eb000 0 0x200>;
2379			status = "disabled";
2380			#address-cells = <2>;
2381			#size-cells = <2>;
2382			ranges;
2383
2384			clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
2385				 <&rpmhcc RPMH_CXO_CLK>,
2386				 <&gcc GCC_USB3_SEC_CLKREF_EN>,
2387				 <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
2388			clock-names = "aux", "ref_clk_src", "ref", "com_aux";
2389
2390			resets = <&gcc GCC_USB3PHY_PHY_SEC_BCR>,
2391				 <&gcc GCC_USB3_PHY_SEC_BCR>;
2392			reset-names = "phy", "common";
2393
2394			usb_2_ssphy: phy@88ebe00 {
2395				reg = <0 0x088ebe00 0 0x200>,
2396				      <0 0x088ec000 0 0x200>,
2397				      <0 0x088eb200 0 0x1100>;
2398				#phy-cells = <0>;
2399				#clock-cells = <0>;
2400				clocks = <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
2401				clock-names = "pipe0";
2402				clock-output-names = "usb3_uni_phy_pipe_clk_src";
2403			};
2404		};
2405
2406		dc_noc: interconnect@90c0000 {
2407			compatible = "qcom,sm8350-dc-noc";
2408			reg = <0 0x090c0000 0 0x4200>;
2409			#interconnect-cells = <2>;
2410			qcom,bcm-voters = <&apps_bcm_voter>;
2411		};
2412
2413		gem_noc: interconnect@9100000 {
2414			compatible = "qcom,sm8350-gem-noc";
2415			reg = <0 0x09100000 0 0xb4000>;
2416			#interconnect-cells = <2>;
2417			qcom,bcm-voters = <&apps_bcm_voter>;
2418		};
2419
2420		system-cache-controller@9200000 {
2421			compatible = "qcom,sm8350-llcc";
2422			reg = <0 0x09200000 0 0x58000>, <0 0x09280000 0 0x58000>,
2423			      <0 0x09300000 0 0x58000>, <0 0x09380000 0 0x58000>,
2424			      <0 0x09600000 0 0x58000>;
2425			reg-names = "llcc0_base", "llcc1_base", "llcc2_base",
2426				    "llcc3_base", "llcc_broadcast_base";
2427		};
2428
2429		compute_noc: interconnect@a0c0000 {
2430			compatible = "qcom,sm8350-compute-noc";
2431			reg = <0 0x0a0c0000 0 0xa180>;
2432			#interconnect-cells = <2>;
2433			qcom,bcm-voters = <&apps_bcm_voter>;
2434		};
2435
2436		cdsp: remoteproc@a300000 {
2437			compatible = "qcom,sm8350-cdsp-pas";
2438			reg = <0x0 0x0a300000 0x0 0x10000>;
2439
2440			interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
2441					      <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
2442					      <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
2443					      <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
2444					      <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
2445			interrupt-names = "wdog", "fatal", "ready",
2446					  "handover", "stop-ack";
2447
2448			clocks = <&rpmhcc RPMH_CXO_CLK>;
2449			clock-names = "xo";
2450
2451			power-domains = <&rpmhpd RPMHPD_CX>,
2452					<&rpmhpd RPMHPD_MXC>;
2453			power-domain-names = "cx", "mxc";
2454
2455			interconnects = <&compute_noc MASTER_CDSP_PROC 0 &mc_virt SLAVE_EBI1 0>;
2456
2457			memory-region = <&pil_cdsp_mem>;
2458
2459			qcom,qmp = <&aoss_qmp>;
2460
2461			qcom,smem-states = <&smp2p_cdsp_out 0>;
2462			qcom,smem-state-names = "stop";
2463
2464			status = "disabled";
2465
2466			glink-edge {
2467				interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
2468							     IPCC_MPROC_SIGNAL_GLINK_QMP
2469							     IRQ_TYPE_EDGE_RISING>;
2470				mboxes = <&ipcc IPCC_CLIENT_CDSP
2471						IPCC_MPROC_SIGNAL_GLINK_QMP>;
2472
2473				label = "cdsp";
2474				qcom,remote-pid = <5>;
2475
2476				fastrpc {
2477					compatible = "qcom,fastrpc";
2478					qcom,glink-channels = "fastrpcglink-apps-dsp";
2479					label = "cdsp";
2480					qcom,non-secure-domain;
2481					#address-cells = <1>;
2482					#size-cells = <0>;
2483
2484					compute-cb@1 {
2485						compatible = "qcom,fastrpc-compute-cb";
2486						reg = <1>;
2487						iommus = <&apps_smmu 0x2161 0x0400>,
2488							 <&apps_smmu 0x1181 0x0420>;
2489					};
2490
2491					compute-cb@2 {
2492						compatible = "qcom,fastrpc-compute-cb";
2493						reg = <2>;
2494						iommus = <&apps_smmu 0x2162 0x0400>,
2495							 <&apps_smmu 0x1182 0x0420>;
2496					};
2497
2498					compute-cb@3 {
2499						compatible = "qcom,fastrpc-compute-cb";
2500						reg = <3>;
2501						iommus = <&apps_smmu 0x2163 0x0400>,
2502							 <&apps_smmu 0x1183 0x0420>;
2503					};
2504
2505					compute-cb@4 {
2506						compatible = "qcom,fastrpc-compute-cb";
2507						reg = <4>;
2508						iommus = <&apps_smmu 0x2164 0x0400>,
2509							 <&apps_smmu 0x1184 0x0420>;
2510					};
2511
2512					compute-cb@5 {
2513						compatible = "qcom,fastrpc-compute-cb";
2514						reg = <5>;
2515						iommus = <&apps_smmu 0x2165 0x0400>,
2516							 <&apps_smmu 0x1185 0x0420>;
2517					};
2518
2519					compute-cb@6 {
2520						compatible = "qcom,fastrpc-compute-cb";
2521						reg = <6>;
2522						iommus = <&apps_smmu 0x2166 0x0400>,
2523							 <&apps_smmu 0x1186 0x0420>;
2524					};
2525
2526					compute-cb@7 {
2527						compatible = "qcom,fastrpc-compute-cb";
2528						reg = <7>;
2529						iommus = <&apps_smmu 0x2167 0x0400>,
2530							 <&apps_smmu 0x1187 0x0420>;
2531					};
2532
2533					compute-cb@8 {
2534						compatible = "qcom,fastrpc-compute-cb";
2535						reg = <8>;
2536						iommus = <&apps_smmu 0x2168 0x0400>,
2537							 <&apps_smmu 0x1188 0x0420>;
2538					};
2539
2540					/* note: secure cb9 in downstream */
2541				};
2542			};
2543		};
2544
2545		usb_1: usb@a6f8800 {
2546			compatible = "qcom,sm8350-dwc3", "qcom,dwc3";
2547			reg = <0 0x0a6f8800 0 0x400>;
2548			status = "disabled";
2549			#address-cells = <2>;
2550			#size-cells = <2>;
2551			ranges;
2552
2553			clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
2554				 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
2555				 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
2556				 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
2557				 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
2558			clock-names = "cfg_noc",
2559				      "core",
2560				      "iface",
2561				      "sleep",
2562				      "mock_utmi";
2563
2564			assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
2565					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
2566			assigned-clock-rates = <19200000>, <200000000>;
2567
2568			interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
2569					      <&pdc 17 IRQ_TYPE_LEVEL_HIGH>,
2570					      <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
2571					      <&pdc 14 IRQ_TYPE_EDGE_BOTH>;
2572			interrupt-names = "hs_phy_irq",
2573					  "ss_phy_irq",
2574					  "dm_hs_phy_irq",
2575					  "dp_hs_phy_irq";
2576
2577			power-domains = <&gcc USB30_PRIM_GDSC>;
2578
2579			resets = <&gcc GCC_USB30_PRIM_BCR>;
2580
2581			interconnects = <&aggre1_noc MASTER_USB3_0 0 &mc_virt SLAVE_EBI1 0>,
2582					<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_0 0>;
2583			interconnect-names = "usb-ddr", "apps-usb";
2584
2585			usb_1_dwc3: usb@a600000 {
2586				compatible = "snps,dwc3";
2587				reg = <0 0x0a600000 0 0xcd00>;
2588				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
2589				iommus = <&apps_smmu 0x0 0x0>;
2590				snps,dis_u2_susphy_quirk;
2591				snps,dis_enblslpm_quirk;
2592				phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
2593				phy-names = "usb2-phy", "usb3-phy";
2594
2595				ports {
2596					#address-cells = <1>;
2597					#size-cells = <0>;
2598
2599					port@0 {
2600						reg = <0>;
2601
2602						usb_1_dwc3_hs: endpoint {
2603						};
2604					};
2605
2606					port@1 {
2607						reg = <1>;
2608
2609						usb_1_dwc3_ss: endpoint {
2610						};
2611					};
2612				};
2613			};
2614		};
2615
2616		usb_2: usb@a8f8800 {
2617			compatible = "qcom,sm8350-dwc3", "qcom,dwc3";
2618			reg = <0 0x0a8f8800 0 0x400>;
2619			status = "disabled";
2620			#address-cells = <2>;
2621			#size-cells = <2>;
2622			ranges;
2623
2624			clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
2625				 <&gcc GCC_USB30_SEC_MASTER_CLK>,
2626				 <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
2627				 <&gcc GCC_USB30_SEC_SLEEP_CLK>,
2628				 <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
2629				 <&gcc GCC_USB3_SEC_CLKREF_EN>;
2630			clock-names = "cfg_noc",
2631				      "core",
2632				      "iface",
2633				      "sleep",
2634				      "mock_utmi",
2635				      "xo";
2636
2637			assigned-clocks = <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
2638					  <&gcc GCC_USB30_SEC_MASTER_CLK>;
2639			assigned-clock-rates = <19200000>, <200000000>;
2640
2641			interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
2642					      <&pdc 16 IRQ_TYPE_LEVEL_HIGH>,
2643					      <&pdc 13 IRQ_TYPE_EDGE_BOTH>,
2644					      <&pdc 12 IRQ_TYPE_EDGE_BOTH>;
2645			interrupt-names = "hs_phy_irq",
2646					  "ss_phy_irq",
2647					  "dm_hs_phy_irq",
2648					  "dp_hs_phy_irq";
2649
2650			power-domains = <&gcc USB30_SEC_GDSC>;
2651
2652			resets = <&gcc GCC_USB30_SEC_BCR>;
2653
2654			interconnects = <&aggre1_noc MASTER_USB3_1 0 &mc_virt SLAVE_EBI1 0>,
2655					<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_1 0>;
2656			interconnect-names = "usb-ddr", "apps-usb";
2657
2658			usb_2_dwc3: usb@a800000 {
2659				compatible = "snps,dwc3";
2660				reg = <0 0x0a800000 0 0xcd00>;
2661				interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
2662				iommus = <&apps_smmu 0x20 0x0>;
2663				snps,dis_u2_susphy_quirk;
2664				snps,dis_enblslpm_quirk;
2665				phys = <&usb_2_hsphy>, <&usb_2_ssphy>;
2666				phy-names = "usb2-phy", "usb3-phy";
2667			};
2668		};
2669
2670		mdss: display-subsystem@ae00000 {
2671			compatible = "qcom,sm8350-mdss";
2672			reg = <0 0x0ae00000 0 0x1000>;
2673			reg-names = "mdss";
2674
2675			interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>,
2676					<&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>;
2677			interconnect-names = "mdp0-mem", "mdp1-mem";
2678
2679			power-domains = <&dispcc MDSS_GDSC>;
2680			resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
2681
2682			clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2683				 <&gcc GCC_DISP_HF_AXI_CLK>,
2684				 <&gcc GCC_DISP_SF_AXI_CLK>,
2685				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
2686			clock-names = "iface", "bus", "nrt_bus", "core";
2687
2688			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
2689			interrupt-controller;
2690			#interrupt-cells = <1>;
2691
2692			iommus = <&apps_smmu 0x820 0x402>;
2693
2694			status = "disabled";
2695
2696			#address-cells = <2>;
2697			#size-cells = <2>;
2698			ranges;
2699
2700			dpu_opp_table: opp-table {
2701				compatible = "operating-points-v2";
2702
2703				/* TODO: opp-200000000 should work with
2704				 * &rpmhpd_opp_low_svs, but one some of
2705				 * sm8350_hdk boards reboot using this
2706				 * opp.
2707				 */
2708				opp-200000000 {
2709					opp-hz = /bits/ 64 <200000000>;
2710					required-opps = <&rpmhpd_opp_svs>;
2711				};
2712
2713				opp-300000000 {
2714					opp-hz = /bits/ 64 <300000000>;
2715					required-opps = <&rpmhpd_opp_svs>;
2716				};
2717
2718				opp-345000000 {
2719					opp-hz = /bits/ 64 <345000000>;
2720					required-opps = <&rpmhpd_opp_svs_l1>;
2721				};
2722
2723				opp-460000000 {
2724					opp-hz = /bits/ 64 <460000000>;
2725					required-opps = <&rpmhpd_opp_nom>;
2726				};
2727			};
2728
2729			mdss_mdp: display-controller@ae01000 {
2730				compatible = "qcom,sm8350-dpu";
2731				reg = <0 0x0ae01000 0 0x8f000>,
2732				      <0 0x0aeb0000 0 0x2008>;
2733				reg-names = "mdp", "vbif";
2734
2735				clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
2736					<&gcc GCC_DISP_SF_AXI_CLK>,
2737					<&dispcc DISP_CC_MDSS_AHB_CLK>,
2738					<&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
2739					<&dispcc DISP_CC_MDSS_MDP_CLK>,
2740					<&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2741				clock-names = "bus",
2742					      "nrt_bus",
2743					      "iface",
2744					      "lut",
2745					      "core",
2746					      "vsync";
2747
2748				assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2749				assigned-clock-rates = <19200000>;
2750
2751				operating-points-v2 = <&dpu_opp_table>;
2752				power-domains = <&rpmhpd RPMHPD_MMCX>;
2753
2754				interrupt-parent = <&mdss>;
2755				interrupts = <0>;
2756
2757				ports {
2758					#address-cells = <1>;
2759					#size-cells = <0>;
2760
2761					port@0 {
2762						reg = <0>;
2763						dpu_intf1_out: endpoint {
2764							remote-endpoint = <&mdss_dsi0_in>;
2765						};
2766					};
2767
2768					port@1 {
2769						reg = <1>;
2770						dpu_intf2_out: endpoint {
2771							remote-endpoint = <&mdss_dsi1_in>;
2772						};
2773					};
2774
2775					port@2 {
2776						reg = <2>;
2777						dpu_intf0_out: endpoint {
2778							remote-endpoint = <&mdss_dp_in>;
2779						};
2780					};
2781				};
2782			};
2783
2784			mdss_dp: displayport-controller@ae90000 {
2785				compatible = "qcom,sm8350-dp";
2786				reg = <0 0xae90000 0 0x200>,
2787				      <0 0xae90200 0 0x200>,
2788				      <0 0xae90400 0 0x600>,
2789				      <0 0xae91000 0 0x400>,
2790				      <0 0xae91400 0 0x400>;
2791				interrupt-parent = <&mdss>;
2792				interrupts = <12>;
2793				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2794					 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
2795					 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
2796					 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
2797					 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
2798				clock-names = "core_iface",
2799					      "core_aux",
2800					      "ctrl_link",
2801					      "ctrl_link_iface",
2802					      "stream_pixel";
2803
2804				assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
2805						  <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
2806				assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
2807							 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
2808
2809				phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
2810				phy-names = "dp";
2811
2812				#sound-dai-cells = <0>;
2813
2814				operating-points-v2 = <&dp_opp_table>;
2815				power-domains = <&rpmhpd RPMHPD_MMCX>;
2816
2817				status = "disabled";
2818
2819				ports {
2820					#address-cells = <1>;
2821					#size-cells = <0>;
2822
2823					port@0 {
2824						reg = <0>;
2825						mdss_dp_in: endpoint {
2826							remote-endpoint = <&dpu_intf0_out>;
2827						};
2828					};
2829				};
2830
2831				dp_opp_table: opp-table {
2832					compatible = "operating-points-v2";
2833
2834					opp-160000000 {
2835						opp-hz = /bits/ 64 <160000000>;
2836						required-opps = <&rpmhpd_opp_low_svs>;
2837					};
2838
2839					opp-270000000 {
2840						opp-hz = /bits/ 64 <270000000>;
2841						required-opps = <&rpmhpd_opp_svs>;
2842					};
2843
2844					opp-540000000 {
2845						opp-hz = /bits/ 64 <540000000>;
2846						required-opps = <&rpmhpd_opp_svs_l1>;
2847					};
2848
2849					opp-810000000 {
2850						opp-hz = /bits/ 64 <810000000>;
2851						required-opps = <&rpmhpd_opp_nom>;
2852					};
2853				};
2854			};
2855
2856			mdss_dsi0: dsi@ae94000 {
2857				compatible = "qcom,sm8350-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2858				reg = <0 0x0ae94000 0 0x400>;
2859				reg-names = "dsi_ctrl";
2860
2861				interrupt-parent = <&mdss>;
2862				interrupts = <4>;
2863
2864				clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
2865					 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
2866					 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
2867					 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
2868					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2869					 <&gcc GCC_DISP_HF_AXI_CLK>;
2870				clock-names = "byte",
2871					      "byte_intf",
2872					      "pixel",
2873					      "core",
2874					      "iface",
2875					      "bus";
2876
2877				assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
2878						  <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
2879				assigned-clock-parents = <&mdss_dsi0_phy 0>,
2880							 <&mdss_dsi0_phy 1>;
2881
2882				operating-points-v2 = <&dsi0_opp_table>;
2883				power-domains = <&rpmhpd RPMHPD_MMCX>;
2884
2885				phys = <&mdss_dsi0_phy>;
2886
2887				#address-cells = <1>;
2888				#size-cells = <0>;
2889
2890				status = "disabled";
2891
2892				dsi0_opp_table: opp-table {
2893					compatible = "operating-points-v2";
2894
2895					/* TODO: opp-187500000 should work with
2896					 * &rpmhpd_opp_low_svs, but one some of
2897					 * sm8350_hdk boards reboot using this
2898					 * opp.
2899					 */
2900					opp-187500000 {
2901						opp-hz = /bits/ 64 <187500000>;
2902						required-opps = <&rpmhpd_opp_svs>;
2903					};
2904
2905					opp-300000000 {
2906						opp-hz = /bits/ 64 <300000000>;
2907						required-opps = <&rpmhpd_opp_svs>;
2908					};
2909
2910					opp-358000000 {
2911						opp-hz = /bits/ 64 <358000000>;
2912						required-opps = <&rpmhpd_opp_svs_l1>;
2913					};
2914				};
2915
2916				ports {
2917					#address-cells = <1>;
2918					#size-cells = <0>;
2919
2920					port@0 {
2921						reg = <0>;
2922						mdss_dsi0_in: endpoint {
2923							remote-endpoint = <&dpu_intf1_out>;
2924						};
2925					};
2926
2927					port@1 {
2928						reg = <1>;
2929						mdss_dsi0_out: endpoint {
2930						};
2931					};
2932				};
2933			};
2934
2935			mdss_dsi0_phy: phy@ae94400 {
2936				compatible = "qcom,sm8350-dsi-phy-5nm";
2937				reg = <0 0x0ae94400 0 0x200>,
2938				      <0 0x0ae94600 0 0x280>,
2939				      <0 0x0ae94900 0 0x27c>;
2940				reg-names = "dsi_phy",
2941					    "dsi_phy_lane",
2942					    "dsi_pll";
2943
2944				#clock-cells = <1>;
2945				#phy-cells = <0>;
2946
2947				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2948					 <&rpmhcc RPMH_CXO_CLK>;
2949				clock-names = "iface", "ref";
2950
2951				status = "disabled";
2952			};
2953
2954			mdss_dsi1: dsi@ae96000 {
2955				compatible = "qcom,sm8350-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2956				reg = <0 0x0ae96000 0 0x400>;
2957				reg-names = "dsi_ctrl";
2958
2959				interrupt-parent = <&mdss>;
2960				interrupts = <5>;
2961
2962				clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
2963					 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
2964					 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
2965					 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
2966					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2967					 <&gcc GCC_DISP_HF_AXI_CLK>;
2968				clock-names = "byte",
2969					      "byte_intf",
2970					      "pixel",
2971					      "core",
2972					      "iface",
2973					      "bus";
2974
2975				assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
2976						  <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
2977				assigned-clock-parents = <&mdss_dsi1_phy 0>,
2978							 <&mdss_dsi1_phy 1>;
2979
2980				operating-points-v2 = <&dsi1_opp_table>;
2981				power-domains = <&rpmhpd RPMHPD_MMCX>;
2982
2983				phys = <&mdss_dsi1_phy>;
2984
2985				#address-cells = <1>;
2986				#size-cells = <0>;
2987
2988				status = "disabled";
2989
2990				dsi1_opp_table: opp-table {
2991					compatible = "operating-points-v2";
2992
2993					/* TODO: opp-187500000 should work with
2994					 * &rpmhpd_opp_low_svs, but one some of
2995					 * sm8350_hdk boards reboot using this
2996					 * opp.
2997					 */
2998					opp-187500000 {
2999						opp-hz = /bits/ 64 <187500000>;
3000						required-opps = <&rpmhpd_opp_svs>;
3001					};
3002
3003					opp-300000000 {
3004						opp-hz = /bits/ 64 <300000000>;
3005						required-opps = <&rpmhpd_opp_svs>;
3006					};
3007
3008					opp-358000000 {
3009						opp-hz = /bits/ 64 <358000000>;
3010						required-opps = <&rpmhpd_opp_svs_l1>;
3011					};
3012				};
3013
3014				ports {
3015					#address-cells = <1>;
3016					#size-cells = <0>;
3017
3018					port@0 {
3019						reg = <0>;
3020						mdss_dsi1_in: endpoint {
3021							remote-endpoint = <&dpu_intf2_out>;
3022						};
3023					};
3024
3025					port@1 {
3026						reg = <1>;
3027						mdss_dsi1_out: endpoint {
3028						};
3029					};
3030				};
3031			};
3032
3033			mdss_dsi1_phy: phy@ae96400 {
3034				compatible = "qcom,sm8350-dsi-phy-5nm";
3035				reg = <0 0x0ae96400 0 0x200>,
3036				      <0 0x0ae96600 0 0x280>,
3037				      <0 0x0ae96900 0 0x27c>;
3038				reg-names = "dsi_phy",
3039					    "dsi_phy_lane",
3040					    "dsi_pll";
3041
3042				#clock-cells = <1>;
3043				#phy-cells = <0>;
3044
3045				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
3046					 <&rpmhcc RPMH_CXO_CLK>;
3047				clock-names = "iface", "ref";
3048
3049				status = "disabled";
3050			};
3051		};
3052
3053		dispcc: clock-controller@af00000 {
3054			compatible = "qcom,sm8350-dispcc";
3055			reg = <0 0x0af00000 0 0x10000>;
3056			clocks = <&rpmhcc RPMH_CXO_CLK>,
3057				 <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>,
3058				 <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>,
3059				 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
3060				 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
3061			clock-names = "bi_tcxo",
3062				      "dsi0_phy_pll_out_byteclk",
3063				      "dsi0_phy_pll_out_dsiclk",
3064				      "dsi1_phy_pll_out_byteclk",
3065				      "dsi1_phy_pll_out_dsiclk",
3066				      "dp_phy_pll_link_clk",
3067				      "dp_phy_pll_vco_div_clk";
3068			#clock-cells = <1>;
3069			#reset-cells = <1>;
3070			#power-domain-cells = <1>;
3071
3072			power-domains = <&rpmhpd RPMHPD_MMCX>;
3073		};
3074
3075		pdc: interrupt-controller@b220000 {
3076			compatible = "qcom,sm8350-pdc", "qcom,pdc";
3077			reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x60>;
3078			qcom,pdc-ranges = <0 480 40>, <40 140 14>, <54 263 1>,   <55 306 4>,
3079					  <59 312 3>, <62 374 2>,  <64 434 2>,   <66 438 3>,
3080					  <69 86 1>,  <70 520 54>, <124 609 31>, <155 63 1>,
3081					  <156 716 12>;
3082			#interrupt-cells = <2>;
3083			interrupt-parent = <&intc>;
3084			interrupt-controller;
3085		};
3086
3087		tsens0: thermal-sensor@c263000 {
3088			compatible = "qcom,sm8350-tsens", "qcom,tsens-v2";
3089			reg = <0 0x0c263000 0 0x1ff>, /* TM */
3090			      <0 0x0c222000 0 0x8>; /* SROT */
3091			#qcom,sensors = <15>;
3092			interrupts-extended = <&pdc 26 IRQ_TYPE_LEVEL_HIGH>,
3093				     <&pdc 28 IRQ_TYPE_LEVEL_HIGH>;
3094			interrupt-names = "uplow", "critical";
3095			#thermal-sensor-cells = <1>;
3096		};
3097
3098		tsens1: thermal-sensor@c265000 {
3099			compatible = "qcom,sm8350-tsens", "qcom,tsens-v2";
3100			reg = <0 0x0c265000 0 0x1ff>, /* TM */
3101			      <0 0x0c223000 0 0x8>; /* SROT */
3102			#qcom,sensors = <14>;
3103			interrupts-extended = <&pdc 27 IRQ_TYPE_LEVEL_HIGH>,
3104				     <&pdc 29 IRQ_TYPE_LEVEL_HIGH>;
3105			interrupt-names = "uplow", "critical";
3106			#thermal-sensor-cells = <1>;
3107		};
3108
3109		aoss_qmp: power-management@c300000 {
3110			compatible = "qcom,sm8350-aoss-qmp", "qcom,aoss-qmp";
3111			reg = <0 0x0c300000 0 0x400>;
3112			interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
3113						     IRQ_TYPE_EDGE_RISING>;
3114			mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
3115
3116			#clock-cells = <0>;
3117		};
3118
3119		sram@c3f0000 {
3120			compatible = "qcom,rpmh-stats";
3121			reg = <0 0x0c3f0000 0 0x400>;
3122		};
3123
3124		spmi_bus: spmi@c440000 {
3125			compatible = "qcom,spmi-pmic-arb";
3126			reg = <0x0 0x0c440000 0x0 0x1100>,
3127			      <0x0 0x0c600000 0x0 0x2000000>,
3128			      <0x0 0x0e600000 0x0 0x100000>,
3129			      <0x0 0x0e700000 0x0 0xa0000>,
3130			      <0x0 0x0c40a000 0x0 0x26000>;
3131			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
3132			interrupt-names = "periph_irq";
3133			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
3134			qcom,ee = <0>;
3135			qcom,channel = <0>;
3136			#address-cells = <2>;
3137			#size-cells = <0>;
3138			interrupt-controller;
3139			#interrupt-cells = <4>;
3140		};
3141
3142		tlmm: pinctrl@f100000 {
3143			compatible = "qcom,sm8350-tlmm";
3144			reg = <0 0x0f100000 0 0x300000>;
3145			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
3146			gpio-controller;
3147			#gpio-cells = <2>;
3148			interrupt-controller;
3149			#interrupt-cells = <2>;
3150			gpio-ranges = <&tlmm 0 0 204>;
3151			wakeup-parent = <&pdc>;
3152
3153			sdc2_default_state: sdc2-default-state {
3154				clk-pins {
3155					pins = "sdc2_clk";
3156					drive-strength = <16>;
3157					bias-disable;
3158				};
3159
3160				cmd-pins {
3161					pins = "sdc2_cmd";
3162					drive-strength = <16>;
3163					bias-pull-up;
3164				};
3165
3166				data-pins {
3167					pins = "sdc2_data";
3168					drive-strength = <16>;
3169					bias-pull-up;
3170				};
3171			};
3172
3173			sdc2_sleep_state: sdc2-sleep-state {
3174				clk-pins {
3175					pins = "sdc2_clk";
3176					drive-strength = <2>;
3177					bias-disable;
3178				};
3179
3180				cmd-pins {
3181					pins = "sdc2_cmd";
3182					drive-strength = <2>;
3183					bias-pull-up;
3184				};
3185
3186				data-pins {
3187					pins = "sdc2_data";
3188					drive-strength = <2>;
3189					bias-pull-up;
3190				};
3191			};
3192
3193			qup_uart3_default_state: qup-uart3-default-state {
3194				rx-pins {
3195					pins = "gpio18";
3196					function = "qup3";
3197				};
3198				tx-pins {
3199					pins = "gpio19";
3200					function = "qup3";
3201				};
3202			};
3203
3204			qup_uart6_default: qup-uart6-default-state {
3205				pins = "gpio30", "gpio31";
3206				function = "qup6";
3207				drive-strength = <2>;
3208				bias-disable;
3209			};
3210
3211			qup_uart18_default: qup-uart18-default-state {
3212				pins = "gpio68", "gpio69";
3213				function = "qup18";
3214				drive-strength = <2>;
3215				bias-disable;
3216			};
3217
3218			qup_i2c0_default: qup-i2c0-default-state {
3219				pins = "gpio4", "gpio5";
3220				function = "qup0";
3221				drive-strength = <2>;
3222				bias-pull-up;
3223			};
3224
3225			qup_i2c1_default: qup-i2c1-default-state {
3226				pins = "gpio8", "gpio9";
3227				function = "qup1";
3228				drive-strength = <2>;
3229				bias-pull-up;
3230			};
3231
3232			qup_i2c2_default: qup-i2c2-default-state {
3233				pins = "gpio12", "gpio13";
3234				function = "qup2";
3235				drive-strength = <2>;
3236				bias-pull-up;
3237			};
3238
3239			qup_i2c4_default: qup-i2c4-default-state {
3240				pins = "gpio20", "gpio21";
3241				function = "qup4";
3242				drive-strength = <2>;
3243				bias-pull-up;
3244			};
3245
3246			qup_i2c5_default: qup-i2c5-default-state {
3247				pins = "gpio24", "gpio25";
3248				function = "qup5";
3249				drive-strength = <2>;
3250				bias-pull-up;
3251			};
3252
3253			qup_i2c6_default: qup-i2c6-default-state {
3254				pins = "gpio28", "gpio29";
3255				function = "qup6";
3256				drive-strength = <2>;
3257				bias-pull-up;
3258			};
3259
3260			qup_i2c7_default: qup-i2c7-default-state {
3261				pins = "gpio32", "gpio33";
3262				function = "qup7";
3263				drive-strength = <2>;
3264				bias-disable;
3265			};
3266
3267			qup_i2c8_default: qup-i2c8-default-state {
3268				pins = "gpio36", "gpio37";
3269				function = "qup8";
3270				drive-strength = <2>;
3271				bias-pull-up;
3272			};
3273
3274			qup_i2c9_default: qup-i2c9-default-state {
3275				pins = "gpio40", "gpio41";
3276				function = "qup9";
3277				drive-strength = <2>;
3278				bias-pull-up;
3279			};
3280
3281			qup_i2c10_default: qup-i2c10-default-state {
3282				pins = "gpio44", "gpio45";
3283				function = "qup10";
3284				drive-strength = <2>;
3285				bias-pull-up;
3286			};
3287
3288			qup_i2c11_default: qup-i2c11-default-state {
3289				pins = "gpio48", "gpio49";
3290				function = "qup11";
3291				drive-strength = <2>;
3292				bias-pull-up;
3293			};
3294
3295			qup_i2c12_default: qup-i2c12-default-state {
3296				pins = "gpio52", "gpio53";
3297				function = "qup12";
3298				drive-strength = <2>;
3299				bias-pull-up;
3300			};
3301
3302			qup_i2c13_default: qup-i2c13-default-state {
3303				pins = "gpio0", "gpio1";
3304				function = "qup13";
3305				drive-strength = <2>;
3306				bias-pull-up;
3307			};
3308
3309			qup_i2c14_default: qup-i2c14-default-state {
3310				pins = "gpio56", "gpio57";
3311				function = "qup14";
3312				drive-strength = <2>;
3313				bias-disable;
3314			};
3315
3316			qup_i2c15_default: qup-i2c15-default-state {
3317				pins = "gpio60", "gpio61";
3318				function = "qup15";
3319				drive-strength = <2>;
3320				bias-disable;
3321			};
3322
3323			qup_i2c16_default: qup-i2c16-default-state {
3324				pins = "gpio64", "gpio65";
3325				function = "qup16";
3326				drive-strength = <2>;
3327				bias-disable;
3328			};
3329
3330			qup_i2c17_default: qup-i2c17-default-state {
3331				pins = "gpio72", "gpio73";
3332				function = "qup17";
3333				drive-strength = <2>;
3334				bias-disable;
3335			};
3336
3337			qup_i2c19_default: qup-i2c19-default-state {
3338				pins = "gpio76", "gpio77";
3339				function = "qup19";
3340				drive-strength = <2>;
3341				bias-disable;
3342			};
3343		};
3344
3345		apps_smmu: iommu@15000000 {
3346			compatible = "qcom,sm8350-smmu-500", "arm,mmu-500";
3347			reg = <0 0x15000000 0 0x100000>;
3348			#iommu-cells = <2>;
3349			#global-interrupts = <2>;
3350			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
3351				     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
3352				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
3353				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
3354				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
3355				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
3356				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
3357				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
3358				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
3359				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
3360				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
3361				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
3362				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
3363				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
3364				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
3365				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
3366				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
3367				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
3368				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
3369				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
3370				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
3371				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
3372				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
3373				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
3374				     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
3375				     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
3376				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
3377				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
3378				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
3379				     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
3380				     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
3381				     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
3382				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
3383				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
3384				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
3385				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
3386				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
3387				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
3388				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
3389				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
3390				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
3391				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
3392				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
3393				     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
3394				     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
3395				     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
3396				     <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
3397				     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
3398				     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
3399				     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
3400				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
3401				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
3402				     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
3403				     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
3404				     <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
3405				     <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
3406				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
3407				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
3408				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
3409				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
3410				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
3411				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
3412				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
3413				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
3414				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
3415				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
3416				     <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
3417				     <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
3418				     <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
3419				     <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
3420				     <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
3421				     <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
3422				     <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
3423				     <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
3424				     <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
3425				     <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
3426				     <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
3427				     <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
3428				     <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
3429				     <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
3430				     <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
3431				     <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
3432				     <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
3433				     <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
3434				     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
3435				     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
3436				     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
3437				     <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
3438				     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
3439				     <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>,
3440				     <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>,
3441				     <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>,
3442				     <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>,
3443				     <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
3444				     <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>,
3445				     <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>,
3446				     <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>,
3447				     <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>;
3448		};
3449
3450		intc: interrupt-controller@17a00000 {
3451			compatible = "arm,gic-v3";
3452			#interrupt-cells = <3>;
3453			interrupt-controller;
3454			#redistributor-regions = <1>;
3455			redistributor-stride = <0 0x20000>;
3456			reg = <0x0 0x17a00000 0x0 0x10000>,     /* GICD */
3457			      <0x0 0x17a60000 0x0 0x100000>;    /* GICR * 8 */
3458			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3459		};
3460
3461		timer@17c20000 {
3462			compatible = "arm,armv7-timer-mem";
3463			#address-cells = <1>;
3464			#size-cells = <1>;
3465			ranges = <0 0 0 0x20000000>;
3466			reg = <0x0 0x17c20000 0x0 0x1000>;
3467			clock-frequency = <19200000>;
3468
3469			frame@17c21000 {
3470				frame-number = <0>;
3471				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
3472					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
3473				reg = <0x17c21000 0x1000>,
3474				      <0x17c22000 0x1000>;
3475			};
3476
3477			frame@17c23000 {
3478				frame-number = <1>;
3479				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
3480				reg = <0x17c23000 0x1000>;
3481				status = "disabled";
3482			};
3483
3484			frame@17c25000 {
3485				frame-number = <2>;
3486				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
3487				reg = <0x17c25000 0x1000>;
3488				status = "disabled";
3489			};
3490
3491			frame@17c27000 {
3492				frame-number = <3>;
3493				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
3494				reg = <0x17c27000 0x1000>;
3495				status = "disabled";
3496			};
3497
3498			frame@17c29000 {
3499				frame-number = <4>;
3500				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
3501				reg = <0x17c29000 0x1000>;
3502				status = "disabled";
3503			};
3504
3505			frame@17c2b000 {
3506				frame-number = <5>;
3507				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
3508				reg = <0x17c2b000 0x1000>;
3509				status = "disabled";
3510			};
3511
3512			frame@17c2d000 {
3513				frame-number = <6>;
3514				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
3515				reg = <0x17c2d000 0x1000>;
3516				status = "disabled";
3517			};
3518		};
3519
3520		apps_rsc: rsc@18200000 {
3521			label = "apps_rsc";
3522			compatible = "qcom,rpmh-rsc";
3523			reg = <0x0 0x18200000 0x0 0x10000>,
3524				<0x0 0x18210000 0x0 0x10000>,
3525				<0x0 0x18220000 0x0 0x10000>;
3526			reg-names = "drv-0", "drv-1", "drv-2";
3527			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
3528				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
3529				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
3530			qcom,tcs-offset = <0xd00>;
3531			qcom,drv-id = <2>;
3532			qcom,tcs-config = <ACTIVE_TCS  2>, <SLEEP_TCS   3>,
3533					  <WAKE_TCS    3>, <CONTROL_TCS 0>;
3534			power-domains = <&CLUSTER_PD>;
3535
3536			rpmhcc: clock-controller {
3537				compatible = "qcom,sm8350-rpmh-clk";
3538				#clock-cells = <1>;
3539				clock-names = "xo";
3540				clocks = <&xo_board>;
3541			};
3542
3543			rpmhpd: power-controller {
3544				compatible = "qcom,sm8350-rpmhpd";
3545				#power-domain-cells = <1>;
3546				operating-points-v2 = <&rpmhpd_opp_table>;
3547
3548				rpmhpd_opp_table: opp-table {
3549					compatible = "operating-points-v2";
3550
3551					rpmhpd_opp_ret: opp1 {
3552						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
3553					};
3554
3555					rpmhpd_opp_min_svs: opp2 {
3556						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
3557					};
3558
3559					rpmhpd_opp_low_svs: opp3 {
3560						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
3561					};
3562
3563					rpmhpd_opp_svs: opp4 {
3564						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
3565					};
3566
3567					rpmhpd_opp_svs_l1: opp5 {
3568						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
3569					};
3570
3571					rpmhpd_opp_nom: opp6 {
3572						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
3573					};
3574
3575					rpmhpd_opp_nom_l1: opp7 {
3576						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
3577					};
3578
3579					rpmhpd_opp_nom_l2: opp8 {
3580						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
3581					};
3582
3583					rpmhpd_opp_turbo: opp9 {
3584						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
3585					};
3586
3587					rpmhpd_opp_turbo_l1: opp10 {
3588						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
3589					};
3590				};
3591			};
3592
3593			apps_bcm_voter: bcm-voter {
3594				compatible = "qcom,bcm-voter";
3595			};
3596		};
3597
3598		cpufreq_hw: cpufreq@18591000 {
3599			compatible = "qcom,sm8350-cpufreq-epss", "qcom,cpufreq-epss";
3600			reg = <0 0x18591000 0 0x1000>,
3601			      <0 0x18592000 0 0x1000>,
3602			      <0 0x18593000 0 0x1000>;
3603			reg-names = "freq-domain0", "freq-domain1", "freq-domain2";
3604
3605			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
3606				     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
3607				     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
3608			interrupt-names = "dcvsh-irq-0",
3609					  "dcvsh-irq-1",
3610					  "dcvsh-irq-2";
3611
3612			clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>;
3613			clock-names = "xo", "alternate";
3614
3615			#freq-domain-cells = <1>;
3616			#clock-cells = <1>;
3617		};
3618	};
3619
3620	thermal_zones: thermal-zones {
3621		cpu0-thermal {
3622			polling-delay-passive = <250>;
3623			polling-delay = <1000>;
3624
3625			thermal-sensors = <&tsens0 1>;
3626
3627			trips {
3628				cpu0_alert0: trip-point0 {
3629					temperature = <90000>;
3630					hysteresis = <2000>;
3631					type = "passive";
3632				};
3633
3634				cpu0_alert1: trip-point1 {
3635					temperature = <95000>;
3636					hysteresis = <2000>;
3637					type = "passive";
3638				};
3639
3640				cpu0_crit: cpu-crit {
3641					temperature = <110000>;
3642					hysteresis = <1000>;
3643					type = "critical";
3644				};
3645			};
3646
3647			cooling-maps {
3648				map0 {
3649					trip = <&cpu0_alert0>;
3650					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3651							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3652							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3653							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3654				};
3655				map1 {
3656					trip = <&cpu0_alert1>;
3657					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3658							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3659							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3660							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3661				};
3662			};
3663		};
3664
3665		cpu1-thermal {
3666			polling-delay-passive = <250>;
3667			polling-delay = <1000>;
3668
3669			thermal-sensors = <&tsens0 2>;
3670
3671			trips {
3672				cpu1_alert0: trip-point0 {
3673					temperature = <90000>;
3674					hysteresis = <2000>;
3675					type = "passive";
3676				};
3677
3678				cpu1_alert1: trip-point1 {
3679					temperature = <95000>;
3680					hysteresis = <2000>;
3681					type = "passive";
3682				};
3683
3684				cpu1_crit: cpu-crit {
3685					temperature = <110000>;
3686					hysteresis = <1000>;
3687					type = "critical";
3688				};
3689			};
3690
3691			cooling-maps {
3692				map0 {
3693					trip = <&cpu1_alert0>;
3694					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3695							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3696							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3697							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3698				};
3699				map1 {
3700					trip = <&cpu1_alert1>;
3701					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3702							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3703							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3704							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3705				};
3706			};
3707		};
3708
3709		cpu2-thermal {
3710			polling-delay-passive = <250>;
3711			polling-delay = <1000>;
3712
3713			thermal-sensors = <&tsens0 3>;
3714
3715			trips {
3716				cpu2_alert0: trip-point0 {
3717					temperature = <90000>;
3718					hysteresis = <2000>;
3719					type = "passive";
3720				};
3721
3722				cpu2_alert1: trip-point1 {
3723					temperature = <95000>;
3724					hysteresis = <2000>;
3725					type = "passive";
3726				};
3727
3728				cpu2_crit: cpu-crit {
3729					temperature = <110000>;
3730					hysteresis = <1000>;
3731					type = "critical";
3732				};
3733			};
3734
3735			cooling-maps {
3736				map0 {
3737					trip = <&cpu2_alert0>;
3738					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3739							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3740							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3741							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3742				};
3743				map1 {
3744					trip = <&cpu2_alert1>;
3745					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3746							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3747							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3748							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3749				};
3750			};
3751		};
3752
3753		cpu3-thermal {
3754			polling-delay-passive = <250>;
3755			polling-delay = <1000>;
3756
3757			thermal-sensors = <&tsens0 4>;
3758
3759			trips {
3760				cpu3_alert0: trip-point0 {
3761					temperature = <90000>;
3762					hysteresis = <2000>;
3763					type = "passive";
3764				};
3765
3766				cpu3_alert1: trip-point1 {
3767					temperature = <95000>;
3768					hysteresis = <2000>;
3769					type = "passive";
3770				};
3771
3772				cpu3_crit: cpu-crit {
3773					temperature = <110000>;
3774					hysteresis = <1000>;
3775					type = "critical";
3776				};
3777			};
3778
3779			cooling-maps {
3780				map0 {
3781					trip = <&cpu3_alert0>;
3782					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3783							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3784							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3785							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3786				};
3787				map1 {
3788					trip = <&cpu3_alert1>;
3789					cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3790							 <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3791							 <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3792							 <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3793				};
3794			};
3795		};
3796
3797		cpu4-top-thermal {
3798			polling-delay-passive = <250>;
3799			polling-delay = <1000>;
3800
3801			thermal-sensors = <&tsens0 7>;
3802
3803			trips {
3804				cpu4_top_alert0: trip-point0 {
3805					temperature = <90000>;
3806					hysteresis = <2000>;
3807					type = "passive";
3808				};
3809
3810				cpu4_top_alert1: trip-point1 {
3811					temperature = <95000>;
3812					hysteresis = <2000>;
3813					type = "passive";
3814				};
3815
3816				cpu4_top_crit: cpu-crit {
3817					temperature = <110000>;
3818					hysteresis = <1000>;
3819					type = "critical";
3820				};
3821			};
3822
3823			cooling-maps {
3824				map0 {
3825					trip = <&cpu4_top_alert0>;
3826					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3827							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3828							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3829							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3830				};
3831				map1 {
3832					trip = <&cpu4_top_alert1>;
3833					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3834							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3835							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3836							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3837				};
3838			};
3839		};
3840
3841		cpu5-top-thermal {
3842			polling-delay-passive = <250>;
3843			polling-delay = <1000>;
3844
3845			thermal-sensors = <&tsens0 8>;
3846
3847			trips {
3848				cpu5_top_alert0: trip-point0 {
3849					temperature = <90000>;
3850					hysteresis = <2000>;
3851					type = "passive";
3852				};
3853
3854				cpu5_top_alert1: trip-point1 {
3855					temperature = <95000>;
3856					hysteresis = <2000>;
3857					type = "passive";
3858				};
3859
3860				cpu5_top_crit: cpu-crit {
3861					temperature = <110000>;
3862					hysteresis = <1000>;
3863					type = "critical";
3864				};
3865			};
3866
3867			cooling-maps {
3868				map0 {
3869					trip = <&cpu5_top_alert0>;
3870					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3871							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3872							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3873							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3874				};
3875				map1 {
3876					trip = <&cpu5_top_alert1>;
3877					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3878							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3879							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3880							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3881				};
3882			};
3883		};
3884
3885		cpu6-top-thermal {
3886			polling-delay-passive = <250>;
3887			polling-delay = <1000>;
3888
3889			thermal-sensors = <&tsens0 9>;
3890
3891			trips {
3892				cpu6_top_alert0: trip-point0 {
3893					temperature = <90000>;
3894					hysteresis = <2000>;
3895					type = "passive";
3896				};
3897
3898				cpu6_top_alert1: trip-point1 {
3899					temperature = <95000>;
3900					hysteresis = <2000>;
3901					type = "passive";
3902				};
3903
3904				cpu6_top_crit: cpu-crit {
3905					temperature = <110000>;
3906					hysteresis = <1000>;
3907					type = "critical";
3908				};
3909			};
3910
3911			cooling-maps {
3912				map0 {
3913					trip = <&cpu6_top_alert0>;
3914					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3915							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3916							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3917							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3918				};
3919				map1 {
3920					trip = <&cpu6_top_alert1>;
3921					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3922							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3923							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3924							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3925				};
3926			};
3927		};
3928
3929		cpu7-top-thermal {
3930			polling-delay-passive = <250>;
3931			polling-delay = <1000>;
3932
3933			thermal-sensors = <&tsens0 10>;
3934
3935			trips {
3936				cpu7_top_alert0: trip-point0 {
3937					temperature = <90000>;
3938					hysteresis = <2000>;
3939					type = "passive";
3940				};
3941
3942				cpu7_top_alert1: trip-point1 {
3943					temperature = <95000>;
3944					hysteresis = <2000>;
3945					type = "passive";
3946				};
3947
3948				cpu7_top_crit: cpu-crit {
3949					temperature = <110000>;
3950					hysteresis = <1000>;
3951					type = "critical";
3952				};
3953			};
3954
3955			cooling-maps {
3956				map0 {
3957					trip = <&cpu7_top_alert0>;
3958					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3959							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3960							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3961							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3962				};
3963				map1 {
3964					trip = <&cpu7_top_alert1>;
3965					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3966							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3967							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
3968							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3969				};
3970			};
3971		};
3972
3973		cpu4-bottom-thermal {
3974			polling-delay-passive = <250>;
3975			polling-delay = <1000>;
3976
3977			thermal-sensors = <&tsens0 11>;
3978
3979			trips {
3980				cpu4_bottom_alert0: trip-point0 {
3981					temperature = <90000>;
3982					hysteresis = <2000>;
3983					type = "passive";
3984				};
3985
3986				cpu4_bottom_alert1: trip-point1 {
3987					temperature = <95000>;
3988					hysteresis = <2000>;
3989					type = "passive";
3990				};
3991
3992				cpu4_bottom_crit: cpu-crit {
3993					temperature = <110000>;
3994					hysteresis = <1000>;
3995					type = "critical";
3996				};
3997			};
3998
3999			cooling-maps {
4000				map0 {
4001					trip = <&cpu4_bottom_alert0>;
4002					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4003							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4004							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4005							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4006				};
4007				map1 {
4008					trip = <&cpu4_bottom_alert1>;
4009					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4010							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4011							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4012							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4013				};
4014			};
4015		};
4016
4017		cpu5-bottom-thermal {
4018			polling-delay-passive = <250>;
4019			polling-delay = <1000>;
4020
4021			thermal-sensors = <&tsens0 12>;
4022
4023			trips {
4024				cpu5_bottom_alert0: trip-point0 {
4025					temperature = <90000>;
4026					hysteresis = <2000>;
4027					type = "passive";
4028				};
4029
4030				cpu5_bottom_alert1: trip-point1 {
4031					temperature = <95000>;
4032					hysteresis = <2000>;
4033					type = "passive";
4034				};
4035
4036				cpu5_bottom_crit: cpu-crit {
4037					temperature = <110000>;
4038					hysteresis = <1000>;
4039					type = "critical";
4040				};
4041			};
4042
4043			cooling-maps {
4044				map0 {
4045					trip = <&cpu5_bottom_alert0>;
4046					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4047							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4048							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4049							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4050				};
4051				map1 {
4052					trip = <&cpu5_bottom_alert1>;
4053					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4054							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4055							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4056							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4057				};
4058			};
4059		};
4060
4061		cpu6-bottom-thermal {
4062			polling-delay-passive = <250>;
4063			polling-delay = <1000>;
4064
4065			thermal-sensors = <&tsens0 13>;
4066
4067			trips {
4068				cpu6_bottom_alert0: trip-point0 {
4069					temperature = <90000>;
4070					hysteresis = <2000>;
4071					type = "passive";
4072				};
4073
4074				cpu6_bottom_alert1: trip-point1 {
4075					temperature = <95000>;
4076					hysteresis = <2000>;
4077					type = "passive";
4078				};
4079
4080				cpu6_bottom_crit: cpu-crit {
4081					temperature = <110000>;
4082					hysteresis = <1000>;
4083					type = "critical";
4084				};
4085			};
4086
4087			cooling-maps {
4088				map0 {
4089					trip = <&cpu6_bottom_alert0>;
4090					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4091							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4092							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4093							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4094				};
4095				map1 {
4096					trip = <&cpu6_bottom_alert1>;
4097					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4098							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4099							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4100							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4101				};
4102			};
4103		};
4104
4105		cpu7-bottom-thermal {
4106			polling-delay-passive = <250>;
4107			polling-delay = <1000>;
4108
4109			thermal-sensors = <&tsens0 14>;
4110
4111			trips {
4112				cpu7_bottom_alert0: trip-point0 {
4113					temperature = <90000>;
4114					hysteresis = <2000>;
4115					type = "passive";
4116				};
4117
4118				cpu7_bottom_alert1: trip-point1 {
4119					temperature = <95000>;
4120					hysteresis = <2000>;
4121					type = "passive";
4122				};
4123
4124				cpu7_bottom_crit: cpu-crit {
4125					temperature = <110000>;
4126					hysteresis = <1000>;
4127					type = "critical";
4128				};
4129			};
4130
4131			cooling-maps {
4132				map0 {
4133					trip = <&cpu7_bottom_alert0>;
4134					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4135							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4136							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4137							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4138				};
4139				map1 {
4140					trip = <&cpu7_bottom_alert1>;
4141					cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4142							 <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4143							 <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
4144							 <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
4145				};
4146			};
4147		};
4148
4149		aoss0-thermal {
4150			polling-delay-passive = <250>;
4151			polling-delay = <1000>;
4152
4153			thermal-sensors = <&tsens0 0>;
4154
4155			trips {
4156				aoss0_alert0: trip-point0 {
4157					temperature = <90000>;
4158					hysteresis = <2000>;
4159					type = "hot";
4160				};
4161			};
4162		};
4163
4164		cluster0-thermal {
4165			polling-delay-passive = <250>;
4166			polling-delay = <1000>;
4167
4168			thermal-sensors = <&tsens0 5>;
4169
4170			trips {
4171				cluster0_alert0: trip-point0 {
4172					temperature = <90000>;
4173					hysteresis = <2000>;
4174					type = "hot";
4175				};
4176				cluster0_crit: cluster0_crit {
4177					temperature = <110000>;
4178					hysteresis = <2000>;
4179					type = "critical";
4180				};
4181			};
4182		};
4183
4184		cluster1-thermal {
4185			polling-delay-passive = <250>;
4186			polling-delay = <1000>;
4187
4188			thermal-sensors = <&tsens0 6>;
4189
4190			trips {
4191				cluster1_alert0: trip-point0 {
4192					temperature = <90000>;
4193					hysteresis = <2000>;
4194					type = "hot";
4195				};
4196				cluster1_crit: cluster1_crit {
4197					temperature = <110000>;
4198					hysteresis = <2000>;
4199					type = "critical";
4200				};
4201			};
4202		};
4203
4204		aoss1-thermal {
4205			polling-delay-passive = <250>;
4206			polling-delay = <1000>;
4207
4208			thermal-sensors = <&tsens1 0>;
4209
4210			trips {
4211				aoss1_alert0: trip-point0 {
4212					temperature = <90000>;
4213					hysteresis = <2000>;
4214					type = "hot";
4215				};
4216			};
4217		};
4218
4219		gpu-top-thermal {
4220			polling-delay-passive = <250>;
4221			polling-delay = <1000>;
4222
4223			thermal-sensors = <&tsens1 1>;
4224
4225			trips {
4226				gpu1_alert0: trip-point0 {
4227					temperature = <90000>;
4228					hysteresis = <1000>;
4229					type = "hot";
4230				};
4231			};
4232		};
4233
4234		gpu-bottom-thermal {
4235			polling-delay-passive = <250>;
4236			polling-delay = <1000>;
4237
4238			thermal-sensors = <&tsens1 2>;
4239
4240			trips {
4241				gpu2_alert0: trip-point0 {
4242					temperature = <90000>;
4243					hysteresis = <1000>;
4244					type = "hot";
4245				};
4246			};
4247		};
4248
4249		nspss1-thermal {
4250			polling-delay-passive = <250>;
4251			polling-delay = <1000>;
4252
4253			thermal-sensors = <&tsens1 3>;
4254
4255			trips {
4256				nspss1_alert0: trip-point0 {
4257					temperature = <90000>;
4258					hysteresis = <1000>;
4259					type = "hot";
4260				};
4261			};
4262		};
4263
4264		nspss2-thermal {
4265			polling-delay-passive = <250>;
4266			polling-delay = <1000>;
4267
4268			thermal-sensors = <&tsens1 4>;
4269
4270			trips {
4271				nspss2_alert0: trip-point0 {
4272					temperature = <90000>;
4273					hysteresis = <1000>;
4274					type = "hot";
4275				};
4276			};
4277		};
4278
4279		nspss3-thermal {
4280			polling-delay-passive = <250>;
4281			polling-delay = <1000>;
4282
4283			thermal-sensors = <&tsens1 5>;
4284
4285			trips {
4286				nspss3_alert0: trip-point0 {
4287					temperature = <90000>;
4288					hysteresis = <1000>;
4289					type = "hot";
4290				};
4291			};
4292		};
4293
4294		video-thermal {
4295			polling-delay-passive = <250>;
4296			polling-delay = <1000>;
4297
4298			thermal-sensors = <&tsens1 6>;
4299
4300			trips {
4301				video_alert0: trip-point0 {
4302					temperature = <90000>;
4303					hysteresis = <2000>;
4304					type = "hot";
4305				};
4306			};
4307		};
4308
4309		mem-thermal {
4310			polling-delay-passive = <250>;
4311			polling-delay = <1000>;
4312
4313			thermal-sensors = <&tsens1 7>;
4314
4315			trips {
4316				mem_alert0: trip-point0 {
4317					temperature = <90000>;
4318					hysteresis = <2000>;
4319					type = "hot";
4320				};
4321			};
4322		};
4323
4324		modem1-top-thermal {
4325			polling-delay-passive = <250>;
4326			polling-delay = <1000>;
4327
4328			thermal-sensors = <&tsens1 8>;
4329
4330			trips {
4331				modem1_alert0: trip-point0 {
4332					temperature = <90000>;
4333					hysteresis = <2000>;
4334					type = "hot";
4335				};
4336			};
4337		};
4338
4339		modem2-top-thermal {
4340			polling-delay-passive = <250>;
4341			polling-delay = <1000>;
4342
4343			thermal-sensors = <&tsens1 9>;
4344
4345			trips {
4346				modem2_alert0: trip-point0 {
4347					temperature = <90000>;
4348					hysteresis = <2000>;
4349					type = "hot";
4350				};
4351			};
4352		};
4353
4354		modem3-top-thermal {
4355			polling-delay-passive = <250>;
4356			polling-delay = <1000>;
4357
4358			thermal-sensors = <&tsens1 10>;
4359
4360			trips {
4361				modem3_alert0: trip-point0 {
4362					temperature = <90000>;
4363					hysteresis = <2000>;
4364					type = "hot";
4365				};
4366			};
4367		};
4368
4369		modem4-top-thermal {
4370			polling-delay-passive = <250>;
4371			polling-delay = <1000>;
4372
4373			thermal-sensors = <&tsens1 11>;
4374
4375			trips {
4376				modem4_alert0: trip-point0 {
4377					temperature = <90000>;
4378					hysteresis = <2000>;
4379					type = "hot";
4380				};
4381			};
4382		};
4383
4384		camera-top-thermal {
4385			polling-delay-passive = <250>;
4386			polling-delay = <1000>;
4387
4388			thermal-sensors = <&tsens1 12>;
4389
4390			trips {
4391				camera1_alert0: trip-point0 {
4392					temperature = <90000>;
4393					hysteresis = <2000>;
4394					type = "hot";
4395				};
4396			};
4397		};
4398
4399		cam-bottom-thermal {
4400			polling-delay-passive = <250>;
4401			polling-delay = <1000>;
4402
4403			thermal-sensors = <&tsens1 13>;
4404
4405			trips {
4406				camera2_alert0: trip-point0 {
4407					temperature = <90000>;
4408					hysteresis = <2000>;
4409					type = "hot";
4410				};
4411			};
4412		};
4413	};
4414
4415	timer {
4416		compatible = "arm,armv8-timer";
4417		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
4418			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
4419			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
4420			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
4421	};
4422};
4423