xref: /linux/Documentation/devicetree/bindings/spi/cirrus,ep9301-spi.yaml (revision 06a130e42a5bfc84795464bff023bff4c16f58c5)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/spi/cirrus,ep9301-spi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: EP93xx SoC SPI controller
8
9maintainers:
10  - Alexander Sverdlin <alexander.sverdlin@gmail.com>
11  - Nikita Shubin <nikita.shubin@maquefel.me>
12
13allOf:
14  - $ref: spi-controller.yaml#
15
16properties:
17  compatible:
18    oneOf:
19      - const: cirrus,ep9301-spi
20      - items:
21          - enum:
22              - cirrus,ep9302-spi
23              - cirrus,ep9307-spi
24              - cirrus,ep9312-spi
25              - cirrus,ep9315-spi
26          - const: cirrus,ep9301-spi
27
28  reg:
29    items:
30      - description: SPI registers region
31
32  interrupts:
33    maxItems: 1
34
35  clocks:
36    items:
37      - description: SPI Controller reference clock source
38
39  dmas:
40    items:
41      - description: rx DMA channel
42      - description: tx DMA channel
43
44  dma-names:
45    items:
46      - const: rx
47      - const: tx
48
49required:
50  - compatible
51  - reg
52  - interrupts
53  - clocks
54
55unevaluatedProperties: false
56
57examples:
58  - |
59    #include <dt-bindings/gpio/gpio.h>
60    #include <dt-bindings/clock/cirrus,ep9301-syscon.h>
61    spi@808a0000 {
62        compatible = "cirrus,ep9301-spi";
63        reg = <0x808a0000 0x18>;
64        interrupt-parent = <&vic1>;
65        interrupts = <21>;
66        clocks = <&syscon EP93XX_CLK_SPI>;
67        dmas = <&dma1 10 2>, <&dma1 10 1>;
68        dma-names = "rx", "tx";
69        cs-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;
70    };
71