arm: add initilisation of watchdog in init_sequence
PATCH 1/1 arm: add initilisation of watchdog in init_sequence
For platforms that implement a hardware watchdog, call its initialization routine in init_sequence.
This location has been chosen to be the closest to initialization of console as some watchdog drivers are writing status messages. On the other hand, watchdog setup should be close to chip startup to be able to begin the triggering quickly.
--- arch/arm/lib/board.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
arch/arm/lib/board.c +7 -0
@@ -70,6 +70,10 @@ extern int AT91F_DataflashInit(void);extern void dataflash_print_info (void );#endif +#ifdef CONFIG_HW_WATCHDOG +extern void hw_watchdog_init (void ); +#endif +#ifndef CONFIG_IDENT_STRING #define CONFIG_IDENT_STRING ""#endif
@@ -251,6 +255,9 @@ init_fnc_t *init_sequence[] = { serial_init, /* serial communications setup */ console_init_f,/* stage 1 init of console */ display_banner,/* say that we are here */ +#if defined(CONFIG_HW_WATCHDOG) + hw_watchdog_init,/* watchdog setup */ +#endif #if defined(CONFIG_DISPLAY_CPUINFO) print_cpuinfo, /* display cpu info (and speed) */ #endif
Signature · 1 line
1.5.6.5
PATCH 1/1 arm: add initilisation of watchdog in init_sequence
Quoted 7 lines · Nicolas Ferre
For platforms that implement a hardware watchdog, call its initialization routine in
init_sequence.
This location has been chosen to be the closest to initialization of console as some watchdog drivers are writing status messages. On the other hand, watchdog setup should be close to chip startup to be able to begin the triggering quickly.
I am not opposed to putting watchdog into the init sequence.
A current ARM way for initializing the watchdog is to do it in s_init. Why doesn't this work for you ?
Reviewing other watchdog additions in the init sequences from powerpc,sh,m68k If an init is to be added, this setup should be cut-n-pasted from one of these. There should be follow-on patches to convert the ARM s_init's over to using the init sequence.
Tom
Quoted 30 lines
Signed-off-by Nicolas Ferre <[email protected]>--- arch/arm/lib/board.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)arch/arm/lib/board.c +7
-0@@ -70,6 +70,10 @@ extern int AT91F_DataflashInit(void);extern void dataflash_print_info (void );#endif +#ifdef CONFIG_HW_WATCHDOG +extern void hw_watchdog_init (void ); +#endif +#ifndef CONFIG_IDENT_STRING #define CONFIG_IDENT_STRING ""#endif @@ -251,6 +255,9 @@ init_fnc_t *init_sequence[] = { serial_init, /* serial communications setup */ console_init_f,/* stage 1 init of console */ display_banner,/* say that we are here */ +#if defined(CONFIG_HW_WATCHDOG) + hw_watchdog_init,/* watchdog setup */ +#endif #if defined(CONFIG_DISPLAY_CPUINFO) print_cpuinfo, /* display cpu info (and speed) */ #endif
PATCH 1/1 arm: add initilisation of watchdog in init_sequence
Le 30/05/2010 13:17, Tom Rix :
Quoted 10 lines
Quoted 9 lines · Nicolas Ferre
For platforms that implement a hardware watchdog, call its initialization routine in
init_sequence.
This location has been chosen to be the closest to initialization of console as
some watchdog drivers are writing status messages. On the other hand, watchdog
setup should be close to chip startup to be able to begin the triggering quickly.
Quoted 4 lines
I am not opposed to putting watchdog into the init sequence.
A current ARM way for initializing the watchdog is to do it in
s_init. Why doesn't this work for you ?
Well, I only see it done like this in some omap platforms. It does work for me because we do not always use the lowlevel_init.S file: sometimes, the low level initialization is done by a tiny first level bootloader...
Quoted 5 lines
Reviewing other watchdog additions in the init sequences from powerpc,sh,m68k
If an init is to be added, this setup should be cut-n-pasted from one of these. There should be follow-on patches to convert the ARM s_init's over to using the init sequence.
I guess that as architecture implementation are different in the way of initializing watchdog, I may include this in each board file or create a common initialization for AT91 at board level...
Best regards,
Signature · 1 line
Nicolas Ferre