public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
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 22:09:07 +0100	[thread overview]
Message-ID: <201302252209.07600.marex@denx.de> (raw)
In-Reply-To: <1418032478.106090.1361818295495.JavaMail.root@advansee.com>

Dear Beno?t Th?baudeau,

> 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?

That's all for now, that's how it boots and how others do it as well. In the 
long run though, I'd prefer to bend mxsboot to generate the DBBT.

> 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

Best regards,
Marek Vasut

  reply	other threads:[~2013-02-25 21:09 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 ` [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target Benoît Thébaudeau
2013-02-25 21:09   ` Marek Vasut [this message]
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=201302252209.07600.marex@denx.de \
    --to=marex@denx.de \
    --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