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

Ivaylo Dimitrov <[email protected]> Wed, 5 Aug 2026 20:16:10 +0300
Newsgroups org.kernel.vger.linux-sound,org.kernel.vger.linux-kernel
Message-ID <[email protected]>

On 5.08.26 г. 19:40 ч., Mark Brown wrote:
> On Wed, Aug 05, 2026 at 05:56:25PM +0300, Ivaylo Dimitrov wrote:
> 
>> Allow the DT audio graph parser to instantiate INPUT and OUTPUT DAPM
>> widgets.
> 
>> This extends the set of DAPM widgets that can be described in DT and
>> allows modelling external audio endpoints as part of the DAPM graph.
>> This is useful for more complex topologies, such as codec-to-codec links
>> or multi-DAI audio paths, where routing through external endpoints needs
>> to be expressed using standard DAPM routes.
> 
> What specific cases do you have where one of the more specific endpoint
> types isn't suitable?

The use case is a codec-to-codec DAI connection, where the remote 
endpoint is another digital audio interface (for example a modem or 
Bluetooth codec), rather than a physical microphone, speaker or 
line-level interface.

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.

With this change, voice calls using the audio-graph-card2 based machine 
description work correctly, as the codec-to-codec DAPM path is properly 
represented.

The topology I'm referring to is here:

https://git.maemo.org/leste-upstream-forks/droid4-linux/src/branch/leste/maemo-6.18.y/arch/arm/boot/dts/ti/omap/motorola-mapphone-handset.dtsi#L65

The hardware schematic diagram is here:

https://lkml.org/lkml/2018/3/27/1225

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.

Thanks,
Ivo