1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2001 4 * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com. 5 */ 6 7 /* 8 * Watchdog functions and macros. 9 */ 10 #ifndef _WATCHDOG_H_ 11 #define _WATCHDOG_H_ 12 13 #include <u-boot/schedule.h> // to be removed later 14 15 /* 16 * Reset the watchdog timer, always returns 0 17 * 18 * This function is here since it is shared between board_f() and board_r(), 19 * and the legacy arch/<arch>/board.c code. 20 */ 21 int init_func_watchdog_reset(void); 22 23 #if defined(CONFIG_WATCHDOG) || defined(CONFIG_HW_WATCHDOG) 24 #define INIT_FUNC_WATCHDOG_INIT init_func_watchdog_init, 25 #define INIT_FUNC_WATCHDOG_RESET init_func_watchdog_reset, 26 #else 27 #define INIT_FUNC_WATCHDOG_INIT 28 #define INIT_FUNC_WATCHDOG_RESET 29 #endif 30 31 #if defined(CONFIG_HW_WATCHDOG) && defined(CONFIG_WATCHDOG) 32 # error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." 33 #endif 34 35 /* 36 * Prototypes from $(CPU)/cpu.c. 37 */ 38 39 #if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG) 40 void hw_watchdog_init(void); 41 #endif 42 43 #endif /* _WATCHDOG_H_ */ 44