remarkable-linux/include/linux/mtd
Brian Norris 8429bb3975 mtd: nand: support Micron READ RETRY
Micron provides READ RETRY support via the ONFI vendor-specific
parameter block (to indicate how many read-retry modes are available)
and the ONFI {GET,SET}_FEATURES commands with a vendor-specific feature
address (to support reading/switching the current read-retry mode).

The recommended sequence is as follows:

  1. Perform PAGE_READ operation
  2. If no ECC error, we are done
  3. Run SET_FEATURES with feature address 89h, mode 1
  4. Retry PAGE_READ operation
  5. If ECC error and there are remaining supported modes, increment the
     mode and return to step 3. Otherwise, this is a true ECC error.
  6. Run SET_FEATURES with feature address 89h, mode 0, to return to the
     default state.

This patch implements the chip->setup_read_retry() callback for
Micron and fills in the chip->read_retries.

Tested on Micron MT29F32G08CBADA, which supports 8 read-retry modes.

The Micron vendor-specific table was checked against the datasheets for
the following Micron NAND:

Needs retry   Cell-type    Part number          Vendor revision    Byte 180
-----------   ---------    ----------------     ---------------    ------------
No            SLC          MT29F16G08ABABA      1                  Reserved (0)
No            MLC          MT29F32G08CBABA      1                  Reserved (0)
No            SLC          MT29F1G08AACWP       1                  0
Yes           MLC          MT29F32G08CBADA      1                  08h
Yes           MLC          MT29F64G08CBABA      2                  08h

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Huang Shijie <b32955@freescale.com>
2014-01-13 23:13:05 -08:00
..
bbm.h mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES 2013-11-06 23:33:14 -08:00
blktrans.h
cfi.h
cfi_endian.h
concat.h
doc2000.h
flashchip.h
fsmc.h mtd: nand: fsmc: update of OF support 2013-08-05 20:48:49 +01:00
ftl.h
gen_probe.h
inftl.h
latch-addr-flash.h
lpc32xx_mlc.h
lpc32xx_slc.h
map.h mtd: map: fixed bug in 64-bit systems 2013-11-06 23:32:59 -08:00
mtd.h mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdram.h
nand-gpio.h
nand.h mtd: nand: support Micron READ RETRY 2014-01-13 23:13:05 -08:00
nand_bch.h
nand_ecc.h
ndfc.h
nftl.h
onenand.h
onenand_regs.h
partitions.h mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
pfow.h
physmap.h
pismo.h
plat-ram.h
qinfo.h
sh_flctl.h
sharpsl.h
spear_smi.h
super.h
ubi.h
xip.h