ASoC: SDM845: Update MI2S and TDM configuration
Subsystems (3)
cover ASoC: SDM845: Update MI2S and TDM configuration
Update bit clock rate, slot width for TDM and MI2S interfaces. Also add support for secondary MI2S TX interface in SDM845 machine driver.
Rohit kumar (2):
ASoC: sdm845: Update slot_width for Quaternary TDM port
ASoC: sdm845: Add support for Secondary MI2S interface
sound/soc/qcom/sdm845.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-)
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
PATCH 1/2 ASoC: sdm845: Update slot_width for Quaternary TDM port
Change slot_width for quaternary TDM port to 16 and update bclk rate for TDM and MI2S interfaces accordingly.
--- sound/soc/qcom/sdm845.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
sound/soc/qcom/sdm845.c +5 -4
@@ -13,7 +13,8 @@#define DEFAULT_SAMPLE_RATE_48K 48000#define DEFAULT_MCLK_RATE 24576000 -#define DEFAULT_BCLK_RATE 12288000 +#define TDM_BCLK_RATE 6144000 +#define MI2S_BCLK_RATE 1536000struct sdm845_snd_data {struct snd_soc_card *card;
@@ -33,7 +34,7 @@ static int sdm845_tdm_snd_hw_params(struct snd_pcm_substream *substream,switch (params_format (params)) {case SNDRV_PCM_FORMAT_S16_LE : - slot_width =32 ; + slot_width =16 ;break ;default : dev_err(rtd->dev, "%s: invalid param format 0x%x\n",
@@ -115,7 +116,7 @@ static int sdm845_snd_startup(struct snd_pcm_substream *substream) DEFAULT_MCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);snd_soc_dai_set_sysclk (cpu_dai,Q6AFE_LPASS_CLK_ID_PRI_MI2S_IBIT , -DEFAULT_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); +MI2S_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); }snd_soc_dai_set_fmt (cpu_dai, fmt);break ;
@@ -125,7 +126,7 @@ static int sdm845_snd_startup(struct snd_pcm_substream *substream)if (++(data->quat_tdm_clk_count) ==1 ) {snd_soc_dai_set_sysclk (cpu_dai,Q6AFE_LPASS_CLK_ID_QUAD_TDM_IBIT , -DEFAULT_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); +TDM_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); }break ;
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Re: [PATCH 1/2] ASoC: sdm845: Update slot_width for Quaternary TDM port
Quoted 8 lines · Rohit kumar
Change
slot_widthfor quaternary TDM port to 16 and update bclk rate for TDM and MI2S interfaces accordingly.Signed-off-by Rohit kumar <[email protected]> > ---sound/soc/qcom/sdm845.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
Mark Brown
maintainerApplied "ASoC: sdm845: Update slot_width for Quaternary TDM port" to the asoc tree
In reply to Rohit kumarThe patch
ASoC: sdm845: Update slot_width for Quaternary TDM port
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
a1849b7dd30a07654b53f3599cc8f028afeb5d9fMon Sep 17 00:00:00 2001
From: Rohit kumar <[email protected]>
Date: Fri, 16 Nov 2018 13:11:57 +0530
Subject: [PATCH] ASoC: sdm845: Update slot_width for Quaternary TDM port
Change slot_width for quaternary TDM port to 16 and update bclk rate for TDM and MI2S interfaces accordingly.
--- sound/soc/qcom/sdm845.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
sound/soc/qcom/sdm845.c +5 -4
@@ -13,7 +13,8 @@#define DEFAULT_SAMPLE_RATE_48K 48000#define DEFAULT_MCLK_RATE 24576000 -#define DEFAULT_BCLK_RATE 12288000 +#define TDM_BCLK_RATE 6144000 +#define MI2S_BCLK_RATE 1536000struct sdm845_snd_data {struct snd_soc_card *card;
@@ -33,7 +34,7 @@ static int sdm845_tdm_snd_hw_params(struct snd_pcm_substream *substream,switch (params_format (params)) {case SNDRV_PCM_FORMAT_S16_LE : - slot_width =32 ; + slot_width =16 ;break ;default : dev_err(rtd->dev, "%s: invalid param format 0x%x\n",
@@ -115,7 +116,7 @@ static int sdm845_snd_startup(struct snd_pcm_substream *substream) DEFAULT_MCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);snd_soc_dai_set_sysclk (cpu_dai,Q6AFE_LPASS_CLK_ID_PRI_MI2S_IBIT , -DEFAULT_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); +MI2S_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); }snd_soc_dai_set_fmt (cpu_dai, fmt);break ;
@@ -125,7 +126,7 @@ static int sdm845_snd_startup(struct snd_pcm_substream *substream)if (++(data->quat_tdm_clk_count) ==1 ) {snd_soc_dai_set_sysclk (cpu_dai,Q6AFE_LPASS_CLK_ID_QUAD_TDM_IBIT , -DEFAULT_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); +TDM_BCLK_RATE ,SNDRV_PCM_STREAM_PLAYBACK ); }break ;
Signature · 1 line
2.19.0.rc2
PATCH 2/2 ASoC: sdm845: Add support for Secondary MI2S interface
In reply to Rohit kumarAdd support to configure bit clock for secondary MI2S TX interface.
--- sound/soc/qcom/sdm845.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
sound/soc/qcom/sdm845.c +18 -0
@@ -19,6 +19,7 @@struct sdm845_snd_data {struct snd_soc_card *card;uint32_t pri_mi2s_clk_count; +uint32_t sec_mi2s_clk_count;uint32_t quat_tdm_clk_count; };
@@ -121,6 +122,15 @@ static int sdm845_snd_startup(struct snd_pcm_substream *substream)snd_soc_dai_set_fmt (cpu_dai, fmt);break ; +case SECONDARY_MI2S_TX : +if (++(data->sec_mi2s_clk_count) ==1 ) { +snd_soc_dai_set_sysclk (cpu_dai, +Q6AFE_LPASS_CLK_ID_SEC_MI2S_IBIT , +MI2S_BCLK_RATE ,SNDRV_PCM_STREAM_CAPTURE ); + } +snd_soc_dai_set_fmt (cpu_dai, fmt); +break ; +case QUATERNARY_TDM_RX_0 :case QUATERNARY_TDM_TX_0 :if (++(data->quat_tdm_clk_count) ==1 ) {
@@ -157,6 +167,14 @@ static void sdm845_snd_shutdown(struct snd_pcm_substream *substream) };break ; +case SECONDARY_MI2S_TX : +if (--(data->sec_mi2s_clk_count) ==0 ) { +snd_soc_dai_set_sysclk (cpu_dai, +Q6AFE_LPASS_CLK_ID_SEC_MI2S_IBIT , +0 ,SNDRV_PCM_STREAM_CAPTURE ); + } +break ; +case QUATERNARY_TDM_RX_0 :case QUATERNARY_TDM_TX_0 :if (--(data->quat_tdm_clk_count) ==0 ) {
Signature · 2 lines
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc., is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.
Re: [PATCH 2/2] ASoC: sdm845: Add support for Secondary MI2S interface
Quoted 6 lines · Rohit kumar
Add support to configure bit clock for secondary MI2S TX interface.
Signed-off-by Rohit kumar<[email protected]>--- sound/soc/qcom/sdm845.c | 18 ++++++++++++++++++
Mark Brown
maintainerApplied "ASoC: sdm845: Add support for Secondary MI2S interface" to the asoc tree
In reply to Rohit kumarThe patch
ASoC: sdm845: Add support for Secondary MI2S interface
has been applied to the asoc tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
992e75b3c80952fc60946458c75e1bf609e86aa2Mon Sep 17 00:00:00 2001
From: Rohit kumar <[email protected]>
Date: Fri, 16 Nov 2018 13:11:58 +0530
Subject: [PATCH] ASoC: sdm845: Add support for Secondary MI2S interface
Add support to configure bit clock for secondary MI2S TX interface.
--- sound/soc/qcom/sdm845.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
sound/soc/qcom/sdm845.c +18 -0
@@ -19,6 +19,7 @@struct sdm845_snd_data {struct snd_soc_card *card;uint32_t pri_mi2s_clk_count; +uint32_t sec_mi2s_clk_count;uint32_t quat_tdm_clk_count; };
@@ -121,6 +122,15 @@ static int sdm845_snd_startup(struct snd_pcm_substream *substream)snd_soc_dai_set_fmt (cpu_dai, fmt);break ; +case SECONDARY_MI2S_TX : +if (++(data->sec_mi2s_clk_count) ==1 ) { +snd_soc_dai_set_sysclk (cpu_dai, +Q6AFE_LPASS_CLK_ID_SEC_MI2S_IBIT , +MI2S_BCLK_RATE ,SNDRV_PCM_STREAM_CAPTURE ); + } +snd_soc_dai_set_fmt (cpu_dai, fmt); +break ; +case QUATERNARY_TDM_RX_0 :case QUATERNARY_TDM_TX_0 :if (++(data->quat_tdm_clk_count) ==1 ) {
@@ -157,6 +167,14 @@ static void sdm845_snd_shutdown(struct snd_pcm_substream *substream) };break ; +case SECONDARY_MI2S_TX : +if (--(data->sec_mi2s_clk_count) ==0 ) { +snd_soc_dai_set_sysclk (cpu_dai, +Q6AFE_LPASS_CLK_ID_SEC_MI2S_IBIT , +0 ,SNDRV_PCM_STREAM_CAPTURE ); + } +break ; +case QUATERNARY_TDM_RX_0 :case QUATERNARY_TDM_TX_0 :if (--(data->quat_tdm_clk_count) ==0 ) {
Signature · 1 line
2.19.0.rc2