mtd: nand: mxic-ecc: Add Macronix external ECC engine support
authorMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 16 Dec 2021 11:16:40 +0000 (12:16 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 9 Feb 2022 08:49:25 +0000 (09:49 +0100)
commit48e6633a9fa2400b53a964358753769f291a7eb0
tree2f1b90e9d444b78ce672f35904c4aabfed664f11
parentcda32a618debd3fad8e42757b198719ae180f8f4
mtd: nand: mxic-ecc: Add Macronix external ECC engine support

Some SPI-NAND chips do not support on-die ECC. For these chips,
correction must apply on the SPI controller end. In order to avoid
doing all the calculations by software, Macronix provides a specific
engine that can offload the intensive work.

Add Macronix ECC engine support, this engine can work in conjunction
with a SPI controller and a raw NAND controller, it can be pipelined
or external and supports linear and syndrome layouts.

Right now the simplest configuration is supported: SPI controller
external and linear ECC engine.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20211216111654.238086-15-miquel.raynal@bootlin.com
drivers/mtd/nand/Kconfig
drivers/mtd/nand/Makefile
drivers/mtd/nand/ecc-mxic.c [new file with mode: 0644]