The following changes since commit 6b2d05748cf3cd6ba417a96c00602b0122e10af6:

  Merge tag 'u-boot-imx-master-20260117' of
https://gitlab.denx.de/u-boot/custodians/u-boot-imx (2026-01-17
22:29:24 -0600)

are available in the Git repository at:

  https://source.denx.de/u-boot/custodians/u-boot-nand-flash.git nand-13012026

for you to fetch changes up to 466dfbb6dd6b3743d74fa623fe63de0238ed09d6:

  mtd: rawnand: sunxi_spl: Fix cast to pointer from integer warnings
(2026-01-19 10:25:16 +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/29038


----------------------------------------------------------------
Richard Genoud (24):
      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

 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                       |   3 +-
 drivers/mtd/nand/raw/sunxi_nand.c                  | 304 ++++++++++----------
 drivers/mtd/nand/raw/sunxi_nand.h                  | 228 +++++++++++++++
 drivers/mtd/nand/raw/sunxi_nand_spl.c              | 320 +++++++++++++--------
 12 files changed, 627 insertions(+), 282 deletions(-)
 create mode 100644 drivers/mtd/nand/raw/sunxi_nand.h

Reply via email to