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
7*dd3cb467SAndrew Lunntitle: Allwinner A31 SPI Controller
8101e6fceSMaxime Ripard
9101e6fceSMaxime RipardallOf:
10101e6fceSMaxime Ripard  - $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  "#address-cells": true
18101e6fceSMaxime Ripard  "#size-cells": true
19101e6fceSMaxime Ripard
20101e6fceSMaxime Ripard  compatible:
21e2c9e67eSAndre Przywara    oneOf:
22e2c9e67eSAndre Przywara      - const: allwinner,sun6i-a31-spi
23e2c9e67eSAndre Przywara      - const: allwinner,sun8i-h3-spi
24e2c9e67eSAndre Przywara      - items:
25e2c9e67eSAndre Przywara          - enum:
26e2c9e67eSAndre Przywara              - allwinner,sun8i-r40-spi
27e2c9e67eSAndre Przywara              - allwinner,sun50i-h6-spi
286589daf8SAndre Przywara              - allwinner,sun50i-h616-spi
29382e0d4fSAndre Przywara              - allwinner,suniv-f1c100s-spi
30e2c9e67eSAndre Przywara          - const: allwinner,sun8i-h3-spi
31101e6fceSMaxime Ripard
32101e6fceSMaxime Ripard  reg:
33101e6fceSMaxime Ripard    maxItems: 1
34101e6fceSMaxime Ripard
35101e6fceSMaxime Ripard  interrupts:
36101e6fceSMaxime Ripard    maxItems: 1
37101e6fceSMaxime Ripard
38101e6fceSMaxime Ripard  clocks:
39101e6fceSMaxime Ripard    items:
40101e6fceSMaxime Ripard      - description: Bus Clock
41101e6fceSMaxime Ripard      - description: Module Clock
42101e6fceSMaxime Ripard
43101e6fceSMaxime Ripard  clock-names:
44101e6fceSMaxime Ripard    items:
45101e6fceSMaxime Ripard      - const: ahb
46101e6fceSMaxime Ripard      - const: mod
47101e6fceSMaxime Ripard
48101e6fceSMaxime Ripard  resets:
49101e6fceSMaxime Ripard    maxItems: 1
50101e6fceSMaxime Ripard
51101e6fceSMaxime Ripard  dmas:
52101e6fceSMaxime Ripard    items:
53101e6fceSMaxime Ripard      - description: RX DMA Channel
54101e6fceSMaxime Ripard      - description: TX DMA Channel
55101e6fceSMaxime Ripard
56101e6fceSMaxime Ripard  dma-names:
57101e6fceSMaxime Ripard    items:
58101e6fceSMaxime Ripard      - const: rx
59101e6fceSMaxime Ripard      - const: tx
60101e6fceSMaxime Ripard
61101e6fceSMaxime Ripard  num-cs: true
62101e6fceSMaxime Ripard
63101e6fceSMaxime RipardpatternProperties:
64101e6fceSMaxime Ripard  "^.*@[0-9a-f]+":
6515ffef1aSRob Herring    type: object
66101e6fceSMaxime Ripard    properties:
67101e6fceSMaxime Ripard      reg:
68101e6fceSMaxime Ripard        items:
69101e6fceSMaxime Ripard          minimum: 0
70101e6fceSMaxime Ripard          maximum: 4
71101e6fceSMaxime Ripard
72101e6fceSMaxime Ripard      spi-rx-bus-width:
73101e6fceSMaxime Ripard        const: 1
74101e6fceSMaxime Ripard
75101e6fceSMaxime Ripard      spi-tx-bus-width:
76101e6fceSMaxime Ripard        const: 1
77101e6fceSMaxime Ripard
78101e6fceSMaxime Ripardrequired:
79101e6fceSMaxime Ripard  - compatible
80101e6fceSMaxime Ripard  - reg
81101e6fceSMaxime Ripard  - interrupts
82101e6fceSMaxime Ripard  - clocks
83101e6fceSMaxime Ripard  - clock-names
84101e6fceSMaxime Ripard
85101e6fceSMaxime RipardadditionalProperties: false
86101e6fceSMaxime Ripard
87101e6fceSMaxime Ripardexamples:
88101e6fceSMaxime Ripard  - |
89101e6fceSMaxime Ripard    spi1: spi@1c69000 {
90101e6fceSMaxime Ripard        compatible = "allwinner,sun6i-a31-spi";
91101e6fceSMaxime Ripard        reg = <0x01c69000 0x1000>;
92101e6fceSMaxime Ripard        interrupts = <0 66 4>;
93101e6fceSMaxime Ripard        clocks = <&ahb1_gates 21>, <&spi1_clk>;
94101e6fceSMaxime Ripard        clock-names = "ahb", "mod";
95101e6fceSMaxime Ripard        resets = <&ahb1_rst 21>;
96101e6fceSMaxime Ripard        #address-cells = <1>;
97101e6fceSMaxime Ripard        #size-cells = <0>;
98101e6fceSMaxime Ripard    };
99101e6fceSMaxime Ripard
100101e6fceSMaxime Ripard  - |
101101e6fceSMaxime Ripard    spi0: spi@1c68000 {
102101e6fceSMaxime Ripard        compatible = "allwinner,sun8i-h3-spi";
103101e6fceSMaxime Ripard        reg = <0x01c68000 0x1000>;
104101e6fceSMaxime Ripard        interrupts = <0 65 4>;
105101e6fceSMaxime Ripard        clocks = <&ccu 30>, <&ccu 82>;
106101e6fceSMaxime Ripard        clock-names = "ahb", "mod";
107101e6fceSMaxime Ripard        dmas = <&dma 23>, <&dma 23>;
108101e6fceSMaxime Ripard        dma-names = "rx", "tx";
109101e6fceSMaxime Ripard        resets = <&ccu 15>;
110101e6fceSMaxime Ripard        #address-cells = <1>;
111101e6fceSMaxime Ripard        #size-cells = <0>;
112101e6fceSMaxime Ripard    };
113101e6fceSMaxime Ripard
114101e6fceSMaxime Ripard...
115