Message ID | 20241211-dlech-mainline-spi-engine-offload-2-v6-6-88ee574d5d03@baylibre.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | spi: axi-spi-engine: add offload support | expand |
On Wed, 11 Dec 2024 14:54:43 -0600 David Lechner <dlechner@baylibre.com> wrote: > The AXI SPI Engine has support for hardware offloading capabilities. > This includes a connection to a DMA controller for streaming RX or TX > data and a trigger input for starting execution of the SPI message > programmed in the offload. It is designed to support up to 32 offload > instances. > > Signed-off-by: David Lechner <dlechner@baylibre.com> I briefly thought about suggesting some docs for the dma channel naming but meh, that's just the pattern stuff confusing me. The actual strings are pretty self documenting. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
On Wed, 11 Dec 2024 14:54:43 -0600, David Lechner wrote: > The AXI SPI Engine has support for hardware offloading capabilities. > This includes a connection to a DMA controller for streaming RX or TX > data and a trigger input for starting execution of the SPI message > programmed in the offload. It is designed to support up to 32 offload > instances. > > Signed-off-by: David Lechner <dlechner@baylibre.com> > --- > > v6 changes: > * Drop type $ref for trigger-sources property since it is defined > elsewhere now > * Undo v5 changes that limited the number of offloads to 1 > > v5 changes: > * Also document offload0-tx DMA names since the hardware can support > that now. > * Limit the number of offloads to 1 for now since it would require > significant hardware changes to actually support more than that. > > 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 | 24 ++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml b/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml index d48faa42d025b07d72baa61f8946f42acbaf47dc..4b3828eda6cb4c5524570f00033b081a6e027b09 100644 --- a/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml +++ b/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml @@ -41,6 +41,26 @@ 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. + minItems: 1 + maxItems: 32 + + dmas: + description: + DMA channels connected to the input or output stream interface of an + offload instance. + minItems: 1 + maxItems: 32 + + dma-names: + items: + pattern: "^offload(?:[12]?[0-9]|3[01])-[tr]x$" + minItems: 1 + maxItems: 32 + required: - compatible - reg @@ -59,6 +79,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 or TX data and a trigger input for starting execution of the SPI message programmed in the offload. It is designed to support up to 32 offload instances. Signed-off-by: David Lechner <dlechner@baylibre.com> --- v6 changes: * Drop type $ref for trigger-sources property since it is defined elsewhere now * Undo v5 changes that limited the number of offloads to 1 v5 changes: * Also document offload0-tx DMA names since the hardware can support that now. * Limit the number of offloads to 1 for now since it would require significant hardware changes to actually support more than that. 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 | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+)