summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/dma/arm-pl330.txt
blob: 2c7fd1941abbbc8e9be9d65ece4f10a275b47c83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
* ARM PrimeCell PL330 DMA Controller

The ARM PrimeCell PL330 DMA controller can move blocks of memory contents
between memory and peripherals or memory to memory.

Required properties:
  - compatible: should include both "arm,pl330" and "arm,primecell".
  - reg: physical base address of the controller and length of memory mapped
    region.
  - interrupts: interrupt number to the cpu.

Optional properties:
  - dma-coherent      : Present if dma operations are coherent
  - #dma-cells: must be <1>. used to represent the number of integer
    cells in the dmas property of client device.
  - dma-channels: contains the total number of DMA channels supported by the DMAC
  - dma-requests: contains the total number of DMA requests supported by the DMAC
  - arm,pl330-broken-no-flushp: quirk for avoiding to execute DMAFLUSHP
  - resets: contains an entry for each entry in reset-names.
	    See ../reset/reset.txt for details.
  - reset-names: must contain at least "dma", and optional is "dma-ocp".

Example:

	pdma0: pdma@12680000 {
		compatible = "arm,pl330", "arm,primecell";
		reg = <0x12680000 0x1000>;
		interrupts = <99>;
		#dma-cells = <1>;
		#dma-channels = <8>;
		#dma-requests = <32>;
	};

Client drivers (device nodes requiring dma transfers from dev-to-mem or
mem-to-dev) should specify the DMA channel numbers and dma channel names
as shown below.

  [property name]  = <[phandle of the dma controller] [dma request id]>;
  [property name]  = <[dma channel name]>

      where 'dma request id' is the dma request number which is connected
      to the client controller. The 'property name' 'dmas' and 'dma-names'
      as required by the generic dma device tree binding helpers. The dma
      names correspond 1:1 with the dma request ids in the dmas property.

  Example:  dmas = <&pdma0 12
		    &pdma1 11>;
	    dma-names = "tx", "rx";