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