[RFC PATCH] watchdog: da9062: Correct the timeout values

From: Christoph Niedermaier
Date: Fri Dec 03 2021 - 11:38:26 EST


I measured the timeout values of my DA9061 chip. According to the
information in the data sheet the formula should be:

timeout = 2.048 * 2^(regval - 1)

But my measured values differ from that.
Accoring to my measured values the formula must be:

timeout = 3.2 * 2^(regval - 1)

Is there something wrong with my chip, or has anyone else noticed this as well?

Signed-off-by: Christoph Niedermaier <cniedermaier@xxxxxxxxxxxxxxxxxx>
Cc: Support Opensource <support.opensource@xxxxxxxxxxx>
Cc: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx>
Cc: Wim Van Sebroeck <wim@xxxxxxxxxxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Cc: Andrej Picej <andrej.picej@xxxxxxxxx>
Cc: linux-watchdog@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
---
drivers/watchdog/da9062_wdt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/watchdog/da9062_wdt.c b/drivers/watchdog/da9062_wdt.c
index f02cbd530538..d2576aba9ca5 100644
--- a/drivers/watchdog/da9062_wdt.c
+++ b/drivers/watchdog/da9062_wdt.c
@@ -20,7 +20,8 @@
#include <linux/regmap.h>
#include <linux/of.h>

-static const unsigned int wdt_timeout[] = { 0, 2, 4, 8, 16, 32, 65, 131 };
+static const unsigned int wdt_timeout[] = { 0, 3, 6, 12, 25, 51, 102, 204 };
+
#define DA9062_TWDSCALE_DISABLE 0
#define DA9062_TWDSCALE_MIN 1
#define DA9062_TWDSCALE_MAX (ARRAY_SIZE(wdt_timeout) - 1)
--
2.11.0