Hi all On Tue, Sep 30, 2025 at 2:21 AM Mikhail Kshevetskiy <[email protected]> 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 -- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 [email protected] __________________________________ Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 [email protected] www.amarulasolutions.com

