These series add support of Renesas R-Car Gen4 watchdog timer. Timeouts up to 8184.0s are supported (CKS1 register is not involved). The watchdog uses the clock type CLK_TYPE_GEN4_MDSEL, so a separate patch adds handling of this constant to gen3_clk_get_rate64() function.
The series were tested on real Renesas R8A779F0 hardware. If the watchdog driver is enabled at the build time, the watchdog timer is initialized when U-Boot starts. Under normal circumstances, U-Boot loads the kernel, it starts systemd and systemd continues to pet the watchdog. If systemd is not started before the timeout expires, the watchdog resets the board. Signed-off-by: Shmuel Leib Melamud <smela...@redhat.com> --- Changes in v4: - Added #define for the maximal counter value. - Sorted list of #includes. - Prefer (a) parameter of usleep_range(a, b) - Added a comment to the loop that finds the best clock divider. - Link to v3: https://lore.kernel.org/r/20250603-us-renesas-watchdog-v3-0-af3a65afd...@redhat.com Changes in v3: - Reference to the Linux driver added. - Clock driver change moved to a separate patch. - rwdt_ prefix used everywhere instead of renesas_wdt_. - Disable the clock if rwdt_probe() fails. - List of compatibles updated. - Link to v2: https://lore.kernel.org/r/20250530-us-renesas-watchdog-v2-1-b0d8f96c6...@redhat.com --- Shmuel Leib Melamud (2): clk: renesas: Handle CLK_TYPE_GEN4_MDSEL in gen3_clk_get_rate64() renesas: Renesas R-Car Gen4 watchdog driver drivers/clk/renesas/clk-rcar-gen3.c | 4 +- drivers/watchdog/Kconfig | 8 ++ drivers/watchdog/Makefile | 1 + drivers/watchdog/renesas_wdt.c | 189 ++++++++++++++++++++++++++++++++++++ 4 files changed, 201 insertions(+), 1 deletion(-) --- base-commit: 3b6760ddeb4ef940226921017cd9088c89784b01 change-id: 20250530-us-renesas-watchdog-2c79dbbd5cd2 Best regards, -- Shmuel Leib Melamud <smela...@redhat.com>