1################################################################################ 2# 3# rpi-firmware 4# 5################################################################################ 6 7RPI_FIRMWARE_VERSION = 83dafbc92c0e63f76ca2ecdd42462d56489d1c77 8RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) 9RPI_FIRMWARE_LICENSE = BSD-3-Clause 10RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom 11RPI_FIRMWARE_INSTALL_IMAGES = YES 12 13RPI_FIRMWARE_FILES = \ 14 $(if $(BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN), bootcode.bin) \ 15 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI), start.elf fixup.dat) \ 16 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X), start_x.elf fixup_x.dat) \ 17 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD), start_cd.elf fixup_cd.dat) \ 18 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB), start_db.elf fixup_db.dat) \ 19 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4), start4.elf fixup4.dat) \ 20 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X), start4x.elf fixup4x.dat) \ 21 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat) \ 22 $(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB), start4db.elf fixup4db.dat) 23 24define RPI_FIRMWARE_INSTALL_BIN 25 $(foreach f,$(RPI_FIRMWARE_FILES), \ 26 $(INSTALL) -D -m 0644 $(@D)/boot/$(f) $(BINARIES_DIR)/rpi-firmware/$(f) 27 ) 28endef 29 30RPI_FIRMWARE_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE)) 31ifneq ($(RPI_FIRMWARE_CONFIG_FILE),) 32define RPI_FIRMWARE_INSTALL_CONFIG 33 $(INSTALL) -D -m 0644 $(RPI_FIRMWARE_CONFIG_FILE) \ 34 $(BINARIES_DIR)/rpi-firmware/config.txt 35endef 36endif 37 38RPI_FIRMWARE_CMDLINE_FILE = $(call qstrip,$(BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE)) 39ifneq ($(RPI_FIRMWARE_CMDLINE_FILE),) 40define RPI_FIRMWARE_INSTALL_CMDLINE 41 $(INSTALL) -D -m 0644 $(RPI_FIRMWARE_CMDLINE_FILE) \ 42 $(BINARIES_DIR)/rpi-firmware/cmdline.txt 43endef 44endif 45 46ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS),y) 47define RPI_FIRMWARE_INSTALL_DTB 48 $(foreach dtb,$(wildcard $(@D)/boot/*.dtb), \ 49 $(INSTALL) -D -m 0644 $(dtb) $(BINARIES_DIR)/rpi-firmware/$(notdir $(dtb)) 50 ) 51endef 52endif 53 54ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS),y) 55define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS 56 $(foreach ovldtb,$(wildcard $(@D)/boot/overlays/*.dtbo), \ 57 $(INSTALL) -D -m 0644 $(ovldtb) $(BINARIES_DIR)/rpi-firmware/overlays/$(notdir $(ovldtb)) 58 ) 59 $(INSTALL) -D -m 0644 $(@D)/boot/overlays/overlay_map.dtb $(BINARIES_DIR)/rpi-firmware/overlays/ 60 touch $(BINARIES_DIR)/rpi-firmware/overlays/README 61endef 62endif 63 64# Install prebuilt libraries if RPI_USERLAND not enabled 65ifneq ($(BR2_PACKAGE_RPI_USERLAND),y) 66define RPI_FIRMWARE_INSTALL_TARGET_LIB 67 $(INSTALL) -D -m 0644 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/lib/libvcos.so \ 68 $(TARGET_DIR)/usr/lib/libvcos.so 69 $(INSTALL) -D -m 0644 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/lib/libdebug_sym.so \ 70 $(TARGET_DIR)/usr/lib/libdebug_sym.so 71endef 72endif 73 74ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y) 75define RPI_FIRMWARE_INSTALL_TARGET_CMDS 76 $(INSTALL) -D -m 0700 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/bin/vcdbg \ 77 $(TARGET_DIR)/usr/sbin/vcdbg 78 $(INSTALL) -D -m 0644 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/lib/libelftoolchain.so \ 79 $(TARGET_DIR)/usr/lib/libelftoolchain.so 80 $(RPI_FIRMWARE_INSTALL_TARGET_LIB) 81endef 82endif # INSTALL_VCDBG 83 84define RPI_FIRMWARE_INSTALL_IMAGES_CMDS 85 $(RPI_FIRMWARE_INSTALL_BIN) 86 $(RPI_FIRMWARE_INSTALL_CONFIG) 87 $(RPI_FIRMWARE_INSTALL_CMDLINE) 88 $(RPI_FIRMWARE_INSTALL_DTB) 89 $(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS) 90endef 91 92$(eval $(generic-package)) 93