19c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#ifndef _LINUX_MSM_AUDIO_ACDB_H 29c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define _LINUX_MSM_AUDIO_ACDB_H 39c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 49c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#include <linux/msm_audio.h> 59c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 69c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOCPROC_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 79c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned) 89c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOCPROC_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 99c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned) 109c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOCPROC_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 119c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+2), unsigned) 129c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AUDPROC_RX_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 139c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+3), unsigned) 149c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AUDPROC_RX_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 159c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+4), unsigned) 169c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AUDPROC_RX_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 179c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+5), unsigned) 189c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AUDPROC_TX_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 199c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+6), unsigned) 209c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AUDPROC_TX_STREAM_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 219c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+7), unsigned) 229c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AUDPROC_TX_VOL_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 239c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+8), unsigned) 249c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_SIDETONE_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 259c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+9), unsigned) 269c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_ANC_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 279c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+10), unsigned) 289c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOICE_RX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \ 299c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+11), unsigned) 309c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOICE_TX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \ 319c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+12), unsigned) 329c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_ADM_RX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \ 339c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+13), unsigned) 349c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_ADM_TX_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \ 359c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+14), unsigned) 369c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_ASM_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \ 379c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+15), unsigned) 389c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AFE_TX_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 399c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+16), unsigned) 409c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AFE_RX_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 419c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+17), unsigned) 429c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOCPROC_COL_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 439c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+18), unsigned) 449c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOCSTRM_COL_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 459c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+19), unsigned) 469c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOCVOL_COL_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 479c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+20), unsigned) 489c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_VOCPROC_DEV_CFG_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 499c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+21), unsigned) 509c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_LSM_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 519c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+22), unsigned) 529c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_ADM_CUSTOM_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \ 539c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+23), unsigned) 549c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_ASM_CUSTOM_TOPOLOGY _IOW(AUDIO_IOCTL_MAGIC, \ 559c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+24), unsigned) 569c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_SPEAKER_PROT _IOW(AUDIO_IOCTL_MAGIC, 25, \ 577a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim struct msm_spk_prot_cfg) 589c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_GET_SPEAKER_PROT _IOR(AUDIO_IOCTL_MAGIC, 26, \ 597a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim struct msm_spk_prot_status) 609c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_AANC_CAL _IOW(AUDIO_IOCTL_MAGIC, \ 619c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_COMMON_IOCTL_NUM+27), unsigned) 627a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define AUDIO_REGISTER_VOCPROC_VOL_TABLE _IOW(AUDIO_IOCTL_MAGIC, \ 637a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim (AUDIO_MAX_COMMON_IOCTL_NUM+28), unsigned) 647a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define AUDIO_DEREGISTER_VOCPROC_VOL_TABLE _IOW(AUDIO_IOCTL_MAGIC, \ 657a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim (AUDIO_MAX_COMMON_IOCTL_NUM+29), unsigned) 667a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define AUDIO_MAX_ACDB_IOCTL (AUDIO_MAX_COMMON_IOCTL_NUM+40) 679c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 689c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani/* ACDB structures */ 699c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudanistruct cal_block { 709c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani uint32_t cal_size; /* Size of Cal Data */ 719c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani uint32_t cal_offset; /* offset pointer to Cal Data */ 729c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani}; 739c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 749c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudanistruct sidetone_cal { 759c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani uint16_t enable; 769c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani uint16_t gain; 779c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani}; 789c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 79edb781a7a5d53bac3e131a89c929aa7b72eaf965Devin Kimenum msm_spkr_prot_states { 80edb781a7a5d53bac3e131a89c929aa7b72eaf965Devin Kim MSM_SPKR_PROT_CALIBRATED, 81edb781a7a5d53bac3e131a89c929aa7b72eaf965Devin Kim MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS, 82edb781a7a5d53bac3e131a89c929aa7b72eaf965Devin Kim MSM_SPKR_PROT_DISABLED, 83edb781a7a5d53bac3e131a89c929aa7b72eaf965Devin Kim MSM_SPKR_PROT_NOT_CALIBRATED 84edb781a7a5d53bac3e131a89c929aa7b72eaf965Devin Kim}; 85edb781a7a5d53bac3e131a89c929aa7b72eaf965Devin Kim 869c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudanistruct msm_spk_prot_cfg { 879c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani int r0; 889c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani int t0; 899c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani uint32_t mode; /*0 - Start spk prot 909c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 1 - Start calib 919c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 2 - Disable spk prot*/ 929c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani}; 939c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 949c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudanistruct msm_spk_prot_status { 959c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani int r0; 969c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani int status; 979c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani}; 989c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 999c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani/* For Real-Time Audio Calibration */ 1009c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_GET_RTAC_ADM_INFO _IOR(AUDIO_IOCTL_MAGIC, \ 1019c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+1), unsigned) 1029c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_GET_RTAC_VOICE_INFO _IOR(AUDIO_IOCTL_MAGIC, \ 1039c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+2), unsigned) 1049c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_GET_RTAC_ADM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1059c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+3), unsigned) 1069c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_RTAC_ADM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1079c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+4), unsigned) 1089c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_GET_RTAC_ASM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1099c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+5), unsigned) 1109c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_RTAC_ASM_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1119c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+6), unsigned) 1129c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_GET_RTAC_CVS_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1139c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+7), unsigned) 1149c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_RTAC_CVS_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1159c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+8), unsigned) 1169c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_GET_RTAC_CVP_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1179c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+9), unsigned) 1189c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_SET_RTAC_CVP_CAL _IOWR(AUDIO_IOCTL_MAGIC, \ 1199c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani (AUDIO_MAX_ACDB_IOCTL+10), unsigned) 1209c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 1219c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#define AUDIO_MAX_RTAC_IOCTL (AUDIO_MAX_ACDB_IOCTL+20) 1229c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani 1239c02a33ebb106414f7ac79de8531bbb8f092e597Ajay Dudani#endif /* _LINUX_MSM_AUDIO_ACDB_H */ 124