gemini: Add kernel v6.1 patches
[openwrt/staging/wigyori.git] / target / linux / gemini / patches-6.1 / 0029-ARM-dts-gemini-Enable-DNS313-FOTG210-as-periph.patch
diff --git a/target/linux/gemini/patches-6.1/0029-ARM-dts-gemini-Enable-DNS313-FOTG210-as-periph.patch b/target/linux/gemini/patches-6.1/0029-ARM-dts-gemini-Enable-DNS313-FOTG210-as-periph.patch
new file mode 100644 (file)
index 0000000..6678781
--- /dev/null
@@ -0,0 +1,54 @@
+From 296184694ae7a4e388603c95499e98d30b21cc09 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Mon, 23 Jan 2023 08:39:16 +0100
+Subject: [PATCH 29/29] ARM: dts: gemini: Enable DNS313 FOTG210 as periph
+
+Add the GPIO-based VBUS phy, and enable the FOTG210
+USB1 block for use as peripheral.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20230123073916.2350839-2-linus.walleij@linaro.org
+---
+--- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
++++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
+@@ -80,6 +80,15 @@
+               #cooling-cells = <2>;
+       };
++      /*
++       * This is the type B USB connector on the device,
++       * a GPIO-controlled USB VBUS detect
++       */
++      usb1_phy: phy {
++              compatible = "gpio-usb-b-connector", "usb-b-connector";
++              #phy-cells = <0>;
++              vbus-gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
++      };
+       /* Global Mixed-Mode Technology G751 mounted on GPIO I2C */
+       i2c {
+@@ -302,5 +311,13 @@
+               ide@63000000 {
+                       status = "okay";
+               };
++
++              usb@69000000 {
++                      status = "okay";
++                      dr_mode = "peripheral";
++                      usb-phy = <&usb1_phy>;
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&usb_default_pins>;
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/gemini.dtsi
++++ b/arch/arm/boot/dts/gemini.dtsi
+@@ -455,6 +455,8 @@
+                        */
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&usb_default_pins>;
++                      /* Default to host mode */
++                      dr_mode = "host";
+                       syscon = <&syscon>;
+                       status = "disabled";
+               };