Neal Frager c52d711923 board/zynqmp: update custom board documentation 1 lună în urmă
..
kria 1106a1006b board/zynqmp/kria: remove kria specific u-boot patch 1 lună în urmă
zcu102 78039eb59a configs/zynqmp: bump to xilinx-v2023.1 2 ani în urmă
zcu104 6f3261bca9 configs/zynqmp_zcu104_defconfig: new defconfig 1 an în urmă
zcu106 78039eb59a configs/zynqmp: bump to xilinx-v2023.1 2 ani în urmă
genimage.cfg 3b4038e3d7 board/zynqmp: add new qspi.bin binary to images 6 luni în urmă
post-build.sh 48c3d9f396 board/zynqmp: fix shellcheck issues 2 ani în urmă
post-image.sh 48c3d9f396 board/zynqmp: fix shellcheck issues 2 ani în urmă
readme.txt c52d711923 board/zynqmp: update custom board documentation 2 săptămâni în urmă

readme.txt

***************************************************
Xilinx ZCU102 / ZCU104 / ZCU106 boards - ZynqMP SoC
***************************************************

This document describes the Buildroot support for the ZCU102, ZCU104
and ZCU106 boards by Xilinx, based on the Zynq UltraScale+ MPSoC (aka
ZynqMP). It has been tested with the ZCU102 and ZCU106 production
boards.

Evaluation board features can be found here with the links below.

ZCU102:
https://www.xilinx.com/products/boards-and-kits/zcu102.html

ZCU104:
https://www.xilinx.com/products/boards-and-kits/zcu104.html

ZCU106:
https://www.xilinx.com/products/boards-and-kits/zcu106.html


How to build it
===============

Configure Buildroot: (use the command for the specific board)

$ make zynqmp_zcu102_defconfig
$ make zynqmp_zcu104_defconfig
$ make zynqmp_zcu106_defconfig

Compile everything and build the rootfs image:

$ make

Result of the build
-------------------

After building, you should get a tree like this:

output/images/
+-- atf-uboot.ub
+-- bl31.bin
+-- boot.bin
+-- boot.vfat
+-- Image
+-- rootfs.ext2
+-- rootfs.ext4 -> rootfs.ext2
+-- sdcard.img
+-- system.dtb -> zynqmp-zcu106-revA.dtb
+-- u-boot.itb
`-- zynqmp-zcu106-revA.dtb

How to write the SD card
========================

WARNING! This will destroy all the card content. Use with care!

The sdcard.img file is a complete bootable image ready to be written
on the boot medium. To install it, simply copy the image to an SD
card:

# dd if=output/images/sdcard.img of=/dev/sdX

Where 'sdX' is the device node of the SD.

Eject the SD card, insert it in the board, and power it up.

Support for other boards:
=========================

If you want to build a system for other boards based on the same SoC, and the
board is already supported by the upstream kernel and U-Boot, you simply need
to change the following Buildroot options:

- Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME)
- U-Boot (BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=")

Custom psu_init_gpl.c/h support:

To generate a working boot.bin image, psu_init_gpl.c/h are required in
the U-Boot source tree. Without those files, boot.bin will be built
successfully but it will not be functional at all. Those files are
output from the Xilinx tools, but for convenience, U-Boot includes the
default psu_init_gpl.c/h of popular boards. Those files may need to be
updated for any programmable logic or DDR customizations which impact
psu_init (clock/pin setup & mapping/AXI bridge setup/etc). See
board/xilinx/zynqmp/ directory of U-Boot for natively supported psu_init
files. If the psu_init files for your board are not found in U-Boot,
you need to add them using BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE.

1) Start with a defconfig supported by Buildroot (e.g. ZCU106)
make zynqmp_zcu106_defconfig

2) make menuconfig
Visit the following menu to configure BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE

Bootloaders --->
U-Boot --->
() Custom psu_init_gpl file

3) make

==============
Important Note
==============

The DDR memory on the original ZCU102 and ZCU106 boards is EOL.
The Buildroot defconfigs for these boards use the new DDR memory
which is configured by the u-boot spl initialization with the
Buildroot config options below.

New DDR Memories:
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu102-rev1.0"
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu106-rev1.0"

If nothing is printing upon boot, most likely it is because the
board has the original DDR memories. To fix the problem, modify
the Buildroot defconfig file to use the u-boot spl initialization
for the original DDR memory using the config below for the target
board.

Original DDR Memories:
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu102-revA"
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu106-revA"

For more information on this issue:
https://support.xilinx.com/s/article/71961?language=en_US