u-boot/drivers
Anton Vorontsov 97ae023648 fsl_elbc_nand: fix OOB workability for large page NAND chips
For large page chips, nand_bbt is looking into OOB area, and checking
for "0xff 0xff" pattern at OOB offset 0. That is, two bytes should be
reserved for bbt means.

But ELBC driver is specifying ecclayout so that oobfree area starts at
offset 1, so only one byte left for the bbt purposes.

This causes problems with any OOB users, namely JFFS2: after first mount
JFFS2 will fill all OOBs with "erased marker", so OOBs will contain:

  OOB Data: ff 19 85 20 03 00 ff ff ff 00 00 08 ff ff ff ff
  OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
  OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
  OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

And on the next boot, NAND core will rescan for bad blocks, then will
see "0xff 0x19" pattern, and will mark all blocks as bad ones.

To fix the issue we should implement our own bad block pattern: just one
byte at OOB start. Though, this will work only for x8 chips. For x16
chips two bytes must be checked. Since ELBC driver does not support x16
NANDs (yet), we're safe for now.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
2008-09-12 14:56:03 -05:00
..
bios_emulator Big white-space cleanup. 2008-05-21 00:14:08 +02:00
block drivers/block: Move conditional compilation to Makefile 2008-08-13 01:40:39 +02:00
dma drivers/dma: Move conditional compilation to Makefile 2008-08-13 01:40:39 +02:00
hwmon ppc4xx: Allow DTT_I2C_DEV_CODE configured by CFG_I2C_DTT_ADDR 2008-09-10 11:08:45 +02:00
i2c Merge branch 'Makefile' of git://git.denx.de/u-boot-arm 2008-09-01 00:16:29 +02:00
input drivers/input: Move conditional compilation to Makefile 2008-08-13 01:40:40 +02:00
misc mpc85xx: Add support for the MPC8536 2008-08-27 11:43:54 -05:00
mmc atmel_mci: Fix printf() format warnings 2008-07-23 16:15:01 +02:00
mtd fsl_elbc_nand: fix OOB workability for large page NAND chips 2008-09-12 14:56:03 -05:00
net net: smc911x: Add pkt_data_pull and pkt_data_push function 2008-09-02 21:18:19 -07:00
pci drivers/pci: Move conditional compilation to Makefile 2008-08-13 01:40:40 +02:00
pcmcia pcmcia/ti_pci1410a: Move compile condition to the Makefile 2008-06-26 17:04:25 +02:00
qe drivers/qe: Move conditional compilation to Makefile 2008-08-13 01:40:41 +02:00
rtc Makefile: fix bug introduced by commit 47ffd6c2 2008-09-09 16:55:47 +02:00
serial Makefile: fix bug introduced by commit 47ffd6c2 2008-09-09 16:55:47 +02:00
spi soft_spi: move to drivers/spi 2008-08-29 12:25:02 +02:00
usb Make usb-stop() safe to call multiple times in a row. 2008-09-09 16:59:25 +02:00
video 85xx: socrates: Enable Lime support. 2008-09-09 10:14:13 +02:00