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