Tool/software:
Hi,
I am trying to utilize the watchdog in U-Boot.
Start the watchdog in U-Boot and stop it in Linux. If there is a boot-up issue in Linux, the watchdog will help to reset the system.
After reading, I know that MCU R5 ROM starts a watchdog timer, and SYSFW or TIFS services it, but I can't find a good doc to explain how to do it in U-Boot and Linux.
So I come to the main domain watchdog, as explained in the related question (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1261103/faq-j784s4xevm-how-to-enable-main-domain-watchdog).
I am working based on SDK 10.0.0, I checked that, the patches that are attached to the related question already exist in SDK 10.0.0. (I use "patch" later to mention the patches attached in the related question.)
There is only one difference, in the patch it is:
+ wkup_i2c0_pins_default: wkup-i2c0-pins-default {
+ u-boot,dm-spl;
+ pinctrl-single,pins = <
+ J784S4_WKUP_IOPAD(0x104, PIN_INPUT, 0) /* (N33) WKUP_I2C0_SCL */
+ J784S4_WKUP_IOPAD(0x104, PIN_INPUT, 0) /* (N35) WKUP_I2C0_SDA */
+ >;
+ };
but in the SDK 10.0.0 codes, it is
wkup_i2c0_pins_default: wkup-i2c0-default-pins {
bootph-all;
pinctrl-single,pins = <
J721S2_WKUP_IOPAD(0x98, PIN_INPUT, 0) /* (N33) WKUP_I2C0_SCL */
J721S2_WKUP_IOPAD(0x9c, PIN_INPUT, 0) /* (N35) WKUP_I2C0_SDA */
>;
};
But it doesn't matter, I tried both, none of them works!
I added a watchdog in j784s4_evm_a72_defconfig.
watchdog@2200000 (rti_wdt)
watchdog@2210000 (rti_wdt)
watchdog@2220000 (rti_wdt)
watchdog@2230000 (rti_wdt)
watchdog@2240000 (rti_wdt)
watchdog@2250000 (rti_wdt)
watchdog@2260000 (rti_wdt)
watchdog@2270000 (rti_wdt)
=> wdt dev watchdog@2200000
=> wdt start 10000
WDT: Started watchdog@2200000 with servicing every 1000ms (10s timeout)
=>
=> wdt reset
Resetting watchdog timer failed (-1)