mtd: spinand: Add octal support
From: | Miquel Raynal <miquel.raynal-AT-bootlin.com> | |
To: | Richard Weinberger <richard-AT-nod.at>, Vignesh Raghavendra <vigneshr-AT-ti.com>, Santhosh Kumar K <s-k6-AT-ti.com> | |
Subject: | [PATCH v2 00/19] mtd: spinand: Add octal support | |
Date: | Thu, 03 Apr 2025 11:19:10 +0200 | |
Message-ID: | <20250403-winbond-6-14-rc1-octal-v2-0-7846bd88fe83@bootlin.com> | |
Cc: | Tudor Ambarus <tudor.ambarus-AT-linaro.org>, Pratyush Yadav <pratyush-AT-kernel.org>, Michael Walle <michael-AT-walle.cc>, Thomas Petazzoni <thomas.petazzoni-AT-bootlin.com>, Steam Lin <stlin2-AT-winbond.com>, linux-mtd-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, Miquel Raynal <miquel.raynal-AT-bootlin.com> | |
Archive-link: | Article |
spi-mem and SPI NOR already have octal support, but there are octal SPI NAND chips as well, which will be supported after this series. For now we focus on SDR modes or mixed modes, where the opcode indicates the content of the operation. Support for three Winbond chips is added: W35NxxJW (xx: 01, 02, 04). The series is mostly split into two parts: - Renaming the op macros to clearly indicate the number of lines and whether each subpart of the operation is SDR or DTR, in order to clarify them. This has been discussed and agreed upon with Tudor in a previous discussion: https://lore.kernel.org/linux-mtd/4ca13ef9-062f-4952-9588... - Adding support for the various octal operations which can be supported and using them in the Winbond driver. --- Changes in v2: - Collected tags. - Squashed and re-organized the order of some patches following the discussion with Tudor. - Link to v1: https://lore.kernel.org/r/20250307-winbond-6-14-rc1-octal... --- Miquel Raynal (19): mtd: spinand: Use more specific naming for the reset op mtd: spinand: Use more specific naming for the write enable/disable op mtd: spinand: Use more specific naming for the read ID op mtd: spinand: Use more specific naming for the get/set feature ops mtd: spinand: Use more specific naming for the erase op mtd: spinand: Use more specific naming for the page read op mtd: spinand: Use more specific naming for the (single) read from cache ops mtd: spinand: Use more specific naming for the (dual output) read from cache ops mtd: spinand: Use more specific naming for the (dual IO) read from cache ops mtd: spinand: Use more specific naming for the (quad output) read from cache ops mtd: spinand: Use more specific naming for the (quad IO) read from cache ops mtd: spinand: Use more specific naming for the program execution op mtd: spinand: Use more specific naming for the (single) program load op mtd: spinand: Use more specific naming for the (quad) program load op mtd: spinand: Define octal operations mtd: spinand: winbond: Rename DTR variants mtd: spinand: winbond: Add support for W35N01JW in single mode mtd: spinand: winbond: Add octal support mtd: spinand: winbond: Add support for W35N02JW and W35N04JW chips drivers/mtd/nand/spi/alliancememory.c | 20 +++--- drivers/mtd/nand/spi/ato.c | 14 ++-- drivers/mtd/nand/spi/core.c | 18 ++--- drivers/mtd/nand/spi/esmt.c | 16 ++--- drivers/mtd/nand/spi/foresee.c | 16 ++--- drivers/mtd/nand/spi/gigadevice.c | 60 ++++++++-------- drivers/mtd/nand/spi/macronix.c | 16 ++--- drivers/mtd/nand/spi/micron.c | 34 ++++----- drivers/mtd/nand/spi/paragon.c | 20 +++--- drivers/mtd/nand/spi/skyhigh.c | 20 +++--- drivers/mtd/nand/spi/toshiba.c | 22 +++--- drivers/mtd/nand/spi/winbond.c | 128 +++++++++++++++++++++++++++------- drivers/mtd/nand/spi/xtx.c | 20 +++--- include/linux/mtd/spinand.h | 121 ++++++++++++++++++++------------ 14 files changed, 318 insertions(+), 207 deletions(-) --- base-commit: fec9f7d6629901decc7b4ecb6170913c02c2f213 change-id: 20250214-winbond-6-14-rc1-octal-6f7db6be0204 Best regards, -- Miquel Raynal <miquel.raynal@bootlin.com>