zte's code,first commit
Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/cp/ps/driver/inc/misc/drvs_pmic_rtc.h b/cp/ps/driver/inc/misc/drvs_pmic_rtc.h
new file mode 100644
index 0000000..65f620b
--- /dev/null
+++ b/cp/ps/driver/inc/misc/drvs_pmic_rtc.h
@@ -0,0 +1,203 @@
+/*******************************************************************************
+ * Copyright (C) 2010, ZTE Corporation.
+ *
+ * File Name: drvs_pmic_rtc.h
+ * File Mark:
+ * Description:
+ * Others:
+ * Version: V1.0
+ * Author: yuxiang
+ * Date: 2016-01-27
+ * History 1:
+ * Date:
+ * Version:
+ * Author:
+ * Modification:
+ * History 2:
+ ********************************************************************************/
+
+#ifndef _DRVS_PMIC_RTC_H
+#define _DRVS_PMIC_RTC_H
+
+/****************************************************************************
+* Include files
+****************************************************************************/
+#include "drvs_io_rtc.h"
+
+/****************************************************************************
+* Macros
+****************************************************************************/
+#if defined(_USE_PMIC_ZX234290)
+
+#define ZX234290_RTC_ALARM_INT_EN_LSH (1)
+#define ZX234290_RTC_ALARM_INT_EN_WID (1)
+
+#define ZX234290_RTC_TIMER_INT_EN_LSH (0)
+#define ZX234290_RTC_TIMER_INT_EN_WID (1)
+
+
+ /*RTC TIME SECONDS MIN HOU DAY MON YEAR WEEKDAY*/
+#define ZX234290_RTC_TIME_SECONDS_LSH (0)
+#define ZX234290_RTC_TIME_SECONDS_WID (7)
+
+#define ZX234290_RTC_TIME_MINUTES_LSH (0)
+#define ZX234290_RTC_TIME_MINUTES_WID (7)
+
+#define ZX234290_RTC_TIME_HOURS_LSH (0)
+#define ZX234290_RTC_TIME_HOURS_WID (6)
+
+#define ZX234290_RTC_TIME_DAYS_LSH (0)
+#define ZX234290_RTC_TIME_DAYS_WID (6)
+
+#define ZX234290_RTC_TIME_MONTHS_LSH (0)
+#define ZX234290_RTC_TIME_MONTHS_WID (5)
+#define ZX234290_RTC_TIME_CENTURY_LSH (7)
+#define ZX234290_RTC_TIME_CENTURY_WID (1)
+
+#define ZX234290_RTC_TIME_YEAR_LSH (0)
+#define ZX234290_RTC_TIME_YEAR_WID (7)
+
+#define ZX234290_RTC_TIME_WEEKDAY_LSH (0)
+#define ZX234290_RTC_TIME_WEEKDAY_WID (3)
+
+ /*RTC ALARM MIN HOU DAY WEEKDAY*/
+#define ZX234290_RTC_AlARM_MINUTES_LSH (0)
+#define ZX234290_RTC_AlARM_MINUTES_WID (7)
+
+#define ZX234290_RTC_AlARM_HOURS_LSH (0)
+#define ZX234290_RTC_AlARM_HOURS_WID (6)
+
+#define ZX234290_RTC_AlARM_DAYS_LSH (0)
+#define ZX234290_RTC_AlARM_DAYS_WID (6)
+
+#define ZX234290_RTC_AlARM_WEEKDAY_LSH (0)
+#define ZX234290_RTC_AlARM_WEEKDAY_WID (3)
+
+#define ZX234290_RTC_AlARM_SECOND_LSH (0)
+#define ZX234290_RTC_AlARM_SECOND_WID (7)
+ /*RTC ALARM Enable*/
+#define ZX234290_RTC_AlARM_ACTIVATED_LSH (7)
+#define ZX234290_RTC_AlARM_ACTIVATED_WID (1)
+
+ /* RTC TIMER ENABLE */
+#define ZX234290_RTC_TIMER_EN_LSH (7)
+#define ZX234290_RTC_TIMER_EN_WID (1)
+
+#define ZX234290_RTC_TIMER_TD_LSH (0)
+#define ZX234290_RTC_TIMER_TD_WID (2)
+
+#define ZX234290_RTC_TIMER_CNT_LSH (0)
+#define ZX234290_RTC_TIMER_CNT_WID (8)
+
+ /*RTC MASK IRQ */
+#define ZX234290_RTC_MASK_ALARM_LSH (0)
+#define ZX234290_RTC_MASK_ALARM_WID (1)
+
+#define ZX234290_RTC_MASK_HOUR_LSH (4)
+#define ZX234290_RTC_MASK_HOUR_WID (1)
+
+#define ZX234290_RTC_MASK_MIN_LSH (3)
+#define ZX234290_RTC_MASK_MIN_WID (1)
+ /*AF/TF alarm flag/timer flag*/
+#define ZX234290_RTC_AF_LSH (3)
+#define ZX234290_RTC_AF_WID (1)
+
+#define ZX234290_RTC_TF_LSH (2)
+#define ZX234290_RTC_TF_WID (1)
+
+#define ZX234290_BCD2DEC(var) ((((var&0xF0)>>4)*10)+(var&0x0F))
+#define ZX234290_DEC2BCD(var) (((var/10)<<4)+(var%10))
+
+
+typedef enum _T_ZDrvZx234290_TimerCount
+{
+ TIMER_COUNT_4096 = 0,
+ TIMER_COUNT_64 = 1, /* 64 DEFAULT */
+ TIMER_COUNT_1 = 2, /* 1 */
+ TIMER_COUNT_1_60 = 3, /* 1/60 */
+
+ TIMER_COUNT_MAX
+}T_ZDrvZx234290_TimerCount;
+
+
+/**************************************************************************
+ * Types *
+ **************************************************************************/
+
+typedef struct
+{
+ UINT8 mday; /* day of the month - [1,31] */
+ UINT8 mon; /* months - [01,12] */
+ UINT8 wday; /*days in a week - [1,7] NULL when input*/
+ UINT16 year; /* years - [0000,9999] */
+}T_ZDrvRtc_Date;
+
+typedef struct
+{
+ BOOL PM_flag; /* if 12 hour flag = TRUE TRUE->PM ; FALSE->AM */
+ BOOL mode_12_hour; /* TRUE->12 hour mode ; FALSE-> 24 hour mode */ /*20080227*/
+ UINT8 sec; /* seconds after the minute - [0,59] */
+ UINT8 min; /* minutes after the hour - [0,59] */
+ UINT8 hour; /* hours after the midnight - [0,23] */
+}T_ZDrvRtc_Time;
+
+typedef enum
+{
+ MON = 1,
+ TUES,
+ WED,
+ THURS,
+ FRI,
+ SAT,
+ SUN,
+
+ MAX_RTC_WEEKDAY
+} T_ZDrvRtc_WeekDay;
+
+typedef enum _T_ZDrvRtc_TimerUnit
+{
+ RTC_TIMER_COUNT_4096 = 0, /* 1/4096 s*/
+ RTC_TIMER_COUNT_64 = 1, /* 64 DEFAULT ,1/64 s*/
+ RTC_TIMER_COUNT_1 = 2, /* 1 ,s*/
+ RTC_TIMER_COUNT_1_60 = 3, /* 1/60 ,min*/
+
+ RTC_TIMER_COUNT_MAX
+}T_ZDrvRtc_TimerUnit;
+
+typedef struct _T_ZDrvRtc_Timer
+{
+ UINT8 iCount;
+ T_ZDrvRtc_TimerUnit unit;
+}T_ZDrvRtc_Timer;
+
+
+/*for appstart.c*/
+
+typedef enum
+{
+ RTC_12_HOUR_MODE,
+ RTC_24_HOUR_MODE,
+
+ MAX_RTC_HOUR_MODE
+} T_ZDrvRtc_HourMode;
+
+#endif
+
+/****************************************************************************
+* Types
+****************************************************************************/
+
+/****************************************************************************
+* Constants
+****************************************************************************/
+
+/****************************************************************************
+* Global Variables
+****************************************************************************/
+
+/****************************************************************************
+* Function Prototypes
+****************************************************************************/
+
+#endif/*_DRVS_PMIC_RTC_H*/
+