18c2ecf20Sopenharmony_ci* GPIO-controlled Watchdog
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired Properties:
48c2ecf20Sopenharmony_ci- compatible: Should contain "linux,wdt-gpio".
58c2ecf20Sopenharmony_ci- gpios: From common gpio binding; gpio connection to WDT reset pin.
68c2ecf20Sopenharmony_ci- hw_algo: The algorithm used by the driver. Should be one of the
78c2ecf20Sopenharmony_ci  following values:
88c2ecf20Sopenharmony_ci  - toggle: Either a high-to-low or a low-to-high transition clears
98c2ecf20Sopenharmony_ci    the WDT counter. The watchdog timer is disabled when GPIO is
108c2ecf20Sopenharmony_ci    left floating or connected to a three-state buffer.
118c2ecf20Sopenharmony_ci  - level: Low or high level starts counting WDT timeout,
128c2ecf20Sopenharmony_ci    the opposite level disables the WDT. Active level is determined
138c2ecf20Sopenharmony_ci    by the GPIO flags.
148c2ecf20Sopenharmony_ci- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciOptional Properties:
178c2ecf20Sopenharmony_ci- always-running: If the watchdog timer cannot be disabled, add this flag to
188c2ecf20Sopenharmony_ci  have the driver keep toggling the signal without a client. It will only cease
198c2ecf20Sopenharmony_ci  to toggle the signal when the device is open and the timeout elapsed.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciExample:
228c2ecf20Sopenharmony_ci	watchdog: watchdog {
238c2ecf20Sopenharmony_ci		/* ADM706 */
248c2ecf20Sopenharmony_ci		compatible = "linux,wdt-gpio";
258c2ecf20Sopenharmony_ci		gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
268c2ecf20Sopenharmony_ci		hw_algo = "toggle";
278c2ecf20Sopenharmony_ci		hw_margin_ms = <1600>;
288c2ecf20Sopenharmony_ci	};
29