1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/dma/arm,pl330.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ARM PrimeCell PL330 DMA Controller
8
9maintainers:
10  - Vinod Koul <vkoul@kernel.org>
11
12description:
13  The ARM PrimeCell PL330 DMA controller can move blocks of memory contents
14  between memory and peripherals or memory to memory.
15
16# We need a select here so we don't match all nodes with 'arm,primecell'
17select:
18  properties:
19    compatible:
20      contains:
21        const: arm,pl330
22  required:
23    - compatible
24
25allOf:
26  - $ref: dma-controller.yaml#
27  - $ref: /schemas/arm/primecell.yaml#
28
29properties:
30  compatible:
31    items:
32      - enum:
33          - arm,pl330
34      - const: arm,primecell
35
36  reg:
37    maxItems: 1
38
39  interrupts:
40    minItems: 1
41    maxItems: 32
42    description: A single combined interrupt or an interrupt per event
43
44  '#dma-cells':
45    const: 1
46    description: Contains the DMA request number for the consumer
47
48  arm,pl330-broken-no-flushp:
49    type: boolean
50    description: quirk for avoiding to execute DMAFLUSHP
51
52  arm,pl330-periph-burst:
53    type: boolean
54    description: quirk for performing burst transfer only
55
56  dma-coherent: true
57
58  power-domains:
59    maxItems: 1
60
61  resets:
62    minItems: 1
63    maxItems: 2
64
65  reset-names:
66    minItems: 1
67    items:
68      - const: dma
69      - const: dma-ocp
70
71required:
72  - compatible
73  - reg
74  - interrupts
75
76unevaluatedProperties: false
77
78examples:
79  - |
80    dma-controller@12680000 {
81        compatible = "arm,pl330", "arm,primecell";
82        reg = <0x12680000 0x1000>;
83        interrupts = <99>;
84        #dma-cells = <1>;
85    };
86...
87