| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * (C) Copyright 2001 | |
| * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com. | |
| */ | |
| /* | |
| * Watchdog functions and macros. | |
| */ | |
| #ifndef _WATCHDOG_H_ | |
| #define _WATCHDOG_H_ | |
| #include <cyclic.h> | |
| /* | |
| * Reset the watchdog timer, always returns 0 | |
| * | |
| * This function is here since it is shared between board_f() and board_r(), | |
| * and the legacy arch/<arch>/board.c code. | |
| */ | |
| int init_func_watchdog_reset(void); | |
| #if defined(CONFIG_WATCHDOG) || defined(CONFIG_HW_WATCHDOG) | |
| #define INIT_FUNC_WATCHDOG_INIT init_func_watchdog_init, | |
| #define INIT_FUNC_WATCHDOG_RESET init_func_watchdog_reset, | |
| #else | |
| #define INIT_FUNC_WATCHDOG_INIT | |
| #define INIT_FUNC_WATCHDOG_RESET | |
| #endif | |
| #if defined(CONFIG_HW_WATCHDOG) && defined(CONFIG_WATCHDOG) | |
| # error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." | |
| #endif | |
| /* | |
| * Prototypes from $(CPU)/cpu.c. | |
| */ | |
| #if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG) | |
| void hw_watchdog_init(void); | |
| #endif | |
| #endif /* _WATCHDOG_H_ */ |