1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
6 #include <dt-bindings/clock/qcom,rpmcc.h>
7 #include <dt-bindings/clock/qcom,sm6375-gcc.h>
8 #include <dt-bindings/clock/qcom,sm6375-gpucc.h>
9 #include <dt-bindings/dma/qcom-gpi.h>
10 #include <dt-bindings/firmware/qcom,scm.h>
11 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 #include <dt-bindings/mailbox/qcom-ipcc.h>
13 #include <dt-bindings/power/qcom-rpmpd.h>
16 interrupt-parent = <&intc>;
24 xo_board_clk: xo-board-clk {
25 compatible = "fixed-clock";
29 sleep_clk: sleep-clk {
30 compatible = "fixed-clock";
31 clock-frequency = <32000>;
42 compatible = "qcom,kryo660";
44 clocks = <&cpufreq_hw 0>;
45 enable-method = "psci";
46 next-level-cache = <&L2_0>;
47 qcom,freq-domain = <&cpufreq_hw 0>;
48 power-domains = <&CPU_PD0>;
49 power-domain-names = "psci";
55 next-level-cache = <&L3_0>;
66 compatible = "qcom,kryo660";
68 clocks = <&cpufreq_hw 0>;
69 enable-method = "psci";
70 next-level-cache = <&L2_100>;
71 qcom,freq-domain = <&cpufreq_hw 0>;
72 power-domains = <&CPU_PD1>;
73 power-domain-names = "psci";
79 next-level-cache = <&L3_0>;
85 compatible = "qcom,kryo660";
87 clocks = <&cpufreq_hw 0>;
88 enable-method = "psci";
89 next-level-cache = <&L2_200>;
90 qcom,freq-domain = <&cpufreq_hw 0>;
91 power-domains = <&CPU_PD2>;
92 power-domain-names = "psci";
98 next-level-cache = <&L3_0>;
104 compatible = "qcom,kryo660";
106 clocks = <&cpufreq_hw 0>;
107 enable-method = "psci";
108 next-level-cache = <&L2_300>;
109 qcom,freq-domain = <&cpufreq_hw 0>;
110 power-domains = <&CPU_PD3>;
111 power-domain-names = "psci";
112 #cooling-cells = <2>;
114 compatible = "cache";
117 next-level-cache = <&L3_0>;
123 compatible = "qcom,kryo660";
125 clocks = <&cpufreq_hw 0>;
126 enable-method = "psci";
127 next-level-cache = <&L2_400>;
128 qcom,freq-domain = <&cpufreq_hw 0>;
129 power-domains = <&CPU_PD4>;
130 power-domain-names = "psci";
131 #cooling-cells = <2>;
133 compatible = "cache";
136 next-level-cache = <&L3_0>;
142 compatible = "qcom,kryo660";
144 clocks = <&cpufreq_hw 0>;
145 enable-method = "psci";
146 next-level-cache = <&L2_500>;
147 qcom,freq-domain = <&cpufreq_hw 0>;
148 power-domains = <&CPU_PD5>;
149 power-domain-names = "psci";
150 #cooling-cells = <2>;
152 compatible = "cache";
155 next-level-cache = <&L3_0>;
161 compatible = "qcom,kryo660";
163 clocks = <&cpufreq_hw 1>;
164 enable-method = "psci";
165 next-level-cache = <&L2_600>;
166 qcom,freq-domain = <&cpufreq_hw 1>;
167 power-domains = <&CPU_PD6>;
168 power-domain-names = "psci";
169 #cooling-cells = <2>;
171 compatible = "cache";
174 next-level-cache = <&L3_0>;
180 compatible = "qcom,kryo660";
182 clocks = <&cpufreq_hw 1>;
183 enable-method = "psci";
184 next-level-cache = <&L2_700>;
185 qcom,freq-domain = <&cpufreq_hw 1>;
186 power-domains = <&CPU_PD7>;
187 power-domain-names = "psci";
188 #cooling-cells = <2>;
190 compatible = "cache";
193 next-level-cache = <&L3_0>;
234 entry-method = "psci";
236 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
237 compatible = "arm,idle-state";
238 idle-state-name = "silver-power-collapse";
239 arm,psci-suspend-param = <0x40000003>;
240 entry-latency-us = <549>;
241 exit-latency-us = <901>;
242 min-residency-us = <1774>;
246 LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
247 compatible = "arm,idle-state";
248 idle-state-name = "silver-rail-power-collapse";
249 arm,psci-suspend-param = <0x40000004>;
250 entry-latency-us = <702>;
251 exit-latency-us = <915>;
252 min-residency-us = <4001>;
256 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
257 compatible = "arm,idle-state";
258 idle-state-name = "gold-power-collapse";
259 arm,psci-suspend-param = <0x40000003>;
260 entry-latency-us = <523>;
261 exit-latency-us = <1244>;
262 min-residency-us = <2207>;
266 BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
267 compatible = "arm,idle-state";
268 idle-state-name = "gold-rail-power-collapse";
269 arm,psci-suspend-param = <0x40000004>;
270 entry-latency-us = <526>;
271 exit-latency-us = <1854>;
272 min-residency-us = <5555>;
278 CLUSTER_SLEEP_0: cluster-sleep-0 {
279 compatible = "domain-idle-state";
280 arm,psci-suspend-param = <0x41000044>;
281 entry-latency-us = <2752>;
282 exit-latency-us = <3048>;
283 min-residency-us = <6118>;
290 compatible = "qcom,scm-sm6375", "qcom,scm";
291 clocks = <&rpmcc RPM_SMD_CE1_CLK>;
292 clock-names = "core";
298 device_type = "memory";
299 /* We expect the bootloader to fill in the size */
300 reg = <0x0 0x80000000 0x0 0x0>;
304 compatible = "arm,armv8-pmuv3";
305 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
309 compatible = "arm,psci-1.0";
312 CPU_PD0: power-domain-cpu0 {
313 #power-domain-cells = <0>;
314 power-domains = <&CLUSTER_PD>;
315 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
318 CPU_PD1: power-domain-cpu1 {
319 #power-domain-cells = <0>;
320 power-domains = <&CLUSTER_PD>;
321 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
324 CPU_PD2: power-domain-cpu2 {
325 #power-domain-cells = <0>;
326 power-domains = <&CLUSTER_PD>;
327 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
330 CPU_PD3: power-domain-cpu3 {
331 #power-domain-cells = <0>;
332 power-domains = <&CLUSTER_PD>;
333 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
336 CPU_PD4: power-domain-cpu4 {
337 #power-domain-cells = <0>;
338 power-domains = <&CLUSTER_PD>;
339 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
342 CPU_PD5: power-domain-cpu5 {
343 #power-domain-cells = <0>;
344 power-domains = <&CLUSTER_PD>;
345 domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
348 CPU_PD6: power-domain-cpu6 {
349 #power-domain-cells = <0>;
350 power-domains = <&CLUSTER_PD>;
351 domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
354 CPU_PD7: power-domain-cpu7 {
355 #power-domain-cells = <0>;
356 power-domains = <&CLUSTER_PD>;
357 domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
360 CLUSTER_PD: power-domain-cpu-cluster0 {
361 #power-domain-cells = <0>;
362 domain-idle-states = <&CLUSTER_SLEEP_0>;
366 qup_opp_table: opp-table-qup {
367 compatible = "operating-points-v2";
370 opp-hz = /bits/ 64 <75000000>;
371 required-opps = <&rpmpd_opp_low_svs>;
375 opp-hz = /bits/ 64 <100000000>;
376 required-opps = <&rpmpd_opp_svs>;
380 opp-hz = /bits/ 64 <128000000>;
381 required-opps = <&rpmpd_opp_nom>;
385 reserved_memory: reserved-memory {
386 #address-cells = <2>;
390 hyp_mem: hypervisor@80000000 {
391 reg = <0 0x80000000 0 0x600000>;
395 xbl_aop_mem: xbl-aop@80700000 {
396 reg = <0 0x80700000 0 0x100000>;
400 reserved_xbl_uefi: xbl-uefi-res@80880000 {
401 reg = <0 0x80880000 0 0x14000>;
405 smem_mem: smem@80900000 {
406 compatible = "qcom,smem";
407 reg = <0 0x80900000 0 0x200000>;
408 hwlocks = <&tcsr_mutex 3>;
412 fw_mem: fw@80b00000 {
413 reg = <0 0x80b00000 0 0x100000>;
417 cdsp_secure_heap_mem: cdsp-sec-heap@80c00000 {
418 reg = <0 0x80c00000 0 0x1e00000>;
422 dfps_data_mem: dpfs-data@85e00000 {
423 reg = <0 0x85e00000 0 0x100000>;
427 pil_wlan_mem: pil-wlan@86500000 {
428 reg = <0 0x86500000 0 0x200000>;
432 pil_adsp_mem: pil-adsp@86700000 {
433 reg = <0 0x86700000 0 0x2000000>;
437 pil_cdsp_mem: pil-cdsp@88700000 {
438 reg = <0 0x88700000 0 0x1e00000>;
442 pil_video_mem: pil-video@8a500000 {
443 reg = <0 0x8a500000 0 0x500000>;
447 pil_ipa_fw_mem: pil-ipa-fw@8aa00000 {
448 reg = <0 0x8aa00000 0 0x10000>;
452 pil_ipa_gsi_mem: pil-ipa-gsi@8aa10000 {
453 reg = <0 0x8aa10000 0 0xa000>;
457 pil_gpu_micro_code_mem: pil-gpu-ucode@8aa1a000 {
458 reg = <0 0x8aa1a000 0 0x2000>;
462 pil_mpss_wlan_mem: pil-mpss-wlan@8b800000 {
463 reg = <0 0x8b800000 0 0x10000000>;
467 removed_mem: removed@c0000000 {
468 reg = <0 0xc0000000 0 0x5100000>;
472 rmtfs_mem: rmtfs@f3900000 {
473 compatible = "qcom,rmtfs-mem";
474 reg = <0 0xf3900000 0 0x280000>;
477 qcom,client-id = <1>;
478 qcom,vmid = <QCOM_SCM_VMID_MSS_MSA QCOM_SCM_VMID_NAV>;
481 debug_mem: debug@ffb00000 {
482 reg = <0 0xffb00000 0 0xc0000>;
486 last_log_mem: lastlog@ffbc0000 {
487 reg = <0 0xffbc0000 0 0x80000>;
491 cmdline_region: cmdline@ffd00000 {
492 reg = <0 0xffd00000 0 0x1000>;
498 compatible = "qcom,glink-rpm";
499 interrupts-extended = <&ipcc IPCC_CLIENT_AOP
500 IPCC_MPROC_SIGNAL_GLINK_QMP
501 IRQ_TYPE_EDGE_RISING>;
502 qcom,rpm-msg-ram = <&rpm_msg_ram>;
503 mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
505 rpm_requests: rpm-requests {
506 compatible = "qcom,rpm-sm6375";
507 qcom,glink-channels = "rpm_requests";
509 rpmcc: clock-controller {
510 compatible = "qcom,rpmcc-sm6375", "qcom,rpmcc";
511 clocks = <&xo_board_clk>;
516 rpmpd: power-controller {
517 compatible = "qcom,sm6375-rpmpd";
518 #power-domain-cells = <1>;
519 operating-points-v2 = <&rpmpd_opp_table>;
521 rpmpd_opp_table: opp-table {
522 compatible = "operating-points-v2";
524 rpmpd_opp_ret: opp1 {
525 opp-level = <RPM_SMD_LEVEL_RETENTION>;
528 rpmpd_opp_min_svs: opp2 {
529 opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
532 rpmpd_opp_low_svs: opp3 {
533 opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
536 rpmpd_opp_svs: opp4 {
537 opp-level = <RPM_SMD_LEVEL_SVS>;
540 rpmpd_opp_svs_plus: opp5 {
541 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
544 rpmpd_opp_nom: opp6 {
545 opp-level = <RPM_SMD_LEVEL_NOM>;
548 rpmpd_opp_nom_plus: opp7 {
549 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
552 rpmpd_opp_turbo: opp8 {
553 opp-level = <RPM_SMD_LEVEL_TURBO>;
556 rpmpd_opp_turbo_no_cpr: opp9 {
557 opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
565 compatible = "qcom,smp2p";
566 qcom,smem = <443>, <429>;
567 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
568 IPCC_MPROC_SIGNAL_SMP2P
569 IRQ_TYPE_EDGE_RISING>;
570 mboxes = <&ipcc IPCC_CLIENT_LPASS
571 IPCC_MPROC_SIGNAL_SMP2P>;
573 qcom,local-pid = <0>;
574 qcom,remote-pid = <2>;
576 smp2p_adsp_out: master-kernel {
577 qcom,entry-name = "master-kernel";
578 #qcom,smem-state-cells = <1>;
581 smp2p_adsp_in: slave-kernel {
582 qcom,entry-name = "slave-kernel";
583 interrupt-controller;
584 #interrupt-cells = <2>;
589 compatible = "qcom,smp2p";
590 qcom,smem = <94>, <432>;
591 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
592 IPCC_MPROC_SIGNAL_SMP2P
593 IRQ_TYPE_EDGE_RISING>;
594 mboxes = <&ipcc IPCC_CLIENT_CDSP
595 IPCC_MPROC_SIGNAL_SMP2P>;
597 qcom,local-pid = <0>;
598 qcom,remote-pid = <5>;
600 smp2p_cdsp_out: master-kernel {
601 qcom,entry-name = "master-kernel";
602 #qcom,smem-state-cells = <1>;
605 smp2p_cdsp_in: slave-kernel {
606 qcom,entry-name = "slave-kernel";
607 interrupt-controller;
608 #interrupt-cells = <2>;
613 compatible = "qcom,smp2p";
614 qcom,smem = <435>, <428>;
615 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
616 IPCC_MPROC_SIGNAL_SMP2P
617 IRQ_TYPE_EDGE_RISING>;
618 mboxes = <&ipcc IPCC_CLIENT_MPSS
619 IPCC_MPROC_SIGNAL_SMP2P>;
621 qcom,local-pid = <0>;
622 qcom,remote-pid = <1>;
624 smp2p_modem_out: master-kernel {
625 qcom,entry-name = "master-kernel";
626 #qcom,smem-state-cells = <1>;
629 smp2p_modem_in: slave-kernel {
630 qcom,entry-name = "slave-kernel";
631 interrupt-controller;
632 #interrupt-cells = <2>;
635 ipa_smp2p_out: ipa-ap-to-modem {
636 qcom,entry-name = "ipa";
637 #qcom,smem-state-cells = <1>;
640 ipa_smp2p_in: ipa-modem-to-ap {
641 qcom,entry-name = "ipa";
642 interrupt-controller;
643 #interrupt-cells = <2>;
646 wlan_smp2p_in: wlan-wpss-to-ap {
647 qcom,entry-name = "wlan";
648 interrupt-controller;
649 #interrupt-cells = <2>;
654 #address-cells = <2>;
656 ranges = <0 0 0 0 0x10 0>;
657 dma-ranges = <0 0 0 0 0x10 0>;
658 compatible = "simple-bus";
660 ipcc: mailbox@208000 {
661 compatible = "qcom,sm6375-ipcc", "qcom,ipcc";
662 reg = <0 0x00208000 0 0x1000>;
663 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>;
664 interrupt-controller;
665 #interrupt-cells = <3>;
669 tcsr_mutex: hwlock@340000 {
670 compatible = "qcom,tcsr-mutex";
671 reg = <0x0 0x00340000 0x0 0x40000>;
675 tlmm: pinctrl@500000 {
676 compatible = "qcom,sm6375-tlmm";
677 reg = <0 0x00500000 0 0x800000>;
678 interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
679 gpio-ranges = <&tlmm 0 0 157>;
680 /* TODO: Hook up MPM as wakeup-parent when it's there */
681 interrupt-controller;
683 #interrupt-cells = <2>;
686 sdc2_off_state: sdc2-off-state {
689 drive-strength = <2>;
695 drive-strength = <2>;
701 drive-strength = <2>;
706 sdc2_on_state: sdc2-on-state {
709 drive-strength = <16>;
715 drive-strength = <10>;
721 drive-strength = <10>;
726 qup_i2c0_default: qup-i2c0-default-state {
727 pins = "gpio0", "gpio1";
729 drive-strength = <2>;
733 qup_i2c1_default: qup-i2c1-default-state {
734 pins = "gpio61", "gpio62";
736 drive-strength = <2>;
740 qup_i2c2_default: qup-i2c2-default-state {
741 pins = "gpio45", "gpio46";
743 drive-strength = <2>;
747 qup_i2c8_default: qup-i2c8-default-state {
748 pins = "gpio19", "gpio20";
749 /* TLMM, GCC and vendor DT all have different indices.. */
751 drive-strength = <2>;
755 qup_i2c10_default: qup-i2c10-default-state {
756 pins = "gpio4", "gpio5";
758 drive-strength = <2>;
762 qup_spi0_default: qup-spi0-default-state {
763 pins = "gpio0", "gpio1", "gpio2", "gpio3";
765 drive-strength = <6>;
770 gcc: clock-controller@1400000 {
771 compatible = "qcom,sm6375-gcc";
772 reg = <0 0x01400000 0 0x1f0000>;
773 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
774 <&rpmcc RPM_SMD_XO_A_CLK_SRC>,
776 #power-domain-cells = <1>;
781 usb_1_hsphy: phy@162b000 {
782 compatible = "qcom,sm6375-usb-hs-phy", "qcom,usb-snps-hs-7nm-phy";
783 reg = <0 0x0162b000 0 0x400>;
785 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
787 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
793 spmi_bus: spmi@1c40000 {
794 compatible = "qcom,spmi-pmic-arb";
795 reg = <0 0x01c40000 0 0x1100>,
796 <0 0x01e00000 0 0x2000000>,
797 <0 0x03e00000 0 0x100000>,
798 <0 0x03f00000 0 0xa0000>,
799 <0 0x01c0a000 0 0x26000>;
800 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
801 interrupt-names = "periph_irq";
802 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
805 #address-cells = <2>;
807 interrupt-controller;
808 #interrupt-cells = <4>;
811 tsens0: thermal-sensor@4411000 {
812 compatible = "qcom,sm6375-tsens", "qcom,tsens-v2";
813 reg = <0 0x04411000 0 0x140>, /* TM */
814 <0 0x04410000 0 0x20>; /* SROT */
815 interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
816 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
817 interrupt-names = "uplow", "critical";
818 #thermal-sensor-cells = <1>;
819 #qcom,sensors = <15>;
822 tsens1: thermal-sensor@4413000 {
823 compatible = "qcom,sm6375-tsens", "qcom,tsens-v2";
824 reg = <0 0x04413000 0 0x140>, /* TM */
825 <0 0x04412000 0 0x20>; /* SROT */
826 interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
827 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>;
828 interrupt-names = "uplow", "critical";
829 #thermal-sensor-cells = <1>;
830 #qcom,sensors = <11>;
833 rpm_msg_ram: sram@45f0000 {
834 compatible = "qcom,rpm-msg-ram";
835 reg = <0 0x045f0000 0 0x7000>;
839 compatible = "qcom,rpm-stats";
840 reg = <0 0x04690000 0 0x400>;
843 sdhc_2: mmc@4784000 {
844 compatible = "qcom,sm6375-sdhci", "qcom,sdhci-msm-v5";
845 reg = <0 0x04784000 0 0x1000>;
847 interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
848 <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
849 interrupt-names = "hc_irq", "pwr_irq";
851 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
852 <&gcc GCC_SDCC2_APPS_CLK>,
853 <&rpmcc RPM_SMD_XO_CLK_SRC>;
854 clock-names = "iface", "core", "xo";
855 resets = <&gcc GCC_SDCC2_BCR>;
856 iommus = <&apps_smmu 0x40 0x0>;
858 pinctrl-0 = <&sdc2_on_state>;
859 pinctrl-1 = <&sdc2_off_state>;
860 pinctrl-names = "default", "sleep";
862 qcom,dll-config = <0x0007642c>;
863 qcom,ddr-config = <0x80040868>;
864 power-domains = <&rpmpd SM6375_VDDCX>;
865 operating-points-v2 = <&sdhc2_opp_table>;
870 sdhc2_opp_table: opp-table {
871 compatible = "operating-points-v2";
874 opp-hz = /bits/ 64 <100000000>;
875 required-opps = <&rpmpd_opp_low_svs>;
879 opp-hz = /bits/ 64 <202000000>;
880 required-opps = <&rpmpd_opp_svs_plus>;
885 gpi_dma0: dma-controller@4a00000 {
886 compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma";
887 reg = <0 0x04a00000 0 0x60000>;
888 interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
889 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
890 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
891 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
892 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
893 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
894 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
895 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
896 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
897 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
899 dma-channel-mask = <0x1f>;
900 iommus = <&apps_smmu 0x16 0x0>;
905 qupv3_id_0: geniqup@4ac0000 {
906 compatible = "qcom,geni-se-qup";
907 reg = <0x0 0x04ac0000 0x0 0x2000>;
908 clock-names = "m-ahb", "s-ahb";
909 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
910 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
911 iommus = <&apps_smmu 0x3 0x0>;
912 #address-cells = <2>;
918 compatible = "qcom,geni-i2c";
919 reg = <0x0 0x04a80000 0x0 0x4000>;
921 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
922 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
923 pinctrl-names = "default";
924 pinctrl-0 = <&qup_i2c0_default>;
925 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
926 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
927 dma-names = "tx", "rx";
928 #address-cells = <1>;
934 compatible = "qcom,geni-spi";
935 reg = <0x0 0x04a80000 0x0 0x4000>;
937 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
938 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
939 pinctrl-names = "default";
940 pinctrl-0 = <&qup_spi0_default>;
941 power-domains = <&rpmpd SM6375_VDDCX>;
942 operating-points-v2 = <&qup_opp_table>;
943 dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
944 <&gpi_dma0 1 0 QCOM_GPI_SPI>;
945 dma-names = "tx", "rx";
946 #address-cells = <1>;
952 compatible = "qcom,geni-i2c";
953 reg = <0x0 0x04a84000 0x0 0x4000>;
955 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
956 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
957 pinctrl-names = "default";
958 pinctrl-0 = <&qup_i2c1_default>;
959 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
960 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
961 dma-names = "tx", "rx";
962 #address-cells = <1>;
968 compatible = "qcom,geni-spi";
969 reg = <0x0 0x04a84000 0x0 0x4000>;
971 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
972 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
973 power-domains = <&rpmpd SM6375_VDDCX>;
974 operating-points-v2 = <&qup_opp_table>;
975 dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
976 <&gpi_dma0 1 1 QCOM_GPI_SPI>;
977 dma-names = "tx", "rx";
978 #address-cells = <1>;
984 compatible = "qcom,geni-i2c";
985 reg = <0x0 0x04a88000 0x0 0x4000>;
987 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
988 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
989 pinctrl-names = "default";
990 pinctrl-0 = <&qup_i2c2_default>;
991 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
992 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
993 dma-names = "tx", "rx";
994 #address-cells = <1>;
1000 compatible = "qcom,geni-spi";
1001 reg = <0x0 0x04a88000 0x0 0x4000>;
1003 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
1004 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1005 power-domains = <&rpmpd SM6375_VDDCX>;
1006 operating-points-v2 = <&qup_opp_table>;
1007 dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
1008 <&gpi_dma0 1 2 QCOM_GPI_SPI>;
1009 dma-names = "tx", "rx";
1010 #address-cells = <1>;
1012 status = "disabled";
1016 * As per GCC, QUP3/4/5/11 also exist, but are not even defined downstream.
1017 * There is a comment in the included DTSI of another SoC saying that they
1018 * are not "bolled out" (probably meaning not routed to solder balls)
1019 * TLMM driver however, suggests there are as many as 15 QUPs in total!
1020 * Most of which don't even have pin configurations for.. Sad stuff!
1024 gpi_dma1: dma-controller@4c00000 {
1025 compatible = "qcom,sm6375-gpi-dma", "qcom,sm6350-gpi-dma";
1026 reg = <0 0x04c00000 0 0x60000>;
1027 interrupts = <GIC_SPI 497 IRQ_TYPE_LEVEL_HIGH>,
1028 <GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH>,
1029 <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH>,
1030 <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH>,
1031 <GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH>,
1032 <GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH>,
1033 <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH>,
1034 <GIC_SPI 504 IRQ_TYPE_LEVEL_HIGH>,
1035 <GIC_SPI 505 IRQ_TYPE_LEVEL_HIGH>,
1036 <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>;
1037 dma-channels = <10>;
1038 dma-channel-mask = <0x1f>;
1039 iommus = <&apps_smmu 0xd6 0x0>;
1041 status = "disabled";
1044 qupv3_id_1: geniqup@4cc0000 {
1045 compatible = "qcom,geni-se-qup";
1046 reg = <0x0 0x04cc0000 0x0 0x2000>;
1047 clock-names = "m-ahb", "s-ahb";
1048 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
1049 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
1050 iommus = <&apps_smmu 0xc3 0x0>;
1051 #address-cells = <2>;
1054 status = "disabled";
1057 compatible = "qcom,geni-i2c";
1058 reg = <0x0 0x04c80000 0x0 0x4000>;
1060 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1061 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>;
1062 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1063 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1064 dma-names = "tx", "rx";
1065 #address-cells = <1>;
1067 status = "disabled";
1071 compatible = "qcom,geni-spi";
1072 reg = <0x0 0x04c80000 0x0 0x4000>;
1074 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1075 interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>;
1076 power-domains = <&rpmpd SM6375_VDDCX>;
1077 operating-points-v2 = <&qup_opp_table>;
1078 dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
1079 <&gpi_dma1 1 0 QCOM_GPI_SPI>;
1080 dma-names = "tx", "rx";
1081 #address-cells = <1>;
1083 status = "disabled";
1087 compatible = "qcom,geni-i2c";
1088 reg = <0x0 0x04c84000 0x0 0x4000>;
1090 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1091 interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
1092 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1093 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1094 dma-names = "tx", "rx";
1095 #address-cells = <1>;
1097 status = "disabled";
1101 compatible = "qcom,geni-spi";
1102 reg = <0x0 0x04c84000 0x0 0x4000>;
1104 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1105 interrupts = <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
1106 power-domains = <&rpmpd SM6375_VDDCX>;
1107 operating-points-v2 = <&qup_opp_table>;
1108 dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
1109 <&gpi_dma1 1 1 QCOM_GPI_SPI>;
1110 dma-names = "tx", "rx";
1111 #address-cells = <1>;
1113 status = "disabled";
1117 compatible = "qcom,geni-i2c";
1118 reg = <0x0 0x04c88000 0x0 0x4000>;
1120 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1121 interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
1122 pinctrl-names = "default";
1123 pinctrl-0 = <&qup_i2c8_default>;
1124 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1125 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1126 dma-names = "tx", "rx";
1127 #address-cells = <1>;
1129 status = "disabled";
1133 compatible = "qcom,geni-spi";
1134 reg = <0x0 0x04c88000 0x0 0x4000>;
1136 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1137 interrupts = <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
1138 power-domains = <&rpmpd SM6375_VDDCX>;
1139 operating-points-v2 = <&qup_opp_table>;
1140 dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
1141 <&gpi_dma1 1 2 QCOM_GPI_SPI>;
1142 dma-names = "tx", "rx";
1143 #address-cells = <1>;
1145 status = "disabled";
1149 compatible = "qcom,geni-i2c";
1150 reg = <0x0 0x04c8c000 0x0 0x4000>;
1152 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1153 interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>;
1154 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1155 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1156 dma-names = "tx", "rx";
1157 #address-cells = <1>;
1159 status = "disabled";
1163 compatible = "qcom,geni-spi";
1164 reg = <0x0 0x04c8c000 0x0 0x4000>;
1166 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1167 interrupts = <GIC_SPI 510 IRQ_TYPE_LEVEL_HIGH>;
1168 power-domains = <&rpmpd SM6375_VDDCX>;
1169 operating-points-v2 = <&qup_opp_table>;
1170 dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
1171 <&gpi_dma1 1 3 QCOM_GPI_SPI>;
1172 dma-names = "tx", "rx";
1173 #address-cells = <1>;
1175 status = "disabled";
1178 i2c10: i2c@4c90000 {
1179 compatible = "qcom,geni-i2c";
1180 reg = <0x0 0x04c90000 0x0 0x4000>;
1182 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1183 interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>;
1184 pinctrl-names = "default";
1185 pinctrl-0 = <&qup_i2c10_default>;
1186 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1187 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1188 dma-names = "tx", "rx";
1189 #address-cells = <1>;
1191 status = "disabled";
1194 spi10: spi@4c90000 {
1195 compatible = "qcom,geni-spi";
1196 reg = <0x0 0x04c90000 0x0 0x4000>;
1198 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1199 interrupts = <GIC_SPI 511 IRQ_TYPE_LEVEL_HIGH>;
1200 power-domains = <&rpmpd SM6375_VDDCX>;
1201 operating-points-v2 = <&qup_opp_table>;
1202 dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
1203 <&gpi_dma1 1 4 QCOM_GPI_SPI>;
1204 dma-names = "tx", "rx";
1205 #address-cells = <1>;
1207 status = "disabled";
1211 usb_1: usb@4ef8800 {
1212 compatible = "qcom,sm6375-dwc3", "qcom,dwc3";
1213 reg = <0 0x04ef8800 0 0x400>;
1215 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1216 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1217 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
1218 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1219 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1220 <&gcc GCC_USB3_PRIM_CLKREF_CLK>;
1221 clock-names = "cfg_noc",
1228 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1229 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1230 assigned-clock-rates = <19200000>, <133333333>;
1232 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
1233 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
1234 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1235 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
1236 interrupt-names = "hs_phy_irq",
1241 power-domains = <&gcc USB30_PRIM_GDSC>;
1243 resets = <&gcc GCC_USB30_PRIM_BCR>;
1246 * This property is there to allow USB2 to work, as
1247 * USB3 is not implemented yet - (re)move it when
1248 * proper support is in place.
1250 qcom,select-utmi-as-pipe-clk;
1252 #address-cells = <2>;
1256 status = "disabled";
1258 usb_1_dwc3: usb@4e00000 {
1259 compatible = "snps,dwc3";
1260 reg = <0 0x04e00000 0 0xcd00>;
1261 interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
1262 maximum-speed = "high-speed";
1263 phys = <&usb_1_hsphy>;
1264 phy-names = "usb2-phy";
1265 iommus = <&apps_smmu 0xe0 0x0>;
1267 /* Yes, this impl *does* have an unfunny number of quirks.. */
1268 snps,hird-threshold = /bits/ 8 <0x10>;
1269 snps,usb2-gadget-lpm-disable;
1270 snps,dis_u2_susphy_quirk;
1271 snps,is-utmi-l1-suspend;
1272 snps,dis-u1-entry-quirk;
1273 snps,dis-u2-entry-quirk;
1274 snps,usb3_lpm_capable;
1275 snps,has-lpm-erratum;
1280 adreno_smmu: iommu@5940000 {
1281 compatible = "qcom,sm6375-smmu-v2", "qcom,smmu-v2";
1282 reg = <0 0x05940000 0 0x10000>;
1284 #global-interrupts = <2>;
1285 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
1286 <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
1287 <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
1288 <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
1289 <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
1290 <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
1291 <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
1292 <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
1293 <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
1294 <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>;
1296 clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
1297 clock-names = "bus";
1299 power-domains = <&gpucc GPU_CX_GDSC>;
1302 gpucc: clock-controller@5990000 {
1303 compatible = "qcom,sm6375-gpucc";
1304 reg = <0 0x05990000 0 0x9000>;
1305 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1306 <&gcc GCC_GPU_GPLL0_CLK_SRC>,
1307 <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>,
1308 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
1309 power-domains = <&rpmpd SM6375_VDDGX>;
1310 required-opps = <&rpmpd_opp_low_svs>;
1313 #power-domain-cells = <1>;
1316 remoteproc_mss: remoteproc@6000000 {
1317 compatible = "qcom,sm6375-mpss-pas";
1318 reg = <0 0x06000000 0 0x4040>;
1320 interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>,
1321 <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
1322 <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
1323 <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
1324 <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
1325 <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
1326 interrupt-names = "wdog",
1333 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1336 power-domains = <&rpmpd SM6375_VDDCX>;
1337 power-domain-names = "cx";
1339 memory-region = <&pil_mpss_wlan_mem>;
1341 qcom,smem-states = <&smp2p_modem_out 0>;
1342 qcom,smem-state-names = "stop";
1344 status = "disabled";
1347 interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
1348 IPCC_MPROC_SIGNAL_GLINK_QMP
1349 IRQ_TYPE_EDGE_RISING>;
1350 mboxes = <&ipcc IPCC_CLIENT_MPSS
1351 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1353 qcom,remote-pid = <1>;
1357 remoteproc_adsp: remoteproc@a400000 {
1358 compatible = "qcom,sm6375-adsp-pas";
1359 reg = <0 0x0a400000 0 0x100>;
1361 interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1362 <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1363 <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1364 <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1365 <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1366 interrupt-names = "wdog", "fatal", "ready",
1367 "handover", "stop-ack";
1369 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1372 power-domains = <&rpmpd SM6375_VDD_LPI_CX>,
1373 <&rpmpd SM6375_VDD_LPI_MX>;
1374 power-domain-names = "lcx", "lmx";
1376 memory-region = <&pil_adsp_mem>;
1378 qcom,smem-states = <&smp2p_adsp_out 0>;
1379 qcom,smem-state-names = "stop";
1381 status = "disabled";
1384 interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1385 IPCC_MPROC_SIGNAL_GLINK_QMP
1386 IRQ_TYPE_EDGE_RISING>;
1387 mboxes = <&ipcc IPCC_CLIENT_LPASS
1388 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1391 qcom,remote-pid = <2>;
1395 remoteproc_cdsp: remoteproc@b000000 {
1396 compatible = "qcom,sm6375-cdsp-pas";
1397 reg = <0x0 0x0b000000 0x0 0x100000>;
1399 interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
1400 <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
1401 <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
1402 <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
1403 <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
1404 interrupt-names = "wdog", "fatal", "ready",
1405 "handover", "stop-ack";
1407 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1410 power-domains = <&rpmpd SM6375_VDDCX>;
1411 power-domain-names = "cx";
1413 memory-region = <&pil_cdsp_mem>;
1415 qcom,smem-states = <&smp2p_cdsp_out 0>;
1416 qcom,smem-state-names = "stop";
1418 status = "disabled";
1421 interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
1422 IPCC_MPROC_SIGNAL_GLINK_QMP
1423 IRQ_TYPE_EDGE_RISING>;
1424 mboxes = <&ipcc IPCC_CLIENT_CDSP
1425 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1427 qcom,remote-pid = <5>;
1432 compatible = "qcom,sm6375-imem", "syscon", "simple-mfd";
1433 reg = <0 0x0c125000 0 0x1000>;
1434 ranges = <0 0 0x0c125000 0x1000>;
1436 #address-cells = <1>;
1440 compatible = "qcom,pil-reloc-info";
1445 apps_smmu: iommu@c600000 {
1446 compatible = "qcom,sm6375-smmu-500", "arm,mmu-500";
1447 reg = <0 0x0c600000 0 0x100000>;
1448 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
1449 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
1450 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
1451 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
1452 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
1453 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1454 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
1455 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1456 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1457 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1458 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1459 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1460 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1461 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1462 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1463 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1464 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1465 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1466 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1467 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1468 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1469 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1470 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1471 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1472 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1473 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1474 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1475 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1476 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1477 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1478 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1479 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
1480 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1481 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1482 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1483 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1484 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1485 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1486 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1487 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
1488 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
1489 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
1490 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1491 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1492 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
1493 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
1494 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1495 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
1496 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
1497 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
1498 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
1499 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
1500 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
1501 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1502 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1503 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1504 <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1505 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1506 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1507 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
1508 <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
1509 <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
1510 <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
1511 <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
1512 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
1514 power-domains = <&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_RT_GDSC>,
1515 <&gcc HLOS1_VOTE_MM_SNOC_MMU_TBU_NRT_GDSC>,
1516 <&gcc HLOS1_VOTE_TURING_MMU_TBU0_GDSC>;
1517 #global-interrupts = <1>;
1521 wifi: wifi@c800000 {
1522 compatible = "qcom,wcn3990-wifi";
1523 reg = <0 0x0c800000 0 0x800000>;
1524 reg-names = "membase";
1525 memory-region = <&pil_wlan_mem>;
1526 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
1527 <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
1528 <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
1529 <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
1530 <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
1531 <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
1532 <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
1533 <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
1534 <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
1535 <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
1536 <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
1537 <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>;
1538 iommus = <&apps_smmu 0x80 0x1>;
1539 qcom,msa-fixed-perm;
1540 status = "disabled";
1543 intc: interrupt-controller@f200000 {
1544 compatible = "arm,gic-v3";
1545 reg = <0x0 0x0f200000 0x0 0x10000>, /* GICD */
1546 <0x0 0x0f240000 0x0 0x100000>; /* GICR * 8 */
1547 interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>;
1548 #redistributor-regions = <1>;
1549 #interrupt-cells = <3>;
1550 redistributor-stride = <0 0x20000>;
1551 interrupt-controller;
1555 compatible = "arm,armv7-timer-mem";
1556 reg = <0 0x0f420000 0 0x1000>;
1557 ranges = <0 0 0 0x20000000>;
1558 #address-cells = <1>;
1562 reg = <0x0f421000 0x1000>, <0x0f422000 0x1000>;
1563 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1564 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1569 reg = <0x0f243000 0x1000>;
1570 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1572 status = "disabled";
1576 reg = <0x0f425000 0x1000>;
1577 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1579 status = "disabled";
1583 reg = <0x0f427000 0x1000>;
1584 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1586 status = "disabled";
1590 reg = <0x0f429000 0x1000>;
1591 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1593 status = "disabled";
1597 reg = <0x0f42b000 0x1000>;
1598 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1600 status = "disabled";
1604 reg = <0x0f42d000 0x1000>;
1605 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1607 status = "disabled";
1611 cpucp_l3: interconnect@fd90000 {
1612 compatible = "qcom,sm6375-cpucp-l3", "qcom,epss-l3";
1613 reg = <0 0x0fd90000 0 0x1000>;
1615 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
1616 clock-names = "xo", "alternate";
1617 #interconnect-cells = <1>;
1620 cpufreq_hw: cpufreq@fd91000 {
1621 compatible = "qcom,sm6375-cpufreq-epss", "qcom,cpufreq-epss";
1622 reg = <0 0x0fd91000 0 0x1000>, <0 0x0fd92000 0 0x1000>;
1623 reg-names = "freq-domain0", "freq-domain1";
1625 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
1626 clock-names = "xo", "alternate";
1627 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
1628 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1629 interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1";
1630 #freq-domain-cells = <1>;
1637 polling-delay-passive = <0>;
1638 polling-delay = <0>;
1640 thermal-sensors = <&tsens0 0>;
1643 mapss0_alert0: trip-point0 {
1644 temperature = <90000>;
1645 hysteresis = <2000>;
1649 mapss0_alert1: trip-point1 {
1650 temperature = <95000>;
1651 hysteresis = <2000>;
1655 mapss0_crit: mapss-crit {
1656 temperature = <110000>;
1657 hysteresis = <1000>;
1664 polling-delay-passive = <0>;
1665 polling-delay = <0>;
1667 thermal-sensors = <&tsens0 1>;
1670 cpu0_alert0: trip-point0 {
1671 temperature = <90000>;
1672 hysteresis = <2000>;
1676 cpu0_alert1: trip-point1 {
1677 temperature = <95000>;
1678 hysteresis = <2000>;
1682 cpu0_crit: cpu-crit {
1683 temperature = <110000>;
1684 hysteresis = <1000>;
1691 polling-delay-passive = <0>;
1692 polling-delay = <0>;
1694 thermal-sensors = <&tsens0 2>;
1697 cpu1_alert0: trip-point0 {
1698 temperature = <90000>;
1699 hysteresis = <2000>;
1703 cpu1_alert1: trip-point1 {
1704 temperature = <95000>;
1705 hysteresis = <2000>;
1709 cpu1_crit: cpu-crit {
1710 temperature = <110000>;
1711 hysteresis = <1000>;
1718 polling-delay-passive = <0>;
1719 polling-delay = <0>;
1721 thermal-sensors = <&tsens0 3>;
1724 cpu2_alert0: trip-point0 {
1725 temperature = <90000>;
1726 hysteresis = <2000>;
1730 cpu2_alert1: trip-point1 {
1731 temperature = <95000>;
1732 hysteresis = <2000>;
1736 cpu2_crit: cpu-crit {
1737 temperature = <110000>;
1738 hysteresis = <1000>;
1745 polling-delay-passive = <0>;
1746 polling-delay = <0>;
1748 thermal-sensors = <&tsens0 4>;
1751 cpu3_alert0: trip-point0 {
1752 temperature = <90000>;
1753 hysteresis = <2000>;
1757 cpu3_alert1: trip-point1 {
1758 temperature = <95000>;
1759 hysteresis = <2000>;
1763 cpu3_crit: cpu-crit {
1764 temperature = <110000>;
1765 hysteresis = <1000>;
1772 polling-delay-passive = <0>;
1773 polling-delay = <0>;
1775 thermal-sensors = <&tsens0 5>;
1778 cpu4_alert0: trip-point0 {
1779 temperature = <90000>;
1780 hysteresis = <2000>;
1784 cpu4_alert1: trip-point1 {
1785 temperature = <95000>;
1786 hysteresis = <2000>;
1790 cpu4_crit: cpu-crit {
1791 temperature = <110000>;
1792 hysteresis = <1000>;
1799 polling-delay-passive = <0>;
1800 polling-delay = <0>;
1802 thermal-sensors = <&tsens0 6>;
1805 cpu5_alert0: trip-point0 {
1806 temperature = <90000>;
1807 hysteresis = <2000>;
1811 cpu5_alert1: trip-point1 {
1812 temperature = <95000>;
1813 hysteresis = <2000>;
1817 cpu5_crit: cpu-crit {
1818 temperature = <110000>;
1819 hysteresis = <1000>;
1826 polling-delay-passive = <0>;
1827 polling-delay = <0>;
1829 thermal-sensors = <&tsens0 7>;
1832 cluster0_alert0: trip-point0 {
1833 temperature = <90000>;
1834 hysteresis = <2000>;
1838 cluster0_alert1: trip-point1 {
1839 temperature = <95000>;
1840 hysteresis = <2000>;
1844 cluster0_crit: cpu-crit {
1845 temperature = <110000>;
1846 hysteresis = <1000>;
1853 polling-delay-passive = <0>;
1854 polling-delay = <0>;
1856 thermal-sensors = <&tsens0 8>;
1859 cluster1_alert0: trip-point0 {
1860 temperature = <90000>;
1861 hysteresis = <2000>;
1865 cluster1_alert1: trip-point1 {
1866 temperature = <95000>;
1867 hysteresis = <2000>;
1871 cluster1_crit: cpu-crit {
1872 temperature = <110000>;
1873 hysteresis = <1000>;
1880 polling-delay-passive = <0>;
1881 polling-delay = <0>;
1883 thermal-sensors = <&tsens0 9>;
1886 cpu6_alert0: trip-point0 {
1887 temperature = <90000>;
1888 hysteresis = <2000>;
1892 cpu6_alert1: trip-point1 {
1893 temperature = <95000>;
1894 hysteresis = <2000>;
1898 cpu6_crit: cpu-crit {
1899 temperature = <110000>;
1900 hysteresis = <1000>;
1907 polling-delay-passive = <0>;
1908 polling-delay = <0>;
1910 thermal-sensors = <&tsens0 10>;
1913 cpu7_alert0: trip-point0 {
1914 temperature = <90000>;
1915 hysteresis = <2000>;
1919 cpu7_alert1: trip-point1 {
1920 temperature = <95000>;
1921 hysteresis = <2000>;
1925 cpu7_crit: cpu-crit {
1926 temperature = <110000>;
1927 hysteresis = <1000>;
1934 polling-delay-passive = <0>;
1935 polling-delay = <0>;
1937 thermal-sensors = <&tsens0 11>;
1940 cpu_unk0_alert0: trip-point0 {
1941 temperature = <90000>;
1942 hysteresis = <2000>;
1946 cpu_unk0_alert1: trip-point1 {
1947 temperature = <95000>;
1948 hysteresis = <2000>;
1952 cpu_unk0_crit: cpu-crit {
1953 temperature = <110000>;
1954 hysteresis = <1000>;
1961 polling-delay-passive = <0>;
1962 polling-delay = <0>;
1964 thermal-sensors = <&tsens0 12>;
1967 cpu_unk1_alert0: trip-point0 {
1968 temperature = <90000>;
1969 hysteresis = <2000>;
1973 cpu_unk1_alert1: trip-point1 {
1974 temperature = <95000>;
1975 hysteresis = <2000>;
1979 cpu_unk1_crit: cpu-crit {
1980 temperature = <110000>;
1981 hysteresis = <1000>;
1988 polling-delay-passive = <0>;
1989 polling-delay = <0>;
1991 thermal-sensors = <&tsens0 13>;
1994 gpuss0_alert0: trip-point0 {
1995 temperature = <90000>;
1996 hysteresis = <2000>;
2000 gpuss0_alert1: trip-point1 {
2001 temperature = <95000>;
2002 hysteresis = <2000>;
2006 gpuss0_crit: gpu-crit {
2007 temperature = <110000>;
2008 hysteresis = <1000>;
2015 polling-delay-passive = <0>;
2016 polling-delay = <0>;
2018 thermal-sensors = <&tsens0 14>;
2021 gpuss1_alert0: trip-point0 {
2022 temperature = <90000>;
2023 hysteresis = <2000>;
2027 gpuss1_alert1: trip-point1 {
2028 temperature = <95000>;
2029 hysteresis = <2000>;
2033 gpuss1_crit: gpu-crit {
2034 temperature = <110000>;
2035 hysteresis = <1000>;
2042 polling-delay-passive = <0>;
2043 polling-delay = <0>;
2045 thermal-sensors = <&tsens1 0>;
2048 mapss1_alert0: trip-point0 {
2049 temperature = <90000>;
2050 hysteresis = <2000>;
2054 mapss1_alert1: trip-point1 {
2055 temperature = <95000>;
2056 hysteresis = <2000>;
2060 mapss1_crit: mapss-crit {
2061 temperature = <110000>;
2062 hysteresis = <1000>;
2069 polling-delay-passive = <0>;
2070 polling-delay = <0>;
2072 thermal-sensors = <&tsens1 1>;
2075 cwlan_alert0: trip-point0 {
2076 temperature = <90000>;
2077 hysteresis = <2000>;
2081 cwlan_alert1: trip-point1 {
2082 temperature = <95000>;
2083 hysteresis = <2000>;
2087 cwlan_crit: cwlan-crit {
2088 temperature = <110000>;
2089 hysteresis = <1000>;
2096 polling-delay-passive = <0>;
2097 polling-delay = <0>;
2099 thermal-sensors = <&tsens1 2>;
2102 audio_alert0: trip-point0 {
2103 temperature = <90000>;
2104 hysteresis = <2000>;
2108 audio_alert1: trip-point1 {
2109 temperature = <95000>;
2110 hysteresis = <2000>;
2114 audio_crit: audio-crit {
2115 temperature = <110000>;
2116 hysteresis = <1000>;
2123 polling-delay-passive = <0>;
2124 polling-delay = <0>;
2126 thermal-sensors = <&tsens1 3>;
2129 ddr_alert0: trip-point0 {
2130 temperature = <90000>;
2131 hysteresis = <2000>;
2135 ddr_alert1: trip-point1 {
2136 temperature = <95000>;
2137 hysteresis = <2000>;
2141 ddr_crit: ddr-crit {
2142 temperature = <110000>;
2143 hysteresis = <1000>;
2150 polling-delay-passive = <0>;
2151 polling-delay = <0>;
2153 thermal-sensors = <&tsens1 4>;
2156 q6hvx_alert0: trip-point0 {
2157 temperature = <90000>;
2158 hysteresis = <2000>;
2162 q6hvx_alert1: trip-point1 {
2163 temperature = <95000>;
2164 hysteresis = <2000>;
2168 q6hvx_crit: q6hvx-crit {
2169 temperature = <110000>;
2170 hysteresis = <1000>;
2177 polling-delay-passive = <0>;
2178 polling-delay = <0>;
2180 thermal-sensors = <&tsens1 5>;
2183 camera_alert0: trip-point0 {
2184 temperature = <90000>;
2185 hysteresis = <2000>;
2189 camera_alert1: trip-point1 {
2190 temperature = <95000>;
2191 hysteresis = <2000>;
2195 camera_crit: camera-crit {
2196 temperature = <110000>;
2197 hysteresis = <1000>;
2204 polling-delay-passive = <0>;
2205 polling-delay = <0>;
2207 thermal-sensors = <&tsens1 6>;
2210 mdm_core0_alert0: trip-point0 {
2211 temperature = <90000>;
2212 hysteresis = <2000>;
2216 mdm_core0_alert1: trip-point1 {
2217 temperature = <95000>;
2218 hysteresis = <2000>;
2222 mdm_core0_crit: mdm-core0-crit {
2223 temperature = <110000>;
2224 hysteresis = <1000>;
2231 polling-delay-passive = <0>;
2232 polling-delay = <0>;
2234 thermal-sensors = <&tsens1 7>;
2237 mdm_core1_alert0: trip-point0 {
2238 temperature = <90000>;
2239 hysteresis = <2000>;
2243 mdm_core1_alert1: trip-point1 {
2244 temperature = <95000>;
2245 hysteresis = <2000>;
2249 mdm_core1_crit: mdm-core1-crit {
2250 temperature = <110000>;
2251 hysteresis = <1000>;
2258 polling-delay-passive = <0>;
2259 polling-delay = <0>;
2261 thermal-sensors = <&tsens1 8>;
2264 mdm_vec_alert0: trip-point0 {
2265 temperature = <90000>;
2266 hysteresis = <2000>;
2270 mdm_vec_alert1: trip-point1 {
2271 temperature = <95000>;
2272 hysteresis = <2000>;
2276 mdm_vec_crit: mdm-vec-crit {
2277 temperature = <110000>;
2278 hysteresis = <1000>;
2285 polling-delay-passive = <0>;
2286 polling-delay = <0>;
2288 thermal-sensors = <&tsens1 9>;
2291 msm_scl_alert0: trip-point0 {
2292 temperature = <90000>;
2293 hysteresis = <2000>;
2297 msm_scl_alert1: trip-point1 {
2298 temperature = <95000>;
2299 hysteresis = <2000>;
2303 msm_scl_crit: msm-scl-crit {
2304 temperature = <110000>;
2305 hysteresis = <1000>;
2312 polling-delay-passive = <0>;
2313 polling-delay = <0>;
2315 thermal-sensors = <&tsens1 10>;
2318 video_alert0: trip-point0 {
2319 temperature = <90000>;
2320 hysteresis = <2000>;
2324 video_alert1: trip-point1 {
2325 temperature = <95000>;
2326 hysteresis = <2000>;
2330 video_crit: video-crit {
2331 temperature = <110000>;
2332 hysteresis = <1000>;
2340 compatible = "arm,armv8-timer";
2341 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2342 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2343 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2344 <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;