Hi there,
We’re currently trying to make use of the AM62’s hardware watchdog but are having problems getting it to work properly. Our hardware and software setup looks like this:
- Verdin AM62 Quad/2GB in a Yavia 1.0A development board
- Custom Yocto image built on top of the Toradex 6.5.0 BSP (though also tried the 6.5.0 minimal reference image which showed the same behaviour)
And the output from tdx-info:
Software summary
------------------------------------------------------------
Bootloader: U-Boot
Kernel version: 6.1.46-6.5.0+git.8e6a2ddd4fe6 #1 SMP PREEMPT Thu Dec 21 17:08:38 UTC 2023
Kernel command line: root=PARTUUID=ea3c08a9-02 ro rootwait console=tty1 console=ttyS2,115200 consoleblank=0 earlycon=ns16550a,mmio32,0x02800000
Distro name: NAME="TDX Wayland with XWayland"
Distro version: VERSION_ID=6.5.0-build.9
Distro variant: -
Hostname: verdin-am62-15190383
------------------------------------------------------------
Hardware info
------------------------------------------------------------
HW model: Toradex Verdin AM62 WB on Verdin Development Board
Toradex version: 0076 V1.1A
Serial number: 15190383
Processor arch: aarch64
To use the watchdog, I uncommented the RuntimeWatchdogSec
option in the systemd configuration file which as far as I can tell is all that should be required. Once booted with this option enabled, I can see journal messages confirming the watchdog has been started, but unfortunately the system resets after approximately half of the timeout interval has passed (so 30 seconds with the default minute timeout the RTI watchdog uses). This seems to be supported by the fact that if I configure the watchdog timeout to say 2 minutes (adding rti-wdt.heartbeat=120
to the kernel command line) it resets after around a minute.
My only thought currently is that the kernel driver is incorrectly sending pings too early (ie. in the first 50% of the timeout interval), which according to the AM62 reference manual could have the same effect as being too late, but I haven’t had any luck trying to confirm that so I’m hoping someone might be able to shed some light either on what the problem is or what I’m doing wrong!
Any help/recommendations would be much appreciated.
Many thanks,
Chris