1 /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 #include <dt-bindings/clock/qcom,gcc-msm8996.h>
15 #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
16 #include <dt-bindings/clock/qcom,rpmcc.h>
19 model = "Qualcomm Technologies, Inc. MSM8996";
21 interrupt-parent = <&intc>;
29 device_type = "memory";
30 /* We expect the bootloader to fill in the reg */
39 mba_region: mba@91500000 {
40 reg = <0x0 0x91500000 0x0 0x200000>;
44 slpi_region: slpi@90b00000 {
45 reg = <0x0 0x90b00000 0x0 0xa00000>;
49 venus_region: venus@90400000 {
50 reg = <0x0 0x90400000 0x0 0x700000>;
54 adsp_region: adsp@8ea00000 {
55 reg = <0x0 0x8ea00000 0x0 0x1a00000>;
59 mpss_region: mpss@88800000 {
60 reg = <0x0 0x88800000 0x0 0x6200000>;
64 smem_mem: smem-mem@86000000 {
65 reg = <0x0 0x86000000 0x0 0x200000>;
70 reg = <0x0 0x85800000 0x0 0x800000>;
75 reg = <0x0 0x86200000 0x0 0x2600000>;
80 compatible = "qcom,rmtfs-mem";
82 size = <0x0 0x200000>;
83 alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
97 compatible = "qcom,kryo";
99 enable-method = "psci";
100 next-level-cache = <&L2_0>;
102 compatible = "cache";
109 compatible = "qcom,kryo";
111 enable-method = "psci";
112 next-level-cache = <&L2_0>;
117 compatible = "qcom,kryo";
119 enable-method = "psci";
120 next-level-cache = <&L2_1>;
122 compatible = "cache";
129 compatible = "qcom,kryo";
131 enable-method = "psci";
132 next-level-cache = <&L2_1>;
160 polling-delay-passive = <250>;
161 polling-delay = <1000>;
163 thermal-sensors = <&tsens0 3>;
167 temperature = <75000>;
173 temperature = <110000>;
181 polling-delay-passive = <250>;
182 polling-delay = <1000>;
184 thermal-sensors = <&tsens0 5>;
188 temperature = <75000>;
194 temperature = <110000>;
202 polling-delay-passive = <250>;
203 polling-delay = <1000>;
205 thermal-sensors = <&tsens0 8>;
209 temperature = <75000>;
215 temperature = <110000>;
223 polling-delay-passive = <250>;
224 polling-delay = <1000>;
226 thermal-sensors = <&tsens0 10>;
230 temperature = <75000>;
236 temperature = <110000>;
245 compatible = "arm,armv8-timer";
246 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
247 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
248 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
249 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
254 compatible = "fixed-clock";
256 clock-frequency = <19200000>;
257 clock-output-names = "xo_board";
260 sleep_clk: sleep_clk {
261 compatible = "fixed-clock";
263 clock-frequency = <32764>;
264 clock-output-names = "sleep_clk";
269 compatible = "arm,psci-1.0";
275 compatible = "qcom,scm-msm8996";
277 qcom,dload-mode = <&tcsr 0x13000>;
282 compatible = "qcom,tcsr-mutex";
283 syscon = <&tcsr_mutex_regs 0 0x1000>;
288 compatible = "qcom,smem";
289 memory-region = <&smem_mem>;
290 hwlocks = <&tcsr_mutex 3>;
294 compatible = "qcom,glink-rpm";
296 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
298 qcom,rpm-msg-ram = <&rpm_msg_ram>;
300 mboxes = <&apcs_glb 0>;
303 compatible = "qcom,rpm-msm8996";
304 qcom,glink-channels = "rpm_requests";
307 compatible = "qcom,rpmcc-msm8996";
312 compatible = "qcom,rpm-pm8994-regulators";
365 #address-cells = <1>;
367 ranges = <0 0 0 0xffffffff>;
368 compatible = "simple-bus";
370 rpm_msg_ram: memory@68000 {
371 compatible = "qcom,rpm-msg-ram";
372 reg = <0x68000 0x6000>;
375 tcsr_mutex_regs: syscon@740000 {
376 compatible = "syscon";
377 reg = <0x740000 0x20000>;
380 tsens0: thermal-sensor@4a9000 {
381 compatible = "qcom,msm8996-tsens";
382 reg = <0x4a9000 0x1000>, /* TM */
383 <0x4a8000 0x1000>; /* SROT */
384 #qcom,sensors = <13>;
385 #thermal-sensor-cells = <1>;
388 tsens1: thermal-sensor@4ad000 {
389 compatible = "qcom,msm8996-tsens";
390 reg = <0x4ad000 0x1000>, /* TM */
391 <0x4ac000 0x1000>; /* SROT */
393 #thermal-sensor-cells = <1>;
396 tcsr: syscon@7a0000 {
397 compatible = "qcom,tcsr-msm8996", "syscon";
398 reg = <0x7a0000 0x18000>;
401 intc: interrupt-controller@9bc0000 {
402 compatible = "qcom,msm8996-gic-v3", "arm,gic-v3";
403 #interrupt-cells = <3>;
404 interrupt-controller;
405 #redistributor-regions = <1>;
406 redistributor-stride = <0x0 0x40000>;
407 reg = <0x09bc0000 0x10000>,
408 <0x09c00000 0x100000>;
409 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
412 apcs: syscon@9820000 {
413 compatible = "syscon";
414 reg = <0x9820000 0x1000>;
417 apcs_glb: mailbox@9820000 {
418 compatible = "qcom,msm8996-apcs-hmss-global";
419 reg = <0x9820000 0x1000>;
424 gcc: clock-controller@300000 {
425 compatible = "qcom,gcc-msm8996";
428 #power-domain-cells = <1>;
429 reg = <0x300000 0x90000>;
432 kryocc: clock-controller@6400000 {
433 compatible = "qcom,apcc-msm8996";
434 reg = <0x6400000 0x90000>;
438 blsp1_uart1: serial@7570000 {
439 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
440 reg = <0x07570000 0x1000>;
441 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
442 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
443 <&gcc GCC_BLSP1_AHB_CLK>;
444 clock-names = "core", "iface";
448 blsp1_spi0: spi@7575000 {
449 compatible = "qcom,spi-qup-v2.2.1";
450 reg = <0x07575000 0x600>;
451 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
452 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
453 <&gcc GCC_BLSP1_AHB_CLK>;
454 clock-names = "core", "iface";
455 pinctrl-names = "default", "sleep";
456 pinctrl-0 = <&blsp1_spi0_default>;
457 pinctrl-1 = <&blsp1_spi0_sleep>;
458 #address-cells = <1>;
463 blsp2_i2c0: i2c@75b5000 {
464 compatible = "qcom,i2c-qup-v2.2.1";
465 reg = <0x075b5000 0x1000>;
466 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
467 clocks = <&gcc GCC_BLSP2_AHB_CLK>,
468 <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
469 clock-names = "iface", "core";
470 pinctrl-names = "default", "sleep";
471 pinctrl-0 = <&blsp2_i2c0_default>;
472 pinctrl-1 = <&blsp2_i2c0_sleep>;
473 #address-cells = <1>;
478 blsp2_uart1: serial@75b0000 {
479 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
480 reg = <0x75b0000 0x1000>;
481 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
482 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
483 <&gcc GCC_BLSP2_AHB_CLK>;
484 clock-names = "core", "iface";
488 blsp2_i2c1: i2c@75b6000 {
489 compatible = "qcom,i2c-qup-v2.2.1";
490 reg = <0x075b6000 0x1000>;
491 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
492 clocks = <&gcc GCC_BLSP2_AHB_CLK>,
493 <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>;
494 clock-names = "iface", "core";
495 pinctrl-names = "default", "sleep";
496 pinctrl-0 = <&blsp2_i2c1_default>;
497 pinctrl-1 = <&blsp2_i2c1_sleep>;
498 #address-cells = <1>;
503 blsp2_uart2: serial@75b1000 {
504 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
505 reg = <0x075b1000 0x1000>;
506 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
507 clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
508 <&gcc GCC_BLSP2_AHB_CLK>;
509 clock-names = "core", "iface";
513 blsp1_i2c2: i2c@7577000 {
514 compatible = "qcom,i2c-qup-v2.2.1";
515 reg = <0x07577000 0x1000>;
516 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
517 clocks = <&gcc GCC_BLSP1_AHB_CLK>,
518 <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
519 clock-names = "iface", "core";
520 pinctrl-names = "default", "sleep";
521 pinctrl-0 = <&blsp1_i2c2_default>;
522 pinctrl-1 = <&blsp1_i2c2_sleep>;
523 #address-cells = <1>;
528 blsp2_spi5: spi@75ba000{
529 compatible = "qcom,spi-qup-v2.2.1";
530 reg = <0x075ba000 0x600>;
531 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
532 clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
533 <&gcc GCC_BLSP2_AHB_CLK>;
534 clock-names = "core", "iface";
535 pinctrl-names = "default", "sleep";
536 pinctrl-0 = <&blsp2_spi5_default>;
537 pinctrl-1 = <&blsp2_spi5_sleep>;
538 #address-cells = <1>;
543 sdhc2: sdhci@74a4900 {
545 compatible = "qcom,sdhci-msm-v4";
546 reg = <0x74a4900 0x314>, <0x74a4000 0x800>;
547 reg-names = "hc_mem", "core_mem";
549 interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>,
550 <0 221 IRQ_TYPE_LEVEL_HIGH>;
551 interrupt-names = "hc_irq", "pwr_irq";
553 clock-names = "iface", "core", "xo";
554 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
555 <&gcc GCC_SDCC2_APPS_CLK>,
560 msmgpio: pinctrl@1010000 {
561 compatible = "qcom,msm8996-pinctrl";
562 reg = <0x01010000 0x300000>;
563 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
566 interrupt-controller;
567 #interrupt-cells = <2>;
571 #address-cells = <1>;
574 compatible = "arm,armv7-timer-mem";
575 reg = <0x09840000 0x1000>;
576 clock-frequency = <19200000>;
580 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
581 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
582 reg = <0x09850000 0x1000>,
588 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
589 reg = <0x09870000 0x1000>;
595 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
596 reg = <0x09880000 0x1000>;
602 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
603 reg = <0x09890000 0x1000>;
609 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
610 reg = <0x098a0000 0x1000>;
616 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
617 reg = <0x098b0000 0x1000>;
623 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
624 reg = <0x098c0000 0x1000>;
629 spmi_bus: qcom,spmi@400f000 {
630 compatible = "qcom,spmi-pmic-arb";
631 reg = <0x400f000 0x1000>,
632 <0x4400000 0x800000>,
633 <0x4c00000 0x800000>,
634 <0x5800000 0x200000>,
635 <0x400a000 0x002100>;
636 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
637 interrupt-names = "periph_irq";
638 interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
641 #address-cells = <2>;
643 interrupt-controller;
644 #interrupt-cells = <4>;
648 compatible = "qcom,msm8996-ufs-phy-qmp-14nm";
649 reg = <0x627000 0xda8>;
650 reg-names = "phy_mem";
653 vdda-phy-supply = <&pm8994_l28>;
654 vdda-pll-supply = <&pm8994_l12>;
656 vdda-phy-max-microamp = <18380>;
657 vdda-pll-max-microamp = <9440>;
659 vddp-ref-clk-supply = <&pm8994_l25>;
660 vddp-ref-clk-max-microamp = <100>;
661 vddp-ref-clk-always-on;
663 clock-names = "ref_clk_src", "ref_clk";
664 clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
665 <&gcc GCC_UFS_CLKREF_CLK>;
670 compatible = "qcom,ufshc";
671 reg = <0x624000 0x2500>;
672 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
675 phy-names = "ufsphy";
677 vcc-supply = <&pm8994_l20>;
678 vccq-supply = <&pm8994_l25>;
679 vccq2-supply = <&pm8994_s4>;
681 vcc-max-microamp = <600000>;
682 vccq-max-microamp = <450000>;
683 vccq2-max-microamp = <450000>;
685 power-domains = <&gcc UFS_GDSC>;
693 "core_clk_unipro_src",
700 <&gcc UFS_AXI_CLK_SRC>,
701 <&gcc GCC_UFS_AXI_CLK>,
702 <&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
703 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
704 <&gcc GCC_UFS_AHB_CLK>,
705 <&gcc UFS_ICE_CORE_CLK_SRC>,
706 <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
707 <&gcc GCC_UFS_ICE_CORE_CLK>,
708 <&rpmcc RPM_SMD_LN_BB_CLK>,
709 <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
710 <&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
712 <100000000 200000000>,
717 <150000000 300000000>,
724 lanes-per-direction = <1>;
728 compatible = "qcom,ufs_variant";
732 mmcc: clock-controller@8c0000 {
733 compatible = "qcom,mmcc-msm8996";
736 #power-domain-cells = <1>;
737 reg = <0x8c0000 0x40000>;
738 assigned-clocks = <&mmcc MMPLL9_PLL>,
743 assigned-clock-rates = <624000000>,
751 compatible = "qcom,qfprom";
752 reg = <0x74000 0x8ff>;
753 #address-cells = <1>;
756 qusb2p_hstx_trim: hstx_trim@24e {
761 qusb2s_hstx_trim: hstx_trim@24f {
768 compatible = "qcom,msm8996-qmp-pcie-phy";
769 reg = <0x34000 0x488>;
771 #address-cells = <1>;
775 clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
776 <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
777 <&gcc GCC_PCIE_CLKREF_CLK>;
778 clock-names = "aux", "cfg_ahb", "ref";
780 vdda-phy-supply = <&pm8994_l28>;
781 vdda-pll-supply = <&pm8994_l12>;
783 resets = <&gcc GCC_PCIE_PHY_BCR>,
784 <&gcc GCC_PCIE_PHY_COM_BCR>,
785 <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
786 reset-names = "phy", "common", "cfg";
789 pciephy_0: lane@35000 {
790 reg = <0x035000 0x130>,
795 clock-output-names = "pcie_0_pipe_clk_src";
796 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
797 clock-names = "pipe0";
798 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
799 reset-names = "lane0";
802 pciephy_1: lane@36000 {
803 reg = <0x036000 0x130>,
808 clock-output-names = "pcie_1_pipe_clk_src";
809 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
810 clock-names = "pipe1";
811 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
812 reset-names = "lane1";
815 pciephy_2: lane@37000 {
816 reg = <0x037000 0x130>,
821 clock-output-names = "pcie_2_pipe_clk_src";
822 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
823 clock-names = "pipe2";
824 resets = <&gcc GCC_PCIE_2_PHY_BCR>;
825 reset-names = "lane2";
830 compatible = "qcom,msm8996-qmp-usb3-phy";
831 reg = <0x7410000 0x1c4>;
833 #address-cells = <1>;
837 clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
838 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
839 <&gcc GCC_USB3_CLKREF_CLK>;
840 clock-names = "aux", "cfg_ahb", "ref";
842 vdda-phy-supply = <&pm8994_l28>;
843 vdda-pll-supply = <&pm8994_l12>;
845 resets = <&gcc GCC_USB3_PHY_BCR>,
846 <&gcc GCC_USB3PHY_PHY_BCR>;
847 reset-names = "phy", "common";
850 ssusb_phy_0: lane@7410200 {
851 reg = <0x7410200 0x200>,
856 clock-output-names = "usb3_phy_pipe_clk_src";
857 clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
858 clock-names = "pipe0";
862 hsusb_phy1: phy@7411000 {
863 compatible = "qcom,msm8996-qusb2-phy";
864 reg = <0x7411000 0x180>;
867 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
868 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
869 clock-names = "cfg_ahb", "ref";
871 vdda-pll-supply = <&pm8994_l12>;
872 vdda-phy-dpdm-supply = <&pm8994_l24>;
874 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
875 nvmem-cells = <&qusb2p_hstx_trim>;
879 hsusb_phy2: phy@7412000 {
880 compatible = "qcom,msm8996-qusb2-phy";
881 reg = <0x7412000 0x180>;
884 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
885 <&gcc GCC_RX2_USB2_CLKREF_CLK>;
886 clock-names = "cfg_ahb", "ref";
888 vdda-pll-supply = <&pm8994_l12>;
889 vdda-phy-dpdm-supply = <&pm8994_l24>;
891 resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
892 nvmem-cells = <&qusb2s_hstx_trim>;
897 compatible = "qcom,dwc3";
898 #address-cells = <1>;
902 clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>,
903 <&gcc GCC_USB20_MASTER_CLK>,
904 <&gcc GCC_USB20_MOCK_UTMI_CLK>,
905 <&gcc GCC_USB20_SLEEP_CLK>,
906 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
908 assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
909 <&gcc GCC_USB20_MASTER_CLK>;
910 assigned-clock-rates = <19200000>, <60000000>;
912 power-domains = <&gcc USB30_GDSC>;
916 compatible = "snps,dwc3";
917 reg = <0x7600000 0xcc00>;
918 interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>;
919 phys = <&hsusb_phy2>;
920 phy-names = "usb2-phy";
921 snps,dis_u2_susphy_quirk;
922 snps,dis_enblslpm_quirk;
927 compatible = "qcom,dwc3";
928 #address-cells = <1>;
932 clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
933 <&gcc GCC_USB30_MASTER_CLK>,
934 <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
935 <&gcc GCC_USB30_MOCK_UTMI_CLK>,
936 <&gcc GCC_USB30_SLEEP_CLK>,
937 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
939 assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
940 <&gcc GCC_USB30_MASTER_CLK>;
941 assigned-clock-rates = <19200000>, <120000000>;
943 power-domains = <&gcc USB30_GDSC>;
947 compatible = "snps,dwc3";
948 reg = <0x6a00000 0xcc00>;
949 interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
950 phys = <&hsusb_phy1>, <&ssusb_phy_0>;
951 phy-names = "usb2-phy", "usb3-phy";
952 snps,dis_u2_susphy_quirk;
953 snps,dis_enblslpm_quirk;
958 power-domains = <&gcc AGGRE0_NOC_GDSC>;
959 compatible = "simple-pm-bus";
960 #address-cells = <1>;
965 compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
967 power-domains = <&gcc PCIE0_GDSC>;
968 bus-range = <0x00 0xff>;
971 reg = <0x00600000 0x2000>,
974 <0x0c100000 0x100000>;
975 reg-names = "parf", "dbi", "elbi","config";
978 phy-names = "pciephy";
980 #address-cells = <3>;
982 ranges = <0x01000000 0x0 0x0c200000 0x0c200000 0x0 0x100000>,
983 <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
985 interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
986 interrupt-names = "msi";
987 #interrupt-cells = <1>;
988 interrupt-map-mask = <0 0 0 0x7>;
989 interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
990 <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
991 <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
992 <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
994 pinctrl-names = "default", "sleep";
995 pinctrl-0 = <&pcie0_clkreq_default &pcie0_perst_default &pcie0_wake_default>;
996 pinctrl-1 = <&pcie0_clkreq_sleep &pcie0_perst_default &pcie0_wake_sleep>;
999 vdda-supply = <&pm8994_l28>;
1001 linux,pci-domain = <0>;
1003 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1004 <&gcc GCC_PCIE_0_AUX_CLK>,
1005 <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1006 <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1007 <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
1009 clock-names = "pipe",
1017 pcie1: pcie@608000 {
1018 compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
1019 power-domains = <&gcc PCIE1_GDSC>;
1020 bus-range = <0x00 0xff>;
1023 status = "disabled";
1025 reg = <0x00608000 0x2000>,
1028 <0x0d100000 0x100000>;
1030 reg-names = "parf", "dbi", "elbi","config";
1032 phys = <&pciephy_1>;
1033 phy-names = "pciephy";
1035 #address-cells = <3>;
1037 ranges = <0x01000000 0x0 0x0d200000 0x0d200000 0x0 0x100000>,
1038 <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
1040 interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
1041 interrupt-names = "msi";
1042 #interrupt-cells = <1>;
1043 interrupt-map-mask = <0 0 0 0x7>;
1044 interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1045 <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1046 <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1047 <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1049 pinctrl-names = "default", "sleep";
1050 pinctrl-0 = <&pcie1_clkreq_default &pcie1_perst_default &pcie1_wake_default>;
1051 pinctrl-1 = <&pcie1_clkreq_sleep &pcie1_perst_default &pcie1_wake_sleep>;
1054 vdda-supply = <&pm8994_l28>;
1055 linux,pci-domain = <1>;
1057 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1058 <&gcc GCC_PCIE_1_AUX_CLK>,
1059 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1060 <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1061 <&gcc GCC_PCIE_1_SLV_AXI_CLK>;
1063 clock-names = "pipe",
1070 pcie2: pcie@610000 {
1071 compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
1072 power-domains = <&gcc PCIE2_GDSC>;
1073 bus-range = <0x00 0xff>;
1075 status = "disabled";
1076 reg = <0x00610000 0x2000>,
1079 <0x0e100000 0x100000>;
1081 reg-names = "parf", "dbi", "elbi","config";
1083 phys = <&pciephy_2>;
1084 phy-names = "pciephy";
1086 #address-cells = <3>;
1088 ranges = <0x01000000 0x0 0x0e200000 0x0e200000 0x0 0x100000>,
1089 <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
1091 device_type = "pci";
1093 interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
1094 interrupt-names = "msi";
1095 #interrupt-cells = <1>;
1096 interrupt-map-mask = <0 0 0 0x7>;
1097 interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1098 <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1099 <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1100 <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1102 pinctrl-names = "default", "sleep";
1103 pinctrl-0 = <&pcie2_clkreq_default &pcie2_perst_default &pcie2_wake_default>;
1104 pinctrl-1 = <&pcie2_clkreq_sleep &pcie2_perst_default &pcie2_wake_sleep >;
1106 vdda-supply = <&pm8994_l28>;
1108 linux,pci-domain = <2>;
1109 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
1110 <&gcc GCC_PCIE_2_AUX_CLK>,
1111 <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
1112 <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
1113 <&gcc GCC_PCIE_2_SLV_AXI_CLK>;
1115 clock-names = "pipe",
1125 compatible = "qcom,msm8996-adsp-pil";
1127 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
1128 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1129 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1130 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1131 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1132 interrupt-names = "wdog", "fatal", "ready",
1133 "handover", "stop-ack";
1135 clocks = <&xo_board>;
1138 memory-region = <&adsp_region>;
1140 qcom,smem-states = <&adsp_smp2p_out 0>;
1141 qcom,smem-state-names = "stop";
1144 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
1147 qcom,ipc = <&apcs 16 8>;
1148 qcom,smd-edge = <1>;
1149 qcom,remote-pid = <2>;
1154 compatible = "qcom,smp2p";
1155 qcom,smem = <443>, <429>;
1157 interrupts = <0 158 IRQ_TYPE_EDGE_RISING>;
1159 qcom,ipc = <&apcs 16 10>;
1161 qcom,local-pid = <0>;
1162 qcom,remote-pid = <2>;
1164 adsp_smp2p_out: master-kernel {
1165 qcom,entry-name = "master-kernel";
1166 #qcom,smem-state-cells = <1>;
1169 adsp_smp2p_in: slave-kernel {
1170 qcom,entry-name = "slave-kernel";
1172 interrupt-controller;
1173 #interrupt-cells = <2>;
1178 compatible = "qcom,smp2p";
1179 qcom,smem = <435>, <428>;
1181 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
1183 qcom,ipc = <&apcs 16 14>;
1185 qcom,local-pid = <0>;
1186 qcom,remote-pid = <1>;
1188 modem_smp2p_out: master-kernel {
1189 qcom,entry-name = "master-kernel";
1190 #qcom,smem-state-cells = <1>;
1193 modem_smp2p_in: slave-kernel {
1194 qcom,entry-name = "slave-kernel";
1196 interrupt-controller;
1197 #interrupt-cells = <2>;
1202 compatible = "qcom,smp2p";
1203 qcom,smem = <481>, <430>;
1205 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
1207 qcom,ipc = <&apcs 16 26>;
1209 qcom,local-pid = <0>;
1210 qcom,remote-pid = <3>;
1212 slpi_smp2p_in: slave-kernel {
1213 qcom,entry-name = "slave-kernel";
1214 interrupt-controller;
1215 #interrupt-cells = <2>;
1218 slpi_smp2p_out: master-kernel {
1219 qcom,entry-name = "master-kernel";
1220 #qcom,smem-state-cells = <1>;
1225 #include "msm8996-pins.dtsi"