Files
banban/ql-kernel/threadx/common/include/pmic_rtc.h

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_