Message ID | 20241023-dlech-mainline-spi-engine-offload-2-v4-8-f8125b99f5a1@baylibre.com |
---|---|
State | New |
Headers | show |
Series | spi: axi-spi-engine: add offload support | expand |
On Wed, 2024-10-23 at 15:59 -0500, David Lechner wrote: > The AXI SPI Engine has support for hardware offloading capabilities. > This includes a connection to a DMA controller for streaming RX data > and a trigger input for starting execution of the SPI message programmed > in the offload. > > Signed-off-by: David Lechner <dlechner@baylibre.com> > --- > v4 changes: > * Dropped #spi-offload-cells property. > * Changed subject line. > > v3 changes: > * Added #spi-offload-cells property. > * Added properties for triggers and RX data stream connected to DMA. > > v2 changes: > > This is basically a new patch. It partially replaces "dt-bindings: iio: > offload: add binding for PWM/DMA triggered buffer". > > The controller no longer has an offloads object node and the > spi-offloads property is now a standard SPI peripheral property. > --- > .../bindings/spi/adi,axi-spi-engine.yaml | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml > b/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml > index d48faa42d025..5281b4871209 100644 > --- a/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml > +++ b/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml > @@ -41,6 +41,24 @@ properties: > - const: s_axi_aclk > - const: spi_clk > > + trigger-sources: > + description: > + An array of trigger source phandles for offload instances. The index in > + the array corresponds to the offload instance number. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + > + dmas: > + description: > + DMA channels connected to the output stream interface of an offload > instance. > + minItems: 1 > + maxItems: 32 > + > + dma-names: > + minItems: 1 > + maxItems: 32 > + items: > + pattern: "^offload(?:[12]?[0-9]|3[01])-rx$" I think the core is already capable of tx offload? If so, we could already have that in the bindings. - Nuno Sá
diff --git a/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml b/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml index d48faa42d025..5281b4871209 100644 --- a/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml +++ b/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml @@ -41,6 +41,24 @@ properties: - const: s_axi_aclk - const: spi_clk + trigger-sources: + description: + An array of trigger source phandles for offload instances. The index in + the array corresponds to the offload instance number. + $ref: /schemas/types.yaml#/definitions/phandle-array + + dmas: + description: + DMA channels connected to the output stream interface of an offload instance. + minItems: 1 + maxItems: 32 + + dma-names: + minItems: 1 + maxItems: 32 + items: + pattern: "^offload(?:[12]?[0-9]|3[01])-rx$" + required: - compatible - reg @@ -59,6 +77,10 @@ examples: clocks = <&clkc 15>, <&clkc 15>; clock-names = "s_axi_aclk", "spi_clk"; + trigger-sources = <&trigger_clock>; + dmas = <&dma 0>; + dma-names = "offload0-rx"; + #address-cells = <1>; #size-cells = <0>;
The AXI SPI Engine has support for hardware offloading capabilities. This includes a connection to a DMA controller for streaming RX data and a trigger input for starting execution of the SPI message programmed in the offload. Signed-off-by: David Lechner <dlechner@baylibre.com> --- v4 changes: * Dropped #spi-offload-cells property. * Changed subject line. v3 changes: * Added #spi-offload-cells property. * Added properties for triggers and RX data stream connected to DMA. v2 changes: This is basically a new patch. It partially replaces "dt-bindings: iio: offload: add binding for PWM/DMA triggered buffer". The controller no longer has an offloads object node and the spi-offloads property is now a standard SPI peripheral property. --- .../bindings/spi/adi,axi-spi-engine.yaml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)