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

From: Kuninori Morimoto
Date: Tue Oct 18 2016 - 21:37:00 EST



Hi Rob

> > + 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