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