public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target
Date: Mon, 25 Feb 2013 19:51:35 +0100 (CET)	[thread overview]
Message-ID: <1418032478.106090.1361818295495.JavaMail.root@advansee.com> (raw)
In-Reply-To: <1361816397-8661-1-git-send-email-marex@denx.de>

Dear Marek Vasut,

On Monday, February 25, 2013 7:19:54 PM, Marek Vasut wrote:
> Implement u-boot.nand target that can be reused with a small amount of
> churn across all CPU models. The idea is to delegate the u-boot.nand target
> out of the main Makefile and into the CPU's Makefile (very similar to what
> u-boot.imx does now). The main Makefile shall only contain path to which the
> u-boot.nand target is delegated. Hopefully this will not produce too much
> bloat in the main Makefile.
> 
> To demonstrate this implementation, add u-boot.nand target for i.MX53.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
>  Makefile                     |   18 ++++++++++++++++++
>  arch/arm/imx-common/Makefile |    6 ++++++
>  2 files changed, 24 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index 41054b7..8b1010a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -470,6 +470,23 @@ $(obj)u-boot.img:	$(obj)u-boot.bin
>  $(obj)u-boot.imx: $(obj)u-boot.bin depend
>  		$(MAKE) -C $(SRCTREE)/arch/arm/imx-common $(obj)u-boot.imx
>  
> +#
> +# Generic u-boot.nand target.
> +#
> +# Every CPU that needs u-boot.nand must add a path to an implementation of
> +# the actual u-boot.nand generator below.
> +#
> +ifdef CONFIG_MX53
> +CONFIG_NAND_TRG_PATH := $(SRCTREE)/arch/arm/imx-common

What about calling it rather CONFIG_NAND_TGT_PATH? TRG looks more like trigger.

> +endif
> +
> +$(obj)u-boot.nand: $(obj)u-boot.bin depend
                                       ^
$(obj)u-boot.bin already depends on depend through $(obj)u-boot, so it's useless
here.

> +		if [ "X$(CONFIG_NAND_TRG_PATH)X" = "XX" ] ; then		\
> +			echo "This CPU does not support u-boot.nand target!" ;	\
> +			exit 1 ;						\
> +		fi
> +		$(MAKE) -C $(CONFIG_NAND_TRG_PATH) $(obj)u-boot.nand
                                                   ^
                                                   $(OBJTREE)/

> +
>  $(obj)u-boot.kwb:       $(obj)u-boot.bin
>  		$(obj)tools/mkimage -n $(CONFIG_SYS_KWD_CONFIG) -T kwbimage \
>  		-a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) -d $< $@
> @@ -857,6 +874,7 @@ clobber:	tidy
>  	@rm -f $(obj)u-boot.kwb
>  	@rm -f $(obj)u-boot.pbl
>  	@rm -f $(obj)u-boot.imx
> +	@rm -f $(obj)u-boot.nand
>  	@rm -f $(obj)u-boot.ubl
>  	@rm -f $(obj)u-boot.ais
>  	@rm -f $(obj)u-boot.dtb
> diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile
> index 5d5c5b2..71ea36f 100644
> --- a/arch/arm/imx-common/Makefile
> +++ b/arch/arm/imx-common/Makefile
> @@ -50,6 +50,12 @@ $(obj)u-boot.imx: $(OBJTREE)/u-boot.bin
> $(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX
>  	$(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \
>  	-e $(CONFIG_SYS_TEXT_BASE) -d $< $@
>  
> +$(obj)u-boot.nand: $(obj)u-boot.imx
> +	(								\
> +		echo -ne '\x00\x00\x00\x00\x46\x43\x42\x20\x01' ;	\
> +		dd if=/dev/zero bs=1015 count=1 2>/dev/null ) |		\
> +	cat - $< > $@

Is that all? According to 7.5.2.2 (i.MX53 RM), the boot ROM switches to serial
mode if anything goes wrong with the NAND. Hence, for reliable NAND boot, you
have to choose either DBBT or SPL (or both, but that would be waste).

Populating the DBBT would be complicated, so I'd go for SPL. You could just use
my u-boot-with-nand-spl.imx and change the dummy header to a true FCB with the
fingerprint like you did in your header above. u-boot.nand then becomes useless.

> +
>  $(obj)SPL: $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/$(patsubst
>  "%",%,$(CONFIG_IMX_CONFIG)).cfgtmp
>  	$(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T imximage \
>  	-e $(CONFIG_SPL_TEXT_BASE) -d $< $@


Best regards,
Beno?t

  parent reply	other threads:[~2013-02-25 18:51 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-25 18:19 [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target Marek Vasut
2013-02-25 18:19 ` [U-Boot] [PATCH 2/4] imx: Align the imximage header and payload to multiples of 4k Marek Vasut
2013-02-25 19:13   ` Benoît Thébaudeau
2013-02-25 21:07     ` Marek Vasut
2013-02-25 21:16       ` Benoît Thébaudeau
2013-02-25 18:19 ` [U-Boot] [PATCH 3/4] mx5: Add NAND clock handling Marek Vasut
2013-02-25 19:27   ` Benoît Thébaudeau
2013-02-25 18:24 ` [U-Boot] [PATCH 4/4] mx5: Add support for DENX M53EVK Marek Vasut
2013-02-25 19:33   ` Benoît Thébaudeau
2013-02-26 13:52   ` Fabio Estevam
2013-02-26 19:32   ` Fabio Estevam
2013-04-14 17:20     ` Marek Vasut
2013-04-14 19:07       ` Wolfgang Denk
2013-04-14 19:18         ` Marek Vasut
2013-02-25 18:51 ` Benoît Thébaudeau [this message]
2013-02-25 21:09   ` [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target Marek Vasut
2013-02-25 21:13     ` Benoît Thébaudeau
2013-02-26  1:02   ` [U-Boot] patch error wanxs
2013-02-25 20:10 ` [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target Scott Wood
2013-02-25 21:10   ` Marek Vasut
2013-02-25 22:15     ` Scott Wood
2013-02-25 23:03       ` Marek Vasut
2013-02-25 23:07         ` Scott Wood
2013-02-25 23:50           ` Benoît Thébaudeau
2013-02-26  7:19             ` Marek Vasut
2013-02-26 11:33               ` Benoît Thébaudeau
2013-02-27 17:33                 ` Tom Rini
2013-02-28 18:50                   ` Marek Vasut
2013-02-28 18:53                     ` Tom Rini
2013-02-26  7:17           ` Marek Vasut
2013-02-26 23:10             ` Scott Wood
2013-02-27 22:18 ` Benoît Thébaudeau
2013-02-27 23:44   ` Tom Rini
2013-02-27 23:47     ` Benoît Thébaudeau
2013-02-28 12:18       ` Benoît Thébaudeau
2013-02-28 14:03   ` Tom Rini
2013-02-28 15:24     ` Benoît Thébaudeau
2013-02-28 16:06       ` Benoît Thébaudeau
2013-02-28 16:21         ` Tom Rini
2013-02-28 16:29           ` Benoît Thébaudeau
2013-02-28 16:42             ` Tom Rini

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=1418032478.106090.1361818295495.JavaMail.root@advansee.com \
    --to=benoit.thebaudeau@advansee.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox