Re: [PATCH 0/2] Graph fixes for using multiple endpoints per port

From: Kuninori Morimoto
Date: Tue Dec 11 2018 - 00:16:12 EST



Hi Tony

> > This looks a little bit strange for me.
> > Can you show me your DT for it ?
>
> Sure, adding also Sebastian to Cc. Here's what I currently have for droid 4
> dts with two codecs on I2S. Please just ignore the GNSS parts there..
>
> The TDM configuration is all done in the cpcap_audio_codec via set_tdm_slot().
> The modem voice call codec is a serdev driver :) I'll need some more time to
> be able to post patches but it's basically working for voice calls.

Hmm... it seems strange...
I guess you are using "ti,omap4-mcbsp" driver (= linux/sound/soc/omap/omap-mcbsp.c)
Is this correct ?

If so, your driver is registering component as

ret = devm_snd_soc_register_component(&pdev->dev,
&omap_mcbsp_component,
&omap_mcbsp_dai, 1);

Your driver has only 1 DAI.

> mcbsp3_port: port {
> - cpu_dai3: endpoint {
> + cpu_dai3: endpoint@0 {
> dai-format = "dsp_a";
> frame-master = <&cpcap_audio_codec1>;
> bitclock-master = <&cpcap_audio_codec1>;
> remote-endpoint = <&cpcap_audio_codec1>;
> };
> + cpu_dai_mdm: endpoint@1 {
> + dai-format = "dsp_a";
> + frame-master = <&cpcap_audio_codec1>;
> + bitclock-master = <&cpcap_audio_codec1>;
> + remote-endpoint = <&mot_mdm6600_audio_codec0>;
> + };

And here, you have 1 port, 2 endpoint.
Then, asoc_simple_card_get_dai_id() should return 1.

And, your [2/2] patch,
I guess you are misunderstanding about "port" vs "endpoint",
or omap-mcbsp driver side need to update ?

Best regards
---
Kuninori Morimoto