GPIO WATCHDOG

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GPIO WATCHDOG

2,678 Views
sayi
Contributor II

Hi,

Could you please advise how to configure dts file to enable GPIO based hardware watchdog in Linux?

Thanks,

Labels (2)
0 Kudos
1 Reply

1,464 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Free Samples,

Required:

- 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:
- 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 {
        compatible = "linux,wdt-gpio";
        gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
        hw_algo = "toggle";
        hw_margin_ms = <1600>;
    };

For the driver you can take a look to following reference:

Linux/drivers/watchdog/gpio_wdt.c - Linux Cross Reference - Free Electrons 


Regards,
Carlos

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos