[PATCH] USB: dwc2: allow usb start even if usbphy is not found
Jonas Karlman
jonas at kwiboo.se
Mon Mar 16 11:04:13 CET 2026
Hi Marius,
On 3/16/2026 10:26 AM, Marius Dinu wrote:
> RK3288 uses rockchip_usb2_phy, but that driver doesn't register iself
> as a usbphy driver and "usb start" fails with this error:
>
> drivers/usb/host/dwc2.c:1254- dwc2_setup_phy() dwc2_usb usb at ff580000:
> Failed to get USB PHY: -19.
>
> Until a proper fix is made for rockchip_usb2_phy, this patch allows
> usb start to continue even if usbphy is not found.
>
> Tested on Asus TinkerBoard.
I am not seeing this issue on my TinkerBoard, what U-Boot version are
you testing and have you made any config changes compared to
tinker-rk3288_defconfig?
=> usb start
starting USB...
USB DWC2
USB DWC2
Bus usb at ff540000: 2 USB Device(s) found
Bus usb at ff580000: 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
=> dm tree -e usb
Class Seq Probed Driver Name
-----------------------------------------------------------
usb 0 [ + ] dwc2_usb usb at ff540000
usb_hub 0 [ + ] usb_hub `-- usb_hub
usb_hub 1 [ + ] usb_hub `-- usb_hub
usb 1 [ + ] dwc2_usb usb at ff580000
usb_hub 2 [ + ] usb_hub `-- usb_hub
Have something changed recently that broke this?
Anyway if something needs fixing it is probably rockchip_usb2_phy.
Regards,
Jonas
>
> Signed-off-by: Marius Dinu <m95d+git at psihoexpert.ro>
> ---
> drivers/usb/host/dwc2.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
> index 16f21fa9083..74d71f23d88 100644
> --- a/drivers/usb/host/dwc2.c
> +++ b/drivers/usb/host/dwc2.c
> @@ -1329,7 +1329,7 @@ static int dwc2_usb_probe(struct udevice *dev)
>
> ret = dwc2_setup_phy(dev);
> if (ret)
> - return ret;
> + dev_dbg(dev, "Failed to setup PHY: %d. Continuing anyway...\n", ret);
>
> return dwc2_init_common(dev, priv);
> }
> @@ -1345,8 +1345,7 @@ static int dwc2_usb_remove(struct udevice *dev)
>
> ret = dwc2_shutdown_phy(dev);
> if (ret) {
> - dev_dbg(dev, "Failed to shutdown USB PHY: %d.\n", ret);
> - return ret;
> + dev_dbg(dev, "Failed to shutdown USB PHY: %d. Continuing anyway...\n", ret);
> }
>
> dwc2_uninit_common(priv->regs);
More information about the U-Boot
mailing list