menuconfig BR2_TARGET_XILINX_PREBUILT
	bool "xilinx-prebuilt"
	help
	  Pre-built firmware files for Xilinx boards.

	  The pre-built firmware applications will only be installed
	  if they are not being built by the xilinx-embeddedsw
	  package.

	  Users can mix and match applications to build with
	  xilinx-embeddedsw and applications to simply install with
	  xilinx-prebuilt.

	  https://github.com/Xilinx/soc-prebuilt-firmware

if BR2_TARGET_XILINX_PREBUILT

config BR2_TARGET_XILINX_PREBUILT_VERSION
	string "prebuilt version"
	default "xilinx_v2025.2"
	help
	  Release version of Xilinx firmware.
	  Must be xilinx_v2023.1 or newer.

choice
	bool "family variant"
	default BR2_TARGET_XILINX_PREBUILT_VERSAL if BR2_PACKAGE_VERSAL_FIRMWARE  # legacy
	default BR2_TARGET_XILINX_PREBUILT_VERSAL if BR2_cortex_a72
	default BR2_TARGET_XILINX_PREBUILT_VERSAL2 if BR2_cortex_a78
	default BR2_TARGET_XILINX_PREBUILT_ZYNQMP

config BR2_TARGET_XILINX_PREBUILT_ZYNQMP
	bool "zynqmp"
	depends on BR2_cortex_a53

config BR2_TARGET_XILINX_PREBUILT_KRIA
	bool "kria"
	depends on BR2_cortex_a53

config BR2_TARGET_XILINX_PREBUILT_VERSAL
	bool "versal"
	depends on BR2_cortex_a72

config BR2_TARGET_XILINX_PREBUILT_VERSAL2
	bool "versal2"
	depends on BR2_cortex_a78
	help
	  Version must be xilinx_v2025.2 or newer.

endchoice

config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA
	bool "download a prebuilt Versal XSA"
	depends on BR2_TARGET_XILINX_PREBUILT_VERSAL || BR2_TARGET_XILINX_PREBUILT_VERSAL2
	help
	  The Xilinx Support Archive (XSA) provides custom Xilinx
	  firmware files generated by the AMD Vivado Design Suite.
	  This option applies to either versal or versal2.

	  https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File

if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA

config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION
	string "URL of custom XSA"
	help
	  This option allows to specify a URL pointing to an XSA source
	  file. This URL can use any protocol recognized by Buildroot,
	  like http://, ftp://, file:// or scp://.

	  When pointing to a local XSA using file:// or simply the
	  local path, you may want to use a make variable like
	  $(TOPDIR) to reference the root of the Buildroot tree.

	  This option applies to either versal or versal2.

endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA

config BR2_TARGET_XILINX_PREBUILT_VERSAL_PLD_PDI
	bool "install versal pld.pdi"
	depends on BR2_TARGET_XILINX_PREBUILT_VERSAL || BR2_TARGET_XILINX_PREBUILT_VERSAL2
	help
	  When using the Versal Segmented Configuration, there is a
	  pld.pdi file containing the FPGA bitstream which can be
	  loaded at run-time.  By enabling this option, the pld.pdi
	  will be installed to the target /lib/firmware/xilinx dir.
	  This option applies to either versal or versal2.

config BR2_TARGET_XILINX_PREBUILT_FAMILY
	string
	default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP
	default "kria" if BR2_TARGET_XILINX_PREBUILT_KRIA
	default "versal" if BR2_TARGET_XILINX_PREBUILT_VERSAL
	default "versal_2ve_2vm" if BR2_TARGET_XILINX_PREBUILT_VERSAL2

config BR2_TARGET_XILINX_PREBUILT_BOARD
	string "board name"
	default "zcu102" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP
	default "kr260" if BR2_TARGET_XILINX_PREBUILT_KRIA
	default "vck190" if BR2_TARGET_XILINX_PREBUILT_VERSAL
	default "vek385" if BR2_TARGET_XILINX_PREBUILT_VERSAL2
	help
	  Name of Xilinx target board.
	  Used for installing the appropriate firmware.

endif # BR2_TARGET_XILINX_PREBUILT
