[RFC] On-die ECC support

Richard Weinberger
2015-03-25T14:03:14Z

Some Micron NAND chips offer an on-die ECC (AKA internal ECC) feature,
in this mode all ECC is automatically performed by the NAND chips itself.
Most user are happy with software ECC or hardware ECC performed by the
NFC (NAND flash controller).
But there are situations where multi-bit hardware ECC is not available,
some AT91 based SoCs for example, and due to CPU limitations
software ECC is not feasible. In such situations on-die ECC can help.
People are using that feature in the wild for years.
As this feature is not supported in mainline these guys are using out-of-tree
patches of doubtful quality. That's why I did that patch series.

This series is based on patches by David Mosberger and in-house patches
by a customer.

Currently I'm not happy with patch 2/3.
To allow raw access (access without ECC) we have to disable/enable
on-die ECC mode in various NAND core functions.
I could also think of dropping support for raw access completely.

I'd like to thank Ammonit Measurement GmbH for making this contribution to the MTD community happen!

[PATCH 1/3] mtd: nand: Add on-die ECC support
[PATCH 2/3] mtd: nand: Add support for raw access when using on-die
[PATCH 3/3] mtd: nand: Wire up on-die ECC support

Thanks,
//richard