* Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART)

Required properties for USART:
- compatible: Should be one of the following:
	- "atmel,at91rm9200-usart"
	- "atmel,at91sam9260-usart"
	- "microchip,sam9x60-usart"
	- "atmel,at91rm9200-dbgu", "atmel,at91rm9200-usart"
	- "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart"
	- "microchip,sam9x60-dbgu", "microchip,sam9x60-usart"
- reg: Should contain registers location and length
- interrupts: Should contain interrupt
- clock-names: tuple listing input clock names.
	Required elements: "usart"
- clocks: phandles to input clocks.

Required properties for USART in SPI mode:
- #size-cells      : Must be <0>
- #address-cells   : Must be <1>
- cs-gpios: chipselects (internal cs not supported)
- atmel,usart-mode : Must be <AT91_USART_MODE_SPI> (found in dt-bindings/mfd/at91-usart.h)

Optional properties in serial and SPI mode:
- dma bindings for dma transfer:
	- dmas: DMA specifier, consisting of a phandle to DMA controller node,
		memory peripheral interface and USART DMA channel ID, FIFO configuration.
		The order of DMA channels is fixed. The first DMA channel must be TX
		associated channel and the second one must be RX associated channel.
		Refer to dma.txt and atmel-dma.txt for details.
	- dma-names: "tx" for TX channel.
		     "rx" for RX channel.
		     The order of dma-names is also fixed. The first name must be "tx"
		     and the second one must be "rx" as in the examples below.

Optional properties in serial mode:
- atmel,use-dma-rx: use of PDC or DMA for receiving data
- atmel,use-dma-tx: use of PDC or DMA for transmitting data
- {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.
- atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO
  capable USARTs.
- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt

<chip> compatible description:
- at91rm9200:  legacy USART support
- at91sam9260: generic USART implementation for SAM9 SoCs

Example:
- use PDC:
	usart0: serial@fff8c000 {
		compatible = "atmel,at91sam9260-usart";
		reg = <0xfff8c000 0x4000>;
		interrupts = <7>;
		clocks = <&usart0_clk>;
		clock-names = "usart";
		atmel,use-dma-rx;
		atmel,use-dma-tx;
		rts-gpios = <&pioD 15 GPIO_ACTIVE_LOW>;
		cts-gpios = <&pioD 16 GPIO_ACTIVE_LOW>;
		dtr-gpios = <&pioD 17 GPIO_ACTIVE_LOW>;
		dsr-gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
		dcd-gpios = <&pioD 20 GPIO_ACTIVE_LOW>;
		rng-gpios = <&pioD 19 GPIO_ACTIVE_LOW>;
	};

- use DMA:
	usart0: serial@f001c000 {
		compatible = "atmel,at91sam9260-usart";
		reg = <0xf001c000 0x100>;
		interrupts = <12 4 5>;
		clocks = <&usart0_clk>;
		clock-names = "usart";
		atmel,use-dma-rx;
		atmel,use-dma-tx;
		dmas = <&dma0 2 0x3>,
		       <&dma0 2 0x204>;
		dma-names = "tx", "rx";
		atmel,fifo-size = <32>;
	};

- SPI mode:
	#include <dt-bindings/mfd/at91-usart.h>

	spi0: spi@f001c000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "atmel,at91rm9200-usart", "atmel,at91sam9260-usart";
		atmel,usart-mode = <AT91_USART_MODE_SPI>;
		reg = <0xf001c000 0x100>;
		interrupts = <12 IRQ_TYPE_LEVEL_HIGH 5>;
		clocks = <&usart0_clk>;
		clock-names = "usart";
		dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(3)>,
		       <&dma0 2 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
		dma-names = "tx", "rx";
		cs-gpios = <&pioB 3 0>;
	};
