From: jkrause <jk@lintech.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/3 V2] ARM: mxs: Fix NAND FCB flashing
Date: Wed, 21 May 2014 07:08:09 -0700 (PDT) [thread overview]
Message-ID: <1400681289049-180393.post@n7.nabble.com> (raw)
In-Reply-To: <1377640181-5459-1-git-send-email-marex@denx.de>
I was wondering about the following warnings while bootings linux 3.15.0-rc5:
[ 0.998885] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xd1
[ 1.005485] nand: Toshiba NAND 128MiB 3,3V 8-bit
[ 1.010165] nand: 128MiB, SLC, page size: 2048, OOB size: 64
[ 1.016176] Scanning device for bad blocks
[ 1.022444] Bad eraseblock 1 at 0x000000020000
[ 1.027444] Bad eraseblock 2 at 0x000000040000
[ 1.032612] Bad eraseblock 3 at 0x000000060000
I noticed that these are the FCB pages for the NAND boot. Google found me
this old thread. Nevertheless, I applied the patch on our custom i.MX28
board and the warnings disappeared.
But I still have some questions and remarks:
Marek Vasut-3 wrote
> 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.
>
> + "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} " \
> + "${update_nand_stride} ; " \
Why not just write a page (which contains the FCB) instead of the whole
stride?
There is also a problem about scrubbing of size 128K (which is the erase
size) and writing 128K (which is the size of a search area with 64 pages).
This works for the default settings (fuses not blown) of search stride =
1*64 and search count = 4. But if the fuses is blown and stride = 2*64 and
count = 2 it will scrub 128K and write 256K (size of 128 pages). So the
second half of the search area is not erased before writing.
Marek Vasut-3 wrote
> "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} ; " \
Running update_nand_write_fcb erases and writes the FCB search area. The
remaining bytes of the u-boot.nand file are writting before erasing the
corresponding NAND flash bytes. I added something like this before:
"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
+ "nand erase ${update_nand_fcb} ${update_sz}; " \
"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
Is there any reason why this patch is not applied to the u-boot-imx repo?
--
View this message in context: http://u-boot.10912.n7.nabble.com/PATCH-1-3-tools-mxsboot-Staticize-functions-tp162080p180393.html
Sent from the U-Boot mailing list archive at Nabble.com.
next prev parent reply other threads:[~2014-05-21 14:08 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 ` [U-Boot] [PATCH 3/3] ARM: mxs: Fix NAND FCB flashing Marek Vasut
2013-08-27 21:49 ` [U-Boot] [PATCH 3/3 V2] " Marek Vasut
2013-08-28 8:40 ` Marek Vasut
2014-05-21 14:08 ` jkrause [this message]
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=1400681289049-180393.post@n7.nabble.com \
--to=jk@lintech.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