Re: [PATCH v5 11/14] ASoC: add simple-graph-card document

From: Kuninori Morimoto
Date: Sun Dec 04 2016 - 18:49:03 EST



Hi Rob, Mark

> > +++ b/Documentation/devicetree/bindings/sound/simple-graph-card.txt
> > @@ -0,0 +1,67 @@
> > +Simple-Graph-Card:
>
> There's nothing simple about this. graph-audio-card or audio-card-graph.

I have no objection about naming, but this is one of simple-xxx-card series.
And, this is very simple from ALSA SoC point of view...

> > +rcar_sound {
> > + ...
> > + port {
> > + compatible = "asoc-simple-graph-card";
>
> Do you have an example where you'd have multiple ports? If not, this
> should go up a level.

ALSA SoC needs 3 type of driver, CPU/Codec/Card. But HW is SoC <-> Codec.
Thus, "CPU" side DT needs to call "Card" portion, and ALSA SoC needs to
select Card type (graph-audio-card, graph-scu-card, etc, etc....).
Above it for it.

SoC {
compatible = "cpu_driver_compatible_name";
...
port {
compatible = "card_driver_compatible_name";
...
};
};

Here, SoC driver "cpu_driver_compatible_name" will handle CPU and its
each port settings. And it will probes "card_driver_compatible_name".
"card_driver_compatible_name" will connect CPU <-> Codec via ALSA SoC.

> > + simple-audio-card,format = "left_j";
> > + simple-audio-card,bitclock-master = <&ak4643_port>;
> > + simple-audio-card,frame-master = <&ak4643_port>;
>
> If you follow video-interfaces.txt, these should all go in the endpoint
> node.

Hmm... this is not for endpoint, but for whole card.
Mark, of course this can goes to each endpoint, but it negates passed
ALSA SoC Card discussion/decision. What is your opinion ?