Hi Arnaud,
Basically, the Type-A OTG port of the Radxa ROCK series is intended to
be used in HOST mode (unless there is a HOST/DEVICE switch).
That is why the following patch series does not include Radxa ROCK 4,
5A, and 5C.
https://patchwork.ozlabs.org/project/uboot/list/?series=443764
Best regards,
--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.
On 3/25/25 23:48, Arnaud Patard wrote:
I was testing DFU and SPL DFU [1] on my rock 5c. To get it working,
I had to set the usb_host0_xhci node to peripheral and maximum speed
to high speed, as done for other rk3588 devices.
For DFU (and not SPL DFU), I had to set the "maximum-speed" property on the
usbdp_phy0 node, otherwise it's failing:
=> dfu 0 ram 0
rockchip_udphy phy@fed80000: cmn ana lcpll lock timeout
rockchip_udphy phy@fed80000: failed to init usbdp combophy
rockchip_udphy phy@fed80000: PHY: Failed to init phy@fed80000: -110.
rockchip_udphy phy@fed80000: cmn ana lcpll lock timeout
rockchip_udphy phy@fed80000: failed to init usbdp combophy
rockchip_udphy phy@fed80000: PHY: Failed to init phy@fed80000: -110.
No USB device found
udc_device_get_by_index failed
The issue is that it's trying to configure the usb3 phy, which is not
the one used for peripheral mode. I've not checked on other rk3588 devices
if they would need a similar change.
[1] for SPL DFU, I've used the serie
https://patchwork.ozlabs.org/project/uboot/list/?series=443761
Signed-off-by: Arnaud Patard <arnaud.pat...@collabora.com>
---
arch/arm/dts/rk3588s-rock-5c-u-boot.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/dts/rk3588s-rock-5c-u-boot.dtsi
b/arch/arm/dts/rk3588s-rock-5c-u-boot.dtsi
index 1dc574c2f21..54b0f914010 100644
--- a/arch/arm/dts/rk3588s-rock-5c-u-boot.dtsi
+++ b/arch/arm/dts/rk3588s-rock-5c-u-boot.dtsi
@@ -9,3 +9,15 @@
cap-mmc-highspeed;
mmc-hs200-1_8v;
};
+
+&usb_host0_xhci {
+ bootph-pre-ram;
+ bootph-some-ram;
+ dr_mode = "peripheral";
+ maximum-speed = "high-speed";
+};
+
+&usbdp_phy0 {
+ bootph-all;
+ maximum-speed = "high-speed";
+};