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

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 8X 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 8X device tree
mca_cc8x: mca@63 {

	...

	watchdog {
		compatible = "digi,mca-cc8x-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 8X.

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

See Watchdog API for more information about the watchdog APIx.