The following changes since commit 71f2564b178f3986dc89cdaa4558f0caa74fd88c:
Merge tag 'mmc-for-2026.04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-mmc (2026-02-03 12:46:30 -0600) are available in the Git repository at: https://source.denx.de/u-boot/custodians/u-boot-nand-flash.git u-boot-nand-03022026 for you to fetch changes up to 800ebf7e94e3a7e375cf915ae21e14514fd81450: tools: sunxi-spl-image-builder: support H6/H616 NAND boot (2026-02-03 21:45:27 +0100) This series provides a comprehensive cleanup of the Allwinner (sunxi) NAND controller drivers and introduces full support for the H6 and H616 SoCs in both the main U-Boot driver and the SPL. The series successfully deduplicates register maps between sunxi_nand.c and sunxi_nand_spl.c while migrating to a capability-based architecture. This approach allows the driver to handle the H616's specific requirements—such as shifted register offsets for ECC/OOB, the removal of 512B ECC block support, and mandatory MBUS clock gating—without breaking compatibility for legacy A10/A23 devices. The patches pass the pipeline CI: https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/pipelines/29183 ---------------------------------------------------------------- Richard Genoud (26): mtd: rawnand: sunxi: cosmetic: remove needless comment mtd: rawnand: sunxi_spl: fix pointer from integer without a cast mtd: rawnand: sunxi_spl: harmonize register defines with non spl file mtd: rawnand: sunxi_spl: cosmetic: use definitions from linux/mtd/rawnand.h mtd: rawnand: sunxi: remove usage of struct sunxi_ccm_reg mtd: rawnand: sunxi: merge register definitions for sunxi_nand{, _spl}.c mtd: rawnand: sunxi: add per SoC capabilities mtd: rawnand: sunxi: move ECC_ERR_CNT register offset in SoC caps mtd: rawnand: sunxi: move USER_DATA register offset in SoC caps mtd: rawnand: sunxi: move ECC_PAT_FOUND register in SoC caps mtd: rawnand: sunxi: add has_ecc_block_512 capability mtd: rawnand: sunxi: move NFC_ECC_MODE offset in SoC caps mtd: rawnand: sunxi: introduce reg_pat_id in sunxi_nfc_caps mtd: rawnand: sunxi_spl: add per SoC capabilities mtd: rawnand: sunxi: move NFC_RANDOM_EN register offset in SoC caps mtd: rawnand: sunxi: introduce reg_spare_area in sunxi_nfc_caps mtd: rawnand: sunxi_spl: use NFC_ECC_ERR_MSK and NFC_ECC_PAT_FOUND mtd: rawnand: sunxi_spl: increase max_oobsize for 2KiB pages mtd: rawnand: sunxi_spl: use NFC_ECC_MODE and NFC_RANDOM_SEED macros sunxi: clock: H6: add NAND controller clock registers clk: sunxi: Add MBUS Master Clock Gating Register mtd: rawnand: sunxi: add support for H6/H616 nand controller mtd: rawnand: sunxi_spl: add support for H6/H616 nand controller mtd: rawnand: sunxi_spl: Fix cast to pointer from integer warnings mtd: rawnand: sunxi: fix page size in control register tools: sunxi-spl-image-builder: support H6/H616 NAND boot arch/arm/include/asm/arch-sunxi/clock_sun4i.h | 1 + arch/arm/include/asm/arch-sunxi/clock_sun50i_h6.h | 24 ++ arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 1 + arch/arm/include/asm/arch-sunxi/clock_sun8i_a83t.h | 1 + arch/arm/include/asm/arch-sunxi/clock_sun9i.h | 2 + board/sunxi/board.c | 21 +- drivers/clk/sunxi/clk_h6.c | 2 + drivers/clk/sunxi/clk_h616.c | 2 + drivers/mtd/nand/raw/Kconfig | 4 +- drivers/mtd/nand/raw/sunxi_nand.c | 306 ++++++++++---------- drivers/mtd/nand/raw/sunxi_nand.h | 228 +++++++++++++++ drivers/mtd/nand/raw/sunxi_nand_spl.c | 317 +++++++++++++-------- scripts/Makefile.xpl | 1 + tools/sunxi-spl-image-builder.c | 92 ++++-- 14 files changed, 700 insertions(+), 302 deletions(-) create mode 100644 drivers/mtd/nand/raw/sunxi_nand.h

