Return to watchdog.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / elwix / tools / uboot_mkimage / include |
1.1 ! misho 1: /* ! 2: * (C) Copyright 2001 ! 3: * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com. ! 4: * ! 5: * See file CREDITS for list of people who contributed to this ! 6: * project. ! 7: * ! 8: * This program is free software; you can redistribute it and/or ! 9: * modify it under the terms of the GNU General Public License as ! 10: * published by the Free Software Foundation; either version 2 of ! 11: * the License, or (at your option) any later version. ! 12: * ! 13: * This program is distributed in the hope that it will be useful, ! 14: * but WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 16: * GNU General Public License for more details. ! 17: * ! 18: * You should have received a copy of the GNU General Public License ! 19: * along with this program; if not, write to the Free Software ! 20: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ! 21: * MA 02111-1307 USA ! 22: */ ! 23: ! 24: /* ! 25: * Watchdog functions and macros. ! 26: */ ! 27: #ifndef _WATCHDOG_H_ ! 28: #define _WATCHDOG_H_ ! 29: ! 30: #if defined(CONFIG_HW_WATCHDOG) && defined(CONFIG_WATCHDOG) ! 31: # error "Configuration error: CONFIG_HW_WATCHDOG and CONFIG_WATCHDOG can't be used together." ! 32: #endif ! 33: ! 34: /* ! 35: * Hardware watchdog ! 36: */ ! 37: #ifdef CONFIG_HW_WATCHDOG ! 38: #if defined(__ASSEMBLY__) ! 39: #define WATCHDOG_RESET bl hw_watchdog_reset ! 40: #else ! 41: extern void hw_watchdog_reset(void); ! 42: ! 43: #define WATCHDOG_RESET hw_watchdog_reset ! 44: #endif /* __ASSEMBLY__ */ ! 45: #else ! 46: /* ! 47: * Maybe a software watchdog? ! 48: */ ! 49: #if defined(CONFIG_WATCHDOG) ! 50: #if defined(__ASSEMBLY__) ! 51: #define WATCHDOG_RESET bl watchdog_reset ! 52: #else ! 53: extern void watchdog_reset(void); ! 54: ! 55: #define WATCHDOG_RESET watchdog_reset ! 56: #endif ! 57: #else ! 58: /* ! 59: * No hardware or software watchdog. ! 60: */ ! 61: #if defined(__ASSEMBLY__) ! 62: #define WATCHDOG_RESET /*XXX DO_NOT_DEL_THIS_COMMENT*/ ! 63: #else ! 64: #define WATCHDOG_RESET() {} ! 65: #endif /* __ASSEMBLY__ */ ! 66: #endif /* CONFIG_WATCHDOG && !__ASSEMBLY__ */ ! 67: #endif /* CONFIG_HW_WATCHDOG */ ! 68: ! 69: /* ! 70: * Prototypes from $(CPU)/cpu.c. ! 71: */ ! 72: ! 73: /* MPC 8xx */ ! 74: #if (defined(CONFIG_8xx) || defined(CONFIG_MPC860)) && !defined(__ASSEMBLY__) ! 75: void reset_8xx_watchdog(volatile immap_t *immr); ! 76: #endif ! 77: ! 78: /* MPC 5xx */ ! 79: #if defined(CONFIG_5xx) && !defined(__ASSEMBLY__) ! 80: void reset_5xx_watchdog(volatile immap_t *immr); ! 81: #endif ! 82: ! 83: /* MPC 5xxx */ ! 84: #if defined(CONFIG_MPC5xxx) && !defined(__ASSEMBLY__) ! 85: void reset_5xxx_watchdog(void); ! 86: #endif ! 87: ! 88: /* AMCC 4xx */ ! 89: #if defined(CONFIG_4xx) && !defined(__ASSEMBLY__) ! 90: void reset_4xx_watchdog(void); ! 91: #endif ! 92: ! 93: #endif /* _WATCHDOG_H_ */