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

From: Guenter Roeck
Date: Mon Dec 13 2021 - 08:58:39 EST


On 12/13/21 1:11 AM, Christoph Niedermaier wrote:
Resend with [Klartext] to turn off TLS encryption.

From: Adam Thomson
Sent: Monday, December 6, 2021 5:38 PM
Thanks anyway, so now I know it must be
problem with my DA9061 chip.

@Adam
Where can it come from?
Can you give we a hint what to check?

I've spoken internally and have been informed that this is down to the fact that
DA9061 runs only from an internal oscillator which may be slower. The indication
is that the values for TWDSCALE describe the window where if a kick/ping occurs
within that period then the watchdog is guaranteed *not* to timeout. The actual
timeout would be at some point after the selected timeout period, assuming no
ping/kick occurred.

Table 8 in the datasheet specifies a minimum watchdog timeout of 2.5s (tWDMAX)
under specific operating conditions, so if the minimum 2s window was chosen
(TWDSCALE = 1) then earliest the watchdog would actually timeout, following a
ping, is 2.5s, assuming the conditions matched those described.

If you have further questions it probably makes sense to contact Dialog/Renesas
support as they will be able to provide more detailed info on this.

So a DA9061 runs only from an internal oscillator, whereas a DA9062
can run on either an internal or an external oscillator. So this
means that the DA9061 timeout values are differ from the DA9062
with an external oscillator not only on my device but on all DA9061
devices.

This are the values (in seconds) in comparison:
DA9062 (from driver): 0 2 4 8 16 32 65 131
DA9061 (measured): 0 3 6 12 25 51 102 204
=================================================
Difference: 0 +1 +2 +4 +9 +19 +37 +73

In my opinion, the differences in the higher values are very huge.
If I expect that the watchdog triggers and I have to wait more than
a minute for that to happen I ask myself is there something wrong.

@Andrej
I guess, you are using an external oscillator, aren't you?

@Adam
Is there a way to check in the driver which oscillator is in use?

@Maintainers
Is in the driver a need to distinguish between an external and an
internal oscillator to get the timeout values more accurate?


It would be very desirable to get timeout values more accurate.
I would not want to dictate how to implement it, though.
It could be automatically detected if that is possible, there
could be a devicetree clock property providing the clock
frequency, or maybe there is some other solution.

Guenter