[Buildroot] [PATCH v4 0/3] Add Xilinx ZynqMP and ZCU106 board support

Luca Ceresoli luca at lucaceresoli.net
Thu Jun 21 21:26:22 UTC 2018


this patchset adds basic support for the ZynqMP family of ARM64
SoC+FPGA by Xilinx and for the ZCU106 board based on it.

The ZynqMP sets a few challenges that needed some work besides the
usual defconfig + readme that is enough for more classic and simple

This v4 addresses the comments received to v3 by Thomas. The main
concern raised was that the code in v3 was copying some files into the
U-Boot source tree before compilation, so the build would find
them. This could not be done any better without changing the U-Boot
source code, and so I fixed it in the U-Boot makefiles in the first
place. With those changes to U-Boot, the Buildroot code has become a
lot leaner, now almost trivial.

The first 2 paches in my v3 series have already been applied.

Patch 1 allows to pass an externally-supplied init file to U-Boot,
which is needed to boot boards not supported in the U-Boot source
code, or on the same boards but with a different
configuration. Instead of copying the user-provided file inside the
U-Boot source as in v3, I applied a patch (submitted upstream) so
U-Boot is able to build that file without any copy.

The next issue is the PMU (Platform Management Unit). It is a
Microblaze core that handles power and clock gating and the like, and
reprogramming it at runtime is necessary to boot any modern U-Boot and
Linux. Since we can't build Microblaze code out of the ARM64
toolchain, U-Boot obtains a pre-built binary using
EXTRA_DOWNLOADS. This is added in patch 2. Until v3, the PMUFW had to
be copied inside the U-Boot source. With a patch, now upstream, it is
now possible to avoid the copy.

With all these in place, patch 5 just adds the defconfig and board


Luca Ceresoli (3):
  uboot: zynqmp: allow to use custom psu_init files
  uboot: zynqmp: generate SPL image with PMUFW binary
  configs: add Xilinx ZCU106 board (ZynqMP SoC)

 DEVELOPERS                                         |   2 +
 board/zynqmp/genimage.cfg                          |  28 ++++
 ...1-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch |  53 +++++++
 .../0002-arm64-zynqmp-Enable-booting-to-ATF.patch  | 115 ++++++++++++++
 ...p-accept-an-absolute-path-for-PMUFW_INIT_.patch |  68 ++++++++
 ...ynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch | 175 +++++++++++++++++++++
 board/zynqmp/post-image.sh                         |  13 ++
 board/zynqmp/readme.txt                            |  51 ++++++
 boot/uboot/Config.in                               |  47 ++++++
 boot/uboot/uboot.mk                                |  27 ++++
 configs/zynqmp_zcu106_defconfig                    |  34 ++++
 11 files changed, 613 insertions(+)
 create mode 100644 board/zynqmp/genimage.cfg
 create mode 100644 board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch
 create mode 100644 board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch
 create mode 100644 board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch
 create mode 100644 board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch
 create mode 100755 board/zynqmp/post-image.sh
 create mode 100644 board/zynqmp/readme.txt
 create mode 100644 configs/zynqmp_zcu106_defconfig


More information about the buildroot mailing list