xref: /linux/Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2m.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2m.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Cirrus Logic ep93xx SoC DMA controller
8
9maintainers:
10  - Alexander Sverdlin <alexander.sverdlin@gmail.com>
11  - Nikita Shubin <nikita.shubin@maquefel.me>
12
13allOf:
14  - $ref: dma-controller.yaml#
15
16properties:
17  compatible:
18    oneOf:
19      - const: cirrus,ep9301-dma-m2m
20      - items:
21          - enum:
22              - cirrus,ep9302-dma-m2m
23              - cirrus,ep9307-dma-m2m
24              - cirrus,ep9312-dma-m2m
25              - cirrus,ep9315-dma-m2m
26          - const: cirrus,ep9301-dma-m2m
27
28  reg:
29    items:
30      - description: m2m0 channel registers
31      - description: m2m1 channel registers
32
33  clocks:
34    items:
35      - description: m2m0 channel gate clock
36      - description: m2m1 channel gate clock
37
38  clock-names:
39    items:
40      - const: m2m0
41      - const: m2m1
42
43  interrupts:
44    items:
45      - description: m2m0 channel interrupt
46      - description: m2m1 channel interrupt
47
48  '#dma-cells':
49    const: 2
50    description: |
51      The first cell is the unique device channel number as indicated by this
52      table for ep93xx:
53
54      10: SPI controller
55      11: IDE controller
56
57      The second cell is the DMA direction line number:
58
59      1: Memory to device
60      2: Device to memory
61
62required:
63  - compatible
64  - reg
65  - clocks
66  - clock-names
67  - interrupts
68
69additionalProperties: false
70
71examples:
72  - |
73    #include <dt-bindings/clock/cirrus,ep9301-syscon.h>
74    dma-controller@80000100 {
75        compatible = "cirrus,ep9301-dma-m2m";
76        reg = <0x80000100 0x0040>,
77              <0x80000140 0x0040>;
78        clocks = <&syscon EP93XX_CLK_M2M0>,
79                 <&syscon EP93XX_CLK_M2M1>;
80        clock-names = "m2m0", "m2m1";
81        interrupt-parent = <&vic0>;
82        interrupts = <17>, <18>;
83        #dma-cells = <2>;
84    };
85