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