[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161216110502.849053FA9F@swsrvapps-01.diasemi.com>
Date: Fri, 16 Dec 2016 11:05:02 +0000
From: Adam Thomson <Adam.Thomson.Opensource@...semi.com>
To: Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>
CC: Support Opensource <support.opensource@...semi.com>,
<alsa-devel@...a-project.org>, <linux-kernel@...r.kernel.org>
Subject: [PATCH] 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@...semi.com>
---
sound/soc/codecs/da7218.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/da7218.c b/sound/soc/codecs/da7218.c
index c69e976..d256ebf 100644
--- a/sound/soc/codecs/da7218.c
+++ b/sound/soc/codecs/da7218.c
@@ -1634,7 +1634,8 @@ static int da7218_hp_pga_event(struct snd_soc_dapm_widget *w,
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 */
--
1.9.3
Powered by blists - more mailing lists