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