1772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#ifndef _UAPI_MSM_AUDIO_CALIBRATION_H 2772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define _UAPI_MSM_AUDIO_CALIBRATION_H 3772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 4772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#include <linux/types.h> 5772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#include <linux/ioctl.h> 6772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 7772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define CAL_IOCTL_MAGIC 'a' 8772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 9772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_ALLOCATE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, \ 10772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 200, void *) 11772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_DEALLOCATE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, \ 12772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 201, void *) 13772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_PREPARE_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, \ 14772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 202, void *) 15772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, \ 16772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 203, void *) 17772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, \ 18772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 204, void *) 19772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_POST_CALIBRATION _IOWR(CAL_IOCTL_MAGIC, \ 20772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 205, void *) 21772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 22772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* For Real-Time Audio Calibration */ 23772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_ADM_INFO _IOR(CAL_IOCTL_MAGIC, \ 24772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 207, void *) 25772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_VOICE_INFO _IOR(CAL_IOCTL_MAGIC, \ 26772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 208, void *) 27772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_ADM_CAL _IOWR(CAL_IOCTL_MAGIC, \ 28772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 209, void *) 29772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_ADM_CAL _IOWR(CAL_IOCTL_MAGIC, \ 30772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 210, void *) 31772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_ASM_CAL _IOWR(CAL_IOCTL_MAGIC, \ 32772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 211, void *) 33772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_ASM_CAL _IOWR(CAL_IOCTL_MAGIC, \ 34772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 212, void *) 35772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_CVS_CAL _IOWR(CAL_IOCTL_MAGIC, \ 36772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 213, void *) 37772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_CVS_CAL _IOWR(CAL_IOCTL_MAGIC, \ 38772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 214, void *) 39772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_CVP_CAL _IOWR(CAL_IOCTL_MAGIC, \ 40772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 215, void *) 41772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_CVP_CAL _IOWR(CAL_IOCTL_MAGIC, \ 42772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 216, void *) 43772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_GET_RTAC_AFE_CAL _IOWR(CAL_IOCTL_MAGIC, \ 44772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 217, void *) 45772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define AUDIO_SET_RTAC_AFE_CAL _IOWR(CAL_IOCTL_MAGIC, \ 46772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 218, void *) 47772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum { 48772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVP_VOC_RX_TOPOLOGY_CAL_TYPE = 0, 49772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVP_VOC_TX_TOPOLOGY_CAL_TYPE, 50772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVP_VOCPROC_STATIC_CAL_TYPE, 51772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVP_VOCPROC_DYNAMIC_CAL_TYPE, 52772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVS_VOCSTRM_STATIC_CAL_TYPE, 53772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVP_VOCDEV_CFG_CAL_TYPE, 54772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVP_VOCPROC_STATIC_COL_CAL_TYPE, 55772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVP_VOCPROC_DYNAMIC_COL_CAL_TYPE, 56772b7facf972926b14fe303d0348c200cb20a313Prashant Malani CVS_VOCSTRM_STATIC_COL_CAL_TYPE, 57772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 58772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ADM_TOPOLOGY_CAL_TYPE, 59772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ADM_CUST_TOPOLOGY_CAL_TYPE, 60772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ADM_AUDPROC_CAL_TYPE, 61772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ADM_AUDVOL_CAL_TYPE, 62772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 63772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ASM_TOPOLOGY_CAL_TYPE, 64772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ASM_CUST_TOPOLOGY_CAL_TYPE, 65772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ASM_AUDSTRM_CAL_TYPE, 66772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 67772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AFE_COMMON_RX_CAL_TYPE, 68772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AFE_COMMON_TX_CAL_TYPE, 69772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AFE_ANC_CAL_TYPE, 70772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AFE_AANC_CAL_TYPE, 71772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AFE_FB_SPKR_PROT_CAL_TYPE, 72772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AFE_HW_DELAY_CAL_TYPE, 73772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AFE_SIDETONE_CAL_TYPE, 74464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry AFE_TOPOLOGY_CAL_TYPE, 75464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry AFE_CUST_TOPOLOGY_CAL_TYPE, 76772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 77772b7facf972926b14fe303d0348c200cb20a313Prashant Malani LSM_CUST_TOPOLOGY_CAL_TYPE, 78772b7facf972926b14fe303d0348c200cb20a313Prashant Malani LSM_TOPOLOGY_CAL_TYPE, 79772b7facf972926b14fe303d0348c200cb20a313Prashant Malani LSM_CAL_TYPE, 80772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 81772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ADM_RTAC_INFO_CAL_TYPE, 82772b7facf972926b14fe303d0348c200cb20a313Prashant Malani VOICE_RTAC_INFO_CAL_TYPE, 83772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ADM_RTAC_APR_CAL_TYPE, 84772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ASM_RTAC_APR_CAL_TYPE, 85772b7facf972926b14fe303d0348c200cb20a313Prashant Malani VOICE_RTAC_APR_CAL_TYPE, 86772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 87772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MAD_CAL_TYPE, 88772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ULP_AFE_CAL_TYPE, 89772b7facf972926b14fe303d0348c200cb20a313Prashant Malani ULP_LSM_CAL_TYPE, 90772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 91772b7facf972926b14fe303d0348c200cb20a313Prashant Malani DTS_EAGLE_CAL_TYPE, 92772b7facf972926b14fe303d0348c200cb20a313Prashant Malani AUDIO_CORE_METAINFO_CAL_TYPE, 93772b7facf972926b14fe303d0348c200cb20a313Prashant Malani SRS_TRUMEDIA_CAL_TYPE, 94772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 95464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry CORE_CUSTOM_TOPOLOGIES_CAL_TYPE, 96464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry ADM_RTAC_AUDVOL_CAL_TYPE, 97464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 98464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry ULP_LSM_TOPOLOGY_ID_CAL_TYPE, 99464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE, 100464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE, 101772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MAX_CAL_TYPES, 102772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 103772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 104464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE AFE_FB_SPKR_PROT_TH_VI_CAL_TYPE 105464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE AFE_FB_SPKR_PROT_EX_VI_CAL_TYPE 106464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 107772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum { 108772b7facf972926b14fe303d0348c200cb20a313Prashant Malani VERSION_0_0, 109772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 110772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 111772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum { 112772b7facf972926b14fe303d0348c200cb20a313Prashant Malani PER_VOCODER_CAL_BIT_MASK = 0x10000, 113772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 114772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 115772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MAX_IOCTL_CMD_SIZE 512 116772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 117772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* common structures */ 118772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 119772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_header { 120772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t data_size; 121772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t version; 122772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t cal_type; 123772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t cal_type_size; 124772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 125772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 126772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_header { 127772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t version; 128772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t buffer_number; 129772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 130772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 131772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_data { 132772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* Size of cal data at mem_handle allocation or at vaddr */ 133772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t cal_size; 134772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* If mem_handle if shared memory is used*/ 135772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t mem_handle; 136772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* size of virtual memory if shared memory not used */ 137772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 138772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 139772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 140772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_ALLOCATE_CALIBRATION */ 141772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_alloc { 142772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 143772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 144772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 145772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 146772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_alloc { 147772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 148772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_alloc cal_type; 149772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 150772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 151772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 152772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_DEALLOCATE_CALIBRATION */ 153772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_dealloc { 154772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 155772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 156772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 157772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 158772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_dealloc { 159772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 160772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_dealloc cal_type; 161772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 162772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 163772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 164772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_PREPARE_CALIBRATION */ 165772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_prepare { 166772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 167772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 168772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 169772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 170772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_prepare { 171772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 172772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_prepare cal_type; 173772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 174772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 175772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 176772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_POST_CALIBRATION */ 177772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_post { 178772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 179772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 180772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 181772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 182772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_post { 183772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 184772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_post cal_type; 185772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 186772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 187772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/*AUDIO_CORE_META_INFO */ 188772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 189772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_metainfo { 190772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t nKey; 191772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 192772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 193772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* Cal info types */ 194772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum { 195772b7facf972926b14fe303d0348c200cb20a313Prashant Malani RX_DEVICE, 196772b7facf972926b14fe303d0348c200cb20a313Prashant Malani TX_DEVICE, 197772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MAX_PATH_TYPE 198772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 199772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 200772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_adm_top { 201772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t topology; 202772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 203772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* RX_DEVICE or TX_DEVICE */ 204772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t path; 205772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t app_type; 206772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t sample_rate; 207772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 208772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 209772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_audproc { 210772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 211772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* RX_DEVICE or TX_DEVICE */ 212772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t path; 213772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t app_type; 214772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t sample_rate; 215772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 216772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 217772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_audvol { 218772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 219772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* RX_DEVICE or TX_DEVICE */ 220772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t path; 221772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t app_type; 222772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t vol_index; 223772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 224772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 225772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_afe { 226772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 227772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* RX_DEVICE or TX_DEVICE */ 228772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t path; 229772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t sample_rate; 230772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 231772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 232464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_afe_top { 233464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t topology; 234464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t acdb_id; 235464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry /* RX_DEVICE or TX_DEVICE */ 236464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t path; 237464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t sample_rate; 238464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 239464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 240772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_asm_top { 241772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t topology; 242772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t app_type; 243772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 244772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 245772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_audstrm { 246772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t app_type; 247772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 248772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 249772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_aanc { 250772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 251772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 252772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 253772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MAX_HW_DELAY_ENTRIES 25 254772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 255772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_hw_delay_entry { 256772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t sample_rate; 257772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t delay_usec; 258772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 259772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 260772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_hw_delay_data { 261772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t num_entries; 262772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_hw_delay_entry entry[MAX_HW_DELAY_ENTRIES]; 263772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 264772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 265772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_hw_delay { 266772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 267772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* RX_DEVICE or TX_DEVICE */ 268772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t path; 269772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t property_type; 270772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_hw_delay_data data; 271772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 272772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 273772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum msm_spkr_prot_states { 274772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_SPKR_PROT_CALIBRATED, 275772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS, 276772b7facf972926b14fe303d0348c200cb20a313Prashant Malani MSM_SPKR_PROT_DISABLED, 277464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_SPKR_PROT_NOT_CALIBRATED, 278464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_SPKR_PROT_PRE_CALIBRATED, 279464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry MSM_SPKR_PROT_IN_FTM_MODE 280772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 281464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry#define MSM_SPKR_PROT_IN_FTM_MODE MSM_SPKR_PROT_IN_FTM_MODE 282772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 283772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum msm_spkr_count { 284772b7facf972926b14fe303d0348c200cb20a313Prashant Malani SP_V2_SPKR_1, 285772b7facf972926b14fe303d0348c200cb20a313Prashant Malani SP_V2_SPKR_2, 286772b7facf972926b14fe303d0348c200cb20a313Prashant Malani SP_V2_NUM_MAX_SPKRS 287772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 288772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 289772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_spk_prot_cfg { 290772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t r0[SP_V2_NUM_MAX_SPKRS]; 291772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t t0[SP_V2_NUM_MAX_SPKRS]; 292772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t quick_calib_flag; 293464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t mode; 294464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry /* 295464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 0 - Start spk prot 296464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 1 - Start calib 297464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 2 - Disable spk prot 298464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry */ 299464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 300464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 301464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_th_vi_ftm_cfg { 302464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; 303464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS]; 304464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t mode; 305464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry /* 306464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 0 - normal running mode 307464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 1 - Calibration 308464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 2 - FTM mode 309464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry */ 310464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 311464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 312464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_ex_vi_ftm_cfg { 313464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t wait_time[SP_V2_NUM_MAX_SPKRS]; 314464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t ftm_time[SP_V2_NUM_MAX_SPKRS]; 315464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry uint32_t mode; 316464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry /* 317464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 0 - normal running mode 318464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry * 2 - FTM mode 319464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry */ 320464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 321464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 322464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_ex_vi_param { 323464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t freq_q20[SP_V2_NUM_MAX_SPKRS]; 324464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t resis_q24[SP_V2_NUM_MAX_SPKRS]; 325464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t qmct_q24[SP_V2_NUM_MAX_SPKRS]; 326464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t status[SP_V2_NUM_MAX_SPKRS]; 327464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 328464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 329464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_info_sp_th_vi_param { 330464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t r_dc_q24[SP_V2_NUM_MAX_SPKRS]; 331464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t temp_q22[SP_V2_NUM_MAX_SPKRS]; 332464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry int32_t status[SP_V2_NUM_MAX_SPKRS]; 333772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 334772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 335772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_msm_spk_prot_status { 336772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t r0[SP_V2_NUM_MAX_SPKRS]; 337772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t status; 338772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 339772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 340772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_sidetone { 341772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint16_t enable; 342772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint16_t gain; 343772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t tx_acdb_id; 344772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t rx_acdb_id; 345772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t mid; 346772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t pid; 347772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 348772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 349772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_lsm_top { 350772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t topology; 351772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 352772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t app_type; 353772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 354772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 355772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 356772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_lsm { 357772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 358772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* RX_DEVICE or TX_DEVICE */ 359772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t path; 360772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t app_type; 361772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 362772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 363772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_voc_top { 364772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t topology; 365772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t acdb_id; 366772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 367772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 368772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_vocproc { 369772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t tx_acdb_id; 370772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t rx_acdb_id; 371772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t tx_sample_rate; 372772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t rx_sample_rate; 373772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 374772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 375772b7facf972926b14fe303d0348c200cb20a313Prashant Malanienum { 376772b7facf972926b14fe303d0348c200cb20a313Prashant Malani DEFAULT_FEATURE_SET, 377772b7facf972926b14fe303d0348c200cb20a313Prashant Malani VOL_BOOST_FEATURE_SET, 378772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 379772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 380772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_vocvol { 381772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t tx_acdb_id; 382772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t rx_acdb_id; 383772b7facf972926b14fe303d0348c200cb20a313Prashant Malani /* DEFUALT_ or VOL_BOOST_FEATURE_SET */ 384772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t feature_set; 385772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 386772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 387772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_vocdev_cfg { 388772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t tx_acdb_id; 389772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t rx_acdb_id; 390772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 391772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 392772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#define MAX_VOICE_COLUMNS 20 393772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 394772b7facf972926b14fe303d0348c200cb20a313Prashant Malaniunion audio_cal_col_na { 395772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint8_t val8; 396772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint16_t val16; 397772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t val32; 398772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint64_t val64; 399772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} __packed; 400772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 401772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_col { 402772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t id; 403772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t type; 404772b7facf972926b14fe303d0348c200cb20a313Prashant Malani union audio_cal_col_na na_value; 405772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} __packed; 406772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 407772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_col_data { 408772b7facf972926b14fe303d0348c200cb20a313Prashant Malani uint32_t num_columns; 409772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_col column[MAX_VOICE_COLUMNS]; 410772b7facf972926b14fe303d0348c200cb20a313Prashant Malani} __packed; 411772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 412772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_info_voc_col { 413772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t table_id; 414772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t tx_acdb_id; 415772b7facf972926b14fe303d0348c200cb20a313Prashant Malani int32_t rx_acdb_id; 416772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_col_data data; 417772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 418772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 419772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_SET_CALIBRATION & */ 420772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_basic { 421772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 422772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 423772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 424772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 425772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_basic { 426772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 427772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_basic cal_type; 428772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 429772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 430772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_adm_top { 431772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 432772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 433772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_adm_top cal_info; 434772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 435772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 436772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_adm_top { 437772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 438772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_adm_top cal_type; 439772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 440772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 441772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_metainfo { 442772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 443772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 444772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_metainfo cal_info; 445772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 446772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 447772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_core_metainfo { 448772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 449772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_metainfo cal_type; 450772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 451772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 452772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_audproc { 453772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 454772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 455772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_audproc cal_info; 456772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 457772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 458772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_audproc { 459772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 460772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_audproc cal_type; 461772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 462772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 463772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_audvol { 464772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 465772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 466772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_audvol cal_info; 467772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 468772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 469772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_audvol { 470772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 471772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_audvol cal_type; 472772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 473772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 474772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_asm_top { 475772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 476772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 477772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_asm_top cal_info; 478772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 479772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 480772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_asm_top { 481772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 482772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_asm_top cal_type; 483772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 484772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 485772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_audstrm { 486772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 487772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 488772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_audstrm cal_info; 489772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 490772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 491772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_audstrm { 492772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 493772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_audstrm cal_type; 494772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 495772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 496772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_afe { 497772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 498772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 499772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_afe cal_info; 500772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 501772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 502772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_afe { 503772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 504772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_afe cal_type; 505772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 506772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 507464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_afe_top { 508464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_header cal_hdr; 509464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_data cal_data; 510464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_info_afe_top cal_info; 511464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 512464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 513464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_afe_top { 514464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_header hdr; 515464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_afe_top cal_type; 516464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 517464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 518772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_aanc { 519772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 520772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 521772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_aanc cal_info; 522772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 523772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 524772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_aanc { 525772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 526772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_aanc cal_type; 527772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 528772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 529772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_fb_spk_prot_cfg { 530772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 531772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 532772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_spk_prot_cfg cal_info; 533772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 534772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 535772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_fb_spk_prot_cfg { 536772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 537772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_fb_spk_prot_cfg cal_type; 538772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 539772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 540464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_th_vi_ftm_cfg { 541464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_header cal_hdr; 542464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_data cal_data; 543464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_info_sp_th_vi_ftm_cfg cal_info; 544464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 545464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 546464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_th_vi_ftm_cfg { 547464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_header hdr; 548464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_sp_th_vi_ftm_cfg cal_type; 549464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 550464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 551464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_ex_vi_ftm_cfg { 552464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_header cal_hdr; 553464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_data cal_data; 554464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_info_sp_ex_vi_ftm_cfg cal_info; 555464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 556464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 557464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_ex_vi_ftm_cfg { 558464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_header hdr; 559464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_sp_ex_vi_ftm_cfg cal_type; 560464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 561772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_hw_delay { 562772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 563772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 564772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_hw_delay cal_info; 565772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 566772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 567772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_hw_delay { 568772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 569772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_hw_delay cal_type; 570772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 571772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 572772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_sidetone { 573772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 574772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 575772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_sidetone cal_info; 576772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 577772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 578772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_sidetone { 579772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 580772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_sidetone cal_type; 581772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 582772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 583772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_lsm_top { 584772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 585772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 586772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_lsm_top cal_info; 587772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 588772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 589772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_lsm_top { 590772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 591772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_lsm_top cal_type; 592772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 593772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 594772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_lsm { 595772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 596772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 597772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_lsm cal_info; 598772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 599772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 600772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_lsm { 601772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 602772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_lsm cal_type; 603772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 604772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 605772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_voc_top { 606772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 607772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 608772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_voc_top cal_info; 609772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 610772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 611772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_voc_top { 612772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 613772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_voc_top cal_type; 614772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 615772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 616772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_vocproc { 617772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 618772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 619772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_vocproc cal_info; 620772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 621772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 622772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_vocproc { 623772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 624772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_vocproc cal_type; 625772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 626772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 627772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_vocvol { 628772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 629772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 630772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_vocvol cal_info; 631772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 632772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 633772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_vocvol { 634772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 635772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_vocvol cal_type; 636772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 637772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 638772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_vocdev_cfg { 639772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 640772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 641772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_vocdev_cfg cal_info; 642772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 643772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 644772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_vocdev_cfg { 645772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 646772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_vocdev_cfg cal_type; 647772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 648772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 649772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_voc_col { 650772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 651772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 652772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_voc_col cal_info; 653772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 654772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 655772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_voc_col { 656772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 657772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_voc_col cal_type; 658772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 659772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 660772b7facf972926b14fe303d0348c200cb20a313Prashant Malani/* AUDIO_GET_CALIBRATION */ 661772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_type_fb_spk_prot_status { 662772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_header cal_hdr; 663772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_data cal_data; 664772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_info_msm_spk_prot_status cal_info; 665772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 666772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 667772b7facf972926b14fe303d0348c200cb20a313Prashant Malanistruct audio_cal_fb_spk_prot_status { 668772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_header hdr; 669772b7facf972926b14fe303d0348c200cb20a313Prashant Malani struct audio_cal_type_fb_spk_prot_status cal_type; 670772b7facf972926b14fe303d0348c200cb20a313Prashant Malani}; 671772b7facf972926b14fe303d0348c200cb20a313Prashant Malani 672464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_th_vi_param { 673464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_header cal_hdr; 674464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_data cal_data; 675464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_info_sp_th_vi_param cal_info; 676464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 677464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 678464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_th_vi_param { 679464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_header hdr; 680464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_sp_th_vi_param cal_type; 681464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 682464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_type_sp_ex_vi_param { 683464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_header cal_hdr; 684464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_data cal_data; 685464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_info_sp_ex_vi_param cal_info; 686464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 687464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry 688464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherrystruct audio_cal_sp_ex_vi_param { 689464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_header hdr; 690464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry struct audio_cal_type_sp_ex_vi_param cal_type; 691464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry}; 692772b7facf972926b14fe303d0348c200cb20a313Prashant Malani#endif /* _UAPI_MSM_AUDIO_CALIBRATION_H */ 693