RE: [PATCH v6 0/2] add support for Cadence's XSPI controller
From: Parshuram Raju Thombare
Date: Sun Sep 19 2021 - 03:42:22 EST
Please ignore this patch series.
Regards,
Parshuram Thombare
>-----Original Message-----
>From: Parshuram Thombare <pthombar@xxxxxxxxxxx>
>Sent: Sunday, September 19, 2021 1:09 PM
>To: broonie@xxxxxxxxxx; lukas@xxxxxxxxx; p.yadav@xxxxxx;
>robh+dt@xxxxxxxxxx
>Cc: linux-spi@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx; Jayshri Dajiram Pawar <jpawar@xxxxxxxxxxx>; Milind
>Parab <mparab@xxxxxxxxxxx>; Parshuram Raju Thombare
><pthombar@xxxxxxxxxxx>
>Subject: [PATCH v6 0/2] add support for Cadence's XSPI controller
>
>This patch series adds support for Cadence's XSPI controller.
>It supports 3 work modes.
>1. ACMD (auto command) work mode
> ACMD name is because it uses auto command engine in the controller.
> It further has 2 modes PIO and CDMA (command DMA).
> The CDMA work mode is dedicated for high-performance application
> where very low software overhead is required. In this mode the
> Command Engine is programmed by the series of linked descriptors
> stored in system memory. These descriptors provide commands to execute
> and store status information for finished commands.
> The PIO mode work mode is dedicated for single operation where
> constructing a linked list of descriptors would require too
> much effort.
>2. STIG (Software Triggered Instruction Generator) work mode
> In STIG mode, controller sends low-level instructions to memory.
> Each instruction is 128-bit width. There is special instruction
> DataSequence which carries information about data phase.
> Driver uses Slave DMA interface to transfer data as only this
> interface can be used in STIG work mode.
>3. Direct work mode
> This work mode allows sending data without invoking any command through
> the slave interface.
>Currently only STIG work mode is enabled, remaining work modes will
>be added later.
>
>Changes since v5:
>1. Added adjust_op_size to adjust op size according to sdma size.
>
>Changes since v4:
>1. Changed reg region names and lengths as suggested by Rob.
>
>Changes since v3:
>1. Removed ACMD PIO mode.
>2. Return IRQ_HANDLED only for handled interrupts.
>3. DT binding changes.
>
>Changes since v2:
>1. Removed extra lock around exec_op.
>2. Removed PHY parameters setting from the driver, those will be
> handled by bootstrap pins available in the controller.
>
>Changes since v1:
>1. Use ACMD PIO work mode for NOR read, program and erase operations,
> for everything else use STIG(Software Triggered Instruction
> Generator) work mode.
>2. Changes suggested by Lukas.
>
>Parshuram Thombare (2):
> spi: cadence: add dt-bindings documentation for Cadence XSPI
> controller
> spi: cadence: add support for Cadence XSPI controller
>
> .../devicetree/bindings/spi/cdns,xspi.yaml | 77 +++
> drivers/spi/Kconfig | 12 +
> drivers/spi/Makefile | 1 +
> drivers/spi/spi-cadence-xspi.c | 639 +++++++++++++++++++++
> 4 files changed, 729 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/spi/cdns,xspi.yaml
> create mode 100644 drivers/spi/spi-cadence-xspi.c
>
>--
>2.7.4