From: Jean-Francois Moine <moinejf@free.fr>
To: Lars-Peter Clausen <lars@metafoo.de>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
alsa-devel@alsa-project.org, Mark Brown <broonie@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [alsa-devel] [PATCH] ASoC: generic: add generic compound card with DT support
Date: Wed, 1 Jan 2014 21:08:14 +0100 [thread overview]
Message-ID: <20140101210814.31e3f3a9@armhf> (raw)
In-Reply-To: <52C466E1.3030302@metafoo.de>
On Wed, 01 Jan 2014 20:05:05 +0100
Lars-Peter Clausen <lars@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)
> Audio and
> video are not that different in this regard and there will also be boards
> where the audio and video fabric will be intermingled (e.g. like on your
> board with HDMI).
I found a way to discover the DAI link types for my system: when simple
DAPM, the kirkwood CPU DAIs have an ID != 0. For the Cubox, the CPU DAI
of the first link (system playback) has the ID 0, so I can move to DPCM
setting the 'dynamic' and 'no_pcm' flags in the DAI links at snd
platform probe time.
Then, after some extensions of the simple-card, the DT would look like
(not tested yet):
sound {
compatible = "simple-audio-card";
simple-audio-routing =
"HDMI I2S Playback", "System Playback",
"HDMI SPDIF Playback", "System Playback",
"SPDIF Playback", "System Playback",
"hdmi-out-i2s", "HDMI I2S Playback",
"hdmi-out-spdif", "HDMI SPDIF Playback",
"spdif-out", "SPDIF Playback";
simple-audio-card,cpu@0 {
link-name = "System audio"; /* extension */
sound-dai = <&audio1 0>;
playback; /* extension */
format = "i2s";
};
simple-audio-card,codec@0 {
sound-dai-name = "snd-soc-dummy-dai";
};
/* multi-links extension */
simple-audio-card,cpu@1 {
link-name = "hdmi-i2s";
platform-name = "snd-soc-dummy"; /* extension */
sound-dai = <&audio1 1>;
playback;
};
simple-audio-card,codec@1 {
sound-dai = <&hdmi_codec 0>;
};
simple-audio-card,cpu@2 {
link-name = "hdmi-spdif";
platform-name = "snd-soc-dummy";
sound-dai = <&audio1 2>;
playback;
};
simple-audio-card,codec@2 {
sound-dai = <&hdmi_codec 1>;
};
simple-audio-card,cpu@3 {
link-name = "spdif";
platform-name = "snd-soc-dummy";
sound-dai = <&audio1 1>;
playback;
};
simple-audio-card,codec@3 {
sound-dai = <&spdif_codec>;
};
};
May I go to this direction?
--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
next prev parent reply other threads:[~2014-01-01 20:09 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-31 10:31 [PATCH] ASoC: generic: add generic compound card with DT support Jean-Francois Moine
2013-12-31 11:59 ` Mark Brown
2013-12-31 12:36 ` Jean-Francois Moine
2013-12-31 12:47 ` Mark Brown
2014-01-01 19:05 ` [alsa-devel] " Lars-Peter Clausen
2014-01-01 20:08 ` Jean-Francois Moine [this message]
2014-01-01 20:11 ` Lars-Peter Clausen
2014-01-02 9:26 ` Jean-Francois Moine
2014-01-02 11:10 ` Mark Brown
2014-01-02 11:43 ` Jean-Francois Moine
2014-01-02 11:56 ` Mark Brown
2014-01-02 12:44 ` Jean-Francois Moine
2014-01-02 13:10 ` Mark Brown
2014-01-02 17:50 ` Jean-Francois Moine
2014-01-02 18:35 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140101210814.31e3f3a9@armhf \
--to=moinejf@free.fr \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lars@metafoo.de \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox