Home | History | Annotate | Download | only in linux
      1 #ifndef _UAPI_MSM_AUDIO_ACDB_H
      2 #define _UAPI_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 #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)
     50 #define AUDIO_SET_LSM_CAL		_IOW(AUDIO_IOCTL_MAGIC, \
     51 			(AUDIO_MAX_COMMON_IOCTL_NUM+22), unsigned)
     52 #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)
     56 #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)
     60 #define AUDIO_SET_AANC_CAL		_IOW(AUDIO_IOCTL_MAGIC, \
     61 			(AUDIO_MAX_COMMON_IOCTL_NUM+27), unsigned)
     62 #define AUDIO_REGISTER_VOCPROC_VOL_TABLE	_IOW(AUDIO_IOCTL_MAGIC, \
     63 			(AUDIO_MAX_COMMON_IOCTL_NUM+28), unsigned)
     64 #define AUDIO_DEREGISTER_VOCPROC_VOL_TABLE	_IOW(AUDIO_IOCTL_MAGIC, \
     65 			(AUDIO_MAX_COMMON_IOCTL_NUM+29), unsigned)
     66 #define AUDIO_SET_HW_DELAY_RX	_IOW(AUDIO_IOCTL_MAGIC, \
     67 			(AUDIO_MAX_COMMON_IOCTL_NUM+30), struct hw_delay)
     68 #define AUDIO_SET_HW_DELAY_TX	_IOW(AUDIO_IOCTL_MAGIC, \
     69 			(AUDIO_MAX_COMMON_IOCTL_NUM+31), struct hw_delay)
     70 
     71 #define AUDIO_LISTEN_SET_ULP_LSM_CAL		_IOW(AUDIO_IOCTL_MAGIC, \
     72 			(AUDIO_MAX_COMMON_IOCTL_NUM+32), void *)
     73 
     74 #define AUDIO_LISTEN_SET_ULP_AFE_CAL		_IOW(AUDIO_IOCTL_MAGIC, \
     75 			(AUDIO_MAX_COMMON_IOCTL_NUM+33), void *)
     76 #define	AUDIO_MAX_ACDB_IOCTL	(AUDIO_MAX_COMMON_IOCTL_NUM+40)
     77 
     78 /* ACDB structures */
     79 struct cal_block {
     80 	uint32_t	cal_size;	/* Size of Cal Data */
     81 	uint32_t	cal_offset;	/* offset pointer to Cal Data */
     82 };
     83 
     84 struct sidetone_cal {
     85 	uint16_t	enable;
     86 	uint16_t	gain;
     87 };
     88 
     89 enum msm_spkr_prot_states {
     90 	MSM_SPKR_PROT_CALIBRATED,
     91 	MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS,
     92 	MSM_SPKR_PROT_DISABLED,
     93 	MSM_SPKR_PROT_NOT_CALIBRATED
     94 };
     95 
     96 struct msm_spk_prot_cfg {
     97 	int r0;
     98 	int t0;
     99 	uint32_t mode; /*0 - Start spk prot
    100 	1 - Start calib
    101 	2 - Disable spk prot*/
    102 };
    103 
    104 struct msm_spk_prot_status {
    105 	int r0;
    106 	int status;
    107 };
    108 
    109 struct hw_delay {
    110 	uint32_t num_entries;
    111 	void *delay_info;
    112 };
    113 
    114 /* For Real-Time Audio Calibration */
    115 #define AUDIO_GET_RTAC_ADM_INFO		_IOR(AUDIO_IOCTL_MAGIC, \
    116 			(AUDIO_MAX_ACDB_IOCTL+1), unsigned)
    117 #define AUDIO_GET_RTAC_VOICE_INFO	_IOR(AUDIO_IOCTL_MAGIC, \
    118 			(AUDIO_MAX_ACDB_IOCTL+2), unsigned)
    119 #define AUDIO_GET_RTAC_ADM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    120 			(AUDIO_MAX_ACDB_IOCTL+3), unsigned)
    121 #define AUDIO_SET_RTAC_ADM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    122 			(AUDIO_MAX_ACDB_IOCTL+4), unsigned)
    123 #define AUDIO_GET_RTAC_ASM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    124 			(AUDIO_MAX_ACDB_IOCTL+5), unsigned)
    125 #define AUDIO_SET_RTAC_ASM_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    126 			(AUDIO_MAX_ACDB_IOCTL+6), unsigned)
    127 #define AUDIO_GET_RTAC_CVS_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    128 			(AUDIO_MAX_ACDB_IOCTL+7), unsigned)
    129 #define AUDIO_SET_RTAC_CVS_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    130 			(AUDIO_MAX_ACDB_IOCTL+8), unsigned)
    131 #define AUDIO_GET_RTAC_CVP_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    132 			(AUDIO_MAX_ACDB_IOCTL+9), unsigned)
    133 #define AUDIO_SET_RTAC_CVP_CAL	_IOWR(AUDIO_IOCTL_MAGIC, \
    134 			(AUDIO_MAX_ACDB_IOCTL+10), unsigned)
    135 #define AUDIO_GET_RTAC_ADM_INFO_V2	_IOWR(AUDIO_IOCTL_MAGIC, \
    136 			(AUDIO_MAX_ACDB_IOCTL+11), unsigned)
    137 
    138 #define	AUDIO_MAX_RTAC_IOCTL	(AUDIO_MAX_ACDB_IOCTL+20)
    139 
    140 #endif /* _UAPI_MSM_AUDIO_ACDB_H */
    141