[alsa-devel] [PATCH] ASoC: rt5645: Allow 4 channel recording on AIF1
The codec supports 4 channel recording with TDM on AIF1. This patch modifies the DAI capability to allow it.
Signed-off-by: Ben Zhang benzh@chromium.org --- sound/soc/codecs/rt5645.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c index b0d96b6..0d092bf 100644 --- a/sound/soc/codecs/rt5645.c +++ b/sound/soc/codecs/rt5645.c @@ -3101,7 +3101,7 @@ static struct snd_soc_dai_driver rt5645_dai[] = { .capture = { .stream_name = "AIF1 Capture", .channels_min = 1, - .channels_max = 2, + .channels_max = 4, .rates = RT5645_STEREO_RATES, .formats = RT5645_FORMATS, },
On Mon, Sep 28, 2015 at 01:32:37PM -0700, Ben Zhang wrote:
The codec supports 4 channel recording with TDM on AIF1. This patch modifies the DAI capability to allow it.
Is there no code change needed to configure for the number of channels being used? I can't see any current handling of that, nor anything that looks like non-stereo handling in the DAPM graph.
On Wed, Sep 30, 2015 at 12:03 PM, Mark Brown broonie@kernel.org wrote:
On Mon, Sep 28, 2015 at 01:32:37PM -0700, Ben Zhang wrote:
The codec supports 4 channel recording with TDM on AIF1. This patch modifies the DAI capability to allow it.
Is there no code change needed to configure for the number of channels being used? I can't see any current handling of that, nor anything that looks like non-stereo handling in the DAPM graph.
No code change is needed. The current driver already supports 4 channel recording from DMICs using the Stereo1 path and the two Mono paths. rt5645_set_tdm_slot callback handles the I2S1 port config for TDM. It has been tested on a broadwell chromebook. An ASoC machine driver just needs to call snd_soc_dai_set_tdm_slot, and let ucm config file set the muxes/mixers for the following paths.
"DMIC L1"/"DMIC R1" -> "DMIC1" -> "Stereo1 DMIC Mux" -> "Stereo1 ADC L2 Mux"/"Stereo1 ADC R2 Mux" -> "Sto1 ADC MIXL"/"Sto1 ADC MIXR" -> "Stereo1 ADC MIXL"/"Stereo1 ADC MIXR" -> "IF_ADC1" -> "RT5650 IF1 ADC1 Swap Mux" -> "IF1 ADC" -> "RT5650 IF1 ADC Mux" -> "AIF1TX" -> "AIF1 Capture"
"DMIC L2" -> "Mono DMIC L Mux" -> "Mono ADC L2 Mux" -> "Mono ADC MIXL" -> "IF_ADC2" -> "RT5650 IF1 ADC2 Swap Mux" -> "IF1 ADC" -> "RT5650 IF1 ADC Mux" -> "AIF1TX" -> "AIF1 Capture"
"DMIC R2" -> "Mono DMIC R Mux" -> "Mono ADC R2 Mux" -> "Mono ADC MIXR" -> "IF_ADC2" -> "RT5650 IF1 ADC2 Swap Mux" -> "IF1 ADC" -> "RT5650 IF1 ADC Mux" -> "AIF1TX" -> "AIF1 Capture"
The patch
ASoC: rt5645: Allow 4 channel recording on AIF1
has been applied to the asoc tree at
git://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
From fbe039bb0815e6113f82021aa8c0e36a1941f511 Mon Sep 17 00:00:00 2001
From: Ben Zhang benzh@chromium.org Date: Mon, 28 Sep 2015 13:32:37 -0700 Subject: [PATCH] ASoC: rt5645: Allow 4 channel recording on AIF1
The codec supports 4 channel recording with TDM on AIF1. This patch modifies the DAI capability to allow it.
Signed-off-by: Ben Zhang benzh@chromium.org Signed-off-by: Mark Brown broonie@kernel.org --- sound/soc/codecs/rt5645.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c index 1f7045bc..66b7332e 100644 --- a/sound/soc/codecs/rt5645.c +++ b/sound/soc/codecs/rt5645.c @@ -3113,7 +3113,7 @@ static struct snd_soc_dai_driver rt5645_dai[] = { .capture = { .stream_name = "AIF1 Capture", .channels_min = 1, - .channels_max = 2, + .channels_max = 4, .rates = RT5645_STEREO_RATES, .formats = RT5645_FORMATS, },
participants (2)
-
Ben Zhang
-
Mark Brown