On Tue, Jan 28, 2020 at 11:14:55AM +0100, Benjamin Gaignard wrote: > Convert the EDT-FT5x06 to DT schema using json-schema. > > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxx> > --- > .../bindings/input/touchscreen/edt-ft5x06.txt | 75 ------------- > .../bindings/input/touchscreen/edt-ft5x06.yaml | 119 +++++++++++++++++++++ > 2 files changed, 119 insertions(+), 75 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt > deleted file mode 100644 > index 0f6950073d6f..000000000000 > --- a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt > +++ /dev/null > @@ -1,75 +0,0 @@ > -FocalTech EDT-FT5x06 Polytouch driver > -===================================== > - > -There are 5 variants of the chip for various touch panel sizes > -FT5206GE1 2.8" .. 3.8" > -FT5306DE4 4.3" .. 7" > -FT5406EE8 7" .. 8.9" > -FT5506EEG 7" .. 8.9" > -FT5726NEI 5.7” .. 11.6" > - > -The software interface is identical for all those chips, so that > -currently there is no need for the driver to distinguish between the > -different chips. Nevertheless distinct compatible strings are used so > -that a distinction can be added if necessary without changing the DT > -bindings. > - > - > -Required properties: > - - compatible: "edt,edt-ft5206" > - or: "edt,edt-ft5306" > - or: "edt,edt-ft5406" > - or: "edt,edt-ft5506" > - or: "evervision,ev-ft5726" > - or: "focaltech,ft6236" > - > - - reg: I2C slave address of the chip (0x38) > - - interrupts: interrupt specification for the touchdetect > - interrupt > - > -Optional properties: > - - reset-gpios: GPIO specification for the RESET input > - - wake-gpios: GPIO specification for the WAKE input > - - vcc-supply: Regulator that supplies the touchscreen > - > - - pinctrl-names: should be "default" > - - pinctrl-0: a phandle pointing to the pin settings for the > - control gpios > - > - - threshold: allows setting the "click"-threshold in the range > - from 0 to 80. > - > - - gain: allows setting the sensitivity in the range from 0 to > - 31. Note that lower values indicate higher > - sensitivity. > - > - - offset: allows setting the edge compensation in the range from > - 0 to 31. > - > - - offset-x: Same as offset, but applies only to the horizontal position. > - Range from 0 to 80, only supported by evervision,ev-ft5726 > - devices. > - > - - offset-y: Same as offset, but applies only to the vertical position. > - Range from 0 to 80, only supported by evervision,ev-ft5726 > - devices. > - > - - touchscreen-size-x : See touchscreen.txt > - - touchscreen-size-y : See touchscreen.txt > - - touchscreen-fuzz-x : See touchscreen.txt > - - touchscreen-fuzz-y : See touchscreen.txt > - - touchscreen-inverted-x : See touchscreen.txt > - - touchscreen-inverted-y : See touchscreen.txt > - - touchscreen-swapped-x-y : See touchscreen.txt > - > -Example: > - polytouch: edt-ft5x06@38 { > - compatible = "edt,edt-ft5406", "edt,edt-ft5x06"; > - reg = <0x38>; > - pinctrl-names = "default"; > - pinctrl-0 = <&edt_ft5x06_pins>; > - interrupt-parent = <&gpio2>; > - interrupts = <5 IRQ_TYPE_EDGE_FALLING>; > - reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; > - wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; > - }; > diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml > new file mode 100644 > index 000000000000..178b7aea0f83 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml > @@ -0,0 +1,119 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/touchscreen/edt-ft5x06.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: FocalTech EDT-FT5x06 Polytouch Bindings > + > +description: There are 5 variants of the chip for various touch panel sizes > + FT5206GE1 2.8" .. 3.8" > + FT5306DE4 4.3" .. 7" > + FT5406EE8 7" .. 8.9" > + FT5506EEG 7" .. 8.9" > + FT5726NEI 5.7” .. 11.6" This needs a '|' to preserve formatting. (Running this into python and back out to yaml would clobber it.) > + > +maintainers: > + - Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > + > +allOf: > + - $ref: touchscreen.yaml# > + - if: > + properties: > + compatible: > + contains: > + enum: > + - evervision,ev-ft5726 > + > + then: > + properties: > + offset-x: true > + offset-y: true > + > +properties: > + compatible: > + enum: > + - edt,edt-ft5206 > + - edt,edt-ft5306 > + - edt,edt-ft5406 > + - edt,edt-ft5506 > + - evervision,ev-ft5726 > + - focaltech,ft6236 > + > + reg: > + enum: [ 0x38 ] const: 0x38 > + > + interrupts: > + maxItems: 1 > + > + reset-gpios: > + maxItems: 1 > + > + wake-gpios: > + maxItems: 1 > + > + vcc-supply: > + maxItems: 1 > + > + gain: > + description: Allows setting the sensitivity in the range from 0 to 31. > + Note that lower values indicate higher sensitivity. > + $ref: /schemas/types.yaml#/definitions/uint32 Needs to be under an 'allOf' or minimum/maximum will be ignored. And the others here... > + minimum: 0 > + maximum: 31 > + > + offset: > + description: Allows setting the edge compensation in the range from 0 to 31. > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 31 > + > + offset-x: > + description: Same as offset, but applies only to the horizontal position. > + Range from 0 to 80, only supported by evervision,ev-ft5726 devices. > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 80 > + > + offset-y: > + description: Same as offset, but applies only to the vertical position. > + Range from 0 to 80, only supported by evervision,ev-ft5726 devices. > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 80 > + > + touchscreen-size-x: true > + touchscreen-size-y: true > + touchscreen-fuzz-x: true > + touchscreen-fuzz-y: true > + touchscreen-inverted-x: true > + touchscreen-inverted-y: true > + touchscreen-swapped-x-y: true > + interrupt-controller: true > + > +additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + i2c@00000000 { > + #address-cells = <1>; > + #size-cells = <0>; > + edt-ft5x06@38 { > + compatible = "edt,edt-ft5406"; > + reg = <0x38>; > + interrupt-parent = <&gpio2>; > + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; > + wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>; > + }; > + }; > + > +... > + > -- > 2.15.0 >