endchoice
+config BR2_TARGET_UBOOT_OMAP_IFT
+ depends on BR2_TARGET_UBOOT_FORMAT_BIN
+ depends on BR2_arm || BR2_armeb
+ select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
+ bool "produce a .ift signed image (OMAP)"
+ help
+ Use gpsign to produce an image of u-boot.bin signed with
+ a Configuration Header for booting on OMAP processors.
+ This allows U-Boot to boot without the need for an
+ intermediate bootloader (e.g. x-loader) if it is written
+ on the first sector of the boot medium.
+ This only works for some media, such as NAND. Check your
+ chip documentation for details. You might also want to
+ read the documentation of gpsign, the tool that generates
+ the .ift image, at:
+ https://github.com/nmenon/omap-u-boot-utils/blob/master/README
+
+if BR2_TARGET_UBOOT_OMAP_IFT
+
+config BR2_TARGET_UBOOT_OMAP_IFT_CONFIG
+ string "gpsign Configuration Header config file"
+ help
+ The Configuration Header (CH) config file defines the
+ desired content of the CH for the signed image.
+ It usually contains external RAM settings and
+ possibly other external devices initialization.
+ The omap-u-boot-utils software contains example
+ configuration files for some boards:
+ https://github.com/nmenon/omap-u-boot-utils/tree/master/configs
+
+endif
+
menuconfig BR2_TARGET_UBOOT_NETWORK
bool "Custom Network Settings"
help
UBOOT_BIN = u-boot.img
else
UBOOT_BIN = u-boot.bin
+UBOOT_BIN_IFT = $(UBOOT_BIN).ift
endif
UBOOT_ARCH=$(KERNEL_ARCH)
$(UBOOT_MAKE_TARGET)
endef
+define UBOOT_BUILD_OMAP_IFT
+ $(HOST_DIR)/usr/bin/gpsign -f $(@D)/u-boot.bin \
+ -c $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG))
+endef
+
define UBOOT_INSTALL_IMAGES_CMDS
cp -dpf $(@D)/$(UBOOT_BIN) $(BINARIES_DIR)/
$(if $(BR2_TARGET_UBOOT_SPL),
cp -dpf $(@D)/$(BR2_TARGET_UBOOT_SPL_NAME) $(BINARIES_DIR)/)
endef
+define UBOOT_INSTALL_OMAP_IFT_IMAGE
+ cp -dpf $(@D)/$(UBOOT_BIN_IFT) $(BINARIES_DIR)/
+endef
+
+ifeq ($(BR2_TARGET_UBOOT_OMAP_IFT),y)
+# we NEED a config file unless we're at make source
+ifeq ($(filter source,$(MAKECMDGOALS)),)
+ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG)),)
+$(error No gpsign config file. Check your BR2_TARGET_UBOOT_OMAP_IFT_CONFIG setting)
+endif
+ifeq ($(wildcard $(call qstrip,$(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG))),)
+$(error gpsign config file $(BR2_TARGET_UBOOT_OMAP_IFT_CONFIG) not found. Check your BR2_TARGET_UBOOT_OMAP_IFT_CONFIG setting)
+endif
+endif
+UBOOT_DEPENDENCIES += host-omap-u-boot-utils
+UBOOT_POST_BUILD_HOOKS += UBOOT_BUILD_OMAP_IFT
+UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_OMAP_IFT_IMAGE
+endif
+
$(eval $(call GENTARGETS))
ifeq ($(BR2_TARGET_UBOOT),y)