config BR2_PACKAGE_RPI_FIRMWARE
	bool "rpi-firmware"
	depends on BR2_arm || BR2_aarch64
	help
	  RaspberryPi Firmware

	  Pre-compiled binaries of the current bootloader and GPU
	  firmware

	  https://github.com/raspberrypi/firmware

if BR2_PACKAGE_RPI_FIRMWARE

config BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN
	bool "rpi 0/1/2/3 bootcode.bin"
	help
	  The bootcode.bin for versions Zero/1/2/3 (not needed on rpi4,
	  because it has been replaced by boot code in the onboard
	  EEPROM).

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
	bool "rpi 0/1/2/3 (default)"
	help
	  The default set of files for versions Zero/1/2/3.

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X
	bool "rpi 0/1/2/3 (extended)"
	help
	  The extended set of files for versions Zero/1/2/3 (additional
	  GPU features, eg. more audio/video codecs).

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD
	bool "rpi 0/1/2/3 (cut-down)"
	help
	  The cut-down set of files for versions Zero/1/2/3 (only
	  features required to boot a Linux kernel).

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB
	bool "rpi 0/1/2/3 (debug)"
	help
	  The debug set of files for versions Zero/1/2/3.

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
	bool "rpi 4 (default)"
	help
	  The default set of files for versions 4 (standard GPU
	  features).

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X
	bool "rpi 4 (extended)"
	help
	  The extended set of files for versions 4 (additional GPU
	  features, eg. more audio/video codecs).

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD
	bool "rpi 4 (cut-down)"
	help
	  The cut-down set of files for versions 4 (only features
	  required to boot a Linux kernel).

config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB
	bool "rpi 4 (debug)"
	help
	  The debug set of files for versions 4.

config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE
	string "Path to a file stored as boot/config.txt"
	help
	  Path to a file stored as config.txt in the boot partiton
	  of the generated SD card image.

config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS
	bool "Install Device Tree Blobs (DTBs)"
	default y
	depends on !BR2_LINUX_KERNEL_DTS_SUPPORT
	help
	  If you are using a Linux kernel <= 3.18, you should say 'y'
	  here.

	  If you are using a Linux kernel >= 3.19, you should say 'n'
	  here, and enable BR2_LINUX_KERNEL_DTS_SUPPORT to let the
	  kernel build the DTB.

config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
	bool "Install DTB overlays"
	default y
	depends on BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS \
		|| BR2_LINUX_KERNEL_DTS_SUPPORT
	select BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT \
		if BR2_LINUX_KERNEL_DTS_SUPPORT
	help
	  Say 'y' here if you need to load one or more of the DTB
	  overlays, to support HATs (Hardware Attached on Top, add-on
	  modules).

config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG
	bool "vcdbg"
	depends on BR2_arm # prebuilt arm binary, rpi-userland
	depends on BR2_TOOLCHAIN_USES_GLIBC
	depends on BR2_INSTALL_LIBSTDCPP # rpi-userland
	select BR2_PACKAGE_RPI_USERLAND
	help
	  Install vcdbg, to help debug communication with the GPU.

comment "vcdbg needs a glibc toolchain w/ C++"
	depends on BR2_arm
	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP

endif # BR2_PACKAGE_RPI_FIRMWARE
