[U-Boot] [PATCH] at91: Don't initialize watchdog if CONFIG_SYS_WDTC_WDMR_VAL is undefined

Alexander Stein alexander.stein at systec-electronic.com
Thu Jul 22 08:17:17 CEST 2010


Hello,

Am Mittwoch, 21. Juli 2010, 20:20:48 schrieb Wolfgang Denk:
> > --- a/arch/arm/cpu/arm926ejs/at91/lowlevel_init.S
> > +++ b/arch/arm/cpu/arm926ejs/at91/lowlevel_init.S
> > 
> > @@ -186,8 +186,10 @@ SDRAM_setup_end:
> >  	.ltorg
> >  
> >  SMRDATA:
> > +#if defined(CONFIG_SYS_WDTC_WDMR_VAL)
> > 
> >  	.word AT91_ASM_WDT_MR
> >  	.word CONFIG_SYS_WDTC_WDMR_VAL
> > 
> > +#endif
> 
> This seems the wrong approach to me - when CONFIG_HW_WATCHDOG is
> defined and requires CONFIG_SYS_WDTC_WDMR_VAL, but the latter is
> missing, than this should raise n error condition. We must not
> silently ignore errors.

Well, my problem is, that CONFIG_SYS_WDTC_WDMR_VAL is used to program the 
internal watchdog. But this watchdog can only be programmed once until a reset 
occurs. So there is no possibility for linux to reprogram it.
So, if CONFIG_SYS_WDTC_WDMR_VAL is not defined and the watchdog is not 
programed using my patch, the watchdog still runs with default settings 
(timeout of 16s). So a user may choose to trigger the watchdog from u-boot 
(define CONFIG_AT91SAM9_WATCHDOG and CONFIG_HW_WATCHDOG) or let it run 
silently. To summarize, CONFIG_SYS_WDTC_WDMR_VAL is not needed to use 
CONFIG_AT91SAM9_WATCHDOG and CONFIG_HW_WATCHDOG.

Best regards,
Alexander Stein


More information about the U-Boot mailing list