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