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

Reply via email to