1 /*
2  * Copyright (c) 2006-2018, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2018-05-06     sundm75       first version
9  */
10 
11  #ifndef __OPENLOONGSON_RTC_H
12 #define __OPENLOONGSON_RTC_H
13 
14 
15 #define RTC               ( (RTC_TypeDef* )LS1C_RTC_BASE)
16 
17 typedef struct
18 {
19   unsigned char Year;     /*0 ~ 99 */
20   unsigned char Month;    /*1 ~ 12 */
21   unsigned char Date;     /*1 ~ 31 */
22   unsigned char Hours;    /*0 ~ 23 */
23   unsigned char Minutes;  /*0 ~ 59 */
24   unsigned char Seconds;  /*0 ~ 59 */
25 }RTC_TimeTypeDef;
26 
27 typedef struct
28 {
29    unsigned long SYS_TOYWRITE0;
30    unsigned long SYS_TOYWRITE1;
31    unsigned long SYS_TOYREAD0;
32    unsigned long SYS_TOYREAD1;
33 } RTC_TypeDef;
34 
35 int  RTC_SetTime(RTC_TypeDef *hrtc, RTC_TimeTypeDef *sTime);
36 int  RTC_GetTime(RTC_TypeDef *hrtc, RTC_TimeTypeDef *sTime);
37 
38 unsigned char RTC_IsLeapYear(unsigned int nYear);
39 unsigned char RTC_WeekDayNum(unsigned long nYear, unsigned char nMonth, unsigned char nDay);
40 
41 #endif
42