Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / include / watchdog.h
diff --git a/qemu/roms/u-boot/include/watchdog.h b/qemu/roms/u-boot/include/watchdog.h
new file mode 100644 (file)
index 0000000..aacacb9
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * (C) Copyright 2001
+ * Erik Theisen,  Wave 7 Optics, etheisen@mindspring.com.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+/*
+ * Watchdog functions and macros.
+ */
+#ifndef _WATCHDOG_H_
+#define _WATCHDOG_H_
+
+#if !defined(__ASSEMBLY__)
+/*
+ * 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);
+#endif
+
+#ifdef CONFIG_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
+
+/*
+ * Hardware watchdog
+ */
+#ifdef CONFIG_HW_WATCHDOG
+       #if defined(__ASSEMBLY__)
+               #define WATCHDOG_RESET bl hw_watchdog_reset
+       #else
+               extern void hw_watchdog_reset(void);
+
+               #define WATCHDOG_RESET hw_watchdog_reset
+       #endif /* __ASSEMBLY__ */
+#else
+       /*
+        * Maybe a software watchdog?
+        */
+       #if defined(CONFIG_WATCHDOG)
+               #if defined(__ASSEMBLY__)
+                       #define WATCHDOG_RESET bl watchdog_reset
+               #else
+                       extern void watchdog_reset(void);
+
+                       #define WATCHDOG_RESET watchdog_reset
+               #endif
+       #else
+               /*
+                * No hardware or software watchdog.
+                */
+               #if defined(__ASSEMBLY__)
+                       #define WATCHDOG_RESET /*XXX DO_NOT_DEL_THIS_COMMENT*/
+               #else
+                       #define WATCHDOG_RESET() {}
+               #endif /* __ASSEMBLY__ */
+       #endif /* CONFIG_WATCHDOG && !__ASSEMBLY__ */
+#endif /* CONFIG_HW_WATCHDOG */
+
+/*
+ * Prototypes from $(CPU)/cpu.c.
+ */
+
+/* MPC 8xx */
+#if (defined(CONFIG_8xx) || defined(CONFIG_MPC860)) && !defined(__ASSEMBLY__)
+       void reset_8xx_watchdog(volatile immap_t *immr);
+#endif
+
+/* MPC 5xx */
+#if defined(CONFIG_5xx) && !defined(__ASSEMBLY__)
+       void reset_5xx_watchdog(volatile immap_t *immr);
+#endif
+
+/* MPC 5xxx */
+#if defined(CONFIG_MPC5xxx) && !defined(__ASSEMBLY__)
+       void reset_5xxx_watchdog(void);
+#endif
+
+/* AMCC 4xx */
+#if defined(CONFIG_4xx) && !defined(__ASSEMBLY__)
+       void reset_4xx_watchdog(void);
+#endif
+
+#if defined(CONFIG_HW_WATCHDOG) && !defined(__ASSEMBLY__)
+       void hw_watchdog_init(void);
+#endif
+#endif /* _WATCHDOG_H_ */