[alsa-devel] [PATCH 20/23] ASoC: add simple-graph-card document

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed Oct 19 08:13:39 CEST 2016


Hi Rob

Thank you for your feedback

> > Do you mean "on this sample" ? or in general ?
> > Indeed this sample is definitely for sound, so type is very clear
> > without property.
> > But in general, for example HDMI, it want to know port type.
> > Anyway, I can remove above "type" from this new sound driver.
> 
> For HDMI, the port number should dictate which one is video and which is audio.

Hmm.. I will consider about that.

> >         ports {
> >                 compatible = "asoc-simple-graph-card";
> 
> I think your problems start with trying to extend simple-card. This
> binding is anything but simple. I think using OF graph is a good idea,
> but trying to make it completely generic is not.

Current ALSA SoC basically needs CPU/Codec/Card drivers.
If we use this new simple sound card, DT needs only CPU/Codec.
Card part will be created from CPU by using compatible = "xxx"
(= Card driver itself is needed, but no DT)

This "Card" part is related to its whole sound system.
If you want to use normal sound system, it will be "simple-card",
if you want to use feature sound system, it will be "xxxx-card".
This time, I'm focusing to simple one, someone will create xxxx-card,
but it is not me :)

> >                 port at 0 {
> >                         simple-audio-card,format = "left_j";
> >                         simple-audio-card,bitclock-master = <&rcar_ak4613_port>;
> >                         simple-audio-card,frame-master = <&rcar_ak4613_port>;
> 
> These look like properties of the ak4613 to me, so put them in the
> ak4613 node. If they are standard property names, then you just walk
> the graph and get them.

These were "Card" part property, not ak4613 property.
It indicates which can be master (CPU or Codec) on sound system.

> >                         type = "sound";
> >                         rcar_ak4613_port: endpoint {
> >                                 remote-endpoint = <&ak4613_port>;
> >                                 playback = <&ssi0 &src0 &dvc0>;
> >                                 capture  = <&ssi1 &src1 &dvc1>;
> 
> Not really sure how you are using these to comment.

I'm sorry, maybe your confusing is because this sample.
This playback/capture are Renesas CPU specific properties.
Renesas CPU port needs to know CPU-inside connection.

> >                 port at 1 {
> >                         simple-audio-card,format = "i2s";
> >                         simple-audio-card,bitclock-master = <&rcar_hdmi0_port>;
> >                         simple-audio-card,frame-master = <&rcar_hdmi0_port>;
> >                         type = "sound";
> >                         rcar_hdmi0_port: endpoint {
> >                                 remote-endpoint = <&du_out_hdmi_snd0>;
> >                                 playback = <&ssi2>;
> 
> If you are trying to describe a connection between hdmi_snd0 and ssi2,
> then do just that. Add a port to ssi2 and connect it to hdmi_snd0.

I'm sorry, same comment.
This "playback" is Renesas CPU specific property.
It indicating Renesas CPU inside connection


More information about the Alsa-devel mailing list