/* * Platform data for MAX98090 * * Copyright 2011-2012 Maxim Integrated Products * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * */ #ifndef __SOUND_MAX98090_PDATA_H__ #define __SOUND_MAX98090_PDATA_H__ /* Equalizer filter response configuration * There are 5 coefs per band, 3 bytes per coef, and up to 7 bands */ struct max98090_eq_cfg { const char *name; unsigned int rate; unsigned int bands; u8 coef[5 * 3 * 7]; }; /* Biquad filter response configuration * There are 5 coefs per band, 3 bytes per coef */ struct max98090_biquad_cfg { const char *name; unsigned int rate; u8 coef[5 * 3]; }; /* codec platform data */ struct max98090_pdata { int irq; /* Equalizers for DAC */ struct max98090_eq_cfg *eq_cfg; unsigned int eq_cfgcnt; /* Biquad filter for ADC */ struct max98090_biquad_cfg *bq_cfg; unsigned int bq_cfgcnt; /* DMIC34 Biquad filter for ADC */ struct max98090_biquad_cfg *dmic34bq_cfg; unsigned int dmic34bq_cfgcnt; /* Analog/digital microphone configuration: * 0 = analog microphone input (normal setting) * 1 = digital microphone input */ unsigned int digmic_left_mode:1; unsigned int digmic_right_mode:1; unsigned int digmic_3_mode:1; unsigned int digmic_4_mode:1; }; #endif