diff options
author | xuyuqing <xuyuqing@huaqin.corp-partner.google.com> | 2020-11-18 03:58:58 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-11-27 17:50:17 +0300 |
commit | 7f2c63d6ae0754e5389c5942cb3bd670ea6cff40 (patch) | |
tree | 0c513b5e30014db79778f5da76f44ec44af998a0 /sound/soc/qcom/sc7180.c | |
parent | baed393e8550fa075512772fad27e98ba9dcb527 (diff) | |
download | linux-7f2c63d6ae0754e5389c5942cb3bd670ea6cff40.tar.xz |
ASoC: qcom: sc7180: fix 32 bit format for adau7002
the microphone is attached to external codec(adau7002)
instead of rt5682.We need to always use 32 bit format on sc7180
to meet the clock requirement of adau7002:
The ADAU7002 requires a BCLK rate
that is a minimum of 64× the LRCLK sample rate
Signed-off-by: xuyuqing <xuyuqing@huaqin.corp-partner.google.com>
Link: https://lore.kernel.org/r/20201118005858.123013-2-xuyuqing@huaqin.corp-partner.google.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/qcom/sc7180.c')
-rw-r--r-- | sound/soc/qcom/sc7180.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/qcom/sc7180.c b/sound/soc/qcom/sc7180.c index de70fa792aea..768566bb57a5 100644 --- a/sound/soc/qcom/sc7180.c +++ b/sound/soc/qcom/sc7180.c @@ -245,6 +245,7 @@ static int sc7180_adau7002_snd_startup(struct snd_pcm_substream *substream) struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0); struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0); + struct snd_pcm_runtime *runtime = substream->runtime; switch (cpu_dai->id) { case MI2S_PRIMARY: @@ -252,6 +253,8 @@ static int sc7180_adau7002_snd_startup(struct snd_pcm_substream *substream) SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S); + runtime->hw.formats = SNDRV_PCM_FMTBIT_S32_LE; + snd_pcm_hw_constraint_msbits(runtime, 0, 32, 32); break; case MI2S_SECONDARY: |