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 - arm,pl330-periph-burst: quirk for performing burst transfer only 20 - resets: contains an entry for each entry in reset-names. 21 See ../reset/reset.txt for details. 22 - reset-names: must contain at least "dma", and optional is "dma-ocp". 23 24Example: 25 26 pdma0: pdma@12680000 { 27 compatible = "arm,pl330", "arm,primecell"; 28 reg = <0x12680000 0x1000>; 29 interrupts = <99>; 30 #dma-cells = <1>; 31 #dma-channels = <8>; 32 #dma-requests = <32>; 33 }; 34 35Client drivers (device nodes requiring dma transfers from dev-to-mem or 36mem-to-dev) should specify the DMA channel numbers and dma channel names 37as shown below. 38 39 [property name] = <[phandle of the dma controller] [dma request id]>; 40 [property name] = <[dma channel name]> 41 42 where 'dma request id' is the dma request number which is connected 43 to the client controller. The 'property name' 'dmas' and 'dma-names' 44 as required by the generic dma device tree binding helpers. The dma 45 names correspond 1:1 with the dma request ids in the dmas property. 46 47 Example: dmas = <&pdma0 12 48 &pdma1 11>; 49 dma-names = "tx", "rx"; 50