
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