Re: [PATCH] rockchip: nanopi-r4s: Fix ehci usb error
Hi Jonas, On Apr 18, 2024 at 07:52:03, Jonas Karlman wrote: > Hi Justin, > > On 2024-04-18 03:45, Justin Klaassen wrote: > > The ehci_generic driver always failed with the error: > > Bus usb@fe38: ehci_generic usb@fe38: > > ... Failed to get clocks (ret=-19) > > Port not available. > > Bus usb@fe3c: ehci_generic usb@fe3c: > > ... 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/ > > It looks like your patch does include all the necessary config changes from my patch, so that should resolve the issue. > The CONFIG_DM_RESET option must also be enabled, otherwise the > > ehci_generic driver will fail with the error: > > Bus usb@fe38: ehci_generic usb@fe38: > > ... Failed to get resets (err=-524) > > probe failed, error -524 > > Bus usb@fe3c: ehci_generic usb@fe3c: > > ... 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@fe38: USB EHCI 1.00 > > Bus usb@fe3c: "Synchronous Abort" handler, esr 0x9610, far 0x0 > > > With these changes the usb ports can now be initialized correctly by > > both the ehci_generic and xhci_generic drivers: > > Bus usb@fe38: USB EHCI 1.00 > > Bus usb@fe3c: USB EHCI 1.00 > > Bus usb@fe80: Register 2000140 NbrPorts 2 > > Starting the controller > > USB XHCI 1.10 > > Bus usb@fe90: Register 2000140 NbrPorts 2 > > Starting the controller > > USB XHCI 1.10 > > scanning bus usb@fe38 for devices... 1 USB Device(s) found > > scanning bus usb@fe3c for devices... 1 USB Device(s) found > > scanning bus usb@fe80 for devices... 1 USB Device(s) found > > scanning bus usb@fe90 for devices... 1 USB Device(s) found > >scanning usb for storage devices... 0 Storage Device(s) found > > > Signed-off-by: Justin Klaassen > > Cc: Simon Glass > > Cc: Philipp Tomsich > > Cc: Kever Yang > > --- > > 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 @@ > > }; > > > > _host { > > - status = "disabled"; > > + phy-supply = <_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. > I tested your patch (without this change) and it does result in the same crash: Bus usb@fe38: USB EHCI 1.00 Bus usb@fe3c: "Synchronous Abort" handler, esr 0x9610, far 0x0 elr: 00241c7c lr : 00241c68 (reloc) elr: f3f72c7c lr : f3f72c68 x0 : x1 : 7d08 x2 : 7d0c x3 : 7d40 x4 : f6c4 x5 : 00010ab0 x6 : 7d0c x7 : f1f182e0 x8 : 7d08 x9 : f1f179dc x10: 0002 x11: 7c8c x12: f1f17aac x13: f1f182e0 x14: 0002 x15: f1f17684 x16: f3f71b94 x17: 409ff249 x18: f1f28da0 x19: f1f5b2a0 x20: x21: f1f5b100 x22: f1f5b280 x23: f1f5b290 x24: f1f5b2a0 x25: x26: f3fd2d3d x27: 0001 x28: x29: f1f17ac0 While this change should probably be upstreamed to the linux device tree file, I think we need something more immediate to prevent this crash/boot loop once your change lands. Do you prefer to incorporate this change into your patch or do you want me to update this patch? Thanks, Justin > Regards, > Jonas > > }; > > > > { > > 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=0xFF1A > > @@ -36,6 +37,8 @@ CONFIG_MMC_SDHCI=y > > CONFIG_MMC_SDHCI_ROCKCHIP=y > >
Re: [PATCH] rockchip: nanopi-r4s: Fix ehci usb error
Hi Justin, On 2024-04-18 03:45, Justin Klaassen wrote: > The ehci_generic driver always failed with the error: > Bus usb@fe38: ehci_generic usb@fe38: > ... Failed to get clocks (ret=-19) > Port not available. > Bus usb@fe3c: ehci_generic usb@fe3c: > ... 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@fe38: ehci_generic usb@fe38: > ... Failed to get resets (err=-524) > probe failed, error -524 > Bus usb@fe3c: ehci_generic usb@fe3c: > ... 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@fe38: USB EHCI 1.00 > Bus usb@fe3c: "Synchronous Abort" handler, esr 0x9610, far 0x0 > > With these changes the usb ports can now be initialized correctly by > both the ehci_generic and xhci_generic drivers: > Bus usb@fe38: USB EHCI 1.00 > Bus usb@fe3c: USB EHCI 1.00 > Bus usb@fe80: Register 2000140 NbrPorts 2 > Starting the controller > USB XHCI 1.10 > Bus usb@fe90: Register 2000140 NbrPorts 2 > Starting the controller > USB XHCI 1.10 > scanning bus usb@fe38 for devices... 1 USB Device(s) found > scanning bus usb@fe3c for devices... 1 USB Device(s) found > scanning bus usb@fe80 for devices... 1 USB Device(s) found > scanning bus usb@fe90 for devices... 1 USB Device(s) found >scanning usb for storage devices... 0 Storage Device(s) found > > Signed-off-by: Justin Klaassen > Cc: Simon Glass > Cc: Philipp Tomsich > Cc: Kever Yang > --- > 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 @@ > }; > > _host { > - status = "disabled"; > + phy-supply = <_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 > }; > > { > 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=0xFF1A > @@ -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
[PATCH] rockchip: nanopi-r4s: Fix ehci usb error
The ehci_generic driver always failed with the error: Bus usb@fe38: ehci_generic usb@fe38: ... Failed to get clocks (ret=-19) Port not available. Bus usb@fe3c: ehci_generic usb@fe3c: ... 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. The CONFIG_DM_RESET option must also be enabled, otherwise the ehci_generic driver will fail with the error: Bus usb@fe38: ehci_generic usb@fe38: ... Failed to get resets (err=-524) probe failed, error -524 Bus usb@fe3c: ehci_generic usb@fe3c: ... 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@fe38: USB EHCI 1.00 Bus usb@fe3c: "Synchronous Abort" handler, esr 0x9610, far 0x0 With these changes the usb ports can now be initialized correctly by both the ehci_generic and xhci_generic drivers: Bus usb@fe38: USB EHCI 1.00 Bus usb@fe3c: USB EHCI 1.00 Bus usb@fe80: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 Bus usb@fe90: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 scanning bus usb@fe38 for devices... 1 USB Device(s) found scanning bus usb@fe3c for devices... 1 USB Device(s) found scanning bus usb@fe80 for devices... 1 USB Device(s) found scanning bus usb@fe90 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Signed-off-by: Justin Klaassen Cc: Simon Glass Cc: Philipp Tomsich Cc: Kever Yang --- 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 @@ }; _host { - status = "disabled"; + phy-supply = <_5v>; }; { 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=0xFF1A @@ -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 -- 2.43.0