[Buildroot] [PATCH v4 08/10] boot/versal-firmware: new boot firmware
Luca Ceresoli
luca.ceresoli at bootlin.com
Mon Oct 16 10:12:25 UTC 2023
On Sun, 24 Sep 2023 16:12:03 +0100
Neal Frager <neal.frager at amd.com> wrote:
> This patch adds a new boot firmware to buildroot for building the versal plm
> and psmfw. It requires the toolchain-bare-metal package that includes a
> bare-metal binutils, gcc and newlib which can be built for the microblaze
> architecture.
>
> A patch is required to enable parallel building of the versal plm and psmfw
> applications. These two patches have been submitted upstream internally at
> AMD / Xilinx and will be included with the 2023.2 release of the embeddedsw
> repository.
>
> Signed-off-by: Neal Frager <neal.frager at amd.com>
> ---
> DEVELOPERS | 1 +
> boot/Config.in | 1 +
> boot/versal-firmware/Config.in | 34 ++++
> boot/versal-firmware/versal-firmware.hash | 2 +
> boot/versal-firmware/versal-firmware.mk | 47 ++++++
> ...al_plm-add-support-of-parallel-build.patch | 157 ++++++++++++++++++
> ..._psmfw-add-support-of-parallel-build.patch | 48 ++++++
> 7 files changed, 290 insertions(+)
> create mode 100644 boot/versal-firmware/Config.in
> create mode 100644 boot/versal-firmware/versal-firmware.hash
> create mode 100644 boot/versal-firmware/versal-firmware.mk
> create mode 100644 boot/versal-firmware/xilinx_v2023.1/0001-sw_apps-versal_plm-add-support-of-parallel-build.patch
> create mode 100644 boot/versal-firmware/xilinx_v2023.1/0002-sw_apps-versal_psmfw-add-support-of-parallel-build.patch
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index c9e87818d4..1c66659b19 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2179,6 +2179,7 @@ N: Neal Frager <neal.frager at amd.com>
> F: board/versal/
> F: board/zynq/
> F: board/zynqmp/
> +F: boot/versal-firmware/
> F: boot/zynqmp-firmware/
> F: configs/versal_vck190_defconfig
> F: configs/zynq_zc706_defconfig
> diff --git a/boot/Config.in b/boot/Config.in
> index c7478fef2e..da5ccb6b9c 100644
> --- a/boot/Config.in
> +++ b/boot/Config.in
> @@ -23,6 +23,7 @@ source "boot/ti-k3-boot-firmware/Config.in"
> source "boot/ti-k3-image-gen/Config.in"
> source "boot/ti-k3-r5-loader/Config.in"
> source "boot/uboot/Config.in"
> +source "boot/versal-firmware/Config.in"
> source "boot/vexpress-firmware/Config.in"
> source "boot/zynqmp-firmware/Config.in"
>
> diff --git a/boot/versal-firmware/Config.in b/boot/versal-firmware/Config.in
> new file mode 100644
> index 0000000000..34279f84b8
> --- /dev/null
> +++ b/boot/versal-firmware/Config.in
> @@ -0,0 +1,34 @@
> +config BR2_TARGET_VERSAL_FIRMWARE
> + bool "versal-firmware"
> + select BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL
> + help
> + This package builds the boot firmware apps for Xilinx versal
> + boards, so that they can boot u-boot and Linux.
> +
> +if BR2_TARGET_VERSAL_FIRMWARE
> +
> +config BR2_TARGET_VERSAL_FIRMWARE_VERSION
> + string "firmware version"
> + default "xilinx_v2023.1"
> + help
> + Release version of versal firmware.
> + Only versions xilinx_v2023.1 and newer are supported.
> +
> +config BR2_TARGET_VERSAL_FIRMWARE_CUSTOM_CFLAGS
> + string "custom cflags"
> + help
> + Adds additional CFLAGS for building versal firmware.
> +
> +config BR2_TARGET_VERSAL_FIRMWARE_PDI
> + string "pdi file location"
> + default "https://github.com/Xilinx/soc-prebuilt-firmware/raw/xilinx_v2023.1/vck190-versal/vpl_gen_fixed.pdi"
> + help
> + The PDI file defines everything which is board specific for versal.
> + It gets parsed by the plm.elf during boot. To boot a custom target
> + based on versal, this should be configured to point to your Vivado
> + generated PDI file.
> +
> + This config should never be undefined, so default configuration is
> + for the vck190 evaluation board.
The help text should mention that this can be a URL for download or a
local file.
Looks good otherwise.
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list