* STMicroelectronics STM32 DMA controller

The STM32 DMA is a general-purpose direct memory access controller capable of
supporting 8 independent DMA channels. Each channel can have up to 8 requests.

Required properties:
- compatible: Should be "st,stm32-dma"
- reg: Should contain DMA registers location and length. This should include
  all of the per-channel registers.
- interrupts: Should contain all of the per-channel DMA interrupts in
  ascending order with respect to the DMA channel index.
- clocks: Should contain the input clock of the DMA instance.
- #dma-cells : Must be <4>. See DMA client paragraph for more details.

Optional properties:
- resets: Reference to a reset controller asserting the DMA controller
- st,mem2mem: boolean; if defined, it indicates that the controller supports
  memory-to-memory transfer

Example:

	dma2: dma-controller@40026400 {
		compatible = "st,stm32-dma";
		reg = <0x40026400 0x400>;
		interrupts = <56>,
			     <57>,
			     <58>,
			     <59>,
			     <60>,
			     <68>,
			     <69>,
			     <70>;
		clocks = <&clk_hclk>;
		#dma-cells = <4>;
		st,mem2mem;
		resets = <&rcc 150>;
	};

* DMA client

DMA clients connected to the STM32 DMA controller must use the format
described in the dma.txt file, using a five-cell specifier for each
channel: a phandle plus four integer cells.
The four cells in order are:

1. The channel id
2. The request line number
3. A 32bit mask specifying the DMA channel configuration which are device
   dependent:
  -bit 9: Peripheral Increment Address
	0x0: no address increment between transfers
	0x1: increment address between transfers
 -bit 10: Memory Increment Address
	0x0: no address increment between transfers
	0x1: increment address between transfers
 -bit 15: Peripheral Increment Offset Size
	0x0: offset size is linked to the peripheral bus width
	0x1: offset size is fixed to 4 (32-bit alignment)
 -bit 16-17: Priority level
	0x0: low
	0x1: medium
	0x2: high
	0x3: very high
5. A 32bit mask specifying the DMA FIFO threshold configuration which are device
   dependent:
 -bit 0-1: Fifo threshold
	0x0: 1/4 full FIFO
	0x1: 1/2 full FIFO
	0x2: 3/4 full FIFO
	0x3: full FIFO

Example:

	usart1: serial@40011000 {
		compatible = "st,stm32-usart", "st,stm32-uart";
		reg = <0x40011000 0x400>;
		interrupts = <37>;
		clocks = <&clk_pclk2>;
		dmas = <&dma2 2 4 0x10400 0x3>,
		       <&dma2 7 5 0x10200 0x3>;
		dma-names = "rx", "tx";
	};
