1 --- a/arch/arm/boot/dts/Makefile
2 +++ b/arch/arm/boot/dts/Makefile
3 @@ -619,6 +619,14 @@ dtb-$(CONFIG_ARCH_QCOM) += \
4 qcom-ipq4019-ap.dk01.1-c1.dtb \
5 qcom-ipq4019-ap.dk04.1-c1.dtb \
6 qcom-ipq8064-ap148.dtb \
7 + qcom-ipq8064-c2600.dtb \
8 + qcom-ipq8064-d7800.dtb \
9 + qcom-ipq8064-db149.dtb \
10 + qcom-ipq8064-ea8500.dtb \
11 + qcom-ipq8064-r7500.dtb \
12 + qcom-ipq8064-r7500v2.dtb \
13 + qcom-ipq8065-nbg6817.dtb \
14 + qcom-ipq8065-r7800.dtb \
15 qcom-msm8660-surf.dtb \
16 qcom-msm8960-cdp.dtb \
17 qcom-msm8974-lge-nexus5-hammerhead.dtb \
18 --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
19 +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
25 + mdio0_pins: mdio0_pins {
27 + pins = "gpio0", "gpio1";
29 + drive-strength = <8>;
34 + rgmii2_pins: rgmii2_pins {
36 + pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
37 + "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ;
38 + function = "rgmii2";
39 + drive-strength = <8>;
50 - i2c4: i2c@16380000 {
53 - clock-frequency = <200000>;
55 - pinctrl-0 = <&i2c4_pins>;
56 - pinctrl-names = "default";
59 + * The i2c device on gsbi4 should not be enabled.
60 + * On ipq806x designs gsbi4 i2c is meant for exclusive
61 + * RPM usage. Turning this on in kernel manifests as
62 + * i2c failure for the RPM.
66 gsbi5: gsbi@1a200000 {
68 spi-max-frequency = <50000000>;
73 - reg = <0x0 0x1000000>;
78 - reg = <0x1000000 0x1000000>;
80 + linux,part-probe = "qcom-smem";
84 @@ -121,19 +130,102 @@
88 + phy@100f8800 { /* USB3 port 1 HS phy */
92 + phy@100f8830 { /* USB3 port 1 SS phy */
96 + phy@110f8800 { /* USB3 port 0 HS phy */
100 + phy@110f8830 { /* USB3 port 0 SS phy */
112 + pcie0: pci@1b500000 {
114 + phy-tx0-term-offset = <7>;
117 + pcie1: pci@1b700000 {
119 + phy-tx0-term-offset = <7>;
125 pinctrl-0 = <&nand_pins>;
126 pinctrl-names = "default";
129 - compatible = "qcom,nandcs";
130 + nand-ecc-strength = <4>;
131 + nand-bus-width = <8>;
133 + linux,part-probe = "qcom-smem";
137 + compatible = "virtual,mdio-gpio";
138 + #address-cells = <1>;
140 + gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
141 + pinctrl-0 = <&mdio0_pins>;
142 + pinctrl-names = "default";
144 + phy0: ethernet-phy@0 {
145 + device_type = "ethernet-phy";
147 + qca,ar8327-initvals = <
148 + 0x00004 0x7600000 /* PAD0_MODE */
149 + 0x00008 0x1000000 /* PAD5_MODE */
150 + 0x0000c 0x80 /* PAD6_MODE */
151 + 0x000e4 0x6a545 /* MAC_POWER_SEL */
152 + 0x000e0 0xc74164de /* SGMII_CTRL */
153 + 0x0007c 0x4e /* PORT0_STATUS */
154 + 0x00094 0x4e /* PORT6_STATUS */
158 + phy4: ethernet-phy@4 {
159 + device_type = "ethernet-phy";
164 + gmac1: ethernet@37200000 {
166 + phy-mode = "rgmii";
169 + pinctrl-0 = <&rgmii2_pins>;
170 + pinctrl-names = "default";
178 + gmac2: ethernet@37400000 {
180 + phy-mode = "sgmii";
183 - nand-ecc-strength = <4>;
184 - nand-ecc-step-size = <512>;
185 - nand-bus-width = <8>;
192 --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
193 +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
197 #include "skeleton.dtsi"
198 -#include <dt-bindings/reset/qcom,gcc-ipq806x.h>
199 #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
200 +#include <dt-bindings/mfd/qcom-rpm.h>
201 #include <dt-bindings/clock/qcom,lcc-ipq806x.h>
202 #include <dt-bindings/soc/qcom,gsbi.h>
203 +#include <dt-bindings/reset/qcom,gcc-ipq806x.h>
204 #include <dt-bindings/interrupt-controller/arm-gic.h>
205 +#include <dt-bindings/gpio/gpio.h>
208 model = "Qualcomm IPQ8064";
210 #address-cells = <1>;
215 compatible = "qcom,krait";
216 enable-method = "qcom,kpss-acc-v1";
219 next-level-cache = <&L2>;
222 + clocks = <&kraitcc 0>, <&kraitcc 4>;
223 + clock-names = "cpu", "l2";
224 + clock-latency = <100000>;
225 + cpu-supply = <&smb208_s2a>;
226 + voltage-tolerance = <5>;
227 + cooling-min-state = <0>;
228 + cooling-max-state = <10>;
229 + #cooling-cells = <2>;
230 + cpu-idle-states = <&CPU_SPC>;
235 compatible = "qcom,krait";
236 enable-method = "qcom,kpss-acc-v1";
239 next-level-cache = <&L2>;
242 + clocks = <&kraitcc 1>, <&kraitcc 4>;
243 + clock-names = "cpu", "l2";
244 + clock-latency = <100000>;
245 + cpu-supply = <&smb208_s2b>;
246 + cooling-min-state = <0>;
247 + cooling-max-state = <10>;
248 + #cooling-cells = <2>;
249 + cpu-idle-states = <&CPU_SPC>;
253 compatible = "cache";
255 + qcom,saw = <&saw_l2>;
259 + qcom,l2-rates = <384000000 1000000000 1200000000>;
264 + compatible = "qcom,idle-state-spc",
266 + entry-latency-us = <400>;
267 + exit-latency-us = <900>;
268 + min-residency-us = <3000>;
275 + polling-delay-passive = <250>;
276 + polling-delay = <1000>;
278 + thermal-sensors = <&gcc 5>;
279 + coefficients = <1132 0>;
282 + cpu_alert0: trip0 {
283 + temperature = <75000>;
284 + hysteresis = <2000>;
288 + temperature = <110000>;
289 + hysteresis = <2000>;
296 + polling-delay-passive = <250>;
297 + polling-delay = <1000>;
299 + thermal-sensors = <&gcc 6>;
300 + coefficients = <1132 0>;
303 + cpu_alert1: trip0 {
304 + temperature = <75000>;
305 + hysteresis = <2000>;
309 + temperature = <110000>;
310 + hysteresis = <2000>;
317 + polling-delay-passive = <250>;
318 + polling-delay = <1000>;
320 + thermal-sensors = <&gcc 7>;
321 + coefficients = <1199 0>;
324 + cpu_alert2: trip0 {
325 + temperature = <75000>;
326 + hysteresis = <2000>;
330 + temperature = <110000>;
331 + hysteresis = <2000>;
338 + polling-delay-passive = <250>;
339 + polling-delay = <1000>;
341 + thermal-sensors = <&gcc 8>;
342 + coefficients = <1132 0>;
345 + cpu_alert3: trip0 {
346 + temperature = <75000>;
347 + hysteresis = <2000>;
351 + temperature = <110000>;
352 + hysteresis = <2000>;
364 + smem: smem@41000000 {
365 reg = <0x41000000 0x200000>;
370 compatible = "fixed-clock";
372 - clock-frequency = <19200000>;
373 + clock-frequency = <25000000>;
377 compatible = "fixed-clock";
379 - clock-frequency = <27000000>;
380 + clock-frequency = <25000000>;
383 sleep_clk: sleep_clk {
388 + kraitcc: clock-controller {
389 + compatible = "qcom,krait-cc-v1";
390 + #clock-cells = <1>;
395 + qcom,speed0-pvs0-bin-v0 =
396 + < 1400000000 1250000 >,
397 + < 1200000000 1200000 >,
398 + < 1000000000 1150000 >,
399 + < 800000000 1100000 >,
400 + < 600000000 1050000 >,
401 + < 384000000 1000000 >;
403 + qcom,speed0-pvs1-bin-v0 =
404 + < 1400000000 1175000 >,
405 + < 1200000000 1125000 >,
406 + < 1000000000 1075000 >,
407 + < 800000000 1025000 >,
408 + < 600000000 975000 >,
409 + < 384000000 925000 >;
411 + qcom,speed0-pvs2-bin-v0 =
412 + < 1400000000 1125000 >,
413 + < 1200000000 1075000 >,
414 + < 1000000000 1025000 >,
415 + < 800000000 995000 >,
416 + < 600000000 925000 >,
417 + < 384000000 875000 >;
419 + qcom,speed0-pvs3-bin-v0 =
420 + < 1400000000 1050000 >,
421 + < 1200000000 1000000 >,
422 + < 1000000000 950000 >,
423 + < 800000000 900000 >,
424 + < 600000000 850000 >,
425 + < 384000000 800000 >;
429 #address-cells = <1>;
432 reg-names = "lpass-lpaif";
435 + qfprom: qfprom@700000 {
436 + compatible = "qcom,qfprom", "syscon";
437 + reg = <0x00700000 0x1000>;
438 + #address-cells = <1>;
442 + tsens_calib: calib {
443 + reg = <0x400 0x10>;
445 + tsens_backup: backup_calib {
446 + reg = <0x410 0x10>;
451 + compatible = "qcom,rpm-ipq8064";
452 + reg = <0x108000 0x1000>;
453 + qcom,ipc = <&l2cc 0x8 2>;
455 + interrupts = <0 19 0>,
458 + interrupt-names = "ack",
462 + clocks = <&gcc RPM_MSG_RAM_H_CLK>;
463 + clock-names = "ram";
465 + #address-cells = <1>;
468 + rpmcc: clock-controller {
469 + compatible = "qcom,rpmcc-ipq806x", "qcom,rpmcc";
470 + #clock-cells = <1>;
474 + compatible = "qcom,rpm-smb208-regulators";
477 + regulator-min-microvolt = <1050000>;
478 + regulator-max-microvolt = <1150000>;
480 + qcom,switch-mode-frequency = <1200000>;
485 + regulator-min-microvolt = <1050000>;
486 + regulator-max-microvolt = <1150000>;
488 + qcom,switch-mode-frequency = <1200000>;
492 + regulator-min-microvolt = < 800000>;
493 + regulator-max-microvolt = <1250000>;
495 + qcom,switch-mode-frequency = <1200000>;
499 + regulator-min-microvolt = < 800000>;
500 + regulator-max-microvolt = <1250000>;
502 + qcom,switch-mode-frequency = <1200000>;
508 + compatible = "qcom,prng";
509 + reg = <0x1a500000 0x200>;
510 + clocks = <&gcc PRNG_CLK>;
511 + clock-names = "core";
514 qcom_pinmux: pinmux@800000 {
515 compatible = "qcom,ipq8064-pinctrl";
516 reg = <0x800000 0x4000>;
518 interrupt-controller;
519 #interrupt-cells = <2>;
520 interrupts = <0 16 0x4>;
522 + pcie0_pins: pcie0_pinmux {
525 + function = "pcie1_rst";
526 + drive-strength = <2>;
531 + pcie1_pins: pcie1_pinmux {
534 + function = "pcie2_rst";
535 + drive-strength = <2>;
540 + pcie2_pins: pcie2_pinmux {
543 + function = "pcie3_rst";
544 + drive-strength = <2>;
551 intc: interrupt-controller@2000000 {
556 - compatible = "qcom,kpss-timer",
557 - "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
558 + compatible = "qcom,kpss-timer", "qcom,msm-timer";
559 interrupts = <1 1 0x301>,
562 @@ -142,25 +408,44 @@
563 acc0: clock-controller@2088000 {
564 compatible = "qcom,kpss-acc-v1";
565 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
566 + clock-output-names = "acpu0_aux";
569 acc1: clock-controller@2098000 {
570 compatible = "qcom,kpss-acc-v1";
571 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
572 + clock-output-names = "acpu1_aux";
575 + l2cc: clock-controller@2011000 {
576 + compatible = "qcom,kpss-gcc", "syscon";
577 + reg = <0x2011000 0x1000>;
578 + clock-output-names = "acpu_l2_aux";
581 saw0: regulator@2089000 {
582 - compatible = "qcom,saw2";
583 + compatible = "qcom,saw2", "syscon";
584 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
588 saw1: regulator@2099000 {
589 - compatible = "qcom,saw2";
590 + compatible = "qcom,saw2", "syscon";
591 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
595 + saw_l2: regulator@02012000 {
596 + compatible = "qcom,saw2", "syscon";
597 + reg = <0x02012000 0x1000>;
601 + sic_non_secure: sic-non-secure@12100000 {
602 + compatible = "syscon";
603 + reg = <0x12100000 0x10000>;
606 gsbi2: gsbi@12480000 {
607 compatible = "qcom,gsbi-v1.0.0";
610 gcc: clock-controller@900000 {
611 compatible = "qcom,gcc-ipq8064";
612 reg = <0x00900000 0x4000>;
613 + nvmem-cells = <&tsens_calib>, <&tsens_backup>;
614 + nvmem-cell-names = "calib", "calib_backup";
617 + #power-domain-cells = <1>;
618 + #thermal-sensor-cells = <1>;
621 tcsr: syscon@1a400000 {
622 @@ -344,10 +633,259 @@
626 + sfpb_mutex_block: syscon@1200600 {
627 + compatible = "syscon";
628 + reg = <0x01200600 0x100>;
631 + hs_phy_1: phy@100f8800 {
632 + compatible = "qcom,dwc3-hs-usb-phy";
633 + reg = <0x100f8800 0x30>;
634 + clocks = <&gcc USB30_1_UTMI_CLK>;
635 + clock-names = "ref";
638 + status = "disabled";
641 + ss_phy_1: phy@100f8830 {
642 + compatible = "qcom,dwc3-ss-usb-phy";
643 + reg = <0x100f8830 0x30>;
644 + clocks = <&gcc USB30_1_MASTER_CLK>;
645 + clock-names = "ref";
648 + status = "disabled";
651 + hs_phy_0: phy@110f8800 {
652 + compatible = "qcom,dwc3-hs-usb-phy";
653 + reg = <0x110f8800 0x30>;
654 + clocks = <&gcc USB30_0_UTMI_CLK>;
655 + clock-names = "ref";
658 + status = "disabled";
661 + ss_phy_0: phy@110f8830 {
662 + compatible = "qcom,dwc3-ss-usb-phy";
663 + reg = <0x110f8830 0x30>;
664 + clocks = <&gcc USB30_0_MASTER_CLK>;
665 + clock-names = "ref";
668 + status = "disabled";
672 + compatible = "qcom,dwc3";
673 + #address-cells = <1>;
675 + clocks = <&gcc USB30_0_MASTER_CLK>;
676 + clock-names = "core";
678 + syscon-tcsr = <&tcsr 0xb0 1>;
682 + status = "disabled";
685 + compatible = "snps,dwc3";
686 + reg = <0x11000000 0xcd00>;
687 + interrupts = <0 110 0x4>;
688 + phys = <&hs_phy_0>, <&ss_phy_0>;
689 + phy-names = "usb2-phy", "usb3-phy";
691 + snps,dis_u3_susphy_quirk;
696 + compatible = "qcom,dwc3";
697 + #address-cells = <1>;
699 + clocks = <&gcc USB30_1_MASTER_CLK>;
700 + clock-names = "core";
702 + syscon-tcsr = <&tcsr 0xb0 0>;
706 + status = "disabled";
709 + compatible = "snps,dwc3";
710 + reg = <0x10000000 0xcd00>;
711 + interrupts = <0 205 0x4>;
712 + phys = <&hs_phy_1>, <&ss_phy_1>;
713 + phy-names = "usb2-phy", "usb3-phy";
715 + snps,dis_u3_susphy_quirk;
719 + pcie0: pci@1b500000 {
720 + compatible = "qcom,pcie-v0";
721 + reg = <0x1b500000 0x1000
724 + 0x0ff00000 0x100000>;
725 + reg-names = "dbi", "elbi", "parf", "config";
726 + device_type = "pci";
727 + linux,pci-domain = <0>;
728 + bus-range = <0x00 0xff>;
730 + #address-cells = <3>;
733 + ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000 /* downstream I/O */
734 + 0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
736 + interrupts = <GIC_SPI 35 IRQ_TYPE_NONE>;
737 + interrupt-names = "msi";
738 + #interrupt-cells = <1>;
739 + interrupt-map-mask = <0 0 0 0x7>;
740 + interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
741 + <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
742 + <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
743 + <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
745 + clocks = <&gcc PCIE_A_CLK>,
747 + <&gcc PCIE_PHY_CLK>,
748 + <&gcc PCIE_AUX_CLK>,
749 + <&gcc PCIE_ALT_REF_CLK>;
750 + clock-names = "core", "iface", "phy", "aux", "ref";
752 + assigned-clocks = <&gcc PCIE_ALT_REF_CLK>;
753 + assigned-clock-rates = <100000000>;
755 + resets = <&gcc PCIE_ACLK_RESET>,
756 + <&gcc PCIE_HCLK_RESET>,
757 + <&gcc PCIE_POR_RESET>,
758 + <&gcc PCIE_PCI_RESET>,
759 + <&gcc PCIE_PHY_RESET>,
760 + <&gcc PCIE_EXT_RESET>;
761 + reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
763 + pinctrl-0 = <&pcie0_pins>;
764 + pinctrl-names = "default";
766 + perst-gpios = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
768 + status = "disabled";
771 + pcie1: pci@1b700000 {
772 + compatible = "qcom,pcie-v0";
773 + reg = <0x1b700000 0x1000
776 + 0x31f00000 0x100000>;
777 + reg-names = "dbi", "elbi", "parf", "config";
778 + device_type = "pci";
779 + linux,pci-domain = <1>;
780 + bus-range = <0x00 0xff>;
782 + #address-cells = <3>;
785 + ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000 /* downstream I/O */
786 + 0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
788 + interrupts = <GIC_SPI 57 IRQ_TYPE_NONE>;
789 + interrupt-names = "msi";
790 + #interrupt-cells = <1>;
791 + interrupt-map-mask = <0 0 0 0x7>;
792 + interrupt-map = <0 0 0 1 &intc 0 58 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
793 + <0 0 0 2 &intc 0 59 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
794 + <0 0 0 3 &intc 0 60 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
795 + <0 0 0 4 &intc 0 61 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
797 + clocks = <&gcc PCIE_1_A_CLK>,
798 + <&gcc PCIE_1_H_CLK>,
799 + <&gcc PCIE_1_PHY_CLK>,
800 + <&gcc PCIE_1_AUX_CLK>,
801 + <&gcc PCIE_1_ALT_REF_CLK>;
802 + clock-names = "core", "iface", "phy", "aux", "ref";
804 + assigned-clocks = <&gcc PCIE_1_ALT_REF_CLK>;
805 + assigned-clock-rates = <100000000>;
807 + resets = <&gcc PCIE_1_ACLK_RESET>,
808 + <&gcc PCIE_1_HCLK_RESET>,
809 + <&gcc PCIE_1_POR_RESET>,
810 + <&gcc PCIE_1_PCI_RESET>,
811 + <&gcc PCIE_1_PHY_RESET>,
812 + <&gcc PCIE_1_EXT_RESET>;
813 + reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
815 + pinctrl-0 = <&pcie1_pins>;
816 + pinctrl-names = "default";
818 + perst-gpios = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
820 + status = "disabled";
823 + pcie2: pci@1b900000 {
824 + compatible = "qcom,pcie-v0";
825 + reg = <0x1b900000 0x1000
828 + 0x35f00000 0x100000>;
829 + reg-names = "dbi", "elbi", "parf", "config";
830 + device_type = "pci";
831 + linux,pci-domain = <2>;
832 + bus-range = <0x00 0xff>;
834 + #address-cells = <3>;
837 + ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000 /* downstream I/O */
838 + 0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
840 + interrupts = <GIC_SPI 71 IRQ_TYPE_NONE>;
841 + interrupt-names = "msi";
842 + #interrupt-cells = <1>;
843 + interrupt-map-mask = <0 0 0 0x7>;
844 + interrupt-map = <0 0 0 1 &intc 0 72 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
845 + <0 0 0 2 &intc 0 73 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
846 + <0 0 0 3 &intc 0 74 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
847 + <0 0 0 4 &intc 0 75 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
849 + clocks = <&gcc PCIE_2_A_CLK>,
850 + <&gcc PCIE_2_H_CLK>,
851 + <&gcc PCIE_2_PHY_CLK>,
852 + <&gcc PCIE_2_AUX_CLK>,
853 + <&gcc PCIE_2_ALT_REF_CLK>;
854 + clock-names = "core", "iface", "phy", "aux", "ref";
856 + assigned-clocks = <&gcc PCIE_2_ALT_REF_CLK>;
857 + assigned-clock-rates = <100000000>;
859 + resets = <&gcc PCIE_2_ACLK_RESET>,
860 + <&gcc PCIE_2_HCLK_RESET>,
861 + <&gcc PCIE_2_POR_RESET>,
862 + <&gcc PCIE_2_PCI_RESET>,
863 + <&gcc PCIE_2_PHY_RESET>,
864 + <&gcc PCIE_2_EXT_RESET>;
865 + reset-names = "axi", "ahb", "por", "pci", "phy", "ext";
867 + pinctrl-0 = <&pcie2_pins>;
868 + pinctrl-names = "default";
870 + perst-gpios = <&qcom_pinmux 63 GPIO_ACTIVE_LOW>;
872 + status = "disabled";
875 adm_dma: dma@18300000 {
876 compatible = "qcom,adm";
877 reg = <0x18300000 0x100000>;
878 - interrupts = <GIC_SPI 170 IRQ_TYPE_NONE>;
879 + interrupts = <0 170 0>;
882 clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
887 - compatible = "qcom,ipq806x-nand";
888 + compatible = "qcom,ebi2-nandc";
889 reg = <0x1ac00000 0x800>;
891 clocks = <&gcc EBI2_CLK>,
892 @@ -380,5 +918,103 @@
896 + nss_common: syscon@03000000 {
897 + compatible = "syscon";
898 + reg = <0x03000000 0x0000FFFF>;
901 + qsgmii_csr: syscon@1bb00000 {
902 + compatible = "syscon";
903 + reg = <0x1bb00000 0x000001FF>;
906 + gmac0: ethernet@37000000 {
907 + device_type = "network";
908 + compatible = "qcom,ipq806x-gmac";
909 + reg = <0x37000000 0x200000>;
910 + interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
911 + interrupt-names = "macirq";
913 + qcom,nss-common = <&nss_common>;
914 + qcom,qsgmii-csr = <&qsgmii_csr>;
916 + clocks = <&gcc GMAC_CORE1_CLK>;
917 + clock-names = "stmmaceth";
919 + resets = <&gcc GMAC_CORE1_RESET>;
920 + reset-names = "stmmaceth";
922 + status = "disabled";
925 + gmac1: ethernet@37200000 {
926 + device_type = "network";
927 + compatible = "qcom,ipq806x-gmac";
928 + reg = <0x37200000 0x200000>;
929 + interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
930 + interrupt-names = "macirq";
932 + qcom,nss-common = <&nss_common>;
933 + qcom,qsgmii-csr = <&qsgmii_csr>;
935 + clocks = <&gcc GMAC_CORE2_CLK>;
936 + clock-names = "stmmaceth";
938 + resets = <&gcc GMAC_CORE2_RESET>;
939 + reset-names = "stmmaceth";
941 + status = "disabled";
944 + gmac2: ethernet@37400000 {
945 + device_type = "network";
946 + compatible = "qcom,ipq806x-gmac";
947 + reg = <0x37400000 0x200000>;
948 + interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
949 + interrupt-names = "macirq";
951 + qcom,nss-common = <&nss_common>;
952 + qcom,qsgmii-csr = <&qsgmii_csr>;
954 + clocks = <&gcc GMAC_CORE3_CLK>;
955 + clock-names = "stmmaceth";
957 + resets = <&gcc GMAC_CORE3_RESET>;
958 + reset-names = "stmmaceth";
960 + status = "disabled";
963 + gmac3: ethernet@37600000 {
964 + device_type = "network";
965 + compatible = "qcom,ipq806x-gmac";
966 + reg = <0x37600000 0x200000>;
967 + interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
968 + interrupt-names = "macirq";
970 + qcom,nss-common = <&nss_common>;
971 + qcom,qsgmii-csr = <&qsgmii_csr>;
973 + clocks = <&gcc GMAC_CORE4_CLK>;
974 + clock-names = "stmmaceth";
976 + resets = <&gcc GMAC_CORE4_RESET>;
977 + reset-names = "stmmaceth";
979 + status = "disabled";
983 + sfpb_mutex: sfpb-mutex {
984 + compatible = "qcom,sfpb-mutex";
985 + syscon = <&sfpb_mutex_block 4 4>;
987 + #hwlock-cells = <1>;
991 + compatible = "qcom,smem";
992 + memory-region = <&smem>;
993 + hwlocks = <&sfpb_mutex 3>;