12874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 282a5a936SPeter Hsiang /* 382a5a936SPeter Hsiang * Platform data for MAX98095 482a5a936SPeter Hsiang * 582a5a936SPeter Hsiang * Copyright 2011 Maxim Integrated Products 682a5a936SPeter Hsiang */ 782a5a936SPeter Hsiang 882a5a936SPeter Hsiang #ifndef __SOUND_MAX98095_PDATA_H__ 982a5a936SPeter Hsiang #define __SOUND_MAX98095_PDATA_H__ 1082a5a936SPeter Hsiang 11dad31ec1SPeter Hsiang /* Equalizer filter response configuration */ 12dad31ec1SPeter Hsiang struct max98095_eq_cfg { 13dad31ec1SPeter Hsiang const char *name; 14dad31ec1SPeter Hsiang unsigned int rate; 15dad31ec1SPeter Hsiang u16 band1[5]; 16dad31ec1SPeter Hsiang u16 band2[5]; 17dad31ec1SPeter Hsiang u16 band3[5]; 18dad31ec1SPeter Hsiang u16 band4[5]; 19dad31ec1SPeter Hsiang u16 band5[5]; 20dad31ec1SPeter Hsiang }; 21dad31ec1SPeter Hsiang 22dad31ec1SPeter Hsiang /* Biquad filter response configuration */ 23dad31ec1SPeter Hsiang struct max98095_biquad_cfg { 24dad31ec1SPeter Hsiang const char *name; 25dad31ec1SPeter Hsiang unsigned int rate; 26dad31ec1SPeter Hsiang u16 band1[5]; 27dad31ec1SPeter Hsiang u16 band2[5]; 28dad31ec1SPeter Hsiang }; 29dad31ec1SPeter Hsiang 3082a5a936SPeter Hsiang /* codec platform data */ 3182a5a936SPeter Hsiang struct max98095_pdata { 32dad31ec1SPeter Hsiang 33dad31ec1SPeter Hsiang /* Equalizers for DAI1 and DAI2 */ 34dad31ec1SPeter Hsiang struct max98095_eq_cfg *eq_cfg; 35dad31ec1SPeter Hsiang unsigned int eq_cfgcnt; 36dad31ec1SPeter Hsiang 37dad31ec1SPeter Hsiang /* Biquad filter for DAI1 and DAI2 */ 38dad31ec1SPeter Hsiang struct max98095_biquad_cfg *bq_cfg; 39dad31ec1SPeter Hsiang unsigned int bq_cfgcnt; 40dad31ec1SPeter Hsiang 4182a5a936SPeter Hsiang /* Analog/digital microphone configuration: 4282a5a936SPeter Hsiang * 0 = analog microphone input (normal setting) 4382a5a936SPeter Hsiang * 1 = digital microphone input 4482a5a936SPeter Hsiang */ 4582a5a936SPeter Hsiang unsigned int digmic_left_mode:1; 4682a5a936SPeter Hsiang unsigned int digmic_right_mode:1; 479dd90c5dSRhyland Klein 489dd90c5dSRhyland Klein /* Pin5 is the mechanical method of sensing jack insertion 499dd90c5dSRhyland Klein * but it is something that might not be supported. 509dd90c5dSRhyland Klein * 0 = PIN5 not supported 519dd90c5dSRhyland Klein * 1 = PIN5 supported 529dd90c5dSRhyland Klein */ 53a91b7782SMark Brown unsigned int jack_detect_pin5en:1; 549dd90c5dSRhyland Klein 559dd90c5dSRhyland Klein /* Slew amount for jack detection. Calculated as 4 * (delay + 1). 569dd90c5dSRhyland Klein * Default delay is 24 to get a time of 100ms. 579dd90c5dSRhyland Klein */ 589dd90c5dSRhyland Klein unsigned int jack_detect_delay; 5982a5a936SPeter Hsiang }; 6082a5a936SPeter Hsiang 6182a5a936SPeter Hsiang #endif 62