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*/

+