This series makes the Synopsys DesignWare watchdog usable on rk3566/rk3568 and enables it on the Hardkernel ODROID-M1S.
On current next the dw-wdt driver already probes (d62801d09441), but a timeout or "wdt expire" still hangs the SoC: CRU_GLB_RST_CON routes the watchdog to the second global reset by default, which causes a hung SoC. Patch 1 routes the watchdog to the first global reset instead, same as the PX30 implementation. Patch 2 does the same for the TSADC, so a thermal shutdown also resets the whole SoC. Patch 3 enables the watchdog (wdt command only, no autostart to be non-breaking) on the ODROID-M1S. Verified on the ODROID-M1S (RK3566): a watchdog timeout cleanly reboots the board. Changes in v2: - patch 1: access CRU_GLB_RST_CON through the rk3568_cru struct, matching PX30's arch_cpu_init() (review comment by Quentin) - patch 2 (new): also route the TSADC to a first global reset (review comment by Quentin) - patch 3 (was 2/2): unchanged On the TSADC (patch 2): while checking how the ODROID-M1S comes up, I noticed the rkbin DDR init (probably, at least I don't know what else could set it at that stage) already sets the TSADC bit in CRU_GLB_RST_CON before U-Boot runs. So, on this board the patch is effectively a no-op. It still seems right to configure it explicitly in U-Boot rather than depend on the firmware blob, and it matches what PX30 does. Jonas: on v1 you raised two points on patch 1 - guarding the write on XPL_BUILD, and clearing SOC_CON1 so the watchdog reset behaves like the TF-A/PSCI reset. I replied on the thread [2]: I kept the write unconditional to match PX30 (and because U-Boot proper can be entered without our SPL having run, e.g. using an rkbin miniloader), and I posed the question if the watchdog actually *should* drop BOOT_MODE_REG for a clean recovery rather than preserve it. I've left both as they were in v2, for now. Happy to do a v3, however, if you disagree on these points. [2] https://lists.denx.de/pipermail/u-boot/2026-June/622663.html Andreas Zdziarstek (3): rockchip: rk3568: make the WDT trigger a first global reset rockchip: rk3568: make the TSADC trigger a first global reset rockchip: odroid-m1s: enable watchdog support arch/arm/mach-rockchip/rk3568/rk3568.c | 14 ++++++++++++++ configs/odroid-m1s-rk3566_defconfig | 5 +++++ 2 files changed, 19 insertions(+) base-commit: 835a18f80f25731dc818bf9b771bfa111ea3dbeb -- 2.53.0

