1#ifndef __MSM_AUDIO_ACDB_H
2#define __MSM_AUDIO_ACDB_H
3
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)
32#define AUDIO_SET_ADM_RX_TOPOLOGY	_IOW(AUDIO_IOCTL_MAGIC, \
33			(AUDIO_MAX_COMMON_IOCTL_NUM+13), unsigned)
34#define AUDIO_SET_ADM_TX_TOPOLOGY	_IOW(AUDIO_IOCTL_MAGIC, \
35			(AUDIO_MAX_COMMON_IOCTL_NUM+14), unsigned)
36#define AUDIO_SET_ASM_TOPOLOGY	_IOW(AUDIO_IOCTL_MAGIC, \
37			(AUDIO_MAX_COMMON_IOCTL_NUM+15), unsigned)
38#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)
42
43
44#define	AUDIO_MAX_ACDB_IOCTL	(AUDIO_MAX_COMMON_IOCTL_NUM+30)
45
46/* ACDB structures */
47struct cal_block {
48	uint32_t	cal_size;	/* Size of Cal Data */
49	uint32_t	cal_offset;	/* offset pointer to Cal Data */
50};
51
52struct sidetone_cal {
53	uint16_t	enable;
54	uint16_t	gain;
55};
56
57/* For Real-Time Audio Calibration */
58#define AUDIO_GET_RTAC_ADM_INFO		_IOR(AUDIO_IOCTL_MAGIC, \
59			(AUDIO_MAX_ACDB_IOCTL+1), unsigned)
60#define AUDIO_GET_RTAC_VOICE_INFO	_IOR(AUDIO_IOCTL_MAGIC, \
61			(AUDIO_MAX_ACDB_IOCTL+2), unsigned)
62#define AUDIO_GET_RTAC_ADM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
63			(AUDIO_MAX_ACDB_IOCTL+3), unsigned)
64#define AUDIO_SET_RTAC_ADM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
65			(AUDIO_MAX_ACDB_IOCTL+4), unsigned)
66#define AUDIO_GET_RTAC_ASM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
67			(AUDIO_MAX_ACDB_IOCTL+5), unsigned)
68#define AUDIO_SET_RTAC_ASM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
69			(AUDIO_MAX_ACDB_IOCTL+6), unsigned)
70#define AUDIO_GET_RTAC_CVS_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
71			(AUDIO_MAX_ACDB_IOCTL+7), unsigned)
72#define AUDIO_SET_RTAC_CVS_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
73			(AUDIO_MAX_ACDB_IOCTL+8), unsigned)
74#define AUDIO_GET_RTAC_CVP_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
75			(AUDIO_MAX_ACDB_IOCTL+9), unsigned)
76#define AUDIO_SET_RTAC_CVP_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
77			(AUDIO_MAX_ACDB_IOCTL+10), unsigned)
78
79#define	AUDIO_MAX_RTAC_IOCTL	(AUDIO_MAX_ACDB_IOCTL+20)
80
81#endif /* __MSM_AUDIO_ACDB_H */
82