[PATCH 00/24] spi-nand/spi-mem DTR support
Miquel Raynal
miquel.raynal at bootlin.com
Fri Oct 25 09:14:37 PDT 2024
Hello Mark, hello MTD folks,
Here is a (big) series supposed to bring DTR support in SPI-NAND.
I could have split this into two but I eventually preferred showing the
big picture. Once v1 will be over, I can make it two. However when we'll
discuss merging, we'll have to share an immutable tag among the two
subsystems.
Here is the logic:
* patches 1 & 2 add support for spi-mem operations with a specific
frequency limitation. This is not only related to DTR support, because
as you can see I could use this to support basic features in the
Winbond driver.
* patches 3-16 are going through all the easy controller drivers, where
effectively supporting these per-operation limitation was easy to
do. In practice, I believe all controllers can, but software is
sometimes the limiting factor. All controllers without spi-mem support
will gracefully handle the request (provided that they already care
about the maximum speed of course), and all the updated controllers in
this series will also handle the situation correctly. For the others,
it's an opt-in parameter, so they will simply refuse the operation
during the checks_op/supports_op() phase.
* patches 17-19 make use of this new possibility to fix Winbond support
* patches 20-24 are actually adding DTR support in SPI-NAND, and making
this feature useful with Winbond chips.
Thanks,
Miquèl
Miquel Raynal (24):
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: 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
mtd: spinand: Create distinct fast and slow read from cache variants
mtd: spinand: Add an optional frequency to read from cache macros
mtd: spinand: winbond: Fix the *JW chip definitions
spi: spi-mem: Reorder SPI_MEM_OP_CMD internals
spi: spi-mem: Create macros for DTR operation
mtd: spinand: Add support for read DTR operations
mtd: spinand: winbond: Add comment about naming
mtd: spinand: winbond: Add support for DTR operations
drivers/mtd/nand/spi/alliancememory.c | 4 +-
drivers/mtd/nand/spi/ato.c | 4 +-
drivers/mtd/nand/spi/esmt.c | 4 +-
drivers/mtd/nand/spi/foresee.c | 4 +-
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/toshiba.c | 4 +-
drivers/mtd/nand/spi/winbond.c | 27 +++++++++++--
drivers/mtd/nand/spi/xtx.c | 4 +-
drivers/spi/spi-amd.c | 10 ++++-
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 | 13 +++++++
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/mtd/spinand.h | 56 +++++++++++++++++++++++++--
include/linux/spi/spi-mem.h | 56 ++++++++++++++++++++++++++-
28 files changed, 282 insertions(+), 68 deletions(-)
--
2.43.0
More information about the linux-mtd
mailing list