All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Andrew Lunn <andrew@lunn.ch>,
	alsa-devel@alsa-project.org,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Jason Cooper <jason@lakedaemon.net>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Takashi Iwai <tiwai@suse.de>, Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH RFC 00/13] Adding SPDIF support to kirkwood-i2s
Date: Mon, 05 Aug 2013 16:10:47 +0200	[thread overview]
Message-ID: <51FFB267.3030107@metafoo.de> (raw)
In-Reply-To: <51FFA348.2010503@gmail.com>

On 08/05/2013 03:06 PM, Sebastian Hesselbarth wrote:
> On 08/05/13 13:59, Mark Brown wrote:
>> On Sun, Aug 04, 2013 at 11:45:30PM +0200, Sebastian Hesselbarth wrote:
>>> On 08/04/2013 09:21 PM, Russell King - ARM Linux wrote:
>>
>>>>                  .name = "S/PDIF1",
>>>>                  .stream_name = "IEC958 Playback",
>>>>                  .platform_name = "mvebu-audio.1",
>>>>                  .cpu_dai_name = "mvebu-audio.1",
>>>>                  .codec_dai_name = "dit-hifi",
>>>>                  .codec_name = "spdif-dit",
>>
>>> Not a big deal for DT. I suggest to have a "audio-codecs" property that
>>> link CPU DAI to codec(s). One thing, I have noticed is that currently
>>> you need to supply both codec_name (or DT node) _and_ codec_dai_name.
>>> For that it would be helpful, if ASoC supplies helpers to get the DAI
>>> by index and use phandle with args here.
>>
>> This should follow the same pattern as the other board bindings.
> 
> Mark,
> 
> looking at e.g. nvidia,tegra-audio-*.txt bindings, I guess you are
> proposing to have a new binding for every SoC/codec/board combination?
> Also, you should have seen "ASoC: fsl: Add S/PDIF machine driver", which
> is - again - proposing a new binding for fsl with spdif "codec".
> 
> You really want me to go the same way or is there any "other board
> binding" I should follow?
> 

In my opinion having different bindings for each board is not a good idea.
Having a common set of property names will allow us to factor out the
parsing to the ASoC core instead of doing this by hand for each board driver.

>>> i2s1: audio-controller@b0000 {
>>>     compatible = "marvell,dove-i2s";
>>>     reg = <0xb0000 0x2345>;
>>>     audio-codecs = <&spdif 0>;
>>> };
>>
>> No, things are glued together using the machine driver - again, look at
>> how all the other systems work.  The wiring on the board can get
>> interesting enough to need a binding of its own, for very simple
>> bindings that should just be pointing to a generic driver.
> 
> And that is what will be true for almost all codecs we hook up on
> Marvell SoCs. The audio controller is very simple with only mute
> control available. We need to connect either i2s or spdif or both to
> any codec and the codecs output. The codecs is determined by phandle
> and the output (codec_dai_name) could be determined by the phandle's
> arg, e.g. 0 for the first codec_dai provided.

Kuninori Morimoto started working on a xlate callback for CODECs and DAIs
some time ago[1]. If nobody else is going to pick this up I'm probably going
to continue his work on this.

- Lars

[1]
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-February/059788.html

WARNING: multiple messages have this Message-ID (diff)
From: lars@metafoo.de (Lars-Peter Clausen)
To: linux-arm-kernel@lists.infradead.org
Subject: [alsa-devel] [PATCH RFC 00/13] Adding SPDIF support to kirkwood-i2s
Date: Mon, 05 Aug 2013 16:10:47 +0200	[thread overview]
Message-ID: <51FFB267.3030107@metafoo.de> (raw)
In-Reply-To: <51FFA348.2010503@gmail.com>

On 08/05/2013 03:06 PM, Sebastian Hesselbarth wrote:
> On 08/05/13 13:59, Mark Brown wrote:
>> On Sun, Aug 04, 2013 at 11:45:30PM +0200, Sebastian Hesselbarth wrote:
>>> On 08/04/2013 09:21 PM, Russell King - ARM Linux wrote:
>>
>>>>                  .name = "S/PDIF1",
>>>>                  .stream_name = "IEC958 Playback",
>>>>                  .platform_name = "mvebu-audio.1",
>>>>                  .cpu_dai_name = "mvebu-audio.1",
>>>>                  .codec_dai_name = "dit-hifi",
>>>>                  .codec_name = "spdif-dit",
>>
>>> Not a big deal for DT. I suggest to have a "audio-codecs" property that
>>> link CPU DAI to codec(s). One thing, I have noticed is that currently
>>> you need to supply both codec_name (or DT node) _and_ codec_dai_name.
>>> For that it would be helpful, if ASoC supplies helpers to get the DAI
>>> by index and use phandle with args here.
>>
>> This should follow the same pattern as the other board bindings.
> 
> Mark,
> 
> looking at e.g. nvidia,tegra-audio-*.txt bindings, I guess you are
> proposing to have a new binding for every SoC/codec/board combination?
> Also, you should have seen "ASoC: fsl: Add S/PDIF machine driver", which
> is - again - proposing a new binding for fsl with spdif "codec".
> 
> You really want me to go the same way or is there any "other board
> binding" I should follow?
> 

In my opinion having different bindings for each board is not a good idea.
Having a common set of property names will allow us to factor out the
parsing to the ASoC core instead of doing this by hand for each board driver.

>>> i2s1: audio-controller at b0000 {
>>>     compatible = "marvell,dove-i2s";
>>>     reg = <0xb0000 0x2345>;
>>>     audio-codecs = <&spdif 0>;
>>> };
>>
>> No, things are glued together using the machine driver - again, look at
>> how all the other systems work.  The wiring on the board can get
>> interesting enough to need a binding of its own, for very simple
>> bindings that should just be pointing to a generic driver.
> 
> And that is what will be true for almost all codecs we hook up on
> Marvell SoCs. The audio controller is very simple with only mute
> control available. We need to connect either i2s or spdif or both to
> any codec and the codecs output. The codecs is determined by phandle
> and the output (codec_dai_name) could be determined by the phandle's
> arg, e.g. 0 for the first codec_dai provided.

Kuninori Morimoto started working on a xlate callback for CODECs and DAIs
some time ago[1]. If nobody else is going to pick this up I'm probably going
to continue his work on this.

- Lars

[1]
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-February/059788.html

  parent reply	other threads:[~2013-08-05 14:09 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-04 19:21 [PATCH RFC 00/13] Adding SPDIF support to kirkwood-i2s Russell King - ARM Linux
2013-08-04 19:21 ` Russell King - ARM Linux
2013-08-04 19:22 ` [PATCH RFC 01/13] ASoC: kirkwood: merge struct kirkwood_dma_priv with struct kirkwood_dma_data Russell King
2013-08-04 19:22   ` Russell King
2013-08-05 14:49   ` Mark Brown
2013-08-05 14:49     ` Mark Brown
2013-08-04 19:23 ` [PATCH RFC 02/13] ASoC: kirkwood: use devm_clk_get() for the external clock Russell King
2013-08-04 19:23   ` Russell King
2013-08-05 16:16   ` Mark Brown
2013-08-05 16:16     ` Mark Brown
2013-08-04 19:24 ` [PATCH RFC 03/13] ASoC: avoid duplicated DAI routes Russell King
2013-08-04 19:24   ` Russell King
2013-08-05 16:18   ` Mark Brown
2013-08-05 16:18     ` Mark Brown
2013-08-04 19:25 ` [PATCH RFC 04/13] ASoC: HACK: avoid creating duplicated widgets Russell King
2013-08-04 19:25   ` Russell King
2013-08-04 19:26 ` [PATCH RFC 05/13] ASoC: kirkwood: provide KIRKWOOD_PLAYCTL_ENABLE_MASK Russell King
2013-08-04 19:26   ` Russell King
2013-08-05 17:03   ` Mark Brown
2013-08-05 17:03     ` Mark Brown
2013-08-04 19:27 ` [PATCH RFC 06/13] ASoC: kirkwood: combine kirkwood-i2s and kirkwood-dma drivers Russell King
2013-08-04 19:27   ` Russell King
2013-08-05 10:13   ` Jean-Francois Moine
2013-08-05 10:13     ` Jean-Francois Moine
2013-08-05 10:20     ` Russell King - ARM Linux
2013-08-05 10:20       ` Russell King - ARM Linux
2013-08-05 17:04   ` Mark Brown
2013-08-05 17:04     ` Mark Brown
2013-08-04 19:28 ` [PATCH RFC 07/13] ASoC: kirkwood: move calculation of max buffer size to kirkwood.h Russell King
2013-08-04 19:28   ` Russell King
2013-08-05 17:07   ` Mark Brown
2013-08-05 17:07     ` Mark Brown
2013-08-04 19:29 ` [PATCH RFC 08/13] ASoC: kirkwood: add DAPM widgets for input and output routing Russell King
2013-08-04 19:29   ` Russell King
2013-08-04 19:30 ` [PATCH RFC 09/13] ASoC: kirkwood-openrd: add DAPM links between codec and cpu DAI Russell King
2013-08-04 19:30   ` Russell King
2013-08-04 19:31 ` [PATCH RFC 10/13] ASoC: kirkwood-t5325: " Russell King
2013-08-04 19:31   ` Russell King
2013-08-05 11:27   ` Mark Brown
2013-08-05 11:27     ` Mark Brown
2013-08-05 11:33     ` Russell King - ARM Linux
2013-08-05 11:33       ` Russell King - ARM Linux
2013-08-05 14:40       ` Mark Brown
2013-08-05 14:40         ` Mark Brown
2013-08-05 14:56         ` Russell King - ARM Linux
2013-08-05 14:56           ` Russell King - ARM Linux
2013-08-05 20:32           ` Russell King - ARM Linux
2013-08-05 20:32             ` Russell King - ARM Linux
2013-08-05 22:06             ` Mark Brown
2013-08-05 22:06               ` Mark Brown
2013-08-05 23:30               ` Russell King - ARM Linux
2013-08-05 23:30                 ` Russell King - ARM Linux
2013-08-06 13:32                 ` Mark Brown
2013-08-06 13:32                   ` Mark Brown
2013-08-10 16:11                   ` Russell King - ARM Linux
2013-08-10 16:11                     ` Russell King - ARM Linux
2013-08-10 21:13                     ` Russell King - ARM Linux
2013-08-10 21:13                       ` Russell King - ARM Linux
2013-08-12  7:40                       ` Liam Girdwood
2013-08-12  7:40                         ` [alsa-devel] " Liam Girdwood
2013-08-12  8:28                         ` Russell King - ARM Linux
2013-08-12  8:28                           ` [alsa-devel] " Russell King - ARM Linux
2013-08-13 14:59                           ` Liam Girdwood
2013-08-13 14:59                             ` [alsa-devel] " Liam Girdwood
2013-08-20 10:25                             ` Russell King - ARM Linux
2013-08-20 10:25                               ` [alsa-devel] " Russell King - ARM Linux
2013-08-20 11:44                               ` Mark Brown
2013-08-20 11:44                                 ` [alsa-devel] " Mark Brown
2013-08-20 11:49                                 ` Russell King - ARM Linux
2013-08-20 11:49                                   ` [alsa-devel] " Russell King - ARM Linux
2013-08-20 13:31                                   ` Russell King - ARM Linux
2013-08-20 13:31                                     ` [alsa-devel] " Russell King - ARM Linux
2013-08-20 18:50                                     ` Mark Brown
2013-08-20 18:50                                       ` [alsa-devel] " Mark Brown
2013-08-20 20:18                                       ` Russell King - ARM Linux
2013-08-20 20:18                                         ` [alsa-devel] " Russell King - ARM Linux
2013-08-22 19:22                                         ` Liam Girdwood
2013-08-22 19:22                                           ` [alsa-devel] " Liam Girdwood
2013-08-22 20:16                                           ` Russell King - ARM Linux
2013-08-22 20:16                                             ` [alsa-devel] " Russell King - ARM Linux
2013-08-23 12:13                                             ` Liam Girdwood
2013-08-23 12:13                                               ` [alsa-devel] " Liam Girdwood
2013-08-23 12:58                                               ` Russell King - ARM Linux
2013-08-23 12:58                                                 ` [alsa-devel] " Russell King - ARM Linux
2013-08-23 16:58                                                 ` Mark Brown
2013-08-23 16:58                                                   ` [alsa-devel] " Mark Brown
2013-08-23 17:45                                                   ` Russell King - ARM Linux
2013-08-23 17:45                                                     ` [alsa-devel] " Russell King - ARM Linux
2013-08-28  1:22                                                     ` Mark Brown
2013-08-28  1:22                                                       ` [alsa-devel] " Mark Brown
2013-08-29 21:12                                                     ` Liam Girdwood
2013-08-30 11:27                                                       ` Russell King - ARM Linux
2013-08-30 11:27                                                         ` [alsa-devel] " Russell King - ARM Linux
2013-08-30 16:10                                                         ` Russell King - ARM Linux
2013-08-30 16:10                                                           ` [alsa-devel] " Russell King - ARM Linux
2013-08-11 12:36                     ` Mark Brown
2013-08-11 12:36                       ` Mark Brown
2013-08-04 19:32 ` [PATCH RFC 11/13] ASoC: spdif_transceiver: add output pin widget Russell King
2013-08-04 19:32   ` Russell King
2013-08-05 11:33   ` Mark Brown
2013-08-05 11:33     ` Mark Brown
2013-08-04 19:33 ` [PATCH RFC 12/13] ASoC: kirkwood: add SPDIF output support Russell King
2013-08-04 19:33   ` Russell King
2013-08-04 19:34 ` [PATCH RFC 13/13] ASoC: kirkwood: add IEC958 channel status support Russell King
2013-08-04 19:34   ` Russell King
2013-08-04 21:45 ` [PATCH RFC 00/13] Adding SPDIF support to kirkwood-i2s Sebastian Hesselbarth
2013-08-04 21:45   ` Sebastian Hesselbarth
2013-08-05  8:43   ` Thomas Petazzoni
2013-08-05  8:43     ` Thomas Petazzoni
2013-08-05  8:53     ` Russell King - ARM Linux
2013-08-05  8:53       ` Russell King - ARM Linux
2013-08-05  9:06       ` Thomas Petazzoni
2013-08-05  9:06         ` Thomas Petazzoni
2013-08-05 11:59   ` Mark Brown
2013-08-05 11:59     ` Mark Brown
2013-08-05 13:06     ` Sebastian Hesselbarth
2013-08-05 13:06       ` Sebastian Hesselbarth
2013-08-05 14:07       ` Mark Brown
2013-08-05 14:07         ` Mark Brown
2013-08-05 15:04         ` Sebastian Hesselbarth
2013-08-05 15:04           ` Sebastian Hesselbarth
2013-08-05 16:59           ` Mark Brown
2013-08-05 16:59             ` Mark Brown
2013-08-05 18:14             ` Sebastian Hesselbarth
2013-08-05 18:14               ` Sebastian Hesselbarth
2013-08-05 18:59               ` Mark Brown
2013-08-05 18:59                 ` Mark Brown
2013-08-05 22:47           ` Stephen Warren
2013-08-05 22:47             ` [alsa-devel] " Stephen Warren
2013-08-05 14:10       ` Lars-Peter Clausen [this message]
2013-08-05 14:10         ` Lars-Peter Clausen
2013-08-05 15:03         ` Mark Brown
2013-08-05 15:03           ` [alsa-devel] " Mark Brown
2013-08-06  0:02         ` Kuninori Morimoto
2013-08-06  0:02           ` [alsa-devel] " Kuninori Morimoto
2013-08-30  7:20           ` Kuninori Morimoto
2013-08-30  7:20             ` [alsa-devel] " Kuninori Morimoto
2013-08-30  8:26             ` Lars-Peter Clausen
2013-08-30  8:26               ` [alsa-devel] " Lars-Peter Clausen
2013-08-30  9:56               ` Mark Brown
2013-08-30  9:56                 ` [alsa-devel] " Mark Brown
2013-08-05 14:59       ` Russell King - ARM Linux
2013-08-05 14:59         ` Russell King - ARM Linux

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=51FFB267.3030107@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=andrew@lunn.ch \
    --cc=broonie@kernel.org \
    --cc=jason@lakedaemon.net \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@arm.linux.org.uk \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tiwai@suse.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.