On Tue, Jan 7, 2020 at 7:09 AM Benjamin Gaignard <benjamin.gaignard@xxxxxx> wrote: > > Convert the Goodix binding to DT schema format using json-schema > > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxx> > --- > .../bindings/input/touchscreen/goodix.txt | 50 ---------------- > .../bindings/input/touchscreen/goodix.yaml | 69 ++++++++++++++++++++++ > 2 files changed, 69 insertions(+), 50 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/goodix.txt > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/goodix.yaml > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix.txt b/Documentation/devicetree/bindings/input/touchscreen/goodix.txt > deleted file mode 100644 > index fc03ea4cf5ab..000000000000 > --- a/Documentation/devicetree/bindings/input/touchscreen/goodix.txt > +++ /dev/null > @@ -1,50 +0,0 @@ > -Device tree bindings for Goodix GT9xx series touchscreen controller > - > -Required properties: > - > - - compatible : Should be "goodix,gt1151" > - or "goodix,gt5663" > - or "goodix,gt5688" > - or "goodix,gt911" > - or "goodix,gt9110" > - or "goodix,gt912" > - or "goodix,gt927" > - or "goodix,gt9271" > - or "goodix,gt928" > - or "goodix,gt967" > - - reg : I2C address of the chip. Should be 0x5d or 0x14 > - - interrupts : Interrupt to which the chip is connected > - > -Optional properties: > - > - - irq-gpios : GPIO pin used for IRQ. The driver uses the > - interrupt gpio pin as output to reset the device. > - - reset-gpios : GPIO pin used for reset > - - AVDD28-supply : Analog power supply regulator on AVDD28 pin > - - VDDIO-supply : GPIO power supply regulator on VDDIO pin > - - touchscreen-inverted-x > - - touchscreen-inverted-y > - - touchscreen-size-x > - - touchscreen-size-y > - - touchscreen-swapped-x-y > - > -The touchscreen-* properties are documented in touchscreen.txt in this > -directory. > - > -Example: > - > - i2c@00000000 { > - /* ... */ > - > - gt928@5d { > - compatible = "goodix,gt928"; > - reg = <0x5d>; > - interrupt-parent = <&gpio>; > - interrupts = <0 0>; > - > - irq-gpios = <&gpio1 0 0>; > - reset-gpios = <&gpio1 1 0>; > - }; > - > - /* ... */ > - }; > diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix.yaml b/Documentation/devicetree/bindings/input/touchscreen/goodix.yaml > new file mode 100644 > index 000000000000..05b52d359ac5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/touchscreen/goodix.yaml > @@ -0,0 +1,69 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/touchscreen/goodix.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Goodix GT9xx series touchscreen controller Bindings > + > +maintainers: > + - Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > + > +allOf: > + - $ref: touchscreen.yaml# > + > +properties: > + compatible: > + enum: > + - goodix,gt1151 > + - goodix,gt5663 > + - goodix,gt5688 > + - goodix,gt911 > + - goodix,gt9110 > + - goodix,gt912 > + - goodix,gt927 > + - goodix,gt9271 > + - goodix,gt928 > + - goodix,gt967 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + irq-gpios: > + maxItems: 1 > + > + reset-gpios: > + maxItems: 1 > + > + AVDD28-supply: > + description: Analog power supply regulator on AVDD28 pin > + > + VDDIO-supply: > + description: GPIO power supply regulator on VDDIO pin > + > +additionalProperties: false This doesn't work if you have any touchscreen properties as this doesn't account for things referenced. You need add them in this schema: touchscreen-inverted-x: true This serves 2 purposes. It prevents additional properties not defined here and defines which of the common properties are valid for this device. Rob