summaryrefslogtreecommitdiff
path: root/bsp/yichip/yc3122-pos/Libraries/sdk/yc_wdt.h
blob: 1f3aa403883475ca76cd2fed93f5c993c1263514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
 * Copyright (c) 2006-2020, YICHIP Development Team
 * @file     yc_wdt.h
 * @brief    This file provides all the WDT firmware functions.
 *
 * Change Logs:
 * Date           Author             Version        Notes
 * 2021-01-04     yangzhengfeng      V1.0.0         the first version
 */

#ifndef __YC_WDT_H__
#define __YC_WDT_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "yc3122.h"
#include "system.h"


typedef enum
{
    WDT_CPUReset = 0,
    WDT_Interrupt,
} WDT_ModeTypeDef;

#define  WDTCLKDIV_1                0x00
#define  WDTCLKDIV_2                0x01
#define  WDTCLKDIV_3                0x02
#define  WDTCLKDIV_4                0x03
#define  WDTCLKDIV_5                0x04
#define  WDTCLKDIV_6                0x05
#define  WDTCLKDIV_7                0x06
#define  WDTCLKDIV_8                0x07
#define  WDTCLKDIV_9                0x08
#define  WDTCLKDIV_10               0x09
#define  WDTCLKDIV_11               0x0A
#define  WDTCLKDIV_12               0x0B
#define  WDTCLKDIV_13               0x0c
#define  WDTCLKDIV_14               0x0D
#define  WDTCLKDIV_15               0x0E
#define  WDTCLKDIV_16               0x0F

/**************the value of feed dog************/
#define COUNTER_RELOAD_KEY          0x5937
#define ITSTATUS                    0x01
#define IS_WDT_CLKDI(wdtclkdiv)     (wdtclkdiv < 16)
#define IS_WDT_RELOAD(load)         (load <= 0x1f)
#define IS_WDT_MODE(mode)           ((mode == WDT_CPUReset) || (mode == WDT_Interrupt))

void WDT_CLKDIV(uint32_t Wdtclkdiv);
void WDT_SetReload(uint32_t Reload);
void WDT_ModeConfig(WDT_ModeTypeDef WDT_Mode);
void WDT_ClearITPendingBit(void);
void WDT_Enable(void);
void WDT_ReloadCounter(void);
uint8_t WDT_GetITStatus(void);

#ifdef __cplusplus
}
#endif

#endif /*__YC_WDT_H__*/

/************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/