Skip to content
  • Wu, Josh's avatar
    at91: atmel_nand: Update driver to support Programmable Multibit ECC controller · bdfd59aa
    Wu, Josh authored
    
    
    The Programmable Multibit ECC (PMECC) controller is a programmable binary
    BCH(Bose, Chaudhuri and Hocquenghem) encoder and decoder. This controller
    can be used to support both SLC and MLC NAND Flash devices. It supports to
    generate ECC to correct 2, 4, 8, 12 or 24 bits of error per sector of data.
    
    To use PMECC in this driver, the user needs to set the PMECC correction
    capability, the sector size and ROM lookup table offsets in board config file.
    
    This driver is ported from Linux kernel atmel_nand PMECC patch. The main difference
    is in this version it uses registers structure access hardware instead of using macros.
    It is tested in 9x5 serial boards.
    
    Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
    [rebase]
    Signed-off-by: default avatarAndreas Bießmann <andreas.devel@googlemail.com>
    bdfd59aa