The MCA implements a watchdog timer in its firmware. Both internal CPU watchdog timers on the ConnectCore 6UL are disabled by default because the MCA is responsible for the power/reset initialization of the SOM as a whole.

Do not manually enable the internal CPU watchdog. The ccimx6ul SOM clock architecture produces unpredictable behavior when the internal CPU watchdog is enabled.

Features

You can configure the following MCA watchdog features:

  • Set the timeout to a value between 1 and 255 seconds.

  • Initiate interrupt or system reset.

  • Initiate full-system reset (including the MCA itself) or CPU-only reset.

Kernel configuration

You can manage the MCA watchdog driver support through the following kernel configuration option:

  • Digi ConnectCore SOMs Micro Controller Assist Watchdog (CONFIG_MCA_WATCHDOG)

This option is enabled as built-in on the default ConnectCore 6UL kernel configuration file.

Kernel driver

The MCA watchdog driver is located at:

File Description

drivers/watchdog/mca_wdt.c

MCA watchdog driver

Device tree bindings and customization

The MCA watchdog device tree binding is documented at Documentation/devicetree/bindings/watchdog/digi,mca-wdt.txt.

Watchdog inside the MCA

ConnectCore 6UL device tree
mca_cc6ul: mca@7e {

	...

	watchdog {
		compatible = "digi,mca-cc6ul-wdt";
		digi,full-reset;
	};
};

Using the watchdog

The watchdog is accessible via the file descriptor /dev/watchdog0.

For information about the watchdog API, see the Linux kernel documentation at Documentation/watchdog/watchdog-api.txt.

Sample application

An example application called apix-watchdog-example is included in the dey-examples-digiapix recipe (part of dey-examples package) of meta-digi layer. This application uses the Digi APIx library to enable a watchdog device on the ConnectCore 6UL.

Go to GitHub to see the application instructions and source code.

See Watchdog API for more information about the watchdog APIx.