08-28-2019 12:34 AM
Hi,
I`m currently using Petalinux 2017.4 on Zynq ultrascale + MpSoc SOM. I`m working on integrating watchdog0 in my existing project. For this, I have followed the instruction mentioned on the following Xilinx wiki page
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842055/Cadence+WDT+Driver
I have modified my system-user.dtsi to include following lines.
/{
watchdog@fd4d0000 {
compatible = "cdns,wdt-r1p2";
status = disabled;
interrupt-parent = <&gic>;
interrupts = <0 113 1>;
reg = <0x0 0xfd4d0000 0x1000>;
timeout-sec = <10>;
};
};
&watchdog0 {
status = "okay";
reset-on-timeout;
};
After the patalinux boot I have entered the following command to test the watchdog timer.
echo s > /dev/watchdog0 |
After 10 seconds no message appear and APU does not restart.
There is a PMU patch available on this (https://www.xilinx.com/support/answers/69423.html). But it is for petalinux 2017.1/2 and the petalinux doesn`t build when I add this patch in 2017.4.
system-user.dtsi file is attached in txt format.
Any help would be highly appreciated.
08-30-2019 10:10 AM
Hi,
Make sure:
1) reset-on-timeout; is actually included in your dts file. After boot you can check the proc entries to verify
2) Watchdog entry should be already there in zynqmp.dtsi. You don't need to include that (watchdog@fd4d0000 node) in system-user.dtsi . you only need following lines
09-01-2019 10:52 PM - edited 09-01-2019 11:17 PM
Hi,
Thanks for the reply. I removed the (watchdog@fd4d0000 node) from the system-user.dtsi. The problem is still occurring. Even I eliminated all the nodes in the system-user.dtsi except for watchdog.
(new system-user.dtsi)
/include/ "system-conf.dtsi"
/ {
};
&watchdog0 {
status = "okay";
reset-on-timeout;
};
Below is the terminal output
root@ipi_interrupt:~# echo s > /dev/watchdog0
[ 64.820198] watchdog: watchdog0: watchdog did not stop!
Nothing happens after the second line. System does not reboot. Do we need a patch to reboot in petalinux 2017.4 just like 2017.1?
09-04-2019 10:38 PM
Is your PMU firmware compiled with Error management flag enabled ?
It is neccessary to have pmu-firmware compiled with Error management feature enabled for this to work.
An easy way of doing that would be to include following lines in the file (create if it doesn't exist) <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/pmu-firmware_%.bbappend
YAML_COMPILER_FLAGS_append = " -DENABLE_SCHEDULER -DENABLE_EM"
This will enable Error management in the pmu-firmware
09-12-2019 02:05 AM
Thanks, I have created this file ( <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu-firmware/pmu-firmware_%.bbappend ), added this line ( YAML_COMPILER_FLAGS_append = " -DENABLE_SCHEDULER -DENABLE_EM" ) in it and rebuit the project.
The problem is when I boot "Avenet ultrazed SOM", after "Starting kernel .. " message, the PS_ERROR LED turns ON. But the board continues the booting process.
After the board has booted. I run this command " echo s > /dev/watchdog0 ". The system hangs after 10 seconds instead of restarting and PS_DONE LED goes down. What could be the possible problem?