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  resets:
59    minItems: 1
60    maxItems: 2
61
62  reset-names:
63    minItems: 1
64    items:
65      - const: dma
66      - const: dma-ocp
67
68required:
69  - compatible
70  - reg
71  - interrupts
72
73unevaluatedProperties: false
74
75examples:
76  - |
77    dma-controller@12680000 {
78        compatible = "arm,pl330", "arm,primecell";
79        reg = <0x12680000 0x1000>;
80        interrupts = <99>;
81        #dma-cells = <1>;
82    };
83...
84