Files
operating-system/buildroot-patches/0004-package-rpi-firmware-Allow-to-deploy-multiple-firmwa.patch
Stefan Agner b9f65295b3 Add firmware for RTL8761B/BU devices (#1392) (#1423)
(cherry picked from commit e5933c4ed4)
2021-06-21 10:19:35 +02:00

77 lines
3.2 KiB
Diff

From 81093c8655737f9208df3b75371290600625bec8 Mon Sep 17 00:00:00 2001
Message-Id: <81093c8655737f9208df3b75371290600625bec8.1624121036.git.stefan@agner.ch>
In-Reply-To: <09f9b55b419ef01ad24998bbacb1a49976b58bfa.1624121036.git.stefan@agner.ch>
References: <09f9b55b419ef01ad24998bbacb1a49976b58bfa.1624121036.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 8 Feb 2021 14:08:28 +0100
Subject: [PATCH 4/8] package/rpi-firmware: Allow to deploy multiple firmware
files
Add a new config option to allow a specific list of firmware files to be
deployed. This is useful if the system needs to decide at runtime which
firmware to use.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
package/rpi-firmware/Config.in | 10 ++++++++++
package/rpi-firmware/rpi-firmware.mk | 17 +++++++++++++++--
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
index f5a25c5680..ce31ad46de 100644
--- a/package/rpi-firmware/Config.in
+++ b/package/rpi-firmware/Config.in
@@ -58,8 +58,18 @@ config BR2_PACKAGE_RPI_FIRMWARE_CD
The cut-down firmware, for emergency situations, with only
features required to boot a Linux kernel.
+config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_LIST
+ bool "deploy firmware files from list"
+ help
+ Deploy firmware files as listed.
+
endchoice
+config BR2_PACKAGE_RPI_FIRMWARE_LIST
+ string
+ default "start.elf start_x.elf start_cd.elf fixup.dat fixup_x.dat fixup_cd.dat" if BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
+ default "start4.elf start4x.elf start4cd.elf fixup4.dat fixup4x.dat fixup4cd.dat" if BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
+
config BR2_PACKAGE_RPI_FIRMWARE_BOOT
string
default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index f3d28ef825..58085a8ca8 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -48,11 +48,24 @@ define RPI_FIRMWARE_INSTALL_BOOTCODE_BIN
endef
endif
+ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_LIST),y)
+define RPI_FIRMWARE_INSTALL_FIRMWARE
+ $(foreach firmware,$(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_LIST)), \
+ $(INSTALL) -D -m 0644 $(@D)/boot/$(firmware) $(BINARIES_DIR)/rpi-firmware/$(firmware)
+ )
+endef
+else
+define RPI_FIRMWARE_INSTALL_FIRMWARE
+ $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
+ $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
+endef
+endif
+
+
define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
$(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
- $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
- $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
+ $(RPI_FIRMWARE_INSTALL_FIRMWARE)
$(RPI_FIRMWARE_INSTALL_BOOTCODE_BIN)
$(RPI_FIRMWARE_INSTALL_DTB)
$(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
--
2.32.0