Hi, this series uses a TIFS barrier before doing the ctrl_mmr_unlock(). This specific implementation works for the platforms where TIFS is already running at this point. Note that other K3 platforms may have the same problem, but for these this implementation is not straight forward.
This series is only tested on am625 HS-SE. I don't have any other HS-SE boards. Best, Markus --- Changes in v2: - Create a common helper k3_sysfw_wait_ready() to make the purpose of the get_ti_sci_handle() clear. - Extend the series to the other SoCs with the same boot process: am62a7, am62p5 and j722s. - Link to v1: https://patch.msgid.link/20260923-v2026-10-next-topic-am62-hs-se-fix-unlock-race-v1-1-300ddb9f5...@baylibre.com To: [email protected] Cc: Tom Rini <[email protected]> Cc: Ilias Apalodimas <[email protected]> Cc: Daniel Schultz <[email protected]> Cc: Udit Kumar <[email protected]> Cc: Richard Genoud <[email protected]> Cc: Anshul Dalal <[email protected]> Cc: Aristo Chen <[email protected]> Signed-off-by: Markus Schneider-Pargmann <[email protected]> --- Markus Schneider-Pargmann (5): arm: mach-k3: common: add helper to wait for TIFS initialization arm: mach-k3: am625: Wait for TIFS initialization arm: mach-k3: am62a7: Wait for TIFS initialization arm: mach-k3: am62p5: Wait for TIFS initialization arm: mach-k3: j722s: Wait for TIFS initialization arch/arm/mach-k3/am62ax/am62a7_init.c | 5 +++-- arch/arm/mach-k3/am62px/am62p5_init.c | 5 +++-- arch/arm/mach-k3/am62x/am625_init.c | 5 +++-- arch/arm/mach-k3/common.c | 10 ++++++++++ arch/arm/mach-k3/common.h | 1 + arch/arm/mach-k3/j722s/j722s_init.c | 5 +++-- 6 files changed, 23 insertions(+), 8 deletions(-) --- base-commit: 75df64103873fac09642860cedadaffb8cf6b2c7 change-id: 20260923-v2026-10-next-topic-am62-hs-se-fix-unlock-race-15fda445257e Best regards, -- Markus Schneider-Pargmann <[email protected]>
