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