/* * Copyright (c) 2015 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ #include #include #include #include "board.h" #include /* WDT Requires a callback, there is no interrupt enable / disable. */ void wdt_example_cb(struct device *dev) { printk("watchdog fired\n"); wdt_reload(dev); } void main(void) { struct wdt_config wr_cfg; struct wdt_config cfg; struct device *wdt_dev; printk("Start watchdog test\n"); wr_cfg.timeout = WDT_2_27_CYCLES; wr_cfg.mode = WDT_MODE_INTERRUPT_RESET; wr_cfg.interrupt_fn = wdt_example_cb; wdt_dev = device_get_binding("WATCHDOG_0"); wdt_enable(wdt_dev); wdt_set_config(wdt_dev, &wr_cfg); wdt_get_config(wdt_dev, &cfg); printk("timeout: %d\n", cfg.timeout); printk("mode: %d\n", cfg.mode); }