xref: /freebsd/sys/contrib/device-tree/Bindings/spi/adi,axi-spi-engine.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/spi/adi,axi-spi-engine.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: Analog Devices AXI SPI Engine Controller
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotdescription: |
108d13bc63SEmmanuel Vadot  The AXI SPI Engine controller is part of the SPI Engine framework[1] and
118d13bc63SEmmanuel Vadot  allows memory mapped access to the SPI Engine control bus. This allows it
128d13bc63SEmmanuel Vadot  to be used as a general purpose software driven SPI controller as well as
138d13bc63SEmmanuel Vadot  some optional advanced acceleration and offloading capabilities.
148d13bc63SEmmanuel Vadot
158d13bc63SEmmanuel Vadot  [1] https://wiki.analog.com/resources/fpga/peripherals/spi_engine
168d13bc63SEmmanuel Vadot
178d13bc63SEmmanuel Vadotmaintainers:
188d13bc63SEmmanuel Vadot  - Michael Hennerich <Michael.Hennerich@analog.com>
198d13bc63SEmmanuel Vadot  - Nuno Sá <nuno.sa@analog.com>
208d13bc63SEmmanuel Vadot
218d13bc63SEmmanuel VadotallOf:
228d13bc63SEmmanuel Vadot  - $ref: /schemas/spi/spi-controller.yaml#
238d13bc63SEmmanuel Vadot
248d13bc63SEmmanuel Vadotproperties:
258d13bc63SEmmanuel Vadot  compatible:
268d13bc63SEmmanuel Vadot    const: adi,axi-spi-engine-1.00.a
278d13bc63SEmmanuel Vadot
288d13bc63SEmmanuel Vadot  reg:
298d13bc63SEmmanuel Vadot    maxItems: 1
308d13bc63SEmmanuel Vadot
318d13bc63SEmmanuel Vadot  interrupts:
328d13bc63SEmmanuel Vadot    maxItems: 1
338d13bc63SEmmanuel Vadot
348d13bc63SEmmanuel Vadot  clocks:
358d13bc63SEmmanuel Vadot    items:
368d13bc63SEmmanuel Vadot      - description: The AXI interconnect clock.
378d13bc63SEmmanuel Vadot      - description: The SPI controller clock.
388d13bc63SEmmanuel Vadot
398d13bc63SEmmanuel Vadot  clock-names:
408d13bc63SEmmanuel Vadot    items:
418d13bc63SEmmanuel Vadot      - const: s_axi_aclk
428d13bc63SEmmanuel Vadot      - const: spi_clk
438d13bc63SEmmanuel Vadot
44*8ccc0d23SEmmanuel Vadot  trigger-sources:
45*8ccc0d23SEmmanuel Vadot    description:
46*8ccc0d23SEmmanuel Vadot      An array of trigger source phandles for offload instances. The index in
47*8ccc0d23SEmmanuel Vadot      the array corresponds to the offload instance number.
48*8ccc0d23SEmmanuel Vadot    minItems: 1
49*8ccc0d23SEmmanuel Vadot    maxItems: 32
50*8ccc0d23SEmmanuel Vadot
51*8ccc0d23SEmmanuel Vadot  dmas:
52*8ccc0d23SEmmanuel Vadot    description:
53*8ccc0d23SEmmanuel Vadot      DMA channels connected to the input or output stream interface of an
54*8ccc0d23SEmmanuel Vadot      offload instance.
55*8ccc0d23SEmmanuel Vadot    minItems: 1
56*8ccc0d23SEmmanuel Vadot    maxItems: 32
57*8ccc0d23SEmmanuel Vadot
58*8ccc0d23SEmmanuel Vadot  dma-names:
59*8ccc0d23SEmmanuel Vadot    items:
60*8ccc0d23SEmmanuel Vadot      pattern: "^offload(?:[12]?[0-9]|3[01])-[tr]x$"
61*8ccc0d23SEmmanuel Vadot    minItems: 1
62*8ccc0d23SEmmanuel Vadot    maxItems: 32
63*8ccc0d23SEmmanuel Vadot
648d13bc63SEmmanuel Vadotrequired:
658d13bc63SEmmanuel Vadot  - compatible
668d13bc63SEmmanuel Vadot  - reg
678d13bc63SEmmanuel Vadot  - interrupts
688d13bc63SEmmanuel Vadot  - clocks
698d13bc63SEmmanuel Vadot  - clock-names
708d13bc63SEmmanuel Vadot
718d13bc63SEmmanuel VadotunevaluatedProperties: false
728d13bc63SEmmanuel Vadot
738d13bc63SEmmanuel Vadotexamples:
748d13bc63SEmmanuel Vadot  - |
758d13bc63SEmmanuel Vadot    spi@44a00000 {
768d13bc63SEmmanuel Vadot        compatible = "adi,axi-spi-engine-1.00.a";
778d13bc63SEmmanuel Vadot        reg = <0x44a00000 0x1000>;
788d13bc63SEmmanuel Vadot        interrupts = <0 56 4>;
798d13bc63SEmmanuel Vadot        clocks = <&clkc 15>, <&clkc 15>;
808d13bc63SEmmanuel Vadot        clock-names = "s_axi_aclk", "spi_clk";
818d13bc63SEmmanuel Vadot
82*8ccc0d23SEmmanuel Vadot        trigger-sources = <&trigger_clock>;
83*8ccc0d23SEmmanuel Vadot        dmas = <&dma 0>;
84*8ccc0d23SEmmanuel Vadot        dma-names = "offload0-rx";
85*8ccc0d23SEmmanuel Vadot
868d13bc63SEmmanuel Vadot        #address-cells = <1>;
878d13bc63SEmmanuel Vadot        #size-cells = <0>;
888d13bc63SEmmanuel Vadot
898d13bc63SEmmanuel Vadot        /* SPI devices */
908d13bc63SEmmanuel Vadot    };
91