summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/da7218.c
diff options
context:
space:
mode:
authorAdam Thomson2016-12-16 12:05:02 +0100
committerMark Brown2016-12-16 13:29:09 +0100
commitac29a8f41740186aee601de99c729530e37ca77c (patch)
tree6e68d9952357541cd47a6057e143c1bca1d5bf38 /sound/soc/codecs/da7218.c
parentMerge remote-tracking branches 'asoc/topic/wm9712', 'asoc/topic/wm9713' and '... (diff)
downloadkernel-qcow2-linux-ac29a8f41740186aee601de99c729530e37ca77c.tar.gz
kernel-qcow2-linux-ac29a8f41740186aee601de99c729530e37ca77c.tar.xz
kernel-qcow2-linux-ac29a8f41740186aee601de99c729530e37ca77c.zip
ASoC: da7218: Set DAI output pin high impedance when not in use
For TDM mode, the I2S data out line can be shared between mutliple codecs. In this scenario, only the active codec should be using the line, and all others should be high impedance. However, currently in the driver this configuration isn't set when capture is inactive, and the line remains driven. This patch updates the AIF_OUT widget to set the DAI output pin of the device as high impedance when not in use. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/da7218.c')
-rw-r--r--sound/soc/codecs/da7218.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/codecs/da7218.c b/sound/soc/codecs/da7218.c
index c69e97654fc6..d256ebf9e309 100644
--- a/sound/soc/codecs/da7218.c
+++ b/sound/soc/codecs/da7218.c
@@ -1634,7 +1634,8 @@ static const struct snd_soc_dapm_widget da7218_dapm_widgets[] = {
SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
/* DAI */
- SND_SOC_DAPM_AIF_OUT("DAIOUT", "Capture", 0, SND_SOC_NOPM, 0, 0),
+ SND_SOC_DAPM_AIF_OUT("DAIOUT", "Capture", 0, DA7218_DAI_TDM_CTRL,
+ DA7218_DAI_OE_SHIFT, DA7218_NO_INVERT),
SND_SOC_DAPM_AIF_IN("DAIIN", "Playback", 0, SND_SOC_NOPM, 0, 0),
/* Output Mixers */