Post Go back to editing

Building U-Boot for the ADRV9364-Z7020

I'm trying to build U-Boot for the ADRV9364-Z7020 evaluation kit from the latest u-boot-xlnx (xilinx-v2021.2) sources because I need some configuration modification and also the Kuiper image BOOT.BIN file doesn't have a U-Boot build that supports the "load" command which is needed to load the uEnv file.

I'm following the guide here to build U-Boot. I perform the following commands but I'm having trouble which DEVICE_TREE variable to use.

make distclean
make xilinx_zynq_virt_defconfig
export DEVICE_TREE="deive_tree"

I looked at the provided device tree sources but none of them quite 100% match the ADRV9364-Z7020.

  1. zed
  2. minized
  3. microzed
  4. picozed

Comparing the device tree to the kernel source yields the following:

Device Tree Specs from Kernel zed minized microzed picozed
memory length 0x40000000 wrong memory size
wrong memory size
yes yes
stdoutpath = uart@e0001000 yes yes yes yes
usb ulpi fixed clock no no no no
usb ulpi clock no no no no
gem0 rgmii yes no yes no
usb 0 reset no yes no no
qspi n25q256a paritions wrong paritions wrong yes yes
sdhci yes no yes yes

The zed device tree looks the closest but the memory is the wrong size, it doesn't instantiate the USB clocks and reset correctly, and the partitions for the QSPI device are incorrect.

Also, on newer versions of Vivado, the arm-xilinx-gnueabi-gcc compiler is no longer included. Does ADI use the Linaro gcc cross compiler or the arm-linux-gnueabihf-gcc compiler?

Top Replies