Generic Serial DT Bindings

This document lists a set of generic properties for describing UARTs in a
device tree.  Whether these properties apply to a particular device depends on
the DT bindings for the actual device.

Optional properties:
  - cts-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's CTS line.
  - dcd-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's DCD line.
  - dsr-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's DSR line.
  - dtr-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's DTR line.
  - rng-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's RNG line.
  - rts-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's RTS line.

  - uart-has-rtscts: The presence of this property indicates that the
    UART has dedicated lines for RTS/CTS hardware flow control, and that
    they are available for use (wired and enabled by pinmux configuration).
    This depends on both the UART hardware and the board wiring.
    Note that this property is mutually-exclusive with "cts-gpios" and
    "rts-gpios" above, unless support is provided to switch between modes
    dynamically.


Examples:

	uart1: serial@48022000 {
		compatible = "ti,am3352-uart", "ti,omap3-uart";
		ti,hwmods = "uart2";
		clock-frequency = <48000000>;
		reg = <0x48022000 0x2000>;
		interrupts = <73>;
		dmas = <&edma 28 0>, <&edma 29 0>;
		dma-names = "tx", "rx";
		dtr-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
		dsr-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
		dcd-gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
		rng-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
		cts-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
		rts-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
	};

	scifa4: serial@e6c80000 {
		compatible = "renesas,scifa-sh73a0", "renesas,scifa";
		reg = <0xe6c80000 0x100>;
		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&mstp2_clks SH73A0_CLK_SCIFA4>;
		clock-names = "fck";
		power-domains = <&pd_a3sp>;
		uart-has-rtscts;
	};
