aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/gemini/patches-4.14/0031-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/gemini/patches-4.14/0031-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini.patch')
-rw-r--r--target/linux/gemini/patches-4.14/0031-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini.patch178
1 files changed, 178 insertions, 0 deletions
diff --git a/target/linux/gemini/patches-4.14/0031-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini.patch b/target/linux/gemini/patches-4.14/0031-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini.patch
new file mode 100644
index 0000000000..cb6fdb8752
--- /dev/null
+++ b/target/linux/gemini/patches-4.14/0031-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini.patch
@@ -0,0 +1,178 @@
+From dd62aee5d2d24199e71e745544e49a1a8b3c6f7a Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Fri, 21 Apr 2017 20:50:22 +0200
+Subject: [PATCH 31/31] ARM: dts: Add the FOTG210 USB host to Gemini
+
+This adds the FOTG210 USB host controller to the Gemini
+device trees. In the main SoC DTSI it is flagged as disabled
+and then it is selectively enabled on the devices that utilize
+it (these per-platform enablements are done on the out-of-tree
+OpenWrt patch set). It is not enabled on the Itian SquareOne
+NAS/router since this instead has a VIA host controller
+soldered on the PCI port, and can gate off these USB host
+controllers.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+---
+USB maintainers: I will merge this through the ARM SoC tree,
+the patch is only included in the series for context.
+---
+ arch/arm/boot/dts/gemini-dlink-dir-685.dts | 8 ++++++++
+ arch/arm/boot/dts/gemini-nas4220b.dts | 8 ++++++++
+ arch/arm/boot/dts/gemini-rut1xx.dts | 20 ++++++++++++++++++++
+ arch/arm/boot/dts/gemini-wbd111.dts | 20 ++++++++++++++++++++
+ arch/arm/boot/dts/gemini-wbd222.dts | 21 +++++++++++++++++++++
+ arch/arm/boot/dts/gemini.dtsi | 26 ++++++++++++++++++++++++++
+ 6 files changed, 103 insertions(+)
+
+--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
++++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+@@ -303,5 +303,13 @@
+ };
+ };
+ };
++
++ usb@68000000 {
++ status = "okay";
++ };
++
++ usb@69000000 {
++ status = "okay";
++ };
+ };
+ };
+--- a/arch/arm/boot/dts/gemini-nas4220b.dts
++++ b/arch/arm/boot/dts/gemini-nas4220b.dts
+@@ -146,5 +146,13 @@
+ ata@63000000 {
+ status = "okay";
+ };
++
++ usb@68000000 {
++ status = "okay";
++ };
++
++ usb@69000000 {
++ status = "okay";
++ };
+ };
+ };
+--- a/arch/arm/boot/dts/gemini-rut1xx.dts
++++ b/arch/arm/boot/dts/gemini-rut1xx.dts
+@@ -114,5 +114,25 @@
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio1_default_pins>;
+ };
++
++ ethernet@60000000 {
++ status = "okay";
++
++ ethernet-port@0 {
++ phy-mode = "rgmii";
++ phy-handle = <&phy0>;
++ };
++ ethernet-port@1 {
++ /* Not used in this platform */
++ };
++ };
++
++ usb@68000000 {
++ status = "okay";
++ };
++
++ usb@69000000 {
++ status = "okay";
++ };
+ };
+ };
+--- a/arch/arm/boot/dts/gemini-wbd111.dts
++++ b/arch/arm/boot/dts/gemini-wbd111.dts
+@@ -160,5 +160,25 @@
+ <0x6000 0 0 3 &pci_intc 1>,
+ <0x6000 0 0 4 &pci_intc 2>;
+ };
++
++ ethernet@60000000 {
++ status = "okay";
++
++ ethernet-port@0 {
++ phy-mode = "rgmii";
++ phy-handle = <&phy0>;
++ };
++ ethernet-port@1 {
++ /* Not used in this platform */
++ };
++ };
++
++ usb@68000000 {
++ status = "okay";
++ };
++
++ usb@69000000 {
++ status = "okay";
++ };
+ };
+ };
+--- a/arch/arm/boot/dts/gemini-wbd222.dts
++++ b/arch/arm/boot/dts/gemini-wbd222.dts
+@@ -165,5 +165,26 @@
+ <0x6000 0 0 3 &pci_intc 1>,
+ <0x6000 0 0 4 &pci_intc 2>;
+ };
++
++ ethernet@60000000 {
++ status = "okay";
++
++ ethernet-port@0 {
++ phy-mode = "rgmii";
++ phy-handle = <&phy0>;
++ };
++ ethernet-port@1 {
++ phy-mode = "rgmii";
++ phy-handle = <&phy1>;
++ };
++ };
++
++ usb@68000000 {
++ status = "okay";
++ };
++
++ usb@69000000 {
++ status = "okay";
++ };
+ };
+ };
+--- a/arch/arm/boot/dts/gemini.dtsi
++++ b/arch/arm/boot/dts/gemini.dtsi
+@@ -411,5 +411,31 @@
+ #size-cells = <0>;
+ status = "disabled";
+ };
++
++ usb@68000000 {
++ compatible = "cortina,gemini-usb", "faraday,fotg210";
++ reg = <0x68000000 0x1000>;
++ interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
++ resets = <&syscon GEMINI_RESET_USB0>;
++ clocks = <&syscon GEMINI_CLK_GATE_USB0>;
++ clock-names = "PCLK";
++ pinctrl-names = "default";
++ pinctrl-0 = <&usb_default_pins>;
++ syscon = <&syscon>;
++ status = "disabled";
++ };
++
++ usb@69000000 {
++ compatible = "cortina,gemini-usb", "faraday,fotg210";
++ reg = <0x69000000 0x1000>;
++ interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
++ resets = <&syscon GEMINI_RESET_USB1>;
++ clocks = <&syscon GEMINI_CLK_GATE_USB1>;
++ clock-names = "PCLK";
++ pinctrl-names = "default";
++ pinctrl-0 = <&usb_default_pins>;
++ syscon = <&syscon>;
++ status = "disabled";
++ };
+ };
+ };