* [PATCH AUTOSEL 6.17-5.15] clk: ti: am33xx: keep WKUP_DEBUGSS_CLKCTRL enabled
[not found] <20251026144958.26750-1-sashal@kernel.org>
@ 2025-10-26 14:48 ` Sasha Levin
0 siblings, 0 replies; only message in thread
From: Sasha Levin @ 2025-10-26 14:48 UTC (permalink / raw)
To: patches, stable
Cc: Matthias Schiffer, Alexander Stein, Kevin Hilman, Stephen Boyd,
Sasha Levin, kristo, alexandre.f.demers, linux-omap
From: Matthias Schiffer <matthias.schiffer@tq-group.com>
[ Upstream commit 1e0d75258bd09323cb452655549e03975992b29e ]
As described in AM335x Errata Advisory 1.0.42, WKUP_DEBUGSS_CLKCTRL
can't be disabled - the clock module will just be stuck in transitioning
state forever, resulting in the following warning message after the wait
loop times out:
l3-aon-clkctrl:0000:0: failed to disable
Just add the clock to enable_init_clks, so no attempt is made to disable
it.
Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
YES: The change simply marks WKUP_DEBUGSS as an always-on clock so the
driver no longer violates the AM335x erratum.
- `drivers/clk/ti/clk-33xx.c:261` now lists `l3-aon-clkctrl:0000:0` in
`enable_init_clks`, explicitly keeping WKUP_DEBUGSS enabled as
mandated by Errata Advisory 1.0.42; without this, the init sequence
still tries to gate the module and hits the hardware deadlock
described in the advisory.
- Today the disable path waits for the module to idle, times out, and
prints `l3-aon-clkctrl:0000:0: failed to disable`
(`drivers/clk/ti/clkctrl.c:194`), so every boot (and any later
clk_disable_unused run) produces user-visible errors while leaving the
clock stuck in “transitioning”; the patch stops that erroneous
transition request entirely.
- Effect scope is tiny: one entry in an SoC-specific static list,
matching how other errata workarounds (e.g. `l3-clkctrl:00bc:0`) are
handled; the hardware already refuses to power down the block, so
forcing it on introduces no new behaviour or power regression.
- No API or structural change, only affects AM33xx clock init, and it
backports cleanly to older kernels using the same
`omap2_clk_enable_init_clocks()` helper.
Suggested follow-up once backported: boot an AM335x board with
`clk_ignore_unused` removed to confirm the “failed to disable” warning
is gone.
drivers/clk/ti/clk-33xx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/clk/ti/clk-33xx.c b/drivers/clk/ti/clk-33xx.c
index 85c50ea39e6da..9269e6a0db6a4 100644
--- a/drivers/clk/ti/clk-33xx.c
+++ b/drivers/clk/ti/clk-33xx.c
@@ -258,6 +258,8 @@ static const char *enable_init_clks[] = {
"dpll_ddr_m2_ck",
"dpll_mpu_m2_ck",
"l3_gclk",
+ /* WKUP_DEBUGSS_CLKCTRL - disable fails, AM335x Errata Advisory 1.0.42 */
+ "l3-aon-clkctrl:0000:0",
/* AM3_L3_L3_MAIN_CLKCTRL, needed during suspend */
"l3-clkctrl:00bc:0",
"l4hs_gclk",
--
2.51.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-10-26 14:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20251026144958.26750-1-sashal@kernel.org>
2025-10-26 14:48 ` [PATCH AUTOSEL 6.17-5.15] clk: ti: am33xx: keep WKUP_DEBUGSS_CLKCTRL enabled Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox