AR# 69423

2017.1/2 Zynq UltraScale+ MPSoC: Linux Watch Dog Timer (WDT) driver does not reset after reset-on-timeout is kicked off

Description

The Linux Watch dog timer (WDT) driver does not reset after reset-on-timeout is kicked off.

On reset-on-timeout, the interrupt handler will call PMUFW APIs to reset both the PS and PL.

Solution

To fix this issue, follow the steps below:

1) Apply the attached patch to the PMUFW recipe: <plnx-proj-root>/project-spec/meta-user/recipes-bsp/pmu/pmu-firmware_%.bbappend

Note: To apply a patch to recipes, please refer to the following wiki article:

http://www.wiki.xilinx.com/PetaLinux+Yocto+Tips (Section: How to patch PMU Firmware in v2017.1 PetaLinux Project)

pmu-firmware_%.bbappend file content:

do_configure_prepend() {
if [ -d "${S}/patches" ]; then
   rm -rf ${S}/patches
fi
if [ -d "${S}/.pc" ]; then
   rm -rf ${S}/.pc
fi
}

SRC_URI_append = " \
           file://0001-PMUFW-Enable-srst-action-on-fpd-wdt-error.patch \
           "

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

#Add debug for PMUFW(optional)
XSCTH_BUILD_DEBUG = "1"

YAML_COMPILER_FLAGS_append =  " -DENABLE_EM"

EXTERNALXSCTSRC = ""
EXTERNALXSCTSRC_BUILD = ""

2) Add the device-tree property to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi/system-user.dtsi

&watchdog0 {
    reset-on-timeout;
};

3) Test the procedure on the target.

root@plnx_aarch64:~# echo s > /dev/watchdog0

Attachments

Associated Attachments

Name File Size File Type
0001-PMUFW-Enable-srst-action-on-fpd-wdt-error.patch 991 Bytes PATCH
AR# 69423
Date 11/07/2017
Status Active
Type General Article
Devices
Tools
Boards & Kits