[GIT PULL] mtd: NAND changes for 6.14

Miquel Raynal miquel.raynal at bootlin.com
Thu Jan 23 14:57:04 PST 2025


Hello,

This is the NAND PR for 6.14.

Thanks,
Miquèl

The following changes since commit 9d89551994a430b50c4fffcb1e617a057fa76e20:

  Linux 6.13-rc6 (2025-01-05 14:13:40 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/nand/for-6.14

for you to fetch changes up to 98b34d52004b5a35db1c1b2c2133f52d67bede0f:

  mtd: spinand: skyhigh: Align with recent read from cache variant changes (2025-01-20 09:16:15 +0100)

----------------------------------------------------------------
* Raw NAND changes

A new controller driver, from Nuvoton, has been merged.

Bastien Curutchet has contributed a series improving the Davinci
controller driver, both on the organization of the code, but also on the
performance side. The binding has also been converted to yaml, received
a new OOB layout and now supports on-die ECC engines.

The Qualcomm controller driver has been deeply cleaned to extract some
parts of the code into a shared file with the Qualcomm SPI memory
controller.

Aside from these main changes, the Cadence binding has been converted to
yaml, the brcmnand controller driver has received a small fix, otherwise
some more minor changes have also made their way in.

* SPI NAND changes

The SPI NAND subsystem has seen a great improvement, with the advent of
DTR operations (DDR operations, which may be extended to the address
cycles). The first vendor driver to benefit from these improvements is
the Winbond driver.

A new manufacturer driver is added SkyHigh, with a new constraint for
the core, it is impossible to disable the on-die ECC engine.

A Foresee device is also now supported.

----------------------------------------------------------------
Bastien Curutchet (10):
      memory: ti-aemif: Store timings parameter in number of cycles - 1
      memory: ti-aemif: Remove unnecessary local variables
      memory: ti-aemif: Wrap CS timings into a struct
      memory: ti-aemif: Create aemif_check_cs_timings()
      memory: ti-aemif: Create aemif_set_cs_timings()
      memory: ti-aemif: Export aemif_*_cs_timings()
      mtd: rawnand: davinci: Always depends on TI_AEMIF
      mtd: rawnand: davinci: Add clock resource
      mtd: rawnand: davinci: Implement setup_interface() operation
      mtd: rawnand: davinci: Reduce polling interval in NAND_OP_WAITRDY_INSTR

Bohdan Chubuk (1):
      mtd: spinand: add support for FORESEE F35SQA001G

Hui-Ping Chen (2):
      dt-bindings: mtd: nuvoton,ma35d1-nand: add new bindings
      mtd: rawnand: nuvoton: add new driver for the Nuvoton MA35 SoC

Ivan Stepchenko (1):
      mtd: onenand: Fix uninitialized retlen in do_otp_read()

Marcus Folkesson (3):
      dt-bindings: mtd: davinci: convert to yaml
      mtd: nand: davinci: add support for on-die ECC engine type
      mtd: rawnand: davinci: add ROM supported OOB layout

Md Sadre Alam (5):
      mtd: rawnand: qcom: cleanup qcom_nandc driver
      mtd: rawnand: qcom: Add qcom prefix to common api
      mtd: nand: Add qpic_common API file
      mtd: rawnand: qcom: use FIELD_PREP and GENMASK
      mtd: rawnand: qcom: Fix build issue on x86 architecture

Miquel Raynal (31):
      Merge tag 'memory-controller-drv-ti-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into nand/next
      Merge tag 'mtd/qcom-reorg-for-spi-6.14' into nand/next
      spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency
      spi: spi-mem: Add a new controller capability
      spi: amd: Support per spi-mem operation frequency switches
      spi: amd: Drop redundant check
      spi: amlogic-spifc-a1: Support per spi-mem operation frequency switches
      spi: cadence-qspi: Support per spi-mem operation frequency switches
      spi: dw: Support per spi-mem operation frequency switches
      spi: fsl-qspi: Support per spi-mem operation frequency switches
      spi: microchip-core-qspi: Support per spi-mem operation frequency switches
      spi: mt65xx: Support per spi-mem operation frequency switches
      spi: mxic: Support per spi-mem operation frequency switches
      spi: nxp-fspi: Support per spi-mem operation frequency switches
      spi: rockchip-sfc: Support per spi-mem operation frequency switches
      spi: spi-sn-f-ospi: Support per spi-mem operation frequency switches
      spi: spi-ti-qspi: Support per spi-mem operation frequency switches
      spi: zynq-qspi: Support per spi-mem operation frequency switches
      spi: zynqmp-gqspi: Support per spi-mem operation frequency switches
      spi: spi-mem: Reorder spi-mem macro assignments
      spi: spi-mem: Create macros for DTR operation
      spi: spi-mem: Estimate the time taken by operations
      Merge tag 'spi-mem-dtr-2' into nand/next
      mtd: spinand: Create distinct fast and slow read from cache variants
      mtd: spinand: Add an optional frequency to read from cache macros
      mtd: spinand: Enhance the logic when picking a variant
      mtd: spinand: Add support for read DTR operations
      mtd: spinand: winbond: Update the *JW chip definitions
      mtd: spinand: winbond: Add comment about naming
      mtd: spinand: winbond: Add support for DTR operations
      mtd: spinand: skyhigh: Align with recent read from cache variant changes

Nathan Chancellor (1):
      spi: amd: Fix -Wuninitialized in amd_spi_exec_mem_op()

Niravkumar L Rabara (1):
      dt-bindings: mtd: cadence: convert cadence-nand-controller.txt to yaml

Takahiro Kuwano (3):
      mtd: spinand: Remove write_enable_op() in markbad()
      mtd: spinand: Introduce a way to avoid raw access
      mtd: spinand: Add support for SkyHigh S35ML-3 family

david regan (1):
      mtd: rawnand: brcmnand: fix status read of brcmnand_waitfunc

 Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt |   53 ----
 Documentation/devicetree/bindings/mtd/cdns,hp-nfc.yaml            |   75 +++++
 Documentation/devicetree/bindings/mtd/davinci-nand.txt            |   94 ------
 Documentation/devicetree/bindings/mtd/nuvoton,ma35d1-nand.yaml    |   95 ++++++
 Documentation/devicetree/bindings/mtd/ti,davinci-nand.yaml        |  124 ++++++++
 MAINTAINERS                                                       |    2 +-
 drivers/memory/ti-aemif.c                                         |  192 +++++++-----
 drivers/mtd/nand/Makefile                                         |    2 +-
 drivers/mtd/nand/onenand/onenand_base.c                           |    1 +
 drivers/mtd/nand/qpic_common.c                                    |  759 ++++++++++++++++++++++++++++++++++++++++++++
 drivers/mtd/nand/raw/Kconfig                                      |   12 +-
 drivers/mtd/nand/raw/Makefile                                     |    1 +
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                          |    5 +
 drivers/mtd/nand/raw/davinci_nand.c                               |  137 +++++++-
 drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c             | 1029 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/mtd/nand/raw/qcom_nandc.c                                 | 1769 +++++++++++++++++++------------------------------------------------------------------------------------
 drivers/mtd/nand/spi/Makefile                                     |    2 +-
 drivers/mtd/nand/spi/alliancememory.c                             |    4 +-
 drivers/mtd/nand/spi/ato.c                                        |    4 +-
 drivers/mtd/nand/spi/core.c                                       |   40 ++-
 drivers/mtd/nand/spi/esmt.c                                       |    4 +-
 drivers/mtd/nand/spi/foresee.c                                    |   14 +-
 drivers/mtd/nand/spi/gigadevice.c                                 |   16 +-
 drivers/mtd/nand/spi/macronix.c                                   |    4 +-
 drivers/mtd/nand/spi/micron.c                                     |    8 +-
 drivers/mtd/nand/spi/paragon.c                                    |    4 +-
 drivers/mtd/nand/spi/skyhigh.c                                    |  147 +++++++++
 drivers/mtd/nand/spi/toshiba.c                                    |    4 +-
 drivers/mtd/nand/spi/winbond.c                                    |   27 +-
 drivers/mtd/nand/spi/xtx.c                                        |    4 +-
 drivers/spi/spi-amd.c                                             |   26 +-
 drivers/spi/spi-amlogic-spifc-a1.c                                |    7 +-
 drivers/spi/spi-cadence-quadspi.c                                 |    3 +-
 drivers/spi/spi-dw-core.c                                         |   10 +-
 drivers/spi/spi-fsl-qspi.c                                        |   12 +-
 drivers/spi/spi-mem.c                                             |   64 ++++
 drivers/spi/spi-microchip-core-qspi.c                             |   26 +-
 drivers/spi/spi-mt65xx.c                                          |    7 +-
 drivers/spi/spi-mxic.c                                            |    3 +-
 drivers/spi/spi-nxp-fspi.c                                        |   12 +-
 drivers/spi/spi-rockchip-sfc.c                                    |   11 +-
 drivers/spi/spi-sn-f-ospi.c                                       |    8 +-
 drivers/spi/spi-ti-qspi.c                                         |    7 +-
 drivers/spi/spi-zynq-qspi.c                                       |   13 +-
 drivers/spi/spi-zynqmp-gqspi.c                                    |   13 +-
 include/linux/memory/ti-aemif.h                                   |   32 ++
 include/linux/mtd/nand-qpic-common.h                              |  478 ++++++++++++++++++++++++++++
 include/linux/mtd/spinand.h                                       |   60 +++-
 include/linux/spi/spi-mem.h                                       |   56 +++-
 49 files changed, 3718 insertions(+), 1762 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt
 create mode 100644 Documentation/devicetree/bindings/mtd/cdns,hp-nfc.yaml
 delete mode 100644 Documentation/devicetree/bindings/mtd/davinci-nand.txt
 create mode 100644 Documentation/devicetree/bindings/mtd/nuvoton,ma35d1-nand.yaml
 create mode 100644 Documentation/devicetree/bindings/mtd/ti,davinci-nand.yaml
 create mode 100644 drivers/mtd/nand/qpic_common.c
 create mode 100644 drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c
 create mode 100644 drivers/mtd/nand/spi/skyhigh.c
 create mode 100644 include/linux/memory/ti-aemif.h
 create mode 100644 include/linux/mtd/nand-qpic-common.h



More information about the linux-mtd mailing list