| This article is not applicable to M33-TD flavor |
1. Article purpose[edit | edit source]
The purpose of this article is to explain how to disable watchdog feature.
In case of system crash or system freeze, the watchdog will automatically reset the system. This can make difficult to investigate and debug the problem. Disabling the watchdog before reproducing a system issue can help the investigation.
2. How to disable watchdog feature[edit | edit source]
The hardware automatically starts the watchdog at boot when the dedicated OTP bit is programmed.
If the OTP is programmed to starts the watchdog by hardware, then the watchdog cannot be stopped.
If the OTP bit is not programmed, during boot the watchdog is only started by TF-A; all the other boot components detect if the watchdog has started and only refresh it if necessarily. At last, the Linux userland systemd daemon unconditionally starts and refreshes the watchdog without checking its previous status. To prevent the watchdog to start, both TF-A device tree and systemd configuration must be modified. The watchdog would then not be started from the following boot.
To prevent TF-A to start the watchdog, modify your board TF-A device tree and change the following line:
&iwdg1 {
timeout-sec = <32>;
- status = "okay";
+ status = "disabled";
};
To prevent OpenSTLinux systemd [1] to start the watchdog, modify the file /lib/systemd/system.conf.d/01-watchdog.conf and remove or comment following line:
[Manager] - RuntimeWatchdogSec=32 + #RuntimeWatchdogSec=32 ShutdownWatchdogSec=32 RebootWatchdogSec=32
- ↑ systemd documentation: https://systemd.io/