Commit | Line | Data |
---|---|---|
93ed5544 TA |
1 | * ARM PrimeCell PL330 DMA Controller |
2 | ||
3 | The ARM PrimeCell PL330 DMA controller can move blocks of memory contents | |
4 | between memory and peripherals or memory to memory. | |
5 | ||
6 | Required 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 | ||
1dc737c4 | 12 | Optional properties: |
42cf2098 PV |
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 | |
1dc737c4 | 18 | |
93ed5544 TA |
19 | Example: |
20 | ||
21 | pdma0: pdma@12680000 { | |
22 | compatible = "arm,pl330", "arm,primecell"; | |
23 | reg = <0x12680000 0x1000>; | |
24 | interrupts = <99>; | |
42cf2098 PV |
25 | #dma-cells = <1>; |
26 | #dma-channels = <8>; | |
27 | #dma-requests = <32>; | |
93ed5544 TA |
28 | }; |
29 | ||
30 | Client drivers (device nodes requiring dma transfers from dev-to-mem or | |
42cf2098 | 31 | mem-to-dev) should specify the DMA channel numbers and dma channel names |
93ed5544 TA |
32 | as shown below. |
33 | ||
34 | [property name] = <[phandle of the dma controller] [dma request id]>; | |
42cf2098 | 35 | [property name] = <[dma channel name]> |
93ed5544 TA |
36 | |
37 | where 'dma request id' is the dma request number which is connected | |
42cf2098 PV |
38 | to the client controller. The 'property name' 'dmas' and 'dma-names' |
39 | as required by the generic dma device tree binding helpers. The dma | |
40 | names correspond 1:1 with the dma request ids in the dmas property. | |
93ed5544 | 41 | |
42cf2098 PV |
42 | Example: dmas = <&pdma0 12 |
43 | &pdma1 11>; | |
44 | dma-names = "tx", "rx"; |