cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
MartinH1
Visitor
Visitor
434 Views
Registered: ‎07-16-2020

Booting zcu104 from SD hangs in u-boot due to PMU error message

Jump to solution

Hello community,

I am having some troubles booting the zcu104 board beyond u-boot when using yocto meta-petalinux/meta-xilinx. What I want to achieve is booting "the xilinx recommended way" as described in UG1283 "Bootgen User Guide", meaning:

FSBL - PMU firmware - PL download - RPU (R5) firmware load - ATF (on A53) - u-boot (on A53) - Linux from SD card

Xilinx Zynq MP First Stage Boot Loader
Release 2020.1   Aug  4 2020  -  11:30:38
Reset Mode      :       System Reset
Platform: Silicon (4.0), Cluster ID 0x80000000
Running on A53-0 (64-bit) Processor, Device Name: XCZU7EV
XFSBL_ERROR_I2C_WRITE
FMC VADJ Configuration Not SuccessfulBoard Configuration successful
Processor Initialization Done
================= In Stage 2 ============
[...]
================= In Stage 4 ============
Protection configuration applied
Running ▒▒UjT▒'$HP▒▒ running on XCZU7EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: v2.2(release):xilinx_rebase_v2.2_2020.1
NOTICE:  BL31: Built : 11:03:15, Aug  4 2020
Copied FSBL image to DDR
XPfw_SchedulerRemoveTask: Removed 1 tasks


U-Boot 2020.01 (Aug 04 2020 - 10:43:11 +0000)

Model: ZynqMP ZCU104 RevA
Board: Xilinx ZynqMP
DRAM:  512 MiB
No reg property for local_request_region
PMU Firmware device not found - Enable it
### ERROR ### Please RESET the board ###

To achieve this I have added some BIF_ configs to local.conf as described in  meta-xilinx-tools/recipes-bsp/bootbin/machine-xilinx-zynqmp.inc:

MACHINE = "zcu104-zynqmp"
HDF_BASE = "file://"
HDF_PATH = "${TOPDIR}/../hardware.hdf"

BIF_PARTITION_ATTR= "fsbl pmu bitstream rpu atf u-boot"

BIF_PARTITION_ATTR[fsbl]="bootloader,destination_cpu=a53-0"
BIF_PARTITION_IMAGE[fsbl]="${DEPLOY_DIR_IMAGE}/fsbl-${MACHINE}.elf"
BIF_PARTITION_DEPENDS[fsbl]="virtual/fsbl"

BIF_PARTITION_ATTR[pmu]="destination_cpu=pmu"
BIF_PARTITION_IMAGE[pmu]="${DEPLOY_DIR_IMAGE}/pmu-${MACHINE}.elf"
BIF_PARTITION_DEPENDS[pmu]="virtual/pmu-firmware"

BIF_PARTITION_ATTR[atf]="destination_cpu=a53-0,exception_level=el-3,trustzone"
BIF_PARTITION_IMAGE[atf]="${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf"

BIF_PARTITION_ATTR[rpu]="destination_cpu=r5-0"
BIF_PARTITION_IMAGE[rpu]="${DEPLOY_DIR_IMAGE}/rpu-firmware-${MACHINE}.elf"
BIF_PARTITION_DEPENDS[rpu] = "rpu-firmware"

BIF_PARTITION_ATTR[u-boot]="destination_cpu=a53-0,exception_level=el-2"
BIF_PARTITION_IMAGE[u-boot]="${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.elf"

BIF_PARTITION_ATTR[bitstream] = "destination_device=pl"
BIF_PARTITION_IMAGE[bitstream] = "${DEPLOY_DIR_IMAGE}/download-${MACHINE}.bit"
BIF_PARTITION_DEPENDS[bitstream] = "virtual/bitstream"

I can see that PL and RPU start fine (firmware does "stuff" like LED that works) but linux cannot boot.

Any advice? I am using release rel_v2020.1.

Thanks and regards, Martin

0 Kudos
1 Solution

Accepted Solutions
MartinH1
Visitor
Visitor
393 Views
Registered: ‎07-16-2020

This question was moved to meta-xilinx mailinglist on yoctoproject.org

https://lists.yoctoproject.org/g/meta-xilinx/topic/76101270#4735

To quickly answer it here:

- Read the README.md of meta-xilinx-tools VERY carefully, and don't forget the YAML configs!

- Define your own machine configuration when using your own XSA file

- Compare the autogenerated dts/dtb with the output from petalinux-tools for differences in autogeneration

View solution in original post

0 Kudos
1 Reply
MartinH1
Visitor
Visitor
394 Views
Registered: ‎07-16-2020

This question was moved to meta-xilinx mailinglist on yoctoproject.org

https://lists.yoctoproject.org/g/meta-xilinx/topic/76101270#4735

To quickly answer it here:

- Read the README.md of meta-xilinx-tools VERY carefully, and don't forget the YAML configs!

- Define your own machine configuration when using your own XSA file

- Compare the autogenerated dts/dtb with the output from petalinux-tools for differences in autogeneration

View solution in original post

0 Kudos