* Freescale MXS Application UART (AUART)

Required properties for all SoCs:
- compatible : Should be one of fallowing variants:
	"fsl,imx23-auart" - Freescale i.MX23
	"fsl,imx28-auart" - Freescale i.MX28
	"alphascale,asm9260-auart" - Alphascale ASM9260
- reg : Address and length of the register set for the device
- interrupts : Should contain the auart interrupt numbers
- dmas: DMA specifier, consisting of a phandle to DMA controller node
  and AUART DMA channel ID.
  Refer to dma.txt and fsl-mxs-dma.txt for details.
- dma-names: "rx" for RX channel, "tx" for TX channel.

Required properties for "alphascale,asm9260-auart":
- clocks : the clocks feeding the watchdog timer. See clock-bindings.txt
- clock-names : should be set to
	"mod" - source for tick counter.
	"ahb" - ahb gate.

Optional properties:
- uart-has-rtscts : Indicate the UART has RTS and CTS lines
  for hardware flow control,
	it also means you enable the DMA support for this UART.
- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD
  line respectively. It will use specified PIO instead of the peripheral
  function pin for the USART feature.
  If unsure, don't specify this property.

Example:
auart0: serial@8006a000 {
	compatible = "fsl,imx28-auart", "fsl,imx23-auart";
	reg = <0x8006a000 0x2000>;
	interrupts = <112>;
	dmas = <&dma_apbx 8>, <&dma_apbx 9>;
	dma-names = "rx", "tx";
	cts-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
	dsr-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
	dcd-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
};

Note: Each auart port should have an alias correctly numbered in "aliases"
node.

Example:

aliases {
	serial0 = &auart0;
	serial1 = &auart1;
	serial2 = &auart2;
	serial3 = &auart3;
	serial4 = &auart4;
};
