Skip to contentSkip to conversation

mtd: NAND changes for 6.14

GIT PULL Miquel Raynal 1 participant 2 messages Jan 23, 2025 – Jan 24, 2025 Memory technology devices (MTD)

lore
Share & tools
lore

Miquel Raynal

author maintainer
#0 lore raw

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

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/