linux/drivers/mtd/nand
Stefan Agner 049f425099 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>
2015-09-29 13:47:58 -07:00
..
bcm47xxnflash mtd: nand: bcm47xxnflash: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
brcmnand mtd: nand: Rename nand_chip .dn to .flash_node 2015-09-11 15:48:43 -07:00
gpmi-nand Common MTD: 2015-04-22 12:00:44 -07:00
ams-delta.c mtd: nand: ams-delta: fix overwritten mtd_info->owner in initialization 2015-01-15 19:33:03 -08:00
atmel_nand_ecc.h mtd: atmel_nand: add a definition for the oob reserved bytes 2015-04-05 17:47:56 -07:00
atmel_nand_nfc.h mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs 2015-03-11 09:49:28 -07:00
atmel_nand.c mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT 2015-04-05 17:47:56 -07:00
au1550nd.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
bf5xx_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
cafe_nand.c mtd: cafe_nand: drop duplicate .write_page implementation 2014-11-25 23:13:38 -08:00
cmx270_nand.c mtd: cmx270_nand: Remove unnecessary OOM messages 2014-01-03 11:22:29 -08:00
cs553x_nand.c mtd: cs553x_nand: Fix kasprintf() usage 2015-06-16 18:58:47 -07:00
davinci_nand.c nand: davinci: add support for 4K page size nand devices 2015-07-20 09:58:15 -07:00
denali_dt.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
denali_pci.c mtd: denali_pci: switch to dev_err() 2015-08-18 17:21:37 -07:00
denali.c mtd: nand: denali: max_banks calculation changed in revision 5.1 2015-09-29 11:44:59 -07:00
denali.h mtd: nand: denali: max_banks calculation changed in revision 5.1 2015-09-29 11:44:59 -07:00
diskonchip.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
docg4.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
fsl_elbc_nand.c mtd: fsl_elbc_nand: Fix module autoload for OF platform driver 2015-09-28 16:19:49 -07:00
fsl_ifc_nand.c mtd: fsl_ifc_nand: Fix module autoload for OF platform driver 2015-09-28 16:19:50 -07:00
fsl_upm.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
fsmc_nand.c mtd: fsmc_nand: match wait_for_completion_timeout return type 2015-05-06 23:48:04 -07:00
gpio.c MTD updates for 3.19: 2014-12-17 09:59:26 -08:00
hisi504_nand.c genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely 2015-03-05 20:53:06 +01:00
jz4740_nand.c mtd: nand: jz4740: Convert to GPIO descriptor API 2015-02-02 01:04:36 -08:00
Kconfig mtd: nand: vf610_nfc: add hardware BCH-ECC support 2015-09-29 13:47:58 -07:00
lpc32xx_mlc.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
lpc32xx_slc.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
Makefile mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others 2015-09-29 13:47:58 -07:00
mpc5121_nfc.c mtd: mpc5121_nfc: Fix module autoload for OF platform driver 2015-09-28 16:19:51 -07:00
mxc_nand.c mtd: mxc_nand: Fix module autoload for OF platform driver 2015-09-28 17:27:57 -07:00
nand_base.c mtd: nand: add nand_check_erased helper functions 2015-09-21 15:35:04 -07:00
nand_bbt.c mtd: remove incorrect file name 2015-05-22 10:57:46 -07:00
nand_bch.c mtd: cleanup style on pr_debug messages 2011-09-11 15:02:16 +03:00
nand_ecc.c mtd: nand: add line feed to pr_err 2014-04-16 00:18:26 -07:00
nand_ids.c mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table 2015-08-25 12:24:02 -07:00
nand_timings.c mtd: nand: Use ULL-suffix for big u64 constant 2014-08-19 11:53:09 -07:00
nandsim.c mtd: nandsim: drop null test before destroy functions 2015-09-21 17:04:50 -07:00
ndfc.c mtd: remove incorrect file name 2015-05-22 10:57:46 -07:00
nuc900_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
omap2.c mtd: nand: omap: drop condition with no effect 2015-02-05 19:51:08 -08:00
omap_elm.c mtd: omap_elm: Fix module alias 2015-08-18 17:57:46 -07:00
orion_nand.c mtd: orion_nand: Fix module autoload for OF platform driver 2015-09-28 16:19:34 -07:00
pasemi_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
plat_nand.c mtd: plat_nand: use default partition probe 2015-05-27 12:34:35 -07:00
pxa3xx_nand.c mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal 2015-09-28 17:32:19 -07:00
r852.c mtd: r852: make ecc_reg 32-bit in r852_ecc_correct 2015-07-20 10:38:25 -07:00
r852.h mtd: r852: remove useless pci powerup/down from suspend/resume routines 2010-10-25 01:32:21 +01:00
s3c2410.c mtd: s3c2410: Constify platform_device_id 2015-05-07 00:13:24 -07:00
sh_flctl.c mtd: sh_flctl: remove slave_id settings for DMAEngine 2015-02-23 16:12:25 +05:30
sharpsl.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
sm_common.c mtd: nand: refactor chip->block_markbad interface 2013-08-30 16:47:52 +01:00
sm_common.h mtd: use __packed shorthand 2014-08-19 11:53:08 -07:00
socrates_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
sunxi_nand.c mtd: nand: sunxi: rely on nand_dt_init initialization 2015-09-11 15:48:46 -07:00
tmio_nand.c mtd: tmio_nand: Use devm_*() functions 2014-01-03 11:22:28 -08:00
txx9ndfmc.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
vf610_nfc.c mtd: nand: vf610_nfc: add hardware BCH-ECC support 2015-09-29 13:47:58 -07:00
xway_nand.c mtd: plat_nand: use default partition probe 2015-05-27 12:34:35 -07:00