243 lines
6.0 KiB
C
243 lines
6.0 KiB
C
/*
|
|
* All Rights Reserved
|
|
*
|
|
* MARVELL CONFIDENTIAL
|
|
* Copyright 2012 Marvell International Ltd All Rights Reserved.
|
|
* The source code contained or described herein and all documents related to
|
|
* the source code ("Material") are owned by Marvell International Ltd or its
|
|
* suppliers or licensors. Title to the Material remains with Marvell International Ltd
|
|
* or its suppliers and licensors. The Material contains trade secrets and
|
|
* proprietary and confidential information of Marvell 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 Marvell'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 Marvell in writing.
|
|
*
|
|
*/
|
|
|
|
#ifndef AUDIO_AT_COMMAND_H
|
|
#define AUDIO_AT_COMMAND_H
|
|
#include "gbl_types.h"
|
|
|
|
#define CMD_CODE_AUDIO 0x09
|
|
|
|
#define SUB_CMD_HANDSHAKE 0x00
|
|
#define SUB_CMD_VOLUME_CONTROL 0x01
|
|
#define SUB_CMD_MUTE_CONTROL 0x02
|
|
#define SUB_CMD_PATH_CONTROL 0x03
|
|
#define SUB_CMD_EQ_CONTROL 0x04
|
|
#define SUB_CMD_LOOPBACK_CONTROL 0x05
|
|
#define SUB_CMD_PCM_RECORDING_CONTROL 0x06
|
|
#define SUB_CMD_PCM_PLAYBACK_CONTROL 0x07
|
|
#define SUB_CMD_PCM_RECORDING_STREAM 0x08
|
|
#define SUB_CMD_PCM_PLAYBACK_STREAM 0x09
|
|
#define SUB_CMD_ECALL_CONTROL 0x0a
|
|
#define SUB_CMD_PCM_CONTROL 0x0b
|
|
#define SUB_CMD_DTMFDETECTION_CONTROL 0x0c
|
|
|
|
|
|
|
|
#define CMD_TYPE_EXECUTE 0x01 /*AP to CP: Request the action to CP*/
|
|
#define CMD_TYPE_RESPONSE 0x02 /*AP to CP: Response of the INDICATION*/
|
|
#define CMD_TYPE_CONFIRM 0x01 /*CP to AP: Response of the EXECUTE*/
|
|
#define CMD_TYPE_INDICATION 0x02 /*CP to AP: Request the action or send data to AP*/
|
|
|
|
#define ATC_COMMON_CFM_LEN_MSG_LEN 0x08
|
|
|
|
#define ATC_VERSION_NUM 0x12
|
|
|
|
//ICAT EXPORTED ENUM
|
|
typedef enum
|
|
{
|
|
ATC_DEFAULT = 0,
|
|
ATC_HANDSET,
|
|
ATC_HEADSET,
|
|
ATC_HANDSFREE,
|
|
ATC_BLUETOOTH,
|
|
ATC_STEREO_BT,
|
|
ATC_SPEAKERPHONE,
|
|
ATC_HEADPHONE,
|
|
ATC_BT_NREC_OFF,
|
|
ATC_BT_WB,
|
|
ATC_BT_NREC_OFF_WB,
|
|
ATC_HANDSET_DUALMIC,
|
|
ATC_HEADSET_DUALMIC,
|
|
ATC_HANDSFREE_DUALMIC,
|
|
ATC_HANDSET_EXTRAVOL_ON,
|
|
ATC_HANDSFREE_EXTRAVOL_ON,
|
|
ATC_HANDSET_DUALMIC_EXTRAVOL_ON,
|
|
ATC_HANDSFREE_DUALMIC_EXTRAVOL_ON,
|
|
|
|
ATC_TTY,
|
|
ATC_TTY_HCO,
|
|
ATC_TTY_VCO,
|
|
ATC_TTY_VCO_DUALMIC,
|
|
|
|
ATC_HANDSET_LOOP,
|
|
ATC_HEADSET_LOOP,
|
|
ATC_HANDSFREE_LOOP,
|
|
ATC_HEADPHONE_LOOP,
|
|
ATC_STEREO_BT_LOOP,
|
|
|
|
ATC_HANDSET_ENH_OFF,
|
|
ATC_HEADSET_ENH_OFF,
|
|
ATC_HANDSFREE_ENH_OFF,
|
|
ATC_HEADPHONE_ENH_OFF,
|
|
ATC_STEREO_BT_ENH_OFF,
|
|
|
|
ATC_FM,
|
|
|
|
ATC_PATH_NUM
|
|
} ATCPath;
|
|
|
|
typedef struct {
|
|
UINT8 cmd_code;
|
|
UINT8 sub_cmd;
|
|
UINT8 cmd_type;
|
|
UINT8 data_len; /*in byte*/
|
|
} ATCHeader;
|
|
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT32 status;
|
|
UINT32 confirm_id;
|
|
} ATCCommonCfmMsg;
|
|
|
|
/*0x00 Handshake Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT8 cp_pcm_mode;
|
|
UINT8 wb;
|
|
UINT8 SLIC_Connected; //0: no SLIC; 1: has SLIC
|
|
UINT8 rsvd[1];
|
|
UINT32 version_num;
|
|
UINT32 confirm_id;
|
|
} ATCHandshakeExecMsg;
|
|
|
|
typedef ATCHandshakeExecMsg ATCHandshakeCfmMsg;
|
|
|
|
/*0x01 Volume Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT8 direction;
|
|
UINT8 rsvd[3];
|
|
UINT32 gain;
|
|
UINT32 misc;
|
|
UINT32 confirm_id;
|
|
} ATCVolumeCtrlExecMsg;
|
|
|
|
/*0x02 Mute Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT8 direction;
|
|
UINT8 mute;
|
|
UINT8 rsvd[2];
|
|
UINT32 confirm_id;
|
|
} ATCMuteCtrlExecMsg;
|
|
|
|
/*0x03 Path Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT32 path;
|
|
UINT32 confirm_id;
|
|
} ATCPathCtrlExecMsg;
|
|
|
|
/*0x04 EQ Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT8 rsvd[2];
|
|
UINT16 dha_mode;
|
|
UINT32 dha_ch_flag;
|
|
UINT16 dha_hearing_level[12];
|
|
UINT32 confirm_id;
|
|
} ATCEQCtrlExecMsg;
|
|
|
|
/*0x05 Loopback Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT8 loopback_test_mode;
|
|
UINT8 rsvd[3];
|
|
UINT32 path;
|
|
UINT32 confirm_id;
|
|
} ATCLoopbackCtrlExecMsg;
|
|
|
|
/*0x06 PCM Recording Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT8 on_off;
|
|
UINT8 near_far_end;
|
|
UINT8 near_codec_or_vocoder;
|
|
UINT8 rsvd;
|
|
UINT32 callback;
|
|
UINT32 confirm_id;
|
|
} ATCPCMRecCtrlExecMsg;
|
|
|
|
/*0x07 PCM Playback Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT8 on_off;
|
|
UINT8 near_far_end;
|
|
UINT8 near_codec_or_vocoder;
|
|
UINT8 comb_with_call;
|
|
UINT32 callback;
|
|
UINT32 confirm_id;
|
|
} ATCPCMPlayCtrlExecMsg;
|
|
|
|
/*0x08 PCM Recording Stream Transmit Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT32 callback;
|
|
UINT32 confirm_id;
|
|
UINT32 pcm_data_len;
|
|
} ATCPCMRecStrmIndiMsg;
|
|
|
|
/*0x09 PCM Playback Stream Transmit Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT32 callback;
|
|
UINT32 confirm_id;
|
|
} ATCPCMPlayStrmIndiMsg;
|
|
|
|
/*0x0A Ecall Control Message */
|
|
typedef struct {
|
|
ATCHeader header;
|
|
char ecall_data[160];
|
|
unsigned long data_len;
|
|
UINT32 confirm_id;
|
|
} ATCEcallMsg;
|
|
|
|
/*0x0b PCM Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT16 on_off;
|
|
UINT16 rsvd;
|
|
UINT32 confirm_id;
|
|
} ATCPCMCtrlExecMsg;
|
|
|
|
/*0x0c DTMF detection Control Message*/
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT16 onoff;
|
|
UINT16 dialToneToOthersTones;
|
|
UINT16 dialTonesToOthersDialTones;
|
|
UINT16 dialVadDuration;
|
|
UINT32 confirm_id;
|
|
} ATCDTMFDetectionCtrlExecMsg;
|
|
|
|
typedef struct {
|
|
ATCHeader header;
|
|
UINT16 DTMFCode;
|
|
} ATCDTMFCodeMsg;
|
|
|
|
|
|
typedef ATCPCMRecStrmIndiMsg ATCPCMPlayStrmRspMsg;
|
|
|
|
#endif /*AUDIO_AT_COMMAND_H */
|
|
|