Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / dma / allwinner,sun50i-a64-dma.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/dma/allwinner,sun50i-a64-dma.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A64 DMA Controller Device Tree Bindings
8
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Maxime Ripard <mripard@kernel.org>
12
13 allOf:
14   - $ref: "dma-controller.yaml#"
15
16 properties:
17   "#dma-cells":
18     const: 1
19     description: The cell is the request line number.
20
21   compatible:
22     oneOf:
23       - const: allwinner,sun50i-a64-dma
24       - const: allwinner,sun50i-a100-dma
25       - const: allwinner,sun50i-h6-dma
26       - items:
27           - const: allwinner,sun8i-r40-dma
28           - const: allwinner,sun50i-a64-dma
29
30   reg:
31     maxItems: 1
32
33   interrupts:
34     maxItems: 1
35
36   clocks:
37     minItems: 1
38     maxItems: 2
39
40   clock-names:
41     items:
42       - const: bus
43       - const: mbus
44
45   resets:
46     maxItems: 1
47
48 required:
49   - "#dma-cells"
50   - compatible
51   - reg
52   - interrupts
53   - clocks
54   - resets
55   - dma-channels
56
57 if:
58   properties:
59     compatible:
60       enum:
61         - allwinner,sun50i-a100-dma
62         - allwinner,sun50i-h6-dma
63
64 then:
65   properties:
66     clocks:
67       maxItems: 2
68
69   required:
70     - clock-names
71
72 else:
73   properties:
74     clocks:
75       maxItems: 1
76
77 unevaluatedProperties: false
78
79 examples:
80   - |
81     dma: dma-controller@1c02000 {
82         compatible = "allwinner,sun50i-a64-dma";
83         reg = <0x01c02000 0x1000>;
84         interrupts = <0 50 4>;
85         clocks = <&ccu 30>;
86         dma-channels = <8>;
87         dma-requests = <27>;
88         resets = <&ccu 7>;
89         #dma-cells = <1>;
90     };
91
92 ...