package/rpi-firmware: add option to install DTB overlays
authorYann E. MORIN <yann.morin.1998@free.fr>
Sun, 28 Jun 2015 22:25:11 +0000 (00:25 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 29 Jun 2015 20:14:46 +0000 (22:14 +0200)
Currently, Buildroot does not support building the overlays that are
bundled in the Linux kernel, so all we can do is install the ones
pre-built in rpi-firmware.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/rpi-firmware/Config.in
package/rpi-firmware/rpi-firmware.mk

index 179fb47368ff2d3a52e29350d3b30fcc817269b7..a060b4e33f9b6a41eeedd5ff30064fc3fdd2889f 100644 (file)
@@ -56,5 +56,13 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS
          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"
+       depends on BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS \
+               || BR2_LINUX_KERNEL_DTS_SUPPORT
+       default y
+       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).
 
 endif # BR2_PACKAGE_RPI_FIRMWARE
index 9cccb388f80daabf4a63dfd0b97db751fb779b09..0533588dc324de9bb06379c028ec587f90081f3d 100644 (file)
@@ -18,6 +18,11 @@ define RPI_FIRMWARE_INSTALL_DTB
        $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b.dtb
        $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b-plus.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b-plus.dtb
        $(INSTALL) -D -m 0644 $(@D)/boot/bcm2709-rpi-2-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2709-rpi-2-b.dtb
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS),y)
+define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
        for ovldtb in  $(@D)/boot/overlays/*.dtb; do \
                $(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \
        done
@@ -31,6 +36,7 @@ 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
        $(RPI_FIRMWARE_INSTALL_DTB)
+       $(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
 endef
 
 # We have no host sources to get, since we already