Hello,
We're trying to use the Davinci (dm6446) hardware watchdog in a custom board configured to boot from flash (u-boot 1.1.3 on an Intel PC28F128P30). We have seen that during soft reboot (e.g. reboot -f command issued from the shell) the function "cfi_intelext_reset" is called before machine reboot is triggered by means of the davinci watchdog (davinci_watchdog_reset function call), and this works fine. Instead, if we configure the watchdog to reboot the board on timer expire (e.g. configuring and triggering watchdog timer with the davinci_wdt device), the board seems to perform the maximum reset as expected but it never restarts. My understanding of this behavior is that the cfi_intelext_reset function performs a reset of the intel flash device so that the flash is found in the right state (array mode, to be used during boot), so, in the first case after the watchdog triggered reset the flash is readable by the CPU and boot process is performed successfully, while in the second one I suppose the flash chip is in an undetermined state and, after the reset, the boot process fails. Does anyone know a reasonable way to override this problem and to have a clean hardware watchdog triggered reset/reboot of the board? I mean we can have a timer based soft watchdog (e.g. softdog) that calls the flash reset function (cfi.) before to trigger the machine reset, but this requires some kind of software processing still available on the board (interrupt handlers, etc.): our environment is very critical and we cannot rely on any software portion to take care of software/kernel error conditions, we need to do it in hardware (possibly without adding an external hardware watchdog to the board). Regards, Alberto Navatta
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
