From: Stephen Warren <swarren@wwwdotorg.org>
To: Mark Brown <broonie@kernel.org>
Cc: Padmavathi Venna <padma.v@samsung.com>,
linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
alsa-devel@alsa-project.org, devicetree@vger.kernel.org,
padma.kvr@gmail.com, kgene.kim@samsung.com,
tomasz.figa@gmail.com, abrestic@chromium.org,
Mark Rutland <Mark.Rutland@arm.com>,
Ian Campbell <ian.campbell@citrix.com>,
Pawel Moll <pawel.moll@arm.com>,
Rob Herring <rob.herring@calxeda.com>,
Kumar Gala <galak@codeaurora.org>
Subject: Re: [PATCH V4 1/4] ASoC: Samsung: I2S: Add quirks as driver data in I2S
Date: Mon, 12 Aug 2013 17:18:34 -0600 [thread overview]
Message-ID: <52096D4A.5070903@wwwdotorg.org> (raw)
In-Reply-To: <20130812231327.GK6427@sirena.org.uk>
On 08/12/2013 05:13 PM, Mark Brown wrote:
> On Mon, Aug 12, 2013 at 04:57:53PM -0600, Stephen Warren wrote:
>> On 08/12/2013 03:49 AM, Padmavathi Venna wrote:
>
>>> +- compatible : should be one of the following. + -
>>> samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. + -
>>> samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
>>> + secondary fifo, s/w reset control and internal mux for
>>> root clk src.
>
>> Those descriptions seem a little odd. If I have an SoC that
>> isn't s5pv210, yet supports "8/16/24bit multichannel(5.1) I2S
>> with secondary fifo, s/w reset control and internal mux for root
>> clk src", will compatible="samsung,s5pv210-i2s" work for my HW?
>
>> I wonder if you should instead include the IP block version in
>> the compatible value?
>
> We've been round this loop several times, I'd prefer the IP block
> versions too but they're at best patchily documented and so as a
> general policy the Samsung bindings use the name of the SoC an IP
> first appeared in as the version.
>
>> In other words, I don't think we have an answer to the question:
>> Should differences between similar HW blocks be encoded into DT
>> properties, or should the driver encode them into some table, and
>> look them up from compatible value?
>
> For usability it seems better to just be able to say which IP
> you've got, this also makes it easier to implement support for new
> IP features later on without having to go back and add new
> properties which would be sad.
That seems quite reasonable, but I don't think everyone involved in DT
has come out and agreed on that. I'm quite happy with the approach of
looking up everything based on compatible.
>> (although I dare say that at least samsung,supports-rstclr should
>> be modified to use the new reset controller bindings)
>
> Really? That doesn't seem terribly sane - I had thought that was
> for bodging resets on the side of things that don't normally have
> them or need board specific logic. Also note that this is actually
> a magic register write done to reset the IP on some specific IPs.
I believe that's exactly what the reset subsystem and associated DT
bindings were designed for.
WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V4 1/4] ASoC: Samsung: I2S: Add quirks as driver data in I2S
Date: Mon, 12 Aug 2013 17:18:34 -0600 [thread overview]
Message-ID: <52096D4A.5070903@wwwdotorg.org> (raw)
In-Reply-To: <20130812231327.GK6427@sirena.org.uk>
On 08/12/2013 05:13 PM, Mark Brown wrote:
> On Mon, Aug 12, 2013 at 04:57:53PM -0600, Stephen Warren wrote:
>> On 08/12/2013 03:49 AM, Padmavathi Venna wrote:
>
>>> +- compatible : should be one of the following. + -
>>> samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. + -
>>> samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
>>> + secondary fifo, s/w reset control and internal mux for
>>> root clk src.
>
>> Those descriptions seem a little odd. If I have an SoC that
>> isn't s5pv210, yet supports "8/16/24bit multichannel(5.1) I2S
>> with secondary fifo, s/w reset control and internal mux for root
>> clk src", will compatible="samsung,s5pv210-i2s" work for my HW?
>
>> I wonder if you should instead include the IP block version in
>> the compatible value?
>
> We've been round this loop several times, I'd prefer the IP block
> versions too but they're at best patchily documented and so as a
> general policy the Samsung bindings use the name of the SoC an IP
> first appeared in as the version.
>
>> In other words, I don't think we have an answer to the question:
>> Should differences between similar HW blocks be encoded into DT
>> properties, or should the driver encode them into some table, and
>> look them up from compatible value?
>
> For usability it seems better to just be able to say which IP
> you've got, this also makes it easier to implement support for new
> IP features later on without having to go back and add new
> properties which would be sad.
That seems quite reasonable, but I don't think everyone involved in DT
has come out and agreed on that. I'm quite happy with the approach of
looking up everything based on compatible.
>> (although I dare say that at least samsung,supports-rstclr should
>> be modified to use the new reset controller bindings)
>
> Really? That doesn't seem terribly sane - I had thought that was
> for bodging resets on the side of things that don't normally have
> them or need board specific logic. Also note that this is actually
> a magic register write done to reset the IP on some specific IPs.
I believe that's exactly what the reset subsystem and associated DT
bindings were designed for.
next prev parent reply other threads:[~2013-08-12 23:18 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-12 9:49 [PATCH V4 0/4] Add i2s support on smdk5420 Padmavathi Venna
2013-08-12 9:49 ` Padmavathi Venna
2013-08-12 9:49 ` [PATCH V4 1/4] ASoC: Samsung: I2S: Add quirks as driver data in I2S Padmavathi Venna
2013-08-12 9:49 ` Padmavathi Venna
2013-08-12 12:06 ` Tomasz Figa
2013-08-12 12:06 ` Tomasz Figa
2013-08-12 22:57 ` Stephen Warren
2013-08-12 22:57 ` Stephen Warren
2013-08-12 23:13 ` Mark Brown
2013-08-12 23:13 ` Mark Brown
2013-08-12 23:18 ` Stephen Warren [this message]
2013-08-12 23:18 ` Stephen Warren
2013-08-12 23:46 ` Mark Brown
2013-08-12 23:46 ` Mark Brown
2013-08-13 15:42 ` Stephen Warren
2013-08-13 15:42 ` Stephen Warren
2013-08-12 9:49 ` [PATCH V4 2/4] ASoC: Samsung: I2S: Modify the I2S driver to support I2S on Exynos5420 Padmavathi Venna
2013-08-12 9:49 ` Padmavathi Venna
2013-08-12 9:49 ` [PATCH V4 3/4] ARM: dts: exynos5250: move common i2s properties to exynos5 dtsi Padmavathi Venna
2013-08-12 9:49 ` Padmavathi Venna
2013-08-12 9:49 ` [PATCH V4 4/4] ARM: dts: Change i2s compatible string on exynos5250 Padmavathi Venna
2013-08-12 9:49 ` Padmavathi Venna
2013-08-13 12:44 ` [PATCH V4 0/4] Add i2s support on smdk5420 Mark Brown
2013-08-13 12:44 ` Mark Brown
2013-08-14 8:25 ` Tomasz Figa
2013-08-14 8:25 ` Tomasz Figa
2013-08-14 10:03 ` Mark Brown
2013-08-14 10:03 ` 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=52096D4A.5070903@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=Mark.Rutland@arm.com \
--cc=abrestic@chromium.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ian.campbell@citrix.com \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=padma.kvr@gmail.com \
--cc=padma.v@samsung.com \
--cc=pawel.moll@arm.com \
--cc=rob.herring@calxeda.com \
--cc=tomasz.figa@gmail.com \
/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.