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