summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPhani Kumar Uppalapati <phaniu@codeaurora.org>2016-08-24 11:57:52 -0700
committerPhani Kumar Uppalapati <phaniu@codeaurora.org>2016-08-24 18:10:19 -0700
commitb428b24214c2d4140b2e066a8dc250f55bcd55e4 (patch)
treedf3dba847209c41a1814e05c2cd2d2372d307564 /drivers
parente97b6a0e0217f7c072fdad6c50673cd7a64348e1 (diff)
drivers: mfd: Add 1.6MHz clk support for wcd934x codec
Add DMIC (Digital Microphone) 1.6MHz clock rate support for wcd934x audio codec. Change-Id: I601074304c7061a58e89a9e460e14225a6c1b335 Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/wcd9xxx-utils.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/mfd/wcd9xxx-utils.c b/drivers/mfd/wcd9xxx-utils.c
index 38286831a02c..fab594992df3 100644
--- a/drivers/mfd/wcd9xxx-utils.c
+++ b/drivers/mfd/wcd9xxx-utils.c
@@ -265,8 +265,17 @@ static u32 wcd9xxx_validate_dmic_sample_rate(struct device *dev,
__func__, div_factor, mclk_rate);
break;
case 6:
- /* DIV 6 is valid only for 12.288 MCLK */
- if (mclk_rate != WCD9XXX_MCLK_CLK_12P288MHZ)
+ /*
+ * DIV 6 is valid for both 9.6MHz and 12.288MHz
+ * MCLK on Tavil. Older codecs support DIV6 only
+ * for 12.288MHz MCLK.
+ */
+ if ((mclk_rate == WCD9XXX_MCLK_CLK_9P6HZ) &&
+ (of_device_is_compatible(dev->of_node,
+ "qcom,tavil-slim-pgd")))
+ dev_dbg(dev, "%s: DMIC_DIV = %u, mclk_rate = %u\n",
+ __func__, div_factor, mclk_rate);
+ else if (mclk_rate != WCD9XXX_MCLK_CLK_12P288MHZ)
goto undefined_rate;
break;
default: