Geez, who would have thought how much fun you can have with such a tiny driver ;) Here is the new version. Still RFC because of the unknown clock handling, see patch 1. Thanks Geert for the review! Changes since last time: * use runtime_pm. Still always active because of the nowayout feature * use DIV_ROUND_UP to calculate clks_per_sec to make sure we are never too fast * fix binding names to recent conventions * fix Renesas product names * use min() instead of min_t(). Possible now because of previous code refactoring * use ARCH_RENESAS instead of ARCH_SHMOBILE * drop restart_handler since ARM64 uses PSCI firmware resets which do not call restart handlers The last point was quite a bummer to me because plain reboot was the reason I wrote this driver ;) Well, so is life... First I was a bit confused about the system clock running at half speed, never noticed before. I know EXTAL is 16.666 instead of 33.333 but I always thought that would have been taken into account for the system clock. So, if you try this, remember that until we get proper boards with 33.333MHz, the software ping trigger of the 'watchdog' command runs only at half the speed of the hardware. Please comment, test, enjoy... Wolfram Takeshi Kihara (1): arm64: dts: salvator-x: Enable watchdog timer Wolfram Sang (3): WIP: clk: r8a7795: add RWDT clock watchdog: renesas-rwdt: add driver arm64: dts: r8a7795: Add RWDT node .../devicetree/bindings/watchdog/renesas-rwdt.txt | 20 ++ arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 4 + arch/arm64/boot/dts/renesas/r8a7795.dtsi | 8 + drivers/clk/shmobile/r8a7795-cpg-mssr.c | 3 + drivers/watchdog/Kconfig | 8 + drivers/watchdog/Makefile | 1 + drivers/watchdog/renesas_rwdt.c | 213 +++++++++++++++++++++ 7 files changed, 257 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/renesas-rwdt.txt create mode 100644 drivers/watchdog/renesas_rwdt.c -- 2.7.0