• Brian Norris's avatar
    mtd: nand: support Micron READ RETRY · 8429bb39
    Brian Norris authored
    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: default avatarBrian Norris <computersforpeace@gmail.com>
    Acked-by: default avatarHuang Shijie <b32955@freescale.com>
    8429bb39
nand_base.c 104 KB