Need to control watchdog timer on AT90USB
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3706 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
4a22bac640
commit
2552ab4cb1
|
@ -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
|
||||
**************************************************************************/
|
||||
|
@ -67,6 +90,23 @@
|
|||
* Private Functions
|
||||
**************************************************************************/
|
||||
|
||||
/**************************************************************************
|
||||
* 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();
|
||||
|
|
|
@ -473,6 +473,20 @@ Micropendous3 Configuration Options
|
|||
CONFIG_AVR_ANACOMP=n
|
||||
CONFIG_AVR_ADC=n
|
||||
CONFIG_AVR_TWI=n
|
||||
|
||||
If the watchdog is enabled, this specifies the initial timeout. Default
|
||||
is maximum supported value.
|
||||
|
||||
CONFIG_WDTO_15MS
|
||||
CONFIG_WDTO_30MS
|
||||
CONFIG_WDTO_60MS
|
||||
CONFIG_WDTO_120MS
|
||||
CONFIG_WDTO_1250MS
|
||||
CONFIG_WDTO_500MS
|
||||
CONFIG_WDTO_1S
|
||||
CONFIG_WDTO_2S
|
||||
CONFIG_WDTO_4S
|
||||
CONFIG_WDTO_8S
|
||||
|
||||
AT90USB specific device driver settings
|
||||
|
||||
|
|
Loading…
Reference in New Issue