[BUG] Hang shortly after loading FDT when booting on RK3399

Jan Palus jpalus at fastmail.com
Fri Jan 29 01:56:30 CET 2021


On 28.01.2021 23:28, Jan Palus wrote:
> FWIW I figured it hangs in ohci-hcd.c at:
> 
> static int hc_reset(ohci_t *ohci)
> ...
>         if (ohci_readl(&ohci->regs->control) & OHCI_CTRL_IR) {

This appears to be caused by following events:

- usb_stop() (usb-class.c) iterates to remove every bus
- starts with ehci and goes all the way to ehci_shutdown_phy()
- there it calls generic_phy_exit() ending in rockchip_usb2phy_exit()
- where at last it disables clock with clk_disable() (rk3399_clk_disable())

After disabling clock ohci_readl(&ohci->regs->control) starts to hang so perhaps it
shouldn't be disabled until ohci is removed.


More information about the U-Boot mailing list