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  "#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
63patternProperties:
64  "^.*@[0-9a-f]+":
65    type: object
66    additionalProperties: true
67    properties:
68      reg:
69        items:
70          minimum: 0
71          maximum: 4
72
73      spi-rx-bus-width:
74        const: 1
75
76      spi-tx-bus-width:
77        const: 1
78
79required:
80  - compatible
81  - reg
82  - interrupts
83  - clocks
84  - clock-names
85
86additionalProperties: false
87
88examples:
89  - |
90    spi1: spi@1c69000 {
91        compatible = "allwinner,sun6i-a31-spi";
92        reg = <0x01c69000 0x1000>;
93        interrupts = <0 66 4>;
94        clocks = <&ahb1_gates 21>, <&spi1_clk>;
95        clock-names = "ahb", "mod";
96        resets = <&ahb1_rst 21>;
97        #address-cells = <1>;
98        #size-cells = <0>;
99    };
100
101  - |
102    spi0: spi@1c68000 {
103        compatible = "allwinner,sun8i-h3-spi";
104        reg = <0x01c68000 0x1000>;
105        interrupts = <0 65 4>;
106        clocks = <&ccu 30>, <&ccu 82>;
107        clock-names = "ahb", "mod";
108        dmas = <&dma 23>, <&dma 23>;
109        dma-names = "rx", "tx";
110        resets = <&ccu 15>;
111        #address-cells = <1>;
112        #size-cells = <0>;
113    };
114
115...
116