source "boot/gummiboot/Config.in"
source "boot/lpc32xxcdl/Config.in"
source "boot/mxs-bootlets/Config.in"
+source "boot/s500-bootloader/Config.in"
source "boot/syslinux/Config.in"
source "boot/uboot/Config.in"
source "boot/xloader/Config.in"
--- /dev/null
+config BR2_TARGET_S500_BOOTLOADER
+ bool "s500-bootloader"
+ depends on BR2_arm
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ select BR2_HOSTARCH_NEEDS_IA32_LIBS
+ help
+ 1st level bootloader for Actions Semiconductor S500 SoC.
+
+ https://github.com/xapp-le/owl
+
+config BR2_TARGET_S500_BOOTLOADER_BOARD
+ string "board to configure for"
+ depends on BR2_TARGET_S500_BOOTLOADER
+ help
+ Specify the board to configure the bootloader for.
+ This should be the name of a directory under s500/boards
+ containing a suitable bootloader.ini file.
--- /dev/null
+################################################################################
+#
+# s500-bootloader
+#
+################################################################################
+
+S500_BOOTLOADER_VERSION = a8d7fa1d9a7f353ec4613febf30f4ca99a10a106
+S500_BOOTLOADER_SITE = $(call github,xapp-le,owl,$(S500_BOOTLOADER_VERSION))
+S500_BOOTLOADER_LICENSE = PROPRIETARY
+S500_BOOTLOADER_INSTALL_TARGET = NO
+S500_BOOTLOADER_INSTALL_IMAGES = YES
+
+S500_BOOTLOADER_BOARD = $(call qstrip,$(BR2_TARGET_S500_BOOTLOADER_BOARD))
+
+define S500_BOOTLOADER_BUILD_CMDS
+ cd $(@D) && ./tools/utils/bootloader_pack \
+ s500/bootloader/bootloader.bin \
+ s500/boards/$(S500_BOOTLOADER_BOARD)/bootloader.ini \
+ s500-bootloader.bin
+endef
+
+define S500_BOOTLOADER_INSTALL_IMAGES_CMDS
+ $(INSTALL) -m 0644 -D $(@D)/s500-bootloader.bin \
+ $(BINARIES_DIR)/s500-bootloader.bin
+endef
+
+$(eval $(generic-package))
+
+ifeq ($(BR2_TARGET_S500_BOOTLOADER)$(BR_BUILDING),yy)
+# we NEED a board name
+ifeq ($(S500_BOOTLOADER_BOARD),)
+$(error No s500-bootloader board specified. Check your BR2_TARGET_S500_BOOTLOADER settings)
+endif
+endif