118 lines
2.4 KiB
C
118 lines
2.4 KiB
C
|
/* Copyright (c) 2009-2010, The Linux Foundation. All rights reserved.
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License version 2 and
|
||
|
* only version 2 as published by the Free Software Foundation.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*
|
||
|
*/
|
||
|
#ifndef _MACH_QDSP5_V2_VOICE_H
|
||
|
#define _MACH_QDSP5_V2_VOICE_H
|
||
|
|
||
|
#define VOICE_DALRPC_DEVICEID 0x02000075
|
||
|
#define VOICE_DALRPC_PORT_NAME "DAL00"
|
||
|
#define VOICE_DALRPC_CPU 0
|
||
|
|
||
|
|
||
|
/* Commands sent to Modem */
|
||
|
#define CMD_VOICE_INIT 0x1
|
||
|
#define CMD_ACQUIRE_DONE 0x2
|
||
|
#define CMD_RELEASE_DONE 0x3
|
||
|
#define CMD_DEVICE_INFO 0x4
|
||
|
#define CMD_DEVICE_CHANGE 0x6
|
||
|
|
||
|
/* EVENTS received from MODEM */
|
||
|
#define EVENT_ACQUIRE_START 0x51
|
||
|
#define EVENT_RELEASE_START 0x52
|
||
|
#define EVENT_CHANGE_START 0x54
|
||
|
#define EVENT_NETWORK_RECONFIG 0x53
|
||
|
|
||
|
/* voice state */
|
||
|
enum {
|
||
|
VOICE_INIT = 0,
|
||
|
VOICE_ACQUIRE,
|
||
|
VOICE_CHANGE,
|
||
|
VOICE_RELEASE,
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
NETWORK_CDMA = 0,
|
||
|
NETWORK_GSM,
|
||
|
NETWORK_WCDMA,
|
||
|
NETWORK_WCDMA_WB,
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
VOICE_DALRPC_CMD = DALDEVICE_FIRST_DEVICE_API_IDX
|
||
|
};
|
||
|
|
||
|
/* device state */
|
||
|
enum {
|
||
|
DEV_INIT = 0,
|
||
|
DEV_READY,
|
||
|
DEV_CHANGE,
|
||
|
DEV_CONCUR,
|
||
|
DEV_REL_DONE,
|
||
|
};
|
||
|
|
||
|
/* Voice Event */
|
||
|
enum{
|
||
|
VOICE_RELEASE_START = 1,
|
||
|
VOICE_CHANGE_START,
|
||
|
VOICE_ACQUIRE_START,
|
||
|
VOICE_NETWORK_RECONFIG,
|
||
|
};
|
||
|
|
||
|
/* Device Event */
|
||
|
#define DEV_CHANGE_READY 0x1
|
||
|
|
||
|
#define VOICE_CALL_START 0x1
|
||
|
#define VOICE_CALL_END 0
|
||
|
|
||
|
#define VOICE_DEV_ENABLED 0x1
|
||
|
#define VOICE_DEV_DISABLED 0
|
||
|
|
||
|
struct voice_header {
|
||
|
uint32_t id;
|
||
|
uint32_t data_len;
|
||
|
};
|
||
|
|
||
|
struct voice_init {
|
||
|
struct voice_header hdr;
|
||
|
void *cb_handle;
|
||
|
};
|
||
|
|
||
|
|
||
|
/* Device information payload structure */
|
||
|
struct voice_device {
|
||
|
struct voice_header hdr;
|
||
|
uint32_t rx_device;
|
||
|
uint32_t tx_device;
|
||
|
uint32_t rx_volume;
|
||
|
uint32_t rx_mute;
|
||
|
uint32_t tx_mute;
|
||
|
uint32_t rx_sample;
|
||
|
uint32_t tx_sample;
|
||
|
};
|
||
|
|
||
|
/*Voice command structure*/
|
||
|
struct voice_network {
|
||
|
struct voice_header hdr;
|
||
|
uint32_t network_info;
|
||
|
};
|
||
|
|
||
|
struct device_data {
|
||
|
uint32_t dev_acdb_id;
|
||
|
uint32_t volume; /* in percentage */
|
||
|
uint32_t mute;
|
||
|
uint32_t sample;
|
||
|
uint32_t enabled;
|
||
|
uint32_t dev_id;
|
||
|
};
|
||
|
|
||
|
#endif
|