1 // SPDX-License-Identifier: GPL-2.0
4 #include <dt-bindings/interconnect/qcom,msm8974.h>
5 #include <dt-bindings/interrupt-controller/arm-gic.h>
6 #include <dt-bindings/clock/qcom,gcc-msm8974.h>
7 #include <dt-bindings/clock/qcom,mmcc-msm8974.h>
8 #include <dt-bindings/clock/qcom,rpmcc.h>
9 #include <dt-bindings/reset/qcom,gcc-msm8974.h>
10 #include <dt-bindings/gpio/gpio.h>
15 interrupt-parent = <&intc>;
19 compatible = "fixed-clock";
21 clock-frequency = <19200000>;
24 sleep_clk: sleep_clk {
25 compatible = "fixed-clock";
27 clock-frequency = <32768>;
34 interrupts = <GIC_PPI 9 0xf04>;
37 compatible = "qcom,krait";
38 enable-method = "qcom,kpss-acc-v2";
41 next-level-cache = <&L2>;
44 cpu-idle-states = <&CPU_SPC>;
48 compatible = "qcom,krait";
49 enable-method = "qcom,kpss-acc-v2";
52 next-level-cache = <&L2>;
55 cpu-idle-states = <&CPU_SPC>;
59 compatible = "qcom,krait";
60 enable-method = "qcom,kpss-acc-v2";
63 next-level-cache = <&L2>;
66 cpu-idle-states = <&CPU_SPC>;
70 compatible = "qcom,krait";
71 enable-method = "qcom,kpss-acc-v2";
74 next-level-cache = <&L2>;
77 cpu-idle-states = <&CPU_SPC>;
88 compatible = "qcom,idle-state-spc",
90 entry-latency-us = <150>;
91 exit-latency-us = <200>;
92 min-residency-us = <2000>;
99 compatible = "qcom,scm-msm8974", "qcom,scm";
100 clocks = <&gcc GCC_CE1_CLK>, <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>;
101 clock-names = "core", "bus", "iface";
106 device_type = "memory";
111 compatible = "qcom,krait-pmu";
112 interrupts = <GIC_PPI 7 0xf04>;
116 #address-cells = <1>;
120 mpss_region: mpss@8000000 {
121 reg = <0x08000000 0x5100000>;
125 mba_region: mba@d100000 {
126 reg = <0x0d100000 0x100000>;
130 wcnss_region: wcnss@d200000 {
131 reg = <0x0d200000 0xa00000>;
135 adsp_region: adsp@dc00000 {
136 reg = <0x0dc00000 0x1900000>;
140 venus_region: memory@f500000 {
141 reg = <0x0f500000 0x500000>;
145 smem_region: smem@fa00000 {
146 reg = <0xfa00000 0x200000>;
150 tz_region: memory@fc00000 {
151 reg = <0x0fc00000 0x160000>;
155 rfsa_mem: memory@fd60000 {
156 reg = <0x0fd60000 0x20000>;
161 compatible = "qcom,rmtfs-mem";
162 reg = <0x0fd80000 0x180000>;
165 qcom,client-id = <1>;
170 compatible = "qcom,smem";
172 memory-region = <&smem_region>;
173 qcom,rpm-msg-ram = <&rpm_msg_ram>;
175 hwlocks = <&tcsr_mutex 3>;
179 compatible = "qcom,smp2p";
180 qcom,smem = <443>, <429>;
182 interrupt-parent = <&intc>;
183 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
185 qcom,ipc = <&apcs 8 10>;
187 qcom,local-pid = <0>;
188 qcom,remote-pid = <2>;
190 adsp_smp2p_out: master-kernel {
191 qcom,entry-name = "master-kernel";
192 #qcom,smem-state-cells = <1>;
195 adsp_smp2p_in: slave-kernel {
196 qcom,entry-name = "slave-kernel";
198 interrupt-controller;
199 #interrupt-cells = <2>;
204 compatible = "qcom,smp2p";
205 qcom,smem = <435>, <428>;
207 interrupt-parent = <&intc>;
208 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
210 qcom,ipc = <&apcs 8 14>;
212 qcom,local-pid = <0>;
213 qcom,remote-pid = <1>;
215 modem_smp2p_out: master-kernel {
216 qcom,entry-name = "master-kernel";
217 #qcom,smem-state-cells = <1>;
220 modem_smp2p_in: slave-kernel {
221 qcom,entry-name = "slave-kernel";
223 interrupt-controller;
224 #interrupt-cells = <2>;
229 compatible = "qcom,smp2p";
230 qcom,smem = <451>, <431>;
232 interrupt-parent = <&intc>;
233 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
235 qcom,ipc = <&apcs 8 18>;
237 qcom,local-pid = <0>;
238 qcom,remote-pid = <4>;
240 wcnss_smp2p_out: master-kernel {
241 qcom,entry-name = "master-kernel";
243 #qcom,smem-state-cells = <1>;
246 wcnss_smp2p_in: slave-kernel {
247 qcom,entry-name = "slave-kernel";
249 interrupt-controller;
250 #interrupt-cells = <2>;
255 compatible = "qcom,smsm";
257 #address-cells = <1>;
260 qcom,ipc-1 = <&apcs 8 13>;
261 qcom,ipc-2 = <&apcs 8 9>;
262 qcom,ipc-3 = <&apcs 8 19>;
267 #qcom,smem-state-cells = <1>;
270 modem_smsm: modem@1 {
272 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
274 interrupt-controller;
275 #interrupt-cells = <2>;
280 interrupts = <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>;
282 interrupt-controller;
283 #interrupt-cells = <2>;
286 wcnss_smsm: wcnss@7 {
288 interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
290 interrupt-controller;
291 #interrupt-cells = <2>;
296 compatible = "qcom,smd";
299 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
300 qcom,ipc = <&apcs 8 0>;
301 qcom,smd-edge = <15>;
303 rpm_requests: rpm-requests {
304 compatible = "qcom,rpm-msm8974";
305 qcom,smd-channels = "rpm_requests";
307 rpmcc: clock-controller {
308 compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc";
310 clocks = <&xo_board>;
318 #address-cells = <1>;
321 compatible = "simple-bus";
323 intc: interrupt-controller@f9000000 {
324 compatible = "qcom,msm-qgic2";
325 interrupt-controller;
326 #interrupt-cells = <3>;
327 reg = <0xf9000000 0x1000>,
331 apcs: syscon@f9011000 {
332 compatible = "syscon";
333 reg = <0xf9011000 0x1000>;
337 #address-cells = <1>;
340 compatible = "arm,armv7-timer-mem";
341 reg = <0xf9020000 0x1000>;
342 clock-frequency = <19200000>;
346 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
347 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
348 reg = <0xf9021000 0x1000>,
354 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
355 reg = <0xf9023000 0x1000>;
361 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
362 reg = <0xf9024000 0x1000>;
368 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
369 reg = <0xf9025000 0x1000>;
375 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
376 reg = <0xf9026000 0x1000>;
382 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
383 reg = <0xf9027000 0x1000>;
389 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
390 reg = <0xf9028000 0x1000>;
395 saw0: power-controller@f9089000 {
396 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
397 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
400 saw1: power-controller@f9099000 {
401 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
402 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
405 saw2: power-controller@f90a9000 {
406 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
407 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
410 saw3: power-controller@f90b9000 {
411 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
412 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
415 saw_l2: power-controller@f9012000 {
416 compatible = "qcom,saw2";
417 reg = <0xf9012000 0x1000>;
421 acc0: power-manager@f9088000 {
422 compatible = "qcom,kpss-acc-v2";
423 reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
426 acc1: power-manager@f9098000 {
427 compatible = "qcom,kpss-acc-v2";
428 reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
431 acc2: power-manager@f90a8000 {
432 compatible = "qcom,kpss-acc-v2";
433 reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
436 acc3: power-manager@f90b8000 {
437 compatible = "qcom,kpss-acc-v2";
438 reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
441 sdhc_1: mmc@f9824900 {
442 compatible = "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4";
443 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
444 reg-names = "hc", "core";
445 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
446 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
447 interrupt-names = "hc_irq", "pwr_irq";
448 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
449 <&gcc GCC_SDCC1_APPS_CLK>,
451 clock-names = "iface", "core", "xo";
458 sdhc_3: mmc@f9864900 {
459 compatible = "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4";
460 reg = <0xf9864900 0x11c>, <0xf9864000 0x800>;
461 reg-names = "hc", "core";
462 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
463 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
464 interrupt-names = "hc_irq", "pwr_irq";
465 clocks = <&gcc GCC_SDCC3_AHB_CLK>,
466 <&gcc GCC_SDCC3_APPS_CLK>,
468 clock-names = "iface", "core", "xo";
471 #address-cells = <1>;
477 sdhc_2: mmc@f98a4900 {
478 compatible = "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4";
479 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
480 reg-names = "hc", "core";
481 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
482 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
483 interrupt-names = "hc_irq", "pwr_irq";
484 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
485 <&gcc GCC_SDCC2_APPS_CLK>,
487 clock-names = "iface", "core", "xo";
490 #address-cells = <1>;
496 blsp1_uart1: serial@f991d000 {
497 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
498 reg = <0xf991d000 0x1000>;
499 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
500 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
501 clock-names = "core", "iface";
505 blsp1_uart2: serial@f991e000 {
506 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
507 reg = <0xf991e000 0x1000>;
508 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
509 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
510 clock-names = "core", "iface";
511 pinctrl-names = "default";
512 pinctrl-0 = <&blsp1_uart2_default>;
516 blsp1_i2c1: i2c@f9923000 {
518 compatible = "qcom,i2c-qup-v2.1.1";
519 reg = <0xf9923000 0x1000>;
520 interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>;
521 clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
522 clock-names = "core", "iface";
523 pinctrl-names = "default", "sleep";
524 pinctrl-0 = <&blsp1_i2c1_default>;
525 pinctrl-1 = <&blsp1_i2c1_sleep>;
526 #address-cells = <1>;
530 blsp1_i2c2: i2c@f9924000 {
532 compatible = "qcom,i2c-qup-v2.1.1";
533 reg = <0xf9924000 0x1000>;
534 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
535 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
536 clock-names = "core", "iface";
537 pinctrl-names = "default", "sleep";
538 pinctrl-0 = <&blsp1_i2c2_default>;
539 pinctrl-1 = <&blsp1_i2c2_sleep>;
540 #address-cells = <1>;
544 blsp1_i2c3: i2c@f9925000 {
546 compatible = "qcom,i2c-qup-v2.1.1";
547 reg = <0xf9925000 0x1000>;
548 interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
549 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
550 clock-names = "core", "iface";
551 pinctrl-names = "default", "sleep";
552 pinctrl-0 = <&blsp1_i2c3_default>;
553 pinctrl-1 = <&blsp1_i2c3_sleep>;
554 #address-cells = <1>;
558 blsp1_i2c6: i2c@f9928000 {
560 compatible = "qcom,i2c-qup-v2.1.1";
561 reg = <0xf9928000 0x1000>;
562 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
563 clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
564 clock-names = "core", "iface";
565 pinctrl-names = "default", "sleep";
566 pinctrl-0 = <&blsp1_i2c6_default>;
567 pinctrl-1 = <&blsp1_i2c6_sleep>;
568 #address-cells = <1>;
572 blsp2_dma: dma-controller@f9944000 {
573 compatible = "qcom,bam-v1.4.0";
574 reg = <0xf9944000 0x19000>;
575 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
576 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
577 clock-names = "bam_clk";
582 blsp2_uart1: serial@f995d000 {
583 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
584 reg = <0xf995d000 0x1000>;
585 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
586 clocks = <&gcc GCC_BLSP2_UART1_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
587 clock-names = "core", "iface";
588 pinctrl-names = "default", "sleep";
589 pinctrl-0 = <&blsp2_uart1_default>;
590 pinctrl-1 = <&blsp2_uart1_sleep>;
594 blsp2_uart2: serial@f995e000 {
595 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
596 reg = <0xf995e000 0x1000>;
597 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
598 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
599 clock-names = "core", "iface";
603 blsp2_uart4: serial@f9960000 {
604 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
605 reg = <0xf9960000 0x1000>;
606 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
607 clocks = <&gcc GCC_BLSP2_UART4_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
608 clock-names = "core", "iface";
609 pinctrl-names = "default";
610 pinctrl-0 = <&blsp2_uart4_default>;
614 blsp2_i2c2: i2c@f9964000 {
616 compatible = "qcom,i2c-qup-v2.1.1";
617 reg = <0xf9964000 0x1000>;
618 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
619 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
620 clock-names = "core", "iface";
621 pinctrl-names = "default", "sleep";
622 pinctrl-0 = <&blsp2_i2c2_default>;
623 pinctrl-1 = <&blsp2_i2c2_sleep>;
624 #address-cells = <1>;
628 blsp2_i2c5: i2c@f9967000 {
630 compatible = "qcom,i2c-qup-v2.1.1";
631 reg = <0xf9967000 0x1000>;
632 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
633 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
634 clock-names = "core", "iface";
635 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
636 dma-names = "tx", "rx";
637 pinctrl-names = "default", "sleep";
638 pinctrl-0 = <&blsp2_i2c5_default>;
639 pinctrl-1 = <&blsp2_i2c5_sleep>;
640 #address-cells = <1>;
644 blsp2_i2c6: i2c@f9968000 {
646 compatible = "qcom,i2c-qup-v2.1.1";
647 reg = <0xf9968000 0x1000>;
648 interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
649 clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
650 clock-names = "core", "iface";
651 pinctrl-names = "default", "sleep";
652 pinctrl-0 = <&blsp2_i2c6_default>;
653 pinctrl-1 = <&blsp2_i2c6_sleep>;
654 #address-cells = <1>;
659 compatible = "qcom,ci-hdrc";
660 reg = <0xf9a55000 0x200>,
662 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
663 clocks = <&gcc GCC_USB_HS_AHB_CLK>,
664 <&gcc GCC_USB_HS_SYSTEM_CLK>;
665 clock-names = "iface", "core";
666 assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
667 assigned-clock-rates = <75000000>;
668 resets = <&gcc GCC_USB_HS_BCR>;
669 reset-names = "core";
672 ahb-burst-config = <0>;
673 phy-names = "usb-phy";
679 compatible = "qcom,usb-hs-phy-msm8974",
682 clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
683 clock-names = "ref", "sleep";
684 resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
685 reset-names = "phy", "por";
690 compatible = "qcom,usb-hs-phy-msm8974",
693 clocks = <&xo_board>, <&gcc GCC_USB2B_PHY_SLEEP_CLK>;
694 clock-names = "ref", "sleep";
695 resets = <&gcc GCC_USB2B_PHY_BCR>, <&usb 1>;
696 reset-names = "phy", "por";
703 compatible = "qcom,prng";
704 reg = <0xf9bff000 0x200>;
705 clocks = <&gcc GCC_PRNG_AHB_CLK>;
706 clock-names = "core";
709 pronto: remoteproc@fb204000 {
710 compatible = "qcom,pronto-v2-pil", "qcom,pronto";
711 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
712 reg-names = "ccu", "dxe", "pmu";
714 memory-region = <&wcnss_region>;
716 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
717 <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
718 <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
719 <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
720 <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
721 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
723 qcom,smem-states = <&wcnss_smp2p_out 0>;
724 qcom,smem-state-names = "stop";
729 compatible = "qcom,wcn3680";
731 clocks = <&rpmcc RPM_SMD_CXO_A2>;
736 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
738 qcom,ipc = <&apcs 8 17>;
742 compatible = "qcom,wcnss";
743 qcom,smd-channels = "WCNSS_CTRL";
746 qcom,mmio = <&pronto>;
749 compatible = "qcom,wcnss-bt";
753 compatible = "qcom,wcnss-wlan";
755 interrupts = <GIC_SPI 145 IRQ_TYPE_EDGE_RISING>,
756 <GIC_SPI 146 IRQ_TYPE_EDGE_RISING>;
757 interrupt-names = "tx", "rx";
759 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
760 qcom,smem-state-names = "tx-enable",
768 compatible = "qcom,msm8974-rpm-stats";
769 reg = <0xfc190000 0x10000>;
773 compatible = "arm,coresight-tmc", "arm,primecell";
774 reg = <0xfc307000 0x1000>;
776 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
777 clock-names = "apb_pclk", "atclk";
782 remote-endpoint = <&replicator_in>;
790 remote-endpoint = <&merger_out>;
797 compatible = "arm,coresight-tpiu", "arm,primecell";
798 reg = <0xfc318000 0x1000>;
800 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
801 clock-names = "apb_pclk", "atclk";
806 remote-endpoint = <&replicator_out1>;
813 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
814 reg = <0xfc31a000 0x1000>;
816 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
817 clock-names = "apb_pclk", "atclk";
820 #address-cells = <1>;
824 * Not described input ports:
826 * 1 - connected trought funnel to Multimedia CPU
827 * 2 - connected to Wireless CPU
831 * 7 - connected to STM
835 funnel1_in5: endpoint {
836 remote-endpoint = <&kpss_out>;
843 funnel1_out: endpoint {
844 remote-endpoint = <&merger_in1>;
851 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
852 reg = <0xfc31b000 0x1000>;
854 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
855 clock-names = "apb_pclk", "atclk";
858 #address-cells = <1>;
862 * Not described input ports:
863 * 0 - connected trought funnel to Audio, Modem and
864 * Resource and Power Manager CPU's
865 * 2...7 - not-connected
869 merger_in1: endpoint {
870 remote-endpoint = <&funnel1_out>;
877 merger_out: endpoint {
878 remote-endpoint = <&etf_in>;
884 replicator@fc31c000 {
885 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
886 reg = <0xfc31c000 0x1000>;
888 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
889 clock-names = "apb_pclk", "atclk";
892 #address-cells = <1>;
897 replicator_out0: endpoint {
898 remote-endpoint = <&etr_in>;
903 replicator_out1: endpoint {
904 remote-endpoint = <&tpiu_in>;
911 replicator_in: endpoint {
912 remote-endpoint = <&etf_out>;
919 compatible = "arm,coresight-tmc", "arm,primecell";
920 reg = <0xfc322000 0x1000>;
922 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
923 clock-names = "apb_pclk", "atclk";
928 remote-endpoint = <&replicator_out0>;
935 compatible = "arm,coresight-etm4x", "arm,primecell";
936 reg = <0xfc33c000 0x1000>;
938 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
939 clock-names = "apb_pclk", "atclk";
946 remote-endpoint = <&kpss_in0>;
953 compatible = "arm,coresight-etm4x", "arm,primecell";
954 reg = <0xfc33d000 0x1000>;
956 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
957 clock-names = "apb_pclk", "atclk";
964 remote-endpoint = <&kpss_in1>;
971 compatible = "arm,coresight-etm4x", "arm,primecell";
972 reg = <0xfc33e000 0x1000>;
974 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
975 clock-names = "apb_pclk", "atclk";
982 remote-endpoint = <&kpss_in2>;
989 compatible = "arm,coresight-etm4x", "arm,primecell";
990 reg = <0xfc33f000 0x1000>;
992 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
993 clock-names = "apb_pclk", "atclk";
1000 remote-endpoint = <&kpss_in3>;
1006 /* KPSS funnel, only 4 inputs are used */
1008 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1009 reg = <0xfc345000 0x1000>;
1011 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1012 clock-names = "apb_pclk", "atclk";
1015 #address-cells = <1>;
1020 kpss_in0: endpoint {
1021 remote-endpoint = <&etm0_out>;
1026 kpss_in1: endpoint {
1027 remote-endpoint = <&etm1_out>;
1032 kpss_in2: endpoint {
1033 remote-endpoint = <&etm2_out>;
1038 kpss_in3: endpoint {
1039 remote-endpoint = <&etm3_out>;
1046 kpss_out: endpoint {
1047 remote-endpoint = <&funnel1_in5>;
1053 gcc: clock-controller@fc400000 {
1054 compatible = "qcom,gcc-msm8974";
1057 #power-domain-cells = <1>;
1058 reg = <0xfc400000 0x4000>;
1060 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
1066 rpm_msg_ram: sram@fc428000 {
1067 compatible = "qcom,rpm-msg-ram";
1068 reg = <0xfc428000 0x4000>;
1071 bimc: interconnect@fc380000 {
1072 reg = <0xfc380000 0x6a000>;
1073 compatible = "qcom,msm8974-bimc";
1074 #interconnect-cells = <1>;
1075 clock-names = "bus", "bus_a";
1076 clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
1077 <&rpmcc RPM_SMD_BIMC_A_CLK>;
1080 snoc: interconnect@fc460000 {
1081 reg = <0xfc460000 0x4000>;
1082 compatible = "qcom,msm8974-snoc";
1083 #interconnect-cells = <1>;
1084 clock-names = "bus", "bus_a";
1085 clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
1086 <&rpmcc RPM_SMD_SNOC_A_CLK>;
1089 pnoc: interconnect@fc468000 {
1090 reg = <0xfc468000 0x4000>;
1091 compatible = "qcom,msm8974-pnoc";
1092 #interconnect-cells = <1>;
1093 clock-names = "bus", "bus_a";
1094 clocks = <&rpmcc RPM_SMD_PNOC_CLK>,
1095 <&rpmcc RPM_SMD_PNOC_A_CLK>;
1098 ocmemnoc: interconnect@fc470000 {
1099 reg = <0xfc470000 0x4000>;
1100 compatible = "qcom,msm8974-ocmemnoc";
1101 #interconnect-cells = <1>;
1102 clock-names = "bus", "bus_a";
1103 clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
1104 <&rpmcc RPM_SMD_OCMEMGX_A_CLK>;
1107 mmssnoc: interconnect@fc478000 {
1108 reg = <0xfc478000 0x4000>;
1109 compatible = "qcom,msm8974-mmssnoc";
1110 #interconnect-cells = <1>;
1111 clock-names = "bus", "bus_a";
1112 clocks = <&mmcc MMSS_S0_AXI_CLK>,
1113 <&mmcc MMSS_S0_AXI_CLK>;
1116 cnoc: interconnect@fc480000 {
1117 reg = <0xfc480000 0x4000>;
1118 compatible = "qcom,msm8974-cnoc";
1119 #interconnect-cells = <1>;
1120 clock-names = "bus", "bus_a";
1121 clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
1122 <&rpmcc RPM_SMD_CNOC_A_CLK>;
1125 tsens: thermal-sensor@fc4a9000 {
1126 compatible = "qcom,msm8974-tsens", "qcom,tsens-v0_1";
1127 reg = <0xfc4a9000 0x1000>, /* TM */
1128 <0xfc4a8000 0x1000>; /* SROT */
1129 nvmem-cells = <&tsens_mode>,
1130 <&tsens_base1>, <&tsens_base2>,
1131 <&tsens_use_backup>,
1132 <&tsens_mode_backup>,
1133 <&tsens_base1_backup>, <&tsens_base2_backup>,
1134 <&tsens_s0_p1>, <&tsens_s0_p2>,
1135 <&tsens_s1_p1>, <&tsens_s1_p2>,
1136 <&tsens_s2_p1>, <&tsens_s2_p2>,
1137 <&tsens_s3_p1>, <&tsens_s3_p2>,
1138 <&tsens_s4_p1>, <&tsens_s4_p2>,
1139 <&tsens_s5_p1>, <&tsens_s5_p2>,
1140 <&tsens_s6_p1>, <&tsens_s6_p2>,
1141 <&tsens_s7_p1>, <&tsens_s7_p2>,
1142 <&tsens_s8_p1>, <&tsens_s8_p2>,
1143 <&tsens_s9_p1>, <&tsens_s9_p2>,
1144 <&tsens_s10_p1>, <&tsens_s10_p2>,
1145 <&tsens_s0_p1_backup>, <&tsens_s0_p2_backup>,
1146 <&tsens_s1_p1_backup>, <&tsens_s1_p2_backup>,
1147 <&tsens_s2_p1_backup>, <&tsens_s2_p2_backup>,
1148 <&tsens_s3_p1_backup>, <&tsens_s3_p2_backup>,
1149 <&tsens_s4_p1_backup>, <&tsens_s4_p2_backup>,
1150 <&tsens_s5_p1_backup>, <&tsens_s5_p2_backup>,
1151 <&tsens_s6_p1_backup>, <&tsens_s6_p2_backup>,
1152 <&tsens_s7_p1_backup>, <&tsens_s7_p2_backup>,
1153 <&tsens_s8_p1_backup>, <&tsens_s8_p2_backup>,
1154 <&tsens_s9_p1_backup>, <&tsens_s9_p2_backup>,
1155 <&tsens_s10_p1_backup>, <&tsens_s10_p2_backup>;
1156 nvmem-cell-names = "mode",
1160 "base1_backup", "base2_backup",
1172 "s0_p1_backup", "s0_p2_backup",
1173 "s1_p1_backup", "s1_p2_backup",
1174 "s2_p1_backup", "s2_p2_backup",
1175 "s3_p1_backup", "s3_p2_backup",
1176 "s4_p1_backup", "s4_p2_backup",
1177 "s5_p1_backup", "s5_p2_backup",
1178 "s6_p1_backup", "s6_p2_backup",
1179 "s7_p1_backup", "s7_p2_backup",
1180 "s8_p1_backup", "s8_p2_backup",
1181 "s9_p1_backup", "s9_p2_backup",
1182 "s10_p1_backup", "s10_p2_backup";
1183 #qcom,sensors = <11>;
1184 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
1185 interrupt-names = "uplow";
1186 #thermal-sensor-cells = <1>;
1190 compatible = "qcom,pshold";
1191 reg = <0xfc4ab000 0x4>;
1194 qfprom: qfprom@fc4bc000 {
1195 compatible = "qcom,msm8974-qfprom", "qcom,qfprom";
1196 reg = <0xfc4bc000 0x1000>;
1197 #address-cells = <1>;
1200 tsens_base1: base1@d0 {
1205 tsens_s0_p1: s0-p1@d1 {
1210 tsens_s1_p1: s1-p1@d2 {
1215 tsens_s2_p1: s2-p1@d2 {
1220 tsens_s3_p1: s3-p1@d3 {
1225 tsens_s4_p1: s4-p1@d4 {
1230 tsens_s5_p1: s5-p1@d4 {
1235 tsens_s6_p1: s6-p1@d5 {
1240 tsens_s7_p1: s7-p1@d6 {
1245 tsens_s8_p1: s8-p1@d7 {
1250 tsens_mode: mode@d7 {
1255 tsens_s9_p1: s9-p1@d8 {
1260 tsens_s10_p1: s10_p1@d8 {
1265 tsens_base2: base2@d9 {
1270 tsens_s0_p2: s0-p2@da {
1275 tsens_s1_p2: s1-p2@db {
1280 tsens_s2_p2: s2-p2@dc {
1285 tsens_s3_p2: s3-p2@dc {
1290 tsens_s4_p2: s4-p2@dd {
1295 tsens_s5_p2: s5-p2@de {
1300 tsens_s6_p2: s6-p2@df {
1305 tsens_s7_p2: s7-p2@e0 {
1310 tsens_s8_p2: s8-p2@e0 {
1315 tsens_s9_p2: s9-p2@e1 {
1320 tsens_s10_p2: s10_p2@e2 {
1325 tsens_s5_p2_backup: s5-p2_backup@e3 {
1330 tsens_mode_backup: mode_backup@e3 {
1335 tsens_s6_p2_backup: s6-p2_backup@e4 {
1340 tsens_s7_p2_backup: s7-p2_backup@e4 {
1345 tsens_s8_p2_backup: s8-p2_backup@e5 {
1350 tsens_s9_p2_backup: s9-p2_backup@e6 {
1355 tsens_s10_p2_backup: s10_p2_backup@e7 {
1360 tsens_base1_backup: base1_backup@440 {
1365 tsens_s0_p1_backup: s0-p1_backup@441 {
1370 tsens_s1_p1_backup: s1-p1_backup@442 {
1375 tsens_s2_p1_backup: s2-p1_backup@442 {
1380 tsens_s3_p1_backup: s3-p1_backup@443 {
1385 tsens_s4_p1_backup: s4-p1_backup@444 {
1390 tsens_s5_p1_backup: s5-p1_backup@444 {
1395 tsens_s6_p1_backup: s6-p1_backup@445 {
1400 tsens_s7_p1_backup: s7-p1_backup@446 {
1405 tsens_use_backup: use_backup@447 {
1410 tsens_s8_p1_backup: s8-p1_backup@448 {
1415 tsens_s9_p1_backup: s9-p1_backup@448 {
1420 tsens_s10_p1_backup: s10_p1_backup@449 {
1425 tsens_base2_backup: base2_backup@44a {
1430 tsens_s0_p2_backup: s0-p2_backup@44b {
1435 tsens_s1_p2_backup: s1-p2_backup@44c {
1440 tsens_s2_p2_backup: s2-p2_backup@44c {
1445 tsens_s3_p2_backup: s3-p2_backup@44d {
1450 tsens_s4_p2_backup: s4-p2_backup@44e {
1456 spmi_bus: spmi@fc4cf000 {
1457 compatible = "qcom,spmi-pmic-arb";
1458 reg-names = "core", "intr", "cnfg";
1459 reg = <0xfc4cf000 0x1000>,
1460 <0xfc4cb000 0x1000>,
1461 <0xfc4ca000 0x1000>;
1462 interrupt-names = "periph_irq";
1463 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1466 #address-cells = <2>;
1468 interrupt-controller;
1469 #interrupt-cells = <4>;
1472 bam_dmux_dma: dma-controller@fc834000 {
1473 compatible = "qcom,bam-v1.4.0";
1474 reg = <0xfc834000 0x7000>;
1475 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1481 qcom,powered-remotely;
1484 remoteproc_mss: remoteproc@fc880000 {
1485 compatible = "qcom,msm8974-mss-pil";
1486 reg = <0xfc880000 0x100>, <0xfc820000 0x020>;
1487 reg-names = "qdsp6", "rmb";
1489 interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
1490 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1491 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1492 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1493 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1494 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
1496 clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
1497 <&gcc GCC_MSS_CFG_AHB_CLK>,
1498 <&gcc GCC_BOOT_ROM_AHB_CLK>,
1500 clock-names = "iface", "bus", "mem", "xo";
1502 resets = <&gcc GCC_MSS_RESTART>;
1503 reset-names = "mss_restart";
1505 qcom,halt-regs = <&tcsr_mutex 0x1180 0x1200 0x1280>;
1507 qcom,smem-states = <&modem_smp2p_out 0>;
1508 qcom,smem-state-names = "stop";
1510 status = "disabled";
1513 memory-region = <&mba_region>;
1517 memory-region = <&mpss_region>;
1520 bam_dmux: bam-dmux {
1521 compatible = "qcom,bam-dmux";
1523 interrupt-parent = <&modem_smsm>;
1524 interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>;
1525 interrupt-names = "pc", "pc-ack";
1527 qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>;
1528 qcom,smem-state-names = "pc", "pc-ack";
1530 dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>;
1531 dma-names = "tx", "rx";
1535 interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
1537 qcom,ipc = <&apcs 8 12>;
1538 qcom,smd-edge = <0>;
1544 tcsr_mutex: hwlock@fd484000 {
1545 compatible = "qcom,msm8974-tcsr-mutex", "qcom,tcsr-mutex", "syscon";
1546 reg = <0xfd484000 0x2000>;
1547 #hwlock-cells = <1>;
1550 tcsr: syscon@fd4a0000 {
1551 compatible = "qcom,tcsr-msm8974", "syscon";
1552 reg = <0xfd4a0000 0x10000>;
1555 tlmm: pinctrl@fd510000 {
1556 compatible = "qcom,msm8974-pinctrl";
1557 reg = <0xfd510000 0x4000>;
1559 gpio-ranges = <&tlmm 0 0 146>;
1561 interrupt-controller;
1562 #interrupt-cells = <2>;
1563 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1565 sdc1_off: sdc1-off-state {
1569 drive-strength = <2>;
1575 drive-strength = <2>;
1581 drive-strength = <2>;
1585 sdc2_off: sdc2-off-state {
1589 drive-strength = <2>;
1595 drive-strength = <2>;
1601 drive-strength = <2>;
1608 drive-strength = <2>;
1612 blsp1_uart2_default: blsp1-uart2-default-state {
1615 function = "blsp_uart2";
1616 drive-strength = <2>;
1622 function = "blsp_uart2";
1623 drive-strength = <4>;
1628 blsp2_uart1_default: blsp2-uart1-default-state {
1630 pins = "gpio41", "gpio44";
1631 function = "blsp_uart7";
1632 drive-strength = <2>;
1637 pins = "gpio42", "gpio43";
1638 function = "blsp_uart7";
1639 drive-strength = <2>;
1644 blsp2_uart1_sleep: blsp2-uart1-sleep-state {
1645 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1647 drive-strength = <2>;
1651 blsp2_uart4_default: blsp2-uart4-default-state {
1653 pins = "gpio53", "gpio56";
1654 function = "blsp_uart10";
1655 drive-strength = <2>;
1660 pins = "gpio54", "gpio55";
1661 function = "blsp_uart10";
1662 drive-strength = <2>;
1667 blsp1_i2c1_default: blsp1-i2c1-default-state {
1668 pins = "gpio2", "gpio3";
1669 function = "blsp_i2c1";
1670 drive-strength = <2>;
1674 blsp1_i2c1_sleep: blsp1-i2c1-sleep-state {
1675 pins = "gpio2", "gpio3";
1676 function = "blsp_i2c1";
1677 drive-strength = <2>;
1681 blsp1_i2c2_default: blsp1-i2c2-default-state {
1682 pins = "gpio6", "gpio7";
1683 function = "blsp_i2c2";
1684 drive-strength = <2>;
1688 blsp1_i2c2_sleep: blsp1-i2c2-sleep-state {
1689 pins = "gpio6", "gpio7";
1690 function = "blsp_i2c2";
1691 drive-strength = <2>;
1695 blsp1_i2c3_default: blsp1-i2c3-default-state {
1696 pins = "gpio10", "gpio11";
1697 function = "blsp_i2c3";
1698 drive-strength = <2>;
1702 blsp1_i2c3_sleep: blsp1-i2c3-sleep-state {
1703 pins = "gpio10", "gpio11";
1704 function = "blsp_i2c3";
1705 drive-strength = <2>;
1709 /* BLSP1_I2C4 info is missing */
1711 /* BLSP1_I2C5 info is missing */
1713 blsp1_i2c6_default: blsp1-i2c6-default-state {
1714 pins = "gpio29", "gpio30";
1715 function = "blsp_i2c6";
1716 drive-strength = <2>;
1720 blsp1_i2c6_sleep: blsp1-i2c6-sleep-state {
1721 pins = "gpio29", "gpio30";
1722 function = "blsp_i2c6";
1723 drive-strength = <2>;
1726 /* 6 interfaces per QUP, BLSP2 indexes are numbered (n)+6 */
1728 /* BLSP2_I2C1 info is missing */
1730 blsp2_i2c2_default: blsp2-i2c2-default-state {
1731 pins = "gpio47", "gpio48";
1732 function = "blsp_i2c8";
1733 drive-strength = <2>;
1737 blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
1738 pins = "gpio47", "gpio48";
1739 function = "blsp_i2c8";
1740 drive-strength = <2>;
1744 /* BLSP2_I2C3 info is missing */
1746 /* BLSP2_I2C4 info is missing */
1748 blsp2_i2c5_default: blsp2-i2c5-default-state {
1749 pins = "gpio83", "gpio84";
1750 function = "blsp_i2c11";
1751 drive-strength = <2>;
1755 blsp2_i2c5_sleep: blsp2-i2c5-sleep-state {
1756 pins = "gpio83", "gpio84";
1757 function = "blsp_i2c11";
1758 drive-strength = <2>;
1762 blsp2_i2c6_default: blsp2-i2c6-default-state {
1763 pins = "gpio87", "gpio88";
1764 function = "blsp_i2c12";
1765 drive-strength = <2>;
1769 blsp2_i2c6_sleep: blsp2-i2c6-sleep-state {
1770 pins = "gpio87", "gpio88";
1771 function = "blsp_i2c12";
1772 drive-strength = <2>;
1776 cci_default: cci-default-state {
1777 cci_i2c0_default: cci-i2c0-default-pins {
1778 pins = "gpio19", "gpio20";
1779 function = "cci_i2c0";
1780 drive-strength = <2>;
1784 cci_i2c1_default: cci-i2c1-default-pins {
1785 pins = "gpio21", "gpio22";
1786 function = "cci_i2c1";
1787 drive-strength = <2>;
1792 cci_sleep: cci-sleep-state {
1793 cci_i2c0_sleep: cci-i2c0-sleep-pins {
1794 pins = "gpio19", "gpio20";
1796 drive-strength = <2>;
1800 cci_i2c1_sleep: cci-i2c1-sleep-pins {
1801 pins = "gpio21", "gpio22";
1803 drive-strength = <2>;
1808 spi8_default: spi8_default-state {
1811 function = "blsp_spi8";
1815 function = "blsp_spi8";
1819 function = "blsp_spi8";
1823 function = "blsp_spi8";
1828 mmcc: clock-controller@fd8c0000 {
1829 compatible = "qcom,mmcc-msm8974";
1832 #power-domain-cells = <1>;
1833 reg = <0xfd8c0000 0x6000>;
1834 clocks = <&xo_board>,
1835 <&gcc GCC_MMSS_GPLL0_CLK_SRC>,
1838 <&rpmcc RPM_SMD_GFX3D_CLK_SRC>,
1860 mdss: display-subsystem@fd900000 {
1861 compatible = "qcom,mdss";
1862 reg = <0xfd900000 0x100>, <0xfd924000 0x1000>;
1863 reg-names = "mdss_phys", "vbif_phys";
1865 power-domains = <&mmcc MDSS_GDSC>;
1867 clocks = <&mmcc MDSS_AHB_CLK>,
1868 <&mmcc MDSS_AXI_CLK>,
1869 <&mmcc MDSS_VSYNC_CLK>;
1870 clock-names = "iface", "bus", "vsync";
1872 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1874 interrupt-controller;
1875 #interrupt-cells = <1>;
1877 status = "disabled";
1879 #address-cells = <1>;
1883 mdp: display-controller@fd900000 {
1884 compatible = "qcom,msm8974-mdp5", "qcom,mdp5";
1885 reg = <0xfd900100 0x22000>;
1886 reg-names = "mdp_phys";
1888 interrupt-parent = <&mdss>;
1891 clocks = <&mmcc MDSS_AHB_CLK>,
1892 <&mmcc MDSS_AXI_CLK>,
1893 <&mmcc MDSS_MDP_CLK>,
1894 <&mmcc MDSS_VSYNC_CLK>;
1895 clock-names = "iface", "bus", "core", "vsync";
1897 interconnects = <&mmssnoc MNOC_MAS_MDP_PORT0 &bimc BIMC_SLV_EBI_CH0>;
1898 interconnect-names = "mdp0-mem";
1901 #address-cells = <1>;
1906 mdp5_intf1_out: endpoint {
1907 remote-endpoint = <&mdss_dsi0_in>;
1913 mdp5_intf2_out: endpoint {
1914 remote-endpoint = <&mdss_dsi1_in>;
1920 mdss_dsi0: dsi@fd922800 {
1921 compatible = "qcom,msm8974-dsi-ctrl",
1922 "qcom,mdss-dsi-ctrl";
1923 reg = <0xfd922800 0x1f8>;
1924 reg-names = "dsi_ctrl";
1926 interrupt-parent = <&mdss>;
1929 assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
1930 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
1932 clocks = <&mmcc MDSS_MDP_CLK>,
1933 <&mmcc MDSS_AHB_CLK>,
1934 <&mmcc MDSS_AXI_CLK>,
1935 <&mmcc MDSS_BYTE0_CLK>,
1936 <&mmcc MDSS_PCLK0_CLK>,
1937 <&mmcc MDSS_ESC0_CLK>,
1938 <&mmcc MMSS_MISC_AHB_CLK>;
1939 clock-names = "mdp_core",
1947 phys = <&mdss_dsi0_phy>;
1949 status = "disabled";
1951 #address-cells = <1>;
1955 #address-cells = <1>;
1960 mdss_dsi0_in: endpoint {
1961 remote-endpoint = <&mdp5_intf1_out>;
1967 mdss_dsi0_out: endpoint {
1973 mdss_dsi0_phy: phy@fd922a00 {
1974 compatible = "qcom,dsi-phy-28nm-hpm";
1975 reg = <0xfd922a00 0xd4>,
1978 reg-names = "dsi_pll",
1980 "dsi_phy_regulator";
1985 clocks = <&mmcc MDSS_AHB_CLK>, <&xo_board>;
1986 clock-names = "iface", "ref";
1988 status = "disabled";
1991 mdss_dsi1: dsi@fd922e00 {
1992 compatible = "qcom,msm8974-dsi-ctrl",
1993 "qcom,mdss-dsi-ctrl";
1994 reg = <0xfd922e00 0x1f8>;
1995 reg-names = "dsi_ctrl";
1997 interrupt-parent = <&mdss>;
2000 assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
2001 assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
2003 clocks = <&mmcc MDSS_MDP_CLK>,
2004 <&mmcc MDSS_AHB_CLK>,
2005 <&mmcc MDSS_AXI_CLK>,
2006 <&mmcc MDSS_BYTE1_CLK>,
2007 <&mmcc MDSS_PCLK1_CLK>,
2008 <&mmcc MDSS_ESC1_CLK>,
2009 <&mmcc MMSS_MISC_AHB_CLK>;
2010 clock-names = "mdp_core",
2018 phys = <&mdss_dsi1_phy>;
2020 status = "disabled";
2022 #address-cells = <1>;
2026 #address-cells = <1>;
2031 mdss_dsi1_in: endpoint {
2032 remote-endpoint = <&mdp5_intf2_out>;
2038 mdss_dsi1_out: endpoint {
2044 mdss_dsi1_phy: phy@fd923000 {
2045 compatible = "qcom,dsi-phy-28nm-hpm";
2046 reg = <0xfd923000 0xd4>,
2049 reg-names = "dsi_pll",
2051 "dsi_phy_regulator";
2056 clocks = <&mmcc MDSS_AHB_CLK>, <&xo_board>;
2057 clock-names = "iface", "ref";
2059 status = "disabled";
2064 compatible = "qcom,msm8974-cci";
2065 #address-cells = <1>;
2067 reg = <0xfda0c000 0x1000>;
2068 interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
2069 clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2070 <&mmcc CAMSS_CCI_CCI_AHB_CLK>,
2071 <&mmcc CAMSS_CCI_CCI_CLK>;
2072 clock-names = "camss_top_ahb",
2076 pinctrl-names = "default", "sleep";
2077 pinctrl-0 = <&cci_default>;
2078 pinctrl-1 = <&cci_sleep>;
2080 status = "disabled";
2082 cci_i2c0: i2c-bus@0 {
2084 clock-frequency = <100000>;
2085 #address-cells = <1>;
2089 cci_i2c1: i2c-bus@1 {
2091 clock-frequency = <100000>;
2092 #address-cells = <1>;
2097 gpu: adreno@fdb00000 {
2098 compatible = "qcom,adreno-330.1", "qcom,adreno";
2099 reg = <0xfdb00000 0x10000>;
2100 reg-names = "kgsl_3d0_reg_memory";
2102 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
2103 interrupt-names = "kgsl_3d0_irq";
2105 clocks = <&mmcc OXILI_GFX3D_CLK>,
2106 <&mmcc OXILICX_AHB_CLK>,
2107 <&mmcc OXILICX_AXI_CLK>;
2108 clock-names = "core", "iface", "mem_iface";
2111 power-domains = <&mmcc OXILICX_GDSC>;
2112 operating-points-v2 = <&gpu_opp_table>;
2114 interconnects = <&mmssnoc MNOC_MAS_GRAPHICS_3D &bimc BIMC_SLV_EBI_CH0>,
2115 <&ocmemnoc OCMEM_VNOC_MAS_GFX3D &ocmemnoc OCMEM_SLV_OCMEM>;
2116 interconnect-names = "gfx-mem", "ocmem";
2118 // iommus = <&gpu_iommu 0>;
2120 status = "disabled";
2122 gpu_opp_table: opp-table {
2123 compatible = "operating-points-v2";
2126 opp-hz = /bits/ 64 <320000000>;
2130 opp-hz = /bits/ 64 <200000000>;
2134 opp-hz = /bits/ 64 <27000000>;
2140 compatible = "qcom,msm8974-ocmem";
2141 reg = <0xfdd00000 0x2000>,
2142 <0xfec00000 0x180000>;
2143 reg-names = "ctrl", "mem";
2144 ranges = <0 0xfec00000 0x180000>;
2145 clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
2146 <&mmcc OCMEMCX_OCMEMNOC_CLK>;
2147 clock-names = "core", "iface";
2149 #address-cells = <1>;
2152 gmu_sram: gmu-sram@0 {
2153 reg = <0x0 0x100000>;
2157 remoteproc_adsp: remoteproc@fe200000 {
2158 compatible = "qcom,msm8974-adsp-pil";
2159 reg = <0xfe200000 0x100>;
2161 interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
2162 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2163 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2164 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2165 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2166 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
2168 clocks = <&xo_board>;
2171 memory-region = <&adsp_region>;
2173 qcom,smem-states = <&adsp_smp2p_out 0>;
2174 qcom,smem-state-names = "stop";
2176 status = "disabled";
2179 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
2181 qcom,ipc = <&apcs 8 8>;
2182 qcom,smd-edge = <1>;
2187 imem: sram@fe805000 {
2188 compatible = "qcom,msm8974-imem", "syscon", "simple-mfd";
2189 reg = <0xfe805000 0x1000>;
2192 compatible = "syscon-reboot-mode";
2200 polling-delay-passive = <250>;
2201 polling-delay = <1000>;
2203 thermal-sensors = <&tsens 5>;
2207 temperature = <75000>;
2208 hysteresis = <2000>;
2212 temperature = <110000>;
2213 hysteresis = <2000>;
2220 polling-delay-passive = <250>;
2221 polling-delay = <1000>;
2223 thermal-sensors = <&tsens 6>;
2227 temperature = <75000>;
2228 hysteresis = <2000>;
2232 temperature = <110000>;
2233 hysteresis = <2000>;
2240 polling-delay-passive = <250>;
2241 polling-delay = <1000>;
2243 thermal-sensors = <&tsens 7>;
2247 temperature = <75000>;
2248 hysteresis = <2000>;
2252 temperature = <110000>;
2253 hysteresis = <2000>;
2260 polling-delay-passive = <250>;
2261 polling-delay = <1000>;
2263 thermal-sensors = <&tsens 8>;
2267 temperature = <75000>;
2268 hysteresis = <2000>;
2272 temperature = <110000>;
2273 hysteresis = <2000>;
2280 polling-delay-passive = <250>;
2281 polling-delay = <1000>;
2283 thermal-sensors = <&tsens 1>;
2286 q6_dsp_alert0: trip-point0 {
2287 temperature = <90000>;
2288 hysteresis = <2000>;
2295 polling-delay-passive = <250>;
2296 polling-delay = <1000>;
2298 thermal-sensors = <&tsens 2>;
2301 modemtx_alert0: trip-point0 {
2302 temperature = <90000>;
2303 hysteresis = <2000>;
2310 polling-delay-passive = <250>;
2311 polling-delay = <1000>;
2313 thermal-sensors = <&tsens 3>;
2316 video_alert0: trip-point0 {
2317 temperature = <95000>;
2318 hysteresis = <2000>;
2325 polling-delay-passive = <250>;
2326 polling-delay = <1000>;
2328 thermal-sensors = <&tsens 4>;
2331 wlan_alert0: trip-point0 {
2332 temperature = <105000>;
2333 hysteresis = <2000>;
2340 polling-delay-passive = <250>;
2341 polling-delay = <1000>;
2343 thermal-sensors = <&tsens 9>;
2346 gpu1_alert0: trip-point0 {
2347 temperature = <90000>;
2348 hysteresis = <2000>;
2354 gpu-bottom-thermal {
2355 polling-delay-passive = <250>;
2356 polling-delay = <1000>;
2358 thermal-sensors = <&tsens 10>;
2361 gpu2_alert0: trip-point0 {
2362 temperature = <90000>;
2363 hysteresis = <2000>;
2371 compatible = "arm,armv7-timer";
2372 interrupts = <GIC_PPI 2 0xf08>,
2376 clock-frequency = <19200000>;
2379 vreg_boost: vreg-boost {
2380 compatible = "regulator-fixed";
2382 regulator-name = "vreg-boost";
2383 regulator-min-microvolt = <3150000>;
2384 regulator-max-microvolt = <3150000>;
2386 regulator-always-on;
2389 gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
2392 pinctrl-names = "default";
2393 pinctrl-0 = <&boost_bypass_n_pin>;
2396 vreg_vph_pwr: vreg-vph-pwr {
2397 compatible = "regulator-fixed";
2398 regulator-name = "vph-pwr";
2400 regulator-min-microvolt = <3600000>;
2401 regulator-max-microvolt = <3600000>;
2403 regulator-always-on;