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/interconnect/qcom,msm8996-cbf.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/power/qcom-rpmpd.h>
14 #include <dt-bindings/soc/qcom,apr.h>
15 #include <dt-bindings/thermal/thermal.h>
18 interrupt-parent = <&intc>;
27 compatible = "fixed-clock";
29 clock-frequency = <19200000>;
30 clock-output-names = "xo_board";
33 sleep_clk: sleep-clk {
34 compatible = "fixed-clock";
36 clock-frequency = <32764>;
37 clock-output-names = "sleep_clk";
47 compatible = "qcom,kryo";
49 enable-method = "psci";
50 cpu-idle-states = <&CPU_SLEEP_0>;
51 capacity-dmips-mhz = <1024>;
53 interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
54 operating-points-v2 = <&cluster0_opp>;
56 next-level-cache = <&L2_0>;
66 compatible = "qcom,kryo";
68 enable-method = "psci";
69 cpu-idle-states = <&CPU_SLEEP_0>;
70 capacity-dmips-mhz = <1024>;
72 interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
73 operating-points-v2 = <&cluster0_opp>;
75 next-level-cache = <&L2_0>;
80 compatible = "qcom,kryo";
82 enable-method = "psci";
83 cpu-idle-states = <&CPU_SLEEP_0>;
84 capacity-dmips-mhz = <1024>;
86 interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
87 operating-points-v2 = <&cluster1_opp>;
89 next-level-cache = <&L2_1>;
99 compatible = "qcom,kryo";
101 enable-method = "psci";
102 cpu-idle-states = <&CPU_SLEEP_0>;
103 capacity-dmips-mhz = <1024>;
104 clocks = <&kryocc 1>;
105 interconnects = <&cbf MASTER_CBF_M4M &cbf SLAVE_CBF_M4M>;
106 operating-points-v2 = <&cluster1_opp>;
107 #cooling-cells = <2>;
108 next-level-cache = <&L2_1>;
134 entry-method = "psci";
136 CPU_SLEEP_0: cpu-sleep-0 {
137 compatible = "arm,idle-state";
138 idle-state-name = "standalone-power-collapse";
139 arm,psci-suspend-param = <0x00000004>;
140 entry-latency-us = <130>;
141 exit-latency-us = <80>;
142 min-residency-us = <300>;
147 cluster0_opp: opp-table-cluster0 {
148 compatible = "operating-points-v2-kryo-cpu";
149 nvmem-cells = <&speedbin_efuse>;
152 /* Nominal fmax for now */
154 opp-hz = /bits/ 64 <307200000>;
155 opp-supported-hw = <0xf>;
156 clock-latency-ns = <200000>;
157 opp-peak-kBps = <307200>;
160 opp-hz = /bits/ 64 <422400000>;
161 opp-supported-hw = <0xf>;
162 clock-latency-ns = <200000>;
163 opp-peak-kBps = <307200>;
166 opp-hz = /bits/ 64 <480000000>;
167 opp-supported-hw = <0xf>;
168 clock-latency-ns = <200000>;
169 opp-peak-kBps = <307200>;
172 opp-hz = /bits/ 64 <556800000>;
173 opp-supported-hw = <0xf>;
174 clock-latency-ns = <200000>;
175 opp-peak-kBps = <307200>;
178 opp-hz = /bits/ 64 <652800000>;
179 opp-supported-hw = <0xf>;
180 clock-latency-ns = <200000>;
181 opp-peak-kBps = <384000>;
184 opp-hz = /bits/ 64 <729600000>;
185 opp-supported-hw = <0xf>;
186 clock-latency-ns = <200000>;
187 opp-peak-kBps = <460800>;
190 opp-hz = /bits/ 64 <844800000>;
191 opp-supported-hw = <0xf>;
192 clock-latency-ns = <200000>;
193 opp-peak-kBps = <537600>;
196 opp-hz = /bits/ 64 <960000000>;
197 opp-supported-hw = <0xf>;
198 clock-latency-ns = <200000>;
199 opp-peak-kBps = <672000>;
202 opp-hz = /bits/ 64 <1036800000>;
203 opp-supported-hw = <0xf>;
204 clock-latency-ns = <200000>;
205 opp-peak-kBps = <672000>;
208 opp-hz = /bits/ 64 <1113600000>;
209 opp-supported-hw = <0xf>;
210 clock-latency-ns = <200000>;
211 opp-peak-kBps = <825600>;
214 opp-hz = /bits/ 64 <1190400000>;
215 opp-supported-hw = <0xf>;
216 clock-latency-ns = <200000>;
217 opp-peak-kBps = <825600>;
220 opp-hz = /bits/ 64 <1228800000>;
221 opp-supported-hw = <0xf>;
222 clock-latency-ns = <200000>;
223 opp-peak-kBps = <902400>;
226 opp-hz = /bits/ 64 <1324800000>;
227 opp-supported-hw = <0xd>;
228 clock-latency-ns = <200000>;
229 opp-peak-kBps = <1056000>;
232 opp-hz = /bits/ 64 <1363200000>;
233 opp-supported-hw = <0x2>;
234 clock-latency-ns = <200000>;
235 opp-peak-kBps = <1132800>;
238 opp-hz = /bits/ 64 <1401600000>;
239 opp-supported-hw = <0xd>;
240 clock-latency-ns = <200000>;
241 opp-peak-kBps = <1132800>;
244 opp-hz = /bits/ 64 <1478400000>;
245 opp-supported-hw = <0x9>;
246 clock-latency-ns = <200000>;
247 opp-peak-kBps = <1190400>;
250 opp-hz = /bits/ 64 <1497600000>;
251 opp-supported-hw = <0x04>;
252 clock-latency-ns = <200000>;
253 opp-peak-kBps = <1305600>;
256 opp-hz = /bits/ 64 <1593600000>;
257 opp-supported-hw = <0x9>;
258 clock-latency-ns = <200000>;
259 opp-peak-kBps = <1382400>;
263 cluster1_opp: opp-table-cluster1 {
264 compatible = "operating-points-v2-kryo-cpu";
265 nvmem-cells = <&speedbin_efuse>;
268 /* Nominal fmax for now */
270 opp-hz = /bits/ 64 <307200000>;
271 opp-supported-hw = <0xf>;
272 clock-latency-ns = <200000>;
273 opp-peak-kBps = <307200>;
276 opp-hz = /bits/ 64 <403200000>;
277 opp-supported-hw = <0xf>;
278 clock-latency-ns = <200000>;
279 opp-peak-kBps = <307200>;
282 opp-hz = /bits/ 64 <480000000>;
283 opp-supported-hw = <0xf>;
284 clock-latency-ns = <200000>;
285 opp-peak-kBps = <307200>;
288 opp-hz = /bits/ 64 <556800000>;
289 opp-supported-hw = <0xf>;
290 clock-latency-ns = <200000>;
291 opp-peak-kBps = <307200>;
294 opp-hz = /bits/ 64 <652800000>;
295 opp-supported-hw = <0xf>;
296 clock-latency-ns = <200000>;
297 opp-peak-kBps = <307200>;
300 opp-hz = /bits/ 64 <729600000>;
301 opp-supported-hw = <0xf>;
302 clock-latency-ns = <200000>;
303 opp-peak-kBps = <307200>;
306 opp-hz = /bits/ 64 <806400000>;
307 opp-supported-hw = <0xf>;
308 clock-latency-ns = <200000>;
309 opp-peak-kBps = <384000>;
312 opp-hz = /bits/ 64 <883200000>;
313 opp-supported-hw = <0xf>;
314 clock-latency-ns = <200000>;
315 opp-peak-kBps = <460800>;
318 opp-hz = /bits/ 64 <940800000>;
319 opp-supported-hw = <0xf>;
320 clock-latency-ns = <200000>;
321 opp-peak-kBps = <537600>;
324 opp-hz = /bits/ 64 <1036800000>;
325 opp-supported-hw = <0xf>;
326 clock-latency-ns = <200000>;
327 opp-peak-kBps = <595200>;
330 opp-hz = /bits/ 64 <1113600000>;
331 opp-supported-hw = <0xf>;
332 clock-latency-ns = <200000>;
333 opp-peak-kBps = <672000>;
336 opp-hz = /bits/ 64 <1190400000>;
337 opp-supported-hw = <0xf>;
338 clock-latency-ns = <200000>;
339 opp-peak-kBps = <672000>;
342 opp-hz = /bits/ 64 <1248000000>;
343 opp-supported-hw = <0xf>;
344 clock-latency-ns = <200000>;
345 opp-peak-kBps = <748800>;
348 opp-hz = /bits/ 64 <1324800000>;
349 opp-supported-hw = <0xf>;
350 clock-latency-ns = <200000>;
351 opp-peak-kBps = <825600>;
354 opp-hz = /bits/ 64 <1401600000>;
355 opp-supported-hw = <0xf>;
356 clock-latency-ns = <200000>;
357 opp-peak-kBps = <902400>;
360 opp-hz = /bits/ 64 <1478400000>;
361 opp-supported-hw = <0xf>;
362 clock-latency-ns = <200000>;
363 opp-peak-kBps = <979200>;
366 opp-hz = /bits/ 64 <1555200000>;
367 opp-supported-hw = <0xf>;
368 clock-latency-ns = <200000>;
369 opp-peak-kBps = <1056000>;
372 opp-hz = /bits/ 64 <1632000000>;
373 opp-supported-hw = <0xf>;
374 clock-latency-ns = <200000>;
375 opp-peak-kBps = <1190400>;
378 opp-hz = /bits/ 64 <1708800000>;
379 opp-supported-hw = <0xf>;
380 clock-latency-ns = <200000>;
381 opp-peak-kBps = <1228800>;
384 opp-hz = /bits/ 64 <1785600000>;
385 opp-supported-hw = <0xf>;
386 clock-latency-ns = <200000>;
387 opp-peak-kBps = <1305600>;
390 opp-hz = /bits/ 64 <1804800000>;
391 opp-supported-hw = <0xe>;
392 clock-latency-ns = <200000>;
393 opp-peak-kBps = <1305600>;
396 opp-hz = /bits/ 64 <1824000000>;
397 opp-supported-hw = <0x1>;
398 clock-latency-ns = <200000>;
399 opp-peak-kBps = <1382400>;
402 opp-hz = /bits/ 64 <1900800000>;
403 opp-supported-hw = <0x4>;
404 clock-latency-ns = <200000>;
405 opp-peak-kBps = <1305600>;
408 opp-hz = /bits/ 64 <1920000000>;
409 opp-supported-hw = <0x1>;
410 clock-latency-ns = <200000>;
411 opp-peak-kBps = <1459200>;
414 opp-hz = /bits/ 64 <1996800000>;
415 opp-supported-hw = <0x1>;
416 clock-latency-ns = <200000>;
417 opp-peak-kBps = <1593600>;
420 opp-hz = /bits/ 64 <2073600000>;
421 opp-supported-hw = <0x1>;
422 clock-latency-ns = <200000>;
423 opp-peak-kBps = <1593600>;
426 opp-hz = /bits/ 64 <2150400000>;
427 opp-supported-hw = <0x1>;
428 clock-latency-ns = <200000>;
429 opp-peak-kBps = <1593600>;
435 compatible = "qcom,scm-msm8996", "qcom,scm";
436 qcom,dload-mode = <&tcsr_2 0x13000>;
441 device_type = "memory";
442 /* We expect the bootloader to fill in the reg */
443 reg = <0x0 0x80000000 0x0 0x0>;
447 compatible = "arm,psci-1.0";
452 compatible = "qcom,msm8996-rpm-proc", "qcom,rpm-proc";
455 compatible = "qcom,glink-rpm";
456 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
457 qcom,rpm-msg-ram = <&rpm_msg_ram>;
458 mboxes = <&apcs_glb 0>;
460 rpm_requests: rpm-requests {
461 compatible = "qcom,rpm-msm8996";
462 qcom,glink-channels = "rpm_requests";
464 rpmcc: clock-controller {
465 compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
467 clocks = <&xo_board>;
471 rpmpd: power-controller {
472 compatible = "qcom,msm8996-rpmpd";
473 #power-domain-cells = <1>;
474 operating-points-v2 = <&rpmpd_opp_table>;
476 rpmpd_opp_table: opp-table {
477 compatible = "operating-points-v2";
509 #address-cells = <2>;
513 hyp_mem: memory@85800000 {
514 reg = <0x0 0x85800000 0x0 0x600000>;
518 xbl_mem: memory@85e00000 {
519 reg = <0x0 0x85e00000 0x0 0x200000>;
523 smem_mem: smem-mem@86000000 {
524 reg = <0x0 0x86000000 0x0 0x200000>;
528 tz_mem: memory@86200000 {
529 reg = <0x0 0x86200000 0x0 0x2600000>;
534 compatible = "qcom,rmtfs-mem";
536 size = <0x0 0x200000>;
537 alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
540 qcom,client-id = <1>;
544 mpss_mem: mpss@88800000 {
545 reg = <0x0 0x88800000 0x0 0x6200000>;
549 adsp_mem: adsp@8ea00000 {
550 reg = <0x0 0x8ea00000 0x0 0x1b00000>;
554 slpi_mem: slpi@90500000 {
555 reg = <0x0 0x90500000 0x0 0xa00000>;
559 gpu_mem: gpu@90f00000 {
560 compatible = "shared-dma-pool";
561 reg = <0x0 0x90f00000 0x0 0x100000>;
565 venus_mem: venus@91000000 {
566 reg = <0x0 0x91000000 0x0 0x500000>;
570 mba_mem: mba@91500000 {
571 reg = <0x0 0x91500000 0x0 0x200000>;
575 mdata_mem: mpss-metadata {
576 alloc-ranges = <0x0 0xa0000000 0x0 0x20000000>;
583 compatible = "qcom,smem";
584 memory-region = <&smem_mem>;
585 hwlocks = <&tcsr_mutex 3>;
589 compatible = "qcom,smp2p";
590 qcom,smem = <443>, <429>;
592 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
594 mboxes = <&apcs_glb 10>;
596 qcom,local-pid = <0>;
597 qcom,remote-pid = <2>;
599 adsp_smp2p_out: master-kernel {
600 qcom,entry-name = "master-kernel";
601 #qcom,smem-state-cells = <1>;
604 adsp_smp2p_in: slave-kernel {
605 qcom,entry-name = "slave-kernel";
607 interrupt-controller;
608 #interrupt-cells = <2>;
613 compatible = "qcom,smp2p";
614 qcom,smem = <435>, <428>;
616 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
618 mboxes = <&apcs_glb 14>;
620 qcom,local-pid = <0>;
621 qcom,remote-pid = <1>;
623 mpss_smp2p_out: master-kernel {
624 qcom,entry-name = "master-kernel";
625 #qcom,smem-state-cells = <1>;
628 mpss_smp2p_in: slave-kernel {
629 qcom,entry-name = "slave-kernel";
631 interrupt-controller;
632 #interrupt-cells = <2>;
637 compatible = "qcom,smp2p";
638 qcom,smem = <481>, <430>;
640 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
642 mboxes = <&apcs_glb 26>;
644 qcom,local-pid = <0>;
645 qcom,remote-pid = <3>;
647 slpi_smp2p_out: master-kernel {
648 qcom,entry-name = "master-kernel";
649 #qcom,smem-state-cells = <1>;
652 slpi_smp2p_in: slave-kernel {
653 qcom,entry-name = "slave-kernel";
655 interrupt-controller;
656 #interrupt-cells = <2>;
661 #address-cells = <1>;
663 ranges = <0 0 0 0xffffffff>;
664 compatible = "simple-bus";
666 pcie_phy: phy-wrapper@34000 {
667 compatible = "qcom,msm8996-qmp-pcie-phy";
668 reg = <0x00034000 0x488>;
669 #address-cells = <1>;
671 ranges = <0x0 0x00034000 0x4000>;
673 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
674 <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
675 <&gcc GCC_PCIE_CLKREF_CLK>;
676 clock-names = "aux", "cfg_ahb", "ref";
678 resets = <&gcc GCC_PCIE_PHY_BCR>,
679 <&gcc GCC_PCIE_PHY_COM_BCR>,
680 <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
681 reset-names = "phy", "common", "cfg";
685 pciephy_0: phy@1000 {
686 reg = <0x1000 0x130>,
690 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
691 clock-names = "pipe0";
692 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
693 reset-names = "lane0";
696 clock-output-names = "pcie_0_pipe_clk_src";
701 pciephy_1: phy@2000 {
702 reg = <0x2000 0x130>,
706 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
707 clock-names = "pipe1";
708 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
709 reset-names = "lane1";
712 clock-output-names = "pcie_1_pipe_clk_src";
717 pciephy_2: phy@3000 {
718 reg = <0x3000 0x130>,
722 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
723 clock-names = "pipe2";
724 resets = <&gcc GCC_PCIE_2_PHY_BCR>;
725 reset-names = "lane2";
728 clock-output-names = "pcie_2_pipe_clk_src";
734 rpm_msg_ram: sram@68000 {
735 compatible = "qcom,rpm-msg-ram";
736 reg = <0x00068000 0x6000>;
740 compatible = "qcom,msm8996-qfprom", "qcom,qfprom";
741 reg = <0x00074000 0x8ff>;
742 #address-cells = <1>;
745 qusb2p_hstx_trim: hstx_trim@24e {
750 qusb2s_hstx_trim: hstx_trim@24f {
755 speedbin_efuse: speedbin@133 {
762 compatible = "qcom,prng-ee";
763 reg = <0x00083000 0x1000>;
764 clocks = <&gcc GCC_PRNG_AHB_CLK>;
765 clock-names = "core";
768 gcc: clock-controller@300000 {
769 compatible = "qcom,gcc-msm8996";
772 #power-domain-cells = <1>;
773 reg = <0x00300000 0x90000>;
775 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
776 <&rpmcc RPM_SMD_LN_BB_CLK>,
788 "pcie_0_pipe_clk_src",
789 "pcie_1_pipe_clk_src",
790 "pcie_2_pipe_clk_src",
791 "usb3_phy_pipe_clk_src",
792 "ufs_rx_symbol_0_clk_src",
793 "ufs_rx_symbol_1_clk_src",
794 "ufs_tx_symbol_0_clk_src";
797 bimc: interconnect@408000 {
798 compatible = "qcom,msm8996-bimc";
799 reg = <0x00408000 0x5a000>;
800 #interconnect-cells = <1>;
801 clock-names = "bus", "bus_a";
802 clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
803 <&rpmcc RPM_SMD_BIMC_A_CLK>;
806 tsens0: thermal-sensor@4a9000 {
807 compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
808 reg = <0x004a9000 0x1000>, /* TM */
809 <0x004a8000 0x1000>; /* SROT */
810 #qcom,sensors = <13>;
811 interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
812 <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
813 interrupt-names = "uplow", "critical";
814 #thermal-sensor-cells = <1>;
817 tsens1: thermal-sensor@4ad000 {
818 compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
819 reg = <0x004ad000 0x1000>, /* TM */
820 <0x004ac000 0x1000>; /* SROT */
822 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
823 <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
824 interrupt-names = "uplow", "critical";
825 #thermal-sensor-cells = <1>;
828 cryptobam: dma-controller@644000 {
829 compatible = "qcom,bam-v1.7.0";
830 reg = <0x00644000 0x24000>;
831 interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
832 clocks = <&gcc GCC_CE1_CLK>;
833 clock-names = "bam_clk";
836 qcom,controlled-remotely;
839 crypto: crypto@67a000 {
840 compatible = "qcom,crypto-v5.4";
841 reg = <0x0067a000 0x6000>;
842 clocks = <&gcc GCC_CE1_AHB_CLK>,
843 <&gcc GCC_CE1_AXI_CLK>,
845 clock-names = "iface", "bus", "core";
846 dmas = <&cryptobam 6>, <&cryptobam 7>;
847 dma-names = "rx", "tx";
850 cnoc: interconnect@500000 {
851 compatible = "qcom,msm8996-cnoc";
852 reg = <0x00500000 0x1000>;
853 #interconnect-cells = <1>;
854 clock-names = "bus", "bus_a";
855 clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
856 <&rpmcc RPM_SMD_CNOC_A_CLK>;
859 snoc: interconnect@524000 {
860 compatible = "qcom,msm8996-snoc";
861 reg = <0x00524000 0x1c000>;
862 #interconnect-cells = <1>;
863 clock-names = "bus", "bus_a";
864 clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
865 <&rpmcc RPM_SMD_SNOC_A_CLK>;
868 a0noc: interconnect@543000 {
869 compatible = "qcom,msm8996-a0noc";
870 reg = <0x00543000 0x6000>;
871 #interconnect-cells = <1>;
872 clock-names = "aggre0_snoc_axi",
874 "aggre0_noc_mpu_cfg";
875 clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
876 <&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
877 <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
878 power-domains = <&gcc AGGRE0_NOC_GDSC>;
881 a1noc: interconnect@562000 {
882 compatible = "qcom,msm8996-a1noc";
883 reg = <0x00562000 0x5000>;
884 #interconnect-cells = <1>;
885 clock-names = "bus", "bus_a";
886 clocks = <&rpmcc RPM_SMD_AGGR1_NOC_CLK>,
887 <&rpmcc RPM_SMD_AGGR1_NOC_A_CLK>;
890 a2noc: interconnect@583000 {
891 compatible = "qcom,msm8996-a2noc";
892 reg = <0x00583000 0x7000>;
893 #interconnect-cells = <1>;
894 clock-names = "bus", "bus_a", "aggre2_ufs_axi", "ufs_axi";
895 clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
896 <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>,
897 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
898 <&gcc GCC_UFS_AXI_CLK>;
901 mnoc: interconnect@5a4000 {
902 compatible = "qcom,msm8996-mnoc";
903 reg = <0x005a4000 0x1c000>;
904 #interconnect-cells = <1>;
905 clock-names = "bus", "bus_a", "iface";
906 clocks = <&rpmcc RPM_SMD_MMAXI_CLK>,
907 <&rpmcc RPM_SMD_MMAXI_A_CLK>,
911 pnoc: interconnect@5c0000 {
912 compatible = "qcom,msm8996-pnoc";
913 reg = <0x005c0000 0x3000>;
914 #interconnect-cells = <1>;
915 clock-names = "bus", "bus_a";
916 clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
917 <&rpmcc RPM_SMD_PCNOC_A_CLK>;
920 tcsr_mutex: hwlock@740000 {
921 compatible = "qcom,tcsr-mutex";
922 reg = <0x00740000 0x20000>;
926 tcsr_1: syscon@760000 {
927 compatible = "qcom,tcsr-msm8996", "syscon";
928 reg = <0x00760000 0x20000>;
931 tcsr_2: syscon@7a0000 {
932 compatible = "qcom,tcsr-msm8996", "syscon";
933 reg = <0x007a0000 0x18000>;
936 mmcc: clock-controller@8c0000 {
937 compatible = "qcom,mmcc-msm8996";
940 #power-domain-cells = <1>;
941 reg = <0x008c0000 0x40000>;
942 clocks = <&xo_board>,
944 <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
952 "gcc_mmss_noc_cfg_ahb_clk",
958 assigned-clocks = <&mmcc MMPLL9_PLL>,
963 assigned-clock-rates = <624000000>,
970 mdss: display-subsystem@900000 {
971 compatible = "qcom,mdss";
973 reg = <0x00900000 0x1000>,
976 reg-names = "mdss_phys",
980 power-domains = <&mmcc MDSS_GDSC>;
981 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
983 interrupt-controller;
984 #interrupt-cells = <1>;
986 clocks = <&mmcc MDSS_AHB_CLK>,
987 <&mmcc MDSS_MDP_CLK>;
988 clock-names = "iface", "core";
990 #address-cells = <1>;
996 mdp: display-controller@901000 {
997 compatible = "qcom,msm8996-mdp5", "qcom,mdp5";
998 reg = <0x00901000 0x90000>;
999 reg-names = "mdp_phys";
1001 interrupt-parent = <&mdss>;
1004 clocks = <&mmcc MDSS_AHB_CLK>,
1005 <&mmcc MDSS_AXI_CLK>,
1006 <&mmcc MDSS_MDP_CLK>,
1007 <&mmcc SMMU_MDP_AXI_CLK>,
1008 <&mmcc MDSS_VSYNC_CLK>;
1009 clock-names = "iface",
1015 iommus = <&mdp_smmu 0>;
1017 assigned-clocks = <&mmcc MDSS_MDP_CLK>,
1018 <&mmcc MDSS_VSYNC_CLK>;
1019 assigned-clock-rates = <300000000>,
1022 interconnects = <&mnoc MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
1023 <&mnoc MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>,
1024 <&mnoc MASTER_ROTATOR &bimc SLAVE_EBI_CH0>;
1025 interconnect-names = "mdp0-mem", "mdp1-mem", "rotator-mem";
1028 #address-cells = <1>;
1033 mdp5_intf3_out: endpoint {
1034 remote-endpoint = <&mdss_hdmi_in>;
1040 mdp5_intf1_out: endpoint {
1041 remote-endpoint = <&mdss_dsi0_in>;
1047 mdp5_intf2_out: endpoint {
1048 remote-endpoint = <&mdss_dsi1_in>;
1054 mdss_dsi0: dsi@994000 {
1055 compatible = "qcom,msm8996-dsi-ctrl",
1056 "qcom,mdss-dsi-ctrl";
1057 reg = <0x00994000 0x400>;
1058 reg-names = "dsi_ctrl";
1060 interrupt-parent = <&mdss>;
1063 clocks = <&mmcc MDSS_MDP_CLK>,
1064 <&mmcc MDSS_BYTE0_CLK>,
1065 <&mmcc MDSS_AHB_CLK>,
1066 <&mmcc MDSS_AXI_CLK>,
1067 <&mmcc MMSS_MISC_AHB_CLK>,
1068 <&mmcc MDSS_PCLK0_CLK>,
1069 <&mmcc MDSS_ESC0_CLK>;
1070 clock-names = "mdp_core",
1077 assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
1078 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
1080 phys = <&mdss_dsi0_phy>;
1081 status = "disabled";
1083 #address-cells = <1>;
1087 #address-cells = <1>;
1092 mdss_dsi0_in: endpoint {
1093 remote-endpoint = <&mdp5_intf1_out>;
1099 mdss_dsi0_out: endpoint {
1105 mdss_dsi0_phy: phy@994400 {
1106 compatible = "qcom,dsi-phy-14nm";
1107 reg = <0x00994400 0x100>,
1110 reg-names = "dsi_phy",
1117 clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1118 clock-names = "iface", "ref";
1119 status = "disabled";
1122 mdss_dsi1: dsi@996000 {
1123 compatible = "qcom,msm8996-dsi-ctrl",
1124 "qcom,mdss-dsi-ctrl";
1125 reg = <0x00996000 0x400>;
1126 reg-names = "dsi_ctrl";
1128 interrupt-parent = <&mdss>;
1131 clocks = <&mmcc MDSS_MDP_CLK>,
1132 <&mmcc MDSS_BYTE1_CLK>,
1133 <&mmcc MDSS_AHB_CLK>,
1134 <&mmcc MDSS_AXI_CLK>,
1135 <&mmcc MMSS_MISC_AHB_CLK>,
1136 <&mmcc MDSS_PCLK1_CLK>,
1137 <&mmcc MDSS_ESC1_CLK>;
1138 clock-names = "mdp_core",
1145 assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
1146 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
1148 phys = <&mdss_dsi1_phy>;
1149 status = "disabled";
1151 #address-cells = <1>;
1155 #address-cells = <1>;
1160 mdss_dsi1_in: endpoint {
1161 remote-endpoint = <&mdp5_intf2_out>;
1167 mdss_dsi1_out: endpoint {
1173 mdss_dsi1_phy: phy@996400 {
1174 compatible = "qcom,dsi-phy-14nm";
1175 reg = <0x00996400 0x100>,
1178 reg-names = "dsi_phy",
1185 clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1186 clock-names = "iface", "ref";
1187 status = "disabled";
1190 mdss_hdmi: hdmi-tx@9a0000 {
1191 compatible = "qcom,hdmi-tx-8996";
1192 reg = <0x009a0000 0x50c>,
1193 <0x00070000 0x6158>,
1195 reg-names = "core_physical",
1199 interrupt-parent = <&mdss>;
1202 clocks = <&mmcc MDSS_MDP_CLK>,
1203 <&mmcc MDSS_AHB_CLK>,
1204 <&mmcc MDSS_HDMI_CLK>,
1205 <&mmcc MDSS_HDMI_AHB_CLK>,
1206 <&mmcc MDSS_EXTPCLK_CLK>;
1214 phys = <&mdss_hdmi_phy>;
1215 #sound-dai-cells = <1>;
1217 status = "disabled";
1220 #address-cells = <1>;
1225 mdss_hdmi_in: endpoint {
1226 remote-endpoint = <&mdp5_intf3_out>;
1232 mdss_hdmi_phy: phy@9a0600 {
1234 compatible = "qcom,hdmi-phy-8996";
1235 reg = <0x009a0600 0x1c4>,
1241 reg-names = "hdmi_pll",
1248 clocks = <&mmcc MDSS_AHB_CLK>,
1249 <&gcc GCC_HDMI_CLKREF_CLK>,
1251 clock-names = "iface",
1257 status = "disabled";
1262 compatible = "qcom,adreno-530.2", "qcom,adreno";
1264 reg = <0x00b00000 0x3f000>;
1265 reg-names = "kgsl_3d0_reg_memory";
1267 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1269 clocks = <&mmcc GPU_GX_GFX3D_CLK>,
1270 <&mmcc GPU_AHB_CLK>,
1271 <&mmcc GPU_GX_RBBMTIMER_CLK>,
1272 <&gcc GCC_BIMC_GFX_CLK>,
1273 <&gcc GCC_MMSS_BIMC_GFX_CLK>;
1275 clock-names = "core",
1281 interconnects = <&bimc MASTER_GRAPHICS_3D &bimc SLAVE_EBI_CH0>;
1282 interconnect-names = "gfx-mem";
1284 power-domains = <&mmcc GPU_GX_GDSC>;
1285 iommus = <&adreno_smmu 0>;
1287 nvmem-cells = <&speedbin_efuse>;
1288 nvmem-cell-names = "speed_bin";
1290 operating-points-v2 = <&gpu_opp_table>;
1292 status = "disabled";
1294 #cooling-cells = <2>;
1296 gpu_opp_table: opp-table {
1297 compatible = "operating-points-v2";
1300 * 624Mhz is only available on speed bins 0 and 3.
1301 * 560Mhz is only available on speed bins 0, 2 and 3.
1302 * All the rest are available on all bins of the hardware.
1305 opp-hz = /bits/ 64 <624000000>;
1306 opp-supported-hw = <0x09>;
1309 opp-hz = /bits/ 64 <560000000>;
1310 opp-supported-hw = <0x0d>;
1313 opp-hz = /bits/ 64 <510000000>;
1314 opp-supported-hw = <0xff>;
1317 opp-hz = /bits/ 64 <401800000>;
1318 opp-supported-hw = <0xff>;
1321 opp-hz = /bits/ 64 <315000000>;
1322 opp-supported-hw = <0xff>;
1325 opp-hz = /bits/ 64 <214000000>;
1326 opp-supported-hw = <0xff>;
1329 opp-hz = /bits/ 64 <133000000>;
1330 opp-supported-hw = <0xff>;
1335 memory-region = <&gpu_mem>;
1339 tlmm: pinctrl@1010000 {
1340 compatible = "qcom,msm8996-pinctrl";
1341 reg = <0x01010000 0x300000>;
1342 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1344 gpio-ranges = <&tlmm 0 0 150>;
1346 interrupt-controller;
1347 #interrupt-cells = <2>;
1349 blsp1_spi1_default: blsp1-spi1-default-state {
1351 pins = "gpio0", "gpio1", "gpio3";
1352 function = "blsp_spi1";
1353 drive-strength = <12>;
1360 drive-strength = <16>;
1366 blsp1_spi1_sleep: blsp1-spi1-sleep-state {
1367 pins = "gpio0", "gpio1", "gpio2", "gpio3";
1369 drive-strength = <2>;
1373 blsp2_uart2_2pins_default: blsp2-uart2-2pins-state {
1374 pins = "gpio4", "gpio5";
1375 function = "blsp_uart8";
1376 drive-strength = <16>;
1380 blsp2_uart2_2pins_sleep: blsp2-uart2-2pins-sleep-state {
1381 pins = "gpio4", "gpio5";
1383 drive-strength = <2>;
1387 blsp2_i2c2_default: blsp2-i2c2-state {
1388 pins = "gpio6", "gpio7";
1389 function = "blsp_i2c8";
1390 drive-strength = <16>;
1394 blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
1395 pins = "gpio6", "gpio7";
1397 drive-strength = <2>;
1401 blsp1_i2c6_default: blsp1-i2c6-state {
1402 pins = "gpio27", "gpio28";
1403 function = "blsp_i2c6";
1404 drive-strength = <16>;
1408 blsp1_i2c6_sleep: blsp1-i2c6-sleep-state {
1409 pins = "gpio27", "gpio28";
1411 drive-strength = <2>;
1415 cci0_default: cci0-default-state {
1416 pins = "gpio17", "gpio18";
1417 function = "cci_i2c";
1418 drive-strength = <16>;
1423 camera_rear_default: camera-rear-default-state {
1424 camera0_mclk: mclk0-pins {
1426 function = "cam_mclk";
1427 drive-strength = <16>;
1431 camera0_rst: rst-pins {
1434 drive-strength = <16>;
1438 camera0_pwdn: pwdn-pins {
1441 drive-strength = <16>;
1446 cci1_default: cci1-default-state {
1447 pins = "gpio19", "gpio20";
1448 function = "cci_i2c";
1449 drive-strength = <16>;
1454 camera_board_default: camera-board-default-state {
1457 function = "cam_mclk";
1458 drive-strength = <16>;
1465 drive-strength = <16>;
1472 drive-strength = <16>;
1478 camera_front_default: camera-front-default-state {
1479 camera2_mclk: mclk2-pins {
1481 function = "cam_mclk";
1482 drive-strength = <16>;
1486 camera2_rst: rst-pins {
1489 drive-strength = <16>;
1496 drive-strength = <16>;
1501 pcie0_state_on: pcie0-state-on-state {
1505 drive-strength = <2>;
1511 function = "pci_e0";
1512 drive-strength = <2>;
1519 drive-strength = <2>;
1524 pcie0_state_off: pcie0-state-off-state {
1528 drive-strength = <2>;
1535 drive-strength = <2>;
1542 drive-strength = <2>;
1547 blsp1_uart2_default: blsp1-uart2-default-state {
1548 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1549 function = "blsp_uart2";
1550 drive-strength = <16>;
1554 blsp1_uart2_sleep: blsp1-uart2-sleep-state {
1555 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1557 drive-strength = <2>;
1561 blsp1_i2c3_default: blsp1-i2c3-default-state {
1562 pins = "gpio47", "gpio48";
1563 function = "blsp_i2c3";
1564 drive-strength = <16>;
1568 blsp1_i2c3_sleep: blsp1-i2c3-sleep-state {
1569 pins = "gpio47", "gpio48";
1571 drive-strength = <2>;
1575 blsp2_uart3_4pins_default: blsp2-uart3-4pins-state {
1576 pins = "gpio49", "gpio50", "gpio51", "gpio52";
1577 function = "blsp_uart9";
1578 drive-strength = <16>;
1582 blsp2_uart3_4pins_sleep: blsp2-uart3-4pins-sleep-state {
1583 pins = "gpio49", "gpio50", "gpio51", "gpio52";
1584 function = "blsp_uart9";
1585 drive-strength = <2>;
1589 blsp2_i2c3_default: blsp2-i2c3-state-state {
1590 pins = "gpio51", "gpio52";
1591 function = "blsp_i2c9";
1592 drive-strength = <16>;
1596 blsp2_i2c3_sleep: blsp2-i2c3-sleep-state {
1597 pins = "gpio51", "gpio52";
1599 drive-strength = <2>;
1603 wcd_intr_default: wcd-intr-default-state {
1606 drive-strength = <2>;
1610 blsp2_i2c1_default: blsp2-i2c1-state {
1611 pins = "gpio55", "gpio56";
1612 function = "blsp_i2c7";
1613 drive-strength = <16>;
1617 blsp2_i2c1_sleep: blsp2-i2c1-sleep-state {
1618 pins = "gpio55", "gpio56";
1620 drive-strength = <2>;
1624 blsp2_i2c5_default: blsp2-i2c5-state {
1625 pins = "gpio60", "gpio61";
1626 function = "blsp_i2c11";
1627 drive-strength = <2>;
1631 /* Sleep state for BLSP2_I2C5 is missing.. */
1633 cdc_reset_active: cdc-reset-active-state {
1636 drive-strength = <16>;
1641 cdc_reset_sleep: cdc-reset-sleep-state {
1644 drive-strength = <16>;
1649 blsp2_spi6_default: blsp2-spi6-default-state {
1651 pins = "gpio85", "gpio86", "gpio88";
1652 function = "blsp_spi12";
1653 drive-strength = <12>;
1660 drive-strength = <16>;
1666 blsp2_spi6_sleep: blsp2-spi6-sleep-state {
1667 pins = "gpio85", "gpio86", "gpio87", "gpio88";
1669 drive-strength = <2>;
1673 blsp2_i2c6_default: blsp2-i2c6-state {
1674 pins = "gpio87", "gpio88";
1675 function = "blsp_i2c12";
1676 drive-strength = <16>;
1680 blsp2_i2c6_sleep: blsp2-i2c6-sleep-state {
1681 pins = "gpio87", "gpio88";
1683 drive-strength = <2>;
1687 pcie1_state_on: pcie1-on-state {
1691 drive-strength = <2>;
1697 function = "pci_e1";
1698 drive-strength = <2>;
1705 drive-strength = <2>;
1710 pcie1_state_off: pcie1-off-state {
1711 /* Perst is missing? */
1715 drive-strength = <2>;
1722 drive-strength = <2>;
1727 pcie2_state_on: pcie2-on-state {
1731 drive-strength = <2>;
1737 function = "pci_e2";
1738 drive-strength = <2>;
1745 drive-strength = <2>;
1750 pcie2_state_off: pcie2-off-state {
1751 /* Perst is missing? */
1755 drive-strength = <2>;
1762 drive-strength = <2>;
1767 sdc1_state_on: sdc1-on-state {
1771 drive-strength = <16>;
1777 drive-strength = <10>;
1783 drive-strength = <10>;
1792 sdc1_state_off: sdc1-off-state {
1796 drive-strength = <2>;
1802 drive-strength = <2>;
1808 drive-strength = <2>;
1817 sdc2_state_on: sdc2-on-state {
1821 drive-strength = <16>;
1827 drive-strength = <10>;
1833 drive-strength = <10>;
1837 sdc2_state_off: sdc2-off-state {
1841 drive-strength = <2>;
1847 drive-strength = <2>;
1853 drive-strength = <2>;
1859 compatible = "qcom,rpm-stats";
1860 reg = <0x00290000 0x10000>;
1863 spmi_bus: spmi@400f000 {
1864 compatible = "qcom,spmi-pmic-arb";
1865 reg = <0x0400f000 0x1000>,
1866 <0x04400000 0x800000>,
1867 <0x04c00000 0x800000>,
1868 <0x05800000 0x200000>,
1869 <0x0400a000 0x002100>;
1870 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1871 interrupt-names = "periph_irq";
1872 interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
1875 #address-cells = <2>;
1877 interrupt-controller;
1878 #interrupt-cells = <4>;
1882 power-domains = <&gcc AGGRE0_NOC_GDSC>;
1883 compatible = "simple-pm-bus";
1884 #address-cells = <1>;
1886 ranges = <0x0 0x0 0xffffffff>;
1888 pcie0: pcie@600000 {
1889 compatible = "qcom,pcie-msm8996";
1890 status = "disabled";
1891 power-domains = <&gcc PCIE0_GDSC>;
1892 bus-range = <0x00 0xff>;
1895 reg = <0x00600000 0x2000>,
1898 <0x0c100000 0x100000>;
1899 reg-names = "parf", "dbi", "elbi","config";
1901 phys = <&pciephy_0>;
1902 phy-names = "pciephy";
1904 #address-cells = <3>;
1906 ranges = <0x01000000 0x0 0x00000000 0x0c200000 0x0 0x100000>,
1907 <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
1909 device_type = "pci";
1911 interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
1912 interrupt-names = "msi";
1913 #interrupt-cells = <1>;
1914 interrupt-map-mask = <0 0 0 0x7>;
1915 interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1916 <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1917 <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1918 <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1920 pinctrl-names = "default", "sleep";
1921 pinctrl-0 = <&pcie0_state_on>;
1922 pinctrl-1 = <&pcie0_state_off>;
1924 linux,pci-domain = <0>;
1926 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1927 <&gcc GCC_PCIE_0_AUX_CLK>,
1928 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1929 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1930 <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
1932 clock-names = "pipe",
1939 pcie1: pcie@608000 {
1940 compatible = "qcom,pcie-msm8996";
1941 power-domains = <&gcc PCIE1_GDSC>;
1942 bus-range = <0x00 0xff>;
1945 status = "disabled";
1947 reg = <0x00608000 0x2000>,
1950 <0x0d100000 0x100000>;
1952 reg-names = "parf", "dbi", "elbi","config";
1954 phys = <&pciephy_1>;
1955 phy-names = "pciephy";
1957 #address-cells = <3>;
1959 ranges = <0x01000000 0x0 0x00000000 0x0d200000 0x0 0x100000>,
1960 <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
1962 device_type = "pci";
1964 interrupts = <GIC_SPI 413 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 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1969 <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1970 <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1971 <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1973 pinctrl-names = "default", "sleep";
1974 pinctrl-0 = <&pcie1_state_on>;
1975 pinctrl-1 = <&pcie1_state_off>;
1977 linux,pci-domain = <1>;
1979 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1980 <&gcc GCC_PCIE_1_AUX_CLK>,
1981 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1982 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1983 <&gcc GCC_PCIE_1_SLV_AXI_CLK>;
1985 clock-names = "pipe",
1992 pcie2: pcie@610000 {
1993 compatible = "qcom,pcie-msm8996";
1994 power-domains = <&gcc PCIE2_GDSC>;
1995 bus-range = <0x00 0xff>;
1997 status = "disabled";
1998 reg = <0x00610000 0x2000>,
2001 <0x0e100000 0x100000>;
2003 reg-names = "parf", "dbi", "elbi","config";
2005 phys = <&pciephy_2>;
2006 phy-names = "pciephy";
2008 #address-cells = <3>;
2010 ranges = <0x01000000 0x0 0x00000000 0x0e200000 0x0 0x100000>,
2011 <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
2013 device_type = "pci";
2015 interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
2016 interrupt-names = "msi";
2017 #interrupt-cells = <1>;
2018 interrupt-map-mask = <0 0 0 0x7>;
2019 interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
2020 <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
2021 <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
2022 <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
2024 pinctrl-names = "default", "sleep";
2025 pinctrl-0 = <&pcie2_state_on>;
2026 pinctrl-1 = <&pcie2_state_off>;
2028 linux,pci-domain = <2>;
2029 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
2030 <&gcc GCC_PCIE_2_AUX_CLK>,
2031 <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
2032 <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
2033 <&gcc GCC_PCIE_2_SLV_AXI_CLK>;
2035 clock-names = "pipe",
2043 ufshc: ufshc@624000 {
2044 compatible = "qcom,msm8996-ufshc", "qcom,ufshc",
2046 reg = <0x00624000 0x2500>;
2047 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
2049 phys = <&ufsphy_lane>;
2050 phy-names = "ufsphy";
2052 power-domains = <&gcc UFS_GDSC>;
2060 "core_clk_unipro_src",
2064 "tx_lane0_sync_clk",
2065 "rx_lane0_sync_clk";
2067 <&gcc UFS_AXI_CLK_SRC>,
2068 <&gcc GCC_UFS_AXI_CLK>,
2069 <&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
2070 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
2071 <&gcc GCC_UFS_AHB_CLK>,
2072 <&gcc UFS_ICE_CORE_CLK_SRC>,
2073 <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
2074 <&gcc GCC_UFS_ICE_CORE_CLK>,
2075 <&rpmcc RPM_SMD_LN_BB_CLK>,
2076 <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
2077 <&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
2079 <100000000 200000000>,
2084 <150000000 300000000>,
2091 interconnects = <&a2noc MASTER_UFS &bimc SLAVE_EBI_CH0>,
2092 <&bimc MASTER_AMPSS_M0 &cnoc SLAVE_UFS_CFG>;
2093 interconnect-names = "ufs-ddr", "cpu-ufs";
2095 lanes-per-direction = <1>;
2097 status = "disabled";
2100 ufsphy: phy@627000 {
2101 compatible = "qcom,msm8996-qmp-ufs-phy";
2102 reg = <0x00627000 0x1c4>;
2103 #address-cells = <1>;
2107 clocks = <&gcc GCC_UFS_CLKREF_CLK>;
2108 clock-names = "ref";
2110 resets = <&ufshc 0>;
2111 reset-names = "ufsphy";
2112 status = "disabled";
2114 ufsphy_lane: phy@627400 {
2115 reg = <0x627400 0x12c>,
2123 camss: camss@a34000 {
2124 compatible = "qcom,msm8996-camss";
2125 reg = <0x00a34000 0x1000>,
2127 <0x00a35000 0x1000>,
2129 <0x00a36000 0x1000>,
2137 <0x00a10000 0x1000>,
2138 <0x00a14000 0x1000>;
2139 reg-names = "csiphy0",
2153 interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
2154 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
2155 <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
2156 <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
2157 <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
2158 <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
2159 <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
2160 <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
2161 <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
2162 <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>;
2163 interrupt-names = "csiphy0",
2173 power-domains = <&mmcc VFE0_GDSC>,
2175 clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2176 <&mmcc CAMSS_ISPIF_AHB_CLK>,
2177 <&mmcc CAMSS_CSI0PHYTIMER_CLK>,
2178 <&mmcc CAMSS_CSI1PHYTIMER_CLK>,
2179 <&mmcc CAMSS_CSI2PHYTIMER_CLK>,
2180 <&mmcc CAMSS_CSI0_AHB_CLK>,
2181 <&mmcc CAMSS_CSI0_CLK>,
2182 <&mmcc CAMSS_CSI0PHY_CLK>,
2183 <&mmcc CAMSS_CSI0PIX_CLK>,
2184 <&mmcc CAMSS_CSI0RDI_CLK>,
2185 <&mmcc CAMSS_CSI1_AHB_CLK>,
2186 <&mmcc CAMSS_CSI1_CLK>,
2187 <&mmcc CAMSS_CSI1PHY_CLK>,
2188 <&mmcc CAMSS_CSI1PIX_CLK>,
2189 <&mmcc CAMSS_CSI1RDI_CLK>,
2190 <&mmcc CAMSS_CSI2_AHB_CLK>,
2191 <&mmcc CAMSS_CSI2_CLK>,
2192 <&mmcc CAMSS_CSI2PHY_CLK>,
2193 <&mmcc CAMSS_CSI2PIX_CLK>,
2194 <&mmcc CAMSS_CSI2RDI_CLK>,
2195 <&mmcc CAMSS_CSI3_AHB_CLK>,
2196 <&mmcc CAMSS_CSI3_CLK>,
2197 <&mmcc CAMSS_CSI3PHY_CLK>,
2198 <&mmcc CAMSS_CSI3PIX_CLK>,
2199 <&mmcc CAMSS_CSI3RDI_CLK>,
2200 <&mmcc CAMSS_AHB_CLK>,
2201 <&mmcc CAMSS_VFE0_CLK>,
2202 <&mmcc CAMSS_CSI_VFE0_CLK>,
2203 <&mmcc CAMSS_VFE0_AHB_CLK>,
2204 <&mmcc CAMSS_VFE0_STREAM_CLK>,
2205 <&mmcc CAMSS_VFE1_CLK>,
2206 <&mmcc CAMSS_CSI_VFE1_CLK>,
2207 <&mmcc CAMSS_VFE1_AHB_CLK>,
2208 <&mmcc CAMSS_VFE1_STREAM_CLK>,
2209 <&mmcc CAMSS_VFE_AHB_CLK>,
2210 <&mmcc CAMSS_VFE_AXI_CLK>;
2211 clock-names = "top_ahb",
2247 iommus = <&vfe_smmu 0>,
2251 status = "disabled";
2253 #address-cells = <1>;
2259 compatible = "qcom,msm8996-cci";
2260 #address-cells = <1>;
2262 reg = <0xa0c000 0x1000>;
2263 interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>;
2264 power-domains = <&mmcc CAMSS_GDSC>;
2265 clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2266 <&mmcc CAMSS_CCI_AHB_CLK>,
2267 <&mmcc CAMSS_CCI_CLK>,
2268 <&mmcc CAMSS_AHB_CLK>;
2269 clock-names = "camss_top_ahb",
2273 assigned-clocks = <&mmcc CAMSS_CCI_AHB_CLK>,
2274 <&mmcc CAMSS_CCI_CLK>;
2275 assigned-clock-rates = <80000000>, <37500000>;
2276 pinctrl-names = "default";
2277 pinctrl-0 = <&cci0_default &cci1_default>;
2278 status = "disabled";
2280 cci_i2c0: i2c-bus@0 {
2282 clock-frequency = <400000>;
2283 #address-cells = <1>;
2287 cci_i2c1: i2c-bus@1 {
2289 clock-frequency = <400000>;
2290 #address-cells = <1>;
2295 adreno_smmu: iommu@b40000 {
2296 compatible = "qcom,msm8996-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
2297 reg = <0x00b40000 0x10000>;
2299 #global-interrupts = <1>;
2300 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
2301 <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
2302 <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
2305 clocks = <&gcc GCC_MMSS_BIMC_GFX_CLK>,
2306 <&mmcc GPU_AHB_CLK>;
2307 clock-names = "bus", "iface";
2309 power-domains = <&mmcc GPU_GDSC>;
2312 venus: video-codec@c00000 {
2313 compatible = "qcom,msm8996-venus";
2314 reg = <0x00c00000 0xff000>;
2315 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
2316 power-domains = <&mmcc VENUS_GDSC>;
2317 clocks = <&mmcc VIDEO_CORE_CLK>,
2318 <&mmcc VIDEO_AHB_CLK>,
2319 <&mmcc VIDEO_AXI_CLK>,
2320 <&mmcc VIDEO_MAXI_CLK>;
2321 clock-names = "core", "iface", "bus", "mbus";
2322 interconnects = <&mnoc MASTER_VIDEO_P0 &bimc SLAVE_EBI_CH0>,
2323 <&bimc MASTER_AMPSS_M0 &mnoc SLAVE_VENUS_CFG>;
2324 interconnect-names = "video-mem", "cpu-cfg";
2325 iommus = <&venus_smmu 0x00>,
2345 memory-region = <&venus_mem>;
2346 status = "disabled";
2349 compatible = "venus-decoder";
2350 clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
2351 clock-names = "core";
2352 power-domains = <&mmcc VENUS_CORE0_GDSC>;
2356 compatible = "venus-encoder";
2357 clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
2358 clock-names = "core";
2359 power-domains = <&mmcc VENUS_CORE1_GDSC>;
2363 mdp_smmu: iommu@d00000 {
2364 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2365 reg = <0x00d00000 0x10000>;
2367 #global-interrupts = <1>;
2368 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
2369 <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2370 <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
2372 clocks = <&mmcc SMMU_MDP_AXI_CLK>,
2373 <&mmcc SMMU_MDP_AHB_CLK>;
2374 clock-names = "bus", "iface";
2376 power-domains = <&mmcc MDSS_GDSC>;
2379 venus_smmu: iommu@d40000 {
2380 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2381 reg = <0x00d40000 0x20000>;
2382 #global-interrupts = <1>;
2383 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
2384 <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
2385 <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
2386 <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
2387 <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
2388 <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
2389 <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
2390 <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
2391 power-domains = <&mmcc MMAGIC_VIDEO_GDSC>;
2392 clocks = <&mmcc SMMU_VIDEO_AXI_CLK>,
2393 <&mmcc SMMU_VIDEO_AHB_CLK>;
2394 clock-names = "bus", "iface";
2399 vfe_smmu: iommu@da0000 {
2400 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2401 reg = <0x00da0000 0x10000>;
2403 #global-interrupts = <1>;
2404 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
2405 <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
2406 <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
2407 power-domains = <&mmcc MMAGIC_CAMSS_GDSC>;
2408 clocks = <&mmcc SMMU_VFE_AXI_CLK>,
2409 <&mmcc SMMU_VFE_AHB_CLK>;
2410 clock-names = "bus", "iface";
2414 lpass_q6_smmu: iommu@1600000 {
2415 compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2416 reg = <0x01600000 0x20000>;
2418 power-domains = <&gcc HLOS1_VOTE_LPASS_CORE_GDSC>;
2420 #global-interrupts = <1>;
2421 interrupts = <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
2422 <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
2423 <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
2424 <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
2425 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
2426 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
2427 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
2428 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
2429 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
2430 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
2431 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
2432 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
2433 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>;
2435 clocks = <&gcc GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>,
2436 <&gcc GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK>;
2437 clock-names = "bus", "iface";
2440 slpi_pil: remoteproc@1c00000 {
2441 compatible = "qcom,msm8996-slpi-pil";
2442 reg = <0x01c00000 0x4000>;
2444 interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
2445 <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2446 <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2447 <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2448 <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2449 interrupt-names = "wdog",
2455 clocks = <&xo_board>,
2456 <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
2457 clock-names = "xo", "aggre2";
2459 memory-region = <&slpi_mem>;
2461 qcom,smem-states = <&slpi_smp2p_out 0>;
2462 qcom,smem-state-names = "stop";
2464 power-domains = <&rpmpd MSM8996_VDDSSCX>;
2465 power-domain-names = "ssc_cx";
2467 status = "disabled";
2470 interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>;
2473 mboxes = <&apcs_glb 25>;
2474 qcom,smd-edge = <3>;
2475 qcom,remote-pid = <3>;
2479 mss_pil: remoteproc@2080000 {
2480 compatible = "qcom,msm8996-mss-pil";
2481 reg = <0x2080000 0x100>,
2483 reg-names = "qdsp6", "rmb";
2485 interrupts-extended = <&intc 0 448 IRQ_TYPE_EDGE_RISING>,
2486 <&mpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2487 <&mpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2488 <&mpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2489 <&mpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
2490 <&mpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
2491 interrupt-names = "wdog", "fatal", "ready",
2492 "handover", "stop-ack",
2495 clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
2496 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
2497 <&gcc GCC_BOOT_ROM_AHB_CLK>,
2499 <&gcc GCC_MSS_GPLL0_DIV_CLK>,
2500 <&gcc GCC_MSS_SNOC_AXI_CLK>,
2501 <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
2502 <&rpmcc RPM_SMD_PCNOC_CLK>,
2503 <&rpmcc RPM_SMD_QDSS_CLK>;
2504 clock-names = "iface", "bus", "mem", "xo", "gpll0_mss",
2505 "snoc_axi", "mnoc_axi", "pnoc", "qdss";
2507 resets = <&gcc GCC_MSS_RESTART>;
2508 reset-names = "mss_restart";
2510 power-domains = <&rpmpd MSM8996_VDDCX>,
2511 <&rpmpd MSM8996_VDDMX>;
2512 power-domain-names = "cx", "mx";
2514 qcom,smem-states = <&mpss_smp2p_out 0>;
2515 qcom,smem-state-names = "stop";
2517 qcom,halt-regs = <&tcsr_1 0x3000 0x5000 0x4000>;
2519 status = "disabled";
2522 memory-region = <&mba_mem>;
2526 memory-region = <&mpss_mem>;
2530 memory-region = <&mdata_mem>;
2534 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
2537 mboxes = <&apcs_glb 12>;
2538 qcom,smd-edge = <0>;
2539 qcom,remote-pid = <1>;
2544 compatible = "arm,coresight-stm", "arm,primecell";
2545 reg = <0x3002000 0x1000>,
2546 <0x8280000 0x180000>;
2547 reg-names = "stm-base", "stm-stimulus-base";
2549 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2550 clock-names = "apb_pclk", "atclk";
2563 compatible = "arm,coresight-tpiu", "arm,primecell";
2564 reg = <0x3020000 0x1000>;
2566 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2567 clock-names = "apb_pclk", "atclk";
2580 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2581 reg = <0x3021000 0x1000>;
2583 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2584 clock-names = "apb_pclk", "atclk";
2587 #address-cells = <1>;
2592 funnel0_in: endpoint {
2601 funnel0_out: endpoint {
2603 <&merge_funnel_in0>;
2610 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2611 reg = <0x3022000 0x1000>;
2613 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2614 clock-names = "apb_pclk", "atclk";
2617 #address-cells = <1>;
2622 funnel1_in: endpoint {
2624 <&apss_merge_funnel_out>;
2631 funnel1_out: endpoint {
2633 <&merge_funnel_in1>;
2640 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2641 reg = <0x3023000 0x1000>;
2643 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2644 clock-names = "apb_pclk", "atclk";
2649 funnel2_out: endpoint {
2651 <&merge_funnel_in2>;
2658 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2659 reg = <0x3025000 0x1000>;
2661 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2662 clock-names = "apb_pclk", "atclk";
2665 #address-cells = <1>;
2670 merge_funnel_in0: endpoint {
2678 merge_funnel_in1: endpoint {
2686 merge_funnel_in2: endpoint {
2695 merge_funnel_out: endpoint {
2703 replicator@3026000 {
2704 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
2705 reg = <0x3026000 0x1000>;
2707 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2708 clock-names = "apb_pclk", "atclk";
2712 replicator_in: endpoint {
2720 #address-cells = <1>;
2725 replicator_out0: endpoint {
2733 replicator_out1: endpoint {
2742 compatible = "arm,coresight-tmc", "arm,primecell";
2743 reg = <0x3027000 0x1000>;
2745 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2746 clock-names = "apb_pclk", "atclk";
2752 <&merge_funnel_out>;
2768 compatible = "arm,coresight-tmc", "arm,primecell";
2769 reg = <0x3028000 0x1000>;
2771 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2772 clock-names = "apb_pclk", "atclk";
2786 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2787 reg = <0x3810000 0x1000>;
2789 clocks = <&rpmcc RPM_QDSS_CLK>;
2790 clock-names = "apb_pclk";
2796 compatible = "arm,coresight-etm4x", "arm,primecell";
2797 reg = <0x3840000 0x1000>;
2799 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2800 clock-names = "apb_pclk", "atclk";
2806 etm0_out: endpoint {
2808 <&apss_funnel0_in0>;
2815 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2816 reg = <0x3910000 0x1000>;
2818 clocks = <&rpmcc RPM_QDSS_CLK>;
2819 clock-names = "apb_pclk";
2825 compatible = "arm,coresight-etm4x", "arm,primecell";
2826 reg = <0x3940000 0x1000>;
2828 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2829 clock-names = "apb_pclk", "atclk";
2835 etm1_out: endpoint {
2837 <&apss_funnel0_in1>;
2843 funnel@39b0000 { /* APSS Funnel 0 */
2844 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2845 reg = <0x39b0000 0x1000>;
2847 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2848 clock-names = "apb_pclk", "atclk";
2851 #address-cells = <1>;
2856 apss_funnel0_in0: endpoint {
2857 remote-endpoint = <&etm0_out>;
2863 apss_funnel0_in1: endpoint {
2864 remote-endpoint = <&etm1_out>;
2871 apss_funnel0_out: endpoint {
2873 <&apss_merge_funnel_in0>;
2880 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2881 reg = <0x3a10000 0x1000>;
2883 clocks = <&rpmcc RPM_QDSS_CLK>;
2884 clock-names = "apb_pclk";
2890 compatible = "arm,coresight-etm4x", "arm,primecell";
2891 reg = <0x3a40000 0x1000>;
2893 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2894 clock-names = "apb_pclk", "atclk";
2900 etm2_out: endpoint {
2902 <&apss_funnel1_in0>;
2909 compatible = "arm,coresight-cpu-debug", "arm,primecell";
2910 reg = <0x3b10000 0x1000>;
2912 clocks = <&rpmcc RPM_QDSS_CLK>;
2913 clock-names = "apb_pclk";
2919 compatible = "arm,coresight-etm4x", "arm,primecell";
2920 reg = <0x3b40000 0x1000>;
2922 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2923 clock-names = "apb_pclk", "atclk";
2929 etm3_out: endpoint {
2931 <&apss_funnel1_in1>;
2937 funnel@3bb0000 { /* APSS Funnel 1 */
2938 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2939 reg = <0x3bb0000 0x1000>;
2941 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2942 clock-names = "apb_pclk", "atclk";
2945 #address-cells = <1>;
2950 apss_funnel1_in0: endpoint {
2951 remote-endpoint = <&etm2_out>;
2957 apss_funnel1_in1: endpoint {
2958 remote-endpoint = <&etm3_out>;
2965 apss_funnel1_out: endpoint {
2967 <&apss_merge_funnel_in1>;
2974 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2975 reg = <0x3bc0000 0x1000>;
2977 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2978 clock-names = "apb_pclk", "atclk";
2981 #address-cells = <1>;
2986 apss_merge_funnel_in0: endpoint {
2988 <&apss_funnel0_out>;
2994 apss_merge_funnel_in1: endpoint {
2996 <&apss_funnel1_out>;
3003 apss_merge_funnel_out: endpoint {
3011 kryocc: clock-controller@6400000 {
3012 compatible = "qcom,msm8996-apcc";
3013 reg = <0x06400000 0x90000>;
3015 clock-names = "xo", "sys_apcs_aux";
3016 clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&apcs_glb>;
3022 compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
3023 reg = <0x06af8800 0x400>;
3024 #address-cells = <1>;
3028 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
3029 <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
3030 interrupt-names = "hs_phy_irq", "ss_phy_irq";
3032 clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
3033 <&gcc GCC_USB30_MASTER_CLK>,
3034 <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
3035 <&gcc GCC_USB30_SLEEP_CLK>,
3036 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
3037 clock-names = "cfg_noc",
3043 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
3044 <&gcc GCC_USB30_MASTER_CLK>;
3045 assigned-clock-rates = <19200000>, <120000000>;
3047 interconnects = <&a2noc MASTER_USB3 &bimc SLAVE_EBI_CH0>,
3048 <&bimc MASTER_AMPSS_M0 &snoc SLAVE_USB3>;
3049 interconnect-names = "usb-ddr", "apps-usb";
3051 power-domains = <&gcc USB30_GDSC>;
3052 status = "disabled";
3054 usb3_dwc3: usb@6a00000 {
3055 compatible = "snps,dwc3";
3056 reg = <0x06a00000 0xcc00>;
3057 interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
3058 phys = <&hsusb_phy1>, <&ssusb_phy_0>;
3059 phy-names = "usb2-phy", "usb3-phy";
3060 snps,hird-threshold = /bits/ 8 <0>;
3061 snps,dis_u2_susphy_quirk;
3062 snps,dis_enblslpm_quirk;
3063 snps,is-utmi-l1-suspend;
3068 usb3phy: phy@7410000 {
3069 compatible = "qcom,msm8996-qmp-usb3-phy";
3070 reg = <0x07410000 0x1c4>;
3071 #address-cells = <1>;
3075 clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
3076 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3077 <&gcc GCC_USB3_CLKREF_CLK>;
3078 clock-names = "aux", "cfg_ahb", "ref";
3080 resets = <&gcc GCC_USB3_PHY_BCR>,
3081 <&gcc GCC_USB3PHY_PHY_BCR>;
3082 reset-names = "phy", "common";
3083 status = "disabled";
3085 ssusb_phy_0: phy@7410200 {
3086 reg = <0x07410200 0x200>,
3092 clock-output-names = "usb3_phy_pipe_clk_src";
3093 clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
3094 clock-names = "pipe0";
3098 hsusb_phy1: phy@7411000 {
3099 compatible = "qcom,msm8996-qusb2-phy";
3100 reg = <0x07411000 0x180>;
3103 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3104 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
3105 clock-names = "cfg_ahb", "ref";
3107 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
3108 nvmem-cells = <&qusb2p_hstx_trim>;
3109 status = "disabled";
3112 hsusb_phy2: phy@7412000 {
3113 compatible = "qcom,msm8996-qusb2-phy";
3114 reg = <0x07412000 0x180>;
3117 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3118 <&gcc GCC_RX2_USB2_CLKREF_CLK>;
3119 clock-names = "cfg_ahb", "ref";
3121 resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
3122 nvmem-cells = <&qusb2s_hstx_trim>;
3123 status = "disabled";
3126 sdhc1: mmc@7464900 {
3127 compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
3128 reg = <0x07464900 0x11c>, <0x07464000 0x800>;
3129 reg-names = "hc", "core";
3131 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
3132 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
3133 interrupt-names = "hc_irq", "pwr_irq";
3135 clock-names = "iface", "core", "xo";
3136 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
3137 <&gcc GCC_SDCC1_APPS_CLK>,
3138 <&rpmcc RPM_SMD_XO_CLK_SRC>;
3139 resets = <&gcc GCC_SDCC1_BCR>;
3141 pinctrl-names = "default", "sleep";
3142 pinctrl-0 = <&sdc1_state_on>;
3143 pinctrl-1 = <&sdc1_state_off>;
3147 status = "disabled";
3150 sdhc2: mmc@74a4900 {
3151 compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
3152 reg = <0x074a4900 0x314>, <0x074a4000 0x800>;
3153 reg-names = "hc", "core";
3155 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
3156 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
3157 interrupt-names = "hc_irq", "pwr_irq";
3159 clock-names = "iface", "core", "xo";
3160 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
3161 <&gcc GCC_SDCC2_APPS_CLK>,
3162 <&rpmcc RPM_SMD_XO_CLK_SRC>;
3163 resets = <&gcc GCC_SDCC2_BCR>;
3165 pinctrl-names = "default", "sleep";
3166 pinctrl-0 = <&sdc2_state_on>;
3167 pinctrl-1 = <&sdc2_state_off>;
3170 status = "disabled";
3173 blsp1_dma: dma-controller@7544000 {
3174 compatible = "qcom,bam-v1.7.0";
3175 reg = <0x07544000 0x2b000>;
3176 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
3177 clocks = <&gcc GCC_BLSP1_AHB_CLK>;
3178 clock-names = "bam_clk";
3179 qcom,controlled-remotely;
3184 blsp1_uart2: serial@7570000 {
3185 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3186 reg = <0x07570000 0x1000>;
3187 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
3188 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
3189 <&gcc GCC_BLSP1_AHB_CLK>;
3190 clock-names = "core", "iface";
3191 pinctrl-names = "default", "sleep";
3192 pinctrl-0 = <&blsp1_uart2_default>;
3193 pinctrl-1 = <&blsp1_uart2_sleep>;
3194 dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
3195 dma-names = "tx", "rx";
3196 status = "disabled";
3199 blsp1_spi1: spi@7575000 {
3200 compatible = "qcom,spi-qup-v2.2.1";
3201 reg = <0x07575000 0x600>;
3202 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
3203 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
3204 <&gcc GCC_BLSP1_AHB_CLK>;
3205 clock-names = "core", "iface";
3206 pinctrl-names = "default", "sleep";
3207 pinctrl-0 = <&blsp1_spi1_default>;
3208 pinctrl-1 = <&blsp1_spi1_sleep>;
3209 dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
3210 dma-names = "tx", "rx";
3211 #address-cells = <1>;
3213 status = "disabled";
3216 blsp1_i2c3: i2c@7577000 {
3217 compatible = "qcom,i2c-qup-v2.2.1";
3218 reg = <0x07577000 0x1000>;
3219 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
3220 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
3221 <&gcc GCC_BLSP1_AHB_CLK>;
3222 clock-names = "core", "iface";
3223 pinctrl-names = "default", "sleep";
3224 pinctrl-0 = <&blsp1_i2c3_default>;
3225 pinctrl-1 = <&blsp1_i2c3_sleep>;
3226 dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
3227 dma-names = "tx", "rx";
3228 #address-cells = <1>;
3230 status = "disabled";
3233 blsp1_i2c6: i2c@757a000 {
3234 compatible = "qcom,i2c-qup-v2.2.1";
3235 reg = <0x757a000 0x1000>;
3236 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
3237 clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
3238 <&gcc GCC_BLSP1_AHB_CLK>;
3239 clock-names = "core", "iface";
3240 pinctrl-names = "default", "sleep";
3241 pinctrl-0 = <&blsp1_i2c6_default>;
3242 pinctrl-1 = <&blsp1_i2c6_sleep>;
3243 dmas = <&blsp1_dma 22>, <&blsp1_dma 23>;
3244 dma-names = "tx", "rx";
3245 #address-cells = <1>;
3247 status = "disabled";
3250 blsp2_dma: dma-controller@7584000 {
3251 compatible = "qcom,bam-v1.7.0";
3252 reg = <0x07584000 0x2b000>;
3253 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
3254 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
3255 clock-names = "bam_clk";
3256 qcom,controlled-remotely;
3261 blsp2_uart2: serial@75b0000 {
3262 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3263 reg = <0x075b0000 0x1000>;
3264 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
3265 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
3266 <&gcc GCC_BLSP2_AHB_CLK>;
3267 clock-names = "core", "iface";
3268 status = "disabled";
3271 blsp2_uart3: serial@75b1000 {
3272 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3273 reg = <0x075b1000 0x1000>;
3274 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
3275 clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
3276 <&gcc GCC_BLSP2_AHB_CLK>;
3277 clock-names = "core", "iface";
3278 status = "disabled";
3281 blsp2_i2c1: i2c@75b5000 {
3282 compatible = "qcom,i2c-qup-v2.2.1";
3283 reg = <0x075b5000 0x1000>;
3284 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
3285 clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
3286 <&gcc GCC_BLSP2_AHB_CLK>;
3287 clock-names = "core", "iface";
3288 pinctrl-names = "default", "sleep";
3289 pinctrl-0 = <&blsp2_i2c1_default>;
3290 pinctrl-1 = <&blsp2_i2c1_sleep>;
3291 dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
3292 dma-names = "tx", "rx";
3293 #address-cells = <1>;
3295 status = "disabled";
3298 blsp2_i2c2: i2c@75b6000 {
3299 compatible = "qcom,i2c-qup-v2.2.1";
3300 reg = <0x075b6000 0x1000>;
3301 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
3302 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
3303 <&gcc GCC_BLSP2_AHB_CLK>;
3304 clock-names = "core", "iface";
3305 pinctrl-names = "default", "sleep";
3306 pinctrl-0 = <&blsp2_i2c2_default>;
3307 pinctrl-1 = <&blsp2_i2c2_sleep>;
3308 dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
3309 dma-names = "tx", "rx";
3310 #address-cells = <1>;
3312 status = "disabled";
3315 blsp2_i2c3: i2c@75b7000 {
3316 compatible = "qcom,i2c-qup-v2.2.1";
3317 reg = <0x075b7000 0x1000>;
3318 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
3319 clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
3320 <&gcc GCC_BLSP2_AHB_CLK>;
3321 clock-names = "core", "iface";
3322 clock-frequency = <400000>;
3323 pinctrl-names = "default", "sleep";
3324 pinctrl-0 = <&blsp2_i2c3_default>;
3325 pinctrl-1 = <&blsp2_i2c3_sleep>;
3326 dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
3327 dma-names = "tx", "rx";
3328 #address-cells = <1>;
3330 status = "disabled";
3333 blsp2_i2c5: i2c@75b9000 {
3334 compatible = "qcom,i2c-qup-v2.2.1";
3335 reg = <0x75b9000 0x1000>;
3336 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
3337 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
3338 <&gcc GCC_BLSP2_AHB_CLK>;
3339 clock-names = "core", "iface";
3340 pinctrl-names = "default";
3341 pinctrl-0 = <&blsp2_i2c5_default>;
3342 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
3343 dma-names = "tx", "rx";
3344 #address-cells = <1>;
3346 status = "disabled";
3349 blsp2_i2c6: i2c@75ba000 {
3350 compatible = "qcom,i2c-qup-v2.2.1";
3351 reg = <0x75ba000 0x1000>;
3352 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3353 clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
3354 <&gcc GCC_BLSP2_AHB_CLK>;
3355 clock-names = "core", "iface";
3356 pinctrl-names = "default", "sleep";
3357 pinctrl-0 = <&blsp2_i2c6_default>;
3358 pinctrl-1 = <&blsp2_i2c6_sleep>;
3359 dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
3360 dma-names = "tx", "rx";
3361 #address-cells = <1>;
3363 status = "disabled";
3366 blsp2_spi6: spi@75ba000 {
3367 compatible = "qcom,spi-qup-v2.2.1";
3368 reg = <0x075ba000 0x600>;
3369 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3370 clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
3371 <&gcc GCC_BLSP2_AHB_CLK>;
3372 clock-names = "core", "iface";
3373 pinctrl-names = "default", "sleep";
3374 pinctrl-0 = <&blsp2_spi6_default>;
3375 pinctrl-1 = <&blsp2_spi6_sleep>;
3376 dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
3377 dma-names = "tx", "rx";
3378 #address-cells = <1>;
3380 status = "disabled";
3384 compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
3385 reg = <0x076f8800 0x400>;
3386 #address-cells = <1>;
3390 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
3391 interrupt-names = "hs_phy_irq";
3393 clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>,
3394 <&gcc GCC_USB20_MASTER_CLK>,
3395 <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3396 <&gcc GCC_USB20_SLEEP_CLK>,
3397 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
3398 clock-names = "cfg_noc",
3404 assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3405 <&gcc GCC_USB20_MASTER_CLK>;
3406 assigned-clock-rates = <19200000>, <60000000>;
3408 power-domains = <&gcc USB30_GDSC>;
3409 qcom,select-utmi-as-pipe-clk;
3410 status = "disabled";
3412 usb2_dwc3: usb@7600000 {
3413 compatible = "snps,dwc3";
3414 reg = <0x07600000 0xcc00>;
3415 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
3416 phys = <&hsusb_phy2>;
3417 phy-names = "usb2-phy";
3418 maximum-speed = "high-speed";
3419 snps,dis_u2_susphy_quirk;
3420 snps,dis_enblslpm_quirk;
3424 slimbam: dma-controller@9184000 {
3425 compatible = "qcom,bam-v1.7.0";
3426 qcom,controlled-remotely;
3427 reg = <0x09184000 0x32000>;
3428 num-channels = <31>;
3429 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
3435 slim_msm: slim-ngd@91c0000 {
3436 compatible = "qcom,slim-ngd-v1.5.0";
3437 reg = <0x091c0000 0x2c000>;
3438 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
3439 dmas = <&slimbam 3>, <&slimbam 4>;
3440 dma-names = "rx", "tx";
3441 #address-cells = <1>;
3444 status = "disabled";
3447 adsp_pil: remoteproc@9300000 {
3448 compatible = "qcom,msm8996-adsp-pil";
3449 reg = <0x09300000 0x80000>;
3451 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
3452 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3453 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3454 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3455 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3456 interrupt-names = "wdog", "fatal", "ready",
3457 "handover", "stop-ack";
3459 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
3462 memory-region = <&adsp_mem>;
3464 qcom,smem-states = <&adsp_smp2p_out 0>;
3465 qcom,smem-state-names = "stop";
3467 power-domains = <&rpmpd MSM8996_VDDCX>;
3468 power-domain-names = "cx";
3470 status = "disabled";
3473 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
3476 mboxes = <&apcs_glb 8>;
3477 qcom,smd-edge = <1>;
3478 qcom,remote-pid = <2>;
3481 power-domains = <&gcc HLOS1_VOTE_LPASS_ADSP_GDSC>;
3482 compatible = "qcom,apr-v2";
3483 qcom,smd-channels = "apr_audio_svc";
3484 qcom,domain = <APR_DOMAIN_ADSP>;
3485 #address-cells = <1>;
3489 reg = <APR_SVC_ADSP_CORE>;
3490 compatible = "qcom,q6core";
3494 compatible = "qcom,q6afe";
3495 reg = <APR_SVC_AFE>;
3497 compatible = "qcom,q6afe-dais";
3498 #address-cells = <1>;
3500 #sound-dai-cells = <1>;
3508 compatible = "qcom,q6asm";
3509 reg = <APR_SVC_ASM>;
3511 compatible = "qcom,q6asm-dais";
3512 #address-cells = <1>;
3514 #sound-dai-cells = <1>;
3515 iommus = <&lpass_q6_smmu 1>;
3520 compatible = "qcom,q6adm";
3521 reg = <APR_SVC_ADM>;
3522 q6routing: routing {
3523 compatible = "qcom,q6adm-routing";
3524 #sound-dai-cells = <0>;
3531 apcs_glb: mailbox@9820000 {
3532 compatible = "qcom,msm8996-apcs-hmss-global";
3533 reg = <0x09820000 0x1000>;
3540 #address-cells = <1>;
3543 compatible = "arm,armv7-timer-mem";
3544 reg = <0x09840000 0x1000>;
3545 clock-frequency = <19200000>;
3549 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
3550 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
3551 reg = <0x09850000 0x1000>,
3552 <0x09860000 0x1000>;
3557 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
3558 reg = <0x09870000 0x1000>;
3559 status = "disabled";
3564 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3565 reg = <0x09880000 0x1000>;
3566 status = "disabled";
3571 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
3572 reg = <0x09890000 0x1000>;
3573 status = "disabled";
3578 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
3579 reg = <0x098a0000 0x1000>;
3580 status = "disabled";
3585 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
3586 reg = <0x098b0000 0x1000>;
3587 status = "disabled";
3592 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
3593 reg = <0x098c0000 0x1000>;
3594 status = "disabled";
3598 saw3: syscon@9a10000 {
3599 compatible = "syscon";
3600 reg = <0x09a10000 0x1000>;
3603 cbf: clock-controller@9a11000 {
3604 compatible = "qcom,msm8996-cbf";
3605 reg = <0x09a11000 0x10000>;
3606 clocks = <&rpmcc RPM_SMD_XO_A_CLK_SRC>, <&apcs_glb>;
3608 #interconnect-cells = <1>;
3611 intc: interrupt-controller@9bc0000 {
3612 compatible = "qcom,msm8996-gic-v3", "arm,gic-v3";
3613 #interrupt-cells = <3>;
3614 interrupt-controller;
3615 #redistributor-regions = <1>;
3616 redistributor-stride = <0x0 0x40000>;
3617 reg = <0x09bc0000 0x10000>,
3618 <0x09c00000 0x100000>;
3619 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3628 polling-delay-passive = <250>;
3629 polling-delay = <1000>;
3631 thermal-sensors = <&tsens0 3>;
3634 cpu0_alert0: trip-point0 {
3635 temperature = <75000>;
3636 hysteresis = <2000>;
3640 cpu0_crit: cpu-crit {
3641 temperature = <110000>;
3642 hysteresis = <2000>;
3649 polling-delay-passive = <250>;
3650 polling-delay = <1000>;
3652 thermal-sensors = <&tsens0 5>;
3655 cpu1_alert0: trip-point0 {
3656 temperature = <75000>;
3657 hysteresis = <2000>;
3661 cpu1_crit: cpu-crit {
3662 temperature = <110000>;
3663 hysteresis = <2000>;
3670 polling-delay-passive = <250>;
3671 polling-delay = <1000>;
3673 thermal-sensors = <&tsens0 8>;
3676 cpu2_alert0: trip-point0 {
3677 temperature = <75000>;
3678 hysteresis = <2000>;
3682 cpu2_crit: cpu-crit {
3683 temperature = <110000>;
3684 hysteresis = <2000>;
3691 polling-delay-passive = <250>;
3692 polling-delay = <1000>;
3694 thermal-sensors = <&tsens0 10>;
3697 cpu3_alert0: trip-point0 {
3698 temperature = <75000>;
3699 hysteresis = <2000>;
3703 cpu3_crit: cpu-crit {
3704 temperature = <110000>;
3705 hysteresis = <2000>;
3712 polling-delay-passive = <250>;
3713 polling-delay = <1000>;
3715 thermal-sensors = <&tsens1 6>;
3718 gpu1_alert0: trip-point0 {
3719 temperature = <90000>;
3720 hysteresis = <2000>;
3727 trip = <&gpu1_alert0>;
3728 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3733 gpu-bottom-thermal {
3734 polling-delay-passive = <250>;
3735 polling-delay = <1000>;
3737 thermal-sensors = <&tsens1 7>;
3740 gpu2_alert0: trip-point0 {
3741 temperature = <90000>;
3742 hysteresis = <2000>;
3749 trip = <&gpu2_alert0>;
3750 cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3756 polling-delay-passive = <250>;
3757 polling-delay = <1000>;
3759 thermal-sensors = <&tsens0 1>;
3762 m4m_alert0: trip-point0 {
3763 temperature = <90000>;
3764 hysteresis = <2000>;
3770 l3-or-venus-thermal {
3771 polling-delay-passive = <250>;
3772 polling-delay = <1000>;
3774 thermal-sensors = <&tsens0 2>;
3777 l3_or_venus_alert0: trip-point0 {
3778 temperature = <90000>;
3779 hysteresis = <2000>;
3785 cluster0-l2-thermal {
3786 polling-delay-passive = <250>;
3787 polling-delay = <1000>;
3789 thermal-sensors = <&tsens0 7>;
3792 cluster0_l2_alert0: trip-point0 {
3793 temperature = <90000>;
3794 hysteresis = <2000>;
3800 cluster1-l2-thermal {
3801 polling-delay-passive = <250>;
3802 polling-delay = <1000>;
3804 thermal-sensors = <&tsens0 12>;
3807 cluster1_l2_alert0: trip-point0 {
3808 temperature = <90000>;
3809 hysteresis = <2000>;
3816 polling-delay-passive = <250>;
3817 polling-delay = <1000>;
3819 thermal-sensors = <&tsens1 1>;
3822 camera_alert0: trip-point0 {
3823 temperature = <90000>;
3824 hysteresis = <2000>;
3831 polling-delay-passive = <250>;
3832 polling-delay = <1000>;
3834 thermal-sensors = <&tsens1 2>;
3837 q6_dsp_alert0: trip-point0 {
3838 temperature = <90000>;
3839 hysteresis = <2000>;
3846 polling-delay-passive = <250>;
3847 polling-delay = <1000>;
3849 thermal-sensors = <&tsens1 3>;
3852 mem_alert0: trip-point0 {
3853 temperature = <90000>;
3854 hysteresis = <2000>;
3861 polling-delay-passive = <250>;
3862 polling-delay = <1000>;
3864 thermal-sensors = <&tsens1 4>;
3867 modemtx_alert0: trip-point0 {
3868 temperature = <90000>;
3869 hysteresis = <2000>;
3877 compatible = "arm,armv8-timer";
3878 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
3879 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
3880 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
3881 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;