blob: 59de5966054d7f119cbea89e1608894c63540a3d [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/*******************************************************************************
2 * Copyright (C) 2007, ZTE Corporation.
3 *
4 * File Name: drvs_io_led.h
5 * File Mark:
6 * Description:
7 * Others:
8 * Version: 1.0
9 * Author: yuxiang
10 * Date: 2014-07-03
11 * History 1:
12 * Date:
13 * Version:
14 * Author:
15 * Modification:
16 * History 2:
17 ********************************************************************************/
18
19#ifndef _DRVS_IO_RTC_H
20#define _DRVS_IO_RTC_H
21
22/****************************************************************************
23* Include files
24****************************************************************************/
25#include "drvs_io.h"
26/****************************************************************************
27* Macros
28****************************************************************************/
29#define ZDRV_DEV_RTC "rtc"
30/****************************************************************************
31* Types
32****************************************************************************/
33
34
35typedef struct
36{
37 BOOL mode_12_hour; /* TRUE->12 hour mode ; FALSE-> 24 hour mode */
38 BOOL PM_flag; /* if 12 hour flag = TRUE TRUE->PM ; FALSE->AM */
39 UINT8 second; /* seconds after the minute - [0,59] */
40 UINT8 minute; /* minutes after the hour - [0,59] */
41 UINT8 hour; /* hours after the midnight - [0,23] */
42 UINT8 day; /* day of the month - [1,31] */
43 UINT8 month; /* months - [01,12] */
44 UINT8 wday; /* days in a week - [1,7] */
45 UINT16 year; /* years - [0000,9999] */
46} T_ZDrvRtc_TimeDate;
47
48
49typedef enum
50{
51 RTC_IRQ_SEC_INT, /*second interrupt */
52 RTC_IRQ_MIN_INT, /* minute interrupt */
53 RTC_IRQ_HOUR_INT, /* hour interrupt */
54 RTC_IRQ_DAY_INT, /* day interrupt */
55
56 RTC_IRQ_INT_MAX
57} T_ZDrvRtc_EventInt;
58
59typedef enum
60{
61 RTC_INT_DISABLE,
62 RTC_INT_ENABLE,
63
64 MAX_RTC_INT_SETUP
65}T_ZDrvRtc_IntSetup;
66
67typedef enum
68{
69 ALARM_POWER_OFF,
70 ALARM_POWER_ON,
71
72 MAX_ALARM_POWER
73} T_ZDrvRtc_AlarmPower;
74
75typedef VOID (*zDrvRtc_AlarmCallbackFunc)(VOID);
76typedef VOID (*zDrvRtc_CycleCallbackFunc)(T_ZDrvRtc_EventInt);
77
78
79/*IOCTL¿ØÖƲÙ×÷´«µÝ²ÎÊýÀàÐÍ*/
80typedef struct
81{
82 T_ZDrvRtc_TimeDate TimeDate;
83 T_ZDrvRtc_AlarmPower AlarmEnable;
84 T_ZDrvRtc_IntSetup IntEnable;
85 zDrvRtc_CycleCallbackFunc CycleCallback;
86 zDrvRtc_AlarmCallbackFunc AlarmCallback;
87}T_ZDrvRtc_Descriptor;
88
89
90
91/*¶Ôƽ̨µ¥¶ÀÌṩµÄ¶ÁÈ¡ÓëÉèÖÃʱ¼äÈÕÆÚµÄ½Ó¿Ú*/
92SINT32 Rtc_GetDateTime(T_ZDrvRtc_TimeDate * pDateTime);
93SINT32 Rtc_SetDateTime(T_ZDrvRtc_TimeDate * pDateTime);
94
95
96#endif/*_DRVS_IO_LED_H*/
97