[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220221095032.95054-1-jjhiblot@traphandler.com>
Date: Mon, 21 Feb 2022 10:50:26 +0100
From: Jean-Jacques Hiblot <jjhiblot@...phandler.com>
To: <linux-renesas-soc@...r.kernel.org>, <geert+renesas@...der.be>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
Guenter Roeck <linux@...ck-us.net>,
Magnus Damm <magnus.damm@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Wolfram Sang <wsa+renesas@...g-engineering.com>
CC: Jean-Jacques Hiblot <jjhiblot@...phandler.com>,
<linux-watchdog@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: [PATCH v3 0/5] ARM: r9a06g032: add support for the watchdogs
Hi all,
This series adds support for the watchdog timers of the RZ/N1.
The watchdog driver (rzn1-wdt.c) is derived from the driver available at
https://github.com/renesas-rz/rzn1_linux.git with a few modifications
In order to be able to reset the board when a watchdog timer expires,
the RSTEN register must be configured. it is the responsability of the
bootloader to set those bits (or not, depending on the chosen policy).
If the watchdog reset source is not enabled, an interrupt is triggered
when the watchdog expires. Currently this interrupt doesn't much apart
from printing a message.
Changes v2 -> v3:
* dts: changed compatible strings to include "renesas,r9a06g032-wdt" and
"renesas,rzn1-wdt".
* driver: removed the SOC-specific "renesas,r9a06g032-wdt".
* removed all the changes in the clock driver: the watchdog reset source
are not disabled anymore when the machine is halted.
* fixed the clock rate type in the computations.
* removed unnecessary printout and call to clk_disable_unprepare() in the
driver probe().
Changes v1 -> v2:
* Modified the clock driver to not enable the watchdog reset sources.
On other renesas platforms, those bits are by the bootloader. The
watchdog reset sources are still disabled when the platform is halted
to prevent a watchdog reset.
* Added a SOC-specific compatible "renesas,r9a06g032-wdt"
* reordered the dts/i entries
* default timeout is 60 seconds
* reworked the probe function of the wdt driver to better error cases
* removed the set_timeout() and use a fixed period computed in probe().
This removes the confusion and makes it clear that the period defined
by the user space in indeed handled by the watchdog core
Jean-Jacques Hiblot (4):
dt-bindings: clock: r9a06g032: Add the definition of the watchdog
clock
dt-bindings: watchdog: renesas,wdt: Add support for RZ/N1
ARM: dts: r9a06g032: Add the watchdog nodes
ARM: dts: r9a06g032-rzn1d400-db: Enable watchdog0 with a 60s timeout
Phil Edworthy (1):
watchdog: Add Renesas RZ/N1 Watchdog driver
.../bindings/watchdog/renesas,wdt.yaml | 6 +
arch/arm/boot/dts/r9a06g032-rzn1d400-db.dts | 5 +
arch/arm/boot/dts/r9a06g032.dtsi | 16 ++
drivers/watchdog/Kconfig | 8 +
drivers/watchdog/Makefile | 1 +
drivers/watchdog/rzn1_wdt.c | 206 ++++++++++++++++++
include/dt-bindings/clock/r9a06g032-sysctrl.h | 1 +
7 files changed, 243 insertions(+)
create mode 100644 drivers/watchdog/rzn1_wdt.c
--
2.25.1
Powered by blists - more mailing lists