[PATCH v7 00/24] mtd: spinand: driver improvements
Mikhail Kshevetskiy
mikhail.kshevetskiy at iopsys.eu
Sun Oct 5 20:19:15 CEST 2025
Hi Michael,
is there any plans of merging it and other my mtd patches to upstream
u-boot?
Regards,
Mikhail Kshevetskiy
On 30.09.2025 11:19, Michael Nazzareno Trimarchi wrote:
> Hi all
>
> On Tue, Sep 30, 2025 at 2:21 AM Mikhail Kshevetskiy
> <mikhail.kshevetskiy at iopsys.eu> wrote:
>> This patch series makes u-boot SPI NAND driver almost the same as in
>> linux-6.17. This provides the following improvements:
>> * it becomes easy to port changes from linux kernel
>> * more flash is supported
>> * spi drivers can accelerate flash reading/writing using spi-mem dirmap API
>> * continuous reading mode was supported (for some flashes)
>> * OTP support was added (for some flashes)
>> * add support of special data recovery reading (for some flashes)
>> * bug fixes
>> * other minor improvements
>>
>> The following linux kernel driver features was not implemented
>> * support of different ECC engines
>> * per operation maximum spi bus frequency
>>
>> The code has been tested on Airoha AN7581 (64-bit) based boards
>> equipped with flash memory Micron MT29F2G01ABAGD
>>
>> Additionally the patch series includes continuous reading mode fixes.
>> The corresponding linux patches were accepted to nand/next branch
>> of mtd/linux.git repository.
>>
>> Changes v2:
>> * update patch description
>> * add fixes for continuous reading mode
>>
>> Changes v3:
>> * fix duplication in patch description
>> * add more information about commits ported from linux kernel
>>
>> Changes v4:
>> * the original authorship was preserved for several patches
>> * the code was synced with the latest shapshot of future linux-6.17-rc1
>> * spi-nand was replaced by spinand in patch description
>> * continuous reading mode fixes were updated
>>
>> Changes v5:
>> * add missed SoB tags
>> * improve patch messages
>> * add tags for patches ported from linux
>> * drop continuous mode fixes (will be sent after corresponding linux fixes)
>>
>> Changes v6:
>> * improve patch messages
>>
>> Changes v7:
>> * patches to fix continuous reading mode was added.
>>
>> Alexander Lobakin (1):
>> mtd: spinand: core: add missing MODULE_DEVICE_TABLE()
>>
>> Cheng Ming Lin (2):
>> mtd: spinand: Add support for setting plane select bits
>> mtd: spinand: Add read retry support
>>
>> Daniel Golle (1):
>> mtd: spinand: set bitflip_threshold to 75% of ECC strength
>>
>> Gabor Juhos (1):
>> mtd: spinand: propagate spinand_wait() errors from
>> spinand_write_page()
>>
>> Mikhail Kshevetskiy (15):
>> spi: spi-mem: Extend SPI MEM ops to match Linux 6.16
>> mtd: spinand: Use the spi-mem dirmap API
>> mtd: spinand: Extend spinand_wait() to match Linux kernel
>> implementation
>> mtd: spinand: Make use of spinand_to_[mtd/nand]() helpers
>> mtd: spinand: Align logic for enabling ECC to match Linux kernel
>> mtd: spinand: Refactor spinand_init* functions
>> mtd: spinand: Refactor ECC/OOB functions
>> mtd: spinand: Sync core code and device support with Linux 6.10
>> mtd: spinand: add support of continuous reading mode
>> mtd: spinand: add OTP support
>> mtd: spinand: Enhance the logic when picking a variant
>> mtd: spinand: Sync core code and device support with Linux 6.17-rc1
>> mtd: spinand: fix direct mapping creation sizes
>> mtd: spinand: try a regular dirmap if creating a dirmap for continuous
>> reading fails
>> mtd: spinand: repeat reading in regular mode if continuous reading
>> fails
>>
>> Miquel Raynal (2):
>> mtd: nand: Add a NAND page I/O request type
>> mtd: spinand: Add a ->configure_chip() hook
>>
>> Takahiro Kuwano (2):
>> mtd: spinand: Remove write_enable_op() in markbad()
>> mtd: spinand: Introduce a way to avoid raw access
>>
>> drivers/mtd/nand/spi/Makefile | 5 +-
>> drivers/mtd/nand/spi/alliancememory.c | 155 ++++
>> drivers/mtd/nand/spi/ato.c | 88 +++
>> drivers/mtd/nand/spi/core.c | 975 +++++++++++++++++++-------
>> drivers/mtd/nand/spi/esmt.c | 123 +++-
>> drivers/mtd/nand/spi/foresee.c | 107 +++
>> drivers/mtd/nand/spi/gigadevice.c | 86 ++-
>> drivers/mtd/nand/spi/macronix.c | 289 ++++++--
>> drivers/mtd/nand/spi/micron.c | 180 ++++-
>> drivers/mtd/nand/spi/otp.c | 369 ++++++++++
>> drivers/mtd/nand/spi/paragon.c | 24 +-
>> drivers/mtd/nand/spi/skyhigh.c | 149 ++++
>> drivers/mtd/nand/spi/toshiba.c | 63 +-
>> drivers/mtd/nand/spi/winbond.c | 361 +++++++++-
>> drivers/mtd/nand/spi/xtx.c | 20 +-
>> drivers/spi/spi-mem.c | 45 +-
>> include/linux/mtd/nand.h | 157 ++++-
>> include/linux/mtd/spinand.h | 374 ++++++++--
>> include/spi-mem.h | 93 ++-
>> 19 files changed, 3154 insertions(+), 509 deletions(-)
>> create mode 100644 drivers/mtd/nand/spi/alliancememory.c
>> create mode 100644 drivers/mtd/nand/spi/ato.c
>> create mode 100644 drivers/mtd/nand/spi/foresee.c
>> create mode 100644 drivers/mtd/nand/spi/otp.c
>> create mode 100644 drivers/mtd/nand/spi/skyhigh.c
>>
>> --
>> 2.51.0
>>
> Long queue but I will pick them today, together with mtd patches
>
> Michael
>
More information about the U-Boot
mailing list