[alsa-devel] [PATCH] ASoC: generic: add generic compound card with DT support
Jean-Francois Moine
moinejf at free.fr
Thu Jan 2 10:26:47 CET 2014
On Wed, 01 Jan 2014 21:11:23 +0100
Lars-Peter Clausen <lars at metafoo.de> 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 at metafoo.de> 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 at 0 {
tda998x_0: endpoint {
reg = <0x230145>;
remote-endpoint = <&lcd0_0>;
};
};
/* audio */
port at 1 {
hdmi_i2s_audio: endpoint at 0 {
reg = <0x03>;
remote-endpoint = <&audio_hdmi_i2s>;
};
hdmi_spdif_audio: endpoint at 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 at 0 {
audio_hdmi_i2s: endpoint {
remote-endpoint = <&hdmi_i2s_audio>;
};
};
port at 1 {
audio_hdmi_spdif: endpoint at 0 {
remote-endpoint = <&hdmi_spdif_audio>;
};
audio_spdif: endpoint at 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/
More information about the Alsa-devel
mailing list