Hello, On Sat, Mar 07, 2015 at 12:29:33PM +0100, Pavel Machek wrote: > On Sat 2015-03-07 12:06:45, Alexandre Belloni wrote: > > On 07/03/2015 at 11:39:39 +0100, Pavel Machek wrote : > > > > The Atmel watchdog can't be stopped once it's started. This is actually > > > > very useful so we can reset if suspend or resume failed, the only > > > > drawback is that you have to wake up from time to time (e.g. by using > > > > the RTC/RTT) to clear the watchdog and then go back to sleep ASAP. > > > > > > Yeah. So you do "echo mem > /sys/power/state", and few seconds/minutes > > > after watchdog kills the system. But you did not ask for dead system, > > > you asked for suspend. > > > > > > And while that behaviour is useful for you, I don't think it is > > > exactly useful behaviour, nor it is the behaviour user would expect. > > > > > > > I think you misunderstood, that is exactly the expected behaviour. This > > is hardware defined. Once the watchdog is started, nobody can stop it. > > Trying to change the mode register will result in a reset of the > > SoC. > > Well, it boils down to "what is stronger". Desire to suspend the > system, or desire to reboot the system. > > It is "echo mem > state", not "echo reboot > state". Maybe we should warn the watchdog is enabled and the system is going to reboot if nothing woke-up the system before the watchdog expire, but the maximum watchdog is 16s so it can't get unnoticed during development, I am confident embedded engineers are smart enough to understand what is happening without a displayed warning :-) > > It is documented in the datasheet and any user wanting another behaviour > > is out of luck. > > Actaully, your platform should just refuse to enter suspend-to-RAM > when hw watchdog is enabled. Yeah that's what I said, hardware watchdog or suspend: chose one or use the software watchdog instead or "hack" around the way I am doing ;-) Sylvain
Attachment:
signature.asc
Description: Digital signature