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