[GIT PULL] mtd: spi-nor: Changes for 7.4
Michael Walle
mwalle at kernel.org
Wed Oct 21 02:18:03 PDT 2026
The following changes since commit cee9395acd8043be0644b25c34bfa86623f2b935:
Linux 7.3-rc1 (2026-08-30 13:34:40 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/spi-nor/for-7.4
for you to fetch changes up to d7040c620d8b22f839af7750860b96e39cc58b7c:
mtd: spi-nor: sfdp: reduce stack usage in spi_nor_parse_sfdp() (2026-10-16 08:40:48 +0200)
----------------------------------------------------------------
SPI NOR changes for 7.4
Notable changes:
- Support for new Macronix and (lots of) Winbond flash devices
- The addition of the Winbond flashes was accompanied by a big rewrite of the
status register handling. There were many small helper functions to enable
quad I/O mode in many different ways. That's now consolidated in one generic
function.
- The SFPD handling was reworked. It used to be only parsed for flashes present
in the in-kernel database which had any of the multi-I/O bit set - or with the
addition of generic flash driver for any unknown flashes. This left a gap
where SFDP wasn't handled and it turns out newer flashes (with SFDP support)
will reused IDs of just these old flashed. With the rework, SFDP is tried to
be parsed for any flashes and will amend the information which is already
present in the in-kernel database.
- SFDP size limit was increased to 16KiB. There are flashes which have some
larger gaps between tables and thus exceeds the former 4KiB limit.
- Flash fixups are getting more and more common. Due to this, the fixups are now
a separate list (per manufacturer) instead of being attached to a specific
flash. A new .match() callback makes them more flexible, when one is applied.
- 1-1-8 and 1-8-8 modes are now supported with larger flashes which needs 4byte
addresses.
----------------------------------------------------------------
Cheng Ming Lin (3):
mtd: spi-nor: macronix: Document support for additional flash aliases
mtd: spi-nor: Add support for MX25L12833F and MX25L12845G
mtd: spi-nor: macronix: Restore fallback parameters for MX25L12805D
HyeongJun An (2):
mtd: spi-nor: sfdp: check the length of the xSPI Profile 1.0 table
mtd: spi-nor: sfdp: check the length of the SCCR map
Michael Walle (11):
mtd: spi-nor: spansion: s25fl256s0: remove SKIP_SFDP flag
mtd: spi-nor: don't clear the SNOR_F_4B_OPCODES flag on failure
mtd: spi-nor: move cmd_ext_type into spi_nor_flash_parameter
mtd: spi-nor: move flags into spi_nor_flash_parameter
mtd: spi-nor: move spi_nor_post_bfpt_fixups() into sfdp
mtd: spi-nor: spansion: s25fs256t: move ARCFN check into .late_init
mtd: spi-nor: push the rollback mechanism into the sfdp module
mtd: spi-nor: rework flash parameter initialization
mtd: spi-nor: xmc: add locking to XM25QH128A
mtd: spi-nor: sfdp: fix missing kernel-doc
mtd: spi-nor: sfdp: reduce stack usage in spi_nor_parse_sfdp()
Miquel Raynal (78):
mtd: spi-nor: Unprepare legacy controllers upon RWW wait interruption
mtd: spi-nor: Fix spacing in function call
mtd: spi-nor: Garbage collection during sfdp parsing
mtd: spi-nor: Init flags before manufacturer late_init() hooks
mtd: spi-nor: winbond: Move W25Q01NW to its right place
mtd: spi-nor: winbond: Normalize names
mtd: spi-nor: winbond: Properly document the chip names
mtd: spi-nor: winbond: Make the RDCR fixup Winbond wide
mtd: spi-nor: winbond: W25Q32JV-Q/N: Add quad page program capability
mtd: spi-nor: winbond: W25Q64JV-Q/N: Add quad page program capability
mtd: spi-nor: winbond: W25Q128JV-Q/N: Add quad page program capability
mtd: spi-nor: winbond: W25Q32JV-M: Add quad page program capability
mtd: spi-nor: winbond: W25Q64JV-M: Add quad page program capability
mtd: spi-nor: winbond: W25Q128JV-M: Add quad page program capability
mtd: spi-nor: winbond: W25QxxJV-Q/N/M: Add quad page program capability
mtd: spi-nor: winbond: W25Q32JV-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q64JV-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q128JV-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q512JV-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q01JV-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q32JV-M: Fill locking information
mtd: spi-nor: winbond: W25Q64JV-M: Fill locking information
mtd: spi-nor: winbond: W25Q128JV-M: Fill locking information
mtd: spi-nor: winbond: W25Q02JV-M: Fill locking information
mtd: spi-nor: winbond: W25QxxJV-Q/N/M: Fill locking information
mtd: spi-nor: winbond: W25Q512JV-M: New chip
mtd: spi-nor: winbond: W25Q01JV-M: New chip
mtd: spi-nor: Rename BFPT_DWORD15_QER_SR2_BIT1_BUGGY
mtd: spi-nor: Create a structure containing the flash opcodes
mtd: spi-nor: Refactor Read Status/Write Status support
mtd: spi-nor: Add support for the new JESD216 rev F QER field
mtd: spi-nor: Create the concept of fixup table with match function
mtd: spi-nor: Move the fixup flags into the fixup list
mtd: spi-nor: Create an indirection on the part name
mtd: spi-nor: Move the SFDP header structure to a C header
mtd: spi-nor: winbond: Prepare introduction of W25QxxRV-Q/N parts
mtd: spi-nor: winbond: Add support for W25Q32RV-Q/N
mtd: spi-nor: winbond: Add support for W25Q64RV-Q/N
mtd: spi-nor: winbond: Add support for W25Q12RV-Q/N
mtd: spi-nor: winbond: Add support for W25Q25RV-Q/N
mtd: spi-nor: winbond: Add support for W25Q51RV-Q/N
mtd: spi-nor: winbond: Add support for W25Q01RV-Q/N
mtd: spi-nor: winbond: Add support for W25Q02RV-Q/N
mtd: spi-nor: winbond: Prepare introduction of W25QxxRV-M parts
mtd: spi-nor: winbond: Add support for W25Q32RV-M
mtd: spi-nor: winbond: Add support for W25Q64RV-M
mtd: spi-nor: winbond: Add support for W25Q12RV-M
mtd: spi-nor: winbond: Add support for W25Q25RV-M
mtd: spi-nor: winbond: Add support for W25Q51RV-M
mtd: spi-nor: winbond: Add support for W25Q01RV-M
mtd: spi-nor: winbond: Add support for W25Q02RV-M
mtd: spi-nor: debugfs: Expose SR opcodes and QE mask
mtd: spi-nor: Fix quad-enable for flashes with QER bit in SR1
mtd: spi-nor: winbond: W25Q32xW-Q/N: Enhance identification of the chips
mtd: spi-nor: winbond: W25Q64xW-Q/N: Enhance identification of the chips
mtd: spi-nor: winbond: W25Q32xW-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q64xW-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q128JW-Q/N: Fill locking information
mtd: spi-nor: winbond: W25Q32JW-M: Fill locking information
mtd: spi-nor: winbond: W25Q64JW-M: Fill locking information
mtd: spi-nor: winbond: W25Q128JW-M: Fill locking information
mtd: spi-nor: winbond: W25Q256JW-Q/N/M: Fill locking information
mtd: spi-nor: winbond: W25Q32JW-Q/N: Add quad page program capability
mtd: spi-nor: winbond: W25Q64JW-Q/N: Add quad page program capability
mtd: spi-nor: winbond: W25Q128JW-Q/N: Add quad page program capability
mtd: spi-nor: winbond: W25Q32JW-M: Add quad page program capability
mtd: spi-nor: winbond: W25Q64JW-M: Add quad page program capability
mtd: spi-nor: winbond: W25Q128JW-M: Add quad page program capability
mtd: spi-nor: winbond: Prepare introduction of W25QxxPW-Q/N parts
mtd: spi-nor: winbond: Add support for W25Q33PW-Q/N
mtd: spi-nor: winbond: Add support for W25Q64PW-Q/N
mtd: spi-nor: winbond: Add support for W25Q12PW-Q/N
mtd: spi-nor: winbond: Add support for W25Q25PW-Q/N
mtd: spi-nor: winbond: Prepare introduction of W25QxxPW-M parts
mtd: spi-nor: winbond: Add support for W25Q33PW-M
mtd: spi-nor: winbond: Add support for W25Q64PW-M
mtd: spi-nor: winbond: Add support for W25Q12PW-M
mtd: spi-nor: winbond: Add support for W25Q25PW-M
Nuno Sá (1):
mtd: spi-nor: sfdp: get the 1-1-8 and 1-8-8 page programs from 4BAIT
Takahiro Kuwano (4):
mtd: spi-nor: remove unused NO_OP_CHIP_ERASE flag
mtd: spi-nor: spansion: Remove s25fs256s0
mtd: spi-nor: spansion: Assign .fixups to s25fs256s1
mtd: spi-nor: sfdp: Increase SFDP data size limit to 16 KiB
Documentation/driver-api/mtd/spi-nor.rst | 2 +-
drivers/mtd/spi-nor/atmel.c | 73 ++-
drivers/mtd/spi-nor/core.c | 869 ++++++++++++-------------------
drivers/mtd/spi-nor/core.h | 144 ++---
drivers/mtd/spi-nor/debugfs.c | 33 +-
drivers/mtd/spi-nor/everspin.c | 7 +-
drivers/mtd/spi-nor/gigadevice.c | 15 +-
drivers/mtd/spi-nor/issi.c | 29 +-
drivers/mtd/spi-nor/macronix.c | 73 ++-
drivers/mtd/spi-nor/micron-st.c | 70 ++-
drivers/mtd/spi-nor/otp.c | 16 +-
drivers/mtd/spi-nor/sfdp.c | 284 +++++++---
drivers/mtd/spi-nor/sfdp.h | 23 +-
drivers/mtd/spi-nor/spansion.c | 109 ++--
drivers/mtd/spi-nor/sst.c | 16 +-
drivers/mtd/spi-nor/swp.c | 133 ++---
drivers/mtd/spi-nor/sysfs.c | 4 +-
drivers/mtd/spi-nor/winbond.c | 320 +++++++++---
drivers/mtd/spi-nor/xmc.c | 1 +
include/linux/mtd/spi-nor.h | 10 +-
20 files changed, 1249 insertions(+), 982 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 297 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20261021/d1bb17a8/attachment-0001.sig>
More information about the linux-mtd
mailing list