1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/clock/qcom,gcc-msm8996.h>
8 #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
9 #include <dt-bindings/clock/qcom,rpmcc.h>
10 #include <dt-bindings/interconnect/qcom,msm8996.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/power/qcom-rpmpd.h>
13 #include <dt-bindings/soc/qcom,apr.h>
14 #include <dt-bindings/thermal/thermal.h>
17 interrupt-parent = <&intc>;
26 compatible = "fixed-clock";
28 clock-frequency = <19200000>;
29 clock-output-names = "xo_board";
32 sleep_clk: sleep-clk {
33 compatible = "fixed-clock";
35 clock-frequency = <32764>;
36 clock-output-names = "sleep_clk";
46 compatible = "qcom,kryo";
48 enable-method = "psci";
49 cpu-idle-states = <&CPU_SLEEP_0>;
50 capacity-dmips-mhz = <1024>;
52 operating-points-v2 = <&cluster0_opp>;
54 next-level-cache = <&L2_0>;
64 compatible = "qcom,kryo";
66 enable-method = "psci";
67 cpu-idle-states = <&CPU_SLEEP_0>;
68 capacity-dmips-mhz = <1024>;
70 operating-points-v2 = <&cluster0_opp>;
72 next-level-cache = <&L2_0>;
77 compatible = "qcom,kryo";
79 enable-method = "psci";
80 cpu-idle-states = <&CPU_SLEEP_0>;
81 capacity-dmips-mhz = <1024>;
83 operating-points-v2 = <&cluster1_opp>;
85 next-level-cache = <&L2_1>;
95 compatible = "qcom,kryo";
97 enable-method = "psci";
98 cpu-idle-states = <&CPU_SLEEP_0>;
99 capacity-dmips-mhz = <1024>;
100 clocks = <&kryocc 1>;
101 operating-points-v2 = <&cluster1_opp>;
102 #cooling-cells = <2>;
103 next-level-cache = <&L2_1>;
129 entry-method = "psci";
131 CPU_SLEEP_0: cpu-sleep-0 {
132 compatible = "arm,idle-state";
133 idle-state-name = "standalone-power-collapse";
134 arm,psci-suspend-param = <0x00000004>;
135 entry-latency-us = <130>;
136 exit-latency-us = <80>;
137 min-residency-us = <300>;
142 cluster0_opp: opp-table-cluster0 {
143 compatible = "operating-points-v2-kryo-cpu";
144 nvmem-cells = <&speedbin_efuse>;
147 /* Nominal fmax for now */
149 opp-hz = /bits/ 64 <307200000>;
150 opp-supported-hw = <0xf>;
151 clock-latency-ns = <200000>;
154 opp-hz = /bits/ 64 <422400000>;
155 opp-supported-hw = <0xf>;
156 clock-latency-ns = <200000>;
159 opp-hz = /bits/ 64 <480000000>;
160 opp-supported-hw = <0xf>;
161 clock-latency-ns = <200000>;
164 opp-hz = /bits/ 64 <556800000>;
165 opp-supported-hw = <0xf>;
166 clock-latency-ns = <200000>;
169 opp-hz = /bits/ 64 <652800000>;
170 opp-supported-hw = <0xf>;
171 clock-latency-ns = <200000>;
174 opp-hz = /bits/ 64 <729600000>;
175 opp-supported-hw = <0xf>;
176 clock-latency-ns = <200000>;
179 opp-hz = /bits/ 64 <844800000>;
180 opp-supported-hw = <0xf>;
181 clock-latency-ns = <200000>;
184 opp-hz = /bits/ 64 <960000000>;
185 opp-supported-hw = <0xf>;
186 clock-latency-ns = <200000>;
189 opp-hz = /bits/ 64 <1036800000>;
190 opp-supported-hw = <0xf>;
191 clock-latency-ns = <200000>;
194 opp-hz = /bits/ 64 <1113600000>;
195 opp-supported-hw = <0xf>;
196 clock-latency-ns = <200000>;
199 opp-hz = /bits/ 64 <1190400000>;
200 opp-supported-hw = <0xf>;
201 clock-latency-ns = <200000>;
204 opp-hz = /bits/ 64 <1228800000>;
205 opp-supported-hw = <0xf>;
206 clock-latency-ns = <200000>;
209 opp-hz = /bits/ 64 <1324800000>;
210 opp-supported-hw = <0xd>;
211 clock-latency-ns = <200000>;
214 opp-hz = /bits/ 64 <1363200000>;
215 opp-supported-hw = <0x2>;
216 clock-latency-ns = <200000>;
219 opp-hz = /bits/ 64 <1401600000>;
220 opp-supported-hw = <0xd>;
221 clock-latency-ns = <200000>;
224 opp-hz = /bits/ 64 <1478400000>;
225 opp-supported-hw = <0x9>;
226 clock-latency-ns = <200000>;
229 opp-hz = /bits/ 64 <1497600000>;
230 opp-supported-hw = <0x04>;
231 clock-latency-ns = <200000>;
234 opp-hz = /bits/ 64 <1593600000>;
235 opp-supported-hw = <0x9>;
236 clock-latency-ns = <200000>;
240 cluster1_opp: opp-table-cluster1 {
241 compatible = "operating-points-v2-kryo-cpu";
242 nvmem-cells = <&speedbin_efuse>;
245 /* Nominal fmax for now */
247 opp-hz = /bits/ 64 <307200000>;
248 opp-supported-hw = <0xf>;
249 clock-latency-ns = <200000>;
252 opp-hz = /bits/ 64 <403200000>;
253 opp-supported-hw = <0xf>;
254 clock-latency-ns = <200000>;
257 opp-hz = /bits/ 64 <480000000>;
258 opp-supported-hw = <0xf>;
259 clock-latency-ns = <200000>;
262 opp-hz = /bits/ 64 <556800000>;
263 opp-supported-hw = <0xf>;
264 clock-latency-ns = <200000>;
267 opp-hz = /bits/ 64 <652800000>;
268 opp-supported-hw = <0xf>;
269 clock-latency-ns = <200000>;
272 opp-hz = /bits/ 64 <729600000>;
273 opp-supported-hw = <0xf>;
274 clock-latency-ns = <200000>;
277 opp-hz = /bits/ 64 <806400000>;
278 opp-supported-hw = <0xf>;
279 clock-latency-ns = <200000>;
282 opp-hz = /bits/ 64 <883200000>;
283 opp-supported-hw = <0xf>;
284 clock-latency-ns = <200000>;
287 opp-hz = /bits/ 64 <940800000>;
288 opp-supported-hw = <0xf>;
289 clock-latency-ns = <200000>;
292 opp-hz = /bits/ 64 <1036800000>;
293 opp-supported-hw = <0xf>;
294 clock-latency-ns = <200000>;
297 opp-hz = /bits/ 64 <1113600000>;
298 opp-supported-hw = <0xf>;
299 clock-latency-ns = <200000>;
302 opp-hz = /bits/ 64 <1190400000>;
303 opp-supported-hw = <0xf>;
304 clock-latency-ns = <200000>;
307 opp-hz = /bits/ 64 <1248000000>;
308 opp-supported-hw = <0xf>;
309 clock-latency-ns = <200000>;
312 opp-hz = /bits/ 64 <1324800000>;
313 opp-supported-hw = <0xf>;
314 clock-latency-ns = <200000>;
317 opp-hz = /bits/ 64 <1401600000>;
318 opp-supported-hw = <0xf>;
319 clock-latency-ns = <200000>;
322 opp-hz = /bits/ 64 <1478400000>;
323 opp-supported-hw = <0xf>;
324 clock-latency-ns = <200000>;
327 opp-hz = /bits/ 64 <1555200000>;
328 opp-supported-hw = <0xf>;
329 clock-latency-ns = <200000>;
332 opp-hz = /bits/ 64 <1632000000>;
333 opp-supported-hw = <0xf>;
334 clock-latency-ns = <200000>;
337 opp-hz = /bits/ 64 <1708800000>;
338 opp-supported-hw = <0xf>;
339 clock-latency-ns = <200000>;
342 opp-hz = /bits/ 64 <1785600000>;
343 opp-supported-hw = <0xf>;
344 clock-latency-ns = <200000>;
347 opp-hz = /bits/ 64 <1804800000>;
348 opp-supported-hw = <0xe>;
349 clock-latency-ns = <200000>;
352 opp-hz = /bits/ 64 <1824000000>;
353 opp-supported-hw = <0x1>;
354 clock-latency-ns = <200000>;
357 opp-hz = /bits/ 64 <1900800000>;
358 opp-supported-hw = <0x4>;
359 clock-latency-ns = <200000>;
362 opp-hz = /bits/ 64 <1920000000>;
363 opp-supported-hw = <0x1>;
364 clock-latency-ns = <200000>;
367 opp-hz = /bits/ 64 <1996800000>;
368 opp-supported-hw = <0x1>;
369 clock-latency-ns = <200000>;
372 opp-hz = /bits/ 64 <2073600000>;
373 opp-supported-hw = <0x1>;
374 clock-latency-ns = <200000>;
377 opp-hz = /bits/ 64 <2150400000>;
378 opp-supported-hw = <0x1>;
379 clock-latency-ns = <200000>;
385 compatible = "qcom,scm-msm8996", "qcom,scm";
386 qcom,dload-mode = <&tcsr_2 0x13000>;
391 device_type = "memory";
392 /* We expect the bootloader to fill in the reg */
393 reg = <0x0 0x80000000 0x0 0x0>;
397 compatible = "arm,psci-1.0";
402 #address-cells = <2>;
406 hyp_mem: memory@85800000 {
407 reg = <0x0 0x85800000 0x0 0x600000>;
411 xbl_mem: memory@85e00000 {
412 reg = <0x0 0x85e00000 0x0 0x200000>;
416 smem_mem: smem-mem@86000000 {
417 reg = <0x0 0x86000000 0x0 0x200000>;
421 tz_mem: memory@86200000 {
422 reg = <0x0 0x86200000 0x0 0x2600000>;
427 compatible = "qcom,rmtfs-mem";
429 size = <0x0 0x200000>;
430 alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
433 qcom,client-id = <1>;
437 mpss_mem: mpss@88800000 {
438 reg = <0x0 0x88800000 0x0 0x6200000>;
442 adsp_mem: adsp@8ea00000 {
443 reg = <0x0 0x8ea00000 0x0 0x1b00000>;
447 slpi_mem: slpi@90500000 {
448 reg = <0x0 0x90500000 0x0 0xa00000>;
452 gpu_mem: gpu@90f00000 {
453 compatible = "shared-dma-pool";
454 reg = <0x0 0x90f00000 0x0 0x100000>;
458 venus_mem: venus@91000000 {
459 reg = <0x0 0x91000000 0x0 0x500000>;
463 mba_mem: mba@91500000 {
464 reg = <0x0 0x91500000 0x0 0x200000>;
468 mdata_mem: mpss-metadata {
469 alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>;
476 compatible = "qcom,glink-rpm";
478 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
480 qcom,rpm-msg-ram = <&rpm_msg_ram>;
482 mboxes = <&apcs_glb 0>;
484 rpm_requests: rpm-requests {
485 compatible = "qcom,rpm-msm8996";
486 qcom,glink-channels = "rpm_requests";
488 rpmcc: clock-controller {
489 compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
491 clocks = <&xo_board>;
495 rpmpd: power-controller {
496 compatible = "qcom,msm8996-rpmpd";
497 #power-domain-cells = <1>;
498 operating-points-v2 = <&rpmpd_opp_table>;
500 rpmpd_opp_table: opp-table {
501 compatible = "operating-points-v2";
532 compatible = "qcom,smem";
533 memory-region = <&smem_mem>;
534 hwlocks = <&tcsr_mutex 3>;
538 compatible = "qcom,smp2p";
539 qcom,smem = <443>, <429>;
541 interrupts = <0 158 IRQ_TYPE_EDGE_RISING>;
543 mboxes = <&apcs_glb 10>;
545 qcom,local-pid = <0>;
546 qcom,remote-pid = <2>;
548 adsp_smp2p_out: master-kernel {
549 qcom,entry-name = "master-kernel";
550 #qcom,smem-state-cells = <1>;
553 adsp_smp2p_in: slave-kernel {
554 qcom,entry-name = "slave-kernel";
556 interrupt-controller;
557 #interrupt-cells = <2>;
562 compatible = "qcom,smp2p";
563 qcom,smem = <435>, <428>;
565 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
567 mboxes = <&apcs_glb 14>;
569 qcom,local-pid = <0>;
570 qcom,remote-pid = <1>;
572 mpss_smp2p_out: master-kernel {
573 qcom,entry-name = "master-kernel";
574 #qcom,smem-state-cells = <1>;
577 mpss_smp2p_in: slave-kernel {
578 qcom,entry-name = "slave-kernel";
580 interrupt-controller;
581 #interrupt-cells = <2>;
586 compatible = "qcom,smp2p";
587 qcom,smem = <481>, <430>;
589 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
591 mboxes = <&apcs_glb 26>;
593 qcom,local-pid = <0>;
594 qcom,remote-pid = <3>;
596 slpi_smp2p_out: master-kernel {
597 qcom,entry-name = "master-kernel";
598 #qcom,smem-state-cells = <1>;
601 slpi_smp2p_in: slave-kernel {
602 qcom,entry-name = "slave-kernel";
604 interrupt-controller;
605 #interrupt-cells = <2>;
610 #address-cells = <1>;
612 ranges = <0 0 0 0xffffffff>;
613 compatible = "simple-bus";
615 pcie_phy: phy-wrapper@34000 {
616 compatible = "qcom,msm8996-qmp-pcie-phy";
617 reg = <0x00034000 0x488>;
618 #address-cells = <1>;
620 ranges = <0x0 0x00034000 0x4000>;
622 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
623 <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
624 <&gcc GCC_PCIE_CLKREF_CLK>;
625 clock-names = "aux", "cfg_ahb", "ref";
627 resets = <&gcc GCC_PCIE_PHY_BCR>,
628 <&gcc GCC_PCIE_PHY_COM_BCR>,
629 <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
630 reset-names = "phy", "common", "cfg";
634 pciephy_0: phy@1000 {
635 reg = <0x1000 0x130>,
639 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
640 clock-names = "pipe0";
641 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
642 reset-names = "lane0";
645 clock-output-names = "pcie_0_pipe_clk_src";
650 pciephy_1: phy@2000 {
651 reg = <0x2000 0x130>,
655 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
656 clock-names = "pipe1";
657 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
658 reset-names = "lane1";
661 clock-output-names = "pcie_1_pipe_clk_src";
666 pciephy_2: phy@3000 {
667 reg = <0x3000 0x130>,
671 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
672 clock-names = "pipe2";
673 resets = <&gcc GCC_PCIE_2_PHY_BCR>;
674 reset-names = "lane2";
677 clock-output-names = "pcie_2_pipe_clk_src";
683 rpm_msg_ram: sram@68000 {
684 compatible = "qcom,rpm-msg-ram";
685 reg = <0x00068000 0x6000>;
689 compatible = "qcom,msm8996-qfprom", "qcom,qfprom";
690 reg = <0x00074000 0x8ff>;
691 #address-cells = <1>;
694 qusb2p_hstx_trim: hstx_trim@24e {
699 qusb2s_hstx_trim: hstx_trim@24f {
704 speedbin_efuse: speedbin@133 {
711 compatible = "qcom,prng-ee";
712 reg = <0x00083000 0x1000>;
713 clocks = <&gcc GCC_PRNG_AHB_CLK>;
714 clock-names = "core";
717 gcc: clock-controller@300000 {
718 compatible = "qcom,gcc-msm8996";
721 #power-domain-cells = <1>;
722 reg = <0x00300000 0x90000>;
724 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
725 <&rpmcc RPM_SMD_LN_BB_CLK>,
737 "pcie_0_pipe_clk_src",
738 "pcie_1_pipe_clk_src",
739 "pcie_2_pipe_clk_src",
740 "usb3_phy_pipe_clk_src",
741 "ufs_rx_symbol_0_clk_src",
742 "ufs_rx_symbol_1_clk_src",
743 "ufs_tx_symbol_0_clk_src";
746 bimc: interconnect@408000 {
747 compatible = "qcom,msm8996-bimc";
748 reg = <0x00408000 0x5a000>;
749 #interconnect-cells = <1>;
750 clock-names = "bus", "bus_a";
751 clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
752 <&rpmcc RPM_SMD_BIMC_A_CLK>;
755 tsens0: thermal-sensor@4a9000 {
756 compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
757 reg = <0x004a9000 0x1000>, /* TM */
758 <0x004a8000 0x1000>; /* SROT */
759 #qcom,sensors = <13>;
760 interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
761 <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
762 interrupt-names = "uplow", "critical";
763 #thermal-sensor-cells = <1>;
766 tsens1: thermal-sensor@4ad000 {
767 compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
768 reg = <0x004ad000 0x1000>, /* TM */
769 <0x004ac000 0x1000>; /* SROT */
771 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
772 <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
773 interrupt-names = "uplow", "critical";
774 #thermal-sensor-cells = <1>;
777 cryptobam: dma-controller@644000 {
778 compatible = "qcom,bam-v1.7.0";
779 reg = <0x00644000 0x24000>;
780 interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
781 clocks = <&gcc GCC_CE1_CLK>;
782 clock-names = "bam_clk";
785 qcom,controlled-remotely;
788 crypto: crypto@67a000 {
789 compatible = "qcom,crypto-v5.4";
790 reg = <0x0067a000 0x6000>;
791 clocks = <&gcc GCC_CE1_AHB_CLK>,
792 <&gcc GCC_CE1_AXI_CLK>,
794 clock-names = "iface", "bus", "core";
795 dmas = <&cryptobam 6>, <&cryptobam 7>;
796 dma-names = "rx", "tx";
799 cnoc: interconnect@500000 {
800 compatible = "qcom,msm8996-cnoc";
801 reg = <0x00500000 0x1000>;
802 #interconnect-cells = <1>;
803 clock-names = "bus", "bus_a";
804 clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
805 <&rpmcc RPM_SMD_CNOC_A_CLK>;
808 snoc: interconnect@524000 {
809 compatible = "qcom,msm8996-snoc";
810 reg = <0x00524000 0x1c000>;
811 #interconnect-cells = <1>;
812 clock-names = "bus", "bus_a";
813 clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
814 <&rpmcc RPM_SMD_SNOC_A_CLK>;
817 a0noc: interconnect@543000 {
818 compatible = "qcom,msm8996-a0noc";
819 reg = <0x00543000 0x6000>;
820 #interconnect-cells = <1>;
821 clock-names = "aggre0_snoc_axi",
823 "aggre0_noc_mpu_cfg";
824 clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
825 <&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
826 <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
827 power-domains = <&gcc AGGRE0_NOC_GDSC>;
830 a1noc: interconnect@562000 {
831 compatible = "qcom,msm8996-a1noc";
832 reg = <0x00562000 0x5000>;
833 #interconnect-cells = <1>;
834 clock-names = "bus", "bus_a";
835 clocks = <&rpmcc RPM_SMD_AGGR1_NOC_CLK>,
836 <&rpmcc RPM_SMD_AGGR1_NOC_A_CLK>;
839 a2noc: interconnect@583000 {
840 compatible = "qcom,msm8996-a2noc";
841 reg = <0x00583000 0x7000>;
842 #interconnect-cells = <1>;
843 clock-names = "bus", "bus_a", "aggre2_ufs_axi", "ufs_axi";
844 clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
845 <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>,
846 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
847 <&gcc GCC_UFS_AXI_CLK>;
850 mnoc: interconnect@5a4000 {
851 compatible = "qcom,msm8996-mnoc";
852 reg = <0x005a4000 0x1c000>;
853 #interconnect-cells = <1>;
854 clock-names = "bus", "bus_a", "iface";
855 clocks = <&rpmcc RPM_SMD_MMAXI_CLK>,
856 <&rpmcc RPM_SMD_MMAXI_A_CLK>,
860 pnoc: interconnect@5c0000 {
861 compatible = "qcom,msm8996-pnoc";
862 reg = <0x005c0000 0x3000>;
863 #interconnect-cells = <1>;
864 clock-names = "bus", "bus_a";
865 clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
866 <&rpmcc RPM_SMD_PCNOC_A_CLK>;
869 tcsr_mutex: hwlock@740000 {
870 compatible = "qcom,tcsr-mutex";
871 reg = <0x00740000 0x20000>;
875 tcsr_1: syscon@760000 {
876 compatible = "qcom,tcsr-msm8996", "syscon";
877 reg = <0x00760000 0x20000>;
880 tcsr_2: syscon@7a0000 {
881 compatible = "qcom,tcsr-msm8996", "syscon";
882 reg = <0x007a0000 0x18000>;
885 mmcc: clock-controller@8c0000 {
886 compatible = "qcom,mmcc-msm8996";
889 #power-domain-cells = <1>;
890 reg = <0x008c0000 0x40000>;
891 clocks = <&xo_board>,
893 <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
901 "gcc_mmss_noc_cfg_ahb_clk",
907 assigned-clocks = <&mmcc MMPLL9_PLL>,
912 assigned-clock-rates = <624000000>,
919 mdss: display-subsystem@900000 {
920 compatible = "qcom,mdss";
922 reg = <0x00900000 0x1000>,
925 reg-names = "mdss_phys",
929 power-domains = <&mmcc MDSS_GDSC>;
930 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
932 interrupt-controller;
933 #interrupt-cells = <1>;
935 clocks = <&mmcc MDSS_AHB_CLK>,
936 <&mmcc MDSS_MDP_CLK>;
937 clock-names = "iface", "core";
939 #address-cells = <1>;
945 mdp: display-controller@901000 {
946 compatible = "qcom,msm8996-mdp5", "qcom,mdp5";
947 reg = <0x00901000 0x90000>;
948 reg-names = "mdp_phys";
950 interrupt-parent = <&mdss>;
953 clocks = <&mmcc MDSS_AHB_CLK>,
954 <&mmcc MDSS_AXI_CLK>,
955 <&mmcc MDSS_MDP_CLK>,
956 <&mmcc SMMU_MDP_AXI_CLK>,
957 <&mmcc MDSS_VSYNC_CLK>;
958 clock-names = "iface",
964 iommus = <&mdp_smmu 0>;
966 assigned-clocks = <&mmcc MDSS_MDP_CLK>,
967 <&mmcc MDSS_VSYNC_CLK>;
968 assigned-clock-rates = <300000000>,
971 interconnects = <&mnoc MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
972 <&mnoc MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>,
973 <&mnoc MASTER_ROTATOR &bimc SLAVE_EBI_CH0>;
974 interconnect-names = "mdp0-mem", "mdp1-mem", "rotator-mem";
977 #address-cells = <1>;
982 mdp5_intf3_out: endpoint {
983 remote-endpoint = <&mdss_hdmi_in>;
989 mdp5_intf1_out: endpoint {
990 remote-endpoint = <&mdss_dsi0_in>;
996 mdp5_intf2_out: endpoint {
997 remote-endpoint = <&mdss_dsi1_in>;
1003 mdss_dsi0: dsi@994000 {
1004 compatible = "qcom,msm8996-dsi-ctrl",
1005 "qcom,mdss-dsi-ctrl";
1006 reg = <0x00994000 0x400>;
1007 reg-names = "dsi_ctrl";
1009 interrupt-parent = <&mdss>;
1012 clocks = <&mmcc MDSS_MDP_CLK>,
1013 <&mmcc MDSS_BYTE0_CLK>,
1014 <&mmcc MDSS_AHB_CLK>,
1015 <&mmcc MDSS_AXI_CLK>,
1016 <&mmcc MMSS_MISC_AHB_CLK>,
1017 <&mmcc MDSS_PCLK0_CLK>,
1018 <&mmcc MDSS_ESC0_CLK>;
1019 clock-names = "mdp_core",
1026 assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
1027 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
1029 phys = <&mdss_dsi0_phy>;
1030 status = "disabled";
1032 #address-cells = <1>;
1036 #address-cells = <1>;
1041 mdss_dsi0_in: endpoint {
1042 remote-endpoint = <&mdp5_intf1_out>;
1048 mdss_dsi0_out: endpoint {
1054 mdss_dsi0_phy: phy@994400 {
1055 compatible = "qcom,dsi-phy-14nm";
1056 reg = <0x00994400 0x100>,
1059 reg-names = "dsi_phy",
1066 clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1067 clock-names = "iface", "ref";
1068 status = "disabled";
1071 mdss_dsi1: dsi@996000 {
1072 compatible = "qcom,msm8996-dsi-ctrl",
1073 "qcom,mdss-dsi-ctrl";
1074 reg = <0x00996000 0x400>;
1075 reg-names = "dsi_ctrl";
1077 interrupt-parent = <&mdss>;
1080 clocks = <&mmcc MDSS_MDP_CLK>,
1081 <&mmcc MDSS_BYTE1_CLK>,
1082 <&mmcc MDSS_AHB_CLK>,
1083 <&mmcc MDSS_AXI_CLK>,
1084 <&mmcc MMSS_MISC_AHB_CLK>,
1085 <&mmcc MDSS_PCLK1_CLK>,
1086 <&mmcc MDSS_ESC1_CLK>;
1087 clock-names = "mdp_core",
1094 assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
1095 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
1097 phys = <&mdss_dsi1_phy>;
1098 status = "disabled";
1100 #address-cells = <1>;
1104 #address-cells = <1>;
1109 mdss_dsi1_in: endpoint {
1110 remote-endpoint = <&mdp5_intf2_out>;
1116 mdss_dsi1_out: endpoint {
1122 mdss_dsi1_phy: phy@996400 {
1123 compatible = "qcom,dsi-phy-14nm";
1124 reg = <0x00996400 0x100>,
1127 reg-names = "dsi_phy",
1134 clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1135 clock-names = "iface", "ref";
1136 status = "disabled";
1139 mdss_hdmi: mdss_hdmi-tx@9a0000 {
1140 compatible = "qcom,mdss_hdmi-tx-8996";
1141 reg = <0x009a0000 0x50c>,
1142 <0x00070000 0x6158>,
1144 reg-names = "core_physical",
1148 interrupt-parent = <&mdss>;
1151 clocks = <&mmcc MDSS_MDP_CLK>,
1152 <&mmcc MDSS_AHB_CLK>,
1153 <&mmcc MDSS_HDMI_CLK>,
1154 <&mmcc MDSS_HDMI_AHB_CLK>,
1155 <&mmcc MDSS_EXTPCLK_CLK>;
1163 phys = <&mdss_hdmi_phy>;
1164 #sound-dai-cells = <1>;
1166 status = "disabled";
1169 #address-cells = <1>;
1174 mdss_hdmi_in: endpoint {
1175 remote-endpoint = <&mdp5_intf3_out>;
1181 mdss_hdmi_phy: phy@9a0600 {
1183 compatible = "qcom,mdss_hdmi-phy-8996";
1184 reg = <0x009a0600 0x1c4>,
1190 reg-names = "hdmi_pll",
1197 clocks = <&mmcc MDSS_AHB_CLK>,
1198 <&gcc GCC_HDMI_CLKREF_CLK>,
1200 clock-names = "iface",
1206 status = "disabled";
1211 compatible = "qcom,adreno-530.2", "qcom,adreno";
1213 reg = <0x00b00000 0x3f000>;
1214 reg-names = "kgsl_3d0_reg_memory";
1216 interrupts = <0 300 IRQ_TYPE_LEVEL_HIGH>;
1218 clocks = <&mmcc GPU_GX_GFX3D_CLK>,
1219 <&mmcc GPU_AHB_CLK>,
1220 <&mmcc GPU_GX_RBBMTIMER_CLK>,
1221 <&gcc GCC_BIMC_GFX_CLK>,
1222 <&gcc GCC_MMSS_BIMC_GFX_CLK>;
1224 clock-names = "core",
1230 interconnects = <&bimc MASTER_GRAPHICS_3D &bimc SLAVE_EBI_CH0>;
1231 interconnect-names = "gfx-mem";
1233 power-domains = <&mmcc GPU_GX_GDSC>;
1234 iommus = <&adreno_smmu 0>;
1236 nvmem-cells = <&speedbin_efuse>;
1237 nvmem-cell-names = "speed_bin";
1239 operating-points-v2 = <&gpu_opp_table>;
1241 status = "disabled";
1243 #cooling-cells = <2>;
1245 gpu_opp_table: opp-table {
1246 compatible = "operating-points-v2";
1249 * 624Mhz is only available on speed bins 0 and 3.
1250 * 560Mhz is only available on speed bins 0, 2 and 3.
1251 * All the rest are available on all bins of the hardware.
1254 opp-hz = /bits/ 64 <624000000>;
1255 opp-supported-hw = <0x09>;
1258 opp-hz = /bits/ 64 <560000000>;
1259 opp-supported-hw = <0x0d>;
1262 opp-hz = /bits/ 64 <510000000>;
1263 opp-supported-hw = <0xff>;
1266 opp-hz = /bits/ 64 <401800000>;
1267 opp-supported-hw = <0xff>;
1270 opp-hz = /bits/ 64 <315000000>;
1271 opp-supported-hw = <0xff>;
1274 opp-hz = /bits/ 64 <214000000>;
1275 opp-supported-hw = <0xff>;
1278 opp-hz = /bits/ 64 <133000000>;
1279 opp-supported-hw = <0xff>;
1284 memory-region = <&gpu_mem>;
1288 tlmm: pinctrl@1010000 {
1289 compatible = "qcom,msm8996-pinctrl";
1290 reg = <0x01010000 0x300000>;
1291 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1293 gpio-ranges = <&tlmm 0 0 150>;
1295 interrupt-controller;
1296 #interrupt-cells = <2>;
1298 blsp1_spi1_default: blsp1-spi1-default-state {
1300 pins = "gpio0", "gpio1", "gpio3";
1301 function = "blsp_spi1";
1302 drive-strength = <12>;
1309 drive-strength = <16>;
1315 blsp1_spi1_sleep: blsp1-spi1-sleep-state {
1316 pins = "gpio0", "gpio1", "gpio2", "gpio3";
1318 drive-strength = <2>;
1322 blsp2_uart2_2pins_default: blsp2-uart2-2pins-state {
1323 pins = "gpio4", "gpio5";
1324 function = "blsp_uart8";
1325 drive-strength = <16>;
1329 blsp2_uart2_2pins_sleep: blsp2-uart2-2pins-sleep-state {
1330 pins = "gpio4", "gpio5";
1332 drive-strength = <2>;
1336 blsp2_i2c2_default: blsp2-i2c2-state {
1337 pins = "gpio6", "gpio7";
1338 function = "blsp_i2c8";
1339 drive-strength = <16>;
1343 blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
1344 pins = "gpio6", "gpio7";
1346 drive-strength = <2>;
1350 blsp1_i2c6_default: blsp1-i2c6-state {
1351 pins = "gpio27", "gpio28";
1352 function = "blsp_i2c6";
1353 drive-strength = <16>;
1357 blsp1_i2c6_sleep: blsp1-i2c6-sleep-state {
1358 pins = "gpio27", "gpio28";
1360 drive-strength = <2>;
1364 cci0_default: cci0-default-state {
1365 pins = "gpio17", "gpio18";
1366 function = "cci_i2c";
1367 drive-strength = <16>;
1372 camera_rear_default: camera-rear-default-state {
1373 camera0_mclk: mclk0-pins {
1375 function = "cam_mclk";
1376 drive-strength = <16>;
1380 camera0_rst: rst-pins {
1383 drive-strength = <16>;
1387 camera0_pwdn: pwdn-pins {
1390 drive-strength = <16>;
1395 cci1_default: cci1-default-state {
1396 pins = "gpio19", "gpio20";
1397 function = "cci_i2c";
1398 drive-strength = <16>;
1403 camera_board_default: camera-board-default-state {
1406 function = "cam_mclk";
1407 drive-strength = <16>;
1414 drive-strength = <16>;
1421 drive-strength = <16>;
1427 camera_front_default: camera-front-default-state {
1428 camera2_mclk: mclk2-pins {
1430 function = "cam_mclk";
1431 drive-strength = <16>;
1435 camera2_rst: rst-pins {
1438 drive-strength = <16>;
1445 drive-strength = <16>;
1450 pcie0_state_on: pcie0-state-on-state {
1454 drive-strength = <2>;
1460 function = "pci_e0";
1461 drive-strength = <2>;
1468 drive-strength = <2>;
1473 pcie0_state_off: pcie0-state-off-state {
1477 drive-strength = <2>;
1484 drive-strength = <2>;
1491 drive-strength = <2>;
1496 blsp1_uart2_default: blsp1-uart2-default-state {
1497 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1498 function = "blsp_uart2";
1499 drive-strength = <16>;
1503 blsp1_uart2_sleep: blsp1-uart2-sleep-state {
1504 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1506 drive-strength = <2>;
1510 blsp1_i2c3_default: blsp1-i2c3-default-state {
1511 pins = "gpio47", "gpio48";
1512 function = "blsp_i2c3";
1513 drive-strength = <16>;
1517 blsp1_i2c3_sleep: blsp1-i2c3-sleep-state {
1518 pins = "gpio47", "gpio48";
1520 drive-strength = <2>;
1524 blsp2_uart3_4pins_default: blsp2-uart3-4pins-state {
1525 pins = "gpio49", "gpio50", "gpio51", "gpio52";
1526 function = "blsp_uart9";
1527 drive-strength = <16>;
1531 blsp2_uart3_4pins_sleep: blsp2-uart3-4pins-sleep-state {
1532 pins = "gpio49", "gpio50", "gpio51", "gpio52";
1533 function = "blsp_uart9";
1534 drive-strength = <2>;
1538 blsp2_i2c3_default: blsp2-i2c3-state-state {
1539 pins = "gpio51", "gpio52";
1540 function = "blsp_i2c9";
1541 drive-strength = <16>;
1545 blsp2_i2c3_sleep: blsp2-i2c3-sleep-state {
1546 pins = "gpio51", "gpio52";
1548 drive-strength = <2>;
1552 wcd_intr_default: wcd-intr-default-state {
1555 drive-strength = <2>;
1559 blsp2_i2c1_default: blsp2-i2c1-state {
1560 pins = "gpio55", "gpio56";
1561 function = "blsp_i2c7";
1562 drive-strength = <16>;
1566 blsp2_i2c1_sleep: blsp2-i2c1-sleep-state {
1567 pins = "gpio55", "gpio56";
1569 drive-strength = <2>;
1573 blsp2_i2c5_default: blsp2-i2c5-state {
1574 pins = "gpio60", "gpio61";
1575 function = "blsp_i2c11";
1576 drive-strength = <2>;
1580 /* Sleep state for BLSP2_I2C5 is missing.. */
1582 cdc_reset_active: cdc-reset-active-state {
1585 drive-strength = <16>;
1590 cdc_reset_sleep: cdc-reset-sleep-state {
1593 drive-strength = <16>;
1598 blsp2_spi6_default: blsp2-spi6-default-state {
1600 pins = "gpio85", "gpio86", "gpio88";
1601 function = "blsp_spi12";
1602 drive-strength = <12>;
1609 drive-strength = <16>;
1615 blsp2_spi6_sleep: blsp2-spi6-sleep-state {
1616 pins = "gpio85", "gpio86", "gpio87", "gpio88";
1618 drive-strength = <2>;
1622 blsp2_i2c6_default: blsp2-i2c6-state {
1623 pins = "gpio87", "gpio88";
1624 function = "blsp_i2c12";
1625 drive-strength = <16>;
1629 blsp2_i2c6_sleep: blsp2-i2c6-sleep-state {
1630 pins = "gpio87", "gpio88";
1632 drive-strength = <2>;
1636 pcie1_state_on: pcie1-on-state {
1640 drive-strength = <2>;
1646 function = "pci_e1";
1647 drive-strength = <2>;
1654 drive-strength = <2>;
1659 pcie1_state_off: pcie1-off-state {
1660 /* Perst is missing? */
1664 drive-strength = <2>;
1671 drive-strength = <2>;
1676 pcie2_state_on: pcie2-on-state {
1680 drive-strength = <2>;
1686 function = "pci_e2";
1687 drive-strength = <2>;
1694 drive-strength = <2>;
1699 pcie2_state_off: pcie2-off-state {
1700 /* Perst is missing? */
1704 drive-strength = <2>;
1711 drive-strength = <2>;
1716 sdc1_state_on: sdc1-on-state {
1720 drive-strength = <16>;
1726 drive-strength = <10>;
1732 drive-strength = <10>;
1741 sdc1_state_off: sdc1-off-state {
1745 drive-strength = <2>;
1751 drive-strength = <2>;
1757 drive-strength = <2>;
1766 sdc2_state_on: sdc2-on-state {
1770 drive-strength = <16>;
1776 drive-strength = <10>;
1782 drive-strength = <10>;
1786 sdc2_state_off: sdc2-off-state {
1790 drive-strength = <2>;
1796 drive-strength = <2>;
1802 drive-strength = <2>;
1808 compatible = "qcom,rpm-stats";
1809 reg = <0x00290000 0x10000>;
1812 spmi_bus: spmi@400f000 {
1813 compatible = "qcom,spmi-pmic-arb";
1814 reg = <0x0400f000 0x1000>,
1815 <0x04400000 0x800000>,
1816 <0x04c00000 0x800000>,
1817 <0x05800000 0x200000>,
1818 <0x0400a000 0x002100>;
1819 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1820 interrupt-names = "periph_irq";
1821 interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
1824 #address-cells = <2>;
1826 interrupt-controller;
1827 #interrupt-cells = <4>;
1831 power-domains = <&gcc AGGRE0_NOC_GDSC>;
1832 compatible = "simple-pm-bus";
1833 #address-cells = <1>;
1835 ranges = <0x0 0x0 0xffffffff>;
1837 pcie0: pcie@600000 {
1838 compatible = "qcom,pcie-msm8996";
1839 status = "disabled";
1840 power-domains = <&gcc PCIE0_GDSC>;
1841 bus-range = <0x00 0xff>;
1844 reg = <0x00600000 0x2000>,
1847 <0x0c100000 0x100000>;
1848 reg-names = "parf", "dbi", "elbi","config";
1850 phys = <&pciephy_0>;
1851 phy-names = "pciephy";
1853 #address-cells = <3>;
1855 ranges = <0x01000000 0x0 0x00000000 0x0c200000 0x0 0x100000>,
1856 <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
1858 device_type = "pci";
1860 interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
1861 interrupt-names = "msi";
1862 #interrupt-cells = <1>;
1863 interrupt-map-mask = <0 0 0 0x7>;
1864 interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1865 <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1866 <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1867 <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1869 pinctrl-names = "default", "sleep";
1870 pinctrl-0 = <&pcie0_state_on>;
1871 pinctrl-1 = <&pcie0_state_off>;
1873 linux,pci-domain = <0>;
1875 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1876 <&gcc GCC_PCIE_0_AUX_CLK>,
1877 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1878 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1879 <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
1881 clock-names = "pipe",
1888 pcie1: pcie@608000 {
1889 compatible = "qcom,pcie-msm8996";
1890 power-domains = <&gcc PCIE1_GDSC>;
1891 bus-range = <0x00 0xff>;
1894 status = "disabled";
1896 reg = <0x00608000 0x2000>,
1899 <0x0d100000 0x100000>;
1901 reg-names = "parf", "dbi", "elbi","config";
1903 phys = <&pciephy_1>;
1904 phy-names = "pciephy";
1906 #address-cells = <3>;
1908 ranges = <0x01000000 0x0 0x00000000 0x0d200000 0x0 0x100000>,
1909 <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
1911 device_type = "pci";
1913 interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
1914 interrupt-names = "msi";
1915 #interrupt-cells = <1>;
1916 interrupt-map-mask = <0 0 0 0x7>;
1917 interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1918 <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1919 <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1920 <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1922 pinctrl-names = "default", "sleep";
1923 pinctrl-0 = <&pcie1_state_on>;
1924 pinctrl-1 = <&pcie1_state_off>;
1926 linux,pci-domain = <1>;
1928 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1929 <&gcc GCC_PCIE_1_AUX_CLK>,
1930 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1931 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1932 <&gcc GCC_PCIE_1_SLV_AXI_CLK>;
1934 clock-names = "pipe",
1941 pcie2: pcie@610000 {
1942 compatible = "qcom,pcie-msm8996";
1943 power-domains = <&gcc PCIE2_GDSC>;
1944 bus-range = <0x00 0xff>;
1946 status = "disabled";
1947 reg = <0x00610000 0x2000>,
1950 <0x0e100000 0x100000>;
1952 reg-names = "parf", "dbi", "elbi","config";
1954 phys = <&pciephy_2>;
1955 phy-names = "pciephy";
1957 #address-cells = <3>;
1959 ranges = <0x01000000 0x0 0x00000000 0x0e200000 0x0 0x100000>,
1960 <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
1962 device_type = "pci";
1964 interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
1965 interrupt-names = "msi";
1966 #interrupt-cells = <1>;
1967 interrupt-map-mask = <0 0 0 0x7>;
1968 interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1969 <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1970 <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1971 <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1973 pinctrl-names = "default", "sleep";
1974 pinctrl-0 = <&pcie2_state_on>;
1975 pinctrl-1 = <&pcie2_state_off>;
1977 linux,pci-domain = <2>;
1978 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
1979 <&gcc GCC_PCIE_2_AUX_CLK>,
1980 <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
1981 <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
1982 <&gcc GCC_PCIE_2_SLV_AXI_CLK>;
1984 clock-names = "pipe",
1992 ufshc: ufshc@624000 {
1993 compatible = "qcom,msm8996-ufshc", "qcom,ufshc",
1995 reg = <0x00624000 0x2500>;
1996 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
1998 phys = <&ufsphy_lane>;
1999 phy-names = "ufsphy";
2001 power-domains = <&gcc UFS_GDSC>;
2009 "core_clk_unipro_src",
2013 "tx_lane0_sync_clk",
2014 "rx_lane0_sync_clk";
2016 <&gcc UFS_AXI_CLK_SRC>,
2017 <&gcc GCC_UFS_AXI_CLK>,
2018 <&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
2019 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
2020 <&gcc GCC_UFS_AHB_CLK>,
2021 <&gcc UFS_ICE_CORE_CLK_SRC>,
2022 <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
2023 <&gcc GCC_UFS_ICE_CORE_CLK>,
2024 <&rpmcc RPM_SMD_LN_BB_CLK>,
2025 <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
2026 <&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
2028 <100000000 200000000>,
2033 <150000000 300000000>,
2040 interconnects = <&a2noc MASTER_UFS &bimc SLAVE_EBI_CH0>,
2041 <&bimc MASTER_AMPSS_M0 &cnoc SLAVE_UFS_CFG>;
2042 interconnect-names = "ufs-ddr", "cpu-ufs";
2044 lanes-per-direction = <1>;
2046 status = "disabled";
2049 ufsphy: phy@627000 {
2050 compatible = "qcom,msm8996-qmp-ufs-phy";
2051 reg = <0x00627000 0x1c4>;
2052 #address-cells = <1>;
2056 clocks = <&gcc GCC_UFS_CLKREF_CLK>;
2057 clock-names = "ref";
2059 resets = <&ufshc 0>;
2060 reset-names = "ufsphy";
2061 status = "disabled";
2063 ufsphy_lane: phy@627400 {
2064 reg = <0x627400 0x12c>,
2072 camss: camss@a34000 {
2073 compatible = "qcom,msm8996-camss";
2074 reg = <0x00a34000 0x1000>,
2076 <0x00a35000 0x1000>,
2078 <0x00a36000 0x1000>,
2086 <0x00a10000 0x1000>,
2087 <0x00a14000 0x1000>;
2088 reg-names = "csiphy0",
2102 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
2103 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
2104 <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
2105 <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
2106 <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
2107 <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
2108 <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
2109 <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
2110 <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
2111 <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>;
2112 interrupt-names = "csiphy0",
2122 power-domains = <&mmcc VFE0_GDSC>,
2124 clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2125 <&mmcc CAMSS_ISPIF_AHB_CLK>,
2126 <&mmcc CAMSS_CSI0PHYTIMER_CLK>,
2127 <&mmcc CAMSS_CSI1PHYTIMER_CLK>,
2128 <&mmcc CAMSS_CSI2PHYTIMER_CLK>,
2129 <&mmcc CAMSS_CSI0_AHB_CLK>,
2130 <&mmcc CAMSS_CSI0_CLK>,
2131 <&mmcc CAMSS_CSI0PHY_CLK>,
2132 <&mmcc CAMSS_CSI0PIX_CLK>,
2133 <&mmcc CAMSS_CSI0RDI_CLK>,
2134 <&mmcc CAMSS_CSI1_AHB_CLK>,
2135 <&mmcc CAMSS_CSI1_CLK>,
2136 <&mmcc CAMSS_CSI1PHY_CLK>,
2137 <&mmcc CAMSS_CSI1PIX_CLK>,
2138 <&mmcc CAMSS_CSI1RDI_CLK>,
2139 <&mmcc CAMSS_CSI2_AHB_CLK>,
2140 <&mmcc CAMSS_CSI2_CLK>,
2141 <&mmcc CAMSS_CSI2PHY_CLK>,
2142 <&mmcc CAMSS_CSI2PIX_CLK>,
2143 <&mmcc CAMSS_CSI2RDI_CLK>,
2144 <&mmcc CAMSS_CSI3_AHB_CLK>,
2145 <&mmcc CAMSS_CSI3_CLK>,
2146 <&mmcc CAMSS_CSI3PHY_CLK>,
2147 <&mmcc CAMSS_CSI3PIX_CLK>,
2148 <&mmcc CAMSS_CSI3RDI_CLK>,
2149 <&mmcc CAMSS_AHB_CLK>,
2150 <&mmcc CAMSS_VFE0_CLK>,
2151 <&mmcc CAMSS_CSI_VFE0_CLK>,
2152 <&mmcc CAMSS_VFE0_AHB_CLK>,
2153 <&mmcc CAMSS_VFE0_STREAM_CLK>,
2154 <&mmcc CAMSS_VFE1_CLK>,
2155 <&mmcc CAMSS_CSI_VFE1_CLK>,
2156 <&mmcc CAMSS_VFE1_AHB_CLK>,
2157 <&mmcc CAMSS_VFE1_STREAM_CLK>,
2158 <&mmcc CAMSS_VFE_AHB_CLK>,
2159 <&mmcc CAMSS_VFE_AXI_CLK>;
2160 clock-names = "top_ahb",
2196 iommus = <&vfe_smmu 0>,
2200 status = "disabled";
2202 #address-cells = <1>;
2208 compatible = "qcom,msm8996-cci";
2209 #address-cells = <1>;
2211 reg = <0xa0c000 0x1000>;
2212 interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>;
2213 power-domains = <&mmcc CAMSS_GDSC>;
2214 clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2215 <&mmcc CAMSS_CCI_AHB_CLK>,
2216 <&mmcc CAMSS_CCI_CLK>,
2217 <&mmcc CAMSS_AHB_CLK>;
2218 clock-names = "camss_top_ahb",
2222 assigned-clocks = <&mmcc CAMSS_CCI_AHB_CLK>,
2223 <&mmcc CAMSS_CCI_CLK>;
2224 assigned-clock-rates = <80000000>, <37500000>;
2225 pinctrl-names = "default";
2226 pinctrl-0 = <&cci0_default &cci1_default>;
2227 status = "disabled";
2229 cci_i2c0: i2c-bus@0 {
2231 clock-frequency = <400000>;
2232 #address-cells = <1>;
2236 cci_i2c1: i2c-bus@1 {
2238 clock-frequency = <400000>;
2239 #address-cells = <1>;
2244 adreno_smmu: iommu@b40000 {
2245 compatible = "qcom,msm8996-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
2246 reg = <0x00b40000 0x10000>;
2248 #global-interrupts = <1>;
2249 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
2250 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
2251 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
2254 clocks = <&gcc GCC_MMSS_BIMC_GFX_CLK>,
2255 <&mmcc GPU_AHB_CLK>;
2256 clock-names = "bus", "iface";
2258 power-domains = <&mmcc GPU_GDSC>;
2261 venus: video-codec@c00000 {
2262 compatible = "qcom,msm8996-venus";
2263 reg = <0x00c00000 0xff000>;
2264 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
2265 power-domains = <&mmcc VENUS_GDSC>;
2266 clocks = <&mmcc VIDEO_CORE_CLK>,
2267 <&mmcc VIDEO_AHB_CLK>,
2268 <&mmcc VIDEO_AXI_CLK>,
2269 <&mmcc VIDEO_MAXI_CLK>;
2270 clock-names = "core", "iface", "bus", "mbus";
2271 interconnects = <&mnoc MASTER_VIDEO_P0 &bimc SLAVE_EBI_CH0>,
2272 <&bimc MASTER_AMPSS_M0 &mnoc SLAVE_VENUS_CFG>;
2273 interconnect-names = "video-mem", "cpu-cfg";
2274 iommus = <&venus_smmu 0x00>,
2294 memory-region = <&venus_mem>;
2295 status = "disabled";
2298 compatible = "venus-decoder";
2299 clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
2300 clock-names = "core";
2301 power-domains = <&mmcc VENUS_CORE0_GDSC>;
2305 compatible = "venus-encoder";
2306 clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
2307 clock-names = "core";
2308 power-domains = <&mmcc VENUS_CORE1_GDSC>;
2312 mdp_smmu: iommu@d00000 {
2313 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2314 reg = <0x00d00000 0x10000>;
2316 #global-interrupts = <1>;
2317 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
2318 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2319 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
2321 clocks = <&mmcc SMMU_MDP_AXI_CLK>,
2322 <&mmcc SMMU_MDP_AHB_CLK>;
2323 clock-names = "bus", "iface";
2325 power-domains = <&mmcc MDSS_GDSC>;
2328 venus_smmu: iommu@d40000 {
2329 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2330 reg = <0x00d40000 0x20000>;
2331 #global-interrupts = <1>;
2332 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
2333 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
2334 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
2335 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
2336 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
2337 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
2338 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
2339 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
2340 power-domains = <&mmcc MMAGIC_VIDEO_GDSC>;
2341 clocks = <&mmcc SMMU_VIDEO_AXI_CLK>,
2342 <&mmcc SMMU_VIDEO_AHB_CLK>;
2343 clock-names = "bus", "iface";
2348 vfe_smmu: iommu@da0000 {
2349 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2350 reg = <0x00da0000 0x10000>;
2352 #global-interrupts = <1>;
2353 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
2354 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
2355 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
2356 power-domains = <&mmcc MMAGIC_CAMSS_GDSC>;
2357 clocks = <&mmcc SMMU_VFE_AXI_CLK>,
2358 <&mmcc SMMU_VFE_AHB_CLK>;
2359 clock-names = "bus", "iface";
2363 lpass_q6_smmu: iommu@1600000 {
2364 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2365 reg = <0x01600000 0x20000>;
2367 power-domains = <&gcc HLOS1_VOTE_LPASS_CORE_GDSC>;
2369 #global-interrupts = <1>;
2370 interrupts = <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
2371 <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
2372 <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
2373 <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
2374 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
2375 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
2376 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
2377 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
2378 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
2379 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
2380 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
2381 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
2382 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>;
2384 clocks = <&gcc GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>,
2385 <&gcc GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK>;
2386 clock-names = "bus", "iface";
2389 slpi_pil: remoteproc@1c00000 {
2390 compatible = "qcom,msm8996-slpi-pil";
2391 reg = <0x01c00000 0x4000>;
2393 interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
2394 <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2395 <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2396 <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2397 <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2398 interrupt-names = "wdog",
2404 clocks = <&xo_board>,
2405 <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
2406 clock-names = "xo", "aggre2";
2408 memory-region = <&slpi_mem>;
2410 qcom,smem-states = <&slpi_smp2p_out 0>;
2411 qcom,smem-state-names = "stop";
2413 power-domains = <&rpmpd MSM8996_VDDSSCX>;
2414 power-domain-names = "ssc_cx";
2416 status = "disabled";
2419 interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>;
2422 mboxes = <&apcs_glb 25>;
2423 qcom,smd-edge = <3>;
2424 qcom,remote-pid = <3>;
2428 mss_pil: remoteproc@2080000 {
2429 compatible = "qcom,msm8996-mss-pil";
2430 reg = <0x2080000 0x100>,
2432 reg-names = "qdsp6", "rmb";
2434 interrupts-extended = <&intc 0 448 IRQ_TYPE_EDGE_RISING>,
2435 <&mpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2436 <&mpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2437 <&mpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2438 <&mpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
2439 <&mpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
2440 interrupt-names = "wdog", "fatal", "ready",
2441 "handover", "stop-ack",
2444 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
2445 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
2446 <&gcc GCC_BOOT_ROM_AHB_CLK>,
2448 <&gcc GCC_MSS_GPLL0_DIV_CLK>,
2449 <&gcc GCC_MSS_SNOC_AXI_CLK>,
2450 <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
2451 <&rpmcc RPM_SMD_PCNOC_CLK>,
2452 <&rpmcc RPM_SMD_QDSS_CLK>;
2453 clock-names = "iface", "bus", "mem", "xo", "gpll0_mss",
2454 "snoc_axi", "mnoc_axi", "pnoc", "qdss";
2456 resets = <&gcc GCC_MSS_RESTART>;
2457 reset-names = "mss_restart";
2459 power-domains = <&rpmpd MSM8996_VDDCX>,
2460 <&rpmpd MSM8996_VDDMX>;
2461 power-domain-names = "cx", "mx";
2463 qcom,smem-states = <&mpss_smp2p_out 0>;
2464 qcom,smem-state-names = "stop";
2466 qcom,halt-regs = <&tcsr_1 0x3000 0x5000 0x4000>;
2468 status = "disabled";
2471 memory-region = <&mba_mem>;
2475 memory-region = <&mpss_mem>;
2479 memory-region = <&mdata_mem>;
2483 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
2486 mboxes = <&apcs_glb 12>;
2487 qcom,smd-edge = <0>;
2488 qcom,remote-pid = <1>;
2493 compatible = "arm,coresight-stm", "arm,primecell";
2494 reg = <0x3002000 0x1000>,
2495 <0x8280000 0x180000>;
2496 reg-names = "stm-base", "stm-stimulus-base";
2498 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2499 clock-names = "apb_pclk", "atclk";
2512 compatible = "arm,coresight-tpiu", "arm,primecell";
2513 reg = <0x3020000 0x1000>;
2515 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2516 clock-names = "apb_pclk", "atclk";
2529 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2530 reg = <0x3021000 0x1000>;
2532 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2533 clock-names = "apb_pclk", "atclk";
2536 #address-cells = <1>;
2541 funnel0_in: endpoint {
2550 funnel0_out: endpoint {
2552 <&merge_funnel_in0>;
2559 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2560 reg = <0x3022000 0x1000>;
2562 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2563 clock-names = "apb_pclk", "atclk";
2566 #address-cells = <1>;
2571 funnel1_in: endpoint {
2573 <&apss_merge_funnel_out>;
2580 funnel1_out: endpoint {
2582 <&merge_funnel_in1>;
2589 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2590 reg = <0x3023000 0x1000>;
2592 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2593 clock-names = "apb_pclk", "atclk";
2598 funnel2_out: endpoint {
2600 <&merge_funnel_in2>;
2607 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2608 reg = <0x3025000 0x1000>;
2610 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2611 clock-names = "apb_pclk", "atclk";
2614 #address-cells = <1>;
2619 merge_funnel_in0: endpoint {
2627 merge_funnel_in1: endpoint {
2635 merge_funnel_in2: endpoint {
2644 merge_funnel_out: endpoint {
2652 replicator@3026000 {
2653 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
2654 reg = <0x3026000 0x1000>;
2656 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2657 clock-names = "apb_pclk", "atclk";
2661 replicator_in: endpoint {
2669 #address-cells = <1>;
2674 replicator_out0: endpoint {
2682 replicator_out1: endpoint {
2691 compatible = "arm,coresight-tmc", "arm,primecell";
2692 reg = <0x3027000 0x1000>;
2694 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2695 clock-names = "apb_pclk", "atclk";
2701 <&merge_funnel_out>;
2717 compatible = "arm,coresight-tmc", "arm,primecell";
2718 reg = <0x3028000 0x1000>;
2720 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2721 clock-names = "apb_pclk", "atclk";
2735 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2736 reg = <0x3810000 0x1000>;
2738 clocks = <&rpmcc RPM_QDSS_CLK>;
2739 clock-names = "apb_pclk";
2745 compatible = "arm,coresight-etm4x", "arm,primecell";
2746 reg = <0x3840000 0x1000>;
2748 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2749 clock-names = "apb_pclk", "atclk";
2755 etm0_out: endpoint {
2757 <&apss_funnel0_in0>;
2764 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2765 reg = <0x3910000 0x1000>;
2767 clocks = <&rpmcc RPM_QDSS_CLK>;
2768 clock-names = "apb_pclk";
2774 compatible = "arm,coresight-etm4x", "arm,primecell";
2775 reg = <0x3940000 0x1000>;
2777 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2778 clock-names = "apb_pclk", "atclk";
2784 etm1_out: endpoint {
2786 <&apss_funnel0_in1>;
2792 funnel@39b0000 { /* APSS Funnel 0 */
2793 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2794 reg = <0x39b0000 0x1000>;
2796 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2797 clock-names = "apb_pclk", "atclk";
2800 #address-cells = <1>;
2805 apss_funnel0_in0: endpoint {
2806 remote-endpoint = <&etm0_out>;
2812 apss_funnel0_in1: endpoint {
2813 remote-endpoint = <&etm1_out>;
2820 apss_funnel0_out: endpoint {
2822 <&apss_merge_funnel_in0>;
2829 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2830 reg = <0x3a10000 0x1000>;
2832 clocks = <&rpmcc RPM_QDSS_CLK>;
2833 clock-names = "apb_pclk";
2839 compatible = "arm,coresight-etm4x", "arm,primecell";
2840 reg = <0x3a40000 0x1000>;
2842 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2843 clock-names = "apb_pclk", "atclk";
2849 etm2_out: endpoint {
2851 <&apss_funnel1_in0>;
2858 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2859 reg = <0x3b10000 0x1000>;
2861 clocks = <&rpmcc RPM_QDSS_CLK>;
2862 clock-names = "apb_pclk";
2868 compatible = "arm,coresight-etm4x", "arm,primecell";
2869 reg = <0x3b40000 0x1000>;
2871 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2872 clock-names = "apb_pclk", "atclk";
2878 etm3_out: endpoint {
2880 <&apss_funnel1_in1>;
2886 funnel@3bb0000 { /* APSS Funnel 1 */
2887 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2888 reg = <0x3bb0000 0x1000>;
2890 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2891 clock-names = "apb_pclk", "atclk";
2894 #address-cells = <1>;
2899 apss_funnel1_in0: endpoint {
2900 remote-endpoint = <&etm2_out>;
2906 apss_funnel1_in1: endpoint {
2907 remote-endpoint = <&etm3_out>;
2914 apss_funnel1_out: endpoint {
2916 <&apss_merge_funnel_in1>;
2923 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2924 reg = <0x3bc0000 0x1000>;
2926 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2927 clock-names = "apb_pclk", "atclk";
2930 #address-cells = <1>;
2935 apss_merge_funnel_in0: endpoint {
2937 <&apss_funnel0_out>;
2943 apss_merge_funnel_in1: endpoint {
2945 <&apss_funnel1_out>;
2952 apss_merge_funnel_out: endpoint {
2960 kryocc: clock-controller@6400000 {
2961 compatible = "qcom,msm8996-apcc";
2962 reg = <0x06400000 0x90000>;
2964 clock-names = "xo", "sys_apcs_aux";
2965 clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&apcs_glb>;
2971 compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
2972 reg = <0x06af8800 0x400>;
2973 #address-cells = <1>;
2977 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
2978 <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
2979 interrupt-names = "hs_phy_irq", "ss_phy_irq";
2981 clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
2982 <&gcc GCC_USB30_MASTER_CLK>,
2983 <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
2984 <&gcc GCC_USB30_SLEEP_CLK>,
2985 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
2986 clock-names = "cfg_noc",
2992 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
2993 <&gcc GCC_USB30_MASTER_CLK>;
2994 assigned-clock-rates = <19200000>, <120000000>;
2996 interconnects = <&a2noc MASTER_USB3 &bimc SLAVE_EBI_CH0>,
2997 <&bimc MASTER_AMPSS_M0 &snoc SLAVE_USB3>;
2998 interconnect-names = "usb-ddr", "apps-usb";
3000 power-domains = <&gcc USB30_GDSC>;
3001 status = "disabled";
3003 usb3_dwc3: usb@6a00000 {
3004 compatible = "snps,dwc3";
3005 reg = <0x06a00000 0xcc00>;
3006 interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
3007 phys = <&hsusb_phy1>, <&ssusb_phy_0>;
3008 phy-names = "usb2-phy", "usb3-phy";
3009 snps,hird-threshold = /bits/ 8 <0>;
3010 snps,dis_u2_susphy_quirk;
3011 snps,dis_enblslpm_quirk;
3012 snps,is-utmi-l1-suspend;
3017 usb3phy: phy@7410000 {
3018 compatible = "qcom,msm8996-qmp-usb3-phy";
3019 reg = <0x07410000 0x1c4>;
3020 #address-cells = <1>;
3024 clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
3025 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3026 <&gcc GCC_USB3_CLKREF_CLK>;
3027 clock-names = "aux", "cfg_ahb", "ref";
3029 resets = <&gcc GCC_USB3_PHY_BCR>,
3030 <&gcc GCC_USB3PHY_PHY_BCR>;
3031 reset-names = "phy", "common";
3032 status = "disabled";
3034 ssusb_phy_0: phy@7410200 {
3035 reg = <0x07410200 0x200>,
3041 clock-output-names = "usb3_phy_pipe_clk_src";
3042 clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
3043 clock-names = "pipe0";
3047 hsusb_phy1: phy@7411000 {
3048 compatible = "qcom,msm8996-qusb2-phy";
3049 reg = <0x07411000 0x180>;
3052 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3053 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
3054 clock-names = "cfg_ahb", "ref";
3056 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
3057 nvmem-cells = <&qusb2p_hstx_trim>;
3058 status = "disabled";
3061 hsusb_phy2: phy@7412000 {
3062 compatible = "qcom,msm8996-qusb2-phy";
3063 reg = <0x07412000 0x180>;
3066 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3067 <&gcc GCC_RX2_USB2_CLKREF_CLK>;
3068 clock-names = "cfg_ahb", "ref";
3070 resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
3071 nvmem-cells = <&qusb2s_hstx_trim>;
3072 status = "disabled";
3075 sdhc1: mmc@7464900 {
3076 compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
3077 reg = <0x07464900 0x11c>, <0x07464000 0x800>;
3078 reg-names = "hc", "core";
3080 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
3081 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
3082 interrupt-names = "hc_irq", "pwr_irq";
3084 clock-names = "iface", "core", "xo";
3085 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
3086 <&gcc GCC_SDCC1_APPS_CLK>,
3087 <&rpmcc RPM_SMD_XO_CLK_SRC>;
3088 resets = <&gcc GCC_SDCC1_BCR>;
3090 pinctrl-names = "default", "sleep";
3091 pinctrl-0 = <&sdc1_state_on>;
3092 pinctrl-1 = <&sdc1_state_off>;
3096 status = "disabled";
3099 sdhc2: mmc@74a4900 {
3100 compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
3101 reg = <0x074a4900 0x314>, <0x074a4000 0x800>;
3102 reg-names = "hc", "core";
3104 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
3105 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
3106 interrupt-names = "hc_irq", "pwr_irq";
3108 clock-names = "iface", "core", "xo";
3109 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
3110 <&gcc GCC_SDCC2_APPS_CLK>,
3111 <&rpmcc RPM_SMD_XO_CLK_SRC>;
3112 resets = <&gcc GCC_SDCC2_BCR>;
3114 pinctrl-names = "default", "sleep";
3115 pinctrl-0 = <&sdc2_state_on>;
3116 pinctrl-1 = <&sdc2_state_off>;
3119 status = "disabled";
3122 blsp1_dma: dma-controller@7544000 {
3123 compatible = "qcom,bam-v1.7.0";
3124 reg = <0x07544000 0x2b000>;
3125 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
3126 clocks = <&gcc GCC_BLSP1_AHB_CLK>;
3127 clock-names = "bam_clk";
3128 qcom,controlled-remotely;
3133 blsp1_uart2: serial@7570000 {
3134 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3135 reg = <0x07570000 0x1000>;
3136 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
3137 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
3138 <&gcc GCC_BLSP1_AHB_CLK>;
3139 clock-names = "core", "iface";
3140 pinctrl-names = "default", "sleep";
3141 pinctrl-0 = <&blsp1_uart2_default>;
3142 pinctrl-1 = <&blsp1_uart2_sleep>;
3143 dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
3144 dma-names = "tx", "rx";
3145 status = "disabled";
3148 blsp1_spi1: spi@7575000 {
3149 compatible = "qcom,spi-qup-v2.2.1";
3150 reg = <0x07575000 0x600>;
3151 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
3152 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
3153 <&gcc GCC_BLSP1_AHB_CLK>;
3154 clock-names = "core", "iface";
3155 pinctrl-names = "default", "sleep";
3156 pinctrl-0 = <&blsp1_spi1_default>;
3157 pinctrl-1 = <&blsp1_spi1_sleep>;
3158 dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
3159 dma-names = "tx", "rx";
3160 #address-cells = <1>;
3162 status = "disabled";
3165 blsp1_i2c3: i2c@7577000 {
3166 compatible = "qcom,i2c-qup-v2.2.1";
3167 reg = <0x07577000 0x1000>;
3168 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
3169 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
3170 <&gcc GCC_BLSP1_AHB_CLK>;
3171 clock-names = "core", "iface";
3172 pinctrl-names = "default", "sleep";
3173 pinctrl-0 = <&blsp1_i2c3_default>;
3174 pinctrl-1 = <&blsp1_i2c3_sleep>;
3175 dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
3176 dma-names = "tx", "rx";
3177 #address-cells = <1>;
3179 status = "disabled";
3182 blsp1_i2c6: i2c@757a000 {
3183 compatible = "qcom,i2c-qup-v2.2.1";
3184 reg = <0x757a000 0x1000>;
3185 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
3186 clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
3187 <&gcc GCC_BLSP1_AHB_CLK>;
3188 clock-names = "core", "iface";
3189 pinctrl-names = "default", "sleep";
3190 pinctrl-0 = <&blsp1_i2c6_default>;
3191 pinctrl-1 = <&blsp1_i2c6_sleep>;
3192 dmas = <&blsp1_dma 22>, <&blsp1_dma 23>;
3193 dma-names = "tx", "rx";
3194 #address-cells = <1>;
3196 status = "disabled";
3199 blsp2_dma: dma-controller@7584000 {
3200 compatible = "qcom,bam-v1.7.0";
3201 reg = <0x07584000 0x2b000>;
3202 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
3203 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
3204 clock-names = "bam_clk";
3205 qcom,controlled-remotely;
3210 blsp2_uart2: serial@75b0000 {
3211 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3212 reg = <0x075b0000 0x1000>;
3213 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
3214 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
3215 <&gcc GCC_BLSP2_AHB_CLK>;
3216 clock-names = "core", "iface";
3217 status = "disabled";
3220 blsp2_uart3: serial@75b1000 {
3221 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3222 reg = <0x075b1000 0x1000>;
3223 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
3224 clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
3225 <&gcc GCC_BLSP2_AHB_CLK>;
3226 clock-names = "core", "iface";
3227 status = "disabled";
3230 blsp2_i2c1: i2c@75b5000 {
3231 compatible = "qcom,i2c-qup-v2.2.1";
3232 reg = <0x075b5000 0x1000>;
3233 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
3234 clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
3235 <&gcc GCC_BLSP2_AHB_CLK>;
3236 clock-names = "core", "iface";
3237 pinctrl-names = "default", "sleep";
3238 pinctrl-0 = <&blsp2_i2c1_default>;
3239 pinctrl-1 = <&blsp2_i2c1_sleep>;
3240 dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
3241 dma-names = "tx", "rx";
3242 #address-cells = <1>;
3244 status = "disabled";
3247 blsp2_i2c2: i2c@75b6000 {
3248 compatible = "qcom,i2c-qup-v2.2.1";
3249 reg = <0x075b6000 0x1000>;
3250 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
3251 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
3252 <&gcc GCC_BLSP2_AHB_CLK>;
3253 clock-names = "core", "iface";
3254 pinctrl-names = "default", "sleep";
3255 pinctrl-0 = <&blsp2_i2c2_default>;
3256 pinctrl-1 = <&blsp2_i2c2_sleep>;
3257 dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
3258 dma-names = "tx", "rx";
3259 #address-cells = <1>;
3261 status = "disabled";
3264 blsp2_i2c3: i2c@75b7000 {
3265 compatible = "qcom,i2c-qup-v2.2.1";
3266 reg = <0x075b7000 0x1000>;
3267 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
3268 clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
3269 <&gcc GCC_BLSP2_AHB_CLK>;
3270 clock-names = "core", "iface";
3271 clock-frequency = <400000>;
3272 pinctrl-names = "default", "sleep";
3273 pinctrl-0 = <&blsp2_i2c3_default>;
3274 pinctrl-1 = <&blsp2_i2c3_sleep>;
3275 dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
3276 dma-names = "tx", "rx";
3277 #address-cells = <1>;
3279 status = "disabled";
3282 blsp2_i2c5: i2c@75b9000 {
3283 compatible = "qcom,i2c-qup-v2.2.1";
3284 reg = <0x75b9000 0x1000>;
3285 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
3286 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
3287 <&gcc GCC_BLSP2_AHB_CLK>;
3288 clock-names = "core", "iface";
3289 pinctrl-names = "default";
3290 pinctrl-0 = <&blsp2_i2c5_default>;
3291 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
3292 dma-names = "tx", "rx";
3293 #address-cells = <1>;
3295 status = "disabled";
3298 blsp2_i2c6: i2c@75ba000 {
3299 compatible = "qcom,i2c-qup-v2.2.1";
3300 reg = <0x75ba000 0x1000>;
3301 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3302 clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
3303 <&gcc GCC_BLSP2_AHB_CLK>;
3304 clock-names = "core", "iface";
3305 pinctrl-names = "default", "sleep";
3306 pinctrl-0 = <&blsp2_i2c6_default>;
3307 pinctrl-1 = <&blsp2_i2c6_sleep>;
3308 dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
3309 dma-names = "tx", "rx";
3310 #address-cells = <1>;
3312 status = "disabled";
3315 blsp2_spi6: spi@75ba000 {
3316 compatible = "qcom,spi-qup-v2.2.1";
3317 reg = <0x075ba000 0x600>;
3318 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3319 clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
3320 <&gcc GCC_BLSP2_AHB_CLK>;
3321 clock-names = "core", "iface";
3322 pinctrl-names = "default", "sleep";
3323 pinctrl-0 = <&blsp2_spi6_default>;
3324 pinctrl-1 = <&blsp2_spi6_sleep>;
3325 dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
3326 dma-names = "tx", "rx";
3327 #address-cells = <1>;
3329 status = "disabled";
3333 compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
3334 reg = <0x076f8800 0x400>;
3335 #address-cells = <1>;
3339 clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>,
3340 <&gcc GCC_USB20_MASTER_CLK>,
3341 <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3342 <&gcc GCC_USB20_SLEEP_CLK>,
3343 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
3344 clock-names = "cfg_noc",
3350 assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3351 <&gcc GCC_USB20_MASTER_CLK>;
3352 assigned-clock-rates = <19200000>, <60000000>;
3354 power-domains = <&gcc USB30_GDSC>;
3355 qcom,select-utmi-as-pipe-clk;
3356 status = "disabled";
3358 usb2_dwc3: usb@7600000 {
3359 compatible = "snps,dwc3";
3360 reg = <0x07600000 0xcc00>;
3361 interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>;
3362 phys = <&hsusb_phy2>;
3363 phy-names = "usb2-phy";
3364 maximum-speed = "high-speed";
3365 snps,dis_u2_susphy_quirk;
3366 snps,dis_enblslpm_quirk;
3370 slimbam: dma-controller@9184000 {
3371 compatible = "qcom,bam-v1.7.0";
3372 qcom,controlled-remotely;
3373 reg = <0x09184000 0x32000>;
3374 num-channels = <31>;
3375 interrupts = <0 164 IRQ_TYPE_LEVEL_HIGH>;
3381 slim_msm: slim-ngd@91c0000 {
3382 compatible = "qcom,slim-ngd-v1.5.0";
3383 reg = <0x091c0000 0x2c000>;
3384 interrupts = <0 163 IRQ_TYPE_LEVEL_HIGH>;
3385 dmas = <&slimbam 3>, <&slimbam 4>;
3386 dma-names = "rx", "tx";
3387 #address-cells = <1>;
3390 status = "disabled";
3393 adsp_pil: remoteproc@9300000 {
3394 compatible = "qcom,msm8996-adsp-pil";
3395 reg = <0x09300000 0x80000>;
3397 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
3398 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3399 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3400 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3401 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3402 interrupt-names = "wdog", "fatal", "ready",
3403 "handover", "stop-ack";
3405 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
3408 memory-region = <&adsp_mem>;
3410 qcom,smem-states = <&adsp_smp2p_out 0>;
3411 qcom,smem-state-names = "stop";
3413 power-domains = <&rpmpd MSM8996_VDDCX>;
3414 power-domain-names = "cx";
3416 status = "disabled";
3419 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
3422 mboxes = <&apcs_glb 8>;
3423 qcom,smd-edge = <1>;
3424 qcom,remote-pid = <2>;
3427 power-domains = <&gcc HLOS1_VOTE_LPASS_ADSP_GDSC>;
3428 compatible = "qcom,apr-v2";
3429 qcom,smd-channels = "apr_audio_svc";
3430 qcom,domain = <APR_DOMAIN_ADSP>;
3431 #address-cells = <1>;
3435 reg = <APR_SVC_ADSP_CORE>;
3436 compatible = "qcom,q6core";
3440 compatible = "qcom,q6afe";
3441 reg = <APR_SVC_AFE>;
3443 compatible = "qcom,q6afe-dais";
3444 #address-cells = <1>;
3446 #sound-dai-cells = <1>;
3454 compatible = "qcom,q6asm";
3455 reg = <APR_SVC_ASM>;
3457 compatible = "qcom,q6asm-dais";
3458 #address-cells = <1>;
3460 #sound-dai-cells = <1>;
3461 iommus = <&lpass_q6_smmu 1>;
3466 compatible = "qcom,q6adm";
3467 reg = <APR_SVC_ADM>;
3468 q6routing: routing {
3469 compatible = "qcom,q6adm-routing";
3470 #sound-dai-cells = <0>;
3477 apcs_glb: mailbox@9820000 {
3478 compatible = "qcom,msm8996-apcs-hmss-global";
3479 reg = <0x09820000 0x1000>;
3486 #address-cells = <1>;
3489 compatible = "arm,armv7-timer-mem";
3490 reg = <0x09840000 0x1000>;
3491 clock-frequency = <19200000>;
3495 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
3496 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
3497 reg = <0x09850000 0x1000>,
3498 <0x09860000 0x1000>;
3503 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
3504 reg = <0x09870000 0x1000>;
3505 status = "disabled";
3510 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3511 reg = <0x09880000 0x1000>;
3512 status = "disabled";
3517 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
3518 reg = <0x09890000 0x1000>;
3519 status = "disabled";
3524 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
3525 reg = <0x098a0000 0x1000>;
3526 status = "disabled";
3531 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
3532 reg = <0x098b0000 0x1000>;
3533 status = "disabled";
3538 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
3539 reg = <0x098c0000 0x1000>;
3540 status = "disabled";
3544 saw3: syscon@9a10000 {
3545 compatible = "syscon";
3546 reg = <0x09a10000 0x1000>;
3549 cbf: clock-controller@9a11000 {
3550 compatible = "qcom,msm8996-cbf";
3551 reg = <0x09a11000 0x10000>;
3552 clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&apcs_glb>;
3556 intc: interrupt-controller@9bc0000 {
3557 compatible = "qcom,msm8996-gic-v3", "arm,gic-v3";
3558 #interrupt-cells = <3>;
3559 interrupt-controller;
3560 #redistributor-regions = <1>;
3561 redistributor-stride = <0x0 0x40000>;
3562 reg = <0x09bc0000 0x10000>,
3563 <0x09c00000 0x100000>;
3564 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3573 polling-delay-passive = <250>;
3574 polling-delay = <1000>;
3576 thermal-sensors = <&tsens0 3>;
3579 cpu0_alert0: trip-point0 {
3580 temperature = <75000>;
3581 hysteresis = <2000>;
3585 cpu0_crit: cpu-crit {
3586 temperature = <110000>;
3587 hysteresis = <2000>;
3594 polling-delay-passive = <250>;
3595 polling-delay = <1000>;
3597 thermal-sensors = <&tsens0 5>;
3600 cpu1_alert0: trip-point0 {
3601 temperature = <75000>;
3602 hysteresis = <2000>;
3606 cpu1_crit: cpu-crit {
3607 temperature = <110000>;
3608 hysteresis = <2000>;
3615 polling-delay-passive = <250>;
3616 polling-delay = <1000>;
3618 thermal-sensors = <&tsens0 8>;
3621 cpu2_alert0: trip-point0 {
3622 temperature = <75000>;
3623 hysteresis = <2000>;
3627 cpu2_crit: cpu-crit {
3628 temperature = <110000>;
3629 hysteresis = <2000>;
3636 polling-delay-passive = <250>;
3637 polling-delay = <1000>;
3639 thermal-sensors = <&tsens0 10>;
3642 cpu3_alert0: trip-point0 {
3643 temperature = <75000>;
3644 hysteresis = <2000>;
3648 cpu3_crit: cpu-crit {
3649 temperature = <110000>;
3650 hysteresis = <2000>;
3657 polling-delay-passive = <250>;
3658 polling-delay = <1000>;
3660 thermal-sensors = <&tsens1 6>;
3663 gpu1_alert0: trip-point0 {
3664 temperature = <90000>;
3665 hysteresis = <2000>;
3672 trip = <&gpu1_alert0>;
3673 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3678 gpu-bottom-thermal {
3679 polling-delay-passive = <250>;
3680 polling-delay = <1000>;
3682 thermal-sensors = <&tsens1 7>;
3685 gpu2_alert0: trip-point0 {
3686 temperature = <90000>;
3687 hysteresis = <2000>;
3694 trip = <&gpu2_alert0>;
3695 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3701 polling-delay-passive = <250>;
3702 polling-delay = <1000>;
3704 thermal-sensors = <&tsens0 1>;
3707 m4m_alert0: trip-point0 {
3708 temperature = <90000>;
3709 hysteresis = <2000>;
3715 l3-or-venus-thermal {
3716 polling-delay-passive = <250>;
3717 polling-delay = <1000>;
3719 thermal-sensors = <&tsens0 2>;
3722 l3_or_venus_alert0: trip-point0 {
3723 temperature = <90000>;
3724 hysteresis = <2000>;
3730 cluster0-l2-thermal {
3731 polling-delay-passive = <250>;
3732 polling-delay = <1000>;
3734 thermal-sensors = <&tsens0 7>;
3737 cluster0_l2_alert0: trip-point0 {
3738 temperature = <90000>;
3739 hysteresis = <2000>;
3745 cluster1-l2-thermal {
3746 polling-delay-passive = <250>;
3747 polling-delay = <1000>;
3749 thermal-sensors = <&tsens0 12>;
3752 cluster1_l2_alert0: trip-point0 {
3753 temperature = <90000>;
3754 hysteresis = <2000>;
3761 polling-delay-passive = <250>;
3762 polling-delay = <1000>;
3764 thermal-sensors = <&tsens1 1>;
3767 camera_alert0: trip-point0 {
3768 temperature = <90000>;
3769 hysteresis = <2000>;
3776 polling-delay-passive = <250>;
3777 polling-delay = <1000>;
3779 thermal-sensors = <&tsens1 2>;
3782 q6_dsp_alert0: trip-point0 {
3783 temperature = <90000>;
3784 hysteresis = <2000>;
3791 polling-delay-passive = <250>;
3792 polling-delay = <1000>;
3794 thermal-sensors = <&tsens1 3>;
3797 mem_alert0: trip-point0 {
3798 temperature = <90000>;
3799 hysteresis = <2000>;
3806 polling-delay-passive = <250>;
3807 polling-delay = <1000>;
3809 thermal-sensors = <&tsens1 4>;
3812 modemtx_alert0: trip-point0 {
3813 temperature = <90000>;
3814 hysteresis = <2000>;
3822 compatible = "arm,armv8-timer";
3823 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
3824 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
3825 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
3826 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;