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

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed Oct 19 03:36:27 CEST 2016


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 at 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 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>;
			};
		};
		port at 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 at 0 {
			rcar_ak4613_port: endpoint {
			}
		};
		port at 1 {
			rcar_hdmi0_port: endpoint {
			}
		};
		port at 2 {
			rcar_hdmi1_port: endpoint {
			}
		};
	};

	sound-xxx {
		compatible = "asoc-simple-graph-card";

		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>;
		};
		port at 1 {
			simple-audio-card,format = "i2s";
			simple-audio-card,bitclock-master = <&rcar_hdmi0_port>;
			simple-audio-card,frame-master = <&rcar_hdmi0_port>;
		};
		port at 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


More information about the Alsa-devel mailing list