summaryrefslogtreecommitdiff
path: root/sound/soc/qcom/sc7180.c
diff options
context:
space:
mode:
authorxuyuqing <xuyuqing@huaqin.corp-partner.google.com>2020-11-18 03:58:58 +0300
committerMark Brown <broonie@kernel.org>2020-11-27 17:50:17 +0300
commit7f2c63d6ae0754e5389c5942cb3bd670ea6cff40 (patch)
tree0c513b5e30014db79778f5da76f44ec44af998a0 /sound/soc/qcom/sc7180.c
parentbaed393e8550fa075512772fad27e98ba9dcb527 (diff)
downloadlinux-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.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: