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

Liu Hui-R64343 r64343 at freescale.com
Thu Mar 11 12:16:55 CET 2010



BR,
Jason
 

> -----Original Message-----
> From: u-boot-bounces at lists.denx.de 
> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Stefano Babic
> Sent: 2010年3月10日 1:51
> To: Navaneethan P
> Cc: u-boot at lists.denx.de
> Subject: Re: [U-Boot] u-boot-imx51 NAND flash Uncorrectable ECC Error
> 
> 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).

MX51 NFC(nand flash controler) is not the MX25 like. There is
Big difference.MX51 support auto-mode and the register is 32-bit width
While MX25 not that.

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

Kernel print out Uncorrectable  RS ECC Error means the data corruption and the HW ECC of NFC can't correct it.
It may due to the NAND driver. BTW, please make sure erase the block first when you operate on MLC nand flash since
NOP=1. 

> 
> 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 
> =====================================================================
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
> 
> 


More information about the U-Boot mailing list