1 // SPDX-License-Identifier: GPL-2.0
3 * SDM670 SoC device tree source, adapted from SDM845 SoC device tree
5 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
6 * Copyright (c) 2022, Richard Acayan. All rights reserved.
9 #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
10 #include <dt-bindings/clock/qcom,gcc-sdm845.h>
11 #include <dt-bindings/clock/qcom,rpmh.h>
12 #include <dt-bindings/dma/qcom-gpi.h>
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/interconnect/qcom,osm-l3.h>
15 #include <dt-bindings/interconnect/qcom,sdm670-rpmh.h>
16 #include <dt-bindings/interrupt-controller/arm-gic.h>
17 #include <dt-bindings/phy/phy-qcom-qusb2.h>
18 #include <dt-bindings/power/qcom-rpmpd.h>
19 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
22 interrupt-parent = <&intc>;
37 compatible = "qcom,kryo360";
39 enable-method = "psci";
40 capacity-dmips-mhz = <610>;
41 dynamic-power-coefficient = <203>;
42 qcom,freq-domain = <&cpufreq_hw 0>;
43 operating-points-v2 = <&cpu0_opp_table>;
44 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
45 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
46 power-domains = <&CPU_PD0>;
47 power-domain-names = "psci";
48 next-level-cache = <&L2_0>;
51 next-level-cache = <&L3_0>;
64 compatible = "qcom,kryo360";
66 enable-method = "psci";
67 capacity-dmips-mhz = <610>;
68 dynamic-power-coefficient = <203>;
69 qcom,freq-domain = <&cpufreq_hw 0>;
70 operating-points-v2 = <&cpu0_opp_table>;
71 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
72 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
73 power-domains = <&CPU_PD1>;
74 power-domain-names = "psci";
75 next-level-cache = <&L2_100>;
80 next-level-cache = <&L3_0>;
86 compatible = "qcom,kryo360";
88 enable-method = "psci";
89 capacity-dmips-mhz = <610>;
90 dynamic-power-coefficient = <203>;
91 qcom,freq-domain = <&cpufreq_hw 0>;
92 operating-points-v2 = <&cpu0_opp_table>;
93 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
94 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
95 power-domains = <&CPU_PD2>;
96 power-domain-names = "psci";
97 next-level-cache = <&L2_200>;
102 next-level-cache = <&L3_0>;
108 compatible = "qcom,kryo360";
110 enable-method = "psci";
111 capacity-dmips-mhz = <610>;
112 dynamic-power-coefficient = <203>;
113 qcom,freq-domain = <&cpufreq_hw 0>;
114 operating-points-v2 = <&cpu0_opp_table>;
115 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
116 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
117 power-domains = <&CPU_PD3>;
118 power-domain-names = "psci";
119 next-level-cache = <&L2_300>;
121 compatible = "cache";
124 next-level-cache = <&L3_0>;
130 compatible = "qcom,kryo360";
132 enable-method = "psci";
133 capacity-dmips-mhz = <610>;
134 dynamic-power-coefficient = <203>;
135 qcom,freq-domain = <&cpufreq_hw 0>;
136 operating-points-v2 = <&cpu0_opp_table>;
137 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
138 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
139 power-domains = <&CPU_PD4>;
140 power-domain-names = "psci";
141 next-level-cache = <&L2_400>;
143 compatible = "cache";
146 next-level-cache = <&L3_0>;
152 compatible = "qcom,kryo360";
154 enable-method = "psci";
155 capacity-dmips-mhz = <610>;
156 dynamic-power-coefficient = <203>;
157 qcom,freq-domain = <&cpufreq_hw 0>;
158 operating-points-v2 = <&cpu0_opp_table>;
159 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
160 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
161 power-domains = <&CPU_PD5>;
162 power-domain-names = "psci";
163 next-level-cache = <&L2_500>;
165 compatible = "cache";
168 next-level-cache = <&L3_0>;
174 compatible = "qcom,kryo360";
176 enable-method = "psci";
177 capacity-dmips-mhz = <1024>;
178 dynamic-power-coefficient = <393>;
179 qcom,freq-domain = <&cpufreq_hw 1>;
180 operating-points-v2 = <&cpu6_opp_table>;
181 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
182 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
183 power-domains = <&CPU_PD6>;
184 power-domain-names = "psci";
185 next-level-cache = <&L2_600>;
187 compatible = "cache";
190 next-level-cache = <&L3_0>;
196 compatible = "qcom,kryo360";
198 enable-method = "psci";
199 capacity-dmips-mhz = <1024>;
200 dynamic-power-coefficient = <393>;
201 qcom,freq-domain = <&cpufreq_hw 1>;
202 operating-points-v2 = <&cpu6_opp_table>;
203 interconnects = <&gladiator_noc MASTER_AMPSS_M0 3 &mem_noc SLAVE_EBI_CH0 3>,
204 <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
205 power-domains = <&CPU_PD7>;
206 power-domain-names = "psci";
207 next-level-cache = <&L2_700>;
209 compatible = "cache";
212 next-level-cache = <&L3_0>;
253 entry-method = "psci";
255 LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
256 compatible = "arm,idle-state";
257 idle-state-name = "little-rail-power-collapse";
258 arm,psci-suspend-param = <0x40000004>;
259 entry-latency-us = <702>;
260 exit-latency-us = <915>;
261 min-residency-us = <1617>;
265 BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
266 compatible = "arm,idle-state";
267 idle-state-name = "big-rail-power-collapse";
268 arm,psci-suspend-param = <0x40000004>;
269 entry-latency-us = <526>;
270 exit-latency-us = <1854>;
271 min-residency-us = <2380>;
277 CLUSTER_SLEEP_0: cluster-sleep-0 {
278 compatible = "domain-idle-state";
279 arm,psci-suspend-param = <0x4100c244>;
280 entry-latency-us = <3263>;
281 exit-latency-us = <6562>;
282 min-residency-us = <9825>;
289 compatible = "qcom,scm-sdm670", "qcom,scm";
294 device_type = "memory";
295 /* We expect the bootloader to fill in the size */
296 reg = <0x0 0x80000000 0x0 0x0>;
299 cpu0_opp_table: opp-table-cpu0 {
300 compatible = "operating-points-v2";
303 cpu0_opp1: opp-300000000 {
304 opp-hz = /bits/ 64 <300000000>;
305 opp-peak-kBps = <400000 4800000>;
308 cpu0_opp2: opp-576000000 {
309 opp-hz = /bits/ 64 <576000000>;
310 opp-peak-kBps = <400000 4800000>;
313 cpu0_opp3: opp-748800000 {
314 opp-hz = /bits/ 64 <748800000>;
315 opp-peak-kBps = <1200000 4800000>;
318 cpu0_opp4: opp-998400000 {
319 opp-hz = /bits/ 64 <998400000>;
320 opp-peak-kBps = <1804000 8908800>;
323 cpu0_opp5: opp-1209600000 {
324 opp-hz = /bits/ 64 <1209600000>;
325 opp-peak-kBps = <2188000 8908800>;
328 cpu0_opp6: opp-1324800000 {
329 opp-hz = /bits/ 64 <1324800000>;
330 opp-peak-kBps = <2188000 13516800>;
333 cpu0_opp7: opp-1516800000 {
334 opp-hz = /bits/ 64 <1516800000>;
335 opp-peak-kBps = <3072000 15052800>;
338 cpu0_opp8: opp-1612800000 {
339 opp-hz = /bits/ 64 <1612800000>;
340 opp-peak-kBps = <3072000 22118400>;
343 cpu0_opp9: opp-1708800000 {
344 opp-hz = /bits/ 64 <1708800000>;
345 opp-peak-kBps = <4068000 23040000>;
349 cpu6_opp_table: opp-table-cpu6 {
350 compatible = "operating-points-v2";
353 cpu6_opp1: opp-300000000 {
354 opp-hz = /bits/ 64 <300000000>;
355 opp-peak-kBps = <400000 4800000>;
358 cpu6_opp2: opp-652800000 {
359 opp-hz = /bits/ 64 <652800000>;
360 opp-peak-kBps = <400000 4800000>;
363 cpu6_opp3: opp-825600000 {
364 opp-hz = /bits/ 64 <825600000>;
365 opp-peak-kBps = <1200000 4800000>;
368 cpu6_opp4: opp-979200000 {
369 opp-hz = /bits/ 64 <979200000>;
370 opp-peak-kBps = <1200000 4800000>;
373 cpu6_opp5: opp-1132800000 {
374 opp-hz = /bits/ 64 <1132800000>;
375 opp-peak-kBps = <2188000 8908800>;
378 cpu6_opp6: opp-1363200000 {
379 opp-hz = /bits/ 64 <1363200000>;
380 opp-peak-kBps = <4068000 12902400>;
383 cpu6_opp7: opp-1536000000 {
384 opp-hz = /bits/ 64 <1536000000>;
385 opp-peak-kBps = <4068000 12902400>;
388 cpu6_opp8: opp-1747200000 {
389 opp-hz = /bits/ 64 <1747200000>;
390 opp-peak-kBps = <4068000 15052800>;
393 cpu6_opp9: opp-1843200000 {
394 opp-hz = /bits/ 64 <1843200000>;
395 opp-peak-kBps = <4068000 15052800>;
398 cpu6_opp10: opp-1996800000 {
399 opp-hz = /bits/ 64 <1996800000>;
400 opp-peak-kBps = <6220000 19046400>;
404 dsi_opp_table: opp-table-dsi {
405 compatible = "operating-points-v2";
408 opp-hz = /bits/ 64 <19200000>;
409 required-opps = <&rpmhpd_opp_min_svs>;
413 opp-hz = /bits/ 64 <180000000>;
414 required-opps = <&rpmhpd_opp_low_svs>;
418 opp-hz = /bits/ 64 <275000000>;
419 required-opps = <&rpmhpd_opp_svs>;
423 opp-hz = /bits/ 64 <358000000>;
424 required-opps = <&rpmhpd_opp_svs_l1>;
429 compatible = "arm,psci-1.0";
432 CPU_PD0: power-domain-cpu0 {
433 #power-domain-cells = <0>;
434 power-domains = <&CLUSTER_PD>;
435 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
438 CPU_PD1: power-domain-cpu1 {
439 #power-domain-cells = <0>;
440 power-domains = <&CLUSTER_PD>;
441 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
444 CPU_PD2: power-domain-cpu2 {
445 #power-domain-cells = <0>;
446 power-domains = <&CLUSTER_PD>;
447 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
450 CPU_PD3: power-domain-cpu3 {
451 #power-domain-cells = <0>;
452 power-domains = <&CLUSTER_PD>;
453 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
456 CPU_PD4: power-domain-cpu4 {
457 #power-domain-cells = <0>;
458 power-domains = <&CLUSTER_PD>;
459 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
462 CPU_PD5: power-domain-cpu5 {
463 #power-domain-cells = <0>;
464 power-domains = <&CLUSTER_PD>;
465 domain-idle-states = <&LITTLE_CPU_SLEEP_0>;
468 CPU_PD6: power-domain-cpu6 {
469 #power-domain-cells = <0>;
470 power-domains = <&CLUSTER_PD>;
471 domain-idle-states = <&BIG_CPU_SLEEP_0>;
474 CPU_PD7: power-domain-cpu7 {
475 #power-domain-cells = <0>;
476 power-domains = <&CLUSTER_PD>;
477 domain-idle-states = <&BIG_CPU_SLEEP_0>;
480 CLUSTER_PD: power-domain-cluster {
481 #power-domain-cells = <0>;
482 domain-idle-states = <&CLUSTER_SLEEP_0>;
487 #address-cells = <2>;
491 hyp_mem: hyp-mem@85700000 {
492 reg = <0 0x85700000 0 0x600000>;
496 xbl_mem: xbl-mem@85e00000 {
497 reg = <0 0x85e00000 0 0x100000>;
501 aop_mem: aop-mem@85fc0000 {
502 reg = <0 0x85fc0000 0 0x20000>;
506 aop_cmd_db_mem: aop-cmd-db-mem@85fe0000 {
507 compatible = "qcom,cmd-db";
508 reg = <0 0x85fe0000 0 0x20000>;
512 camera_mem: camera-mem@8ab00000 {
513 reg = <0 0x8ab00000 0 0x500000>;
517 mpss_region: mpss@8b000000 {
518 reg = <0 0x8b000000 0 0x7e00000>;
522 venus_mem: venus@92e00000 {
523 reg = <0 0x92e00000 0 0x500000>;
527 wlan_msa_mem: wlan-msa@93300000 {
528 reg = <0 0x93300000 0 0x100000>;
532 cdsp_mem: cdsp@93400000 {
533 reg = <0 0x93400000 0 0x800000>;
537 mba_region: mba@93c00000 {
538 reg = <0 0x93c00000 0 0x200000>;
542 adsp_mem: adsp@93e00000 {
543 reg = <0 0x93e00000 0 0x1e00000>;
547 ipa_fw_mem: ipa-fw@95c00000 {
548 reg = <0 0x95c00000 0 0x10000>;
552 ipa_gsi_mem: ipa-gsi@95c10000 {
553 reg = <0 0x95c10000 0 0x5000>;
557 gpu_mem: gpu@95c15000 {
558 reg = <0 0x95c15000 0 0x2000>;
562 spss_mem: spss@97b00000 {
563 reg = <0 0x97b00000 0 0x100000>;
567 qseecom_mem: qseecom@9e400000 {
568 reg = <0 0x9e400000 0 0x1400000>;
574 compatible = "arm,armv8-timer";
575 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
576 <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
577 <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
578 <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
582 #address-cells = <2>;
584 ranges = <0 0 0 0 0x10 0>;
585 dma-ranges = <0 0 0 0 0x10 0>;
586 compatible = "simple-bus";
588 gcc: clock-controller@100000 {
589 compatible = "qcom,gcc-sdm670";
590 reg = <0 0x00100000 0 0x1f0000>;
591 clocks = <&rpmhcc RPMH_CXO_CLK>,
592 <&rpmhcc RPMH_CXO_CLK_A>,
594 clock-names = "bi_tcxo",
599 #power-domain-cells = <1>;
602 qfprom: qfprom@784000 {
603 compatible = "qcom,sdm670-qfprom", "qcom,qfprom";
604 reg = <0 0x00784000 0 0x1000>;
605 #address-cells = <1>;
608 qusb2_hstx_trim: hstx-trim@1eb {
615 compatible = "qcom,sdm670-sdhci", "qcom,sdhci-msm-v5";
616 reg = <0 0x007c4000 0 0x1000>,
617 <0 0x007c5000 0 0x1000>,
618 <0 0x007c8000 0 0x8000>;
619 reg-names = "hc", "cqhci", "ice";
621 interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
622 <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>;
623 interrupt-names = "hc_irq", "pwr_irq";
625 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
626 <&gcc GCC_SDCC1_APPS_CLK>,
627 <&rpmhcc RPMH_CXO_CLK>,
628 <&gcc GCC_SDCC1_ICE_CORE_CLK>,
629 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>;
630 clock-names = "iface", "core", "xo", "ice", "bus";
631 interconnects = <&aggre1_noc MASTER_EMMC 0 &aggre1_noc SLAVE_A1NOC_SNOC 0>,
632 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_EMMC_CFG 0>;
633 interconnect-names = "sdhc-ddr", "cpu-sdhc";
634 operating-points-v2 = <&sdhc1_opp_table>;
636 iommus = <&apps_smmu 0x140 0xf>;
638 pinctrl-names = "default", "sleep";
639 pinctrl-0 = <&sdc1_state_on>;
640 pinctrl-1 = <&sdc1_state_off>;
641 power-domains = <&rpmhpd SDM670_CX>;
648 sdhc1_opp_table: opp-table {
649 compatible = "operating-points-v2";
652 opp-hz = /bits/ 64 <20000000>;
653 required-opps = <&rpmhpd_opp_min_svs>;
654 opp-peak-kBps = <80000 80000>;
655 opp-avg-kBps = <52286 80000>;
659 opp-hz = /bits/ 64 <50000000>;
660 required-opps = <&rpmhpd_opp_low_svs>;
661 opp-peak-kBps = <200000 100000>;
662 opp-avg-kBps = <130718 100000>;
666 opp-hz = /bits/ 64 <100000000>;
667 required-opps = <&rpmhpd_opp_svs>;
668 opp-peak-kBps = <200000 130000>;
669 opp-avg-kBps = <130718 130000>;
673 opp-hz = /bits/ 64 <384000000>;
674 required-opps = <&rpmhpd_opp_nom>;
675 opp-peak-kBps = <4096000 4096000>;
676 opp-avg-kBps = <1338562 1338562>;
681 gpi_dma0: dma-controller@800000 {
683 compatible = "qcom,sdm670-gpi-dma", "qcom,sdm845-gpi-dma";
684 reg = <0 0x00800000 0 0x60000>;
685 interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
686 <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
687 <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
688 <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
689 <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
690 <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
691 <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
692 <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
693 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
694 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
695 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
696 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
697 <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
699 dma-channel-mask = <0xfa>;
700 iommus = <&apps_smmu 0x16 0x0>;
704 qupv3_id_0: geniqup@8c0000 {
705 compatible = "qcom,geni-se-qup";
706 reg = <0 0x008c0000 0 0x6000>;
707 clock-names = "m-ahb", "s-ahb";
708 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
709 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
710 iommus = <&apps_smmu 0x3 0x0>;
711 #address-cells = <2>;
714 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>;
715 interconnect-names = "qup-core";
719 compatible = "qcom,geni-i2c";
720 reg = <0 0x00880000 0 0x4000>;
722 clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
723 pinctrl-names = "default";
724 pinctrl-0 = <&qup_i2c0_default>;
725 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
726 #address-cells = <1>;
728 power-domains = <&rpmhpd SDM670_CX>;
729 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
730 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
731 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
732 interconnect-names = "qup-core", "qup-config", "qup-memory";
733 dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
734 <&gpi_dma0 1 0 QCOM_GPI_I2C>;
735 dma-names = "tx", "rx";
740 compatible = "qcom,geni-i2c";
741 reg = <0 0x00884000 0 0x4000>;
743 clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
744 pinctrl-names = "default";
745 pinctrl-0 = <&qup_i2c1_default>;
746 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
747 #address-cells = <1>;
749 power-domains = <&rpmhpd SDM670_CX>;
750 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
751 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
752 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
753 interconnect-names = "qup-core", "qup-config", "qup-memory";
754 dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
755 <&gpi_dma0 1 1 QCOM_GPI_I2C>;
756 dma-names = "tx", "rx";
761 compatible = "qcom,geni-i2c";
762 reg = <0 0x00888000 0 0x4000>;
764 clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
765 pinctrl-names = "default";
766 pinctrl-0 = <&qup_i2c2_default>;
767 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
768 #address-cells = <1>;
770 power-domains = <&rpmhpd SDM670_CX>;
771 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
772 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
773 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
774 interconnect-names = "qup-core", "qup-config", "qup-memory";
775 dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
776 <&gpi_dma0 1 2 QCOM_GPI_I2C>;
777 dma-names = "tx", "rx";
782 compatible = "qcom,geni-i2c";
783 reg = <0 0x0088c000 0 0x4000>;
785 clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
786 pinctrl-names = "default";
787 pinctrl-0 = <&qup_i2c3_default>;
788 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
789 #address-cells = <1>;
791 power-domains = <&rpmhpd SDM670_CX>;
792 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
793 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
794 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
795 interconnect-names = "qup-core", "qup-config", "qup-memory";
796 dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
797 <&gpi_dma0 1 3 QCOM_GPI_I2C>;
798 dma-names = "tx", "rx";
803 compatible = "qcom,geni-i2c";
804 reg = <0 0x00890000 0 0x4000>;
806 clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
807 pinctrl-names = "default";
808 pinctrl-0 = <&qup_i2c4_default>;
809 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
810 #address-cells = <1>;
812 power-domains = <&rpmhpd SDM670_CX>;
813 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
814 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
815 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
816 interconnect-names = "qup-core", "qup-config", "qup-memory";
817 dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
818 <&gpi_dma0 1 4 QCOM_GPI_I2C>;
819 dma-names = "tx", "rx";
824 compatible = "qcom,geni-i2c";
825 reg = <0 0x00894000 0 0x4000>;
827 clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
828 pinctrl-names = "default";
829 pinctrl-0 = <&qup_i2c5_default>;
830 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
831 #address-cells = <1>;
833 power-domains = <&rpmhpd SDM670_CX>;
834 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
835 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
836 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
837 interconnect-names = "qup-core", "qup-config", "qup-memory";
838 dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
839 <&gpi_dma0 1 5 QCOM_GPI_I2C>;
840 dma-names = "tx", "rx";
845 compatible = "qcom,geni-i2c";
846 reg = <0 0x00898000 0 0x4000>;
848 clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
849 pinctrl-names = "default";
850 pinctrl-0 = <&qup_i2c6_default>;
851 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
852 #address-cells = <1>;
854 power-domains = <&rpmhpd SDM670_CX>;
855 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
856 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
857 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
858 interconnect-names = "qup-core", "qup-config", "qup-memory";
859 dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
860 <&gpi_dma0 1 6 QCOM_GPI_I2C>;
861 dma-names = "tx", "rx";
866 compatible = "qcom,geni-i2c";
867 reg = <0 0x0089c000 0 0x4000>;
869 clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
870 pinctrl-names = "default";
871 pinctrl-0 = <&qup_i2c7_default>;
872 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
873 #address-cells = <1>;
875 power-domains = <&rpmhpd SDM670_CX>;
876 interconnects = <&aggre1_noc MASTER_BLSP_1 0 &config_noc SLAVE_BLSP_1 0>,
877 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_1 0>,
878 <&aggre1_noc MASTER_BLSP_1 0 &mem_noc SLAVE_EBI_CH0 0>;
879 interconnect-names = "qup-core", "qup-config", "qup-memory";
880 dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
881 <&gpi_dma0 1 7 QCOM_GPI_I2C>;
882 dma-names = "tx", "rx";
887 gpi_dma1: dma-controller@a00000 {
889 compatible = "qcom,sdm670-gpi-dma", "qcom,sdm845-gpi-dma";
890 reg = <0 0x00a00000 0 0x60000>;
891 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
892 <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
893 <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
894 <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
895 <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
896 <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
897 <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
898 <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
899 <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
900 <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
901 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
902 <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
903 <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
905 dma-channel-mask = <0xfa>;
906 iommus = <&apps_smmu 0x6d6 0x0>;
910 qupv3_id_1: geniqup@ac0000 {
911 compatible = "qcom,geni-se-qup";
912 reg = <0 0x00ac0000 0 0x6000>;
913 clock-names = "m-ahb", "s-ahb";
914 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
915 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
916 iommus = <&apps_smmu 0x6c3 0x0>;
917 #address-cells = <2>;
920 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>;
921 interconnect-names = "qup-core";
925 compatible = "qcom,geni-i2c";
926 reg = <0 0x00a80000 0 0x4000>;
928 clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
929 pinctrl-names = "default";
930 pinctrl-0 = <&qup_i2c8_default>;
931 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
932 #address-cells = <1>;
934 power-domains = <&rpmhpd SDM670_CX>;
935 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
936 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
937 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
938 interconnect-names = "qup-core", "qup-config", "qup-memory";
939 dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
940 <&gpi_dma1 1 0 QCOM_GPI_I2C>;
941 dma-names = "tx", "rx";
946 compatible = "qcom,geni-i2c";
947 reg = <0 0x00a84000 0 0x4000>;
949 clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
950 pinctrl-names = "default";
951 pinctrl-0 = <&qup_i2c9_default>;
952 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
953 #address-cells = <1>;
955 power-domains = <&rpmhpd SDM670_CX>;
956 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
957 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
958 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
959 interconnect-names = "qup-core", "qup-config", "qup-memory";
960 dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
961 <&gpi_dma1 1 1 QCOM_GPI_I2C>;
962 dma-names = "tx", "rx";
967 compatible = "qcom,geni-i2c";
968 reg = <0 0x00a88000 0 0x4000>;
970 clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
971 pinctrl-names = "default";
972 pinctrl-0 = <&qup_i2c10_default>;
973 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
974 #address-cells = <1>;
976 power-domains = <&rpmhpd SDM670_CX>;
977 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
978 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
979 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
980 interconnect-names = "qup-core", "qup-config", "qup-memory";
981 dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
982 <&gpi_dma1 1 2 QCOM_GPI_I2C>;
983 dma-names = "tx", "rx";
988 compatible = "qcom,geni-i2c";
989 reg = <0 0x00a8c000 0 0x4000>;
991 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
992 pinctrl-names = "default";
993 pinctrl-0 = <&qup_i2c11_default>;
994 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
995 #address-cells = <1>;
997 power-domains = <&rpmhpd SDM670_CX>;
998 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
999 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1000 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1001 interconnect-names = "qup-core", "qup-config", "qup-memory";
1002 dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
1003 <&gpi_dma1 1 3 QCOM_GPI_I2C>;
1004 dma-names = "tx", "rx";
1005 status = "disabled";
1009 compatible = "qcom,geni-i2c";
1010 reg = <0 0x00a90000 0 0x4000>;
1012 clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1013 pinctrl-names = "default";
1014 pinctrl-0 = <&qup_i2c12_default>;
1015 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1016 #address-cells = <1>;
1018 power-domains = <&rpmhpd SDM670_CX>;
1019 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1020 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1021 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1022 interconnect-names = "qup-core", "qup-config", "qup-memory";
1023 dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1024 <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1025 dma-names = "tx", "rx";
1026 status = "disabled";
1030 compatible = "qcom,geni-i2c";
1031 reg = <0 0x00a94000 0 0x4000>;
1033 clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
1034 pinctrl-names = "default";
1035 pinctrl-0 = <&qup_i2c13_default>;
1036 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1037 #address-cells = <1>;
1039 power-domains = <&rpmhpd SDM670_CX>;
1040 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1041 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1042 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1043 interconnect-names = "qup-core", "qup-config", "qup-memory";
1044 dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
1045 <&gpi_dma1 1 5 QCOM_GPI_I2C>;
1046 dma-names = "tx", "rx";
1047 status = "disabled";
1051 compatible = "qcom,geni-i2c";
1052 reg = <0 0x00a98000 0 0x4000>;
1054 clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
1055 pinctrl-names = "default";
1056 pinctrl-0 = <&qup_i2c14_default>;
1057 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1058 #address-cells = <1>;
1060 power-domains = <&rpmhpd SDM670_CX>;
1061 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1062 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1063 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1064 interconnect-names = "qup-core", "qup-config", "qup-memory";
1065 dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
1066 <&gpi_dma1 1 6 QCOM_GPI_I2C>;
1067 dma-names = "tx", "rx";
1068 status = "disabled";
1072 compatible = "qcom,geni-i2c";
1073 reg = <0 0x00a9c000 0 0x4000>;
1075 clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
1076 pinctrl-names = "default";
1077 pinctrl-0 = <&qup_i2c15_default>;
1078 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1079 #address-cells = <1>;
1081 power-domains = <&rpmhpd SDM670_CX>;
1082 interconnects = <&aggre2_noc MASTER_BLSP_2 0 &config_noc SLAVE_BLSP_2 0>,
1083 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_BLSP_2 0>,
1084 <&aggre2_noc MASTER_BLSP_2 0 &mem_noc SLAVE_EBI_CH0 0>;
1085 interconnect-names = "qup-core", "qup-config", "qup-memory";
1086 dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>,
1087 <&gpi_dma1 1 7 QCOM_GPI_I2C>;
1088 dma-names = "tx", "rx";
1089 status = "disabled";
1093 mem_noc: interconnect@1380000 {
1094 compatible = "qcom,sdm670-mem-noc";
1095 reg = <0 0x01380000 0 0x27200>;
1096 #interconnect-cells = <2>;
1097 qcom,bcm-voters = <&apps_bcm_voter>;
1100 dc_noc: interconnect@14e0000 {
1101 compatible = "qcom,sdm670-dc-noc";
1102 reg = <0 0x014e0000 0 0x400>;
1103 #interconnect-cells = <2>;
1104 qcom,bcm-voters = <&apps_bcm_voter>;
1107 config_noc: interconnect@1500000 {
1108 compatible = "qcom,sdm670-config-noc";
1109 reg = <0 0x01500000 0 0x5080>;
1110 #interconnect-cells = <2>;
1111 qcom,bcm-voters = <&apps_bcm_voter>;
1114 system_noc: interconnect@1620000 {
1115 compatible = "qcom,sdm670-system-noc";
1116 reg = <0 0x01620000 0 0x18080>;
1117 #interconnect-cells = <2>;
1118 qcom,bcm-voters = <&apps_bcm_voter>;
1121 aggre1_noc: interconnect@16e0000 {
1122 compatible = "qcom,sdm670-aggre1-noc";
1123 reg = <0 0x016e0000 0 0x15080>;
1124 #interconnect-cells = <2>;
1125 qcom,bcm-voters = <&apps_bcm_voter>;
1128 aggre2_noc: interconnect@1700000 {
1129 compatible = "qcom,sdm670-aggre2-noc";
1130 reg = <0 0x01700000 0 0x1f300>;
1131 #interconnect-cells = <2>;
1132 qcom,bcm-voters = <&apps_bcm_voter>;
1135 mmss_noc: interconnect@1740000 {
1136 compatible = "qcom,sdm670-mmss-noc";
1137 reg = <0 0x01740000 0 0x1c100>;
1138 #interconnect-cells = <2>;
1139 qcom,bcm-voters = <&apps_bcm_voter>;
1142 tlmm: pinctrl@3400000 {
1143 compatible = "qcom,sdm670-tlmm";
1144 reg = <0 0x03400000 0 0xc00000>;
1145 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1148 interrupt-controller;
1149 #interrupt-cells = <2>;
1150 gpio-ranges = <&tlmm 0 0 151>;
1151 wakeup-parent = <&pdc>;
1153 qup_i2c0_default: qup-i2c0-default-state {
1154 pins = "gpio0", "gpio1";
1158 qup_i2c1_default: qup-i2c1-default-state {
1159 pins = "gpio17", "gpio18";
1163 qup_i2c2_default: qup-i2c2-default-state {
1164 pins = "gpio27", "gpio28";
1168 qup_i2c3_default: qup-i2c3-default-state {
1169 pins = "gpio41", "gpio42";
1173 qup_i2c4_default: qup-i2c4-default-state {
1174 pins = "gpio89", "gpio90";
1178 qup_i2c5_default: qup-i2c5-default-state {
1179 pins = "gpio85", "gpio86";
1183 qup_i2c6_default: qup-i2c6-default-state {
1184 pins = "gpio45", "gpio46";
1188 qup_i2c7_default: qup-i2c7-default-state {
1189 pins = "gpio93", "gpio94";
1193 qup_i2c8_default: qup-i2c8-default-state {
1194 pins = "gpio65", "gpio66";
1198 qup_i2c9_default: qup-i2c9-default-state {
1199 pins = "gpio6", "gpio7";
1203 qup_i2c10_default: qup-i2c10-default-state {
1204 pins = "gpio55", "gpio56";
1208 qup_i2c11_default: qup-i2c11-default-state {
1209 pins = "gpio31", "gpio32";
1213 qup_i2c12_default: qup-i2c12-default-state {
1214 pins = "gpio49", "gpio50";
1218 qup_i2c13_default: qup-i2c13-default-state {
1219 pins = "gpio105", "gpio106";
1223 qup_i2c14_default: qup-i2c14-default-state {
1224 pins = "gpio33", "gpio34";
1228 qup_i2c15_default: qup-i2c15-default-state {
1229 pins = "gpio81", "gpio82";
1233 sdc1_state_on: sdc1-on-state {
1237 drive-strength = <16>;
1243 drive-strength = <10>;
1249 drive-strength = <10>;
1258 sdc1_state_off: sdc1-off-state {
1262 drive-strength = <2>;
1268 drive-strength = <2>;
1274 drive-strength = <2>;
1284 usb_1_hsphy: phy@88e2000 {
1285 compatible = "qcom,sdm670-qusb2-phy", "qcom,qusb2-v2-phy";
1286 reg = <0 0x088e2000 0 0x400>;
1289 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
1290 <&rpmhcc RPMH_CXO_CLK>;
1291 clock-names = "cfg_ahb", "ref";
1293 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
1295 nvmem-cells = <&qusb2_hstx_trim>;
1297 status = "disabled";
1300 usb_1: usb@a6f8800 {
1301 compatible = "qcom,sdm670-dwc3", "qcom,dwc3";
1302 reg = <0 0x0a6f8800 0 0x400>;
1303 #address-cells = <2>;
1308 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1309 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1310 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
1311 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1312 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
1313 clock-names = "cfg_noc",
1319 assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
1320 <&gcc GCC_USB30_PRIM_MASTER_CLK>;
1321 assigned-clock-rates = <19200000>, <150000000>;
1323 interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1324 <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
1325 <&pdc 8 IRQ_TYPE_EDGE_BOTH>,
1326 <&pdc 9 IRQ_TYPE_EDGE_BOTH>;
1327 interrupt-names = "hs_phy_irq", "ss_phy_irq",
1328 "dm_hs_phy_irq", "dp_hs_phy_irq";
1330 power-domains = <&gcc USB30_PRIM_GDSC>;
1332 resets = <&gcc GCC_USB30_PRIM_BCR>;
1334 interconnects = <&aggre2_noc MASTER_USB3 0 &mem_noc SLAVE_EBI_CH0 0>,
1335 <&gladiator_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3 0>;
1336 interconnect-names = "usb-ddr", "apps-usb";
1338 status = "disabled";
1340 usb_1_dwc3: usb@a600000 {
1341 compatible = "snps,dwc3";
1342 reg = <0 0x0a600000 0 0xcd00>;
1343 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
1344 iommus = <&apps_smmu 0x740 0>;
1345 snps,dis_u2_susphy_quirk;
1346 snps,dis_enblslpm_quirk;
1347 phys = <&usb_1_hsphy>;
1348 phy-names = "usb2-phy";
1352 pdc: interrupt-controller@b220000 {
1353 compatible = "qcom,sdm670-pdc", "qcom,pdc";
1354 reg = <0 0x0b220000 0 0x30000>;
1355 qcom,pdc-ranges = <0 480 40>, <41 521 7>, <49 529 4>,
1356 <54 534 24>, <79 559 15>, <94 609 15>,
1358 #interrupt-cells = <2>;
1359 interrupt-parent = <&intc>;
1360 interrupt-controller;
1363 spmi_bus: spmi@c440000 {
1364 compatible = "qcom,spmi-pmic-arb";
1365 reg = <0 0x0c440000 0 0x1100>,
1366 <0 0x0c600000 0 0x2000000>,
1367 <0 0x0e600000 0 0x100000>,
1368 <0 0x0e700000 0 0xa0000>,
1369 <0 0x0c40a000 0 0x26000>;
1370 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1371 interrupt-names = "periph_irq";
1372 interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>;
1375 #address-cells = <2>;
1377 interrupt-controller;
1378 #interrupt-cells = <4>;
1381 mdss: display-subsystem@ae00000 {
1382 compatible = "qcom,sdm670-mdss";
1383 reg = <0 0x0ae00000 0 0x1000>;
1386 power-domains = <&dispcc MDSS_GDSC>;
1388 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1389 <&dispcc DISP_CC_MDSS_MDP_CLK>;
1390 clock-names = "iface", "core";
1392 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1393 interrupt-controller;
1394 #interrupt-cells = <1>;
1396 interconnects = <&mmss_noc MASTER_MDP_PORT0 0 &mem_noc SLAVE_EBI_CH0 0>,
1397 <&mmss_noc MASTER_MDP_PORT1 0 &mem_noc SLAVE_EBI_CH0 0>;
1398 interconnect-names = "mdp0-mem", "mdp1-mem";
1400 iommus = <&apps_smmu 0x880 0x8>,
1401 <&apps_smmu 0xc80 0x8>;
1403 #address-cells = <2>;
1407 status = "disabled";
1409 mdss_mdp: display-controller@ae01000 {
1410 compatible = "qcom,sdm670-dpu";
1411 reg = <0 0x0ae01000 0 0x8f000>,
1412 <0 0x0aeb0000 0 0x2008>;
1413 reg-names = "mdp", "vbif";
1415 clocks = <&gcc GCC_DISP_AXI_CLK>,
1416 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1417 <&dispcc DISP_CC_MDSS_AXI_CLK>,
1418 <&dispcc DISP_CC_MDSS_MDP_CLK>,
1419 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1420 clock-names = "gcc-bus", "iface", "bus", "core", "vsync";
1422 assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
1423 assigned-clock-rates = <19200000>;
1424 operating-points-v2 = <&mdp_opp_table>;
1425 power-domains = <&rpmhpd SDM670_CX>;
1427 interrupt-parent = <&mdss>;
1431 #address-cells = <1>;
1436 dpu_intf0_out: endpoint {
1437 remote-endpoint = <&mdss_dsi0_in>;
1443 dpu_intf1_out: endpoint {
1444 remote-endpoint = <&mdss_dsi1_in>;
1449 mdp_opp_table: opp-table {
1450 compatible = "operating-points-v2";
1453 opp-hz = /bits/ 64 <19200000>;
1454 required-opps = <&rpmhpd_opp_min_svs>;
1458 opp-hz = /bits/ 64 <171428571>;
1459 required-opps = <&rpmhpd_opp_low_svs>;
1463 opp-hz = /bits/ 64 <358000000>;
1464 required-opps = <&rpmhpd_opp_svs_l1>;
1468 opp-hz = /bits/ 64 <430000000>;
1469 required-opps = <&rpmhpd_opp_nom>;
1474 mdss_dsi0: dsi@ae94000 {
1475 compatible = "qcom,sdm670-dsi-ctrl",
1476 "qcom,mdss-dsi-ctrl";
1477 reg = <0 0x0ae94000 0 0x400>;
1478 reg-names = "dsi_ctrl";
1480 interrupt-parent = <&mdss>;
1483 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
1484 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
1485 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
1486 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
1487 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1488 <&dispcc DISP_CC_MDSS_AXI_CLK>;
1489 clock-names = "byte",
1495 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
1496 <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
1497 assigned-clock-parents = <&mdss_dsi0_phy 0>,
1500 operating-points-v2 = <&dsi_opp_table>;
1501 power-domains = <&rpmhpd SDM670_CX>;
1503 phys = <&mdss_dsi0_phy>;
1505 #address-cells = <1>;
1508 status = "disabled";
1511 #address-cells = <1>;
1516 mdss_dsi0_in: endpoint {
1517 remote-endpoint = <&dpu_intf0_out>;
1523 mdss_dsi0_out: endpoint {
1529 mdss_dsi0_phy: phy@ae94400 {
1530 compatible = "qcom,dsi-phy-10nm";
1531 reg = <0 0x0ae94400 0 0x200>,
1532 <0 0x0ae94600 0 0x280>,
1533 <0 0x0ae94a00 0 0x1e0>;
1534 reg-names = "dsi_phy",
1541 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1542 <&rpmhcc RPMH_CXO_CLK>;
1543 clock-names = "iface", "ref";
1545 status = "disabled";
1548 mdss_dsi1: dsi@ae96000 {
1549 compatible = "qcom,sdm670-dsi-ctrl",
1550 "qcom,mdss-dsi-ctrl";
1551 reg = <0 0x0ae96000 0 0x400>;
1552 reg-names = "dsi_ctrl";
1554 interrupt-parent = <&mdss>;
1557 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
1558 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
1559 <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
1560 <&dispcc DISP_CC_MDSS_ESC1_CLK>,
1561 <&dispcc DISP_CC_MDSS_AHB_CLK>,
1562 <&dispcc DISP_CC_MDSS_AXI_CLK>;
1563 clock-names = "byte",
1569 assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
1570 <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
1571 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
1573 operating-points-v2 = <&dsi_opp_table>;
1574 power-domains = <&rpmhpd SDM670_CX>;
1576 phys = <&mdss_dsi1_phy>;
1578 #address-cells = <1>;
1581 status = "disabled";
1584 #address-cells = <1>;
1589 mdss_dsi1_in: endpoint {
1590 remote-endpoint = <&dpu_intf1_out>;
1596 mdss_dsi1_out: endpoint {
1602 mdss_dsi1_phy: phy@ae96400 {
1603 compatible = "qcom,dsi-phy-10nm";
1604 reg = <0 0x0ae96400 0 0x200>,
1605 <0 0x0ae96600 0 0x280>,
1606 <0 0x0ae96a00 0 0x10e>;
1607 reg-names = "dsi_phy",
1614 clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
1615 <&rpmhcc RPMH_CXO_CLK>;
1616 clock-names = "iface", "ref";
1618 status = "disabled";
1622 dispcc: clock-controller@af00000 {
1623 compatible = "qcom,sdm845-dispcc";
1624 reg = <0 0x0af00000 0 0x10000>;
1625 clocks = <&rpmhcc RPMH_CXO_CLK>,
1626 <&gcc GCC_DISP_GPLL0_CLK_SRC>,
1627 <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>,
1634 clock-names = "bi_tcxo",
1635 "gcc_disp_gpll0_clk_src",
1636 "gcc_disp_gpll0_div_clk_src",
1637 "dsi0_phy_pll_out_byteclk",
1638 "dsi0_phy_pll_out_dsiclk",
1639 "dsi1_phy_pll_out_byteclk",
1640 "dsi1_phy_pll_out_dsiclk",
1641 "dp_link_clk_divsel_ten",
1642 "dp_vco_divided_clk_src_mux";
1645 #power-domain-cells = <1>;
1648 apps_smmu: iommu@15000000 {
1649 compatible = "qcom,sdm670-smmu-500", "qcom,smmu-500", "arm,mmu-500";
1650 reg = <0 0x15000000 0 0x80000>;
1652 #global-interrupts = <1>;
1653 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
1654 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1655 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1656 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1657 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1658 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1659 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1660 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1661 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1662 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1663 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1664 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1665 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1666 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1667 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1668 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1669 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
1670 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
1671 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1672 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1673 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
1674 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1675 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1676 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
1677 <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
1678 <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
1679 <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
1680 <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
1681 <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
1682 <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
1683 <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
1684 <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
1685 <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
1686 <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
1687 <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
1688 <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
1689 <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
1690 <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
1691 <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
1692 <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
1693 <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
1694 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
1695 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
1696 <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
1697 <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
1698 <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
1699 <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
1700 <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
1701 <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
1702 <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
1703 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
1704 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
1705 <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
1706 <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
1707 <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
1708 <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
1709 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
1710 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
1711 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
1712 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
1713 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
1714 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
1715 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
1716 <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
1717 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
1720 gladiator_noc: interconnect@17900000 {
1721 compatible = "qcom,sdm670-gladiator-noc";
1722 reg = <0 0x17900000 0 0xd080>;
1723 #interconnect-cells = <2>;
1724 qcom,bcm-voters = <&apps_bcm_voter>;
1727 apps_rsc: rsc@179c0000 {
1728 compatible = "qcom,rpmh-rsc";
1729 reg = <0 0x179c0000 0 0x10000>,
1730 <0 0x179d0000 0 0x10000>,
1731 <0 0x179e0000 0 0x10000>;
1732 reg-names = "drv-0", "drv-1", "drv-2";
1733 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
1734 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
1735 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1737 qcom,tcs-offset = <0xd00>;
1739 qcom,tcs-config = <ACTIVE_TCS 2>,
1743 power-domains = <&CLUSTER_PD>;
1745 apps_bcm_voter: bcm-voter {
1746 compatible = "qcom,bcm-voter";
1749 rpmhcc: clock-controller {
1750 compatible = "qcom,sdm670-rpmh-clk";
1753 clocks = <&xo_board>;
1756 rpmhpd: power-controller {
1757 compatible = "qcom,sdm670-rpmhpd";
1758 #power-domain-cells = <1>;
1759 operating-points-v2 = <&rpmhpd_opp_table>;
1761 rpmhpd_opp_table: opp-table {
1762 compatible = "operating-points-v2";
1764 rpmhpd_opp_ret: opp1 {
1765 opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
1768 rpmhpd_opp_min_svs: opp2 {
1769 opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
1772 rpmhpd_opp_low_svs: opp3 {
1773 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
1776 rpmhpd_opp_svs: opp4 {
1777 opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
1780 rpmhpd_opp_svs_l1: opp5 {
1781 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
1784 rpmhpd_opp_nom: opp6 {
1785 opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
1788 rpmhpd_opp_nom_l1: opp7 {
1789 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
1792 rpmhpd_opp_nom_l2: opp8 {
1793 opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
1796 rpmhpd_opp_turbo: opp9 {
1797 opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
1800 rpmhpd_opp_turbo_l1: opp10 {
1801 opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
1807 intc: interrupt-controller@17a00000 {
1808 compatible = "arm,gic-v3";
1809 reg = <0 0x17a00000 0 0x10000>, /* GICD */
1810 <0 0x17a60000 0 0x100000>; /* GICR * 8 */
1811 interrupt-controller;
1812 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
1813 #interrupt-cells = <3>;
1816 osm_l3: interconnect@17d41000 {
1817 compatible = "qcom,sdm670-osm-l3", "qcom,osm-l3";
1818 reg = <0 0x17d41000 0 0x1400>;
1820 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
1821 clock-names = "xo", "alternate";
1823 #interconnect-cells = <1>;
1826 cpufreq_hw: cpufreq@17d43000 {
1827 compatible = "qcom,sdm670-cpufreq-hw", "qcom,cpufreq-hw";
1828 reg = <0 0x17d43000 0 0x1400>, <0 0x17d45800 0 0x1400>;
1829 reg-names = "freq-domain0", "freq-domain1";
1831 clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
1832 clock-names = "xo", "alternate";
1834 #freq-domain-cells = <1>;