arm: mvebu: Add runtime detection of UART (xmodem) boot-mode

This patch adds runtime detection of the Marvell UART boot-mode (xmodem
protocol). If this boot-mode is detected, SPL will return to the
BootROM to continue the UART booting.

With this patch its now possible, to generate a U-Boot image that
can be booted either from the strapped boot-device (e.g. SPI NOR, MMC,
etc) or via the xmodem protocol from the UART. In the UART case,
the kwboot tool will dynamically insert the UART boot-device type
into the image. And also patch the load address in the header, so
that the mkimage header will be skipped (as its not expected by the
Marvell BootROM).

This simplifies the development for Armada XP / 38x based boards.
As no special images need to be generated by selecting the
MVEBU_BOOTROM_UARTBOOT Kconfig option.

Since the Kconfig option MVEBU_BOOTROM_UARTBOOT is not needed any
more, its now completely removed.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
Cc: Phil Sutter <phil@nwl.cc>
Cc: Kevin Smith <kevin.smith@elecsyscorp.com>
This commit is contained in:
Stefan Roese
2016-01-07 14:12:04 +01:00
parent a5f88877af
commit f4db6c976c
6 changed files with 36 additions and 32 deletions

View File

@ -915,18 +915,8 @@ MKIMAGEFLAGS_u-boot.pbl = -n $(srctree)/$(CONFIG_SYS_FSL_PBL_RCW:"%"=%) \
u-boot.img u-boot.kwb u-boot.pbl: u-boot.bin FORCE
$(call if_changed,mkimage)
# If the kwboot xmodem protocol is used, to boot U-Boot on the MVEBU
# SoC's, the SPL U-Boot returns to the BootROM after it completes
# the SDRAM setup. The BootROM expects no U-Boot header in the main
# U-Boot image. So we need to combine SPL and u-boot.bin instead of
# u-boot.img in this case.
ifdef CONFIG_MVEBU_BOOTROM_UARTBOOT
u-boot-spl.kwb: u-boot-dtb.bin spl/u-boot-spl.bin FORCE
$(call if_changed,mkimage)
else
u-boot-spl.kwb: u-boot-dtb.img spl/u-boot-spl.bin FORCE
$(call if_changed,mkimage)
endif
MKIMAGEFLAGS_u-boot-dtb.img = $(MKIMAGEFLAGS_u-boot.img)