[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