70 lines
2.1 KiB
C
70 lines
2.1 KiB
C
#ifndef _PRTC_H_
|
|
#define _PRTC_H_
|
|
|
|
typedef struct rtc_time {
|
|
int tm_sec; //seconds [0,59]
|
|
int tm_min; //minutes [0,59]
|
|
int tm_hour; //hour [0,23]
|
|
int tm_mday; //day of month [1,31]
|
|
int tm_mon; //month of year [1,12]
|
|
int tm_year; // since 1970
|
|
int tm_wday; // sunday = 0
|
|
}t_rtc;
|
|
|
|
//20190513@xiaokeweng : RTC_APP_OFFSET implement ++
|
|
typedef enum {
|
|
SYS_OFFSET,
|
|
APP_OFFSET
|
|
}PMIC_RTC_OFFSET_TYPE;
|
|
//20190513@xiaokeweng : RTC_APP_OFFSET implement --
|
|
|
|
|
|
typedef enum {
|
|
RTC_EXPIRE_1=1,
|
|
RTC_EXPIRE_2=2 //RTC_EXPIRE AREA REUSED AS APP_OFFSET, SO ONLY RTC_EXPIRE_1 AVAILABLED
|
|
}RTC_EXPIRE_ID;
|
|
|
|
#define FEBRUARY 2
|
|
#define STARTOFTIME 1970
|
|
#define SECDAY 86400L
|
|
#define SECYR (SECDAY * 365)
|
|
|
|
typedef void (*AlCallback)(void);
|
|
|
|
|
|
int pmic_rtc_to_tm(UINT32 tim, t_rtc *tm);
|
|
void PMIC_RTC_GetTime(t_rtc *tmp,PMIC_RTC_OFFSET_TYPE type);
|
|
void PMIC_RTC_SetTime(t_rtc *tmp,PMIC_RTC_OFFSET_TYPE type);
|
|
void PMIC_RTC_SetAlarm(t_rtc *tmp);
|
|
void PMIC_RTC_GetAlarm(t_rtc *tmp);
|
|
void PMIC_RTC_EnableAlarm(BOOL onoff);
|
|
void PMIC_RTC_init(AlCallback callback);
|
|
UINT32 PMIC_RTC_GetTime_Count(PMIC_RTC_OFFSET_TYPE type);
|
|
BOOL PMIC_RTC_is_alarm_powerup(void);
|
|
BOOL PMIC_RTC_IS_SYS_RTC_PEER_SYNCED(void);
|
|
|
|
t_rtc * PMIC_gmttime(const unsigned int * m_time);
|
|
unsigned int time(unsigned int * retrievedTime);
|
|
unsigned int millisecond_get(void);
|
|
|
|
INT32 PMIC_RTC_GetTimezone(void);
|
|
void PMIC_RTC_SetTimezone(INT32 timezone);
|
|
unsigned long pmic_rtc_mktime(const t_rtc *tm);
|
|
|
|
BOOL pmic_userdata_get_app_rtc_ever_configed(void);
|
|
void pmic_userdata_set_app_rtc_ever_configed(void);
|
|
void pmic_userdata_unset_app_rtc_ever_configed(void);
|
|
void pmic_rtc_offset_storage_type_detect(void);
|
|
void pmic_rtc_setting_init_fetch(void);
|
|
void pmic_rtc_setting_save(void);
|
|
|
|
|
|
BOOL pmic_rtc_INIT_FLAG_GET(void);
|
|
void PMIC_RTC_USERDATA_CFG_SET(UINT8 bit_mask,BOOL marked);
|
|
BOOL PMIC_RTC_USERDATA_CFG_GET(UINT8 bit_mask);
|
|
void pm813_userdata_set_app_rtc_ever_configed(void);
|
|
BOOL pm813_userdata_get_app_rtc_ever_configed(void);
|
|
BOOL pmic_rtc_valid(int year,int month,int day,int hour,int min,int sec,int timezone);
|
|
|
|
#endif//_PRTC_H_
|