2022-05-29 15:40:02

by Danilo Krummrich

[permalink] [raw]
Subject: [RESEND PATCH v3 1/2] dt-bindings: ps2-gpio: convert binding to json-schema

Convert the ps2-gpio dt-binding documentation to DT schema format using
the json-schema.

Reviewed-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
---
.../devicetree/bindings/serio/ps2-gpio.txt | 23 --------
.../devicetree/bindings/serio/ps2-gpio.yaml | 58 +++++++++++++++++++
2 files changed, 58 insertions(+), 23 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/serio/ps2-gpio.txt
create mode 100644 Documentation/devicetree/bindings/serio/ps2-gpio.yaml

diff --git a/Documentation/devicetree/bindings/serio/ps2-gpio.txt b/Documentation/devicetree/bindings/serio/ps2-gpio.txt
deleted file mode 100644
index 7b7bc9cdf986..000000000000
--- a/Documentation/devicetree/bindings/serio/ps2-gpio.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Device-Tree binding for ps/2 gpio device
-
-Required properties:
- - compatible = "ps2-gpio"
- - data-gpios: the data pin
- - clk-gpios: the clock pin
- - interrupts: Should trigger on the falling edge of the clock line.
-
-Optional properties:
- - write-enable: Indicates whether write function is provided
- to serio device. Possibly providing the write fn will not work, because
- of the tough timing requirements.
-
-Example nodes:
-
-ps2@0 {
- compatible = "ps2-gpio";
- interrupt-parent = <&gpio>;
- interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
- data-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
- clk-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
- write-enable;
-};
diff --git a/Documentation/devicetree/bindings/serio/ps2-gpio.yaml b/Documentation/devicetree/bindings/serio/ps2-gpio.yaml
new file mode 100644
index 000000000000..304132fd30c5
--- /dev/null
+++ b/Documentation/devicetree/bindings/serio/ps2-gpio.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/serio/ps2-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bindings for GPIO based PS/2
+
+maintainers:
+ - Danilo Krummrich <[email protected]>
+
+properties:
+ compatible:
+ const: ps2-gpio
+
+ data-gpios:
+ description:
+ the gpio used for the data signal
+ maxItems: 1
+
+ clk-gpios:
+ description:
+ the gpio used for the clock signal
+ maxItems: 1
+
+ interrupts:
+ description:
+ The given interrupt should trigger on the falling edge of the clock line.
+ maxItems: 1
+
+ write-enable:
+ type: boolean
+ description:
+ Indicates whether write function is provided to serio device. Possibly
+ providing the write function will not work, because of the tough timing
+ requirements.
+
+required:
+ - compatible
+ - data-gpios
+ - clk-gpios
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ ps2 {
+ compatible = "ps2-gpio";
+ interrupt-parent = <&gpio>;
+ interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
+ data-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
+ clk-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
+ write-enable;
+ };
--
2.36.1



2022-05-29 23:26:39

by Danilo Krummrich

[permalink] [raw]
Subject: [RESEND PATCH v3 2/2] dt-bindings: ps2-gpio: document bus signals open drain

The PS/2 bus defines data and clock line to be open drain, this should
be reflected in the gpio flags set in the binding.

Especially, this is important since the clock line sometimes is driven
by the host while being used as interrupt source.

Reviewed-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Danilo Krummrich <[email protected]>
---
.../devicetree/bindings/serio/ps2-gpio.yaml | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/serio/ps2-gpio.yaml b/Documentation/devicetree/bindings/serio/ps2-gpio.yaml
index 304132fd30c5..a63d9172346f 100644
--- a/Documentation/devicetree/bindings/serio/ps2-gpio.yaml
+++ b/Documentation/devicetree/bindings/serio/ps2-gpio.yaml
@@ -15,12 +15,18 @@ properties:

data-gpios:
description:
- the gpio used for the data signal
+ the gpio used for the data signal - this should be flagged as
+ active high using open drain with (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)
+ from <dt-bindings/gpio/gpio.h> since the signal is open drain by
+ definition
maxItems: 1

clk-gpios:
description:
- the gpio used for the clock signal
+ the gpio used for the clock signal - this should be flagged as
+ active high using open drain with (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)
+ from <dt-bindings/gpio/gpio.h> since the signal is open drain by
+ definition
maxItems: 1

interrupts:
@@ -52,7 +58,7 @@ examples:
compatible = "ps2-gpio";
interrupt-parent = <&gpio>;
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
- data-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
- clk-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
+ data-gpios = <&gpio 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ clk-gpios = <&gpio 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
write-enable;
};
--
2.36.1


2022-05-30 16:10:45

by Linus Walleij

[permalink] [raw]
Subject: Re: [RESEND PATCH v3 1/2] dt-bindings: ps2-gpio: convert binding to json-schema

On Sun, May 29, 2022 at 3:26 PM Danilo Krummrich
<[email protected]> wrote:

> Convert the ps2-gpio dt-binding documentation to DT schema format using
> the json-schema.
>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> Signed-off-by: Danilo Krummrich <[email protected]>

Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2022-05-30 18:47:05

by Linus Walleij

[permalink] [raw]
Subject: Re: [RESEND PATCH v3 2/2] dt-bindings: ps2-gpio: document bus signals open drain

On Sun, May 29, 2022 at 3:26 PM Danilo Krummrich
<[email protected]> wrote:

> The PS/2 bus defines data and clock line to be open drain, this should
> be reflected in the gpio flags set in the binding.
>
> Especially, this is important since the clock line sometimes is driven
> by the host while being used as interrupt source.
>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> Signed-off-by: Danilo Krummrich <[email protected]>

Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2022-06-06 04:48:35

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [RESEND PATCH v3 2/2] dt-bindings: ps2-gpio: document bus signals open drain

On Sun, 29 May 2022 15:26:38 +0200, Danilo Krummrich wrote:
> The PS/2 bus defines data and clock line to be open drain, this should
> be reflected in the gpio flags set in the binding.
>
> Especially, this is important since the clock line sometimes is driven
> by the host while being used as interrupt source.
>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> Signed-off-by: Danilo Krummrich <[email protected]>
> ---
> .../devicetree/bindings/serio/ps2-gpio.yaml | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>

Applied, thanks!

2022-06-06 06:12:36

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [RESEND PATCH v3 1/2] dt-bindings: ps2-gpio: convert binding to json-schema

On Sun, 29 May 2022 15:26:37 +0200, Danilo Krummrich wrote:
> Convert the ps2-gpio dt-binding documentation to DT schema format using
> the json-schema.
>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> Signed-off-by: Danilo Krummrich <[email protected]>
> ---
> .../devicetree/bindings/serio/ps2-gpio.txt | 23 --------
> .../devicetree/bindings/serio/ps2-gpio.yaml | 58 +++++++++++++++++++
> 2 files changed, 58 insertions(+), 23 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/serio/ps2-gpio.txt
> create mode 100644 Documentation/devicetree/bindings/serio/ps2-gpio.yaml
>

Applied, thanks!