
Dear Haiying.Wang@freescale.com,
In message 1291217737-3870-4-git-send-email-Haiying.Wang@freescale.com you wrote:
From: Haiying Wang Haiying.Wang@freescale.com
TPL is introduced to enable a loader stub that boots out of some type of RAM, after being loaded by an SPL or similar platform-specific mechanism.
One example of using this tpl loader is to initialize the ddr through spd code in case the L2 SRAM size is not big enough to hold the final uboot image and the nand spl code needs to be limitated to 4K byte, then tpl code will load the final uboot image after ddr is initialized.
Signed-off-by: Haiying Wang Haiying.Wang@freescale.com
Incorporate Mike's comment to use new variable NAND_SPL_OBJS-y Makefile | 17 +++++++++++++++-- README | 27 +++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile index 87a383d..94af465 100644 --- a/Makefile +++ b/Makefile @@ -290,6 +290,10 @@ LDPPFLAGS += \ $(shell $(LD) --version | \ sed -ne 's/GNU ld version ([0-9][0-9]*).([0-9][0-9]*).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
+ifeq ($(CONFIG_TPL_U_BOOT),y) +TPL_BOOT = tpl +endif
I don't understand what the "TPL_BOOT" is good for, or how it's supposed to work.
ifeq ($(CONFIG_NAND_U_BOOT),y) NAND_SPL = nand_spl U_BOOT_NAND = $(obj)u-boot-nand.bin @@ -407,8 +411,15 @@ $(obj)u-boot.lds: $(LDSCRIPT) $(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all
-$(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin
cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
+$(TPL_BOOT): $(TIMESTAMP_FILE) $(VERSION_FILE) depend
$(MAKE) -C tpl/board/$(BOARDDIR) all
Assume CONFIG_TPL_U_BOOT is not defined, then TPL_BOOT is not defined, and this rule will probably cause a build error, doesn't it?
Has this code ever been tested?
And if we use a variable for the "tlp" string, should this not be
... $(MAKE) -C $(TPL_BOOT)/board/$(BOARDDIR) all
??
+NAND_SPL_OBJS-y += $(obj)nand_spl/u-boot-spl-16k.bin +NAND_SPL_OBJS-$(CONFIG_TPL_U_BOOT) += $(obj)tpl/u-boot-tpl.bin +NAND_SPL_OBJS-y += $(obj)u-boot.bin
Ditto here and in the following - but how is NAND_SPL related to TPL building? These should be completely independent?
+- TPL Boot Support
CONFIG_TPL_U_BOOT
Builds a U-Boot image that contains a loader stub (tertiary
program loader -- TPL) that boots out of some type of RAM,
after being loaded by an SPL or similar platform-specific
mechanism. This symbol will be set in all build phases.
CONFIG_TPL_BOOT
This is set by the build system when compiling code to go into
the TPL. It is not set when building the code that the TPL
loads, or when building the SPL.
Can we not do with a single variable definition?
Best regards,
Wolfgang Denk