summaryrefslogtreecommitdiff
path: root/boot
diff options
context:
space:
mode:
authorJason Abele <jason@nextthing.co>2016-07-05 13:17:25 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-07-05 17:30:12 +0200
commitb05ff12b6cd38566003b99291a47a56cbd88f396 (patch)
tree672c7627373664d8924ac297e62c3239d3bf584e /boot
parent739e64e6ea98db2c6a05c04a631c75745f225895 (diff)
uboot: install multiple spl images
For some platforms, there are multiple generated spl images. Extend BR2_TARGET_UBOOT_SPL_NAME to allow these multiple images to be installed after uboot build completes. For example, the NextThingCo C.H.I.P. uses two binaries from uboot, spl/sunxi-spl.bin and spl/sunxi-spl-with-ecc.bin. Signed-off-by: Jason Abele <jason@nextthing.co> [Maxime: - Add foreach loop for general case and mkpimage - Use firstword for zynq case] Signe-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'boot')
-rw-r--r--boot/uboot/Config.in2
-rw-r--r--boot/uboot/uboot.mk17
2 files changed, 13 insertions, 6 deletions
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index 9ffbb5145..a468548b2 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -313,7 +313,7 @@ config BR2_TARGET_UBOOT_SPL_NAME
default "spl/u-boot-spl.bin"
depends on BR2_TARGET_UBOOT_SPL
help
- This is the name of the SPL binary, generated during
+ A space-separated list of SPL binaries, generated during
u-boot build. For most platform it is spl/u-boot-spl.bin
but not always. It is MLO on OMAP for example.
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 4e6863dc2..065bdf969 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -170,7 +170,10 @@ define UBOOT_INSTALL_IMAGES_CMDS
$(if $(BR2_TARGET_UBOOT_FORMAT_NAND),
cp -dpf $(@D)/$(UBOOT_MAKE_TARGET) $(BINARIES_DIR))
$(if $(BR2_TARGET_UBOOT_SPL),
- cp -dpf $(@D)/$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)) $(BINARIES_DIR)/)
+ $(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)), \
+ cp -dpf $(@D)/$(f) $(BINARIES_DIR)/
+ )
+ )
$(if $(BR2_TARGET_UBOOT_ENVIMAGE),
cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \
$(HOST_DIR)/usr/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \
@@ -198,8 +201,9 @@ endif
ifeq ($(BR2_TARGET_UBOOT_ZYNQ_IMAGE),y)
define UBOOT_GENERATE_ZYNQ_IMAGE
- $(HOST_DIR)/usr/bin/python2 $(HOST_DIR)/usr/bin/zynq-boot-bin.py \
- -u $(@D)/$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)) \
+ $(HOST_DIR)/usr/bin/python2 \
+ $(HOST_DIR)/usr/bin/zynq-boot-bin.py \
+ -u $(@D)/$(firstword $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)) \
-o $(BINARIES_DIR)/BOOT.BIN
endef
UBOOT_DEPENDENCIES += host-zynq-boot-bin
@@ -208,8 +212,11 @@ endif
ifeq ($(BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC),y)
define UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
- $(HOST_DIR)/usr/bin/mkpimage -o $(BINARIES_DIR)/$(notdir $(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))).crc \
- $(@D)/$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME))
+ $(foreach f,$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)), \
+ $(HOST_DIR)/usr/bin/mkpimage \
+ -o $(BINARIES_DIR)/$(notdir $(call qstrip,$(f))).crc \
+ $(@D)/$(call qstrip,$(f))
+ )
endef
UBOOT_DEPENDENCIES += host-mkpimage
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_CRC_ALTERA_SOCFPGA_IMAGE