Window watchdog driver design

From: Andreas Werner
Date: Thu May 14 2015 - 07:47:47 EST


Hi,
in the next few weeks I need to write a driver for a window wachtdog
implemented in a CPLD. I have some questions about the design
of the driver and the best way to write this driver to also be able
to submit it.

The triggering and configuration of the Watchdog is done by several GPIOs which
are connected to the CPLD watchdog device. The correct GPIOs are configurable
using the Device Tree.

1. Timeout
The timeout values are defined in ms and start from 20ms to 2560ms.
The timout is set by 3 GPIOs this means we have only 8 different
timout values. It is also possible that a future Watchdog CPLD device
does have different timeout values.

Is it possible to set ms timeouts? It seems that the WDT API does
only support a resolution of 1sec.

One idea would be to use the API timeout as something like a timeout
index to set the different values. Of course this needs to be documented.

e.g.
timeout (API) timeout in device
1 20ms
2 100ms
3 500ms
... ...

2. Upper/Lower Window
There is currently no support for a windowed watchdog in the wdt core.
The lower window can be activated by a gpio and its timeout is defined
as "upper windows timeout/4"

What is the best way to implement those additional settings? Adding additional
ioctl or export these in sysfs?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/