[PATCH 2/2] ARM: dts: gemini: Enable DNS313 FOTG210 as periph

Linus Walleij linus.walleij at linaro.org
Sun Jan 22 23:39:16 PST 2023


Add the GPIO-based VBUS phy, and enable the FOTG210
USB1 block for use as peripheral.

Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
---
 arch/arm/boot/dts/gemini-dlink-dns-313.dts | 17 +++++++++++++++++
 arch/arm/boot/dts/gemini.dtsi              |  2 ++
 2 files changed, 19 insertions(+)

diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
index eba1c94ed7f7..15828ffcae62 100644
--- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
@@ -80,6 +80,15 @@ fan0: gpio-fan {
 		#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 {
@@ -300,5 +309,13 @@ ethernet-port at 1 {
 		ide at 63000000 {
 			status = "okay";
 		};
+
+		usb at 69000000 {
+			status = "okay";
+			dr_mode = "peripheral";
+			usb-phy = <&usb1_phy>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&usb_default_pins>;
+		};
 	};
 };
diff --git a/arch/arm/boot/dts/gemini.dtsi b/arch/arm/boot/dts/gemini.dtsi
index 21b6a7fe0ff7..42affc37fa56 100644
--- a/arch/arm/boot/dts/gemini.dtsi
+++ b/arch/arm/boot/dts/gemini.dtsi
@@ -457,6 +457,8 @@ usb0: usb at 68000000 {
 			 */
 			pinctrl-names = "default";
 			pinctrl-0 = <&usb_default_pins>;
+			/* Default to host mode */
+			dr_mode = "host";
 			syscon = <&syscon>;
 			status = "disabled";
 		};
-- 
2.39.0




More information about the linux-arm-kernel mailing list