blob: 3d159c48fdce5d94f6c09470fd8e2acf68745ecb [file] [log] [blame]
Ben Romberger12dce252013-01-04 15:23:07 -08001#ifndef _LINUX_MSM_AUDIO_ACDB_H
2#define _LINUX_MSM_AUDIO_ACDB_H
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07003
4#include <linux/msm_audio.h>
5
6#define AUDIO_SET_VOCPROC_CAL _IOW(AUDIO_IOCTL_MAGIC, \
7 (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned)
8#define AUDIO_SET_VOCPROC_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, \
9 (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned)
10#define AUDIO_SET_VOCPROC_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, \
11 (AUDIO_MAX_COMMON_IOCTL_NUM+2), unsigned)
12#define AUDIO_SET_AUDPROC_RX_CAL _IOW(AUDIO_IOCTL_MAGIC, \
13 (AUDIO_MAX_COMMON_IOCTL_NUM+3), unsigned)
14#define AUDIO_SET_AUDPROC_RX_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, \
15 (AUDIO_MAX_COMMON_IOCTL_NUM+4), unsigned)
16#define AUDIO_SET_AUDPROC_RX_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, \
17 (AUDIO_MAX_COMMON_IOCTL_NUM+5), unsigned)
18#define AUDIO_SET_AUDPROC_TX_CAL _IOW(AUDIO_IOCTL_MAGIC, \
19 (AUDIO_MAX_COMMON_IOCTL_NUM+6), unsigned)
20#define AUDIO_SET_AUDPROC_TX_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, \
21 (AUDIO_MAX_COMMON_IOCTL_NUM+7), unsigned)
22#define AUDIO_SET_AUDPROC_TX_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, \
23 (AUDIO_MAX_COMMON_IOCTL_NUM+8), unsigned)
24#define AUDIO_SET_SIDETONE_CAL _IOW(AUDIO_IOCTL_MAGIC, \
25 (AUDIO_MAX_COMMON_IOCTL_NUM+9), unsigned)
26#define AUDIO_SET_ANC_CAL _IOW(AUDIO_IOCTL_MAGIC, \
27 (AUDIO_MAX_COMMON_IOCTL_NUM+10), unsigned)
28#define AUDIO_SET_VOICE_RX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \
29 (AUDIO_MAX_COMMON_IOCTL_NUM+11), unsigned)
30#define AUDIO_SET_VOICE_TX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \
31 (AUDIO_MAX_COMMON_IOCTL_NUM+12), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070032#define AUDIO_SET_ADM_RX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070033 (AUDIO_MAX_COMMON_IOCTL_NUM+13), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070034#define AUDIO_SET_ADM_TX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070035 (AUDIO_MAX_COMMON_IOCTL_NUM+14), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070036#define AUDIO_SET_ASM_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \
37 (AUDIO_MAX_COMMON_IOCTL_NUM+15), unsigned)
Ben Rombergerb7603232011-11-23 17:16:27 -080038#define AUDIO_SET_AFE_TX_CAL _IOW(AUDIO_IOCTL_MAGIC, \
39 (AUDIO_MAX_COMMON_IOCTL_NUM+16), unsigned)
40#define AUDIO_SET_AFE_RX_CAL _IOW(AUDIO_IOCTL_MAGIC, \
41 (AUDIO_MAX_COMMON_IOCTL_NUM+17), unsigned)
Ben Romberger7bd45ac2012-10-09 19:35:48 -070042#define AUDIO_SET_VOCPROC_COL_CAL _IOW(AUDIO_IOCTL_MAGIC, \
43 (AUDIO_MAX_COMMON_IOCTL_NUM+18), unsigned)
44#define AUDIO_SET_VOCSTRM_COL_CAL _IOW(AUDIO_IOCTL_MAGIC, \
45 (AUDIO_MAX_COMMON_IOCTL_NUM+19), unsigned)
46#define AUDIO_SET_VOCVOL_COL_CAL _IOW(AUDIO_IOCTL_MAGIC, \
47 (AUDIO_MAX_COMMON_IOCTL_NUM+20), unsigned)
48#define AUDIO_SET_VOCPROC_DEV_CFG_CAL _IOW(AUDIO_IOCTL_MAGIC, \
49 (AUDIO_MAX_COMMON_IOCTL_NUM+21), unsigned)
Ben Romberger12dce252013-01-04 15:23:07 -080050#define AUDIO_SET_LSM_CAL _IOW(AUDIO_IOCTL_MAGIC, \
51 (AUDIO_MAX_COMMON_IOCTL_NUM+22), unsigned)
Ben Romberger39fae342013-02-19 12:12:44 -080052#define AUDIO_SET_ADM_CUSTOM_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \
53 (AUDIO_MAX_COMMON_IOCTL_NUM+23), unsigned)
54#define AUDIO_SET_ASM_CUSTOM_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \
55 (AUDIO_MAX_COMMON_IOCTL_NUM+24), unsigned)
Gopikrishnaiah Anandan7858d422012-12-17 14:52:27 -050056#define AUDIO_SET_SPEAKER_PROT _IOW(AUDIO_IOCTL_MAGIC, 25, \
57 struct msm_spk_prot_cfg)
58#define AUDIO_GET_SPEAKER_PROT _IOR(AUDIO_IOCTL_MAGIC, 26, \
59 struct msm_spk_prot_status)
Damir Didjusto77ff2fc2013-03-09 21:14:13 -080060#define AUDIO_SET_AANC_CAL _IOW(AUDIO_IOCTL_MAGIC, \
61 (AUDIO_MAX_COMMON_IOCTL_NUM+27), unsigned)
Ben Rombergerb7603232011-11-23 17:16:27 -080062#define AUDIO_MAX_ACDB_IOCTL (AUDIO_MAX_COMMON_IOCTL_NUM+30)
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070063
64/* ACDB structures */
65struct cal_block {
66 uint32_t cal_size; /* Size of Cal Data */
67 uint32_t cal_offset; /* offset pointer to Cal Data */
68};
69
70struct sidetone_cal {
71 uint16_t enable;
72 uint16_t gain;
73};
74
Gopikrishnaiah Anandan7858d422012-12-17 14:52:27 -050075struct msm_spk_prot_cfg {
76 int r0;
77 int t0;
78 uint32_t mode; /*0 - Start spk prot
79 1 - Start calib
80 2 - Disable spk prot*/
81};
82
83struct msm_spk_prot_status {
84 int r0;
85 int status;
86};
87
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070088/* For Real-Time Audio Calibration */
Ben Rombergerc49b85d2011-07-15 18:55:34 -070089#define AUDIO_GET_RTAC_ADM_INFO _IOR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -080090 (AUDIO_MAX_ACDB_IOCTL+1), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070091#define AUDIO_GET_RTAC_VOICE_INFO _IOR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -080092 (AUDIO_MAX_ACDB_IOCTL+2), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070093#define AUDIO_GET_RTAC_ADM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -080094 (AUDIO_MAX_ACDB_IOCTL+3), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070095#define AUDIO_SET_RTAC_ADM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -080096 (AUDIO_MAX_ACDB_IOCTL+4), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070097#define AUDIO_GET_RTAC_ASM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -080098 (AUDIO_MAX_ACDB_IOCTL+5), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -070099#define AUDIO_SET_RTAC_ASM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -0800100 (AUDIO_MAX_ACDB_IOCTL+6), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -0700101#define AUDIO_GET_RTAC_CVS_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -0800102 (AUDIO_MAX_ACDB_IOCTL+7), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -0700103#define AUDIO_SET_RTAC_CVS_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -0800104 (AUDIO_MAX_ACDB_IOCTL+8), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -0700105#define AUDIO_GET_RTAC_CVP_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -0800106 (AUDIO_MAX_ACDB_IOCTL+9), unsigned)
Ben Rombergerc49b85d2011-07-15 18:55:34 -0700107#define AUDIO_SET_RTAC_CVP_CAL _IOWR(AUDIO_IOCTL_MAGIC, \
Ben Rombergerb7603232011-11-23 17:16:27 -0800108 (AUDIO_MAX_ACDB_IOCTL+10), unsigned)
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700109
Ben Rombergerb7603232011-11-23 17:16:27 -0800110#define AUDIO_MAX_RTAC_IOCTL (AUDIO_MAX_ACDB_IOCTL+20)
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700111
Ben Romberger12dce252013-01-04 15:23:07 -0800112#endif /* _LINUX_MSM_AUDIO_ACDB_H */