cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
596 Views
Registered: ‎08-26-2019

Unable to reset APU after watchdog0 is timeout in Petalinux 2017.4.

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.

Tags (2)
0 Kudos
4 Replies
Highlighted
Xilinx Employee
Xilinx Employee
559 Views
Registered: ‎02-26-2014

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

&watchdog0 {
    status = "okay";
    reset-on-timeout;
};
 
0 Kudos
Highlighted
Visitor
Visitor
533 Views
Registered: ‎08-26-2019

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?

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
506 Views
Registered: ‎02-26-2014

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

0 Kudos
Visitor
Visitor
486 Views
Registered: ‎08-26-2019

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?

0 Kudos