More Generic Audio Graph Sound Card idea
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Fri Oct 16 01:04:37 CEST 2020
Hi Mark
Thank you for feedback
> > -- DT Image --
> >
> > +--+
> > => | |<--> Codec1
> > | |<--> Codec2
> > +--+
> >
> > -- DT Sample --
> >
> > sound {
> > compatible = "audio-graph-card2";
> >
> > dais = <&codec2codec>;
> > };
> >
> > CODEC2CODEC {
> > compatible = "audio-graph-card2-codec2codec";
> >
> > ports {
> > codec2codec: port at 0 { fe_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
> > port at 1 { be_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
> > };
> > };
>
> I'm a bit confused about the use of FE and BE here since the two CODECs
> are peers rather than this being DPCM - I think that's just a bit
> cut'n'paste rather than anything else though? The other examples look
> sensible I think but this one feels odd.
FE here is indicating CPU part's Codec,
BE is for Codec part's Codec.
> > -- Image ---
> >
> > *******
> > PCM0 <--> * * <--> DAI0: Codec Headset
> > PCM1 <--> * * <--> DAI1: Codec Speakers
> > PCM2 <--> * DSP * <--> DAI2: MODEM
> > PCM3 <--> * * <--> DAI3: BT
> > * * <--> DAI4: DMIC
> > * * <--> DAI5: FM
> > *******
>
> > DSP {
> > compatible = "audio-graph-card2-dsp";
> >
> > ports at 0 {
> > /* Front-End is pcm0_ep, Back-End is dummy */
> > dsp_fe0: port at 0 { dsp_fe0_ep: endpoint { remote-endpoint = <&pcm0_ep>; }; };
> > port at 1 { };
> > };
>
> I'm not clear why we need to represent the dummy port here?
I'm thining that
port at 0 is IN (= CPU), port at 1 is OUT (= Codec).
Empty endpoint means not yet connected (= dummy).
It is difficut to know it was CPU-dummy or dummy-Codec without it.
Thank you for your help !!
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list