From: robin.murphy@arm.com (Robin Murphy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 02/18] dt-bindings: timer: sp804: add timer-width property
Date: Tue, 22 Mar 2016 12:02:32 +0000 [thread overview]
Message-ID: <56F13458.1080401@arm.com> (raw)
In-Reply-To: <56F10E84.1080607@baylibre.com>
Hi Neil,
On 22/03/16 09:21, Neil Armstrong wrote:
> On 03/17/2016 08:21 PM, Robin Murphy wrote:
>> On 17/03/16 19:00, Rob Herring wrote:
>>> On Thu, Mar 17, 2016 at 1:06 PM, Robin Murphy <robin.murphy@arm.com> wrote:
>>>> Hi Rob,
>>>>
>>>> On 17/03/16 17:09, Rob Herring wrote:
>>>>> That would not be an SP804 nor would the vendor be ARM in that case. So
>>>>> add a new compatible string for the vendor that decided to hack up ARM's
>>>>> IP block.
>>>>
>>>>
>>>> By all accounts this is some ancient reference design[1] which later evolved
>>>> _into_ the SP804, so that vendor would probably still be ARM ;)
>>>
>>> Right.
>>>
>>>> A separate compatible string would indeed make more sense, though. Both
>>>> semantically and in terms of letting the driver account for the differences
>>>> automatically.
>>>>
>>>> Robin.
>>>>
>>>> [1]:http://infocenter.arm.com/help/topic/com.arm.doc.ddi0170a/I350250.html
>>>
>>> Humm, same as integrator timers perhaps?
>>
>> Having had a quick look, what the Integrator/AP manual describes certainly smells like the same basic block as the "AMBA Timer" - 16 bit counters and the same control register layout - albeit in a mutant triple-timer version with a bigger offset between each register set. Integrator/CP, on the other hand, looks much more SP804-like.
>>
>> Robin.
>>
>
> Hi,
>
> I will switch to oxsemi,ox810se-rps-timer since it need a specific register width that will be handled by the driver.
By "needs a specific register width" do you mean the OxSemi
implementation will give a bus error on a 32-bit access and requires
16-bit accessors? If so, I'd expect to see patch 1 changing readl()s to
readw()s at least somewhere. Otherwise, if it's merely that the
clocksource API needs to know the upper 16 bits of a word it reads are
undefined, then since that's the standard behaviour I'd be inclined to
add it to the driver as a canonical "arm,amba-timer" implementation,
then have your implementation-specific compatible on top of that just in
case.
Robin.
>
> Thanks,
> Neil
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Neil Armstrong <narmstrong@baylibre.com>, Rob Herring <robh@kernel.org>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Sudeep Holla <sudeep.holla@arm.com>,
Russell King <rmk+kernel@arm.linux.org.uk>,
Thomas Gleixner <tglx@linutronix.de>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 02/18] dt-bindings: timer: sp804: add timer-width property
Date: Tue, 22 Mar 2016 12:02:32 +0000 [thread overview]
Message-ID: <56F13458.1080401@arm.com> (raw)
In-Reply-To: <56F10E84.1080607@baylibre.com>
Hi Neil,
On 22/03/16 09:21, Neil Armstrong wrote:
> On 03/17/2016 08:21 PM, Robin Murphy wrote:
>> On 17/03/16 19:00, Rob Herring wrote:
>>> On Thu, Mar 17, 2016 at 1:06 PM, Robin Murphy <robin.murphy@arm.com> wrote:
>>>> Hi Rob,
>>>>
>>>> On 17/03/16 17:09, Rob Herring wrote:
>>>>> That would not be an SP804 nor would the vendor be ARM in that case. So
>>>>> add a new compatible string for the vendor that decided to hack up ARM's
>>>>> IP block.
>>>>
>>>>
>>>> By all accounts this is some ancient reference design[1] which later evolved
>>>> _into_ the SP804, so that vendor would probably still be ARM ;)
>>>
>>> Right.
>>>
>>>> A separate compatible string would indeed make more sense, though. Both
>>>> semantically and in terms of letting the driver account for the differences
>>>> automatically.
>>>>
>>>> Robin.
>>>>
>>>> [1]:http://infocenter.arm.com/help/topic/com.arm.doc.ddi0170a/I350250.html
>>>
>>> Humm, same as integrator timers perhaps?
>>
>> Having had a quick look, what the Integrator/AP manual describes certainly smells like the same basic block as the "AMBA Timer" - 16 bit counters and the same control register layout - albeit in a mutant triple-timer version with a bigger offset between each register set. Integrator/CP, on the other hand, looks much more SP804-like.
>>
>> Robin.
>>
>
> Hi,
>
> I will switch to oxsemi,ox810se-rps-timer since it need a specific register width that will be handled by the driver.
By "needs a specific register width" do you mean the OxSemi
implementation will give a bus error on a 32-bit access and requires
16-bit accessors? If so, I'd expect to see patch 1 changing readl()s to
readw()s at least somewhere. Otherwise, if it's merely that the
clocksource API needs to know the upper 16 bits of a word it reads are
undefined, then since that's the standard behaviour I'd be inclined to
add it to the driver as a canonical "arm,amba-timer" implementation,
then have your implementation-specific compatible on top of that just in
case.
Robin.
>
> Thanks,
> Neil
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
next prev parent reply other threads:[~2016-03-22 12:02 UTC|newest]
Thread overview: 201+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-03 11:39 [PATCH 00/17] Add Initial support for PLX Technology OX810SE Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 11:39 ` [PATCH 01/17] dt-bindings: vendor-prefixes: Add PLX Technology Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 15:02 ` Philipp Zabel
2016-03-03 15:02 ` Philipp Zabel
2016-03-05 4:29 ` Rob Herring
2016-03-05 4:29 ` Rob Herring
2016-03-07 9:55 ` Philipp Zabel
2016-03-07 9:55 ` Philipp Zabel
2016-03-03 11:39 ` [PATCH 02/17] irqchip: Add PLX Technology RPS IRQ Controller Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 13:01 ` Marc Zyngier
2016-03-03 13:01 ` Marc Zyngier
2016-03-03 13:08 ` Arnd Bergmann
2016-03-03 13:08 ` Arnd Bergmann
2016-03-03 13:36 ` Russell King - ARM Linux
2016-03-03 13:36 ` Russell King - ARM Linux
2016-03-03 17:32 ` Arnd Bergmann
2016-03-03 17:32 ` Arnd Bergmann
2016-03-03 15:32 ` Ma Haijun
2016-03-03 15:32 ` Ma Haijun
2016-03-03 16:56 ` Neil Armstrong
2016-03-03 16:56 ` Neil Armstrong
2016-03-03 17:17 ` Marc Zyngier
2016-03-03 17:17 ` Marc Zyngier
2016-03-04 11:10 ` Neil Armstrong
2016-03-04 11:10 ` Neil Armstrong
2016-03-03 11:39 ` [PATCH 03/17] dt-bindings: Add PLX Technology RPS IRQ Controller bindings Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 14:53 ` Andrew Lunn
2016-03-03 14:53 ` Andrew Lunn
2016-03-03 14:57 ` Neil Armstrong
2016-03-03 14:57 ` Neil Armstrong
2016-03-03 15:06 ` Andrew Lunn
2016-03-03 15:06 ` Andrew Lunn
2016-03-03 15:06 ` Andrew Lunn
2016-03-03 11:39 ` [PATCH 04/17] clocksource: Add PLX Technology RPS Timer Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-17 16:13 ` Daniel Lezcano
2016-03-17 16:13 ` Daniel Lezcano
2016-03-03 11:39 ` [PATCH 05/17] dt-bindings: Add PLX Technology RPS Timer bindings Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 11:39 ` [PATCH 06/17] reset: Add PLX Technology Reset Controller driver Neil Armstrong
2016-03-03 11:39 ` Neil Armstrong
2016-03-03 14:18 ` Philipp Zabel
2016-03-03 14:18 ` Philipp Zabel
2016-03-03 14:29 ` Neil Armstrong
2016-03-03 14:29 ` Neil Armstrong
2016-03-03 15:00 ` Philipp Zabel
2016-03-03 15:00 ` Philipp Zabel
2016-03-03 11:40 ` [PATCH 07/17] dt-bindings: Add PLX Technology Reset Controller bindings Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 14:21 ` Philipp Zabel
2016-03-03 14:21 ` Philipp Zabel
2016-03-03 14:24 ` Neil Armstrong
2016-03-03 14:24 ` Neil Armstrong
2016-03-03 14:24 ` Neil Armstrong
2016-03-03 14:31 ` Philipp Zabel
2016-03-03 14:31 ` Philipp Zabel
2016-03-03 11:40 ` [PATCH 08/17] clk: Add PLX Technology OXNAS Standard Clocks Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-04 2:25 ` Stephen Boyd
2016-03-04 2:25 ` Stephen Boyd
2016-03-07 11:24 ` Neil Armstrong
2016-03-07 11:24 ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 09/17] dt-bindings: Add PLX Technology OXNAS Standard Clocks bindings Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 10/17] pinctrl: Add PLX Technology OXNAS pinctrl and gpio driver Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-15 14:56 ` Linus Walleij
2016-03-15 14:56 ` Linus Walleij
2016-03-16 15:00 ` Neil Armstrong
2016-03-16 15:00 ` Neil Armstrong
2016-03-17 14:49 ` Linus Walleij
2016-03-17 14:49 ` Linus Walleij
2016-03-03 11:40 ` [PATCH 11/17] dt-bindings: Add PLX Technology OXNAS pinctrl and gpio bindings Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-15 14:30 ` Linus Walleij
2016-03-15 14:30 ` Linus Walleij
2016-03-15 14:30 ` Linus Walleij
2016-03-03 11:40 ` [PATCH 12/17] arm: Add new mach-oxnas Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 11:49 ` Russell King - ARM Linux
2016-03-03 11:49 ` Russell King - ARM Linux
2016-03-03 12:37 ` Neil Armstrong
2016-03-03 12:37 ` Neil Armstrong
2016-03-03 12:56 ` Arnd Bergmann
2016-03-03 12:56 ` Arnd Bergmann
2016-03-03 13:29 ` Russell King - ARM Linux
2016-03-03 13:29 ` Russell King - ARM Linux
2016-03-03 13:40 ` Arnd Bergmann
2016-03-03 13:40 ` Arnd Bergmann
2016-03-03 11:40 ` [PATCH 13/17] arm: Add build support for mach-oxnas Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 14/17] arm: boot: dts: Add PLX Technology OX810SE dtsi Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 12:15 ` Arnd Bergmann
2016-03-03 12:15 ` Arnd Bergmann
2016-03-03 13:39 ` Neil Armstrong
2016-03-03 13:39 ` Neil Armstrong
2016-03-03 13:39 ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 15/17] dt-bindings: Add OXNAS bindings Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 11:40 ` [PATCH 16/17] dt-bindings: Add Western Digital to vendor prefixes Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-05 4:29 ` Rob Herring
2016-03-05 4:29 ` Rob Herring
2016-03-03 11:40 ` [PATCH 17/17] arm: boot: dts: Add Western Digital My Book World Edition device tree Neil Armstrong
2016-03-03 11:40 ` Neil Armstrong
2016-03-03 12:23 ` [PATCH 00/17] Add Initial support for PLX Technology OX810SE Arnd Bergmann
2016-03-03 12:23 ` Arnd Bergmann
2016-03-03 12:36 ` Neil Armstrong
2016-03-03 12:36 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 00/18] " Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 01/18] clocksource: sp804: Add support for non-32bit width counter Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 16:40 ` Daniel Lezcano
2016-03-17 16:40 ` Daniel Lezcano
2016-03-09 10:24 ` [PATCH v2 02/18] dt-bindings: timer: sp804: add timer-width property Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 17:09 ` Rob Herring
2016-03-17 17:09 ` Rob Herring
2016-03-17 17:09 ` Rob Herring
2016-03-17 18:06 ` Robin Murphy
2016-03-17 18:06 ` Robin Murphy
2016-03-17 19:00 ` Rob Herring
2016-03-17 19:00 ` Rob Herring
2016-03-17 19:21 ` Robin Murphy
2016-03-17 19:21 ` Robin Murphy
2016-03-17 19:21 ` Robin Murphy
2016-03-22 9:21 ` Neil Armstrong
2016-03-22 9:21 ` Neil Armstrong
2016-03-22 12:02 ` Robin Murphy [this message]
2016-03-22 12:02 ` Robin Murphy
2016-03-22 14:29 ` Neil Armstrong
2016-03-22 14:29 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 03/18] irqchip: versatile-fpga: add new arm, rps-irq compatible Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 03/18] irqchip: versatile-fpga: add new arm,rps-irq compatible Neil Armstrong
2016-03-15 11:47 ` Marc Zyngier
2016-03-15 11:47 ` Marc Zyngier
2016-03-09 10:24 ` [PATCH v2 04/18] dt-bindings: irq: arm, versatile-fpga: add arm, rps-irq compatible string Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 04/18] dt-bindings: irq: arm,versatile-fpga: add arm,rps-irq " Neil Armstrong
2016-03-17 17:15 ` Rob Herring
2016-03-17 17:15 ` Rob Herring
2016-03-17 17:15 ` Rob Herring
2016-03-09 10:24 ` [PATCH v2 05/18] dt-bindings: vendor-prefixes: Add PLX Technology Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 17:15 ` Rob Herring
2016-03-17 17:15 ` Rob Herring
2016-03-17 17:15 ` Rob Herring
2016-03-09 10:24 ` [PATCH v2 06/18] dt-bindings: Add Oxford Semiconductors to vendor prefixes Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 17:16 ` Rob Herring
2016-03-17 17:16 ` Rob Herring
2016-03-09 10:24 ` [PATCH v2 07/18] reset: Add PLX Technology Reset Controller driver Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 08/18] dt-bindings: Add PLX Technology Reset Controller bindings Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 17:18 ` Rob Herring
2016-03-17 17:18 ` Rob Herring
2016-03-17 17:18 ` Rob Herring
2016-03-09 10:24 ` [PATCH v2 09/18] clk: Add PLX Technology OXNAS Standard Clocks Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 10/18] dt-bindings: Add PLX Technology OXNAS Standard Clocks bindings Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 17:19 ` Rob Herring
2016-03-17 17:19 ` Rob Herring
2016-03-09 10:24 ` [PATCH v2 11/18] pinctrl: Add PLX Technology OXNAS pinctrl and gpio driver Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-10 14:43 ` kbuild test robot
2016-03-10 14:43 ` kbuild test robot
2016-03-10 14:43 ` kbuild test robot
2016-03-09 10:24 ` [PATCH v2 12/18] dt-bindings: Add PLX Technology OXNAS pinctrl and gpio bindings Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 17:25 ` Rob Herring
2016-03-17 17:25 ` Rob Herring
2016-03-09 10:24 ` [PATCH v2 13/18] arm: Add new mach-oxnas Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 14/18] arm: Add build support for mach-oxnas Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 15/18] arm: boot: dts: Add PLX Technology OX810SE dtsi Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 16/18] dt-bindings: Add OXNAS bindings Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-17 17:27 ` Rob Herring
2016-03-17 17:27 ` Rob Herring
2016-03-17 17:27 ` Rob Herring
2016-03-23 8:37 ` Neil Armstrong
2016-03-23 8:37 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 17/18] dt-bindings: Add Western Digital to vendor prefixes Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` [PATCH v2 18/18] arm: boot: dts: Add Western Digital My Book World Edition device tree Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
2016-03-09 10:24 ` Neil Armstrong
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=56F13458.1080401@arm.com \
--to=robin.murphy@arm.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 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.