1 /* 2 * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 11 * Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the 14 * distribution. 15 * 16 * Neither the name of Texas Instruments Incorporated nor the names of 17 * its contributors may be used to endorse or promote products derived 18 * from this software without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 * 32 */ 33 //***************************************************************************** 34 // 35 // wdt.h - Prototypes for the Watchdog Timer API 36 // 37 // 38 39 #ifndef __WATCHDOG_H__ 40 #define __WATCHDOG_H__ 41 42 //***************************************************************************** 43 // 44 // If building with a C++ compiler, make all of the definitions in this header 45 // have a C binding. 46 // 47 //***************************************************************************** 48 #ifdef __cplusplus 49 extern "C" 50 { 51 #endif 52 53 54 //***************************************************************************** 55 // 56 // Prototypes for the APIs. 57 // 58 //***************************************************************************** 59 extern tBoolean WatchdogRunning(unsigned long ulBase); 60 extern void WatchdogEnable(unsigned long ulBase); 61 extern void WatchdogLock(unsigned long ulBase); 62 extern void WatchdogUnlock(unsigned long ulBase); 63 extern tBoolean WatchdogLockState(unsigned long ulBase); 64 extern void WatchdogReloadSet(unsigned long ulBase, unsigned long ulLoadVal); 65 extern unsigned long WatchdogReloadGet(unsigned long ulBase); 66 extern unsigned long WatchdogValueGet(unsigned long ulBase); 67 extern void WatchdogIntRegister(unsigned long ulBase, void(*pfnHandler)(void)); 68 extern void WatchdogIntUnregister(unsigned long ulBase); 69 extern unsigned long WatchdogIntStatus(unsigned long ulBase, tBoolean bMasked); 70 extern void WatchdogIntClear(unsigned long ulBase); 71 extern void WatchdogStallEnable(unsigned long ulBase); 72 extern void WatchdogStallDisable(unsigned long ulBase); 73 74 //***************************************************************************** 75 // 76 // Mark the end of the C bindings section for C++ compilers. 77 // 78 //***************************************************************************** 79 #ifdef __cplusplus 80 } 81 #endif 82 83 #endif // __WATCHDOG_H__ 84