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 3/3] ARM: mxs: Fix NAND FCB flashing
Date: Tue, 27 Aug 2013 23:32:39 +0200	[thread overview]
Message-ID: <1377639159-5243-3-git-send-email-marex@denx.de> (raw)
In-Reply-To: <1377639159-5243-1-git-send-email-marex@denx.de>

Fix the method of flashing FCB blocks into NAND. The new env
writes all four FCB blocks and also does not scrub such a big
part of the NAND. This fixed complains about busted NAND blocks
in Linux.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
---
 include/configs/m28evk.h  |   22 ++++++++++++++++++++--
 include/configs/mx28evk.h |   22 ++++++++++++++++++++--
 2 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h
index eba8759..8a0587c 100644
--- a/include/configs/m28evk.h
+++ b/include/configs/m28evk.h
@@ -170,11 +170,29 @@
 		"nand info ; "						\
 		"setexpr fcb_sz ${update_nand_stride} * ${update_nand_count};" \
 		"setexpr update_nand_fcb ${fcb_sz} * ${nand_writesize}\0" \
+	"update_nand_write_fcb="					\
+		"setenv i ${update_nand_count} ; "			\
+		"setenv update_nand_offset 0x0 ; "			\
+		"setexpr update_nand_step "				\
+			"${update_nand_stride} * ${nand_writesize} ; "	\
+		"while test ${i} -gt 0 ; do "				\
+			"echo ${update_nand_offset} ; "			\
+			"nand scrub -y ${update_nand_offset} "		\
+				"${nand_erasesize} ; "			\
+			"nand write.raw ${loadaddr} "			\
+				"${update_nand_offset} 0x1 ; "	\
+			"setexpr i ${i} - 1 ; "				\
+			"setexpr update_nand_offset "			\
+				"${update_nand_offset} + "		\
+				"${update_nand_step} ; "		\
+		"done ; "						\
+		"setenv i ; "						\
+		"setenv update_nand_offset ; "				\
+		"setenv update_nand_step\0"				\
 	"update_nand_full="		/* Update FCB, DBBT and FW */	\
 		"if tftp ${update_nand_full_filename} ; then "		\
 		"run update_nand_get_fcb_size ; "			\
-		"nand scrub -y 0x0 ${filesize} ; "			\
-		"nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; "	\
+		"run update_nand_write_fcb ; "				\
 		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
 		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
 		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h
index 07f88ca..b0ae031 100644
--- a/include/configs/mx28evk.h
+++ b/include/configs/mx28evk.h
@@ -172,11 +172,29 @@
 		"nand info ; " \
 		"setexpr fcb_sz ${update_nand_stride} * ${update_nand_count};" \
 		"setexpr update_nand_fcb ${fcb_sz} * ${nand_writesize}\0" \
+	"update_nand_write_fcb="					\
+		"setenv i ${update_nand_count} ; "			\
+		"setenv update_nand_offset 0x0 ; "			\
+		"setexpr update_nand_step "				\
+			"${update_nand_stride} * ${nand_writesize} ; "	\
+		"while test ${i} -gt 0 ; do "				\
+			"echo ${update_nand_offset} ; "			\
+			"nand scrub -y ${update_nand_offset} "		\
+				"${nand_erasesize} ; "			\
+			"nand write.raw ${loadaddr} "			\
+				"${update_nand_offset} 0x1 ; "	\
+			"setexpr i ${i} - 1 ; "				\
+			"setexpr update_nand_offset "			\
+				"${update_nand_offset} + "		\
+				"${update_nand_step} ; "		\
+		"done ; "						\
+		"setenv i ; "						\
+		"setenv update_nand_offset ; "				\
+		"setenv update_nand_step\0"				\
 	"update_nand_full="		    /* Update FCB, DBBT and FW */ \
 		"if tftp ${update_nand_full_filename} ; then " \
 		"run update_nand_get_fcb_size ; " \
-		"nand scrub -y 0x0 ${filesize} ; " \
-		"nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; " \
+		"run update_nand_write_fcb ; "				\
 		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
 		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
 		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
-- 
1.7.10.4

  parent reply	other threads:[~2013-08-27 21:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-27 21:32 [U-Boot] [PATCH 1/3] tools: mxsboot: Staticize functions Marek Vasut
2013-08-27 21:32 ` [U-Boot] [PATCH 2/3] tools: mxsboot: Mark the FCB pages as valid Marek Vasut
2013-09-10 17:13   ` Stefano Babic
2013-09-10 21:33     ` Marek Vasut
2013-09-15 16:20       ` Fabio Estevam
2013-09-15 16:44         ` Marek Vasut
2013-08-27 21:32 ` Marek Vasut [this message]
2013-08-27 21:49   ` [U-Boot] [PATCH 3/3 V2] ARM: mxs: Fix NAND FCB flashing Marek Vasut
2013-08-28  8:40     ` Marek Vasut
2014-05-21 14:08     ` jkrause
2014-05-24 10:57       ` Marek Vasut
2013-08-31 13:32 ` [U-Boot] [PATCH 1/3] tools: mxsboot: Staticize functions Stefano Babic

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=1377639159-5243-3-git-send-email-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