[Feature][ZXW-179]merge P52U02 version
Only Configure: No
Affected branch: master
Affected module: unknow
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No
Change-Id: I4fa8f86757e71388ae88400914dae8b50cd00338
diff --git a/cp/ps/driver/inc/misc/drvs_voiceprocess.h b/cp/ps/driver/inc/misc/drvs_voiceprocess.h
index a5ab9f4..570a460 100755
--- a/cp/ps/driver/inc/misc/drvs_voiceprocess.h
+++ b/cp/ps/driver/inc/misc/drvs_voiceprocess.h
@@ -184,6 +184,41 @@
UINT32 sampfs;
} T_HalAudioLoopTestPra;
+
+#ifdef ECALL_SUPPORT
+typedef enum
+{
+ ECALL_ST_INIT = 0,
+ ECALL_ST_OPEN,
+ ECALL_ST_START,
+ ECALL_ST_IDLE,
+ ECALL_ST_RX_IDLE,
+ ECALL_ST_TX_IDLE,
+ ECALL_ST_INUSE,
+ ECALL_ST_RX_INUSE,
+ ECALL_ST_TX_INUSE,
+ ECALL_ST_STOP,
+ ECALL_ST_CLOSE,
+ ECALL_ST_MAX
+} T_Ecall_State;
+
+
+typedef struct
+{
+ T_DrvEcall_Opt opt;
+ ZOSS_TIMER_ID timerId ;
+ ZOSS_SEMAPHORE_ID wrSemaphore;
+ ZOSS_SEMAPHORE_ID rdSemaphore;
+ T_Ecall_State ecallSta;
+ T_Ecall_State ecallRxSta;
+ T_Ecall_State ecallTxSta;
+ unsigned char* rxDataBuf;
+ unsigned char* txDataBuf;
+ int dataBufSize;
+
+} T_Hal_EcallData;
+#endif
+
typedef struct
{
//use for vp data process
@@ -248,6 +283,9 @@
BOOL vpLoopBkRunning;//23
BOOL rxMuteEn; //24
BOOL firstRegZCATFlag; //25
+#ifdef ECALL_SUPPORT
+ T_Hal_EcallData ecallData;//26
+#endif
} T_zDrvVoice_GbVar; //T_zDrvVoice_GbVar
typedef struct
diff --git a/cp/ps/driver/inc/misc/drvs_volte.h b/cp/ps/driver/inc/misc/drvs_volte.h
index fd31c2d..980e0e3 100755
--- a/cp/ps/driver/inc/misc/drvs_volte.h
+++ b/cp/ps/driver/inc/misc/drvs_volte.h
@@ -60,6 +60,17 @@
} T_DrvVoice_3G_Opt;
+#ifdef ECALL_SUPPORT
+ typedef struct
+ {
+
+ SINT32 (*drv_Get_Ecall_State)(VOID);
+ SINT32 (*drv_Ecall_Read)(UINT8 *pBuf,UINT32 *inSize);
+ SINT32 (*drv_Ecall_Write)(UINT8 *pBuf,UINT32 inSize);
+
+ } T_DrvEcall_Opt;
+#endif
+
typedef struct
{
void (*drv_dtmfrx_report_cb)(char *dtmf_string, unsigned char string_len);
@@ -82,5 +93,8 @@
SINT32 zDrvVolte_AmrDecoder(UINT8 *pInputBuf,UINT32 inSize,UINT8 *pOutputBuf,UINT32* pPutSize);
VOID zDrvVolte_AmrEncoderDeinit(VOID);
VOID zDrvVolte_AmrDecoderDeinit(VOID);
+#ifdef ECALL_SUPPORT
+VOID zDrvEcall_SetCallbacks(T_DrvEcall_Opt ecallObj);
+#endif
#endif