diff options
author | Andy Park <andyp@nvidia.com> | 2012-11-15 14:21:52 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 12:47:52 -0700 |
commit | a50a39d072c0d9822fb042a0ba0e2956a0e2a038 (patch) | |
tree | f1bce83814afc5eecc2859dd6e5339f5e807ef6b /include/sound | |
parent | e502b073f6f0845c7b9609801926580257008945 (diff) |
sound: soc: codecs: add max98090 audio codec
Add max98090 codec driver
Bug 1011167
Change-Id: I336bdd5e2ed1d669a1c27e4b895d1a53edcda862
Signed-off-by: Andy Park <andyp@nvidia.com>
(cherry picked from commit 90db09abb63c7ead897312ec11a6674f56b9f6e9)
Reviewed-on: http://git-master/r/171660
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Tested-by: Gaurav Sarode <gsarode@nvidia.com>
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/max98090.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/include/sound/max98090.h b/include/sound/max98090.h new file mode 100644 index 000000000000..ab47aae90d38 --- /dev/null +++ b/include/sound/max98090.h @@ -0,0 +1,62 @@ +/* + * 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 |