[U-Boot] [PATCH] CFI Driver: Reset watchdog timer after each flash operation

Ingo van Lil inguin at gmx.de
Fri Oct 2 14:12:43 CEST 2009


On 10/02/2009 01:06 PM, Stefan Roese wrote:

>> The CFI driver does not reset the device's watchdog, so long-running
>> flash operations will cause the watchdog timer to expire. A comment in
>> flash_status_check() suggests that udelay() is expected to reset the
>> watchdog, but I can't find any architecture where it does.
>
> PPC does it this way. udelay() in lib_ppc/time.c calls wait_ticks(). And here
> you will find WATCHDOG_RESET.

You're right. Seems to be an exception, though: According to ctags there 
are 40 separate implementations of udelay(), and the ones in lib_ppc and 
lib_nios seem to be the only ones that actually do call WATCHDOG_RESET.

> Which platform are you using? I support this needs to be fixed in your
> platform.

I'm using an Atmel AT91-based custom board, and the udelay() function 
can be found in cpu/arm926ejs/at91/timer.c. Unfortunately there's no 
central udelay() implementation in lib_arm.

Regards,
Ingo


More information about the U-Boot mailing list