Re: [PATCH 20/23] ASoC: add simple-graph-card document
From: Kuninori Morimoto
Date: Fri Oct 21 2016 - 01:45:53 EST
Hi Rob
Can I continue this idea (= property on port/endpoint) ?
Of course I will remove "type" from OF graph.
> > > + type = "sound";
> >
> > I'm still not convinced this is necessary. This is implied either by
> > the fact there is only one port or perhaps the compatible string.
>
> 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.
>
> > > +rcar_sound {
> > > + ...
> > > + port {
> > > + compatible = "asoc-simple-graph-card";
> > > +
> > > + simple-audio-card,format = "left_j";
> > > + simple-audio-card,bitclock-master = <&ak4643_port>;
> > > + simple-audio-card,frame-master = <&ak4643_port>;
> >
> > Don't add a bunch of properties with in port and endpoint nodes. The
> > purpose is to describe the graph. Put these in the parent node or
> > perhaps the codec node.
>
> These properties are needed on each ports/endpoints on sound at this point.
> If ports/endpoints can't include these, I need to separate these,
> is it correct approach ? ?? see below
>
> -- current style --
>
> ports {
> compatible = "asoc-simple-graph-card";
> simple-audio-card,name = "graph-sound";
>
> port@0 {
> simple-audio-card,format = "left_j";
> simple-audio-card,bitclock-master = <&rcar_ak4613_port>;
> simple-audio-card,frame-master = <&rcar_ak4613_port>;
>
> type = "sound";
> rcar_ak4613_port: endpoint {
> remote-endpoint = <&ak4613_port>;
> playback = <&ssi0 &src0 &dvc0>;
> capture = <&ssi1 &src1 &dvc1>;
> };
> };
> port@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>;
> };
> };
> port@2 {
> simple-audio-card,format = "i2s";
> simple-audio-card,bitclock-master = <&rcar_hdmi1_port>;
> simple-audio-card,frame-master = <&rcar_hdmi1_port>;
> type = "sound";
> rcar_hdmi1_port: endpoint {
> remote-endpoint = <&du_out_hdmi_snd1>;
> playback = <&ssi3>;
> };
> };
> };
>
> -- separate style --
>
> ports {
> port@0 {
> rcar_ak4613_port: endpoint {
> }
> };
> port@1 {
> rcar_hdmi0_port: endpoint {
> }
> };
> port@2 {
> rcar_hdmi1_port: endpoint {
> }
> };
> };
>
> sound-xxx {
> compatible = "asoc-simple-graph-card";
>
> port@0 {
> simple-audio-card,format = "left_j";
> simple-audio-card,bitclock-master = <&rcar_ak4613_port>;
> simple-audio-card,frame-master = <&rcar_ak4613_port>;
> };
> port@1 {
> simple-audio-card,format = "i2s";
> simple-audio-card,bitclock-master = <&rcar_hdmi0_port>;
> simple-audio-card,frame-master = <&rcar_hdmi0_port>;
> };
> port@2 {
> simple-audio-card,format = "i2s";
> simple-audio-card,bitclock-master = <&rcar_hdmi1_port>;
> simple-audio-card,frame-master = <&rcar_hdmi1_port>;
> };
> };
>
> Best regards
> ---
> Kuninori Morimoto