Pull request for u-boot-nand-03022026 (Take 2)
Michael Nazzareno Trimarchi
michael at amarulasolutions.com
Tue Feb 3 23:45:42 CET 2026
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
More information about the U-Boot
mailing list