Name

CYGPKG_DEVS_WATCHDOG_MIPS_PNX8310 — eCos Support for the PNX8310 On-chip Watchdog Device

Description

The NXP PNX8310 processor is based around a PR1910 core. This core supports three timers, one of which can act as a watchdog device. Once the timer is started it will automatically reset the processor unless software resets the timer at regular intervals. The package CYGPKG_DEVS_WATCHDOG_MIPS_PNX8310 provides an eCos driver for this device, complementing the generic package CYGPKG_IO_WATCHDOG. The functionality should be accessed via the standard eCos watchdog functions watchdog_start, watchdog_reset and watchdog_get_resolution.

The watchdog driver only supports reset mode. The hardware can also be configured to raise an interrupt half way through the timeout period, but the driver does not use this functionality. An application can install an interrupt handler on CYGNUM_HAL_ISR_TMR3 if desired.

Configuration Options

The PNX8310 watchdog driver package should be loaded automatically when selecting a platform containing a PNX8310 processor, and it should never be necessary to load it explicitly into the configuration. The package is inactive unless the generic watchdog support CYGPKG_IO_WATCHDOG is loaded. Depending on the choice of eCos template it may be necessary to load the latter.

The package provides two main configuration options. CYGIMP_WATCHDOG_HARDWARE can be used to disable the use of the hardware watchdog and switch to a software emulation provided by the generic watchdog package instead. This may prove useful during debugging. CYGNUM_DEVS_WATCHDOG_MIPS_PNX8310_MILLISECONDS determines the timeout before the hardware watchdog resets the system. The default setting gives a 10-second timeout. The maximum timeout is determined by the CPU clock frequency, approximately 70 seconds for a 120MHz processor.

Porting

The watchdog device driver does not require any platform-specific support. The only porting effort required is to list CYGPKG_DEVS_WATCHDOG_MIPS_PNX8310 as one of the hardware packages in the ecos.db target entry.