Trouble running u-boot and SPL on Digilent Genesys ZU

Alvaro Gamez alvaro.gamez at hazent.com
Thu Jun 17 15:07:38 CEST 2021


Hi!

I'm trying to use buildroot to generate a system for the Digilent
Genesys ZU board, which is based on the zynqmp SOC.
I'm having trouble getting it to boot, and I was hoping I could get
some guidance on what to do next. My issue is basically that
nothing seems to work, since I don't have an output at all on the
serial console.

I'm using u-boot version 2021.04, which has the latest patches from
Luca Ceresoli that should allow booting completely via u-boot and
u-boot SPL, without using Xilinx' FSBL. My method of cross compiling
is via buildroot version 2021.05, which eases the process of gathering
also Arm Trusted Firmware, building the linux kernel and filesystem, etc.

Out of Digilent's reference design, Vivado/Vitis generates for me
configuration object pm_cfg_obj.c and PSU init file psu_init_gpl.c,
which shall be fed to u-boot. Alongside these files, I use PMU firmware
built by Luca at
https://github.com/lucaceresoli/zynqmp-pmufw-binaries/raw/master/bin/pmufw-v2018.3.bin

To provide Arm Trusted Firmware, I'm passing buildroot the same
configuration as already exists on configs/zynqmp_zcu106_defconfig
which is version 1.5 of :
https://github.com/ARM-software/arm-trusted-firmware.git
but I don't think my board has reached the state of needing this firmware yet,
since I don't get any SPL serial console output.

The device tree I'm using is extracted from Digilent's kernel image,
and matches perfectly with the one generated by petalinux for this
Digilent's Vivado design, so it should be correct

Provided image by Digilent follows the Xilinx' booting workflow, so
only a BOOT.BIN file is on the sdcard which includes xilinx' FSBL, PMU
firmware with configuration object, u-boot, kernel, device tree, etc,
so at least I know that the board is fine as this firmware works
flawlessly. I also was able to load the kernel and device tree as
built by buildroot over this instance of u-boot, so at least I can
load my own kernel, but I can't progress deeper than that.

I've only worked before with Zynq based devices and they were no such
trouble, so I'm quite a bit lost right now and would appreciate any
help that I can get.

Thanks a lot!

-- 
Álvaro Gámez Machado


More information about the U-Boot mailing list