[U-Boot] u-boot-imx51 NAND flash Uncorrectable ECC Error

Stefano Babic sbabic at denx.de
Tue Mar 9 18:50:38 CET 2010


Navaneethan P wrote:
> *
> *Hi Stefano Babic,
>

Hi Navaneethan,

I will kindly ask you to send your questions directly to the u-boot
mailing list, too.

This information can be helpful for other users of this board. And you
get a large number of developers who could help you.

> We are using the imx51 babbage board with external NAND flash
> (NAND01GR3B2C , numonyx 8 bit, 2k page size, 1Gbit, 128k block size)
> connected.

In the patchset I provided to the ML I will not set the iomux for NAND,
because the babbage board (mx51evk) has no NAND at all. I suppose you
have configured the iomux, too. Anything else you changed ?

> We are using the standard NAND driver from u-boot source
> (u-boot-2009.08). Initially nand read was not proper.
> I changed the read operation from auto operation to manual operation.

After that time, some patches went to the mainline for the MXC NAND
driver to support revision 1.1 of the Freescale's NAND controller. As I
can see, the MX51 has version 1.1 as the MX25 (not really checked, but
it seems so).

I think it makes sense if you align your code with the actual u-boot top
of tree, that you can find on git.denx.de

> 
> Now, write, read, and erase are seems to be working fine.
> 
> When we write the filesystem/linux kernel, there seems to be a byte
> error. Means, one byte mismatch between the written data & read data.
> 
> Example, (written data != read data)
> 
> byte at 0x90800457 (0xff) != byte at 0x90c00457 (0x92)
> byte at 0x90800458 (0x92) != byte at 0x90c00458 (0xff)
> byte at 0x9080045a (0xff) != byte at 0x90c0045a (0xea)
> byte at 0x9080045a (0xff) != byte at 0x90c0045a (0xea)
> byte at 0x9080045b (0xea) != byte at 0x90c0045b (0x4f)
> byte at 0x9080045c (0x4f) != byte at 0x90c0045c (0x00)
> byte at 0x9080045e (0x00) != byte at 0x90c0045e (0xea)
> 
> When we read the linux kernel, it is giving Uncorrectable RS ECC Error

Ok, this is understandable, if the values read are not what you wanted
to write. It seems each byte is written at the next address. I have not
yet an explanation, but maybe someone else in the ML can help.

Regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================



More information about the U-Boot mailing list