• Jon Hunter's avatar
    ARM: OMAP2+: Don't use __omap_dm_timer_reset() · 10759e82
    Jon Hunter authored
    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 0f0d0807 (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: default avatarJon Hunter <jon-hunter@ti.com>
    Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
    10759e82
omap_hwmod_3xxx_data.c 95.7 KB