On Wed, Jul 08, 2026 at 10:38:10AM +0200, Bastien Curutchet wrote: > readl_relaxed_poll_timeout() relies on timers. On the beaglebone black, > the timer used by readl_relaxed_poll_timeout() depends on this clock > driver. So we have a sort of circular dependency [enable_clock -> > timer_init -> enable_clock -> timer_init]. It leads to a > division-per-zero during the second timer_init() and the beaglebone > fails to boot with following message: > | CPU : AM335X-GP rev 2.1 > | Model: TI AM335x BeagleBone Black > | DRAM: 512 MiB > | ### ERROR ### Please RESET the board ### > > Replace readl_relaxed_poll_timeout() with a simple loop that uses CPU > ticks to countdown the timeout. This loop and the value of LDELAY are > inspired from what's done in arch/arm/mach-omap2/am33xx/clock.c > Also, arch/arm/mach-omap2/am33xx/clock.c doesn't return an error on > timeout, it only logs it, so let's stick with it. > > Fixes: de2e3f00f2fa ("clk: ti: Remove AM33xx dependency") > Signed-off-by: Bastien Curutchet Reported-by: Tom Rini Tested-by: Tom Rini Thanks! -- Tom