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" make
I looked at the provided device tree sources but none of them quite 100% match the ADRV9364-Z7020.
- zed
- minized
- microzed
- 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 0x20000000 |
wrong memory size 0x20000000 |
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?