]> git.sur5r.net Git - u-boot/commit
mtd: vf610_nfc: implement OOB only read
authorStefan Agner <stefan@agner.ch>
Fri, 8 May 2015 17:07:09 +0000 (19:07 +0200)
committerScott Wood <scottwood@freescale.com>
Sun, 24 May 2015 19:26:55 +0000 (14:26 -0500)
commit5dec286b8233f658764497b10d455ba447167816
tree6283be97293cffea9199a30ab5a35a422daa5779
parentd111bf99a81feacd3876010984a28575964ff0dc
mtd: vf610_nfc: implement OOB only read

Implement read of OOB area only. When using column and sector size
properties, only parts of the page can be read. However, this works
only when hardware ECC is disabled, otherwise the ECC engine would
ruin the data in the buffer. To allow OOB only reads, three points
had to be addressed:
- Set ECC mode per command.
- Handle NAND_CMD_READOOB seperate. Make sure column and sector
  size is correctly set up, while disabling ECC.
- Now, the OOB data end up at the beginning of the buffer. Remove
  the special handling of OOB (spareonly).

Especially bad block scans benefit from this change. On a 512MiB
SLC NAND device, the bad block scan took 1.5s less than before.

Signed-off-by: Stefan Agner <stefan@agner.ch>
drivers/mtd/nand/vf610_nfc.c