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