diff options
author | Jon Hunter <jon-hunter@ti.com> | 2012-07-11 14:00:13 -0400 |
---|---|---|
committer | Jon Hunter <jon-hunter@ti.com> | 2012-11-12 17:23:52 -0500 |
commit | 10759e823c83e6c88b58264daa791bb82c7ebad9 (patch) | |
tree | 4fd01b0d9871c5fdae96cff2efbd07b3b274ad75 /arch/arm/mach-omap2/timer.c | |
parent | f3a13e7246f92e0cf4e9e3baee3145693ba41a8d (diff) |
ARM: OMAP2+: Don't use __omap_dm_timer_reset()
Currently OMAP2+ devices are using the function __omap_dm_timer_reset() to
configure the clock-activity, idle, wakeup-enable and auto-idle fields in the
timer OCP_CFG register. The name of the function is mis-leading because this
function does not actually perform a reset of the timer.
For OMAP2+ devices, HWMOD is responsible for reseting and configuring the
timer OCP_CFG register. Therefore, do not use __omap_dm_timer_reset() for
OMAP2+ devices and rely on HWMOD. Furthermore, some timer instances do not
have the fields clock-activity, wakeup-enable and auto-idle and so this
function could configure the OCP_CFG register incorrectly.
Currently HWMOD is not configuring the clock-activity field in the OCP_CFG
register for timers that have this field. Commit 0f0d080 (ARM: OMAP: DMTimer:
Use posted mode) configures the clock-activity field to keep the f-clk enabled
so that the wake-up capability is enabled. Therefore, add the appropriate flags
to the timer HWMOD structures to configure this field in the same way.
For OMAP2/3 devices all dmtimers have the clock-activity field, where as for
OMAP4 devices, only dmtimer 1, 2 and 10 have the clock-activity field.
Verified on OMAP2420 H4, OMAP3430 Beagle and OMAP4430 Panda that HWMOD is
configuring the dmtimer OCP_CFG register as expected for clock-events timer.
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/timer.c')
-rw-r--r-- | arch/arm/mach-omap2/timer.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index 63229c5287e6..19765bd96c8e 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
@@ -324,7 +324,6 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer, | |||
324 | } | 324 | } |
325 | } | 325 | } |
326 | __omap_dm_timer_init_regs(timer); | 326 | __omap_dm_timer_init_regs(timer); |
327 | __omap_dm_timer_reset(timer, 1, 1); | ||
328 | 327 | ||
329 | if (posted) | 328 | if (posted) |
330 | __omap_dm_timer_enable_posted(timer); | 329 | __omap_dm_timer_enable_posted(timer); |