summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2013-02-22 11:36:50 +0100
committerStefan Roese <sr@denx.de>2013-04-22 09:53:53 +0200
commitecddccd006e0d5ee2d0336175d787839460dc66b (patch)
treef744a2bc15f544347a68c1815485cae7fcbe623d
parent98f99e9f16462fa07ad0b0cd0c7c0d2623a6da87 (diff)
downloadu-boot-imx-ecddccd006e0d5ee2d0336175d787839460dc66b.zip
u-boot-imx-ecddccd006e0d5ee2d0336175d787839460dc66b.tar.gz
u-boot-imx-ecddccd006e0d5ee2d0336175d787839460dc66b.tar.bz2
Makefile: Add target for combined u-boot.img & spl/u-boot.bin
This new make target "u-boot-img-spl-at-end.bin" consists of the the real, full-blown U-Boot image and the U-Boot SPL binary directly attached to it. The full-blown U-Boot image has the mkimage header included, with its load-address and entry-point. This will be used by the upcoming lwmon5 PPC440EPx derivate board port. Signed-off-by: Stefan Roese <sr@denx.de>
-rw-r--r--Makefile12
-rw-r--r--config.mk4
2 files changed, 16 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 3fd6d15..f8ecfd7 100644
--- a/Makefile
+++ b/Makefile
@@ -554,6 +554,18 @@ endif
$(obj)u-boot-img.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
cat $(obj)spl/u-boot-spl.bin $(obj)u-boot.img > $@
+# PPC4xx needs the SPL at the end of the image, since the reset vector
+# is located at 0xfffffffc. So we can't use the "u-boot-img.bin" target
+# and need to introduce a new build target with the full blown U-Boot
+# at the start padded up to the start of the SPL image. And then concat
+# the SPL image to the end.
+$(obj)u-boot-img-spl-at-end.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
+ tr "\000" "\377" < /dev/zero | dd ibs=1 count=$(CONFIG_UBOOT_PAD_TO) \
+ of=$(obj)u-boot-pad.img 2>/dev/null
+ dd if=$(obj)u-boot.img of=$(obj)u-boot-pad.img \
+ conv=notrunc 2>/dev/null
+ cat $(obj)u-boot-pad.img $(obj)spl/u-boot-spl.bin > $@
+
ifeq ($(CONFIG_SANDBOX),y)
GEN_UBOOT = \
cd $(LNDIR) && $(CC) $(SYMS) -T $(obj)u-boot.lds \
diff --git a/config.mk b/config.mk
index 1fd109f..89a89f2 100644
--- a/config.mk
+++ b/config.mk
@@ -222,6 +222,10 @@ ifneq ($(CONFIG_SPL_PAD_TO),)
CPPFLAGS += -DCONFIG_SPL_PAD_TO=$(CONFIG_SPL_PAD_TO)
endif
+ifneq ($(CONFIG_UBOOT_PAD_TO),)
+CPPFLAGS += -DCONFIG_UBOOT_PAD_TO=$(CONFIG_UBOOT_PAD_TO)
+endif
+
ifeq ($(CONFIG_SPL_BUILD),y)
CPPFLAGS += -DCONFIG_SPL_BUILD
endif