[PATCH V3 0/4] spi: lpspi: Add Slave Mode support for LPSPI

Clark Wang
2018-12-07T02:50:38Z

Hi Mark,

i.MX LPSPI controller only works in Master mode previously. This patch
series adds support slave mode to LPSPI controller, including:
- Replace all related structure names and object names which is named
"master" with "controller",
- adds SPI slave mode support for i.MX7ulp and i.MX8qm/qxp in PIO mode,
- DT binding updates for slave mode.

Currently SPI Slave mode support patch has the following limitations:
1. The stale data in RXFIFO will be dropped when the Slave does any new
transfer.
2. One transfer can be finished only after all transfer->len data been
transferred to master device
3. Slave device only accepts transfer->len data. Any data longer than
this from master device will be dropped. Any data shorter than this
from master will cause LPSPI to stuck due to mentioned limitation 2.
4. Only PIO transfer is supported in Slave Mode.

Wire connection:
GND, SCK, MISO(to MISO of slave), MOSI(to MOSI of slave), SCS

Change log:
V2:
- Split last version patch into 3 patches, and add the doc update.
V3:
- Add more detailed description in commit message of the second patch.
- Keep the description of "fsl,imx8qxp-spi" in spi-fsl-lpspi.txt in the
fourth patch.

Clark Wang (4):
spi: lpspi: Replace all "master" with "controller"
spi: lpspi: Add slave mode support
spi: lpspi: Let watermark change with send data length
doc: lpspi: Document DT bindings for LPSPI slave mode

.../devicetree/bindings/spi/spi-fsl-lpspi.txt | 4 +
drivers/spi/spi-fsl-lpspi.c | 202 ++++++++++++------
2 files changed, 138 insertions(+), 68 deletions(-)

--
2.17.1