AR# 69153

Zynq UltraScale+ MPSoC, JTAG Boot fails if the PMUFW is loaded and run after the FSBL


JTAG bootmode fails within the ATF when the PMUFW is downloaded and run on the PMU after the FSBL.

JTAG bootmode fails with a PANIC:

PANIC in EL3 at x30 = 0x00000000fffeaad4


A change to the order in which software is loaded has been made mandatory starting in the 2017.1 release.

The PMUFW waits for a config object which the FSBL provides.

To work around this issue, switch the order of dow and con in the XSDB commands so that FSBL follows PMUFW.

# Example Script
after 1000
targets -set -filter {name =~ "PS8" || name =~ "PSU" }
# According to AR 67871
mwr 0xffff0000 0x14000000
mwr 0xffca0038 0x1FF
mask_write 0xFD1A0104 0x501 0x0
after 1000
targets -set -filter {name =~ "MicroBlaze PMU"}
dow pmufw.elf
after 1000
targets -set -filter {name =~ "Cortex-A53 #0"}
dow zynqmp_fsbl.elf

after 1000
targets -set -filter {name =~ "Cortex-A53 #0"}
after 1000
dow -force u-boot.elf
after 1000
dow -force bl31.elf
after 10000
# (Optional) Loading bitstream to PL
# NOTE: In JTAG boot mode, CSU BootROM will release these resets and PL is ready for downloading bitstream
targets set nocase filter {name =~ *PL*}
fpga download.bit
AR# 69153
Date 12/11/2017
Status Active
Type General Article
Boards & Kits