All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] boot/uboot: add support for i.MX28 NAND format
Date: Sun, 22 Mar 2015 15:46:13 +0100	[thread overview]
Message-ID: <550ED5B5.7000204@mind.be> (raw)
In-Reply-To: <1426755776-25244-1-git-send-email-joerg.krause@embedded.rocks>

 Hi Joerg,

 Since this patch interacts badly with the SD card patches, it's better to
rebase it on top of that series and repost the entire series. I started to do
that but since I can't really test the result I decided not to.

On 19/03/15 10:02, J?rg Krause wrote:
> Allow to generate 'u-boot.nand', Freescale i.MX28 SB format with a header
> for booting from NAND flash.
> 
> There are two possibilities when preparing an image writable to NAND flash:
> 1) The NAND was not written at all yet or the BCB (Boot Control Blocks) is
>    broken. In this case, the NAND image 'u-boot.nand' needs to written.
> 2) The NAND flash was already written with a good BCB. This applies after
>    'u-boot.nand' was correctly written. There is no need to write the BCB
>    again. In this case, the bootloader can be upgraded by writing 'u-boot.sb'.
> 
> To satisfy both cases 'u-boot.nand' as well as the make target 'u-boot.sb' are
> copied to the binaries directory. 

 [nit] Trailing space

> 
> mxsboot for NAND images needs all three parameters typed in as integer values
> (hex values do not work). The default values choosen are typical sizes for a
> NAND flash.
> 
> For more information see:
> http://www.denx-cs.de/doku/?q=m28evkrunuboot
> 
> This patch is motivated by
> "[PATCH 1/2] boot/uboot: add support for i.MX28 SD format"
> http://patchwork.ozlabs.org/patch/451565/
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
>  boot/uboot/Config.in | 43 +++++++++++++++++++++++++++++++++++++++++++
>  boot/uboot/uboot.mk  | 11 +++++++++++
>  2 files changed, 54 insertions(+)
> 
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index 03e6acc..aaf9dc6 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -117,6 +117,49 @@ config BR2_TARGET_UBOOT_FORMAT_SB
>  	depends on BR2_arm
>  	bool "u-boot.sb"
>  
> +config BR2_TARGET_UBOOT_FORMAT_NAND
> +	depends on BR2_arm
> +	bool "u-boot.nand"
> +	help
> +	  This is Freescale i.MX28 SB format, with a header for booting from an

 a NAND flash. And wrapping at 72 columns.

> +	  NAND flash.
> +
> +	  U-boot includes an mxsboot tool to generate this format, starting
> +	  from v2011.12.
> +
> +	  See doc/README.mxs.

 Same comment about the location of the document.

 Add an explanation like in the commit log, so the user knows why he gets two
images.

> +
> +if BR2_TARGET_UBOOT_FORMAT_NAND
> +
> +config BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE
> +	int "NAND page size"
> +	default 2048
> +	help
> +	  The NAND page size of the targets NAND flash in bytes and as an
> +	  integer value.

 Perhaps explicitly mention it has to be decimal: "as a decimal integer value".

> +
> +	  The value provided here is passed to the -w option of mxsboot.
> +
> +config BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE
> +	int "NAND OOB size"
> +	default 64
> +	help
> +	  The NAND OOB size of the targets NAND flash in bytes and as an
> +	  integer value.
> +
> +	  The value provided here is passed to the -o option of mxsboot.
> +
> +config BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE
> +	int "NAND erase size"
> +	default 131072
> +	help
> +	  The NAND erase size of the targets NAND flash in bytes and as an

 erase -> eraseblock

> +	  integer value.
> +
> +	  The value provided here is passed to the -e option of mxsboot.
> +
> +endif
> +
>  config BR2_TARGET_UBOOT_FORMAT_CUSTOM
>  	bool "Custom (specify below)"
>  	help
> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> index a9ba054..15c5a84 100644
> --- a/boot/uboot/uboot.mk
> +++ b/boot/uboot/uboot.mk
> @@ -49,6 +49,9 @@ else ifeq ($(BR2_TARGET_UBOOT_FORMAT_SB),y)
>  UBOOT_BIN = u-boot.sb
>  UBOOT_MAKE_TARGET = $(UBOOT_BIN)
>  UBOOT_DEPENDENCIES += host-elftosb
> +else ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND),y)
> +UBOOT_BIN = u-boot.nand
> +UBOOT_MAKE_TARGET = u-boot.sb

 Dependency on host-elftosb

>  else ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
>  UBOOT_BIN = $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
>  else
> @@ -116,6 +119,12 @@ define UBOOT_BUILD_CMDS
>  	$(TARGET_CONFIGURE_OPTS) 	\
>  		$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) 		\
>  		$(UBOOT_MAKE_TARGET)
> +	$(if $(BR2_TARGET_UBOOT_FORMAT_NAND),
> +		$(@D)/tools/mxsboot \
> +			-w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE)	\
> +			-o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE)	\
> +			-e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE)	\
> +			nand $(@D)/u-boot.sb $(@D)/u-boot.nand)
>  endef
>  
>  define UBOOT_BUILD_OMAP_IFT
> @@ -125,6 +134,8 @@ endef
>  
>  define UBOOT_INSTALL_IMAGES_CMDS
>  	cp -dpf $(@D)/$(UBOOT_BIN) $(BINARIES_DIR)/
> +	$(if $(BR2_TARGET_UBOOT_FORMAT_NAND),
> +		cp -dpf $(@D)/$(UBOOT_MAKE_TARGET) $(BINARIES_DIR))
>  	$(if $(BR2_TARGET_UBOOT_SPL),
>  		cp -dpf $(@D)/$(call qstrip,$(BR2_TARGET_UBOOT_SPL_NAME)) $(BINARIES_DIR)/)

 I think it's time to do some refactoring so UBOOT_BIN can be multiple files.
Something like:

	cp -dpf $(addprefix $(@D),$(UBOOT_BIN)) $(BINARIES_DIR)/

 But that should be in a separate follow-up (or preparatory) patch.


 Regards,
 Arnout


>  	$(if $(BR2_TARGET_UBOOT_ENVIMAGE),
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  reply	other threads:[~2015-03-22 14:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-19  9:02 [Buildroot] [PATCH 1/1] boot/uboot: add support for i.MX28 NAND format Jörg Krause
2015-03-22 14:46 ` Arnout Vandecappelle [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-03-29 16:10 Jörg Krause
2015-07-11 12:11 ` Thomas Petazzoni
2015-07-11 13:07   ` Arnout Vandecappelle
2015-07-11 13:27     ` Jörg Krause

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=550ED5B5.7000204@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /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.