diff options
author | Stefan Agner <stefan@agner.ch> | 2015-09-03 01:06:34 (GMT) |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2015-09-29 20:47:58 (GMT) |
commit | 049f42509973b86f0015e2c1c38d4c79aea408f5 (patch) | |
tree | b003801ba0cee3ab3687877ced4e4c8b4d1f7166 /drivers/mtd/nand/Kconfig | |
parent | 456930d80a2da129974640dc0238d5380597e172 (diff) | |
download | linux-049f42509973b86f0015e2c1c38d4c79aea408f5.tar.xz |
mtd: nand: vf610_nfc: add hardware BCH-ECC support
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: Bill Pringlemeir <bpringlemeir@nbsps.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'drivers/mtd/nand/Kconfig')
-rw-r--r-- | drivers/mtd/nand/Kconfig | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 9f9736c..ccd1158 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -466,8 +466,10 @@ config MTD_NAND_VF610_NFC help Enables support for NAND Flash Controller on some Freescale processors like the VF610, MPC5125, MCF54418 or Kinetis K70. - The driver supports a maximum 2k page size. The driver - currently does not support hardware ECC. + The driver supports a maximum 2k page size. With 2k pages and + 64 bytes or more of OOB, hardware ECC with up to 32-bit error + correction is supported. Hardware ECC is only enabled through + device tree. config MTD_NAND_MXC tristate "MXC NAND support" |