GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / spi / allwinner,sun6i-a31-spi.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/spi/allwinner,sun6i-a31-spi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A31 SPI Controller
8
9 allOf:
10   - $ref: "spi-controller.yaml"
11
12 maintainers:
13   - Chen-Yu Tsai <wens@csie.org>
14   - Maxime Ripard <mripard@kernel.org>
15
16 properties:
17   "#address-cells": true
18   "#size-cells": true
19
20   compatible:
21     oneOf:
22       - const: allwinner,sun6i-a31-spi
23       - const: allwinner,sun8i-h3-spi
24       - items:
25           - enum:
26               - allwinner,sun8i-r40-spi
27               - allwinner,sun50i-h6-spi
28               - allwinner,sun50i-h616-spi
29               - allwinner,suniv-f1c100s-spi
30           - const: allwinner,sun8i-h3-spi
31
32   reg:
33     maxItems: 1
34
35   interrupts:
36     maxItems: 1
37
38   clocks:
39     items:
40       - description: Bus Clock
41       - description: Module Clock
42
43   clock-names:
44     items:
45       - const: ahb
46       - const: mod
47
48   resets:
49     maxItems: 1
50
51   dmas:
52     items:
53       - description: RX DMA Channel
54       - description: TX DMA Channel
55
56   dma-names:
57     items:
58       - const: rx
59       - const: tx
60
61   num-cs: true
62
63 patternProperties:
64   "^.*@[0-9a-f]+":
65     type: object
66     properties:
67       reg:
68         items:
69           minimum: 0
70           maximum: 4
71
72       spi-rx-bus-width:
73         const: 1
74
75       spi-tx-bus-width:
76         const: 1
77
78 required:
79   - compatible
80   - reg
81   - interrupts
82   - clocks
83   - clock-names
84
85 additionalProperties: false
86
87 examples:
88   - |
89     spi1: spi@1c69000 {
90         compatible = "allwinner,sun6i-a31-spi";
91         reg = <0x01c69000 0x1000>;
92         interrupts = <0 66 4>;
93         clocks = <&ahb1_gates 21>, <&spi1_clk>;
94         clock-names = "ahb", "mod";
95         resets = <&ahb1_rst 21>;
96         #address-cells = <1>;
97         #size-cells = <0>;
98     };
99
100   - |
101     spi0: spi@1c68000 {
102         compatible = "allwinner,sun8i-h3-spi";
103         reg = <0x01c68000 0x1000>;
104         interrupts = <0 65 4>;
105         clocks = <&ccu 30>, <&ccu 82>;
106         clock-names = "ahb", "mod";
107         dmas = <&dma 23>, <&dma 23>;
108         dma-names = "rx", "tx";
109         resets = <&ccu 15>;
110         #address-cells = <1>;
111         #size-cells = <0>;
112     };
113
114 ...