[PATCH 1/2] arm64: dts: rockchip: Fix USB Type-C host mode for Radxa ROCK 5B+/5T

FUKAUMI Naoki naoki at radxa.com
Tue Oct 28 04:50:39 PDT 2025


The USB Type-C port on the Radxa ROCK 5B+/5T supports Dual-Role-Data
and Dual-Role-Power. However, currently it cannot operate as host/
source.

By setting "power-role" to "dual" (along with adding related
properties), the power role can operate as source and the data role
can operate as host.

Unfortunately, a remaining issue is that when a USB 3.0 SuperSpeed
device's orientation is reverse, the root port is detected but the
device itself is not. This must be addressed separately.
(USB 2.0/1.1 devices operate even in reverse orientation.)

Furthermore, this file is also used by the Radxa ROCK 5B, but the
Type-C port cannot operate as a host regardless of this fix. This must
also be addressed separately.

Fixes: 67b2c15d8fb3c ("arm64: dts: rockchip: add USB-C support for ROCK 5B/5B+/5T")
Signed-off-by: FUKAUMI Naoki <naoki at radxa.com>
---
 arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
index 3bbe78810ec6f..b77c5a8229e75 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
@@ -331,12 +331,14 @@ usb_con: connector {
 			data-role = "dual";
 			/* fusb302 supports PD Rev 2.0 Ver 1.2 */
 			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x2>;
-			power-role = "sink";
+			power-role = "dual";
 			try-power-role = "sink";
 			op-sink-microwatt = <1000000>;
 			sink-pdos =
 				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>,
 				<PDO_VAR(5000, 20000, 5000)>;
+			source-pdos =
+				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
 
 			altmodes {
 				displayport {
-- 
2.43.0




More information about the Linux-rockchip mailing list