| * 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"; |