1bdc0334ff
When booting, a Raspberry Pi will load the appropriate start files, depending on the provided configuration. For example, if the config.txt file contains ’gpu_mem=16’ the board will automatically load the cut-down startup files (start_cd.elf and fixup_cd.dat on non-Rpi4). Unfortunately, even when the appropriate version is selected in the configuration menu, if the rpi-firmware makefile takes the good files, it renames them to non-qualified, i.e. start.elf and fixup.dat. But as these are not the files searched by the Raspberry Pi, the board will not start. This patch will set the names of the files to load as constant in the config.txt file. This guarantees that the rpi firmware blobs do not take any other corner-case decision based on any other as-yet unknown conditions. This eases the maintenance, as only the names of the source files matter; the destination filenames are constants, and so are the filenames in config.txt. Fixes: #13026 Signed-off-by: Stéphane Veyret <sveyret@gmail.com> [yann.morin.1998@free.fr: - very minor fix in commit title - drop the non-conditional macro and move its content into RPI_FIRMWARE_INSTALL_IMAGES_CMDS ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
110 lines
3.3 KiB
Plaintext
110 lines
3.3 KiB
Plaintext
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
|
|
|
|
choice
|
|
bool "rpi variant"
|
|
help
|
|
The Raspberry Pi 4 introduced a slightly different naming
|
|
convention and set of boot files. This option controls which
|
|
format to use.
|
|
|
|
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
|
bool "rpi 0/1/2/3"
|
|
help
|
|
The default set of files, for versions pre-4
|
|
|
|
config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
|
bool "rpi 4"
|
|
help
|
|
The Raspberry Pi 4 files
|
|
endchoice
|
|
|
|
choice
|
|
bool "Firmware to boot"
|
|
default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
|
|
help
|
|
There are three different firmware files:
|
|
- the default firmware, that enables standard GPU
|
|
features;
|
|
- the extended firmware, that enables additional GPU
|
|
features (eg. more audio/video codecs);
|
|
- the cut-down firmware, for emergency situations, with
|
|
only features required to boot a Linux kernel.
|
|
|
|
config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
|
|
bool "default"
|
|
help
|
|
The default firmware, that enables standard GPU features.
|
|
|
|
config BR2_PACKAGE_RPI_FIRMWARE_X
|
|
bool "extended ('x', more codecs)"
|
|
help
|
|
The extended firmware, that enables additional GPU features
|
|
(eg. more audio/video codecs).
|
|
|
|
config BR2_PACKAGE_RPI_FIRMWARE_CD
|
|
bool "cut-down ('cd', emergency)"
|
|
help
|
|
The cut-down firmware, for emergency situations, with only
|
|
features required to boot a Linux kernel.
|
|
|
|
endchoice
|
|
|
|
config BR2_PACKAGE_RPI_FIRMWARE_BOOT
|
|
string
|
|
default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
|
default "4" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
|
default "_x" if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
|
default "4x" if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
|
default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
|
|
default "4cd" if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
|
|
|
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
|