Message ID | 1443472357-12150-1-git-send-email-benzh@chromium.org (mailing list archive) |
---|---|
State | Accepted |
Commit | fbe039bb0815e6113f82021aa8c0e36a1941f511 |
Headers | show |
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"
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, },
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(-)