• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1* ARM PrimeCell PL330 DMA Controller
2
3The ARM PrimeCell PL330 DMA controller can move blocks of memory contents
4between memory and peripherals or memory to memory.
5
6Required properties:
7  - compatible: should include both "arm,pl330" and "arm,primecell".
8  - reg: physical base address of the controller and length of memory mapped
9    region.
10  - interrupts: interrupt number to the cpu.
11
12Optional properties:
13  - dma-coherent      : Present if dma operations are coherent
14  - #dma-cells: must be <1>. used to represent the number of integer
15    cells in the dmas property of client device.
16  - dma-channels: contains the total number of DMA channels supported by the DMAC
17  - dma-requests: contains the total number of DMA requests supported by the DMAC
18  - arm,pl330-broken-no-flushp: quirk for avoiding to execute DMAFLUSHP
19
20Example:
21
22	pdma0: pdma@12680000 {
23		compatible = "arm,pl330", "arm,primecell";
24		reg = <0x12680000 0x1000>;
25		interrupts = <99>;
26		#dma-cells = <1>;
27		#dma-channels = <8>;
28		#dma-requests = <32>;
29	};
30
31Client drivers (device nodes requiring dma transfers from dev-to-mem or
32mem-to-dev) should specify the DMA channel numbers and dma channel names
33as shown below.
34
35  [property name]  = <[phandle of the dma controller] [dma request id]>;
36  [property name]  = <[dma channel name]>
37
38      where 'dma request id' is the dma request number which is connected
39      to the client controller. The 'property name' 'dmas' and 'dma-names'
40      as required by the generic dma device tree binding helpers. The dma
41      names correspond 1:1 with the dma request ids in the dmas property.
42
43  Example:  dmas = <&pdma0 12
44		    &pdma1 11>;
45	    dma-names = "tx", "rx";
46