|
@@ -102,10 +102,11 @@ endif # ifneq ($(BUILD_DIR),)
|
|
|
|
|
|
OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
|
|
|
SPLTREE := $(OBJTREE)/spl
|
|
|
+TPLTREE := $(OBJTREE)/tpl
|
|
|
SRCTREE := $(CURDIR)
|
|
|
TOPDIR := $(SRCTREE)
|
|
|
LNDIR := $(OBJTREE)
|
|
|
-export TOPDIR SRCTREE OBJTREE SPLTREE
|
|
|
+export TOPDIR SRCTREE OBJTREE SPLTREE TPLTREE
|
|
|
|
|
|
MKCONFIG := $(SRCTREE)/mkconfig
|
|
|
export MKCONFIG
|
|
@@ -397,6 +398,7 @@ ALL-y += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map
|
|
|
ALL-$(CONFIG_NAND_U_BOOT) += $(obj)u-boot-nand.bin
|
|
|
ALL-$(CONFIG_ONENAND_U_BOOT) += $(obj)u-boot-onenand.bin
|
|
|
ALL-$(CONFIG_SPL) += $(obj)spl/u-boot-spl.bin
|
|
|
+ALL-$(CONFIG_TPL) += $(obj)tpl/u-boot-tpl.bin
|
|
|
ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin
|
|
|
ifneq ($(CONFIG_SPL_TARGET),)
|
|
|
ALL-$(CONFIG_SPL) += $(obj)$(subst ",,$(CONFIG_SPL_TARGET))
|
|
@@ -475,13 +477,25 @@ $(obj)u-boot.sha1: $(obj)u-boot.bin
|
|
|
$(obj)u-boot.dis: $(obj)u-boot
|
|
|
$(OBJDUMP) -d $< > $@
|
|
|
|
|
|
+# $@ is output, $(1) and $(2) are inputs, $(3) is padded intermediate,
|
|
|
+# $(4) is pad-to
|
|
|
+SPL_PAD_APPEND = \
|
|
|
+ $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(4) -I binary -O binary \
|
|
|
+ $(1) $(obj)$(3); \
|
|
|
+ cat $(obj)$(3) $(obj)$(2) > $@; \
|
|
|
+ rm $(obj)$(3)
|
|
|
|
|
|
+ifdef CONFIG_TPL
|
|
|
+SPL_PAYLOAD := $(obj)tpl/u-boot-with-tpl.bin
|
|
|
+else
|
|
|
+SPL_PAYLOAD := $(obj)u-boot.bin
|
|
|
+endif
|
|
|
|
|
|
-$(obj)u-boot-with-spl.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
|
|
|
- $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(CONFIG_SPL_PAD_TO) \
|
|
|
- -I binary -O binary $< $(obj)spl/u-boot-spl-pad.bin
|
|
|
- cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > $@
|
|
|
- rm $(obj)spl/u-boot-spl-pad.bin
|
|
|
+$(obj)u-boot-with-spl.bin: $(obj)spl/u-boot-spl.bin $(SPL_PAYLOAD)
|
|
|
+ $(call SPL_PAD_APPEND,$<,$(SPL_PAYLOAD),spl/u-boot-spl-pad.bin,$(CONFIG_SPL_PAD_TO))
|
|
|
+
|
|
|
+$(obj)tpl/u-boot-with-tpl.bin: $(obj)tpl/u-boot-tpl.bin $(obj)u-boot.bin
|
|
|
+ $(call SPL_PAD_APPEND,$<,u-boot.bin,tpl/u-boot-tpl-pad.bin,$(CONFIG_TPL_PAD_TO))
|
|
|
|
|
|
$(obj)u-boot-with-spl.imx: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
|
|
|
$(MAKE) -C $(SRCTREE)/arch/arm/imx-common \
|
|
@@ -607,6 +621,9 @@ $(obj)u-boot-nand.bin: nand_spl $(obj)u-boot.bin
|
|
|
$(obj)spl/u-boot-spl.bin: $(SUBDIR_TOOLS) depend
|
|
|
$(MAKE) -C spl all
|
|
|
|
|
|
+$(obj)tpl/u-boot-tpl.bin: $(SUBDIR_TOOLS) depend
|
|
|
+ $(MAKE) -C spl all CONFIG_TPL_BUILD=y
|
|
|
+
|
|
|
updater:
|
|
|
$(MAKE) -C tools/updater all
|
|
|
|
|
@@ -614,6 +631,7 @@ updater:
|
|
|
# parallel sub-makes creating .depend files simultaneously.
|
|
|
depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) \
|
|
|
$(obj)include/spl-autoconf.mk \
|
|
|
+ $(obj)include/tpl-autoconf.mk \
|
|
|
$(obj)include/autoconf.mk \
|
|
|
$(obj)include/generated/generic-asm-offsets.h \
|
|
|
$(obj)include/generated/asm-offsets.h
|
|
@@ -696,6 +714,15 @@ $(obj)include/autoconf.mk: $(obj)include/config.h
|
|
|
mv $@.tmp $@
|
|
|
|
|
|
# Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
|
|
|
+$(obj)include/tpl-autoconf.mk: $(obj)include/config.h
|
|
|
+ @$(XECHO) Generating $@ ; \
|
|
|
+ set -e ; \
|
|
|
+ : Extract the config macros ; \
|
|
|
+ $(CPP) $(CFLAGS) -DCONFIG_TPL_BUILD -DCONFIG_SPL_BUILD\
|
|
|
+ -DDO_DEPS_ONLY -dM include/common.h | \
|
|
|
+ sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
|
|
|
+ mv $@.tmp $@
|
|
|
+
|
|
|
$(obj)include/spl-autoconf.mk: $(obj)include/config.h
|
|
|
@$(XECHO) Generating $@ ; \
|
|
|
set -e ; \
|
|
@@ -706,12 +733,14 @@ $(obj)include/spl-autoconf.mk: $(obj)include/config.h
|
|
|
|
|
|
$(obj)include/generated/generic-asm-offsets.h: $(obj)include/autoconf.mk.dep \
|
|
|
$(obj)include/spl-autoconf.mk \
|
|
|
+ $(obj)include/tpl-autoconf.mk \
|
|
|
$(obj)lib/asm-offsets.s
|
|
|
@$(XECHO) Generating $@
|
|
|
tools/scripts/make-asm-offsets $(obj)lib/asm-offsets.s $@
|
|
|
|
|
|
$(obj)lib/asm-offsets.s: $(obj)include/autoconf.mk.dep \
|
|
|
$(obj)include/spl-autoconf.mk \
|
|
|
+ $(obj)include/tpl-autoconf.mk \
|
|
|
$(src)lib/asm-offsets.c
|
|
|
@mkdir -p $(obj)lib
|
|
|
$(CC) -DDO_DEPS_ONLY \
|
|
@@ -720,12 +749,14 @@ $(obj)lib/asm-offsets.s: $(obj)include/autoconf.mk.dep \
|
|
|
|
|
|
$(obj)include/generated/asm-offsets.h: $(obj)include/autoconf.mk.dep \
|
|
|
$(obj)include/spl-autoconf.mk \
|
|
|
+ $(obj)include/tpl-autoconf.mk \
|
|
|
$(obj)$(CPUDIR)/$(SOC)/asm-offsets.s
|
|
|
@$(XECHO) Generating $@
|
|
|
tools/scripts/make-asm-offsets $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s $@
|
|
|
|
|
|
$(obj)$(CPUDIR)/$(SOC)/asm-offsets.s: $(obj)include/autoconf.mk.dep \
|
|
|
- $(obj)include/spl-autoconf.mk
|
|
|
+ $(obj)include/spl-autoconf.mk \
|
|
|
+ $(obj)include/tpl-autoconf.mk
|
|
|
@mkdir -p $(obj)$(CPUDIR)/$(SOC)
|
|
|
if [ -f $(src)$(CPUDIR)/$(SOC)/asm-offsets.c ];then \
|
|
|
$(CC) -DDO_DEPS_ONLY \
|
|
@@ -798,7 +829,8 @@ unconfig:
|
|
|
@rm -f $(obj)include/config.h $(obj)include/config.mk \
|
|
|
$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
|
|
|
$(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep \
|
|
|
- $(obj)include/spl-autoconf.mk
|
|
|
+ $(obj)include/spl-autoconf.mk \
|
|
|
+ $(obj)include/tpl-autoconf.mk
|
|
|
|
|
|
%_config:: unconfig
|
|
|
@$(MKCONFIG) -A $(@:_config=)
|
|
@@ -884,6 +916,8 @@ clobber: tidy
|
|
|
@rm -f $(obj)nand_spl/{u-boot-nand_spl.lds,u-boot-spl,u-boot-spl.map}
|
|
|
@rm -f $(obj)spl/{u-boot-spl,u-boot-spl.bin,u-boot-spl.map}
|
|
|
@rm -f $(obj)spl/u-boot-spl.lds
|
|
|
+ @rm -f $(obj)tpl/{u-boot-tpl,u-boot-tpl.bin,u-boot-tpl.map}
|
|
|
+ @rm -f $(obj)tpl/u-boot-spl.lds
|
|
|
@rm -f $(obj)MLO MLO.byteswap
|
|
|
@rm -f $(obj)SPL
|
|
|
@rm -f $(obj)tools/xway-swap-bytes
|