[PATCH v2 1/5] tty/serial: RS485 bindings for device tree
Grant Likely
grant.likely at secretlab.ca
Wed Oct 12 21:02:28 EDT 2011
On Wed, Oct 12, 2011 at 06:06:56PM +0200, Nicolas Ferre wrote:
> 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 at atmel.com>
Acked-by: Grant Likely <grant.likely at secretlab.ca>
> ---
> Documentation/devicetree/bindings/serial/rs485.txt | 31 ++++++++++++++++++++
> .../devicetree/bindings/tty/serial/atmel-usart.txt | 27 +++++++++++++++++
> Documentation/serial/serial-rs485.txt | 5 +++
> 3 files changed, 63 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/serial/rs485.txt
> create mode 100644 Documentation/devicetree/bindings/tty/serial/atmel-usart.txt
>
> diff --git a/Documentation/devicetree/bindings/serial/rs485.txt b/Documentation/devicetree/bindings/serial/rs485.txt
> new file mode 100644
> index 0000000..1e753c6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/serial/rs485.txt
> @@ -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 at 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
> index 0000000..a49d9a1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt
> @@ -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 at fff8c000 {
> + compatible = "atmel,at91sam9260-usart";
> + reg = <0xfff8c000 0x4000>;
> + interrupts = <7>;
> + atmel,use-dma-rx;
> + atmel,use-dma-tx;
> + };
> +
> diff --git a/Documentation/serial/serial-rs485.txt b/Documentation/serial/serial-rs485.txt
> index c8878f8..079cb3d 100644
> --- a/Documentation/serial/serial-rs485.txt
> +++ b/Documentation/serial/serial-rs485.txt
> @@ -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
> --
> 1.7.5.4
>
More information about the linux-arm-kernel
mailing list