3 #include "skeleton.dtsi"
4 #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
5 #include <dt-bindings/mfd/qcom-rpm.h>
6 #include <dt-bindings/clock/qcom,rpmcc.h>
7 #include <dt-bindings/clock/qcom,lcc-ipq806x.h>
8 #include <dt-bindings/soc/qcom,gsbi.h>
9 #include <dt-bindings/reset/qcom,gcc-ipq806x.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/gpio/gpio.h>
14 model = "Qualcomm IPQ8064";
15 compatible = "qcom,ipq8064";
16 interrupt-parent = <&intc>;
23 compatible = "qcom,krait";
24 enable-method = "qcom,kpss-acc-v1";
27 next-level-cache = <&L2>;
30 clocks = <&kraitcc 0>, <&kraitcc 4>;
31 clock-names = "cpu", "l2";
32 clock-latency = <100000>;
33 cpu-supply = <&smb208_s2a>;
34 voltage-tolerance = <5>;
35 cooling-min-state = <0>;
36 cooling-max-state = <10>;
38 cpu-idle-states = <&CPU_SPC>;
42 compatible = "qcom,krait";
43 enable-method = "qcom,kpss-acc-v1";
46 next-level-cache = <&L2>;
49 clocks = <&kraitcc 1>, <&kraitcc 4>;
50 clock-names = "cpu", "l2";
51 clock-latency = <100000>;
52 cpu-supply = <&smb208_s2b>;
53 voltage-tolerance = <5>;
54 cooling-min-state = <0>;
55 cooling-max-state = <10>;
57 cpu-idle-states = <&CPU_SPC>;
67 qcom,l2-rates = <384000000 1000000000 1200000000>;
72 compatible = "qcom,idle-state-spc",
75 entry-latency-us = <400>;
76 exit-latency-us = <900>;
77 min-residency-us = <3000>;
84 polling-delay-passive = <0>;
86 thermal-sensors = <&tsens 0>;
90 temperature = <125000>;
92 type = "critical_high";
96 temperature = <105000>;
98 type = "configurable_hi";
102 temperature = <95000>;
104 type = "configurable_lo";
110 type = "critical_low";
116 polling-delay-passive = <0>;
118 thermal-sensors = <&tsens 1>;
122 temperature = <125000>;
124 type = "critical_high";
128 temperature = <105000>;
130 type = "configurable_hi";
134 temperature = <95000>;
136 type = "configurable_lo";
142 type = "critical_low";
148 polling-delay-passive = <0>;
150 thermal-sensors = <&tsens 2>;
154 temperature = <125000>;
156 type = "critical_high";
160 temperature = <105000>;
162 type = "configurable_hi";
166 temperature = <95000>;
168 type = "configurable_lo";
174 type = "critical_low";
180 polling-delay-passive = <0>;
182 thermal-sensors = <&tsens 3>;
186 temperature = <125000>;
188 type = "critical_high";
192 temperature = <105000>;
194 type = "configurable_hi";
198 temperature = <95000>;
200 type = "configurable_lo";
206 type = "critical_low";
212 polling-delay-passive = <0>;
214 thermal-sensors = <&tsens 4>;
218 temperature = <125000>;
220 type = "critical_high";
224 temperature = <105000>;
226 type = "configurable_hi";
230 temperature = <95000>;
232 type = "configurable_lo";
238 type = "critical_low";
244 polling-delay-passive = <0>;
246 thermal-sensors = <&tsens 5>;
250 temperature = <125000>;
252 type = "critical_high";
256 temperature = <105000>;
258 type = "configurable_hi";
262 temperature = <95000>;
264 type = "configurable_lo";
270 type = "critical_low";
276 polling-delay-passive = <0>;
278 thermal-sensors = <&tsens 6>;
282 temperature = <125000>;
284 type = "critical_high";
288 temperature = <105000>;
290 type = "configurable_hi";
294 temperature = <95000>;
296 type = "configurable_lo";
302 type = "critical_low";
308 polling-delay-passive = <0>;
310 thermal-sensors = <&tsens 7>;
314 temperature = <125000>;
316 type = "critical_high";
320 temperature = <105000>;
322 type = "configurable_hi";
326 temperature = <95000>;
328 type = "configurable_lo";
334 type = "critical_low";
340 polling-delay-passive = <0>;
342 thermal-sensors = <&tsens 8>;
346 temperature = <125000>;
348 type = "critical_high";
352 temperature = <105000>;
354 type = "configurable_hi";
358 temperature = <95000>;
360 type = "configurable_lo";
366 type = "critical_low";
372 polling-delay-passive = <0>;
374 thermal-sensors = <&tsens 9>;
378 temperature = <125000>;
380 type = "critical_high";
384 temperature = <105000>;
386 type = "configurable_hi";
390 temperature = <95000>;
392 type = "configurable_lo";
398 type = "critical_low";
404 polling-delay-passive = <0>;
406 thermal-sensors = <&tsens 10>;
410 temperature = <125000>;
412 type = "critical_high";
416 temperature = <105000>;
418 type = "configurable_hi";
422 temperature = <95000>;
424 type = "configurable_lo";
430 type = "critical_low";
437 compatible = "qcom,krait-pmu";
438 interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
439 IRQ_TYPE_LEVEL_HIGH)>;
443 #address-cells = <1>;
448 reg = <0x40000000 0x1000000>;
452 smem: smem@41000000 {
453 reg = <0x41000000 0x200000>;
460 compatible = "fixed-clock";
462 clock-frequency = <25000000>;
466 compatible = "fixed-clock";
468 clock-frequency = <25000000>;
471 sleep_clk: sleep_clk {
472 compatible = "fixed-clock";
473 clock-frequency = <32768>;
480 compatible = "qcom,scm-ipq806x";
484 kraitcc: clock-controller {
485 compatible = "qcom,krait-cc-v1";
491 qcom,speed0-pvs0-bin-v0 =
492 < 1400000000 1250000 >,
493 < 1200000000 1200000 >,
494 < 1000000000 1150000 >,
495 < 800000000 1100000 >,
496 < 600000000 1050000 >,
497 < 384000000 1000000 >;
499 qcom,speed0-pvs1-bin-v0 =
500 < 1400000000 1175000 >,
501 < 1200000000 1125000 >,
502 < 1000000000 1075000 >,
503 < 800000000 1025000 >,
504 < 600000000 975000 >,
505 < 384000000 925000 >;
507 qcom,speed0-pvs2-bin-v0 =
508 < 1400000000 1125000 >,
509 < 1200000000 1075000 >,
510 < 1000000000 1025000 >,
511 < 800000000 995000 >,
512 < 600000000 925000 >,
513 < 384000000 875000 >;
515 qcom,speed0-pvs3-bin-v0 =
516 < 1400000000 1050000 >,
517 < 1200000000 1000000 >,
518 < 1000000000 950000 >,
519 < 800000000 900000 >,
520 < 600000000 850000 >,
521 < 384000000 800000 >;
525 #address-cells = <1>;
528 compatible = "simple-bus";
531 compatible = "qcom,lpass-cpu";
533 clocks = <&lcc AHBIX_CLK>,
536 clock-names = "ahbix-clk",
539 interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
540 interrupt-names = "lpass-irq-lpaif";
541 reg = <0x28100000 0x10000>;
542 reg-names = "lpass-lpaif";
545 qfprom: qfprom@700000 {
546 compatible = "qcom,qfprom", "syscon";
547 reg = <0x700000 0x1000>;
548 #address-cells = <1>;
551 tsens_calib: calib@400 {
554 tsens_backup: backup@410 {
560 compatible = "qcom,rpm-ipq8064";
561 reg = <0x108000 0x1000>;
562 qcom,ipc = <&l2cc 0x8 2>;
564 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
565 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
566 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
567 interrupt-names = "ack",
571 clocks = <&gcc RPM_MSG_RAM_H_CLK>;
574 #address-cells = <1>;
577 rpmcc: clock-controller {
578 compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
583 compatible = "qcom,rpm-smb208-regulators";
586 regulator-min-microvolt = <1050000>;
587 regulator-max-microvolt = <1150000>;
589 qcom,switch-mode-frequency = <1200000>;
594 regulator-min-microvolt = <1050000>;
595 regulator-max-microvolt = <1150000>;
597 qcom,switch-mode-frequency = <1200000>;
601 regulator-min-microvolt = < 800000>;
602 regulator-max-microvolt = <1250000>;
604 qcom,switch-mode-frequency = <1200000>;
608 regulator-min-microvolt = < 800000>;
609 regulator-max-microvolt = <1250000>;
611 qcom,switch-mode-frequency = <1200000>;
617 compatible = "qcom,prng";
618 reg = <0x1a500000 0x200>;
619 clocks = <&gcc PRNG_CLK>;
620 clock-names = "core";
623 qcom_pinmux: pinmux@800000 {
624 compatible = "qcom,ipq8064-pinctrl";
625 reg = <0x800000 0x4000>;
629 interrupt-controller;
630 #interrupt-cells = <2>;
631 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
633 pcie0_pins: pcie0_pinmux {
636 function = "pcie1_rst";
637 drive-strength = <12>;
642 pcie1_pins: pcie1_pinmux {
645 function = "pcie2_rst";
646 drive-strength = <12>;
651 pcie2_pins: pcie2_pinmux {
654 function = "pcie3_rst";
655 drive-strength = <12>;
663 pins = "gpio18", "gpio19", "gpio21";
665 drive-strength = <10>;
670 leds_pins: leds_pins {
672 pins = "gpio7", "gpio8", "gpio9",
675 drive-strength = <2>;
681 buttons_pins: buttons_pins {
684 drive-strength = <2>;
690 intc: interrupt-controller@2000000 {
691 compatible = "qcom,msm-qgic2";
692 interrupt-controller;
693 #interrupt-cells = <3>;
694 reg = <0x02000000 0x1000>,
699 compatible = "qcom,kpss-timer",
700 "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
701 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
702 IRQ_TYPE_EDGE_RISING)>,
703 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
704 IRQ_TYPE_EDGE_RISING)>,
705 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
706 IRQ_TYPE_EDGE_RISING)>,
707 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
708 IRQ_TYPE_EDGE_RISING)>,
709 <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
710 IRQ_TYPE_EDGE_RISING)>;
711 reg = <0x0200a000 0x100>;
712 clock-frequency = <25000000>,
714 clocks = <&sleep_clk>;
715 clock-names = "sleep";
716 cpu-offset = <0x80000>;
719 acc0: clock-controller@2088000 {
720 compatible = "qcom,kpss-acc-v1";
721 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
722 clock-output-names = "acpu0_aux";
725 acc1: clock-controller@2098000 {
726 compatible = "qcom,kpss-acc-v1";
727 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
728 clock-output-names = "acpu1_aux";
731 l2cc: clock-controller@2011000 {
732 compatible = "qcom,kpss-gcc", "syscon";
733 reg = <0x2011000 0x1000>;
734 clock-output-names = "acpu_l2_aux";
737 saw0: regulator@2089000 {
738 compatible = "qcom,saw2", "qcom,apq8064-saw2-v1.1-cpu", "syscon";
739 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
743 saw1: regulator@2099000 {
744 compatible = "qcom,saw2", "qcom,apq8064-saw2-v1.1-cpu", "syscon";
745 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
749 saw_l2: regulator@02012000 {
750 compatible = "qcom,saw2", "syscon";
751 reg = <0x02012000 0x1000>;
755 sic_non_secure: sic-non-secure@12100000 {
756 compatible = "syscon";
757 reg = <0x12100000 0x10000>;
760 gsbi2: gsbi@12480000 {
761 compatible = "qcom,gsbi-v1.0.0";
763 reg = <0x12480000 0x100>;
764 clocks = <&gcc GSBI2_H_CLK>;
765 clock-names = "iface";
766 #address-cells = <1>;
771 syscon-tcsr = <&tcsr>;
773 uart2: serial@12490000 {
774 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
775 reg = <0x12490000 0x1000>,
777 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
778 clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
779 clock-names = "core", "iface";
784 compatible = "qcom,i2c-qup-v1.1.1";
785 reg = <0x124a0000 0x1000>;
786 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
788 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
789 clock-names = "core", "iface";
792 #address-cells = <1>;
798 gsbi4: gsbi@16300000 {
799 compatible = "qcom,gsbi-v1.0.0";
801 reg = <0x16300000 0x100>;
802 clocks = <&gcc GSBI4_H_CLK>;
803 clock-names = "iface";
804 #address-cells = <1>;
809 syscon-tcsr = <&tcsr>;
811 gsbi4_serial: serial@16340000 {
812 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
813 reg = <0x16340000 0x1000>,
815 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
816 clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
817 clock-names = "core", "iface";
822 compatible = "qcom,i2c-qup-v1.1.1";
823 reg = <0x16380000 0x1000>;
824 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
826 clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
827 clock-names = "core", "iface";
830 #address-cells = <1>;
835 gsbi5: gsbi@1a200000 {
836 compatible = "qcom,gsbi-v1.0.0";
838 reg = <0x1a200000 0x100>;
839 clocks = <&gcc GSBI5_H_CLK>;
840 clock-names = "iface";
841 #address-cells = <1>;
846 syscon-tcsr = <&tcsr>;
848 uart5: serial@1a240000 {
849 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
850 reg = <0x1a240000 0x1000>,
852 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
853 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
854 clock-names = "core", "iface";
859 compatible = "qcom,i2c-qup-v1.1.1";
860 reg = <0x1a280000 0x1000>;
861 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
863 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
864 clock-names = "core", "iface";
867 #address-cells = <1>;
872 compatible = "qcom,spi-qup-v1.1.1";
873 reg = <0x1a280000 0x1000>;
874 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
876 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
877 clock-names = "core", "iface";
880 #address-cells = <1>;
885 gsbi7: gsbi@16600000 {
887 compatible = "qcom,gsbi-v1.0.0";
889 reg = <0x16600000 0x100>;
890 clocks = <&gcc GSBI7_H_CLK>;
891 clock-names = "iface";
892 #address-cells = <1>;
895 syscon-tcsr = <&tcsr>;
897 gsbi7_serial: serial@16640000 {
898 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
899 reg = <0x16640000 0x1000>,
901 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
902 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
903 clock-names = "core", "iface";
908 sata_phy: sata-phy@1b400000 {
909 compatible = "qcom,ipq806x-sata-phy";
910 reg = <0x1b400000 0x200>;
912 clocks = <&gcc SATA_PHY_CFG_CLK>;
919 sata: sata@29000000 {
920 compatible = "qcom,ipq806x-ahci", "generic-ahci";
921 reg = <0x29000000 0x180>;
923 ports-implemented = <0x1>;
925 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
927 clocks = <&gcc SFAB_SATA_S_H_CLK>,
930 <&gcc SATA_RXOOB_CLK>,
931 <&gcc SATA_PMALIVE_CLK>;
932 clock-names = "slave_face", "iface", "core",
935 assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
936 assigned-clock-rates = <100000000>, <100000000>;
939 phy-names = "sata-phy";
944 compatible = "qcom,ssbi";
945 reg = <0x00500000 0x1000>;
946 qcom,controller-type = "pmic-arbiter";
949 gcc: clock-controller@900000 {
950 compatible = "qcom,gcc-ipq8064";
951 reg = <0x00900000 0x4000>;
954 #power-domain-cells = <1>;
957 tsens: thermal-sensor@900000 {
958 compatible = "qcom,ipq8064-tsens";
959 reg = <0x900000 0x3680>;
960 nvmem-cells = <&tsens_calib>, <&tsens_backup>;
961 nvmem-cell-names = "calib", "calib_backup";
962 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
963 #thermal-sensor-cells = <1>;
966 tcsr: syscon@1a400000 {
967 compatible = "qcom,tcsr-ipq8064", "syscon";
968 reg = <0x1a400000 0x100>;
971 lcc: clock-controller@28000000 {
972 compatible = "qcom,lcc-ipq8064";
973 reg = <0x28000000 0x1000>;
978 sfpb_mutex_block: syscon@1200600 {
979 compatible = "syscon";
980 reg = <0x01200600 0x100>;
984 compatible = "qcom,dwc3-hs-usb-phy";
986 clocks = <&gcc USB30_0_UTMI_CLK>;
992 compatible = "qcom,dwc3-ss-usb-phy";
994 clocks = <&gcc USB30_0_MASTER_CLK>;
999 usb3_0: usb3@110f8800 {
1000 compatible = "qcom,dwc3", "syscon";
1001 #address-cells = <1>;
1003 reg = <0x110f8800 0x8000>;
1004 clocks = <&gcc USB30_0_MASTER_CLK>;
1005 clock-names = "core";
1009 resets = <&gcc USB30_0_MASTER_RESET>;
1010 reset-names = "master";
1012 status = "disabled";
1014 dwc3_0: dwc3@11000000 {
1015 compatible = "snps,dwc3";
1016 reg = <0x11000000 0xcd00>;
1017 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
1018 phys = <&hs_phy_0>, <&ss_phy_0>;
1019 phy-names = "usb2-phy", "usb3-phy";
1021 snps,dis_u3_susphy_quirk;
1025 hs_phy_1: hs_phy_1 {
1026 compatible = "qcom,dwc3-hs-usb-phy";
1028 clocks = <&gcc USB30_1_UTMI_CLK>;
1029 clock-names = "ref";
1033 ss_phy_1: ss_phy_1 {
1034 compatible = "qcom,dwc3-ss-usb-phy";
1036 clocks = <&gcc USB30_1_MASTER_CLK>;
1037 clock-names = "ref";
1041 usb3_1: usb3@100f8800 {
1042 compatible = "qcom,dwc3", "syscon";
1043 #address-cells = <1>;
1045 reg = <0x100f8800 0x8000>;
1046 clocks = <&gcc USB30_1_MASTER_CLK>;
1047 clock-names = "core";
1051 resets = <&gcc USB30_1_MASTER_RESET>;
1052 reset-names = "master";
1054 status = "disabled";
1056 dwc3_1: dwc3@10000000 {
1057 compatible = "snps,dwc3";
1058 reg = <0x10000000 0xcd00>;
1059 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
1060 phys = <&hs_phy_1>, <&ss_phy_1>;
1061 phy-names = "usb2-phy", "usb3-phy";
1063 snps,dis_u3_susphy_quirk;
1067 pcie0: pci@1b500000 {
1068 compatible = "qcom,pcie-ipq8064";
1069 reg = <0x1b500000 0x1000
1072 0x0ff00000 0x100000>;
1073 reg-names = "dbi", "elbi", "parf", "config";
1074 device_type = "pci";
1075 linux,pci-domain = <0>;
1076 bus-range = <0x00 0xff>;
1078 #address-cells = <3>;
1081 ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000 /* downstream I/O */
1082 0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
1084 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1085 interrupt-names = "msi";
1086 #interrupt-cells = <1>;
1087 interrupt-map-mask = <0 0 0 0x7>;
1088 interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1089 <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1090 <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1091 <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1093 clocks = <&gcc PCIE_A_CLK>,
1095 <&gcc PCIE_PHY_CLK>,
1096 <&gcc PCIE_AUX_CLK>,
1097 <&gcc PCIE_ALT_REF_CLK>;
1098 clock-names = "core", "iface", "phy", "aux", "ref";
1100 assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
1101 assigned-clock-rates = <100000000>;
1103 resets = <&gcc PCIE_ACLK_RESET>,
1104 <&gcc PCIE_HCLK_RESET>,
1105 <&gcc PCIE_POR_RESET>,
1106 <&gcc PCIE_PCI_RESET>,
1107 <&gcc PCIE_PHY_RESET>,
1108 <&gcc PCIE_EXT_RESET>;
1109 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1111 pinctrl-0 = <&pcie0_pins>;
1112 pinctrl-names = "default";
1114 perst-gpios = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
1116 phy-tx0-term-offset = <7>;
1118 status = "disabled";
1121 pcie1: pci@1b700000 {
1122 compatible = "qcom,pcie-ipq8064";
1123 reg = <0x1b700000 0x1000
1126 0x31f00000 0x100000>;
1127 reg-names = "dbi", "elbi", "parf", "config";
1128 device_type = "pci";
1129 linux,pci-domain = <1>;
1130 bus-range = <0x00 0xff>;
1132 #address-cells = <3>;
1135 ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000 /* downstream I/O */
1136 0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
1138 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
1139 interrupt-names = "msi";
1140 #interrupt-cells = <1>;
1141 interrupt-map-mask = <0 0 0 0x7>;
1142 interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1143 <0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1144 <0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1145 <0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1147 clocks = <&gcc PCIE_1_A_CLK>,
1148 <&gcc PCIE_1_H_CLK>,
1149 <&gcc PCIE_1_PHY_CLK>,
1150 <&gcc PCIE_1_AUX_CLK>,
1151 <&gcc PCIE_1_ALT_REF_CLK>;
1152 clock-names = "core", "iface", "phy", "aux", "ref";
1154 assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
1155 assigned-clock-rates = <100000000>;
1157 resets = <&gcc PCIE_1_ACLK_RESET>,
1158 <&gcc PCIE_1_HCLK_RESET>,
1159 <&gcc PCIE_1_POR_RESET>,
1160 <&gcc PCIE_1_PCI_RESET>,
1161 <&gcc PCIE_1_PHY_RESET>,
1162 <&gcc PCIE_1_EXT_RESET>;
1163 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1165 pinctrl-0 = <&pcie1_pins>;
1166 pinctrl-names = "default";
1168 perst-gpios = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
1170 phy-tx0-term-offset = <7>;
1172 status = "disabled";
1175 pcie2: pci@1b900000 {
1176 compatible = "qcom,pcie-ipq8064";
1177 reg = <0x1b900000 0x1000
1180 0x35f00000 0x100000>;
1181 reg-names = "dbi", "elbi", "parf", "config";
1182 device_type = "pci";
1183 linux,pci-domain = <2>;
1184 bus-range = <0x00 0xff>;
1186 #address-cells = <3>;
1189 ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000 /* downstream I/O */
1190 0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
1192 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1193 interrupt-names = "msi";
1194 #interrupt-cells = <1>;
1195 interrupt-map-mask = <0 0 0 0x7>;
1196 interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1197 <0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1198 <0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1199 <0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1201 clocks = <&gcc PCIE_2_A_CLK>,
1202 <&gcc PCIE_2_H_CLK>,
1203 <&gcc PCIE_2_PHY_CLK>,
1204 <&gcc PCIE_2_AUX_CLK>,
1205 <&gcc PCIE_2_ALT_REF_CLK>;
1206 clock-names = "core", "iface", "phy", "aux", "ref";
1208 assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
1209 assigned-clock-rates = <100000000>;
1211 resets = <&gcc PCIE_2_ACLK_RESET>,
1212 <&gcc PCIE_2_HCLK_RESET>,
1213 <&gcc PCIE_2_POR_RESET>,
1214 <&gcc PCIE_2_PCI_RESET>,
1215 <&gcc PCIE_2_PHY_RESET>,
1216 <&gcc PCIE_2_EXT_RESET>;
1217 reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
1219 pinctrl-0 = <&pcie2_pins>;
1220 pinctrl-names = "default";
1222 perst-gpios = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
1224 phy-tx0-term-offset = <7>;
1226 status = "disabled";
1229 adm_dma: dma@18300000 {
1230 compatible = "qcom,adm";
1231 reg = <0x18300000 0x100000>;
1232 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
1235 clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
1236 clock-names = "core", "iface";
1238 resets = <&gcc ADM0_RESET>,
1239 <&gcc ADM0_PBUS_RESET>,
1240 <&gcc ADM0_C0_RESET>,
1241 <&gcc ADM0_C1_RESET>,
1242 <&gcc ADM0_C2_RESET>;
1243 reset-names = "clk", "pbus", "c0", "c1", "c2";
1246 status = "disabled";
1249 nand: nand@1ac00000 {
1250 compatible = "qcom,ipq806x-nand";
1251 reg = <0x1ac00000 0x800>;
1253 clocks = <&gcc EBI2_CLK>,
1254 <&gcc EBI2_AON_CLK>;
1255 clock-names = "core", "aon";
1257 dmas = <&adm_dma 3>;
1259 qcom,cmd-crci = <15>;
1260 qcom,data-crci = <3>;
1262 status = "disabled";
1264 #address-cells = <1>;
1268 nss_common: syscon@03000000 {
1269 compatible = "syscon";
1270 reg = <0x03000000 0x0000FFFF>;
1273 qsgmii_csr: syscon@1bb00000 {
1274 compatible = "syscon";
1275 reg = <0x1bb00000 0x000001FF>;
1278 stmmac_axi_setup: stmmac-axi-config {
1279 snps,wr_osr_lmt = <7>;
1280 snps,rd_osr_lmt = <7>;
1281 snps,blen = <16 0 0 0 0 0 0>;
1284 gmac0: ethernet@37000000 {
1285 device_type = "network";
1286 compatible = "qcom,ipq806x-gmac";
1287 reg = <0x37000000 0x200000>;
1288 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
1289 interrupt-names = "macirq";
1291 snps,axi-config = <&stmmac_axi_setup>;
1295 qcom,nss-common = <&nss_common>;
1296 qcom,qsgmii-csr = <&qsgmii_csr>;
1298 clocks = <&gcc GMAC_CORE1_CLK>;
1299 clock-names = "stmmaceth";
1301 resets = <&gcc GMAC_CORE1_RESET>;
1302 reset-names = "stmmaceth";
1304 status = "disabled";
1307 gmac1: ethernet@37200000 {
1308 device_type = "network";
1309 compatible = "qcom,ipq806x-gmac";
1310 reg = <0x37200000 0x200000>;
1311 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
1312 interrupt-names = "macirq";
1314 snps,axi-config = <&stmmac_axi_setup>;
1318 qcom,nss-common = <&nss_common>;
1319 qcom,qsgmii-csr = <&qsgmii_csr>;
1321 clocks = <&gcc GMAC_CORE2_CLK>;
1322 clock-names = "stmmaceth";
1324 resets = <&gcc GMAC_CORE2_RESET>;
1325 reset-names = "stmmaceth";
1327 status = "disabled";
1330 gmac2: ethernet@37400000 {
1331 device_type = "network";
1332 compatible = "qcom,ipq806x-gmac";
1333 reg = <0x37400000 0x200000>;
1334 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
1335 interrupt-names = "macirq";
1337 snps,axi-config = <&stmmac_axi_setup>;
1341 qcom,nss-common = <&nss_common>;
1342 qcom,qsgmii-csr = <&qsgmii_csr>;
1344 clocks = <&gcc GMAC_CORE3_CLK>;
1345 clock-names = "stmmaceth";
1347 resets = <&gcc GMAC_CORE3_RESET>;
1348 reset-names = "stmmaceth";
1350 status = "disabled";
1353 gmac3: ethernet@37600000 {
1354 device_type = "network";
1355 compatible = "qcom,ipq806x-gmac";
1356 reg = <0x37600000 0x200000>;
1357 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
1358 interrupt-names = "macirq";
1360 snps,axi-config = <&stmmac_axi_setup>;
1364 qcom,nss-common = <&nss_common>;
1365 qcom,qsgmii-csr = <&qsgmii_csr>;
1367 clocks = <&gcc GMAC_CORE4_CLK>;
1368 clock-names = "stmmaceth";
1370 resets = <&gcc GMAC_CORE4_RESET>;
1371 reset-names = "stmmaceth";
1373 status = "disabled";
1376 /* Temporary fixed regulator */
1377 vsdcc_fixed: vsdcc-regulator {
1378 compatible = "regulator-fixed";
1379 regulator-name = "SDCC Power";
1380 regulator-min-microvolt = <3300000>;
1381 regulator-max-microvolt = <3300000>;
1382 regulator-always-on;
1385 sdcc1bam:dma@12402000 {
1386 compatible = "qcom,bam-v1.3.0";
1387 reg = <0x12402000 0x8000>;
1388 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1389 clocks = <&gcc SDC1_H_CLK>;
1390 clock-names = "bam_clk";
1395 sdcc3bam:dma@12182000 {
1396 compatible = "qcom,bam-v1.3.0";
1397 reg = <0x12182000 0x8000>;
1398 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1399 clocks = <&gcc SDC3_H_CLK>;
1400 clock-names = "bam_clk";
1406 compatible = "arm,amba-bus";
1407 #address-cells = <1>;
1410 sdcc1: sdcc@12400000 {
1411 status = "disabled";
1412 compatible = "arm,pl18x", "arm,primecell";
1413 arm,primecell-periphid = <0x00051180>;
1414 reg = <0x12400000 0x2000>;
1415 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1416 interrupt-names = "cmd_irq";
1417 clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>;
1418 clock-names = "mclk", "apb_pclk";
1420 max-frequency = <96000000>;
1424 vmmc-supply = <&vsdcc_fixed>;
1425 dmas = <&sdcc1bam 2>, <&sdcc1bam 1>;
1426 dma-names = "tx", "rx";
1429 sdcc3: sdcc@12180000 {
1430 compatible = "arm,pl18x", "arm,primecell";
1431 arm,primecell-periphid = <0x00051180>;
1432 status = "disabled";
1433 reg = <0x12180000 0x2000>;
1434 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1435 interrupt-names = "cmd_irq";
1436 clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>;
1437 clock-names = "mclk", "apb_pclk";
1441 max-frequency = <192000000>;
1445 vqmmc-supply = <&vsdcc_fixed>;
1446 dmas = <&sdcc3bam 2>, <&sdcc3bam 1>;
1447 dma-names = "tx", "rx";
1452 sfpb_mutex: sfpb-mutex {
1453 compatible = "qcom,sfpb-mutex";
1454 syscon = <&sfpb_mutex_block 4 4>;
1456 #hwlock-cells = <1>;
1460 compatible = "qcom,smem";
1461 memory-region = <&smem>;
1462 hwlocks = <&sfpb_mutex 3>;