Re: [PATCH RFC 2/3] ASoC: audio-graph-card2: support explicitly disabled links
From: Kuninori Morimoto
Date: Mon May 19 2025 - 20:38:57 EST
Hi Laurentiu
> so, the problem with this is the fact that (assuming you've used a DT overlay
> for the PLUGIN) you won't be able to use the DT overlay on other boards because
> you've also added the "Headphone0", "Codec0" route which is specific to BASE's
> Codec0. We have multiple boards so our system would look like this:
>
> BASE0 PLUGIN
> +-----------------+
> | CPU0 <-> Codec0 | +--------+
> | CPU1 | <-> | Codec1 |
> +-----------------+ +--------+
>
>
> BASE1 PLUGIN
> +-----------------+
> | CPU0 <-> Codec3 | +--------+
> | CPU1 | <-> | Codec1 |
> +-----------------+ +--------+
>
>
> The plugin is the same. The only difference between BASE1 and BASE0 is the fact that CPU0
> is connected to Codec0 on BASE0, while, on BASE1, CPU0 is connected to a different codec: Codec3.
Ah, OK, that it the reason why you added the route on BASE side...
Hmm... I think my previous suggested idea (new flag) is reasonable, but you
mentioned that you want to check whether it was "disabled" or not.
So, how about to add "plugin-route" and "plugin-links" instead ?
BASE
my_card: card {
links = <&cpu0>;
routing = "Headphone0", "Codec0"; /* for CPU0-Codec0 */
};
PLUGIN
&my_card {
plugin-links = <&cpu1>, <&cpu2>
plugin-routing = "Headphone1", "Codec1", /* for CPU1-Codec1 */
^^^^^^ "Headphone2", "Codec2"; /* for CPU2-Codec2 */
};
Audio Card2 parses "links" + "plugin-links", and
"routing" + "plugin-routing". It is more intuitive ?
> > BASE PLUGIN
> > +-----------------+ ^
> > | CPU0 <-> Codec0 | | Card1
> > | | v
> > | | +--------+ ^
> > | CPU1 | <-> | Codec1 | | Card2
> > | CPU2 | <-> | Codec2 | |
> > +-----------------+ +--------+ v
>
> one important thing to note here is the fact that we can only
> have 1 sound card because all DAIs (CPU0, CPU1, CPU2) belong
> to the same component.
Indeed it depens on the CPU side driver style.
I have updated my driver to allow to be multi components by checking DT.
I'm not sure which one (= use plugin-xxx flag or use multi Cards) is
more intuitive, but supporting both is not bad idea ?
Thank you for your help !!
Best regards
---
Kuninori Morimoto