summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Estevam <festevam@nabladev.com>2026-07-08 21:50:05 -0300
committerHeiko Stuebner <heiko@sntech.de>2026-07-24 21:30:28 +0200
commit02b9bc288b520c07612c945d13da651bd871e90c (patch)
tree0749467c3b2ca1635f9f44ac252282393202d969
parentb4db45b3ec97a9d0d23446084f45e095b2ba2020 (diff)
downloadlinux-next-02b9bc288b520c07612c945d13da651bd871e90c.tar.gz
linux-next-02b9bc288b520c07612c945d13da651bd871e90c.zip
arm64: dts: rockchip: Enable USB device mode on rk3588s-roc-pc
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@nabladev.com> Link: https://patch.msgid.link/20260709005006.413145-1-festevam@gmail.com Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts6
1 files changed, 6 insertions, 0 deletions
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_xhci {
extcon = <&u2phy0>;
+ role-switch-default-mode = "peripheral";
+ usb-role-switch;
+ status = "okay";
+};
+
+&usbdp_phy0 {
status = "okay";
};