[RFC,v3 0/5] Add driver for Mediatek SPI Nand and HW ECC controller

Xiangsheng Hou
2021-10-22T02:41:47Z

Add a driver for Mediatek SPI Nand and HW ECC controller

The Mediatek SPI Nand controller can support multiple SPI protocols,
which can support other SPI device in theory. And the SPI Nand controlelr
can cowork with the HW ECC engine for high performance at the pipelined
ecc case.

The RFC patch v3 realize the HW ECC engine in pipelined case.

The RFC patch v1 and v2 only try to get nand info and ecc status
in spi driver. However, this can be resolved by pipelined ECC design.
Only take mt7622 board for dts node example.

Xiangsheng Hou (5):
mtd: ecc: move mediatek HW ECC driver
mtd: ecc: realize Mediatek HW ECC driver
spi: add Mediatek SPI Nand controller driver
arm64: dts: add snfi node for spi nand
mtd: spinand: skip set/get oob data bytes when interleaved case

arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts | 18 +
arch/arm64/boot/dts/mediatek/mt7622.dtsi | 13 +
drivers/mtd/nand/Kconfig | 9 +
drivers/mtd/nand/Makefile | 1 +
drivers/mtd/nand/core.c | 10 +-
drivers/mtd/nand/ecc.c | 88 ++
drivers/mtd/nand/{raw => }/mtk_ecc.c | 490 ++++++-
drivers/mtd/nand/raw/Kconfig | 1 +
drivers/mtd/nand/raw/Makefile | 2 +-
drivers/mtd/nand/raw/mtk_nand.c | 2 +-
drivers/mtd/nand/spi/core.c | 6 +-
drivers/spi/Kconfig | 11 +
drivers/spi/Makefile | 1 +
drivers/spi/spi-mtk-snfi.c | 1234 +++++++++++++++++
.../nand/raw => include/linux/mtd}/mtk_ecc.h | 38 +
include/linux/mtd/nand.h | 11 +
16 files changed, 1927 insertions(+), 8 deletions(-)
rename drivers/mtd/nand/{raw => }/mtk_ecc.c (52%)
create mode 100644 drivers/spi/spi-mtk-snfi.c
rename {drivers/mtd/nand/raw => include/linux/mtd}/mtk_ecc.h (64%)

--
2.25.1