^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * GPIO-controlled Watchdog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required Properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible: Should contain "linux,wdt-gpio".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - gpios: From common gpio binding; gpio connection to WDT reset pin.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - hw_algo: The algorithm used by the driver. Should be one of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) following values:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - toggle: Either a high-to-low or a low-to-high transition clears
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) the WDT counter. The watchdog timer is disabled when GPIO is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) left floating or connected to a three-state buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - level: Low or high level starts counting WDT timeout,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) the opposite level disables the WDT. Active level is determined
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) by the GPIO flags.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Optional Properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - always-running: If the watchdog timer cannot be disabled, add this flag to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) have the driver keep toggling the signal without a client. It will only cease
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) to toggle the signal when the device is open and the timeout elapsed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) watchdog: watchdog {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) /* ADM706 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) compatible = "linux,wdt-gpio";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) hw_algo = "toggle";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) hw_margin_ms = <1600>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) };