From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/7 v7] NAND: TPL : introduce the TPL based on the SPL
Date: Fri, 12 Jul 2013 16:43:13 -0500 [thread overview]
Message-ID: <1373665393.8183.288@snotra> (raw)
In-Reply-To: <1373363450-16932-6-git-send-email-ying.zhang@freescale.com> (from ying.zhang@freescale.com on Tue Jul 9 04:50:49 2013)
On 07/09/2013 04:50:49 AM, ying.zhang at freescale.com wrote:
> +During the TPL build a variable named CONFIG_TPL_BUILD is exported
> +in the make environment and also appended to CPPFLAGS with
> -DCONFIG_TPL_BUILD.
> +Source files can therefore be compiled for TPL with different
> settings.
> +
> +For example:
> +
> +ifeq ($(CONFIG_TPL_BUILD),y)
> +COBJS-y += board_tpl.o
> +else
> +COBJS-y += board.o
> +endif
> +
> +COBJS-$(CONFIG_TPL_BUILD) += foo.o
This is not how it should normally be done. Normally the board config
file should determine which SPL options to choose, based on whether
CONFIG_TPL_BUILD is set.
> diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
> index bb81e84..6507fcf 100644
> --- a/drivers/mtd/nand/Makefile
> +++ b/drivers/mtd/nand/Makefile
> @@ -29,6 +29,8 @@ ifdef CONFIG_CMD_NAND
>
> ifdef CONFIG_SPL_BUILD
>
> +ifndef CONFIG_TPL_BUILD
Why? Let the board file define what it wants for the TPL case, just as
in SPL.
> ifdef CONFIG_SPL_NAND_DRIVERS
> NORMAL_DRIVERS=y
> endif
> @@ -40,6 +42,10 @@ COBJS-$(CONFIG_SPL_NAND_LOAD) += nand_spl_load.o
> COBJS-$(CONFIG_SPL_NAND_ECC) += nand_ecc.o
> COBJS-$(CONFIG_SPL_NAND_BASE) += nand_base.o
>
> +else
> +COBJS-y += nand.o
> +endif
What do you need nand.c for? Why do you think all other TPLs will have
the same need?
> else # not spl
>
> NORMAL_DRIVERS=y
> @@ -82,9 +88,11 @@ COBJS-$(CONFIG_NAND_DOCG4) += docg4.o
>
> else # minimal SPL drivers
>
> +ifdef CONFIG_SPL_BUILD
> COBJS-$(CONFIG_NAND_FSL_ELBC) += fsl_elbc_spl.o
> COBJS-$(CONFIG_NAND_FSL_IFC) += fsl_ifc_spl.o
> COBJS-$(CONFIG_NAND_MXC) += mxc_nand_spl.o
> +endif
How are you going to get here in the first place without
CONFIG_SPL_BUILD?
> @@ -162,6 +173,17 @@ $(OBJTREE)/SPL : $(obj)u-boot-spl.bin depend
> $(MAKE) -C $(SRCTREE)/arch/arm/imx-common $@
>
> ALL-y += $(obj)u-boot-spl.bin
> +else
> +$(OBJTREE)/MLO: $(obj)u-boot-tpl.bin
> + $(OBJTREE)/tools/mkimage -T omapimage \
> + -a $(CONFIG_SPL_TEXT_BASE) -d $< $@
> +
> +$(OBJTREE)/MLO.byteswap: $(obj)u-boot-tpl.bin
> + $(OBJTREE)/tools/mkimage -T omapimage -n byteswap \
> + -a $(CONFIG_SPL_TEXT_BASE) -d $< $@
> +
> +ALL-y += $(obj)u-boot-tpl.bin
> +endif
Why? There's not even a user of MLO with TPL.
In any case, is there no way we can just set filename variables based
on SPL/TPL here, rather than duplicating code?
> +ifndef CONFIG_TPL_BUILD
> $(obj)u-boot-spl.bin: $(obj)u-boot-spl
> $(OBJCOPY) $(OBJCFLAGS) -O binary $< $@
>
> @@ -185,6 +208,18 @@ GEN_UBOOT = \
>
> $(obj)u-boot-spl: depend $(START) $(LIBS) $(obj)u-boot-spl.lds
> $(GEN_UBOOT)
> +else
> +$(obj)u-boot-tpl.bin: $(obj)u-boot-tpl
> + $(OBJCOPY) $(OBJCFLAGS) -O binary $< $@
> +
> +GEN_UBOOT = \
> + cd $(obj) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $(__START) \
> + --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
> + -Map u-boot-tpl.map -o u-boot-tpl
> +
> +$(obj)u-boot-tpl: depend $(START) $(LIBS) $(obj)u-boot-spl.lds
> + $(GEN_UBOOT)
> +endif
Likewise.
-Scott
next prev parent reply other threads:[~2013-07-12 21:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-09 9:50 [U-Boot] [PATCH 1/7 v7] powerpc: deleted unused symbol CONFIG_SPL_NAND_MINIMAL and enabled some functionality for common SPL ying.zhang at freescale.com
2013-07-09 9:50 ` [U-Boot] [PATCH 2/7 v7] powerpc: mpc85xx: Support booting from SD Card with SPL ying.zhang at freescale.com
2013-07-09 9:50 ` [U-Boot] [PATCH 3/7 v7] powerpc: p1022ds: Enable P1022DS to boot " ying.zhang at freescale.com
2013-07-09 9:50 ` [U-Boot] [PATCH 4/7 v7] powerpc : spi flash : Support to start from eSPI " ying.zhang at freescale.com
2013-07-09 9:50 ` [U-Boot] [PATCH 5/7 v7] powerpc : p1022ds : enable p1022ds " ying.zhang at freescale.com
2013-07-09 9:50 ` [U-Boot] [PATCH 6/7 v7] NAND: TPL : introduce the TPL based on the SPL ying.zhang at freescale.com
2013-07-12 21:43 ` Scott Wood [this message]
2013-07-09 9:50 ` [U-Boot] [PATCH 7/7 v7] powerpc: p1022ds: add TPL for p1022ds nand boot ying.zhang at freescale.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1373665393.8183.288@snotra \
--to=scottwood@freescale.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.