[PATCH] arm64: dts: rockchip: Enable USB device mode on rk3588s-roc-pc
Fabio Estevam
festevam at gmail.com
Wed Jul 8 17:50:05 PDT 2026
From: Fabio Estevam <festevam at nabladev.com>
The USB3 OTG controller on the ROC-PC can be used in device mode,
but the board description only enabled the DWC3 controller and USB2 PHY.
The USBDP PHY remained disabled and the controller had no role-switch
default, so DWC3 did not register a UDC and USB gadget drivers such
as g_mass_storage failed to bind.
Enable the USBDP PHY and describe the controller as a USB role switch
with peripheral as the default role. This lets the controller register
as a UDC when no external role provider has selected a host role.
Tested on a Firefly Station M3 by binding g_mass_storage to expose the
eMMC as a USB mass-storage gadget.
Signed-off-by: Fabio Estevam <festevam at nabladev.com>
---
arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts
index 99853880aaac..7150d5f7684d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts
@@ -833,6 +833,12 @@ &usb_host0_ohci {
&usb_host0_xhci {
extcon = <&u2phy0>;
+ role-switch-default-mode = "peripheral";
+ usb-role-switch;
+ status = "okay";
+};
+
+&usbdp_phy0 {
status = "okay";
};
--
2.43.0
More information about the Linux-rockchip
mailing list