Re: [PATCH 1/2] dt-bindings: ps2-gpio: convert binding to json-schema

From: Danilo Krummrich
Date: Mon Feb 14 2022 - 17:53:22 EST


On Mon, Feb 14, 2022 at 10:49:27PM +0100, Krzysztof Kozlowski wrote:
> On 12/02/2022 00:31, Danilo Krummrich wrote:
> > Convert the ps2-gpio dt-binding documentation to DT schema format using
> > the json-schema.
> >
> > Signed-off-by: Danilo Krummrich <danilokrummrich@xxxxxxxxxxxxx>
> > ---
> > .../devicetree/bindings/serio/ps2-gpio.txt | 23 --------
> > .../devicetree/bindings/serio/ps2-gpio.yaml | 52 +++++++++++++++++++
> > 2 files changed, 52 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..ec6fa7b40851
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/serio/ps2-gpio.yaml
> > @@ -0,0 +1,52 @@
> > +# 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 <danilokrummrich@xxxxxxxxxxxxx>
> > +
> > +properties:
> > + compatible:
> > + items:
>
> Hi,
>
> I think you do not expect more compatibles, so skip "items".
>
> > + - 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:
>
> This does not look like a standard property. You need "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:
>
> Also: compatible
>
> > + - data-gpios
> > + - clk-gpios
> > + - interrupts
> > +
> > +examples:
> > + - |
> > + ps2@0 {
>
> Does it compile cleanly? You used an unit-address but there is no reg.
Yes, it does. I will fix those up and send a v2.
>
> > + 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;
> > + };
>
>
> Best regards,
> Krzysztof

- Danilo