From: sebastian.hesselbarth@gmail.com (Sebastian Hesselbarth)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC 00/13] Adding SPDIF support to kirkwood-i2s
Date: Mon, 05 Aug 2013 20:14:47 +0200 [thread overview]
Message-ID: <51FFEB97.30004@gmail.com> (raw)
In-Reply-To: <20130805165957.GT9858@sirena.org.uk>
On 08/05/2013 06:59 PM, Mark Brown wrote:
> On Mon, Aug 05, 2013 at 05:04:35PM +0200, Sebastian Hesselbarth wrote:
>
>> I cannot follow you on the clocking arrangements. The binding
>> proposal was for audio controller <-> CODEC connections. For clocks
>> there are common properties ("clocks", "clock-names", "clock-frequency")
>> to pass them to drivers - for "sound cards" in general there are not.
>
> The clocking arrangements are an example of why the boards can get
> interesting enough to describe for themselves.
I understand there are complex arrangements, I still don't think that
you need a global super-node to describe them. Anyway, I am not voting
against a super-node.
>> So, having a look at the node in question:
>
>> sound {
>> compatible = "nvidia,tegra-audio-rt5640-beaver",
>> "nvidia,tegra-audio-rt5640";
>> nvidia,model = "NVIDIA Tegra Beaver";
>>
>> nvidia,audio-routing = "Headphones", "HPOR",
>> "Headphones", "HPOL";
>>
>> nvidia,i2s-controller = <&tegra_i2s1>;
>> nvidia,audio-codec = <&rt5640>;
>>
>> nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_HIGH>;
>>
>> clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
>> <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
>> <&tegra_car TEGRA30_CLK_EXTERN1>;
>> clock-names = "pll_a", "pll_a_out0", "mclk";
>> };
>>
>> all those "nvidia," prefixed properties are not nvidia-specific at all.
>
> This is all because you have to add a prefix for DT.
Right, like we have on all the other non-standard properties like
"pinctrl-0", "bla-gpios", "clocks", ... come on, just make them generic
enough and you can omit the vendor prefix.
>> Also, all those "nvidia," properties would have fit very well into the
>> i2s controller node
>
> No, almost none of them have any place there. For example, the audio
> routing contains only connections to the CODEC so the I2S controller
> isn't in play, the headphone detection is connected to the AP but isn't
> connected to the I2S port.
From a quick look in tegra30_hub.h, I can see configuration registers
i2s formatting. I assume that i2s controller on Tegra can therefore
directly connected to a I2S codec, can't it? Then, with an existing i2s
node and an existing codec node - why is there no place to link both?
I can think of use cases that are hard to describe in a link-to-link
way, but none of them really requires a super-node nor special
board-specific compatible strings. With that we can just have the root
DT node be compatible with Beaver above and register all the old
platform_device way.
[...]
>> I learned to never match "device nodes" with "drivers" as there
>> is simply no relation between them.
>
> That's clearly a thinko for device node.
I assume with "thinko" you mean "thought wrong" - IMHO the above
statement is very true. If it wouldn't, why not just have a node for
kirkwood-dma and kirkwood-i2s instead of merging the drivers?
You think that will also be accepted by DT maintainers?
>> So, back to my original node proposal, can you tell me what is so
>> different, except that I am not using "marvell,audio-codec(s)" but
>> "audio-codecs"; and hook the one available codec output by using
>> phandle/args instead of a new compatible string?
>
> From my point of view I'd rather not be shoving vendor prefixes on all
> the properties, this is coming from DT convention requiring vendor
> prefixes on bindings.
I understand that those vendor prefixes are part of the helper
functions of ASoC. But no other subsystem has a similar approach but
though of properties generic enough to help drivers find what they
need to know. Either ASoC is mis-interpreting the vendor-prefix
requirement - or all other subsystems are.
Sebastian
next prev parent reply other threads:[~2013-08-05 18:14 UTC|newest]
Thread overview: 71+ 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:22 ` [PATCH RFC 01/13] ASoC: kirkwood: merge struct kirkwood_dma_priv with struct kirkwood_dma_data Russell King
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-05 16:16 ` Mark Brown
2013-08-04 19:24 ` [PATCH RFC 03/13] ASoC: avoid duplicated DAI routes Russell King
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:26 ` [PATCH RFC 05/13] ASoC: kirkwood: provide KIRKWOOD_PLAYCTL_ENABLE_MASK Russell King
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-05 10:13 ` Jean-Francois Moine
2013-08-05 10:20 ` Russell King - ARM Linux
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-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:30 ` [PATCH RFC 09/13] ASoC: kirkwood-openrd: add DAPM links between codec and cpu DAI Russell King
2013-08-04 19:31 ` [PATCH RFC 10/13] ASoC: kirkwood-t5325: " Russell King
2013-08-05 11:27 ` Mark Brown
2013-08-05 11:33 ` Russell King - ARM Linux
2013-08-05 14:40 ` Mark Brown
2013-08-05 14:56 ` Russell King - ARM Linux
2013-08-05 20:32 ` Russell King - ARM Linux
2013-08-05 22:06 ` Mark Brown
2013-08-05 23:30 ` Russell King - ARM Linux
2013-08-06 13:32 ` Mark Brown
2013-08-10 16:11 ` Russell King - ARM Linux
2013-08-10 21:13 ` Russell King - ARM Linux
2013-08-12 7:40 ` [alsa-devel] " Liam Girdwood
2013-08-12 8:28 ` Russell King - ARM Linux
2013-08-13 14:59 ` Liam Girdwood
2013-08-20 10:25 ` Russell King - ARM Linux
2013-08-20 11:44 ` Mark Brown
2013-08-20 11:49 ` Russell King - ARM Linux
2013-08-20 13:31 ` Russell King - ARM Linux
2013-08-20 18:50 ` Mark Brown
2013-08-20 20:18 ` Russell King - ARM Linux
2013-08-22 19:22 ` Liam Girdwood
2013-08-22 20:16 ` Russell King - ARM Linux
2013-08-23 12:13 ` Liam Girdwood
2013-08-23 12:58 ` Russell King - ARM Linux
2013-08-23 16:58 ` Mark Brown
2013-08-23 17:45 ` Russell King - ARM Linux
2013-08-28 1:22 ` Mark Brown
[not found] ` <CAOyKLY_mQzPxHAg2RFSMY89uxp-0-OAf6fC=gVY0i+pQhv4iHQ@mail.gmail.com>
2013-08-30 11:27 ` Russell King - ARM Linux
2013-08-30 16:10 ` Russell King - ARM Linux
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-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:34 ` [PATCH RFC 13/13] ASoC: kirkwood: add IEC958 channel status support Russell King
2013-08-04 21:45 ` [PATCH RFC 00/13] Adding SPDIF support to kirkwood-i2s Sebastian Hesselbarth
2013-08-05 8:43 ` Thomas Petazzoni
2013-08-05 8:53 ` Russell King - ARM Linux
2013-08-05 9:06 ` Thomas Petazzoni
2013-08-05 11:59 ` Mark Brown
2013-08-05 13:06 ` Sebastian Hesselbarth
2013-08-05 14:07 ` Mark Brown
2013-08-05 15:04 ` Sebastian Hesselbarth
2013-08-05 16:59 ` Mark Brown
2013-08-05 18:14 ` Sebastian Hesselbarth [this message]
2013-08-05 18:59 ` Mark Brown
2013-08-05 22:47 ` [alsa-devel] " Stephen Warren
2013-08-05 14:10 ` Lars-Peter Clausen
2013-08-05 15:03 ` Mark Brown
2013-08-06 0:02 ` Kuninori Morimoto
2013-08-30 7:20 ` Kuninori Morimoto
2013-08-30 8:26 ` Lars-Peter Clausen
2013-08-30 9:56 ` Mark Brown
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=51FFEB97.30004@gmail.com \
--to=sebastian.hesselbarth@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).