Watchdog — Describes use of the hardware watchdog


This HAL package includes the hardware driver required to support the generic watchdog support defined in the CYGPKG_IO_WATCHDOG package. The functionality allows the watchdog either to cause the IXP4xx to reset, or to cause a callback function to be triggered as defined in the generic watchdog API.

The watchdog is also used to perform platform resets, such as with the reset command in the RedBoot CLI. Note that there is an IXP425 erratum affecting use of the watchdog on IXP425s with stepping level of A0. Stepping levels of B0 and above no longer have this issue.


It is not possible to enable support for the IXP4xx on-chip watchdog unless the CYGPKG_IO_WATCHDOG package is included in the eCos configuration. Once included, the configuration options for this hardware support can then be found in the watchdog part of the eCos configuration tree under the CDL component name CYGPKG_HAL_IXP4XX_WATCHDOG, rather than in the HAL.

The option CYGNUM_HAL_IXP4XX_WATCHDOG_DESIRED_TIMEOUT_US allows the watchdog timeout interval to be set. An application must ensure that the watchdog is reset more frequently than this period. The units are microseconds, and depending on the selected period, values may be rounded up to the next clock tick..

If the option CYGSEM_HAL_IXP4XX_WATCHDOG_RESET is enabled, watchdog expiration will cause the IXP4xx to perform a soft reset. If this option is instead disabled, a callback function can be registered with the generic watchdog API, which will be called by an interrupt handler associated with the watchdog.