12aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland/**************************************************************************** 22aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland **************************************************************************** 32aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland *** 42aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland *** This header was automatically generated from a Linux kernel header 52aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland *** of the same name, to make information necessary for userspace to 62aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland *** call into the kernel available to libc. It contains only constants, 72aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland *** structures, and macros generated from the original header, and thus, 82aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland *** contains no copyrightable information. 92aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland *** 102aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland **************************************************************************** 112aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland ****************************************************************************/ 122aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#ifndef __LINUX_MSM_AUDIO_H 132aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define __LINUX_MSM_AUDIO_H 142aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 152aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#include <linux/types.h> 162aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#include <linux/ioctl.h> 172aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#include <asm/sizes.h> 182aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 192aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_IOCTL_MAGIC 'a' 202aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 212aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_START _IOW(AUDIO_IOCTL_MAGIC, 0, unsigned) 222aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_STOP _IOW(AUDIO_IOCTL_MAGIC, 1, unsigned) 232aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_FLUSH _IOW(AUDIO_IOCTL_MAGIC, 2, unsigned) 242aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_GET_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 3, unsigned) 252aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 4, unsigned) 262aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_GET_STATS _IOR(AUDIO_IOCTL_MAGIC, 5, unsigned) 272aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_ENABLE_AUDPP _IOW(AUDIO_IOCTL_MAGIC, 6, unsigned) 282aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_ADRC _IOW(AUDIO_IOCTL_MAGIC, 7, unsigned) 292aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_EQ _IOW(AUDIO_IOCTL_MAGIC, 8, unsigned) 302aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_RX_IIR _IOW(AUDIO_IOCTL_MAGIC, 9, unsigned) 312aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_VOLUME _IOW(AUDIO_IOCTL_MAGIC, 10, unsigned) 322aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_ENABLE_AUDPRE _IOW(AUDIO_IOCTL_MAGIC, 11, unsigned) 332aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_AGC _IOW(AUDIO_IOCTL_MAGIC, 12, unsigned) 342aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_NS _IOW(AUDIO_IOCTL_MAGIC, 13, unsigned) 352aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_TX_IIR _IOW(AUDIO_IOCTL_MAGIC, 14, unsigned) 362aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_AAC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 15, unsigned) 372aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_WAIT_ADSP_DONE _IOR(AUDIO_IOCTL_MAGIC, 16, unsigned) 382aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_ADSP_PAUSE _IOR(AUDIO_IOCTL_MAGIC, 17, unsigned) 392aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_ADSP_RESUME _IOR(AUDIO_IOCTL_MAGIC, 18, unsigned) 402aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_PLAY_DTMF _IOW(AUDIO_IOCTL_MAGIC, 19, unsigned) 412aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_GET_AAC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 20, unsigned) 422aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_GET_AMRNB_ENC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 21, unsigned) 432aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_AMRNB_ENC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 22, unsigned) 442aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_GET_PCM_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 30, unsigned) 452aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_PCM_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 31, unsigned) 462aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SWITCH_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 32, unsigned) 472aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_SET_MUTE _IOW(AUDIO_IOCTL_MAGIC, 33, unsigned) 482aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_UPDATE_ACDB _IOW(AUDIO_IOCTL_MAGIC, 34, unsigned) 492aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_START_VOICE _IOW(AUDIO_IOCTL_MAGIC, 35, unsigned) 502aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define AUDIO_STOP_VOICE _IOW(AUDIO_IOCTL_MAGIC, 36, unsigned) 512aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 522aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetlandstruct msm_audio_config { 532aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t buffer_size; 542aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t buffer_count; 552aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t channel_count; 562aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t sample_rate; 572aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t type; 582aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t unused[3]; 592aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland}; 602aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 612aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetlandstruct msm_audio_stats { 622aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t byte_count; 632aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t sample_count; 642aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t unused[2]; 652aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland}; 662aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 672aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_IOCTL_MAGIC 's' 682aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 692aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_MUTE_UNMUTED 0 702aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_MUTE_MUTED 1 712aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 722aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetlandstruct msm_snd_device_config { 732aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t device; 742aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t ear_mute; 752aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t mic_mute; 762aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland}; 772aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 782aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_SET_DEVICE _IOW(SND_IOCTL_MAGIC, 2, struct msm_device_config *) 792aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 802aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_METHOD_VOICE 0 812aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 822aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetlandstruct msm_snd_volume_config { 832aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t device; 842aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t method; 852aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland uint32_t volume; 862aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland}; 872aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 882aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_SET_VOLUME _IOW(SND_IOCTL_MAGIC, 3, struct msm_snd_volume_config *) 892aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 902aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_GET_NUM_ENDPOINTS _IOR(SND_IOCTL_MAGIC, 4, unsigned *) 912aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 922aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetlandstruct msm_snd_endpoint { 932aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland int id; 942aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland char name[64]; 952aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland}; 962aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 972aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#define SND_GET_ENDPOINT _IOWR(SND_IOCTL_MAGIC, 5, struct msm_snd_endpoint *) 982aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland 992aec439308494aa1607e7c1bb32e99863fe32dc6Brian Swetland#endif 100