[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/cp/ps/driver/inc/misc/drvs_lpm.h b/cp/ps/driver/inc/misc/drvs_lpm.h
new file mode 100644
index 0000000..8ae3555
--- /dev/null
+++ b/cp/ps/driver/inc/misc/drvs_lpm.h
@@ -0,0 +1,206 @@
+/*******************************************************************************

+ * Copyright by ZTE Corporation.

+ *

+ * File Name:    

+ * File Mark:    

+ * Description:  

+ * Others:        

+ * Version:       v0.1

+ * Author:        shideyou

+ * Date:          2013-6-29

+ * History 1:      

+ *     Date: 

+ *     Version:

+ *     Author: 

+ *     Modification:  

+ * History 2: 

+  ********************************************************************************/

+

+#ifndef _DRVS_LPM_H

+#define _DRVS_LPM_H

+

+

+/****************************************************************************

+* 	                                        Include files

+****************************************************************************/

+//#include "drvs_general.h"

+#include "drvs_dpram.h"

+

+

+/****************************************************************************

+* 	                                        Macros

+****************************************************************************/

+

+/****************************************************************************

+* 	                                        Types

+****************************************************************************/

+ typedef enum

+{

+	LPM_RAT_TD,

+	LPM_RAT_LTE,

+	LPM_RAT_W,

+	LPM_T4_RAT_TD,

+	LPM_T4_RAT_W,

+	LPM_T2_RAT_LTE,

+

+    MAX_LPM_RAT

+} T_ZDrvLpm_RAT;

+

+typedef struct

+{

+    UINT16 wWFrmCnt;               /*0~4095 Fn*/

+    UINT16 wWSlotCnt;              /*0~14 slot*/

+    UINT16 wWSymbolCnt;            /*0~9 symbol*/

+    UINT16 wWChipCnt;              /*0~255 chip*/

+}T_WLpmTime;

+

+typedef struct

+{

+    UINT16 wTdFrmCnt;               /*0~8191 Fn*/

+    UINT16 wTdChipCnt;              /*0~6400 chip*/

+}T_TdLpmTime;

+

+typedef struct

+{

+    UINT16 wLteSuperFrmCnt;

+    UINT16 wLteFrmCnt;

+    UINT16 wLteSubFrmCnt;

+}T_LteLpmTime;

+

+

+typedef VOID (*T_ZDrvLpm_CallbackFunction)(VOID);   //used for LTE

+

+/****************************************************************************

+* 	                                        Constants

+****************************************************************************/

+

+/****************************************************************************

+* 	                                        Global  Variables

+****************************************************************************/

+

+/****************************************************************************

+* 	                                        Function Prototypes

+****************************************************************************/

+/*******************************************************************************

+ * Function: zDrvLpm_RegCallbackForLTE

+ * Description: regist callback function for LTE_lpm interrupt

+ * Parameters: 

+ *   Input:

+ *		callback: function be register

+ *   Output:

+ *		None

+ * Returns: 

+ *		DRV_ERROR:interrupt install failed

+ *              Drv_SUCCESS:successful!

+ *

+ * Others: 

+ ********************************************************************************/

+SINT32 zDrvLpm_RegCallbackForLTE(T_ZDrvLpm_CallbackFunction callback);

+

+/*******************************************************************************

+ * Function: zDrvLpm_RegCallbackForTD

+ * Description: regist callback function for TD_lpm interrupt

+ * Parameters: 

+ *   Input:

+ *		callback: function be register

+ *   Output:

+ *		None

+ * Returns: 

+ *		DRV_ERROR:interrupt install failed

+ *              Drv_SUCCESS:successful!

+ *

+ * Others: 

+ ********************************************************************************/

+ SINT32 zDrvLpm_RegCallbackForTD(T_ZDrvLpm_CallbackFunction callback);

+

+ /*******************************************************************************

+ * Function: zDrvLpm_RegCallbackForW

+ * Description: regist callback function for W_lpm interrupt

+ * Parameters: 

+ *   Input:

+ *		callback: function be register

+ *   Output:

+ *		None

+ * Returns: 

+ *		DRV_ERROR:interrupt install failed

+ *              Drv_SUCCESS:successful!

+ *

+ * Others: 

+ ********************************************************************************/

+ SINT32 zDrvLpm_RegCallbackForW(T_ZDrvLpm_CallbackFunction callback);

+/*******************************************************************************

+ * Function: zDrvLpm_IrqEnable

+ * Description: enable interrupt of lpm

+ * Parameters: 

+ *   Input:

+ *		rat: TD/W/LTE

+ *   Output:

+ *		None

+ * Returns: 

+ *		None

+ *

+ * Others: 

+ ********************************************************************************/

+VOID zDrvLpm_IrqEnable(T_ZDrvLpm_RAT rat);

+

+/*******************************************************************************

+ * Function: zDrvLpm_IrqDisable

+ * Description: disable interrupt of lpm

+ * Parameters: 

+ *   Input:

+ *		rat: TD/W/LTE

+ *   Output:

+ *		None

+ * Returns: 

+ *		None

+ *

+ * Others: 

+ ********************************************************************************/

+VOID zDrvLpm_IrqDisable(T_ZDrvLpm_RAT rat);

+

+/**************************************************************************

+* º¯ÊýÃû³Æ£º lpm_WDpramSfnIsValid

+* ¹¦ÄÜÃèÊö£º »ñÈ¡WDpramÄÚÖ¡ºÅÐÅÏ¢ÊÇ·ñÓÐЧ

+* ²ÎÊý˵Ã÷£º 

+* ·µ »Ø Öµ	 £ºTRUE ÓÐЧ£» FALSE ÎÞЧ

+* ÆäËü˵Ã÷£º

+**************************************************************************/

+BOOL  zDrvLpm_WDpramSfnIsValid(void);

+

+/**************************************************************************

+* º¯ÊýÃû³Æ£º Lpm_GetWCfnSfn

+* ¹¦ÄÜÃèÊö£º PS»ñÈ¡WÖ¡ºÅµ÷¶ÈÐÅÏ¢

+* ²ÎÊý˵Ã÷£º 

+* ·µ »Ø Öµ	 £º

+* ÆäËü˵Ã÷£º

+**************************************************************************/

+VOID  zDrvLpm_GetWCfnSfn(T_ZDrvDpram_CfnSfnForW*  ptCfnSfn);

+/**************************************************************************

+* º¯ÊýÃû³Æ£º zDrvLpm_GetSfn_Lte

+* ¹¦ÄÜÃèÊö£º PS»ñÈ¡LTEÖ¡ºÅÐÅÏ¢

+* ²ÎÊý˵Ã÷£º 

+* ·µ »Ø Öµ	 £º

+* ÆäËü˵Ã÷£º

+**************************************************************************/

+UINT32 zDrvLpm_GetSfn_Lte(VOID);

+

+/**************************************************************************

+* º¯ÊýÃû³Æ£º zDrvLpm_TdDpramSfnIsValid

+* ¹¦ÄÜÃèÊö£º »ñÈ¡TdDpramÄÚÖ¡ºÅÐÅÏ¢ÊÇ·ñÓÐЧ

+* ²ÎÊý˵Ã÷£º

+* ·µ »Ø Öµ   £ºTRUE ÓÐЧ£» FALSE ÎÞЧ

+* ÆäËü˵Ã÷£º

+**************************************************************************/

+BOOL  zDrvLpm_TdDpramSfnIsValid(void);

+

+/**************************************************************************

+* º¯ÊýÃû³Æ£º zDrvLpm_GetTdCfnSfn

+* ¹¦ÄÜÃèÊö£º PS»ñÈ¡TDÖ¡ºÅµ÷¶ÈÐÅÏ¢

+* ²ÎÊý˵Ã÷£º

+* ·µ »Ø Öµ   £ºTD NT ×ÓÖ¡ºÅ\Cfn

+* ÆäËü˵Ã÷£º

+**************************************************************************/

+VOID  zDrvLpm_GetTdCfnSfn(T_ZDrvDpram_CfnSfn*  ptTdCfnSfn);

+

+#endif/*_FILENAME_H*/

+