UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 68514

2016.3-2017.2 Zynq UltraScale+ MPSoC: Linux reboot command causing board to hang

Description

When I run the Linux "reboot" command on a Zynq UltraScale+ MPSoC boards it hangs. I need to power off and on using the hardware switch instead.

Solution

The Linux "reboot" command does not work on Zynq UltraScale+ MPSoC boards because SRST (both PS and PL reset) is handled in the PMU Firmware.

To make this feature work you will need to follow the steps below:

  • Build Linux kernel images, enabling Power Management configuration as shown below.

Enable Debugfs: 

Select Kernel hacking -> compile-time checks and compiler options -> Debug Filesystem.


 

Enable Power Management (PM) options:

Select Power Management options -> Suspend to RAM and standby.


 

Enable the PM driver:

Select Device drivers -> SOC specific drivers -> Xilinx Zynq MPSOC driver support.


 

For 2016.3/4:

  • Build the kernel image and boot from target.
  • Run the command to reboot the target on the Linux prompt.
    Note:
    This works for both ES1 and ES2 silicon and this triggers PS reset but does not reset the PL.

# echo reset_assert 1114 2 > /sys/kernel/debug/zynqmp_pm/power

  • Run the command to reboot the target on the Linux prompt.
    Note: This is only for the 2016.4 release, and ES2 silicon. It triggers "SRST", and both the PS and PL are reset.

# echo system_shutdown 1 2 > /sys/kernel/debug/zynqmp_pm/power

For 2017.1:

  • Note: Apply the attached pmufw patch for 2017.1 ES1 silicon only. This patch is merged into the 2017.2 release branch.

# reboot

Attachments

Associated Attachments

AR# 68514
Date 04/06/2018
Status Active
Type General Article
Devices
Tools More Less
Boards & Kits
Page Bookmarked