xref: /linux/Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
1252eafe1SDavid Lechner# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2252eafe1SDavid Lechner%YAML 1.2
3252eafe1SDavid Lechner---
4252eafe1SDavid Lechner$id: http://devicetree.org/schemas/spi/adi,axi-spi-engine.yaml#
5252eafe1SDavid Lechner$schema: http://devicetree.org/meta-schemas/core.yaml#
6252eafe1SDavid Lechner
7252eafe1SDavid Lechnertitle: Analog Devices AXI SPI Engine Controller
8252eafe1SDavid Lechner
9252eafe1SDavid Lechnerdescription: |
10252eafe1SDavid Lechner  The AXI SPI Engine controller is part of the SPI Engine framework[1] and
11252eafe1SDavid Lechner  allows memory mapped access to the SPI Engine control bus. This allows it
12252eafe1SDavid Lechner  to be used as a general purpose software driven SPI controller as well as
13252eafe1SDavid Lechner  some optional advanced acceleration and offloading capabilities.
14252eafe1SDavid Lechner
15252eafe1SDavid Lechner  [1] https://wiki.analog.com/resources/fpga/peripherals/spi_engine
16252eafe1SDavid Lechner
17252eafe1SDavid Lechnermaintainers:
18252eafe1SDavid Lechner  - Michael Hennerich <Michael.Hennerich@analog.com>
19252eafe1SDavid Lechner  - Nuno Sá <nuno.sa@analog.com>
20252eafe1SDavid Lechner
21252eafe1SDavid LechnerallOf:
22252eafe1SDavid Lechner  - $ref: /schemas/spi/spi-controller.yaml#
23252eafe1SDavid Lechner
24252eafe1SDavid Lechnerproperties:
25252eafe1SDavid Lechner  compatible:
26252eafe1SDavid Lechner    const: adi,axi-spi-engine-1.00.a
27252eafe1SDavid Lechner
28252eafe1SDavid Lechner  reg:
29252eafe1SDavid Lechner    maxItems: 1
30252eafe1SDavid Lechner
31252eafe1SDavid Lechner  interrupts:
32252eafe1SDavid Lechner    maxItems: 1
33252eafe1SDavid Lechner
34252eafe1SDavid Lechner  clocks:
35252eafe1SDavid Lechner    items:
36252eafe1SDavid Lechner      - description: The AXI interconnect clock.
37252eafe1SDavid Lechner      - description: The SPI controller clock.
38252eafe1SDavid Lechner
39252eafe1SDavid Lechner  clock-names:
40252eafe1SDavid Lechner    items:
41252eafe1SDavid Lechner      - const: s_axi_aclk
42252eafe1SDavid Lechner      - const: spi_clk
43252eafe1SDavid Lechner
44*e1101373SDavid Lechner  trigger-sources:
45*e1101373SDavid Lechner    description:
46*e1101373SDavid Lechner      An array of trigger source phandles for offload instances. The index in
47*e1101373SDavid Lechner      the array corresponds to the offload instance number.
48*e1101373SDavid Lechner    minItems: 1
49*e1101373SDavid Lechner    maxItems: 32
50*e1101373SDavid Lechner
51*e1101373SDavid Lechner  dmas:
52*e1101373SDavid Lechner    description:
53*e1101373SDavid Lechner      DMA channels connected to the input or output stream interface of an
54*e1101373SDavid Lechner      offload instance.
55*e1101373SDavid Lechner    minItems: 1
56*e1101373SDavid Lechner    maxItems: 32
57*e1101373SDavid Lechner
58*e1101373SDavid Lechner  dma-names:
59*e1101373SDavid Lechner    items:
60*e1101373SDavid Lechner      pattern: "^offload(?:[12]?[0-9]|3[01])-[tr]x$"
61*e1101373SDavid Lechner    minItems: 1
62*e1101373SDavid Lechner    maxItems: 32
63*e1101373SDavid Lechner
64252eafe1SDavid Lechnerrequired:
65252eafe1SDavid Lechner  - compatible
66252eafe1SDavid Lechner  - reg
67252eafe1SDavid Lechner  - interrupts
68252eafe1SDavid Lechner  - clocks
69252eafe1SDavid Lechner  - clock-names
70252eafe1SDavid Lechner
71252eafe1SDavid LechnerunevaluatedProperties: false
72252eafe1SDavid Lechner
73252eafe1SDavid Lechnerexamples:
74252eafe1SDavid Lechner  - |
75252eafe1SDavid Lechner    spi@44a00000 {
76252eafe1SDavid Lechner        compatible = "adi,axi-spi-engine-1.00.a";
77252eafe1SDavid Lechner        reg = <0x44a00000 0x1000>;
78252eafe1SDavid Lechner        interrupts = <0 56 4>;
79252eafe1SDavid Lechner        clocks = <&clkc 15>, <&clkc 15>;
80252eafe1SDavid Lechner        clock-names = "s_axi_aclk", "spi_clk";
81252eafe1SDavid Lechner
82*e1101373SDavid Lechner        trigger-sources = <&trigger_clock>;
83*e1101373SDavid Lechner        dmas = <&dma 0>;
84*e1101373SDavid Lechner        dma-names = "offload0-rx";
85*e1101373SDavid Lechner
86252eafe1SDavid Lechner        #address-cells = <1>;
87252eafe1SDavid Lechner        #size-cells = <0>;
88252eafe1SDavid Lechner
89252eafe1SDavid Lechner        /* SPI devices */
90252eafe1SDavid Lechner    };
91