[PATCH v4 0/3] mtd: nand: OMAP: ELM error correction support for BCH ecc

Philip Avinash avinashphilip at ti.com
Fri Jan 4 02:56:48 EST 2013


Support to use ELM as BCH 4 & 8 bit error correction module. Also performance
enhancement by adding single shot read_page and write_page functions for the
nand flashes with page size less than 4 KB.

ELM module can be used to correct errors reported by BCH 4, 8 & 16 bit
ECC scheme. For now only 4 & 8 bit support is added.

BCH 4 & 8 bit error detection support is already available in mainline
kernel and works with software error correction.

This series is based on linux 3.8-rc2 and tested with [1].
Also this patch series depend on [1] for NAND flash device
tree data and gpmc nand device tree binding documentation updates.

1. [PATCH v7 0/5] OMAP GPMC DT bindings
http://www.spinics.net/lists/linux-omap/msg83505.html

Tested on am335x-evm for BCH 4 and 8 bit error correction.

Changes since v1:
	- Erased page is identified by checking byte [13/7] in read
	  ecc. To filter out bit flips in OOB area, check 0 bits in
	  the byte greater than 4.
	- GPMC ecc engine configuration moves to omap2.c NAND driver.

Changes since v2:
	- Added runtime detection of elm module, instead of depending
	  on platform data.
	- Added bit flip correction in OOB ecc data if bit flip happen
	  OOB data.

Changes since v3:
	- Availability and usability of ELM module is detected from device
	  tree nodes by checking availability of ELM node in device tree.

Philip Avinash (3):
  mtd: nand: omap2: Update nerrors using ecc.strength
  mtd: devices: elm: Add support for ELM error correction
  mtd: nand: omap2: Support for hardware BCH error correction.

 Documentation/devicetree/bindings/mtd/elm.txt      |   16 +
 .../devicetree/bindings/mtd/gpmc-nand.txt          |    4 +
 drivers/mtd/devices/Makefile                       |    4 +-
 drivers/mtd/devices/elm.c                          |  405 ++++++++++++++
 drivers/mtd/nand/omap2.c                           |  583 ++++++++++++++++++--
 include/linux/platform_data/elm.h                  |   54 ++
 6 files changed, 1023 insertions(+), 43 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/elm.txt
 create mode 100644 drivers/mtd/devices/elm.c
 create mode 100644 include/linux/platform_data/elm.h

-- 
1.7.9.5




More information about the linux-arm-kernel mailing list