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 19Example: 20 21 pdma0: pdma@12680000 { 22 compatible = "arm,pl330", "arm,primecell"; 23 reg = <0x12680000 0x1000>; 24 interrupts = <99>; 25 #dma-cells = <1>; 26 #dma-channels = <8>; 27 #dma-requests = <32>; 28 }; 29 30Client drivers (device nodes requiring dma transfers from dev-to-mem or 31mem-to-dev) should specify the DMA channel numbers and dma channel names 32as shown below. 33 34 [property name] = <[phandle of the dma controller] [dma request id]>; 35 [property name] = <[dma channel name]> 36 37 where 'dma request id' is the dma request number which is connected 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. 41 42 Example: dmas = <&pdma0 12 43 &pdma1 11>; 44 dma-names = "tx", "rx"; 45