1 /*
2  * Copyright (c) 2006-2020, YICHIP Development Team
3  * @file     yc_wdt.h
4  * @brief    This file provides all the WDT firmware functions.
5  *
6  * Change Logs:
7  * Date           Author             Version        Notes
8  * 2021-01-04     yangzhengfeng      V1.0.0         the first version
9  */
10 
11 #ifndef __YC_WDT_H__
12 #define __YC_WDT_H__
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #include "yc3122.h"
19 #include "system.h"
20 
21 
22 typedef enum
23 {
24     WDT_CPUReset = 0,
25     WDT_Interrupt,
26 } WDT_ModeTypeDef;
27 
28 #define  WDTCLKDIV_1                0x00
29 #define  WDTCLKDIV_2                0x01
30 #define  WDTCLKDIV_3                0x02
31 #define  WDTCLKDIV_4                0x03
32 #define  WDTCLKDIV_5                0x04
33 #define  WDTCLKDIV_6                0x05
34 #define  WDTCLKDIV_7                0x06
35 #define  WDTCLKDIV_8                0x07
36 #define  WDTCLKDIV_9                0x08
37 #define  WDTCLKDIV_10               0x09
38 #define  WDTCLKDIV_11               0x0A
39 #define  WDTCLKDIV_12               0x0B
40 #define  WDTCLKDIV_13               0x0c
41 #define  WDTCLKDIV_14               0x0D
42 #define  WDTCLKDIV_15               0x0E
43 #define  WDTCLKDIV_16               0x0F
44 
45 /**************the value of feed dog************/
46 #define COUNTER_RELOAD_KEY          0x5937
47 #define ITSTATUS                    0x01
48 #define IS_WDT_CLKDI(wdtclkdiv)     (wdtclkdiv < 16)
49 #define IS_WDT_RELOAD(load)         (load <= 0x1f)
50 #define IS_WDT_MODE(mode)           ((mode == WDT_CPUReset) || (mode == WDT_Interrupt))
51 
52 void WDT_CLKDIV(uint32_t Wdtclkdiv);
53 void WDT_SetReload(uint32_t Reload);
54 void WDT_ModeConfig(WDT_ModeTypeDef WDT_Mode);
55 void WDT_ClearITPendingBit(void);
56 void WDT_Enable(void);
57 void WDT_ReloadCounter(void);
58 uint8_t WDT_GetITStatus(void);
59 
60 #ifdef __cplusplus
61 }
62 #endif
63 
64 #endif /*__YC_WDT_H__*/
65 
66 /************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/
67