About the mxc nand driver

Juergen Beisert jbe at pengutronix.de
Fri Oct 23 04:19:49 EDT 2009


On Donnerstag, 22. Oktober 2009, alfred steele wrote:
> > I can currently speak only about the i.MX35 NFC. But it handles larger
> > pages than 512 byte in the same way the i.MX27 NFC does. The tables in
> > the datasheet suggests they define a fixed location for the bad block
> > marker in the spare area and this will be repeated 4 times for a 2048
> > byte page. But it seems the NFS does not touch any other byte than the
> > ones defined for ECC usage.
>
> So does the mxc_nand driver without "Saschas" latest patches work for
> NAND transactions on the mx35 nfc.

The current mainline mxc nand driver does not work on i.MX35. The i.MX35 NFC 
is of the next generation. We are on the way to merge the new features into 
this driver. 

> This probably suggests that the for 
> a 4K page size NAND, it would boil down to 8 cycles. Does that still
> hold true?

Yes, a 4 kiB page would generate 8 stripes of ECC data, 16 bytes each. 7 free, 
9 for ECC.

AFAIK i.MX35 (4 symbols ECC):

512 byte page:

* OOB offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
*      Usage: |<----------------->|<----------------------->|
*                      User                   ECC

2048 byte page:

* OOB offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
* OOB offset: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
* OOB offset: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
* OOB offset: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
*      Usage: |<----------------->|<----------------------->|
*                       User                  ECC

4096 byte page:

* OOB offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
* OOB offset: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
*             .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
* OOB offset: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
* OOB offset: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
*      Usage: |<----------------->|<----------------------->|
*                       User                  ECC

But recent 4 kiB NANDs also provide 218 bytes of OOB. In this case this NFS 
also supports 18 byte of ECC. But currently I'm not sure about its layout.

jbe

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |



More information about the linux-mtd mailing list