* Freescale enhanced Direct Memory Access(eDMA-v3) Controller

  The eDMA-v3 controller is inherited from FSL eDMA, and firstly is intergrated
  on Freescale i.MX8QM SOC chip. The eDMA channels have multiplex capability by
  programmble memory-mapped registers. Specific DMA request source has fixed channel.

* eDMA Controller
Required properties:
- compatible :
	- "fsl,imx8qm-edma" for eDMA used similar to that on i.MX8QM SoC
	- "fsl,imx8qm-adma" for audio eDMA used on i.MX8QM
- reg : Specifies base physical address(s) and size of the eDMA channel registers.
	Each eDMA channel has separated register's address and size.
- interrupts : A list of interrupt-specifiers, each channel has one interrupt.
- interrupt-names : Should contain below template:
	"edmaX-chanX-Xx"
	     |     | |---> receive/transmit, r or t
	     |     |---> channel id, the max number is 32
	     |---> edma controller instance, 0, 1, 2,..etc

- #dma-cells : Must be <3>.
	The 1st cell specifies the channel ID.
	The 2nd cell specifies the channel priority.
	The 3rd cell specifies the channel attributes which include below:
	BIT(0): transmit or receive:
		0: transmit, 1: receive.
	BIT(1): local or remote access:
		0: local, 1: remote.
	BIT(2): dualfifo case or not(only in Audio cyclic now):
		0: not dual fifo case, 1: dualfifo case.
	See the SoC's reference manual for all the supported request sources.
- dma-channels : Number of channels supported by the controller

Examples:
edma0: dma-controller@40018000 {
	compatible = "fsl,imx8qm-edma";
	reg = <0x0 0x5a2c0000 0x0 0x10000>, /* channel12 UART0 rx */
	      <0x0 0x5a2d0000 0x0 0x10000>, /* channel13 UART0 tx */
	      <0x0 0x5a2e0000 0x0 0x10000>, /* channel14 UART1 rx */
	      <0x0 0x5a2f0000 0x0 0x10000>; /* channel15 UART1 tx */
	#dma-cells = <3>;
	dma-channels = <4>;
	interrupts = <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>,
		     <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "edma0-chan12-rx", "edma0-chan13-tx",
			  "edma0-chan14-rx", "edma0-chan15-tx";
	status = "okay";
};

* DMA clients
DMA client drivers that uses the DMA function must use the format described
in the dma.txt file, using a three-cell specifier for each channel: the 1st
specifies the channel number, the 2nd specifies the priority, and the 3rd
specifies the channel type is for transmit or receive: 0: transmit, 1: receive.

Examples:
lpuart1: serial@5a070000 {
	compatible = "fsl,imx8qm-lpuart";
	reg = <0x0 0x5a070000 0x0 0x1000>;
	interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-parent = <&gic>;
	clocks = <&clk IMX8QM_UART1_CLK>;
	clock-names = "ipg";
	assigned-clock-names = <&clk IMX8QM_UART1_CLK>;
	assigned-clock-rates = <80000000>;
	power-domains = <&pd_dma_lpuart1>;
	dma-names = "tx","rx";
	dmas = <&edma0 15 0 0>,
		<&edma0 14 0 1>;
	status = "disabled";
};
