]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_LM3S102_Rowley/hw_include/hw_watchdog.h
First version under SVN is V4.0.1
[freertos] / Demo / CORTEX_LM3S102_Rowley / hw_include / hw_watchdog.h
1 //*****************************************************************************\r
2 //\r
3 // hw_watchdog.h - Macros used when accessing the Watchdog Timer hardware.\r
4 //\r
5 // Copyright (c) 2005,2006 Luminary Micro, Inc.  All rights reserved.\r
6 //\r
7 // Software License Agreement\r
8 //\r
9 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and\r
10 // exclusively on LMI's Stellaris Family of microcontroller products.\r
11 //\r
12 // The software is owned by LMI and/or its suppliers, and is protected under\r
13 // applicable copyright laws.  All rights are reserved.  Any use in violation\r
14 // of the foregoing restrictions may subject the user to criminal sanctions\r
15 // under applicable laws, as well as to civil liability for the breach of the\r
16 // terms and conditions of this license.\r
17 //\r
18 // THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED\r
19 // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\r
20 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\r
21 // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\r
22 // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.\r
23 //\r
24 // This is part of revision 523 of the Stellaris Driver Library.\r
25 //\r
26 //*****************************************************************************\r
27 \r
28 #ifndef __HW_WATCHDOG_H__\r
29 #define __HW_WATCHDOG_H__\r
30 \r
31 //*****************************************************************************\r
32 //\r
33 // The following define the offsets of the Watchdog Timer registers.\r
34 //\r
35 //*****************************************************************************\r
36 #define WDT_O_LOAD              0x00000000  // Load register\r
37 #define WDT_O_VALUE             0x00000004  // Current value register\r
38 #define WDT_O_CTL               0x00000008  // Control register\r
39 #define WDT_O_ICR               0x0000000C  // Interrupt clear register\r
40 #define WDT_O_RIS               0x00000010  // Raw interrupt status register\r
41 #define WDT_O_MIS               0x00000014  // Masked interrupt status register\r
42 #define WDT_O_TEST              0x00000418  // Test register\r
43 #define WDT_O_CAUSE             0x0000041C  // Cause register\r
44 #define WDT_O_LOCK              0x00000C00  // Lock register\r
45 \r
46 //*****************************************************************************\r
47 //\r
48 // The following define the bit fields in the WDT_CTL register.\r
49 //\r
50 //*****************************************************************************\r
51 #define WDT_CTL_RESEN           0x00000002  // Enable reset output\r
52 #define WDT_CTL_INTEN           0x00000001  // Enable the WDT counter and int\r
53 \r
54 //*****************************************************************************\r
55 //\r
56 // The following define the bit fields in the WDT_ISR, WDT_RIS, and WDT_MIS\r
57 // registers.\r
58 //\r
59 //*****************************************************************************\r
60 #define WDT_INT_TIMEOUT         0x00000001  // Watchdog timer expired\r
61 \r
62 //*****************************************************************************\r
63 //\r
64 // The following define the bit fields in the WDT_TEST register.\r
65 //\r
66 //*****************************************************************************\r
67 #define WDT_TEST_STALL_EN       0x00000100  // Watchdog stall enable\r
68 #define WDT_TEST_TEST_EN        0x00000001  // Watchdog timer reset int test\r
69 \r
70 //*****************************************************************************\r
71 //\r
72 // The following define the bit fields in the WDT_CAUSE register.\r
73 //\r
74 //*****************************************************************************\r
75 #define WDT_CAUSE_WDR           0x00000002  // Watchdog timer reset occurred\r
76 #define WDT_CAUSE_WDI           0x00000001  // Watchdog timer int occurred\r
77 \r
78 //*****************************************************************************\r
79 //\r
80 // The following define the bit fields in the WDT_LOCK register.\r
81 //\r
82 //*****************************************************************************\r
83 #define WDT_LOCK_LOCKED         0x00000001  // Watchdog timer is locked\r
84 #define WDT_LOCK_UNLOCKED       0x00000000  // Watchdog timer is unlocked\r
85 #define WDT_LOCK_UNLOCK         0x1ACCE551  // Unlocks the watchdog timer\r
86 \r
87 //*****************************************************************************\r
88 //\r
89 // The following define the reset values for the WDT registers.\r
90 //\r
91 //*****************************************************************************\r
92 #define WDT_RV_LOAD             0xFFFFFFFF  // Load register\r
93 #define WDT_RV_VALUE            0xFFFFFFFF  // Current value register\r
94 #define WDT_RV_CTL              0x00000000  // Control register\r
95 #define WDT_RV_RIS              0x00000000  // Raw interrupt status register\r
96 #define WDT_RV_MIS              0x00000000  // Masked interrupt status register\r
97 #define WDT_RV_LOCK             0x00000000  // Lock register\r
98 \r
99 #endif // __HW_WATCHDOG_H__\r