Hi Justin, On 2024-04-18 03:45, Justin Klaassen wrote: > The ehci_generic driver always failed with the error: > Bus usb@fe380000: ehci_generic usb@fe380000: > ... Failed to get clocks (ret=-19) > Port not available. > Bus usb@fe3c0000: ehci_generic usb@fe3c0000: > ... Failed to get clocks (ret=-19) > Port not available. > > This error is resolved by enabling the CONFIG_PHY_ROCKCHIP_INNO_USB2 > and CONFIG_PHY_ROCKCHIP_TYPEC driver options.
Is your issue also fixed with my series "rockchip: rk3399: Sync DT with linux v6.8 and update defconfigs" [1] containing patch [2]? A v2 of that series should hit the mailing list sometime tomorrow. [1] https://patchwork.ozlabs.org/cover/1918319/ [2] https://patchwork.ozlabs.org/patch/1918346/ > > The CONFIG_DM_RESET option must also be enabled, otherwise the > ehci_generic driver will fail with the error: > Bus usb@fe380000: ehci_generic usb@fe380000: > ... Failed to get resets (err=-524) > probe failed, error -524 > Bus usb@fe3c0000: ehci_generic usb@fe3c0000: > ... Failed to get resets (err=-524) > probe failed, error -524 > > Additionally the u2phy1_host device was previously disabled in the > nanopi-r4s device tree and must be enabled to avoid a crash in the > ehci_generic driver: > Bus usb@fe380000: USB EHCI 1.00 > Bus usb@fe3c0000: "Synchronous Abort" handler, esr 0x96000010, far 0x0 > > With these changes the usb ports can now be initialized correctly by > both the ehci_generic and xhci_generic drivers: > Bus usb@fe380000: USB EHCI 1.00 > Bus usb@fe3c0000: USB EHCI 1.00 > Bus usb@fe800000: Register 2000140 NbrPorts 2 > Starting the controller > USB XHCI 1.10 > Bus usb@fe900000: Register 2000140 NbrPorts 2 > Starting the controller > USB XHCI 1.10 > scanning bus usb@fe380000 for devices... 1 USB Device(s) found > scanning bus usb@fe3c0000 for devices... 1 USB Device(s) found > scanning bus usb@fe800000 for devices... 1 USB Device(s) found > scanning bus usb@fe900000 for devices... 1 USB Device(s) found > scanning usb for storage devices... 0 Storage Device(s) found > > Signed-off-by: Justin Klaassen <jus...@tidylabs.app> > Cc: Simon Glass <s...@chromium.org> > Cc: Philipp Tomsich <philipp.toms...@vrull.eu> > Cc: Kever Yang <kever.y...@rock-chips.com> > --- > arch/arm/dts/rk3399-nanopi-r4s.dts | 2 +- > configs/nanopi-r4s-rk3399_defconfig | 3 +++ > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts > b/arch/arm/dts/rk3399-nanopi-r4s.dts > index cef4d18b599..a992a6ac5e9 100644 > --- a/arch/arm/dts/rk3399-nanopi-r4s.dts > +++ b/arch/arm/dts/rk3399-nanopi-r4s.dts > @@ -117,7 +117,7 @@ > }; > > &u2phy1_host { > - status = "disabled"; > + phy-supply = <&vdd_5v>; This does not match upstream linux device tree file. If this change is needed please submit a change to linux kernel, else make a U-Boot specific change in rk3399-nanopi-r4s-u-boot.dtsi. Regards, Jonas > }; > > &uart0 { > diff --git a/configs/nanopi-r4s-rk3399_defconfig > b/configs/nanopi-r4s-rk3399_defconfig > index ea01d323541..d8c34dc48cb 100644 > --- a/configs/nanopi-r4s-rk3399_defconfig > +++ b/configs/nanopi-r4s-rk3399_defconfig > @@ -5,6 +5,7 @@ CONFIG_ARCH_ROCKCHIP=y > CONFIG_NR_DRAM_BANKS=1 > CONFIG_ENV_OFFSET=0x3F8000 > CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s" > +CONFIG_DM_RESET=y > CONFIG_ROCKCHIP_RK3399=y > CONFIG_TARGET_EVB_RK3399=y > CONFIG_DEBUG_UART_BASE=0xFF1A0000 > @@ -36,6 +37,8 @@ CONFIG_MMC_SDHCI=y > CONFIG_MMC_SDHCI_ROCKCHIP=y > CONFIG_ETH_DESIGNWARE=y > CONFIG_GMAC_ROCKCHIP=y > +CONFIG_PHY_ROCKCHIP_INNO_USB2=y > +CONFIG_PHY_ROCKCHIP_TYPEC=y > CONFIG_PMIC_RK8XX=y > CONFIG_REGULATOR_PWM=y > CONFIG_REGULATOR_RK8XX=y