-rw-r--r-- | arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/amlogic/tl1_t962x2_x301.dts | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/amlogic/tl1_t962x2_x301.dts | 1 | ||||
-rw-r--r-- | sound/soc/amlogic/auge/tdm.c | 13 | ||||
-rw-r--r-- | sound/soc/amlogic/auge/tdm_hw.c | 10 | ||||
-rw-r--r-- | sound/soc/amlogic/auge/tdm_hw.h | 1 |
8 files changed, 26 insertions, 3 deletions
diff --git a/sound/soc/amlogic/auge/tdm.c b/sound/soc/amlogic/auge/tdm.c index a4ebd94..79742b3 100644 --- a/sound/soc/amlogic/auge/tdm.c +++ b/sound/soc/amlogic/auge/tdm.c @@ -625,9 +625,6 @@ static int aml_dai_tdm_trigger(struct snd_pcm_substream *substream, int cmd, break; } - aml_tdm_enable(p_tdm->actrl, - substream->stream, p_tdm->id, false); - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { dev_info(substream->pcm->card->dev, "tdm playback stop\n"); aml_frddr_enable(p_tdm->fddr, 0); @@ -643,6 +640,8 @@ static int aml_dai_tdm_trigger(struct snd_pcm_substream *substream, int cmd, dev_info(substream->pcm->card->dev, "tdm capture stop\n"); aml_toddr_enable(p_tdm->tddr, 0); } + aml_tdm_enable(p_tdm->actrl, + substream->stream, p_tdm->id, false); break; default: return -EINVAL; @@ -902,6 +901,14 @@ static int aml_dai_set_tdm_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) aml_tdm_set_format(p_tdm->actrl, &(p_tdm->setting), p_tdm->clk_sel, p_tdm->id, fmt, 1, 1); + if (p_tdm->contns_clk && !IS_ERR(p_tdm->mclk)) { + int ret = clk_prepare_enable(p_tdm->mclk); + + if (ret) { + pr_err("Can't enable mclk: %d\n", ret); + return ret; + } + } capture: /* update skew for ACODEC_ADC */ |