]> git.ipfire.org Git - thirdparty/u-boot.git/commit
mtd: rawnand: sunxi: add support for H6/H616 nand controller
authorRichard Genoud <richard.genoud@bootlin.com>
Fri, 23 Jan 2026 11:44:57 +0000 (12:44 +0100)
committerMichael Trimarchi <michael@amarulasolutions.com>
Tue, 3 Feb 2026 20:45:16 +0000 (21:45 +0100)
commitf163da5e6d26904e5df509169ccc8cc91a0fb295
treeec67a67b1d4f19f65bf3b88e84a5f7727fc74a99
parent4a611a82e5158d5789cb7bbf6feabaadc9d6b796
mtd: rawnand: sunxi: add support for H6/H616 nand controller

Introduce H6/H616 NAND controller support for U-Boot

The H616 NAND controller has the same base as A10/A23, with some
differences:
- MDMA is based on chained buffers
- its ECC supports up to 80bit per 1024bytes
- some registers layouts are a bit different, mainly due do the stronger
  ECC.
- it uses USER_DATA_LEN registers along USER_DATA registers.
- it needs a specific clock for ECC and MBUS.

Introduce the basic support, with ECC and scrambling, but without
DMA/MDMA.

Tested on Whatsminer H616 board (with and without scrambling, ECC)

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
drivers/mtd/nand/raw/Kconfig
drivers/mtd/nand/raw/sunxi_nand.c
drivers/mtd/nand/raw/sunxi_nand.h