* Generic DMA Controller and DMA request bindings

Generic binding to provide a way for a driver using DMA Engine to retrieve the
DMA request or channel information that goes from a hardware device to a DMA
controller.


* DMA controller

Required property:
- #dma-cells: 		Must be at least 1. Used to provide DMA controller
			specific information. See DMA client binding below for
			more details.

Optional properties:
- dma-channels: 	Number of DMA channels supported by the controller.
- dma-requests: 	Number of DMA request signals supported by the
			controller.

Example:

	dma: dma@48000000 {
		compatible = "ti,omap-sdma";
		reg = <0x48000000 0x1000>;
		interrupts = <0 12 0x4
			      0 13 0x4
			      0 14 0x4
			      0 15 0x4>;
		#dma-cells = <1>;
		dma-channels = <32>;
		dma-requests = <127>;
	};


* DMA client

Client drivers should specify the DMA property using a phandle to the controller
followed by DMA controller specific data.

Required property:
- dmas:			List of one or more DMA specifiers, each consisting of
			- A phandle pointing to DMA controller node
			- A number of integer cells, as determined by the
			  #dma-cells property in the node referenced by phandle
			  containing DMA controller specific information. This
			  typically contains a DMA request line number or a
			  channel number, but can contain any data that is
			  required for configuring a channel.
- dma-names: 		Contains one identifier string for each DMA specifier in
			the dmas property. The specific strings that can be used
			are defined in the binding of the DMA client device.
			Multiple DMA specifiers can be used to represent
			alternatives and in this case the dma-names for those
			DMA specifiers must be identical (see examples).

Examples:

1. A device with one DMA read channel, one DMA write channel:

	i2c1: i2c@1 {
		...
		dmas = <&dma 2		/* read channel */
			&dma 3>;	/* write channel */
		dma-names = "rx", "tx";
		...
	};

2. A single read-write channel with three alternative DMA controllers:

	dmas = <&dma1 5
		&dma2 7
		&dma3 2>;
	dma-names = "rx-tx", "rx-tx", "rx-tx";

3. A device with three channels, one of which has two alternatives:

	dmas = <&dma1 2			/* read channel */
		&dma1 3			/* write channel */
		&dma2 0			/* error read */
		&dma3 0>;		/* alternative error read */
	dma-names = "rx", "tx", "error", "error";
