[PATCH v3 0/3] Add multi mode support for omap-mcspi
From: Louis Chauvet
Date: Wed Mar 27 2024 - 04:44:02 EST
This series adds the support for the omap-mcspi multi mode which allows
sending SPI messages with a shorter delay between CS and the message.
One drawback of the multi-mode is that the CS is raised between each word,
so it can only be used with messages containing 1 word transfers and
asking for cs_change. Few devices, like FPGAs, may easily workaround this
limitation.
The first patch removes the current implementation, which is working, but
don't comply with what is asked in the spi transfer (The CS is raised by
the hardware regardless of cs_change state). No drivers or board file use this
implementation upstream.
The second patch adds the implementation of the multi-mode, which complies
with what is asked in the SPI message.
The third patch is the suggested optimization for using MULTI mode in more
situations.
Signed-off-by: Louis Chauvet <louis.chauvet@xxxxxxxxxxx>
---
Changes in v3:
- Fix compilation warnings found with allmodconfig
- Link to v2: https://lore.kernel.org/r/20240223-spi-omap2-mcspi-multi-mode-v2-0-afe94476b9c3@xxxxxxxxxxx
Changes in v2:
- Updated the commit line for the first patch to use the correct format;
- Updated the commit message for the second patch, adding precision on how
the controler works;
- Added the suggestion from Mark Brown to merge multiple transfers word
into one when applicable;
- Link to v1: https://lore.kernel.org/r/20240126-spi-omap2-mcspi-multi-mode-v1-0-d143d33f0fe0@xxxxxxxxxxx
---
Louis Chauvet (3):
spi: spi-omap2-mcspi.c: revert "Toggle CS after each word"
spi: omap2-mcspi: Add support for MULTI-mode
spi: omap2-mcpsi: Enable MULTI-mode in more situations
drivers/spi/spi-omap2-mcspi.c | 95 +++++++++++++++++++++------
include/linux/platform_data/spi-omap2-mcspi.h | 3 -
2 files changed, 74 insertions(+), 24 deletions(-)
---
base-commit: 4cece764965020c22cff7665b18a012006359095
change-id: 20240126-spi-omap2-mcspi-multi-mode-e62f68b78ad3
Best regards,
--
Louis Chauvet <louis.chauvet@xxxxxxxxxxx>