rpi-firmware.mk 3.4 KB

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