2011-10-24 17:43:31 +08:00
|
|
|
* 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.
|
|
|
|
|
2012-08-21 18:31:06 +08:00
|
|
|
Optional properties:
|
2013-02-14 11:40:08 +08:00
|
|
|
- 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
|
2012-08-21 18:31:06 +08:00
|
|
|
|
2011-10-24 17:43:31 +08:00
|
|
|
Example:
|
|
|
|
|
|
|
|
pdma0: pdma@12680000 {
|
|
|
|
compatible = "arm,pl330", "arm,primecell";
|
|
|
|
reg = <0x12680000 0x1000>;
|
|
|
|
interrupts = <99>;
|
2013-02-14 11:40:08 +08:00
|
|
|
#dma-cells = <1>;
|
|
|
|
#dma-channels = <8>;
|
|
|
|
#dma-requests = <32>;
|
2011-10-24 17:43:31 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
Client drivers (device nodes requiring dma transfers from dev-to-mem or
|
2013-02-14 11:40:08 +08:00
|
|
|
mem-to-dev) should specify the DMA channel numbers and dma channel names
|
2011-10-24 17:43:31 +08:00
|
|
|
as shown below.
|
|
|
|
|
|
|
|
[property name] = <[phandle of the dma controller] [dma request id]>;
|
2013-02-14 11:40:08 +08:00
|
|
|
[property name] = <[dma channel name]>
|
2011-10-24 17:43:31 +08:00
|
|
|
|
|
|
|
where 'dma request id' is the dma request number which is connected
|
2013-02-14 11:40:08 +08:00
|
|
|
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.
|
2011-10-24 17:43:31 +08:00
|
|
|
|
2013-02-14 11:40:08 +08:00
|
|
|
Example: dmas = <&pdma0 12
|
|
|
|
&pdma1 11>;
|
|
|
|
dma-names = "tx", "rx";
|