blob: 4a3dd6f5309b1fa4fca1b0dbe57122b9aa8fabf2 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 iommus:
59 minItems: 1
60 maxItems: 9
61 description: Up to 1 IOMMU entry per DMA channel for writes and 1
62 IOMMU entry for reads.
63
64 power-domains:
65 maxItems: 1
66
67 resets:
68 minItems: 1
69 maxItems: 2
70
71 reset-names:
72 minItems: 1
73 items:
74 - const: dma
75 - const: dma-ocp
76
77required:
78 - compatible
79 - reg
80 - interrupts
81
82unevaluatedProperties: false
83
84examples:
85 - |
86 dma-controller@12680000 {
87 compatible = "arm,pl330", "arm,primecell";
88 reg = <0x12680000 0x1000>;
89 interrupts = <99>;
90 #dma-cells = <1>;
91 };
92...