Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0331bbf3 authored by Nicolas Ferre's avatar Nicolas Ferre Committed by Greg Kroah-Hartman
Browse files

tty/serial: RS485 bindings for device tree



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: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 631180ac
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
* 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
	};
+27 −0
Original line number Diff line number Diff line
* 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;
	};
+5 −0
Original line number Diff line number Diff line
@@ -28,6 +28,10 @@
   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:

@@ -121,3 +125,4 @@
5. REFERENCES

 [1]	include/linux/serial.h
 [2]	Documentation/devicetree/bindings/serial/rs485.txt