tty/serial: RS485 bindings for device tree
authorNicolas Ferre <nicolas.ferre@atmel.com>
Wed, 12 Oct 2011 16:06:56 +0000 (18:06 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 18 Oct 2011 23:40:33 +0000 (16:40 -0700)
Generic bindings for RS485 feature included in some UARTs.
Those bindings have to be used withing an UART device tree node.
Documentation updated to link to the bindings definition.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/devicetree/bindings/serial/rs485.txt [new file with mode: 0644]
Documentation/devicetree/bindings/tty/serial/atmel-usart.txt [new file with mode: 0644]
Documentation/serial/serial-rs485.txt

diff --git a/Documentation/devicetree/bindings/serial/rs485.txt b/Documentation/devicetree/bindings/serial/rs485.txt
new file mode 100644 (file)
index 0000000..1e753c6
--- /dev/null
@@ -0,0 +1,31 @@
+* RS485 serial communications
+
+The RTS signal is capable of automatically controlling line direction for
+the built-in half-duplex mode.
+The properties described hereafter shall be given to a half-duplex capable
+UART node.
+
+Required properties:
+- rs485-rts-delay: prop-encoded-array <a b> where:
+  * a is the delay beteween rts signal and beginning of data sent in milliseconds.
+      it corresponds to the delay before sending data.
+  * b is the delay between end of data sent and rts signal in milliseconds
+      it corresponds to the delay after sending data and actual release of the line.
+
+Optional properties:
+- linux,rs485-enabled-at-boot-time: empty property telling to enable the rs485
+  feature at boot time. It can be disabled later with proper ioctl.
+- rs485-rx-during-tx: empty property that enables the receiving of data even
+  whilst sending data.
+
+RS485 example for Atmel USART:
+       usart0: serial@fff8c000 {
+               compatible = "atmel,at91sam9260-usart";
+               reg = <0xfff8c000 0x4000>;
+               interrupts = <7>;
+               atmel,use-dma-rx;
+               atmel,use-dma-tx;
+               linux,rs485-enabled-at-boot-time;
+               rs485-rts-delay = <0 200>;              // in milliseconds
+       };
+
diff --git a/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt b/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt
new file mode 100644 (file)
index 0000000..a49d9a1
--- /dev/null
@@ -0,0 +1,27 @@
+* Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART)
+
+Required properties:
+- compatible: Should be "atmel,<chip>-usart"
+  The compatible <chip> indicated will be the first SoC to support an
+  additional mode or an USART new feature.
+- reg: Should contain registers location and length
+- interrupts: Should contain interrupt
+
+Optional properties:
+- atmel,use-dma-rx: use of PDC or DMA for receiving data
+- atmel,use-dma-tx: use of PDC or DMA for transmitting data
+
+<chip> compatible description:
+- at91rm9200:  legacy USART support
+- at91sam9260: generic USART implementation for SAM9 SoCs
+
+Example:
+
+       usart0: serial@fff8c000 {
+               compatible = "atmel,at91sam9260-usart";
+               reg = <0xfff8c000 0x4000>;
+               interrupts = <7>;
+               atmel,use-dma-rx;
+               atmel,use-dma-tx;
+       };
+
index c8878f8..079cb3d 100644 (file)
    RS485 communications. This data structure is used to set and configure RS485
    parameters in the platform data and in ioctls.
 
+   The device tree can also provide RS485 boot time parameters (see [2]
+   for bindings). The driver is in charge of filling this data structure from
+   the values given by the device tree.
+
    Any driver for devices capable of working both as RS232 and RS485 should
    provide at least the following ioctls:
 
 5. REFERENCES
 
  [1]   include/linux/serial.h
+ [2]   Documentation/devicetree/bindings/serial/rs485.txt