summaryrefslogtreecommitdiffstats
path: root/nuttx/arch/avr/src
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2011-06-15 19:47:06 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2011-06-15 19:47:06 +0000
commit3271bd609cbfe0a109fec51524d55d273a6d038c (patch)
treed17d74b865c60640b39079776a24c11e010b4149 /nuttx/arch/avr/src
parente300da65e46e20600975ce67c8ba68e07ebd55d9 (diff)
Need to control watchdog timer on AT90USB
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@3706 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx/arch/avr/src')
-rw-r--r--nuttx/arch/avr/src/at90usb/at90usb_lowinit.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/nuttx/arch/avr/src/at90usb/at90usb_lowinit.c b/nuttx/arch/avr/src/at90usb/at90usb_lowinit.c
index f7e7cfb69b..5f8b2e4329 100644
--- a/nuttx/arch/avr/src/at90usb/at90usb_lowinit.c
+++ b/nuttx/arch/avr/src/at90usb/at90usb_lowinit.c
@@ -38,6 +38,7 @@
**************************************************************************/
#include <nuttx/config.h>
+#include <avr/wdt.h>
#include "at90usb_config.h"
#include "up_internal.h"
@@ -47,6 +48,28 @@
* Private Definitions
**************************************************************************/
+#if defined(CONFIG_WDTO_15MS)
+# define WDTO_VALUE WDTO_15MS
+#elif defined(CONFIG_WDTO_30MS)
+# define WDTO_VALUE WDTO_30MS
+#elif defined(CONFIG_WDTO_60MS)
+# define WDTO_VALUE WDTO_60MS
+#elif defined(CONFIG_WDTO_120MS)
+# define WDTO_VALUE WDTO_120MS
+#elif defined(CONFIG_WDTO_1250MS)
+# define WDTO_VALUE WDTO_250MS
+#elif defined(CONFIG_WDTO_500MS)
+# define WDTO_VALUE WDTO_500MS
+#elif defined(CONFIG_WDTO_1S)
+# define WDTO_VALUE WDTO_1S
+#elif defined(CONFIG_WDTO_2S)
+# define WDTO_VALUE WDTO_2S
+#elif defined(CONFIG_WDTO_4S)
+# define WDTO_VALUE WDTO_4S
+#else /* if defined(CONFIG_WDTO_8S) */
+# define WDTO_VALUE WDTO_8S
+#endif
+
/**************************************************************************
* Private Types
**************************************************************************/
@@ -68,6 +91,23 @@
**************************************************************************/
/**************************************************************************
+ * Name: up_wdtinit
+ *
+ * Description:
+ * Initialize the watchdog per the NuttX configuration.
+ *
+ **************************************************************************/
+
+static inline void up_wdtinit(void)
+{
+#ifndef CONFIG_AVR_WDT
+ wdt_disable();
+#else
+ wdt_enable(WDTO_VALUE);
+#endif
+}
+
+/**************************************************************************
* Public Functions
**************************************************************************/
@@ -83,6 +123,10 @@
void up_lowinit(void)
{
+ /* Initialize the watchdog timer */
+
+ up_wdtinit();
+
/* Initialize a console (probably a serial console) */
up_consoleinit();