buildroot/package/rpi-firmware/Config.in
Stéphane Veyret 1bdc0334ff package/rpi-firmware: fix startup file names
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>
2020-06-26 23:11:06 +02:00

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