On Wed, 01 Jan 2014 21:11:23 +0100 Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: > On 01/01/2014 09:08 PM, Jean-Francois Moine wrote: > > On Wed, 01 Jan 2014 20:05:05 +0100 > > Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: > > > >> As Mark also said, this binding definitely leaks way too much internals of > >> the current ASoC implementation. In my opinion the way forward for ASoC is > >> to stop to distinguish between different types of components. This is on one > >> hand CODECS and CPU-DAIs and on the other hand also front-end and beck-end > >> DAIs. The first steps in this direction have already been take by the start > >> of the component-fication, but its still a long way to go. Exposing those > >> concepts via the devicetree will only make it harder to get rid of them > >> later. The bindings for a compound card should essentially describe which > >> components are involved and how the fabric between and around them looks > >> like. If the type of the component is needed in the ASoC implementation it > >> should be possible to auto-discover it. Also I think we want to align the > >> devicetree bindings with what the media people have been doing[1]. > > > > (you forgot the [1] reference) > > http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/media/video-interfaces.txt I see the idea. So here is a proposal of DT for the Cubox (audio + video) which should work without too many difficulties. /* video / audio transmitter */ tda998x: hdmi-encoder { compatible = "nxp,tda998x"; ... /* video */ port@0 { tda998x_0: endpoint { reg = <0x230145>; remote-endpoint = <&lcd0_0>; }; }; /* audio */ port@1 { hdmi_i2s_audio: endpoint@0 { reg = <0x03>; remote-endpoint = <&audio_hdmi_i2s>; }; hdmi_spdif_audio: endpoint@1 { reg = <0x04>; remote-endpoint = <&audio_hdmi_spdif>; }; }; }; toslink: spdif { compatible = "linux,spdif-dit"; port { spdif_audio: endpoint { remote-endpoint = <&audio_spdif>; }; }; }; /* video */ lcd0: video-controller { compatible = "marvell,dove-lcd"; ... port { lcd0_0: endpoint { remote-endpoint = <&tda998x_0>; }; }; }; video { compatible = "media-video"; video-controller = <&lcd0>; }; /* audio */ audio1: audio-controller { compatible = "marvell,dove-audio"; ... port@0 { audio_hdmi_i2s: endpoint { remote-endpoint = <&hdmi_i2s_audio>; }; }; port@1 { audio_hdmi_spdif: endpoint@0 { remote-endpoint = <&hdmi_spdif_audio>; }; audio_spdif: endpoint@1 { remote-endpoint = <&spdif_audio>; }; }; }; sound { compatible = "media-audio"; audio-controller = <&audio1>; }; -- Ken ar c'hentañ | ** Breizh ha Linux atav! ** Jef | http://moinejf.free.fr/ -- 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