1 // SPDX-License-Identifier: GPL-2.0
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/mfd/qcom-rpm.h>
6 #include <dt-bindings/clock/qcom,rpmcc.h>
7 #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
8 #include <dt-bindings/clock/qcom,lcc-ipq806x.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/reset/qcom,gcc-ipq806x.h>
11 #include <dt-bindings/soc/qcom,gsbi.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
17 model = "Qualcomm IPQ8064";
18 compatible = "qcom,ipq8064";
19 interrupt-parent = <&intc>;
26 compatible = "qcom,krait";
27 enable-method = "qcom,kpss-acc-v1";
30 next-level-cache = <&L2>;
36 compatible = "qcom,krait";
37 enable-method = "qcom,kpss-acc-v1";
40 next-level-cache = <&L2>;
53 polling-delay-passive = <0>;
55 thermal-sensors = <&tsens 0>;
59 temperature = <105000>;
65 temperature = <95000>;
73 polling-delay-passive = <0>;
75 thermal-sensors = <&tsens 1>;
79 temperature = <105000>;
85 temperature = <95000>;
93 polling-delay-passive = <0>;
95 thermal-sensors = <&tsens 2>;
99 temperature = <105000>;
105 temperature = <95000>;
113 polling-delay-passive = <0>;
115 thermal-sensors = <&tsens 3>;
119 temperature = <105000>;
125 temperature = <95000>;
133 polling-delay-passive = <0>;
135 thermal-sensors = <&tsens 4>;
139 temperature = <105000>;
145 temperature = <95000>;
153 polling-delay-passive = <0>;
155 thermal-sensors = <&tsens 5>;
159 temperature = <105000>;
165 temperature = <95000>;
173 polling-delay-passive = <0>;
175 thermal-sensors = <&tsens 6>;
179 temperature = <105000>;
185 temperature = <95000>;
193 polling-delay-passive = <0>;
195 thermal-sensors = <&tsens 7>;
199 temperature = <105000>;
205 temperature = <95000>;
213 polling-delay-passive = <0>;
215 thermal-sensors = <&tsens 8>;
219 temperature = <105000>;
225 temperature = <95000>;
233 polling-delay-passive = <0>;
235 thermal-sensors = <&tsens 9>;
239 temperature = <105000>;
245 temperature = <95000>;
253 polling-delay-passive = <0>;
255 thermal-sensors = <&tsens 10>;
259 temperature = <105000>;
265 temperature = <95000>;
274 device_type = "memory";
279 compatible = "qcom,krait-pmu";
280 interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
281 IRQ_TYPE_LEVEL_HIGH)>;
285 #address-cells = <1>;
290 reg = <0x40000000 0x1000000>;
294 smem: smem@41000000 {
295 compatible = "qcom,smem";
296 reg = <0x41000000 0x200000>;
299 hwlocks = <&sfpb_mutex 3>;
304 cxo_board: cxo_board {
305 compatible = "fixed-clock";
307 clock-frequency = <25000000>;
310 pxo_board: pxo_board {
311 compatible = "fixed-clock";
313 clock-frequency = <25000000>;
316 sleep_clk: sleep_clk {
317 compatible = "fixed-clock";
318 clock-frequency = <32768>;
325 compatible = "qcom,scm-ipq806x", "qcom,scm";
330 #address-cells = <1>;
333 compatible = "simple-bus";
335 stmmac_axi_setup: stmmac-axi-config {
336 snps,wr_osr_lmt = <7>;
337 snps,rd_osr_lmt = <7>;
338 snps,blen = <16 0 0 0 0 0 0>;
341 vsdcc_fixed: vsdcc-regulator {
342 compatible = "regulator-fixed";
343 regulator-name = "SDCC Power";
344 regulator-min-microvolt = <3300000>;
345 regulator-max-microvolt = <3300000>;
350 compatible = "qcom,rpm-ipq8064";
351 reg = <0x00108000 0x1000>;
352 qcom,ipc = <&l2cc 0x8 2>;
354 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
355 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
356 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
357 interrupt-names = "ack", "err", "wakeup";
359 clocks = <&gcc RPM_MSG_RAM_H_CLK>;
362 rpmcc: clock-controller {
363 compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
369 compatible = "qcom,ssbi";
370 reg = <0x00500000 0x1000>;
371 qcom,controller-type = "pmic-arbiter";
374 qfprom: qfprom@700000 {
375 compatible = "qcom,ipq8064-qfprom", "qcom,qfprom";
376 reg = <0x00700000 0x1000>;
377 #address-cells = <1>;
379 speedbin_efuse: speedbin@c0 {
382 tsens_calib: calib@400 {
385 tsens_calib_backup: calib_backup@410 {
390 qcom_pinmux: pinmux@800000 {
391 compatible = "qcom,ipq8064-pinctrl";
392 reg = <0x00800000 0x4000>;
395 gpio-ranges = <&qcom_pinmux 0 0 69>;
397 interrupt-controller;
398 #interrupt-cells = <2>;
399 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
401 pcie0_pins: pcie0_pinmux {
404 function = "pcie1_rst";
405 drive-strength = <12>;
410 pcie1_pins: pcie1_pinmux {
413 function = "pcie2_rst";
414 drive-strength = <12>;
419 pcie2_pins: pcie2_pinmux {
422 function = "pcie3_rst";
423 drive-strength = <12>;
428 i2c4_pins: i2c4-default {
429 pins = "gpio12", "gpio13";
431 drive-strength = <12>;
437 pins = "gpio18", "gpio19", "gpio21";
439 drive-strength = <10>;
444 leds_pins: leds_pins {
446 pins = "gpio7", "gpio8", "gpio9",
449 drive-strength = <2>;
455 buttons_pins: buttons_pins {
458 drive-strength = <2>;
463 nand_pins: nand_pins {
465 pins = "gpio34", "gpio35", "gpio36",
466 "gpio37", "gpio38", "gpio39",
467 "gpio40", "gpio41", "gpio42",
468 "gpio43", "gpio44", "gpio45",
471 drive-strength = <10>;
478 drive-strength = <10>;
483 pins = "gpio40", "gpio41", "gpio42",
484 "gpio43", "gpio44", "gpio45",
487 drive-strength = <10>;
492 mdio0_pins: mdio0-pins {
494 pins = "gpio0", "gpio1";
496 drive-strength = <8>;
501 rgmii2_pins: rgmii2-pins {
503 pins = "gpio27", "gpio28", "gpio29",
504 "gpio30", "gpio31", "gpio32",
505 "gpio51", "gpio52", "gpio59",
506 "gpio60", "gpio61", "gpio62";
508 drive-strength = <8>;
514 gcc: clock-controller@900000 {
515 compatible = "qcom,gcc-ipq8064", "syscon";
516 clocks = <&pxo_board>, <&cxo_board>;
517 clock-names = "pxo", "cxo";
518 reg = <0x00900000 0x4000>;
521 #power-domain-cells = <1>;
523 tsens: thermal-sensor@900000 {
524 compatible = "qcom,ipq8064-tsens";
526 nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
527 nvmem-cell-names = "calib", "calib_backup";
528 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
529 interrupt-names = "uplow";
531 #qcom,sensors = <11>;
532 #thermal-sensor-cells = <1>;
536 sfpb_mutex: hwlock@1200600 {
537 compatible = "qcom,sfpb-mutex";
538 reg = <0x01200600 0x100>;
543 intc: interrupt-controller@2000000 {
544 compatible = "qcom,msm-qgic2";
545 interrupt-controller;
546 #interrupt-cells = <3>;
547 reg = <0x02000000 0x1000>,
552 compatible = "qcom,kpss-timer",
553 "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
554 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
555 IRQ_TYPE_EDGE_RISING)>,
556 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
557 IRQ_TYPE_EDGE_RISING)>,
558 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
559 IRQ_TYPE_EDGE_RISING)>,
560 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
561 IRQ_TYPE_EDGE_RISING)>,
562 <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
563 IRQ_TYPE_EDGE_RISING)>;
564 reg = <0x0200a000 0x100>;
565 clock-frequency = <25000000>,
567 clocks = <&sleep_clk>;
568 clock-names = "sleep";
569 cpu-offset = <0x80000>;
572 l2cc: clock-controller@2011000 {
573 compatible = "qcom,kpss-gcc", "syscon";
574 reg = <0x02011000 0x1000>;
575 clocks = <&gcc PLL8_VOTE>, <&pxo_board>;
576 clock-names = "pll8_vote", "pxo";
577 clock-output-names = "acpu_l2_aux";
580 acc0: clock-controller@2088000 {
581 compatible = "qcom,kpss-acc-v1";
582 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
585 saw0: regulator@2089000 {
586 compatible = "qcom,saw2";
587 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
591 acc1: clock-controller@2098000 {
592 compatible = "qcom,kpss-acc-v1";
593 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
596 saw1: regulator@2099000 {
597 compatible = "qcom,saw2";
598 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
602 nss_common: syscon@03000000 {
603 compatible = "syscon";
604 reg = <0x03000000 0x0000FFFF>;
607 usb3_0: usb3@100f8800 {
608 compatible = "qcom,ipq8064-dwc3", "qcom,dwc3";
609 #address-cells = <1>;
611 reg = <0x100f8800 0x8000>;
612 clocks = <&gcc USB30_0_MASTER_CLK>;
613 clock-names = "core";
617 resets = <&gcc USB30_0_MASTER_RESET>;
618 reset-names = "master";
622 dwc3_0: dwc3@10000000 {
623 compatible = "snps,dwc3";
624 reg = <0x10000000 0xcd00>;
625 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
626 phys = <&hs_phy_0>, <&ss_phy_0>;
627 phy-names = "usb2-phy", "usb3-phy";
629 snps,dis_u3_susphy_quirk;
633 hs_phy_0: phy@100f8800 {
634 compatible = "qcom,ipq806x-usb-phy-hs";
635 reg = <0x100f8800 0x30>;
636 clocks = <&gcc USB30_0_UTMI_CLK>;
643 ss_phy_0: phy@100f8830 {
644 compatible = "qcom,ipq806x-usb-phy-ss";
645 reg = <0x100f8830 0x30>;
646 clocks = <&gcc USB30_0_MASTER_CLK>;
653 usb3_1: usb3@110f8800 {
654 compatible = "qcom,ipq8064-dwc3", "qcom,dwc3";
655 #address-cells = <1>;
657 reg = <0x110f8800 0x8000>;
658 clocks = <&gcc USB30_1_MASTER_CLK>;
659 clock-names = "core";
663 resets = <&gcc USB30_1_MASTER_RESET>;
664 reset-names = "master";
668 dwc3_1: dwc3@11000000 {
669 compatible = "snps,dwc3";
670 reg = <0x11000000 0xcd00>;
671 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
672 phys = <&hs_phy_1>, <&ss_phy_1>;
673 phy-names = "usb2-phy", "usb3-phy";
675 snps,dis_u3_susphy_quirk;
679 hs_phy_1: phy@110f8800 {
680 compatible = "qcom,ipq806x-usb-phy-hs";
681 reg = <0x110f8800 0x30>;
682 clocks = <&gcc USB30_1_UTMI_CLK>;
689 ss_phy_1: phy@110f8830 {
690 compatible = "qcom,ipq806x-usb-phy-ss";
691 reg = <0x110f8830 0x30>;
692 clocks = <&gcc USB30_1_MASTER_CLK>;
699 sdcc3bam: dma-controller@12182000 {
700 compatible = "qcom,bam-v1.3.0";
701 reg = <0x12182000 0x8000>;
702 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
703 clocks = <&gcc SDC3_H_CLK>;
704 clock-names = "bam_clk";
709 sdcc1bam: dma-controller@12402000 {
710 compatible = "qcom,bam-v1.3.0";
711 reg = <0x12402000 0x8000>;
712 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
713 clocks = <&gcc SDC1_H_CLK>;
714 clock-names = "bam_clk";
720 compatible = "simple-bus";
721 #address-cells = <1>;
725 sdcc3: mmc@12180000 {
726 compatible = "arm,pl18x", "arm,primecell";
727 arm,primecell-periphid = <0x00051180>;
729 reg = <0x12180000 0x2000>;
730 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
731 interrupt-names = "cmd_irq";
732 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
733 clock-names = "mclk", "apb_pclk";
737 max-frequency = <192000000>;
740 vqmmc-supply = <&vsdcc_fixed>;
741 dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
742 dma-names = "tx", "rx";
745 sdcc1: mmc@12400000 {
747 compatible = "arm,pl18x", "arm,primecell";
748 arm,primecell-periphid = <0x00051180>;
749 reg = <0x12400000 0x2000>;
750 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
751 interrupt-names = "cmd_irq";
752 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
753 clock-names = "mclk", "apb_pclk";
755 max-frequency = <96000000>;
760 vmmc-supply = <&vsdcc_fixed>;
761 dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
762 dma-names = "tx", "rx";
766 gsbi1: gsbi@12440000 {
767 compatible = "qcom,gsbi-v1.0.0";
768 reg = <0x12440000 0x100>;
770 clocks = <&gcc GSBI1_H_CLK>;
771 clock-names = "iface";
772 #address-cells = <1>;
776 syscon-tcsr = <&tcsr>;
780 gsbi1_serial: serial@12450000 {
781 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
782 reg = <0x12450000 0x100>,
784 interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
785 clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>;
786 clock-names = "core", "iface";
791 gsbi1_i2c: i2c@12460000 {
792 compatible = "qcom,i2c-qup-v1.1.1";
793 reg = <0x12460000 0x1000>;
794 interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
795 clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
796 clock-names = "core", "iface";
797 #address-cells = <1>;
804 gsbi2: gsbi@12480000 {
805 compatible = "qcom,gsbi-v1.0.0";
807 reg = <0x12480000 0x100>;
808 clocks = <&gcc GSBI2_H_CLK>;
809 clock-names = "iface";
810 #address-cells = <1>;
815 syscon-tcsr = <&tcsr>;
817 gsbi2_serial: serial@12490000 {
818 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
819 reg = <0x12490000 0x1000>,
821 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
822 clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
823 clock-names = "core", "iface";
827 gsbi2_i2c: i2c@124a0000 {
828 compatible = "qcom,i2c-qup-v1.1.1";
829 reg = <0x124a0000 0x1000>;
830 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
832 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
833 clock-names = "core", "iface";
836 #address-cells = <1>;
841 gsbi4: gsbi@16300000 {
842 compatible = "qcom,gsbi-v1.0.0";
844 reg = <0x16300000 0x100>;
845 clocks = <&gcc GSBI4_H_CLK>;
846 clock-names = "iface";
847 #address-cells = <1>;
852 syscon-tcsr = <&tcsr>;
854 gsbi4_serial: serial@16340000 {
855 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
856 reg = <0x16340000 0x1000>,
858 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
859 clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
860 clock-names = "core", "iface";
865 compatible = "qcom,i2c-qup-v1.1.1";
866 reg = <0x16380000 0x1000>;
867 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
869 clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
870 clock-names = "core", "iface";
873 #address-cells = <1>;
878 gsbi6: gsbi@16500000 {
879 compatible = "qcom,gsbi-v1.0.0";
880 reg = <0x16500000 0x100>;
882 clocks = <&gcc GSBI6_H_CLK>;
883 clock-names = "iface";
884 #address-cells = <1>;
888 syscon-tcsr = <&tcsr>;
892 gsbi6_i2c: i2c@16580000 {
893 compatible = "qcom,i2c-qup-v1.1.1";
894 reg = <0x16580000 0x1000>;
895 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
897 clocks = <&gcc GSBI6_QUP_CLK>, <&gcc GSBI6_H_CLK>;
898 clock-names = "core", "iface";
900 #address-cells = <1>;
906 gsbi6_spi: spi@16580000 {
907 compatible = "qcom,spi-qup-v1.1.1";
908 reg = <0x16580000 0x1000>;
909 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
911 clocks = <&gcc GSBI6_QUP_CLK>, <&gcc GSBI6_H_CLK>;
912 clock-names = "core", "iface";
914 #address-cells = <1>;
921 gsbi7: gsbi@16600000 {
923 compatible = "qcom,gsbi-v1.0.0";
925 reg = <0x16600000 0x100>;
926 clocks = <&gcc GSBI7_H_CLK>;
927 clock-names = "iface";
928 #address-cells = <1>;
931 syscon-tcsr = <&tcsr>;
933 gsbi7_serial: serial@16640000 {
934 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
935 reg = <0x16640000 0x1000>,
937 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
938 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
939 clock-names = "core", "iface";
943 gsbi7_i2c: i2c@16680000 {
944 compatible = "qcom,i2c-qup-v1.1.1";
945 reg = <0x16680000 0x1000>;
946 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
948 clocks = <&gcc GSBI7_QUP_CLK>, <&gcc GSBI7_H_CLK>;
949 clock-names = "core", "iface";
951 #address-cells = <1>;
958 adm_dma: dma-controller@18300000 {
959 compatible = "qcom,adm";
960 reg = <0x18300000 0x100000>;
961 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
964 clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
965 clock-names = "core", "iface";
967 resets = <&gcc ADM0_RESET>,
968 <&gcc ADM0_PBUS_RESET>,
969 <&gcc ADM0_C0_RESET>,
970 <&gcc ADM0_C1_RESET>,
971 <&gcc ADM0_C2_RESET>;
972 reset-names = "clk", "pbus", "c0", "c1", "c2";
978 gsbi5: gsbi@1a200000 {
979 compatible = "qcom,gsbi-v1.0.0";
981 reg = <0x1a200000 0x100>;
982 clocks = <&gcc GSBI5_H_CLK>;
983 clock-names = "iface";
984 #address-cells = <1>;
990 syscon-tcsr = <&tcsr>;
992 gsbi5_serial: serial@1a240000 {
993 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
994 reg = <0x1a240000 0x1000>,
996 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
997 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
998 clock-names = "core", "iface";
1003 compatible = "qcom,i2c-qup-v1.1.1";
1004 reg = <0x1a280000 0x1000>;
1005 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1007 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
1008 clock-names = "core", "iface";
1009 status = "disabled";
1011 #address-cells = <1>;
1016 compatible = "qcom,spi-qup-v1.1.1";
1017 reg = <0x1a280000 0x1000>;
1018 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1020 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
1021 clock-names = "core", "iface";
1022 status = "disabled";
1024 #address-cells = <1>;
1029 tcsr: syscon@1a400000 {
1030 compatible = "qcom,tcsr-ipq8064", "syscon";
1031 reg = <0x1a400000 0x100>;
1035 compatible = "qcom,prng";
1036 reg = <0x1a500000 0x200>;
1037 clocks = <&gcc PRNG_CLK>;
1038 clock-names = "core";
1041 nand: nand-controller@1ac00000 {
1042 compatible = "qcom,ipq806x-nand";
1043 reg = <0x1ac00000 0x800>;
1045 pinctrl-0 = <&nand_pins>;
1046 pinctrl-names = "default";
1048 clocks = <&gcc EBI2_CLK>,
1049 <&gcc EBI2_AON_CLK>;
1050 clock-names = "core", "aon";
1052 dmas = <&adm_dma 3>;
1054 qcom,cmd-crci = <15>;
1055 qcom,data-crci = <3>;
1057 #address-cells = <1>;
1060 status = "disabled";
1063 sata_phy: sata-phy@1b400000 {
1064 compatible = "qcom,ipq806x-sata-phy";
1065 reg = <0x1b400000 0x200>;
1067 clocks = <&gcc SATA_PHY_CFG_CLK>;
1068 clock-names = "cfg";
1071 status = "disabled";
1074 pcie0: pci@1b500000 {
1075 compatible = "qcom,pcie-ipq8064";
1076 reg = <0x1b500000 0x1000
1079 0x0ff00000 0x100000>;
1080 reg-names = "dbi", "elbi", "parf", "config";
1081 device_type = "pci";
1082 linux,pci-domain = <0>;
1083 bus-range = <0x00 0xff>;
1085 #address-cells = <3>;
1088 ranges = <0x81000000 0x0 0x00000000 0x0fe00000 0x0 0x00010000 /* I/O */
1089 0x82000000 0x0 0x08000000 0x08000000 0x0 0x07e00000>; /* MEM */
1091 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1092 interrupt-names = "msi";
1093 #interrupt-cells = <1>;
1094 interrupt-map-mask = <0 0 0 0x7>;
1095 interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1096 <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1097 <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1098 <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1100 clocks = <&gcc PCIE_A_CLK>,
1102 <&gcc PCIE_PHY_CLK>,
1103 <&gcc PCIE_AUX_CLK>,
1104 <&gcc PCIE_ALT_REF_CLK>;
1105 clock-names = "core", "iface", "phy", "aux", "ref";
1107 assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
1108 assigned-clock-rates = <100000000>;
1110 resets = <&gcc PCIE_ACLK_RESET>,
1111 <&gcc PCIE_HCLK_RESET>,
1112 <&gcc PCIE_POR_RESET>,
1113 <&gcc PCIE_PCI_RESET>,
1114 <&gcc PCIE_PHY_RESET>,
1115 <&gcc PCIE_EXT_RESET>;
1116 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1118 pinctrl-0 = <&pcie0_pins>;
1119 pinctrl-names = "default";
1121 status = "disabled";
1122 perst-gpios = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
1125 pcie1: pci@1b700000 {
1126 compatible = "qcom,pcie-ipq8064";
1127 reg = <0x1b700000 0x1000
1130 0x31f00000 0x100000>;
1131 reg-names = "dbi", "elbi", "parf", "config";
1132 device_type = "pci";
1133 linux,pci-domain = <1>;
1134 bus-range = <0x00 0xff>;
1136 #address-cells = <3>;
1139 ranges = <0x81000000 0x0 0x00000000 0x31e00000 0x0 0x00010000 /* I/O */
1140 0x82000000 0x0 0x2e000000 0x2e000000 0x0 0x03e00000>; /* MEM */
1142 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
1143 interrupt-names = "msi";
1144 #interrupt-cells = <1>;
1145 interrupt-map-mask = <0 0 0 0x7>;
1146 interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1147 <0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1148 <0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1149 <0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1151 clocks = <&gcc PCIE_1_A_CLK>,
1152 <&gcc PCIE_1_H_CLK>,
1153 <&gcc PCIE_1_PHY_CLK>,
1154 <&gcc PCIE_1_AUX_CLK>,
1155 <&gcc PCIE_1_ALT_REF_CLK>;
1156 clock-names = "core", "iface", "phy", "aux", "ref";
1158 assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
1159 assigned-clock-rates = <100000000>;
1161 resets = <&gcc PCIE_1_ACLK_RESET>,
1162 <&gcc PCIE_1_HCLK_RESET>,
1163 <&gcc PCIE_1_POR_RESET>,
1164 <&gcc PCIE_1_PCI_RESET>,
1165 <&gcc PCIE_1_PHY_RESET>,
1166 <&gcc PCIE_1_EXT_RESET>;
1167 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1169 pinctrl-0 = <&pcie1_pins>;
1170 pinctrl-names = "default";
1172 status = "disabled";
1173 perst-gpios = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
1176 pcie2: pci@1b900000 {
1177 compatible = "qcom,pcie-ipq8064";
1178 reg = <0x1b900000 0x1000
1181 0x35f00000 0x100000>;
1182 reg-names = "dbi", "elbi", "parf", "config";
1183 device_type = "pci";
1184 linux,pci-domain = <2>;
1185 bus-range = <0x00 0xff>;
1187 #address-cells = <3>;
1190 ranges = <0x81000000 0x0 0x00000000 0x35e00000 0x0 0x00010000 /* I/O */
1191 0x82000000 0x0 0x32000000 0x32000000 0x0 0x03e00000>; /* MEM */
1193 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1194 interrupt-names = "msi";
1195 #interrupt-cells = <1>;
1196 interrupt-map-mask = <0 0 0 0x7>;
1197 interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1198 <0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1199 <0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1200 <0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1202 clocks = <&gcc PCIE_2_A_CLK>,
1203 <&gcc PCIE_2_H_CLK>,
1204 <&gcc PCIE_2_PHY_CLK>,
1205 <&gcc PCIE_2_AUX_CLK>,
1206 <&gcc PCIE_2_ALT_REF_CLK>;
1207 clock-names = "core", "iface", "phy", "aux", "ref";
1209 assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
1210 assigned-clock-rates = <100000000>;
1212 resets = <&gcc PCIE_2_ACLK_RESET>,
1213 <&gcc PCIE_2_HCLK_RESET>,
1214 <&gcc PCIE_2_POR_RESET>,
1215 <&gcc PCIE_2_PCI_RESET>,
1216 <&gcc PCIE_2_PHY_RESET>,
1217 <&gcc PCIE_2_EXT_RESET>;
1218 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1220 pinctrl-0 = <&pcie2_pins>;
1221 pinctrl-names = "default";
1223 status = "disabled";
1224 perst-gpios = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
1227 qsgmii_csr: syscon@1bb00000 {
1228 compatible = "syscon";
1229 reg = <0x1bb00000 0x000001FF>;
1232 lcc: clock-controller@28000000 {
1233 compatible = "qcom,lcc-ipq8064";
1234 reg = <0x28000000 0x1000>;
1240 compatible = "qcom,lpass-cpu";
1241 status = "disabled";
1242 clocks = <&lcc AHBIX_CLK>,
1243 <&lcc MI2S_OSR_CLK>,
1244 <&lcc MI2S_BIT_CLK>;
1245 clock-names = "ahbix-clk",
1248 interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
1249 interrupt-names = "lpass-irq-lpaif";
1250 reg = <0x28100000 0x10000>;
1251 reg-names = "lpass-lpaif";
1254 sata: sata@29000000 {
1255 compatible = "qcom,ipq806x-ahci", "generic-ahci";
1256 reg = <0x29000000 0x180>;
1258 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
1260 clocks = <&gcc SFAB_SATA_S_H_CLK>,
1263 <&gcc SATA_RXOOB_CLK>,
1264 <&gcc SATA_PMALIVE_CLK>;
1265 clock-names = "slave_face", "iface", "core",
1268 assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
1269 assigned-clock-rates = <100000000>, <100000000>;
1272 phy-names = "sata-phy";
1273 status = "disabled";
1276 gmac0: ethernet@37000000 {
1277 device_type = "network";
1278 compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1279 reg = <0x37000000 0x200000>;
1280 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
1281 interrupt-names = "macirq";
1283 snps,axi-config = <&stmmac_axi_setup>;
1287 qcom,nss-common = <&nss_common>;
1288 qcom,qsgmii-csr = <&qsgmii_csr>;
1290 clocks = <&gcc GMAC_CORE1_CLK>;
1291 clock-names = "stmmaceth";
1293 resets = <&gcc GMAC_CORE1_RESET>,
1294 <&gcc GMAC_AHB_RESET>;
1295 reset-names = "stmmaceth", "ahb";
1297 status = "disabled";
1300 gmac1: ethernet@37200000 {
1301 device_type = "network";
1302 compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1303 reg = <0x37200000 0x200000>;
1304 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
1305 interrupt-names = "macirq";
1307 snps,axi-config = <&stmmac_axi_setup>;
1311 qcom,nss-common = <&nss_common>;
1312 qcom,qsgmii-csr = <&qsgmii_csr>;
1314 clocks = <&gcc GMAC_CORE2_CLK>;
1315 clock-names = "stmmaceth";
1317 resets = <&gcc GMAC_CORE2_RESET>,
1318 <&gcc GMAC_AHB_RESET>;
1319 reset-names = "stmmaceth", "ahb";
1321 status = "disabled";
1324 gmac2: ethernet@37400000 {
1325 device_type = "network";
1326 compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1327 reg = <0x37400000 0x200000>;
1328 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
1329 interrupt-names = "macirq";
1331 snps,axi-config = <&stmmac_axi_setup>;
1335 qcom,nss-common = <&nss_common>;
1336 qcom,qsgmii-csr = <&qsgmii_csr>;
1338 clocks = <&gcc GMAC_CORE3_CLK>;
1339 clock-names = "stmmaceth";
1341 resets = <&gcc GMAC_CORE3_RESET>,
1342 <&gcc GMAC_AHB_RESET>;
1343 reset-names = "stmmaceth", "ahb";
1345 status = "disabled";
1348 gmac3: ethernet@37600000 {
1349 device_type = "network";
1350 compatible = "qcom,ipq806x-gmac", "snps,dwmac";
1351 reg = <0x37600000 0x200000>;
1352 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
1353 interrupt-names = "macirq";
1355 snps,axi-config = <&stmmac_axi_setup>;
1359 qcom,nss-common = <&nss_common>;
1360 qcom,qsgmii-csr = <&qsgmii_csr>;
1362 clocks = <&gcc GMAC_CORE4_CLK>;
1363 clock-names = "stmmaceth";
1365 resets = <&gcc GMAC_CORE4_RESET>,
1366 <&gcc GMAC_AHB_RESET>;
1367 reset-names = "stmmaceth", "ahb";
1369 status = "disabled";