[PATCH 2/3] spi: dt-bindings: cdns,xspi: add ACMD and internal DMA properties

From: Nuno Sá

Date: Thu Oct 29 2026 - 12:02:52 EST


The Cadence xSPI controller supports an auto command (ACMD) mode where
high level sequences (read, program, erase) are handled by the
controller and data can be moved by its internal DMA. Whether ACMD can
be used, and whether the internal DMA bus requester interface is wired,
depends on how the IP is integrated (e.g. external SRAM, interconnect
wiring) and cannot be discovered from the controller.

Add the cdns,has-acmd and cdns,has-internal-dma boolean properties to
describe that. The internal DMA is only used by ACMD, so properly
reflect that.

Signed-off-by: Nuno Sá <nuno.sa@xxxxxxxxxx>
---
Documentation/devicetree/bindings/spi/cdns,xspi.yaml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/Documentation/devicetree/bindings/spi/cdns,xspi.yaml b/Documentation/devicetree/bindings/spi/cdns,xspi.yaml
index 38a5795589de..9708ede79730 100644
--- a/Documentation/devicetree/bindings/spi/cdns,xspi.yaml
+++ b/Documentation/devicetree/bindings/spi/cdns,xspi.yaml
@@ -40,11 +40,29 @@ properties:
interrupts:
maxItems: 1

+ cdns,has-acmd:
+ type: boolean
+ description:
+ The controller supports the auto command (ACMD) mode. The IP may need
+ external hardware (like SRAM) at SoC integration to fully leverage
+ ACMD.
+
+ cdns,has-internal-dma:
+ type: boolean
+ description:
+ The controller internal DMA bus requester interface is wired at SoC
+ integration, so the controller can move ACMD data to and from memory
+ on its own.
+
required:
- compatible
- reg
- interrupts

+dependencies:
+ cdns,has-internal-dma:
+ - cdns,has-acmd
+
allOf:
- $ref: spi-controller.yaml#
- if:

--
2.56.0