[ab32vg1] 增加看门狗溢出时间宏定义

This commit is contained in:
Meco Man 2021-03-11 15:18:32 +08:00
parent 849c99d2fa
commit 67e3282aec
2 changed files with 41 additions and 16 deletions

View File

@ -12,6 +12,8 @@
#ifdef RT_USING_WDT #ifdef RT_USING_WDT
#include <drv_wdt.h>
// #define DRV_DEBUG // #define DRV_DEBUG
#define LOG_TAG "drv.wdt" #define LOG_TAG "drv.wdt"
#include <drv_log.h> #include <drv_log.h>
@ -49,35 +51,35 @@ static rt_err_t wdt_control(rt_watchdog_t *wdt, int cmd, void *arg)
switch (*((rt_uint32_t *)arg)) switch (*((rt_uint32_t *)arg))
{ {
case 0: case AB32_WDT_TIMEOUT_1MS:
LOG_I("The watchdog timeout is set to 1ms"); LOG_I("The watchdog timeout is set to 1ms");
tmp |= (0xa << 24) | (0x00 << 20); tmp |= (0xa << 24) | (0x00 << 20);
break; break;
case 1: case AB32_WDT_TIMEOUT_256MS:
LOG_I("The watchdog timeout is set to 256ms"); LOG_I("The watchdog timeout is set to 256ms");
tmp |= (0xa << 24) | (0x01 << 20); tmp |= (0xa << 24) | (0x01 << 20);
break; break;
case 2: case AB32_WDT_TIMEOUT_512MS:
LOG_I("The watchdog timeout is set to 512ms"); LOG_I("The watchdog timeout is set to 512ms");
tmp |= (0xa << 24) | (0x02 << 20); tmp |= (0xa << 24) | (0x02 << 20);
break; break;
case 3: case AB32_WDT_TIMEOUT_1024MS:
LOG_I("The watchdog timeout is set to 1024ms"); LOG_I("The watchdog timeout is set to 1024ms");
tmp |= (0xa << 24) | (0x03 << 20); tmp |= (0xa << 24) | (0x03 << 20);
break; break;
case 4: case AB32_WDT_TIMEOUT_2048MS:
LOG_I("The watchdog timeout is set to 2048ms"); LOG_I("The watchdog timeout is set to 2048ms");
tmp |= (0xa << 24) | (0x04 << 20); tmp |= (0xa << 24) | (0x04 << 20);
break; break;
case 5: case AB32_WDT_TIMEOUT_4096MS:
LOG_I("The watchdog timeout is set to 4096ms"); LOG_I("The watchdog timeout is set to 4096ms");
tmp |= (0xa << 24) | (0x05 << 20); tmp |= (0xa << 24) | (0x05 << 20);
break; break;
case 6: case AB32_WDT_TIMEOUT_8192MS:
LOG_I("The watchdog timeout is set to 8192ms"); LOG_I("The watchdog timeout is set to 8192ms");
tmp |= (0xa << 24) | (0x06 << 20); tmp |= (0xa << 24) | (0x06 << 20);
break; break;
case 7: case AB32_WDT_TIMEOUT_16384MS:
LOG_I("The watchdog timeout is set to 16384ms"); LOG_I("The watchdog timeout is set to 16384ms");
tmp |= (0xa << 24) | (0x07 << 20); tmp |= (0xa << 24) | (0x07 << 20);
break; break;
@ -92,28 +94,28 @@ static rt_err_t wdt_control(rt_watchdog_t *wdt, int cmd, void *arg)
case RT_DEVICE_CTRL_WDT_GET_TIMEOUT: case RT_DEVICE_CTRL_WDT_GET_TIMEOUT:
switch ((WDTCON >> 20) & 0x7) switch ((WDTCON >> 20) & 0x7)
{ {
case 0: case AB32_WDT_TIMEOUT_1MS:
LOG_D("The watchdog timeout is set to 1ms"); LOG_D("The watchdog timeout is set to 1ms");
break; break;
case 1: case AB32_WDT_TIMEOUT_256MS:
LOG_D("The watchdog timeout is set to 256ms"); LOG_D("The watchdog timeout is set to 256ms");
break; break;
case 2: case AB32_WDT_TIMEOUT_512MS:
LOG_D("The watchdog timeout is set to 512ms"); LOG_D("The watchdog timeout is set to 512ms");
break; break;
case 3: case AB32_WDT_TIMEOUT_1024MS:
LOG_D("The watchdog timeout is set to 1024ms"); LOG_D("The watchdog timeout is set to 1024ms");
break; break;
case 4: case AB32_WDT_TIMEOUT_2048MS:
LOG_D("The watchdog timeout is set to 2048ms"); LOG_D("The watchdog timeout is set to 2048ms");
break; break;
case 5: case AB32_WDT_TIMEOUT_4096MS:
LOG_D("The watchdog timeout is set to 4096ms"); LOG_D("The watchdog timeout is set to 4096ms");
break; break;
case 6: case AB32_WDT_TIMEOUT_8192MS:
LOG_D("The watchdog timeout is set to 8192ms"); LOG_D("The watchdog timeout is set to 8192ms");
break; break;
case 7: case AB32_WDT_TIMEOUT_16384MS:
LOG_D("The watchdog timeout is set to 16384ms"); LOG_D("The watchdog timeout is set to 16384ms");
break; break;
default: default:

View File

@ -0,0 +1,23 @@
/*
* Copyright (c) 2020-2021, Bluetrum Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-03-11 Meco Man first version
*/
#ifndef DRV_WDT_H__
#define DRV_WDT_H__
#define AB32_WDT_TIMEOUT_1MS 0
#define AB32_WDT_TIMEOUT_256MS 1
#define AB32_WDT_TIMEOUT_512MS 2
#define AB32_WDT_TIMEOUT_1024MS 3
#define AB32_WDT_TIMEOUT_2048MS 4
#define AB32_WDT_TIMEOUT_4096MS 5
#define AB32_WDT_TIMEOUT_8192MS 6
#define AB32_WDT_TIMEOUT_16384MS 7
#endif