On Wed, Sep 01, 2021 at 11:18:24AM +0200, Maxime Ripard wrote: > The Silead GSL1680 Touchscreen Controller is supported by Linux thanks > to its device tree binding. > > Now that we have the DT validation in place, let's convert the device > tree bindings for that driver over to a YAML schema. > > Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > Cc: linux-input@xxxxxxxxxxxxxxx > Signed-off-by: Maxime Ripard <maxime@xxxxxxxxxx> > > --- > > Changes from v1: > - Added maximum to the number of fingers > --- > .../input/touchscreen/silead,gsl1680.yaml | 91 +++++++++++++++++++ > .../input/touchscreen/silead_gsl1680.txt | 44 --------- > 2 files changed, 91 insertions(+), 44 deletions(-) > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml > delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml > new file mode 100644 > index 000000000000..cc064696ac28 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml > @@ -0,0 +1,91 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/touchscreen/silead,gsl1680.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Silead GSL1680 Touchscreen Controller Device Tree Bindings > + > +maintainers: > + - Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > + > +allOf: > + - $ref: touchscreen.yaml# > + > +properties: > + compatible: > + enum: > + - silead,gsl1680 > + - silead,gsl1688 > + - silead,gsl3670 > + - silead,gsl3675 > + - silead,gsl3692 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-gpios: > + maxItems: 1 > + > + firmware: Should be 'firmware-name' > + $ref: /schemas/types.yaml#/definitions/string > + description: > > + File basename for board specific firmware > + > + silead,max-fingers: > + $ref: /schemas/types.yaml#/definitions/uint32 > + maximum: 5 > + description: > > + Maximum number of fingers the touchscreen can detect > + > + silead,home-button: > + type: boolean > + description: > > + Does the device have a capacitive home-button build into the > + touchscreen? > + > + avdd-supply: > + description: > > + Regulator phandle for controller AVDD > + > + vddio-supply: > + description: > > + Regulator phandle for controller VDDIO > + > +unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + - power-gpios > + - touchscreen-size-x > + - touchscreen-size-y > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + touchscreen@40 { > + compatible = "silead,gsl1680"; > + reg = <0x40>; > + interrupt-parent = <&pio>; > + interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; > + power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; > + touchscreen-size-x = <480>; > + touchscreen-size-y = <800>; > + touchscreen-inverted-x; > + touchscreen-swapped-x-y; > + silead,max-fingers = <5>; > + }; > + }; > + > +... > diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt > deleted file mode 100644 > index d67e558e5ab5..000000000000 > --- a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt > +++ /dev/null > @@ -1,44 +0,0 @@ > -* GSL 1680 touchscreen controller > - > -Required properties: > -- compatible : Must be one of the following, depending on the model: > - "silead,gsl1680" > - "silead,gsl1688" > - "silead,gsl3670" > - "silead,gsl3675" > - "silead,gsl3692" > -- reg : I2C slave address of the chip (0x40) > -- interrupts : interrupt specification for the gsl1680 interrupt > -- power-gpios : Specification for the pin connected to the gsl1680's > - shutdown input. This needs to be driven high to take the > - gsl1680 out of its low power state > -- touchscreen-size-x : See touchscreen.txt > -- touchscreen-size-y : See touchscreen.txt > - > -Optional properties: > -- firmware-name : File basename (string) for board specific firmware > -- touchscreen-inverted-x : See touchscreen.txt > -- touchscreen-inverted-y : See touchscreen.txt > -- touchscreen-swapped-x-y : See touchscreen.txt > -- silead,max-fingers : maximum number of fingers the touchscreen can detect > -- silead,home-button : Boolean, set to true on devices which have a > - capacitive home-button build into the touchscreen > -- vddio-supply : regulator phandle for controller VDDIO > -- avdd-supply : regulator phandle for controller AVDD > - > -Example: > - > -i2c@00000000 { > - gsl1680: touchscreen@40 { > - compatible = "silead,gsl1680"; > - reg = <0x40>; > - interrupt-parent = <&pio>; > - interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>; > - power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; > - touchscreen-size-x = <480>; > - touchscreen-size-y = <800>; > - touchscreen-inverted-x; > - touchscreen-swapped-x-y; > - silead,max-fingers = <5>; > - }; > -}; > -- > 2.31.1 > >