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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html