zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/cp/ps/driver/inc/misc/drvs_voice_config.h b/cp/ps/driver/inc/misc/drvs_voice_config.h
new file mode 100644
index 0000000..c89013f
--- /dev/null
+++ b/cp/ps/driver/inc/misc/drvs_voice_config.h
@@ -0,0 +1,87 @@
+/*******************************************************************************

+ * Copyright (C) 2007, ZTE Corporation.

+ *

+ * File Name:    Drvs_voice_config.h

+ * File Mark:

+ * Description:  Provide the interface for the voice config of refdrv

+ * Others:

+ * Version:       V0.5

+ * Author:        xuxinqiang

+ * Date:          2014-06-04

+ * History 1:

+ *     Date:

+ *     Version:

+ *     Author:

+ *     Modification:

+ * History 2:

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

+#ifndef _DRVS_VPCFG_H

+#define _DRVS_VPCFG_H

+

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

+  *                                  Include files                                                                         *

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

+

+#include "drvs_voiceprocess.h"

+#include "drvs_i2s.h"

+#include "drvs_codec.h"

+#include "drvs_tdm.h"

+

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

+ *                                  Types                                                                                   *

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

+

+

+//the size of each buffer should >=0.5MB

+typedef struct _T_ZDrv_VpInOutBuffer

+{

+	UINT8* p_voiceRxInBuffer ;/*the  pcm data in the s_voiceRxInBuffer,receive   from  far-end. */

+	UINT8* p_voiceTxInBuffer ;/*  the  pcm data in the s_voiceTxInBuffer, receiver from codec.*/

+	UINT8* p_voiceRxOutPutBuffer;/*  the  pcm data in the s_voiceRxOutPutBuffe, will send to codec.*/

+	UINT8* p_voiceTxOutPutBuffer;/*  the  pcm data in the s_voiceTxOutBuffer, will send to near end.*/

+

+}T_ZDrv_VpInOutBuffer;

+

+

+typedef struct 

+{ 

+    SINT32 (*hal_VpCfg_OpenBegin_obsolete)(VOID); 

+    SINT32 (*hal_VpCfg_OpenEnd_obsolete)(VOID);             

+    SINT32 (*hal_VpCfg_Close_obsolete)(VOID); 

+    SINT32 (*hal_VpCfg_Open)(T_ZDrvVp_SourceType srctype); 

+    SINT32 (*hal_VpCfg_Close)(VOID);             

+    SINT32 (*hal_VpCfg_Enable)(VOID);              

+    SINT32 (*hal_VpCfg_Disable)(VOID);  

+    SINT32 (*hal_VpCfg_SetFs)(T_ZDrv_VpFs fs);

+    SINT32 (*hal_VpCfg_SetInputPath)(T_ZDrv_VpPath path,BOOL enable);  

+    SINT32 (*hal_VpCfg_SetOutputPath)(T_ZDrv_VpPath path,BOOL enable); 

+    SINT32 (*hal_VpCfg_SetMute)(T_ZDrv_VpPath path,BOOL mute);	

+    SINT32 (*hal_VpCfg_SetFmPath)(T_ZDrv_VpPath path,BOOL enable);	

+    SINT32 (*hal_VpCfg_SetLoopback)(BOOL enable);		

+    SINT32 (*hal_VpCfg_SetInputVol)(T_ZDrv_VpVol vol);  

+    SINT32 (*hal_VpCfg_SetOutputVol)(T_ZDrv_VpVol vol); 	

+    SINT32 (*hal_VpCfg_SetUseProtocol)(T_ZDrvCodec_UseProtocol useProtocol); 

+	SINT32 (*hal_VpCfg_GetMixerToneInfo)(T_ZDrvVp_ToneNum toneNum,T_HalMixerToneInfo *toneInfo);

+	SINT32 (*hal_VpCfg_GetAudioLoopInfo)(T_HalAudioLoopTestInfo *audioInfo); 

+	SINT32 (*hal_VpCfg_GetAudioLoopResult)(T_HalAudioLoopTestPra *audioPra);

+    SINT32 (*hal_VpCfg_SetInputMute)(BOOL mute);

+    SINT32 (*hal_VpCfg_SetOutputMute)(BOOL mute);

+

+} T_HalVpCfg_Opt;

+extern SINT32 zDrvVp_SetExtAudioCfg(T_ZDrvI2S_Cfg *pI2sNbCfg,T_ZDrvI2S_Cfg *pI2sWbCfg, 

+                                  T_ZDrvTdm_Cfg *pTdmNbCfg,T_ZDrvTdm_Cfg *pTdmWbCfg);

+//voice config

+extern SINT32 zDrvVp_SetI2sCfg(T_ZDrvI2S_Cfg *s_VpI2sCfg);//obsolete

+extern SINT32 zDrvVp_SetExtI2sCfg(T_ZDrvI2S_Cfg *pI2sNbCfg,T_ZDrvI2S_Cfg *pI2sWbCfg);

+

+extern SINT32 zDrvVp_SetInOutBuffer(T_ZDrv_VpInOutBuffer *pInOutBuffer);	//obsolete

+extern SINT32 zDrvVp_SetInOutBufferAddSize(T_ZDrv_VpInOutBuffer *pInOutBuffer,UINT32  bufSize);	

+extern VOID zDrvVpCfg_SetOperations(T_HalVpCfg_Opt* VpCfg_ObjPtr);

+extern SINT32 zDrvVp_Init(VOID);

+

+extern SINT32 zDrvVoice_Initiate(VOID);

+extern SINT32 Aud_TaskInt_Init(VOID);

+

+//is usd for xinke 20150709 lvwenhua    value:0~100  step:1(0.25dB)

+extern SINT32 zDrvVp_SetInitGain(UINT8 value);

+#endif