GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / spi / ingenic,spi.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/spi/ingenic,spi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ingenic SoCs SPI controller devicetree bindings
8
9 maintainers:
10   - Artur Rojek <contact@artur-rojek.eu>
11   - Paul Cercueil <paul@crapouillou.net>
12
13 allOf:
14   - $ref: /schemas/spi/spi-controller.yaml#
15
16 properties:
17   compatible:
18     oneOf:
19       - enum:
20           - ingenic,jz4750-spi
21           - ingenic,jz4775-spi
22           - ingenic,jz4780-spi
23           - ingenic,x1000-spi
24           - ingenic,x2000-spi
25       - items:
26           - enum:
27               - ingenic,jz4760-spi
28               - ingenic,jz4770-spi
29           - const: ingenic,jz4750-spi
30
31   reg:
32     maxItems: 1
33
34   interrupts:
35     maxItems: 1
36
37   clocks:
38     maxItems: 1
39
40   dmas:
41     maxItems: 2
42     minItems: 2
43
44   dma-names:
45     items:
46       - const: rx
47       - const: tx
48
49 required:
50   - compatible
51   - reg
52   - interrupts
53   - clocks
54   - dmas
55   - dma-names
56
57 unevaluatedProperties: false
58
59 examples:
60   - |
61     #include <dt-bindings/clock/ingenic,jz4770-cgu.h>
62     spi@10043000 {
63       compatible = "ingenic,jz4770-spi", "ingenic,jz4750-spi";
64       reg = <0x10043000 0x1c>;
65       #address-cells = <1>;
66       #size-cells = <0>;
67
68       interrupt-parent = <&intc>;
69       interrupts = <8>;
70
71       clocks = <&cgu JZ4770_CLK_SSI0>;
72
73       dmas = <&dmac1 23 0xffffffff>, <&dmac1 22 0xffffffff>;
74       dma-names = "rx", "tx";
75     };