1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Platform data for MAX98095 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2011 Maxim Integrated Products 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef __SOUND_MAX98095_PDATA_H__ 9*4882a593Smuzhiyun #define __SOUND_MAX98095_PDATA_H__ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun /* Equalizer filter response configuration */ 12*4882a593Smuzhiyun struct max98095_eq_cfg { 13*4882a593Smuzhiyun const char *name; 14*4882a593Smuzhiyun unsigned int rate; 15*4882a593Smuzhiyun u16 band1[5]; 16*4882a593Smuzhiyun u16 band2[5]; 17*4882a593Smuzhiyun u16 band3[5]; 18*4882a593Smuzhiyun u16 band4[5]; 19*4882a593Smuzhiyun u16 band5[5]; 20*4882a593Smuzhiyun }; 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun /* Biquad filter response configuration */ 23*4882a593Smuzhiyun struct max98095_biquad_cfg { 24*4882a593Smuzhiyun const char *name; 25*4882a593Smuzhiyun unsigned int rate; 26*4882a593Smuzhiyun u16 band1[5]; 27*4882a593Smuzhiyun u16 band2[5]; 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun /* codec platform data */ 31*4882a593Smuzhiyun struct max98095_pdata { 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun /* Equalizers for DAI1 and DAI2 */ 34*4882a593Smuzhiyun struct max98095_eq_cfg *eq_cfg; 35*4882a593Smuzhiyun unsigned int eq_cfgcnt; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun /* Biquad filter for DAI1 and DAI2 */ 38*4882a593Smuzhiyun struct max98095_biquad_cfg *bq_cfg; 39*4882a593Smuzhiyun unsigned int bq_cfgcnt; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun /* Analog/digital microphone configuration: 42*4882a593Smuzhiyun * 0 = analog microphone input (normal setting) 43*4882a593Smuzhiyun * 1 = digital microphone input 44*4882a593Smuzhiyun */ 45*4882a593Smuzhiyun unsigned int digmic_left_mode:1; 46*4882a593Smuzhiyun unsigned int digmic_right_mode:1; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* Pin5 is the mechanical method of sensing jack insertion 49*4882a593Smuzhiyun * but it is something that might not be supported. 50*4882a593Smuzhiyun * 0 = PIN5 not supported 51*4882a593Smuzhiyun * 1 = PIN5 supported 52*4882a593Smuzhiyun */ 53*4882a593Smuzhiyun unsigned int jack_detect_pin5en:1; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun /* Slew amount for jack detection. Calculated as 4 * (delay + 1). 56*4882a593Smuzhiyun * Default delay is 24 to get a time of 100ms. 57*4882a593Smuzhiyun */ 58*4882a593Smuzhiyun unsigned int jack_detect_delay; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun #endif 62