FreeBSD manual
download PDF document: imx_wdog.4.pdf
IMX_WDOG(4) FreeBSD Kernel Interfaces Manual 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.
FreeBSD 14.0-RELEASE-p11 July 7, 2018 FreeBSD 14.0-RELEASE-p11