1101e6fceSMaxime Ripard# SPDX-License-Identifier: GPL-2.0
2101e6fceSMaxime Ripard%YAML 1.2
3101e6fceSMaxime Ripard---
4101e6fceSMaxime Ripard$id: http://devicetree.org/schemas/spi/allwinner,sun6i-a31-spi.yaml#
5101e6fceSMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
6101e6fceSMaxime Ripard
7dd3cb467SAndrew Lunntitle: Allwinner A31 SPI Controller
8101e6fceSMaxime Ripard
9101e6fceSMaxime RipardallOf:
1099a7fa0eSKrzysztof Kozlowski  - $ref: spi-controller.yaml
11101e6fceSMaxime Ripard
12101e6fceSMaxime Ripardmaintainers:
13101e6fceSMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
145c7404bbSMaxime Ripard  - Maxime Ripard <mripard@kernel.org>
15101e6fceSMaxime Ripard
16101e6fceSMaxime Ripardproperties:
17101e6fceSMaxime Ripard  compatible:
18e2c9e67eSAndre Przywara    oneOf:
19f603a3f0SMaksim Kiselev      - const: allwinner,sun50i-r329-spi
20e2c9e67eSAndre Przywara      - const: allwinner,sun6i-a31-spi
21e2c9e67eSAndre Przywara      - const: allwinner,sun8i-h3-spi
22e2c9e67eSAndre Przywara      - items:
23e2c9e67eSAndre Przywara          - enum:
24e2c9e67eSAndre Przywara              - allwinner,sun8i-r40-spi
25e2c9e67eSAndre Przywara              - allwinner,sun50i-h6-spi
266589daf8SAndre Przywara              - allwinner,sun50i-h616-spi
27382e0d4fSAndre Przywara              - allwinner,suniv-f1c100s-spi
28e2c9e67eSAndre Przywara          - const: allwinner,sun8i-h3-spi
29f603a3f0SMaksim Kiselev      - items:
30f603a3f0SMaksim Kiselev          - enum:
31f603a3f0SMaksim Kiselev              - allwinner,sun20i-d1-spi
32f603a3f0SMaksim Kiselev              - allwinner,sun50i-r329-spi-dbi
33f603a3f0SMaksim Kiselev          - const: allwinner,sun50i-r329-spi
34f603a3f0SMaksim Kiselev      - items:
35f603a3f0SMaksim Kiselev          - const: allwinner,sun20i-d1-spi-dbi
36f603a3f0SMaksim Kiselev          - const: allwinner,sun50i-r329-spi-dbi
37f603a3f0SMaksim Kiselev          - const: allwinner,sun50i-r329-spi
38101e6fceSMaxime Ripard
39101e6fceSMaxime Ripard  reg:
40101e6fceSMaxime Ripard    maxItems: 1
41101e6fceSMaxime Ripard
42101e6fceSMaxime Ripard  interrupts:
43101e6fceSMaxime Ripard    maxItems: 1
44101e6fceSMaxime Ripard
45101e6fceSMaxime Ripard  clocks:
46101e6fceSMaxime Ripard    items:
47101e6fceSMaxime Ripard      - description: Bus Clock
48101e6fceSMaxime Ripard      - description: Module Clock
49101e6fceSMaxime Ripard
50101e6fceSMaxime Ripard  clock-names:
51101e6fceSMaxime Ripard    items:
52101e6fceSMaxime Ripard      - const: ahb
53101e6fceSMaxime Ripard      - const: mod
54101e6fceSMaxime Ripard
55101e6fceSMaxime Ripard  resets:
56101e6fceSMaxime Ripard    maxItems: 1
57101e6fceSMaxime Ripard
58101e6fceSMaxime Ripard  dmas:
59101e6fceSMaxime Ripard    items:
60101e6fceSMaxime Ripard      - description: RX DMA Channel
61101e6fceSMaxime Ripard      - description: TX DMA Channel
62101e6fceSMaxime Ripard
63101e6fceSMaxime Ripard  dma-names:
64101e6fceSMaxime Ripard    items:
65101e6fceSMaxime Ripard      - const: rx
66101e6fceSMaxime Ripard      - const: tx
67101e6fceSMaxime Ripard
68101e6fceSMaxime RipardpatternProperties:
69101e6fceSMaxime Ripard  "^.*@[0-9a-f]+":
7015ffef1aSRob Herring    type: object
71101e6fceSMaxime Ripard    properties:
72101e6fceSMaxime Ripard      reg:
73101e6fceSMaxime Ripard        items:
74101e6fceSMaxime Ripard          minimum: 0
75101e6fceSMaxime Ripard          maximum: 4
76101e6fceSMaxime Ripard
77101e6fceSMaxime Ripard      spi-rx-bus-width:
78101e6fceSMaxime Ripard        const: 1
79101e6fceSMaxime Ripard
80101e6fceSMaxime Ripard      spi-tx-bus-width:
81101e6fceSMaxime Ripard        const: 1
82101e6fceSMaxime Ripard
83101e6fceSMaxime Ripardrequired:
84101e6fceSMaxime Ripard  - compatible
85101e6fceSMaxime Ripard  - reg
86101e6fceSMaxime Ripard  - interrupts
87101e6fceSMaxime Ripard  - clocks
88101e6fceSMaxime Ripard  - clock-names
89101e6fceSMaxime Ripard
90*c092a878SKrzysztof KozlowskiunevaluatedProperties: false
91101e6fceSMaxime Ripard
92101e6fceSMaxime Ripardexamples:
93101e6fceSMaxime Ripard  - |
94101e6fceSMaxime Ripard    spi1: spi@1c69000 {
95101e6fceSMaxime Ripard        compatible = "allwinner,sun6i-a31-spi";
96101e6fceSMaxime Ripard        reg = <0x01c69000 0x1000>;
97101e6fceSMaxime Ripard        interrupts = <0 66 4>;
98101e6fceSMaxime Ripard        clocks = <&ahb1_gates 21>, <&spi1_clk>;
99101e6fceSMaxime Ripard        clock-names = "ahb", "mod";
100101e6fceSMaxime Ripard        resets = <&ahb1_rst 21>;
101101e6fceSMaxime Ripard        #address-cells = <1>;
102101e6fceSMaxime Ripard        #size-cells = <0>;
103101e6fceSMaxime Ripard    };
104101e6fceSMaxime Ripard
105101e6fceSMaxime Ripard  - |
106101e6fceSMaxime Ripard    spi0: spi@1c68000 {
107101e6fceSMaxime Ripard        compatible = "allwinner,sun8i-h3-spi";
108101e6fceSMaxime Ripard        reg = <0x01c68000 0x1000>;
109101e6fceSMaxime Ripard        interrupts = <0 65 4>;
110101e6fceSMaxime Ripard        clocks = <&ccu 30>, <&ccu 82>;
111101e6fceSMaxime Ripard        clock-names = "ahb", "mod";
112101e6fceSMaxime Ripard        dmas = <&dma 23>, <&dma 23>;
113101e6fceSMaxime Ripard        dma-names = "rx", "tx";
114101e6fceSMaxime Ripard        resets = <&ccu 15>;
115101e6fceSMaxime Ripard        #address-cells = <1>;
116101e6fceSMaxime Ripard        #size-cells = <0>;
117101e6fceSMaxime Ripard    };
118101e6fceSMaxime Ripard
119101e6fceSMaxime Ripard...
120