[PATCH v2 0/3] rockchip: odroid-m1s/rk3566 watchdog support
Andreas Zdziarstek
andreas.zdziarstek at gmail.com
Mon Jun 29 19:05:14 CEST 2026
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
More information about the U-Boot
mailing list