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