xref: /linux/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml (revision 26fbb4c8c7c3ee9a4c3b4de555a8587b5a19154e)
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
7title: Allwinner A64 DMA Controller Device Tree Bindings
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11  - Maxime Ripard <mripard@kernel.org>
12
13allOf:
14  - $ref: "dma-controller.yaml#"
15
16properties:
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
48required:
49  - "#dma-cells"
50  - compatible
51  - reg
52  - interrupts
53  - clocks
54  - resets
55  - dma-channels
56
57if:
58  properties:
59    compatible:
60      enum:
61        - allwinner,sun50i-a100-dma
62        - allwinner,sun50i-h6-dma
63
64then:
65  properties:
66    clocks:
67      maxItems: 2
68
69  required:
70    - clock-names
71
72else:
73  properties:
74    clocks:
75      maxItems: 1
76
77unevaluatedProperties: false
78
79examples:
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...
93