[PATCH WORKAROUND] clk: rk3399: do not disable the USB2PHY clk

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


When booting from USB with UEFI on the ROCKPro64, the Linux kernel EFI stub
will hang in efi_exit_boot_services due to OHCI hc_reset accessing the
hardware registers after the USB2PHY clocks have been disabled.

As a workaround, prevent the USB2PHY clocks from being disabled to repair
the boot.

Signed-off-by: Vincent Stehlé <vincent.stehle at arm.com>
---

                    THIS IS A WORKAROUND
                    PLEASE DO NOT APPLY!

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

diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
index f8cbda44551..9cf7d26a026 100644
--- a/drivers/clk/rockchip/clk_rk3399.c
+++ b/drivers/clk/rockchip/clk_rk3399.c
@@ -1213,10 +1213,10 @@ static int rk3399_clk_disable(struct clk *clk)
 		rk_setreg(&priv->cru->clkgate_con[5], BIT(6));
 		break;
 	case SCLK_USB2PHY0_REF:
-		rk_setreg(&priv->cru->clkgate_con[6], BIT(5));
+		/* WORKAROUND: leave enabled */
 		break;
 	case SCLK_USB2PHY1_REF:
-		rk_setreg(&priv->cru->clkgate_con[6], BIT(6));
+		/* WORKAROUND: leave enabled */
 		break;
 	case ACLK_GMAC:
 		rk_setreg(&priv->cru->clkgate_con[32], BIT(0));
-- 
2.30.2



More information about the U-Boot mailing list