diff options
author | Shengjiu Wang <shengjiu.wang@freescale.com> | 2015-04-15 12:33:06 +0800 |
---|---|---|
committer | guoyin.chen <guoyin.chen@freescale.com> | 2015-05-08 17:26:41 +0800 |
commit | 53b65c5ce6ac484d2b0c5ec78ea6feffb90c3f8f (patch) | |
tree | 4670e26b1e6f928639af913ace89ad5cfc4a3732 | |
parent | bf083f7d4c1849399f91f90fc225dfae8d69d32b (diff) |
MLK-10661: ASoC: imx_wm8960: HDMI has noise after playback with wm8960
The root cause is hardware issue. In imx7d-sdb hdmi, wm8960 use the
same SAI interface. After playback with wm8960, the Frame clock voltage
doesn't become 0v, wm8960 will introduce noise to frame clock.
This patch is a workaround to set wm8960 to slave mode, remove
interference to I2S signal.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
-rw-r--r-- | sound/soc/fsl/imx-wm8960.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/soc/fsl/imx-wm8960.c b/sound/soc/fsl/imx-wm8960.c index e77136ef7ee5..6184a276456f 100644 --- a/sound/soc/fsl/imx-wm8960.c +++ b/sound/soc/fsl/imx-wm8960.c @@ -195,8 +195,10 @@ static int imx_hifi_hw_free(struct snd_pcm_substream *substream) data->is_stream_in_use[tx] = false; /* Power down PLL to save power*/ - if (data->is_codec_master && !data->is_stream_in_use[!tx]) + if (data->is_codec_master && !data->is_stream_in_use[!tx]) { snd_soc_dai_set_pll(codec_dai, 0, 0, 0, 0); + snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF); + } return 0; } |