]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ARM: msm: Rework timer binding to be more general
authorStephen Boyd <sboyd@codeaurora.org>
Fri, 15 Mar 2013 03:31:38 +0000 (20:31 -0700)
committerDavid Brown <davidb@codeaurora.org>
Fri, 22 Mar 2013 17:46:16 +0000 (10:46 -0700)
commiteebdb0c1e1d63532399f7cbb65ade5969d63df06
tree0fb67b3ab00115d0e0078f51c721c60f7d4ef9be
parentf6161aa153581da4a3867a2d1a7caf4be19b6ec9
ARM: msm: Rework timer binding to be more general

The msm timer binding I wrote is bad. First off, the clock
frequency in the binding for the dgt is wrong. Software divides
down the input rate by 4 to achieve the rate listed in the
binding. We also treat each individual timer as a separate
hardware component, when in reality there is one timer block
(that may be duplicated per cpu) with multiple timers within it.
Depending on the version of the hardware there can be one or two
general purpose timers, status and divider control registers, and
an entirely different register layout.

In the next patch we'll need to know about the different register
layouts so that we can properly check the status register after
clearing the count. The current binding makes this complicated
because the general purpose timer's reg property doesn't indicate
where that status register is, and in fact it is beyond the size
of the reg property.

Clean all this up by just having one node for the timer hardware,
and describe all the interrupts and clock frequencies supported
while having one reg property that covers the entire timer
register region. We'll use the compatible field in the future to
determine different register layouts and if we should read the
status registers, etc.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
Documentation/devicetree/bindings/arm/msm/timer.txt
arch/arm/boot/dts/msm8660-surf.dts
arch/arm/boot/dts/msm8960-cdp.dts
arch/arm/mach-msm/timer.c