linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] tty/serial: RS485 bindings for device tree
@ 2011-10-11 17:13 Nicolas Ferre
  2011-10-11 17:28 ` Nicolas Ferre
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Ferre @ 2011-10-11 17:13 UTC (permalink / raw)
  To: linux-arm-kernel, devicetree-discuss, claudio, jesper.nilsson,
	alan
  Cc: grant.likely, Nicolas Ferre, linux-kernel, linux-serial

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>
---
Hi all,

1/ I have used the "linux" vendor definition: tell me if it makes sense...
2/ I have the feeling that the SER_RS485_RTS_ON_SEND flag can easily deduced
   from a zero value on both "before" and "after" data delays.

Tell me what you think about this...

Bye,

 Documentation/devicetree/bindings/serial/rs485.txt |   28 ++++++++++++++++++++
 Documentation/serial/serial-rs485.txt              |    5 +++
 2 files changed, 33 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/rs485.txt

diff --git a/Documentation/devicetree/bindings/serial/rs485.txt b/Documentation/devicetree/bindings/serial/rs485.txt
new file mode 100644
index 0000000..6514be8
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/rs485.txt
@@ -0,0 +1,28 @@
+* 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.
+
+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.
+- linux,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.
+
+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;
+		linux,rs485-rts-delay = <0 200>;	// in milliseconds
+	};
+
diff --git a/Documentation/serial/serial-rs485.txt b/Documentation/serial/serial-rs485.txt
index a493238..d11e5eb 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:
 
@@ -118,3 +122,4 @@
 5. REFERENCES
 
  [1]	include/linux/serial.h
+ [2]	Documentation/devicetree/bindings/serial/rs485.txt
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] tty/serial: RS485 bindings for device tree
  2011-10-11 17:13 [RFC PATCH] tty/serial: RS485 bindings for device tree Nicolas Ferre
@ 2011-10-11 17:28 ` Nicolas Ferre
  2011-10-11 18:41   ` Arnd Bergmann
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Ferre @ 2011-10-11 17:28 UTC (permalink / raw)
  To: linux-arm-kernel, devicetree-discuss, claudio, jesper.nilsson,
	alan
  Cc: grant.likely, linux-kernel, linux-serial

I can also add this new property (support for it already in linux-next):

On 10/11/2011 07:13 PM, Nicolas Ferre :
> 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.

[..]

> +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.

+- linux,rs485-rx-during-tx: empty property that enable the receiving of data
+  even whilst sending data.

> +- linux,rs485-rts-delay: prop-encoded-array <a b> where:

[..]

Best regards,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] tty/serial: RS485 bindings for device tree
  2011-10-11 17:28 ` Nicolas Ferre
@ 2011-10-11 18:41   ` Arnd Bergmann
  2011-10-12 12:02     ` Nicolas Ferre
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2011-10-11 18:41 UTC (permalink / raw)
  To: devicetree-discuss
  Cc: Nicolas Ferre, linux-arm-kernel, claudio, jesper.nilsson, alan,
	linux-kernel, linux-serial

On Tuesday 11 October 2011 19:28:06 Nicolas Ferre wrote:
> 
> > +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.
> 
> +- linux,rs485-rx-during-tx: empty property that enable the receiving of data
> +  even whilst sending data.


This does not sound too linux specific. If it's a hardware property, don't
use the 'linux,' prefix and just make it 'rs484-full-duplex' or such.

	Arnd

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [RFC PATCH] tty/serial: RS485 bindings for device tree
  2011-10-11 18:41   ` Arnd Bergmann
@ 2011-10-12 12:02     ` Nicolas Ferre
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Ferre @ 2011-10-12 12:02 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: jesper.nilsson, devicetree-discuss, linux-kernel, claudio,
	linux-arm-kernel, linux-serial, alan

On 10/11/2011 08:41 PM, Arnd Bergmann :
> On Tuesday 11 October 2011 19:28:06 Nicolas Ferre wrote:
>>
>>> +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.
>>
>> +- linux,rs485-rx-during-tx: empty property that enable the receiving of data
>> +  even whilst sending data.
> 
> This does not sound too linux specific. If it's a hardware property, don't
> use the 'linux,' prefix and just make it 'rs484-full-duplex' or such.

Ok, I understand. Your remark may also apply to linux,rs485-rts-delay.
So we may end-up with:

- linux,rs485-enabled-at-boot-time
- rs485-rx-during-tx
- rs485-rts-delay

Best regards,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-10-12 12:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-11 17:13 [RFC PATCH] tty/serial: RS485 bindings for device tree Nicolas Ferre
2011-10-11 17:28 ` Nicolas Ferre
2011-10-11 18:41   ` Arnd Bergmann
2011-10-12 12:02     ` Nicolas Ferre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).