[U-Boot] [PATCH v2 2/3] watchdog: mtk_wdt: fix timeout calculation

U-Boot passes timeout in milliseconds for ops->start. However the driver treats this value as seconds. This will cause an overflow on writing wdt register.
This patch divides the timeout by 1000 before writing to wdt register.
Reviewed-by: Stefan Roese sr@denx.de Reviewed-by: Ryder Lee ryder.lee@mediatek.com Signed-off-by: Weijie Gao weijie.gao@mediatek.com --- Changes since v1: none --- drivers/watchdog/mtk_wdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c index 0b501733f2..19e3fde968 100644 --- a/drivers/watchdog/mtk_wdt.c +++ b/drivers/watchdog/mtk_wdt.c @@ -78,7 +78,7 @@ static void mtk_wdt_set_timeout(struct udevice *dev, unsigned int timeout) * One bit is the value of 512 ticks * The clock has 32 KHz */ - timeout = WDT_LENGTH_TIMEOUT(timeout << 6) | WDT_LENGTH_KEY; + timeout = WDT_LENGTH_TIMEOUT((timeout << 6) / 1000) | WDT_LENGTH_KEY; writel(timeout, priv->base + MTK_WDT_LENGTH);
mtk_wdt_reset(dev);
participants (1)
-
Weijie Gao