summaryrefslogtreecommitdiff
path: root/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc')
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc40
1 files changed, 39 insertions, 1 deletions
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
index dc98099f2..7ed108839 100644
--- a/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ b/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -32,6 +32,7 @@ KERNEL_DEVICETREE ?= " \
overlays/lirc-rpi.dtbo \
overlays/pitft22.dtbo \
overlays/pitft28-resistive.dtbo \
+ overlays/pitft35-resistive.dtbo \
overlays/pps-gpio.dtbo \
overlays/rpi-ft5406.dtbo \
overlays/w1-gpio.dtbo \
@@ -52,7 +53,44 @@ MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
# Set Raspberrypi splash image
SPLASH = "psplash-raspberrypi"
-IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* ${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}"
+def make_dtb_boot_files(d):
+ # Generate IMAGE_BOOT_FILES entries for device tree files listed in
+ # KERNEL_DEVICETREE.
+ alldtbs = d.getVar('KERNEL_DEVICETREE')
+ imgtyp = d.getVar('KERNEL_IMAGETYPE')
+
+ def transform(dtb):
+ if dtb.endswith('dtb'):
+ # eg: whatever/bcm2708-rpi-b.dtb has:
+ # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-bcm2708-rpi-b.dtb
+ # destination: bcm2708-rpi-b.dtb
+ base = os.path.basename(dtb)
+ src = '{}-{}'.format(imgtyp, base)
+ dst = base
+ return '{};{}'.format(src, dst)
+ elif dtb.endswith('dtbo'):
+ # overlay dtb:
+ # eg: overlays/hifiberry-amp.dtbo has:
+ # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-hifiberry-amp.dtbo
+ # destination: overlays/hifiberry-amp.dtbo
+ base = os.path.basename(dtb)
+ src = '{}-{}'.format(imgtyp, base)
+ dst = dtb
+ return '{};{}'.format(src, dtb)
+
+ return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
+
+
+IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
+ ${@make_dtb_boot_files(d)} \
+ ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', \
+ '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
+ '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
+ "
+do_image_wic[depends] += " \
+ bcm2835-bootfiles:do_deploy \
+ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
+ "
# The kernel image is installed into the FAT32 boot partition and does not need
# to also be installed into the rootfs.