[PATCH v6 3/6] watchdog: ts4800: add driver for TS-4800 watchdog
From: Damien Riegel <hidden>
Date: 2015-11-25 21:02:22
Also in:
linux-devicetree, linux-watchdog, lkml
On Wed, Nov 25, 2015 at 02:29:56PM -0600, Rob Herring wrote:
On Wed, Nov 25, 2015 at 02:25:04PM -0500, Damien Riegel wrote:quoted
This watchdog is instantiated in a FPGA that is memory mapped. It is made of only one register, called the feed register. Writing to this register will re-arm the watchdog for a given time (and enable it if it was disable). It can be disabled by writing a special value into it. It is part of a syscon block, and the watchdog register offset in this block varies from board to board. This offset is passed in the syscon property after the phandle to the syscon node. Signed-off-by: Damien Riegel <redacted> Reviewed-by: Guenter Roeck <linux@roeck-us.net> --- .../devicetree/bindings/watchdog/ts4800-wdt.txt | 25 +++ drivers/watchdog/Kconfig | 10 + drivers/watchdog/Makefile | 1 + drivers/watchdog/ts4800_wdt.c | 215 +++++++++++++++++++++ 4 files changed, 251 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/ts4800-wdt.txt create mode 100644 drivers/watchdog/ts4800_wdt.cdiff --git a/Documentation/devicetree/bindings/watchdog/ts4800-wdt.txt b/Documentation/devicetree/bindings/watchdog/ts4800-wdt.txt new file mode 100644 index 0000000..388c60f --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/ts4800-wdt.txt@@ -0,0 +1,25 @@ +Technologic Systems Watchdog + +Required properties: +- compatible: must be "technologic,ts4800-wdt" +- syscon: phandle / integer array that points to the syscon node which + describes the FPGA's syscon registers. + - phandle to FPGA's syscon + - offset to the watchdog register + +Optional property: +- timeout-sec: contains the watchdog timeout in seconds. + +Example: + +syscon: syscon at b0010000 { + compatible = "syscon", "simple-mfd"; + reg = <0xb0010000 0x3d>; + bus-width = <16>; + + wdt at e { + compatible = "technologic,ts4800-wdt"; + syscon = <&syscon 0xe>;If this is single register only for the watchdog, why do you need syscon? You can just use reg.
Because this is a single 16-bit register dedicated to the watchdog in a 60-register syscon.