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

From: Nuno Sá

Date: Fri Oct 30 2026 - 06:03:36 EST


On Thu, Oct 29, 2026 at 06:31:00PM +0000, Conor Dooley wrote:
> On Thu, Oct 29, 2026 at 04:03:17PM +0000, Nuno Sá wrote:
> > 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.
>
> Why would these properties be needed? What the controller support surely
> can be determined from the specific compatible for the SoC integration?

Alright, I'm more used to describe peripherals than this kind of IPs but
I imagined that these being properties of the IP that would make sense
to describe them in binding. Ok, but I sees this leaves the door
open to just add properties in integrations that would not make sense
and if we're going to have any compatible conditional kind of handling,
I guess it makes them pointless.

- Nuno Sá

>
> >
> > 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
> >