forked from Minki/linux
ba804a9510
On some chips, like the TPS386000, the trigger cannot be disabled and the CPU must keep toggling the line at all times. Add a switch "always_running" to keep toggling the GPIO line regardless of the state of the soft part of the watchdog. The "armed" member keeps track of whether a timeout must also cause a reset. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
* GPIO-controlled Watchdog
|
|
|
|
Required Properties:
|
|
- compatible: Should contain "linux,wdt-gpio".
|
|
- gpios: From common gpio binding; gpio connection to WDT reset pin.
|
|
- hw_algo: The algorithm used by the driver. Should be one of the
|
|
following values:
|
|
- toggle: Either a high-to-low or a low-to-high transition clears
|
|
the WDT counter. The watchdog timer is disabled when GPIO is
|
|
left floating or connected to a three-state buffer.
|
|
- level: Low or high level starts counting WDT timeout,
|
|
the opposite level disables the WDT. Active level is determined
|
|
by the GPIO flags.
|
|
- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).
|
|
|
|
Optional Properties:
|
|
- always-running: If the watchdog timer cannot be disabled, add this flag to
|
|
have the driver keep toggling the signal without a client. It will only cease
|
|
to toggle the signal when the device is open and the timeout elapsed.
|
|
|
|
Example:
|
|
watchdog: watchdog {
|
|
/* ADM706 */
|
|
compatible = "linux,wdt-gpio";
|
|
gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
|
|
hw_algo = "toggle";
|
|
hw_margin_ms = <1600>;
|
|
};
|