All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2-RESEND 0/6] Add Xilinx ZynqMP and ZCU106 board support
@ 2018-04-06 16:34 Luca Ceresoli
  2018-04-06 16:34 ` [Buildroot] [PATCH v2-RESEND 1/6] arm-trusted-firmware: simplify release dir path Luca Ceresoli
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Luca Ceresoli @ 2018-04-06 16:34 UTC (permalink / raw)
  To: buildroot

Hi,

[*Resending since patchwork missed most patches last time*]

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
SoCs.

First, it requires ARM Trusted Firmware in the U-Boot mkimage format,
not currently implemented. Nothing really hard here, this is addressed
in patch 2 (with a trivial preliminary cleanup in patch 1).

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, I've set up a repository with pre-built PMU firmwares and
added a new package that just downloads from there. This is similar to
the binaries-marvell and vexpress-firmware packages. This is added in
patch 3.

Finally, U-Boot needs some tweaks in order for the PMU firmware to
properly loaded and to initialize peripherals before starting
Linux. This is done in patches 4 and 5.

With all these in place, patch 6 just adds the defconfig and board
files.

Main changes since v1:
 - Do not add the huge psu_init files to Buildroot. Instead use the
   zcu106 support in the Xilinx master branch (but add two patches to
   fix it). The option to use a user-provided psu_init file is still
   present because many users will use the same board in a different
   configuration or a custom board.
 - Use a recent version of U-Boot. Upstream v2018.01 has been merged
   into the Xilinx master branch, which is a big step from the
   previous version based on upstream 2017.01. Xilinx has not tagged
   any version since that, so we use a SHA-1.
 - Split patch 4 in two as it was doing two different things.

Luca

Luca Ceresoli (6):
  arm-trusted-firmware: simplify release dir path
  arm-trusted-firmware: generate atf-uboot.ub for ZynqMP booting
  zynqmp-pmufw-binaries: new package
  uboot: zynqmp: generate SPL image with PMUFW binary
  uboot: zynqmp: allow to use custom psu_init files
  configs: add Xilinx ZCU106 board (ZynqMP SoC)

 DEVELOPERS                                         |  3 ++
 board/zynqmp/genimage.cfg                          | 28 +++++++++++
 ...1-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch | 56 ++++++++++++++++++++++
 ...arm64-zynqmp-zcu106-enable-booting-to-ATF.patch | 39 +++++++++++++++
 board/zynqmp/post-image.sh                         | 13 +++++
 board/zynqmp/readme.txt                            | 52 ++++++++++++++++++++
 boot/Config.in                                     |  1 +
 boot/arm-trusted-firmware/Config.in                |  9 ++++
 boot/arm-trusted-firmware/arm-trusted-firmware.mk  | 24 +++++++++-
 boot/uboot/Config.in                               | 33 +++++++++++++
 boot/uboot/uboot.mk                                | 25 ++++++++++
 boot/zynqmp-pmufw-binaries/Config.in               | 19 ++++++++
 .../zynqmp-pmufw-binaries.hash                     |  3 ++
 .../zynqmp-pmufw-binaries/zynqmp-pmufw-binaries.mk | 26 ++++++++++
 configs/zynqmp_zcu106_defconfig                    | 31 ++++++++++++
 15 files changed, 361 insertions(+), 1 deletion(-)
 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-zcu106-enable-booting-to-ATF.patch
 create mode 100755 board/zynqmp/post-image.sh
 create mode 100644 board/zynqmp/readme.txt
 create mode 100644 boot/zynqmp-pmufw-binaries/Config.in
 create mode 100644 boot/zynqmp-pmufw-binaries/zynqmp-pmufw-binaries.hash
 create mode 100644 boot/zynqmp-pmufw-binaries/zynqmp-pmufw-binaries.mk
 create mode 100644 configs/zynqmp_zcu106_defconfig

-- 
2.7.4

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-05-03 16:26 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-06 16:34 [Buildroot] [PATCH v2-RESEND 0/6] Add Xilinx ZynqMP and ZCU106 board support Luca Ceresoli
2018-04-06 16:34 ` [Buildroot] [PATCH v2-RESEND 1/6] arm-trusted-firmware: simplify release dir path Luca Ceresoli
2018-04-06 16:34 ` [Buildroot] [PATCH v2-RESEND 2/6] arm-trusted-firmware: generate atf-uboot.ub for ZynqMP booting Luca Ceresoli
2018-04-09 21:08   ` Thomas Petazzoni
2018-04-11 21:12     ` Luca Ceresoli
2018-04-06 16:34 ` [Buildroot] [PATCH v2-RESEND 3/6] zynqmp-pmufw-binaries: new package Luca Ceresoli
2018-04-09 21:13   ` Thomas Petazzoni
2018-04-11 21:03     ` Luca Ceresoli
2018-04-12  9:09       ` Thomas Petazzoni
2018-05-03 16:26         ` Luca Ceresoli
2018-04-06 16:34 ` [Buildroot] [PATCH v2-RESEND 4/6] uboot: zynqmp: generate SPL image with PMUFW binary Luca Ceresoli
2018-04-09 21:26   ` Thomas Petazzoni
2018-04-06 16:34 ` [Buildroot] [PATCH v2-RESEND 5/6] uboot: zynqmp: allow to use custom psu_init files Luca Ceresoli
2018-04-06 16:34 ` [Buildroot] [PATCH v2-RESEND 6/6] configs: add Xilinx ZCU106 board (ZynqMP SoC) Luca Ceresoli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.