Re: [PATCH v2 02/18] dt-bindings: timer: sp804: add timer-width property

From: Robin Murphy
Date: Tue Mar 22 2016 - 08:02:49 EST


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@xxxxxxx> 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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel