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