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