]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: qcom: sm8250: enable primary mi2s
authorJens Reidel <adrian@travitia.xyz>
Mon, 26 Aug 2024 13:49:20 +0000 (15:49 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 10 Sep 2024 13:16:02 +0000 (14:16 +0100)
When using primary mi2s on sm8250-compatible SoCs, the correct clock
needs to get enabled to be able to use the mi2s interface.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Tested-by: Danila Tikhonov <danila@jiaxyga.com> # sm7325-nothing-spacewar
Link: https://patch.msgid.link/20240826134920.55148-2-adrian@travitia.xyz
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/sm8250.c

index a15dafb99b3370277008fa9f2b778282464c22e9..274bab28209aea0f2783f162f9048205b67524b2 100644 (file)
@@ -55,6 +55,14 @@ static int sm8250_snd_startup(struct snd_pcm_substream *substream)
        struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0);
 
        switch (cpu_dai->id) {
+       case PRIMARY_MI2S_RX:
+               codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S;
+               snd_soc_dai_set_sysclk(cpu_dai,
+                       Q6AFE_LPASS_CLK_ID_PRI_MI2S_IBIT,
+                       MI2S_BCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);
+               snd_soc_dai_set_fmt(cpu_dai, fmt);
+               snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt);
+               break;
        case TERTIARY_MI2S_RX:
                codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S;
                snd_soc_dai_set_sysclk(cpu_dai,