Skip to contentSkip to conversation

Watchdog support

DISCUSSION Erwin Rol 3 participants 6 messages May 13, 2010 – May 17, 2010

lore
Share & tools
lore
author
#2 lore raw
Quoted 6 lines · Marc Reilly

Hi Erwin,

Quoted 1 line

does barebox have any watchdog support ?

I think the answer to your question is really dependent on what platform you are using, and exactly what you want the watchdog to do.

Platform does not really matter here, I mean does barebox trigger the watchdog if it is doing lengthy operations like writing flash to prevent it from being reset in the middle of the operation. That has little to do with if the platform has a watchdog or not.

So let me changes the question a bit;

Does barebox have a standard API to trigger and program a watchdog ?

- Erwin

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

#3 lore raw
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

does barebox have any watchdog support ?

I think the answer to your question is really dependent on what platform you are using, and exactly what you want the watchdog to do.

Platform does not really matter here, I mean does barebox trigger the watchdog if it is doing lengthy operations like writing flash to prevent

it from

Quoted 1 line

being reset in the middle of the operation. That has little to do with if

the

Quoted 5 lines

platform has a watchdog or not.

So let me changes the question a bit;

Does barebox have a standard API to trigger and program a watchdog ?

I'm definitely not an authority on this, but I think not. From a quick scan the strategy is to disable the wdt if it's going to be a problem. There seems to be some API to trigger a reset via the wdt, but that's all. Platform may be an issue because the platform may not implement those functions.
(Note I didn't look very hard - I invite anyone to correct me).

Cheers
Marc

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

#4 lore raw
In reply to Erwin Rol

Hi Erwin,

Quoted 8 lines · Erwin Rol
Quoted 6 lines · Marc Reilly

Hi Erwin,

Quoted 1 line

does barebox have any watchdog support ?

I think the answer to your question is really dependent on what platform you are using, and exactly what you want the watchdog to do.

Quoted 8 lines

Platform does not really matter here, I mean does barebox trigger the watchdog if it is doing lengthy operations like writing flash to prevent it from being reset in the middle of the operation. That has little to do with if the platform has a watchdog or not.

So let me changes the question a bit;

Does barebox have a standard API to trigger and program a watchdog ?

No, we do not have this atm.

Are you looking for real watchdog support, i.e. 'reset watchdog when my system is in a sane state' or do you have a piece of hardware on which you have to reset the watchdog frequently because you can't disable it in software?

For the first case I propose a 'watchdog' command with an underlying reset_watchdog() function which resets the watchdog.
For the latter case you don't have another choice but to scatter the code with RESET_WATCHDOG macros like U-Boot does.

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#5 lore raw

Hi,

Quoted 11 lines
Quoted 1 line

Does barebox have a standard API to trigger and program a watchdog ?

No, we do not have this atm.

Are you looking for real watchdog support, i.e. 'reset watchdog when my system is in a sane state' or do you have a piece of hardware on which you have to reset the watchdog frequently because you can't disable it in software?

For the first case I propose a 'watchdog' command with an underlying reset_watchdog() function which resets the watchdog.

IMHO the use of 'reset' with watchdogs is ambiguous. Typically, the primary use is to _prevent_ the watchdog from attacking you (the system resetting), but sometimes it is also used to _cause_ the reset, so that the system restarts properly. (suicide and resurrection. I suck at analogies.) So, that said, I'd suggest watchdog_ping() or watchdog_feed() as functions for the first usage, and save watchdog_reset() for the second. (or watchdog_trigger_reset() etc)

Just my 0.02c. In the end, I don't think I'll be the one writing it, so I won't be the one designing it. :)

Quoted 1 line

For the latter case you don't have another choice but to scatter the code

with

Quoted 1 line

RESET_WATCHDOG macros like U-Boot does.

Or put it in the timer interrupt :)
That was, of course, a joke.

Cheers
Marc

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox