xref: /freebsd/sys/contrib/device-tree/Bindings/dma/owl-dma.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/owl-dma.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Actions Semi Owl SoCs DMA controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotdescription: |
10c66ec88fSEmmanuel Vadot  The OWL DMA is a general-purpose direct memory access controller capable of
115def4c47SEmmanuel Vadot  supporting 10 independent DMA channels for the Actions Semi S700 SoC and 12
125def4c47SEmmanuel Vadot  independent DMA channels for the S500 and S900 SoC variants.
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadotmaintainers:
15c66ec88fSEmmanuel Vadot  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel VadotallOf:
18*cb7aa33aSEmmanuel Vadot  - $ref: dma-controller.yaml#
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadotproperties:
21c66ec88fSEmmanuel Vadot  compatible:
22c66ec88fSEmmanuel Vadot    enum:
235def4c47SEmmanuel Vadot      - actions,s500-dma
24c66ec88fSEmmanuel Vadot      - actions,s700-dma
255def4c47SEmmanuel Vadot      - actions,s900-dma
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  reg:
28c66ec88fSEmmanuel Vadot    maxItems: 1
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  interrupts:
31c66ec88fSEmmanuel Vadot    description:
32c66ec88fSEmmanuel Vadot      controller supports 4 interrupts, which are freely assignable to the
33c66ec88fSEmmanuel Vadot      DMA channels.
34c66ec88fSEmmanuel Vadot    maxItems: 4
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  "#dma-cells":
37c66ec88fSEmmanuel Vadot    const: 1
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  dma-channels:
40c66ec88fSEmmanuel Vadot    maximum: 12
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  dma-requests:
43c66ec88fSEmmanuel Vadot    maximum: 46
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot  clocks:
46c66ec88fSEmmanuel Vadot    maxItems: 1
47c66ec88fSEmmanuel Vadot    description:
48c66ec88fSEmmanuel Vadot      Phandle and Specifier of the clock feeding the DMA controller.
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot  power-domains:
51c66ec88fSEmmanuel Vadot    maxItems: 1
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadotrequired:
54c66ec88fSEmmanuel Vadot  - compatible
55c66ec88fSEmmanuel Vadot  - reg
56c66ec88fSEmmanuel Vadot  - interrupts
57c66ec88fSEmmanuel Vadot  - "#dma-cells"
58c66ec88fSEmmanuel Vadot  - dma-channels
59c66ec88fSEmmanuel Vadot  - dma-requests
60c66ec88fSEmmanuel Vadot  - clocks
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel VadotunevaluatedProperties: false
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadotexamples:
65c66ec88fSEmmanuel Vadot  - |
66c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
67c66ec88fSEmmanuel Vadot    dma: dma-controller@e0260000 {
68c66ec88fSEmmanuel Vadot        compatible = "actions,s900-dma";
69c66ec88fSEmmanuel Vadot        reg = <0xe0260000 0x1000>;
70c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
71c66ec88fSEmmanuel Vadot                     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
72c66ec88fSEmmanuel Vadot                     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
73c66ec88fSEmmanuel Vadot                     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
74c66ec88fSEmmanuel Vadot        #dma-cells = <1>;
75c66ec88fSEmmanuel Vadot        dma-channels = <12>;
76c66ec88fSEmmanuel Vadot        dma-requests = <46>;
77c66ec88fSEmmanuel Vadot        clocks = <&clock 22>;
78c66ec88fSEmmanuel Vadot    };
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel Vadot...
81