[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