Files
BPI-CM9-Linux/build/patch/kernel/archive/sm8250-6.18/0019-ASoC-qcom-sm8250-Add-primary-tdm-support.patch

41 lines
1.2 KiB
Diff

From 8d9ead46d01e85c4e6e6ca66027a555255f86e16 Mon Sep 17 00:00:00 2001
From: chalkin <[email protected]>
Date: Mon, 5 Aug 2024 21:51:00 +0800
Subject: [PATCH 19/62] ASoC: qcom: sm8250: Add primary tdm support
Signed-off-by: Jiali Chen <[email protected]>
---
sound/soc/qcom/sm8250.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c
index a383f74c5187..2804fcfbeaa4 100644
--- a/sound/soc/qcom/sm8250.c
+++ b/sound/soc/qcom/sm8250.c
@@ -175,6 +175,22 @@ static int sm8250_snd_startup(struct snd_pcm_substream *substream)
}
}
break;
+ case PRIMARY_TDM_RX_0:
+ codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_DSP_A;
+ snd_soc_dai_set_sysclk(cpu_dai,
+ Q6AFE_LPASS_CLK_ID_PRI_TDM_IBIT ,
+ TDM_BCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);
+
+ for_each_rtd_codec_dais(rtd, j, codec_dai) {
+ ret = snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt);
+ snd_soc_dai_set_sysclk(codec_dai, 0, TDM_BCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);
+ if (ret < 0) {
+ dev_err(rtd->dev, "TDM fmt err:%d\n", ret);
+ return ret;
+ }
+ }
+ break;
+
default:
break;
}
--
2.47.3