summaryrefslogtreecommitdiffstats
path: root/sound/soc/qcom
diff options
context:
space:
mode:
authorxuyuqing <xuyuqing@huaqin.corp-partner.google.com>2020-11-18 08:58:58 +0800
committerMark Brown <broonie@kernel.org>2020-11-27 14:50:17 +0000
commit7f2c63d6ae0754e5389c5942cb3bd670ea6cff40 (patch)
tree0c513b5e30014db79778f5da76f44ec44af998a0 /sound/soc/qcom
parentbaed393e8550fa075512772fad27e98ba9dcb527 (diff)
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')
-rw-r--r--sound/soc/qcom/sc7180.c3
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: