diff mbox series

[1/2] dt-bindings: serial: Convert rs485 bindings to json-schema

Message ID 20200114123329.3792-2-benjamin.gaignard@st.com (mailing list archive)
State New, archived
Headers show
Series Convert STM32 UART bindings to yaml | expand

Commit Message

Benjamin GAIGNARD Jan. 14, 2020, 12:33 p.m. UTC
Convert rs485 binding to yaml style file.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
---
 Documentation/devicetree/bindings/serial/rs485.txt | 32 +--------------
 .../devicetree/bindings/serial/rs485.yaml          | 45 ++++++++++++++++++++++
 2 files changed, 46 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/serial/rs485.yaml

Comments

Rob Herring (Arm) Jan. 21, 2020, 10:20 p.m. UTC | #1
On Tue, Jan 14, 2020 at 01:33:28PM +0100, Benjamin Gaignard wrote:
> Convert rs485 binding to yaml style file.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
> ---
>  Documentation/devicetree/bindings/serial/rs485.txt | 32 +--------------
>  .../devicetree/bindings/serial/rs485.yaml          | 45 ++++++++++++++++++++++
>  2 files changed, 46 insertions(+), 31 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/serial/rs485.yaml
> 
> diff --git a/Documentation/devicetree/bindings/serial/rs485.txt b/Documentation/devicetree/bindings/serial/rs485.txt
> index b92592dff6dd..a7fe93efc4a5 100644
> --- a/Documentation/devicetree/bindings/serial/rs485.txt
> +++ b/Documentation/devicetree/bindings/serial/rs485.txt
> @@ -1,31 +1 @@
> -* 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:
> -- rs485-rts-delay: prop-encoded-array <a b> where:
> -  * a is the delay between 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.
> -  If this property is not specified, <0 0> is assumed.
> -- rs485-rts-active-low: drive RTS low when sending (default is high).
> -- 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
> -  while 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
> -	};
> -
> +See rs485.yaml
> diff --git a/Documentation/devicetree/bindings/serial/rs485.yaml b/Documentation/devicetree/bindings/serial/rs485.yaml
> new file mode 100644
> index 000000000000..65c6a98969a8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/serial/rs485.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/serial/rs485.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: RS485 serial communications Bindings
> +
> +description: 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.
> +
> +maintainers:
> +  -  Rob Herring <robh@kernel.org>
> +
> +properties:
> +  rs485-rts-delay:
> +    description: prop-encoded-array <a b>
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32-matrix
> +      - items:
> +          items:
> +            - description:
> +                Delay between rts signal and beginning of data sent in milliseconds.
> +                It corresponds to the delay before sending data.
> +              $ref: "/schemas/types.yaml#/definitions/uint32"

This is not correct. The types only apply to whole properties.

Is there a maximum? Seems like 1 sec would be more than anyone would 
ever want?

> +              default: 0
> +            - description:
> +                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.
> +              $ref: "/schemas/types.yaml#/definitions/uint32"
> +              default: 0
> +
> +  rs485-rts-active-low:
> +    description: drive RTS low when sending (default is high).
> +    $ref: /schemas/types.yaml#/definitions/flag
> +
> +  linux,rs485-enabled-at-boot-time:
> +    description: enables the rs485 feature at boot time. It can be disabled later with proper ioctl.
> +    $ref: /schemas/types.yaml#/definitions/flag
> +
> +  rs485-rx-during-tx:
> +   description: enables the receiving of data even while sending data.
> +   $ref: /schemas/types.yaml#/definitions/flag
> -- 
> 2.15.0
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/serial/rs485.txt b/Documentation/devicetree/bindings/serial/rs485.txt
index b92592dff6dd..a7fe93efc4a5 100644
--- a/Documentation/devicetree/bindings/serial/rs485.txt
+++ b/Documentation/devicetree/bindings/serial/rs485.txt
@@ -1,31 +1 @@ 
-* 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:
-- rs485-rts-delay: prop-encoded-array <a b> where:
-  * a is the delay between 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.
-  If this property is not specified, <0 0> is assumed.
-- rs485-rts-active-low: drive RTS low when sending (default is high).
-- 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
-  while 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
-	};
-
+See rs485.yaml
diff --git a/Documentation/devicetree/bindings/serial/rs485.yaml b/Documentation/devicetree/bindings/serial/rs485.yaml
new file mode 100644
index 000000000000..65c6a98969a8
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/rs485.yaml
@@ -0,0 +1,45 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/serial/rs485.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: RS485 serial communications Bindings
+
+description: 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.
+
+maintainers:
+  -  Rob Herring <robh@kernel.org>
+
+properties:
+  rs485-rts-delay:
+    description: prop-encoded-array <a b>
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-matrix
+      - items:
+          items:
+            - description:
+                Delay between rts signal and beginning of data sent in milliseconds.
+                It corresponds to the delay before sending data.
+              $ref: "/schemas/types.yaml#/definitions/uint32"
+              default: 0
+            - description:
+                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.
+              $ref: "/schemas/types.yaml#/definitions/uint32"
+              default: 0
+
+  rs485-rts-active-low:
+    description: drive RTS low when sending (default is high).
+    $ref: /schemas/types.yaml#/definitions/flag
+
+  linux,rs485-enabled-at-boot-time:
+    description: enables the rs485 feature at boot time. It can be disabled later with proper ioctl.
+    $ref: /schemas/types.yaml#/definitions/flag
+
+  rs485-rx-during-tx:
+   description: enables the receiving of data even while sending data.
+   $ref: /schemas/types.yaml#/definitions/flag