Skip to content
  • Marek Vasut's avatar
    watchdog: omap_wdt: Fix WDT reloading · 11c1af60
    Marek Vasut authored and Lokesh Vutla's avatar Lokesh Vutla committed
    
    
    The watchdog timer value was never updated in the hardware by this
    driver, so the watchdog triggered on some random stale value that
    was left in the hardware. The TI SPRUH37C says, quote:
    
      20.4.3.9 Modifying Timer Count/Load Values and Prescaler Setting
      ...
      After a write access, the load register value and prescaler ratio
      registers are updated immediately, but new values are considered
      only after the next consecutive counter overflow or after a new
      trigger command (the WDT_WTGR register).
    
    This means at least one trigger must happen. The driver probably
    depended on someone calling it's .reset() callback, however that
    is not guaranteed e.g. if the WDT operates without servicing.
    
    Add this missing trigger.
    
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Cc: Grygorii Strashko <grygorii.strashko@ti.com>
    Cc: Sam Protsenko <semen.protsenko@linaro.org>
    Cc: Suniel Mahesh <sunil.m@techveda.org>
    Reviewed-by: Lokesh Vutla's avatarLokesh Vutla <lokeshvutla@ti.com>
    Signed-off-by: Lokesh Vutla's avatarLokesh Vutla <lokeshvutla@ti.com>
    11c1af60