IMX_WDOG(4)

NAME
imx_wdog - device driver for the NXP i.MX5 and i.MX6 watchdog timer

SYNOPSIS
To compile this driver into the kernel, place the following line in your kernel configuration file:

device imxwdt

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    imx_wdog_load="YES"

DESCRIPTION
The imx_wdog driver provides watchdog(4) support for the watchdog timer present on NXP i.MX5 and i.MX6 processors. The i.MX watchdog hardware supports programmable timeouts ranging from 0.5 to 128 seconds, in half-second increments. Once activated, the watchdog hardware cannot be deactivated, but the timeout period can be changed to any valid non-zero value.

At power-on, a special 16-second ‘power-down timer’ mode is automatically enabled by the hardware. It will assert the external WDOG_B signal, which may be connected to external hardware that causes the system to reset or power-down. The power-down timer is often reset by the boot loader (typically U-Boot). If the power-down timer is still active at the time when the normal watchdog is first enabled, the imx_wdog driver automatically disables it.

The imx_wdog driver supports the FDT fsl,external-reset property by enabling the assertion of the WDOG_B external timeout signal when the property is present. When running this way, the need to reset the system due to watchdog timeout is signaled by driving the WDOG_B line low; some external entity is expected to assert the chip's POR pin in response. The imx_wdog driver attempts to backstop this external reset by scheduling an interrupt to occur as well. The interrupt handler waits 1 second for the external reset to occur, then it triggers a normal software reset. Note that the WDOG_B signal can be configured to use a variety of pins on the chip. For the fsl,external-reset property to be effective, the signal must be connected to an appropriate pin by the system's FDT pinctrl data.

The imx_wdog driver supports the FDT timeout-secs property by enabling the watchdog as soon as the driver attaches, using the given timeout value. This extends watchdog protection to much of the system startup process, but it still requires that watchdogd(4) be configured to service the watchdog.

SEE ALSO
fdt(4), watchdog(4), watchdog(8), watchdogd(8), watchdog(9)

HISTORY
The imx_wdog driver first appeared in FreeBSD 10.0.