Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
watchdog.h File Reference

Public API for watchdog drivers. More...

#include <zephyr/types.h>
#include <sys/util.h>
#include <device.h>
#include <syscalls/watchdog.h>

Go to the source code of this file.

Data Structures

struct  wdt_window
 Watchdog timeout window. More...
 
struct  wdt_timeout_cfg
 Watchdog timeout configuration struct. More...
 

Macros

#define WDT_OPT_PAUSE_IN_SLEEP   BIT(0)
 Pause watchdog timer when CPU is in sleep state. More...
 
#define WDT_OPT_PAUSE_HALTED_BY_DBG   BIT(1)
 Pause watchdog timer when CPU is halted by the debugger. More...
 
#define WDT_FLAG_RESET_SHIFT   (0)
 Watchdog reset flag bit field mask shift. More...
 
#define WDT_FLAG_RESET_MASK   (0x3 << WDT_FLAG_RESET_SHIFT)
 Watchdog reset flag bit field mask. More...
 
Watchdog Reset Behavior.

Reset behavior after timeout.

#define WDT_FLAG_RESET_NONE   (0 << WDT_FLAG_RESET_SHIFT)
 
#define WDT_FLAG_RESET_CPU_CORE   (1 << WDT_FLAG_RESET_SHIFT)
 
#define WDT_FLAG_RESET_SOC   (2 << WDT_FLAG_RESET_SHIFT)
 

Typedefs

typedef void(* wdt_callback_t) (const struct device *dev, int channel_id)
 
typedef int(* wdt_api_setup) (const struct device *dev, uint8_t options)
 Callback API for setting up watchdog instance. See wdt_setup() for argument descriptions. More...
 
typedef int(* wdt_api_disable) (const struct device *dev)
 Callback API for disabling watchdog instance. See wdt_disable() for argument descriptions. More...
 
typedef int(* wdt_api_install_timeout) (const struct device *dev, const struct wdt_timeout_cfg *cfg)
 Callback API for installing new timeout. See wdt_install_timeout() for argument descriptions. More...
 
typedef int(* wdt_api_feed) (const struct device *dev, int channel_id)
 Callback API for feeding specified watchdog timeout. See (wdt_feed) for argument descriptions. More...
 

Functions

int wdt_setup (const struct device *dev, uint8_t options)
 Set up watchdog instance. More...
 
int wdt_disable (const struct device *dev)
 Disable watchdog instance. More...
 
static int wdt_install_timeout (const struct device *dev, const struct wdt_timeout_cfg *cfg)
 Install new timeout. More...
 
int wdt_feed (const struct device *dev, int channel_id)
 Feed specified watchdog timeout. More...
 

Detailed Description

Public API for watchdog drivers.