summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/max98090.h
diff options
context:
space:
mode:
authorDylan Reid <dgreid@chromium.org>2014-11-03 19:28:57 +0100
committerMark Brown <broonie@kernel.org>2014-11-04 20:59:21 +0100
commitdefcd98b16461e123cb4a6cb6ef24a1d0085c1b2 (patch)
tree4fec5f8de3d4b73cf73803b602e0e5bfd79bc5fd /sound/soc/codecs/max98090.h
parentMerge branch 'fix/max98090' of git://git.kernel.org/pub/scm/linux/kernel/git/... (diff)
downloadlinux-defcd98b16461e123cb4a6cb6ef24a1d0085c1b2.tar.xz
linux-defcd98b16461e123cb4a6cb6ef24a1d0085c1b2.zip
ASoC: max98090: Different comp tables for different pclks
In addtion expand the table to handle other values of sysclk. Instead of making the table 3D, expand it to a more descriptive struct. The divisors are specified in Table 19 of the 98090 data sheet version 0p94. The dmic frequency was previously assumed. Instead make it explicit and configurable through device tree. This now handles independently set pclk and dmic frequency. Based on downstream work by Ralph Birt. Signed-off-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/max98090.h')
-rw-r--r--sound/soc/codecs/max98090.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/codecs/max98090.h b/sound/soc/codecs/max98090.h
index a5f6bada06da..21ff743f5af2 100644
--- a/sound/soc/codecs/max98090.h
+++ b/sound/soc/codecs/max98090.h
@@ -12,6 +12,12 @@
#define _MAX98090_H
/*
+ * The default operating frequency for a DMIC attached to the codec.
+ * This can be overridden by a device tree property.
+ */
+#define MAX98090_DEFAULT_DMIC_FREQ 2500000
+
+/*
* MAX98090 Register Definitions
*/
@@ -1518,8 +1524,10 @@ struct max98090_priv {
struct max98090_pdata *pdata;
struct clk *mclk;
unsigned int sysclk;
+ unsigned int pclk;
unsigned int bclk;
unsigned int lrclk;
+ u32 dmic_freq;
struct max98090_cdata dai[1];
int jack_state;
struct delayed_work jack_work;