[BUG] USB boot issue on ROCKPro64 with UEFI

Vincent Stehlé vincent.stehle at arm.com
Fri Sep 3 17:24:38 CEST 2021


Hi U-Boot folks,

Hopefully this is the right way to report bugs. If not, please do not hesitate
to let me know.

I am hitting an issue with U-Boot v2021.07 on the ROCKPro64, when booting Linux
with UEFI from USB. The kernel EFI stub will hang:

  EFI stub: Booting Linux Kernel...
  EFI stub: Using DTB from configuration table
  EFI stub: Exiting boot services and installing virtual address map...

After tracking it down, it appears efi_exit_boot_services() is ultimately
calling OHCI hc_reset(), which hangs at this line:

  1804         if (ohci_readl(&ohci->regs->control) & OHCI_CTRL_IR) {

This seems to indicate reading the OHCI hardware control register cannot
complete, which hints at a clocking issue.

Looking in more details at the clocks changes performed on the
efi_exit_boot_services() path, a workaround is indeed to prevent the USB2PHY
clocks from being disabled (see the patch following this e-mail).

I don't know enough about the RK3399 clock tree to fully understand what is
going on here, and what would be a proper fix. Hopefully others will be able to
continue from there.

Best regards,

Vincent Stehlé
System Architect - Arm

Vincent Stehlé (1):
  clk: rk3399: do not disable the USB2PHY clk

 drivers/clk/rockchip/clk_rk3399.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.30.2



More information about the U-Boot mailing list