From: xuyuqing Date: Wed, 18 Nov 2020 00:58:58 +0000 (+0800) Subject: ASoC: qcom: sc7180: fix 32 bit format for adau7002 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7f2c63d6ae0754e5389c5942cb3bd670ea6cff40;p=linux.git 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 Link: https://lore.kernel.org/r/20201118005858.123013-2-xuyuqing@huaqin.corp-partner.google.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/qcom/sc7180.c b/sound/soc/qcom/sc7180.c index de70fa792aea5..768566bb57a5f 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: