summaryrefslogtreecommitdiff
path: root/include/sound
diff options
context:
space:
mode:
authorAndy Park <andyp@nvidia.com>2012-11-15 14:21:52 -0800
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:47:52 -0700
commita50a39d072c0d9822fb042a0ba0e2956a0e2a038 (patch)
treef1bce83814afc5eecc2859dd6e5339f5e807ef6b /include/sound
parente502b073f6f0845c7b9609801926580257008945 (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.h62
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