Re: [PATCH] ASoC: core: Support INPUT and OUTPUT DAPM widgets in DT

Ivaylo Dimitrov <[email protected]>
Newsgroups gmane.linux.sound,gmane.linux.kernel
Message-ID <[email protected]>

On 5.08.26 г. 20:23 ч., Mark Brown wrote:
> On Wed, Aug 05, 2026 at 08:16:10PM +0300, Ivaylo Dimitrov wrote:
> 
>> I have an out-of-tree audio-graph-card2 based machine description for
>> Motorola OMAP4 devices using the CPCAP codec together with an external modem
>> codec. Without modelling the remote endpoint as a DAPM INPUT/OUTPUT widget,
>> the DAPM graph is incomplete and one side of the codec-to-codec link does
>> not become active as expected, so runtime PM does not resume one of the
>> devices in the link during a call.
> 
> Why is it appropriate that the remote endpoint be a raw widget of this
> non-specific type?
> 
>> I used INPUT/OUTPUT because they appear to be the generic DAPM endpoint
>> widgets for this type of digital connection. If there is a more appropriate
>> existing widget type for modelling such a remote DAI endpoint, I'd be happy
>> to use that instead.
> 
> If it's a DAI to DAI link you need a custom machine driver, we don't
> have anything like the infrastructure to put DAI<->DAI links in DT.
> These should be using AIF widgets.

Thanks for the pointer. It turned out that everything needed was already 
there; I had simply misunderstood the codec2codec example (or perhaps it 
could be a bit clearer).

The missing piece was to route the modem DAI stream widgets to the CPCAP 
AIF widgets in the audio-graph-card2 routing:

/* codec2codec */
"Voice RX", "Voice Call Playback",
"Voice Call Capture", "Voice TX";

With that in place, the codec-to-codec DAPM graph is complete and voice 
calls work correctly, so there is no need for my DT parser patch after all.

I'm sending this follow-up mainly as a reference in case someone else 
runs into the same issue in the future.

Thanks again for pointing me in the right direction.

Best regards,
Ivo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.