/*------------------------------------------------------------ | |
(C) Copyright [2006-2008] Marvell International Ltd. | |
All Rights Reserved | |
------------------------------------------------------------*/ | |
/*-------------------------------------------------------------------------------------------------------------------- | |
INTEL CONFIDENTIAL | |
Copyright 2006 Intel Corporation All Rights Reserved. | |
The source code contained or described herein and all documents related to the source code ("Material") are owned | |
by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or | |
its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of | |
Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and | |
treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, | |
transmitted, distributed, or disclosed in any way without Intel's prior express written permission. | |
No license under any patent, copyright, trade secret or other intellectual property right is granted to or | |
conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, | |
estoppel or otherwise. Any license under such intellectual property rights must be express and approved by | |
Intel in writing. | |
-------------------------------------------------------------------------------------------------------------------*/ | |
/********************************************************************** | |
* | |
* Filename: AuC.h | |
* | |
* Programmers: Tal Rotbart | |
* | |
* Description: Declarations of Common AuC services and variables | |
* | |
* -------------------------------------------------------------------- | |
* Revision History | |
* | |
* Date Who Version Description | |
* -------------------------------------------------------------------- | |
* | |
**********************************************************************/ | |
#ifndef AUC_H | |
#define AUC_H | |
#if 0 | |
#define MAX_VOLUME_VALUE (0x31) | |
#define MUTE_ON (0x0) | |
#define MUTE_OFF (0x1) | |
#endif | |
//ICAT EXPORTED ENUM | |
typedef enum { | |
NON_INITIALIZED // 0 | |
, VOICE_IDLE // 1 | |
, WAIT_FOR_CSDI_START // 2 | |
, WAIT_FOR_CSDI_START_AND_PCM_STREAM // 3 | |
, WBCDMA_VOICE // 4 | |
, WBCDMA_VOICE_AND_PCM_STREAM // 5 | |
, VOICE_HAND_OVER // 6 | |
, VOICE_HAND_OVER_AND_PCM_STREAM // 7 | |
, WAIT_FOR_CSDI_STOP // 8 | |
, WAIT_FOR_CSDI_STOP_AND_PCM_STREAM // 9 | |
, GSM_VOICE // 10 | |
, GSM_VOICE_AND_PCM_STREAM // 11 | |
, PCM_STREAM_ONLY // 12 | |
, VOCODER_STREAM // 13 | |
, VOCODER_STREAM_AND_PCM_STREAM // 14 | |
#ifdef SS_VT | |
//New state for VT(H.223 in CP side) | |
, VT_H223_VOICE | |
#endif | |
} Audio_Ctrl_State; | |
typedef enum { | |
TRI_STATE = 0, | |
ACTIVE | |
}TriStateMode; | |
// Opcodes: | |
enum AudioCtrlCmd { | |
START_VOICE_PATH = 0x0040 | |
, END_VOICE_PATH = 0x0041 | |
, VOICE_HANDOVER = 0x0042 | |
, VOICE_RX_PACKET = 0x0043 | |
, AUDIOTOOL_CONTROL = 0x0044 | |
, CODEC_IF_CHANGE = 0x0045 | |
, VOICE_TEST_CONTROL = 0x0046 | |
, PCM_STREAM_CONTROL = 0x0047 | |
, VOICE_ACTIVATE_PATH = 0x0048 | |
, SELF_INVOCATION = 0x0049 | |
, CONFIG_CODEC_DB = 0x004c | |
, AUDIO_DEVICE_CONTROL = 0x004d | |
, AUDIO_PLL_CONTROL = 0x004E | |
, AUDIO_MISCELLANEOUS_FUNC = 0x004F | |
#ifdef OPT_IPC | |
, AUDIO_IPC_CONTROL = 0x0050 | |
, INIT_IPC_CONTROL = 0x0051 | |
#endif | |
, COMPANDER_CONTROL_CMD = 0x0052 | |
, VAD_DUMP_CMD = 0x0053 | |
, COMPANDER_MODE_CMD = 0x0054 | |
//,POCVOICE_RX_PCM = 0x0055 // Opcode : 0x55 CP send Rx PCM to MSA | |
, KWS_CONTROL = 0x0055 // | |
, VOICE_RXB_PCM = 0x005b | |
, VOCODER_CONTROL = 0x0060 | |
, VOICE_CONTROL = 0x0061 | |
, VOLUME_CONTROL = 0x0062 | |
, MUTE_CONTROL = 0x0063 | |
, NS_CONTROL = 0x0064 | |
, EC_CONTROL = 0x0065 | |
, EQ_CONTROL = 0x0066 | |
, AVC_CONTROL = 0x0067 | |
, DTMF_CONTROL = 0x0068 | |
, AUX_MODE_CONTROL = 0x0069 | |
, EC_TEST_CMD = 0x006a | |
, NS_TEST_CMD = 0x006b | |
, DMA_INT_IND = 0x006b | |
, AVC_TEST_CMD = 0x006c | |
, DITHER_GEN_CONTROL = 0x006d | |
, CTM_CONTROL = 0x006e | |
, EC_FIR_UPDATE_CMD = 0x006f //obsolete | |
/* | |
* Jackie, 2011-0107 | |
* For the MSA detection of far-end DTMF. | |
* We need to set control parameters into MSA | |
*/ | |
, DTMFDETECTION_CONTROL = 0x0070 | |
#if defined (SAMSUNG_NXP) | |
, SPEECH_PLUGIN_TX_OUTPUT_CMD = 0x0071 | |
, SPEECH_PLUGIN_CONTROL = 0x0072 | |
, SPEECH_PLUGIN_MODULE_CONTROL = 0x0073 | |
#endif | |
, FILTERS_CONTROL = 0x0074 // Opcode : 0x74 for HPF&LPF | |
#if defined (MSA_MISC_PARAMETERS) | |
, AUDIO_MISC_CONTROL = 0x0075 // Opcode : 0x75 for MISC ITEM new feature | |
#endif | |
////Samsung DiamondVoice | |
#if defined (SAMSUNG_TOTORO_DIAMONDVOICE) | |
, DIAMONDVOICE_OUTPCMDATA = 0x0076 // DSP send tx/rx PCM to CP audio, which will be sent to DiamondVoice to process. | |
#endif | |
, AUDIO_FM_MODE = 0x0076 | |
, AUDIO_DUALMIC_CONTROL = 0x0077 // Opcode : 0x77 set dual mic parameters | |
, AUDIO_ECALL_CONTROL = 0x0078 // Opcode : 0x78 set ECALL parameters | |
, AUDIO_GSSP_CONTROL = 0x0079 // Opcode : 0x79 turn on/off GSSP clock | |
, AUDIO_SSPA_CONTROL = 0x0079 // Opcode : 0x79 turn on/off GSSP clock | |
, AUDIO_GSSP_READ = 0x007a // Opcode : 0x7a read GSSP count | |
, AUDIO_TX_PCM = 0x007b // Opcode : 0x7b CP send Tx PCM into MSA | |
, HEADPHONE_TYPE_CHECK_WAIT_ACK = 0x007c | |
, AUDIO_CODECSET = 0x007d // Opcode : 0x7d CP send codec setting into MSA | |
, AUDIO_CODECGET = 0x007e // Opcode : 0x7e CP request codec setting from MSA | |
, AUDIO_VIBRATION_CONTROL = 0x007F | |
}; | |
enum AudioCtrlMsg { | |
VOICE_TX_PACKET = 0x0040 | |
, VOICE_DRIFT_REPORT = 0x0041 | |
, END_VOICE_ACK = 0x0042 | |
, PCM_STREAM_RECORD = 0x0043 | |
, GET_PCM_FRAME = 0x0044 | |
, VOICE_DECODER_ACK = 0x0045 | |
, VOICE_START_ACK = 0x0046 | |
, VOICE_PCM_ACK = 0x0047 | |
, VOICE_DEBUG_RX_PACKET = 0x0048 | |
, VOICE_DEBUG_PCM = 0x004A | |
, VOICE_CTM_NEGO_REPORT = 0x004B | |
//MSA will report detected DTMF code(in ASCII code) | |
, VOICE_GET_DTMF = 0x004C | |
#if defined (SAMSUNG_NXP) | |
, VOICE_RESERVED = 0x004D | |
#endif | |
, VOICE_MISC_REPORT = 0x004E | |
, VOICE_CODEC_REPORT = 0x004F | |
#ifdef OPT_IPC | |
, AUDIO_IPC_REPORT = 0x0050 | |
#endif | |
#if defined (MSA_MISC_PARAMETERS) | |
, AUDIO_MISC_REPORT = 0x52 // AUDIO_MISC_REPORT OpCode : 0x52 | |
#endif | |
////Samsung DiamondVoice | |
//#if defined (SAMSUNG_TOTORO_DIAMONDVOICE) | |
// ,DIAMONDVOICE_INPCMDATA = 0x0053 // DSP send tx/rx PCM to CP audio, which will be sent to DiamondVoice to process. | |
//#endif | |
, VAD_DUMP_MSG = 0x0053 | |
, COMPANDER_REPORT_MSG = 0x0054 | |
, WISE_VOICE_MSG = 0x0055 | |
, KWS_DETECT_MSG = 0x0056 | |
, ECALL_REPORT_MSG = 0x0077 | |
, AUDIO_GSSP_COUNT = 0x007a // Opcode : 0x7a got GSSP count | |
, AUDIO_RX_PCM = 0x007b // Opcode : 0x7b MSA send Rx PCM into CP | |
, HEADPHONE_EVENT_MSG = 0x007c // | |
}; | |
#if 0 | |
typedef enum { | |
ECALL_DATA_SET = 0, | |
ECALL_DATA_GET = 1, | |
ECALL_VOICE_SET = 2, | |
ECALL_VOICE_GET = 3, | |
ECALL_TEST_CONTROL = 4, | |
ECALL_TEST_DATA_CONTROL = 5, | |
ECALL_CONNECTED = 6 | |
}EcallIpcCmdSubOpEnum; | |
typedef enum { | |
ECALL_DATA_INDICATION = 0, | |
ECALL_DATA_GET_MSG = 1, | |
ECALL_VOICE_INDICATION = 2, | |
ECALL_VOICE_GET_MSG = 3, | |
ECALL_TEST_DATA_ACK = 4, | |
ECALL_TEST_TX_BUFFER_END = 5, | |
ECALL_TEST_RX_CTRL = 6, | |
ECALL_DEBUG = 7 | |
}EcallIpcMsgSubOpEnum; | |
//ICAT EXPORTED ENUM | |
typedef enum { | |
ECALL_CMD_EIM_ABORT_TERMINATED = 0, | |
ECALL_CMD_EIM_ARM_ACTIVATE = 1, | |
ECALL_CMD_UPDATE_MSD = 2, | |
ECALL_CMD_URC_CONTROL = 3, | |
ECALL_CMD_FEATURE_CONTROL = 4, | |
ECALL_CMD_TIMERS_UPDATE = 5, | |
ECALL_CMD_MSD_UPDATE_CONFIG = 6, | |
ECALL_CMD_RESERVED_3 = 7, | |
ECALL_CMD_NUM_OPCODES | |
} EcallUecallDataCmdIdEnum; | |
#endif | |
enum VolumeSide { | |
TX_VOLUME | |
, RX_VOLUME | |
, SIDETONE_VOLUME | |
}; | |
enum MuteSide { | |
TX_MUTE, | |
RX_MUTE | |
}; | |
enum VoiceHandOver { | |
VOICE_RESUME, | |
VOICE_SUSPEND | |
}; | |
#if 0 | |
typedef enum { | |
AMRInitFunc, | |
EnableHwPathCodecFunc, | |
DisableHwPathCodecFunc, | |
EnableHwPathBTFunc, | |
DisableHwPathBTFunc | |
}CalledFunctionT; | |
void AudioTriStateControl(CalledFunctionT CalledFunction); | |
/* | |
Frame Type AMRcodec Total Class A Class B Class C | |
0 4,75 95 42 53 0 | |
1 5,15 103 49 54 0 | |
2 5,90 118 55 63 0 | |
3 6,70 134 58 76 0 | |
4 7,40 148 61 87 0 | |
5 7,95 159 75 84 0 | |
6 10,2 204 65 99 40 | |
7 12,2 244 81 103 60 */ | |
#define CLASS_A_OCTETS_4_75 6 | |
#define CLASS_B_OCTETS_4_75 7 | |
#define CLASS_C_OCTETS_4_75 0 | |
#define CLASS_A_OCTETS_5_15 7 | |
#define CLASS_B_OCTETS_5_15 7 | |
#define CLASS_C_OCTETS_5_15 0 | |
#define CLASS_A_OCTETS_5_90 7 | |
#define CLASS_B_OCTETS_5_90 8 | |
#define CLASS_C_OCTETS_5_90 0 | |
#define CLASS_A_OCTETS_6_70 8 | |
#define CLASS_B_OCTETS_6_70 10 | |
#define CLASS_C_OCTETS_6_70 0 | |
#define CLASS_A_OCTETS_7_40 8 | |
#define CLASS_B_OCTETS_7_40 11 | |
#define CLASS_C_OCTETS_7_40 0 | |
#define CLASS_A_OCTETS_7_95 10 | |
#define CLASS_B_OCTETS_7_95 11 | |
#define CLASS_C_OCTETS_7_95 0 | |
#define CLASS_A_OCTETS_10_2 9 | |
#define CLASS_B_OCTETS_10_2 13 | |
#define CLASS_C_OCTETS_10_2 5 | |
#define CLASS_A_OCTETS_12_2 11 | |
#define CLASS_B_OCTETS_12_2 13 | |
#define CLASS_C_OCTETS_12_2 8 | |
#define MAX_CLASS_A_OCTETS 11 | |
#define MAX_CLASS_B_OCTETS 13 | |
#define MAX_CLASS_C_OCTETS 8 | |
#endif | |
#endif // AUC_H |