Pull request for nand-13012026
Michael Nazzareno Trimarchi
michael at amarulasolutions.com
Mon Jan 19 11:56:20 CET 2026
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
More information about the U-Boot
mailing list