• Stefan Agner's avatar
    mtd: nand: vf610_nfc: add hardware BCH-ECC support · 049f4250
    Stefan Agner authored
    This adds hardware ECC support using the BCH encoder in the NFC IP.
    The ECC encoder supports up to 32-bit correction by using 60 error
    correction bytes. There is no sub-page ECC step, ECC is calculated
    always across the whole page (up to 2k pages).
    
    Limitations:
    - HW ECC: Only 2K page with 64+ OOB.
    - HW ECC: Only 24 and 32-bit error correction implemented.
    
    Raw writes have been tested using the generic nand_write_page_raw
    implementation. However, raw reads are currently not possible
    because the controller need to know whether we are going to use
    the ECC mode already at NAND_CMD_READ0 command time. At this point
    we do not have the information whether it is a raw read or a
    regular read at driver level...
    Signed-off-by: default avatarBill Pringlemeir <bpringlemeir@nbsps.com>
    Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    049f4250
vf610_nfc.c 22.4 KB