Message ID | 20230606-topic-goodix-berlin-upstream-initial-v1-1-4a0741b8aefd@linaro.org |
---|---|
State | New |
Headers | show |
Series | input: touchscreen: add initial support for Goodix Berlin touchscreen IC | expand |
On 06/06/2023 16:31, Neil Armstrong wrote: > Document the Goodix GT9916 wich is part of the "Berlin" serie > of Touchscreen controllers IC from Goodix. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > .../bindings/input/touchscreen/goodix-berlin.yaml | 81 ++++++++++++++++++++++ Filename like compatible, so at least with vendor,device style. Preferably named exactly like compatible, since you have only one. > 1 file changed, 81 insertions(+) > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml b/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml > new file mode 100644 > index 000000000000..4c24a541e919 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml > @@ -0,0 +1,81 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/touchscreen/goodix-berlin.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Goodix Belin series touchscreen controller > + > +maintainers: > + - Neil Armstrong <neil.armstrong@linaro.org> > + > +allOf: > + - $ref: touchscreen.yaml# > + > +properties: > + compatible: > + enum: > + - goodix,gt9916 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + reset-gpios: > + maxItems: 1 > + > + avdd-supply: > + description: Analog power supply regulator on AVDD pin > + > + vddio-supply: > + description: GPIO power supply regulator on VDDIO pin > + > + spi-max-frequency: true > + touchscreen-inverted-x: true > + touchscreen-inverted-y: true > + touchscreen-size-x: true > + touchscreen-size-y: true > + touchscreen-swapped-x-y: true > + > +additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts I bet supplies are required - at least one of them. If hardware needs them, they should be required by the bindings. > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/gpio/gpio.h> > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + gt9916@5d { Node names should be generic. See also explanation and list of examples in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation touchscreen? > + compatible = "goodix,gt9916"; > + reg = <0x5d>; > + interrupt-parent = <&gpio>; > + interrupts = <25 IRQ_TYPE_LEVEL_LOW>; > + reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; > + }; > + }; Best regards, Krzysztof
On Tue, Jun 06, 2023 at 04:31:56PM +0200, Neil Armstrong wrote: > Document the Goodix GT9916 wich is part of the "Berlin" serie series > of Touchscreen controllers IC from Goodix. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > .../bindings/input/touchscreen/goodix-berlin.yaml | 81 ++++++++++++++++++++++ > 1 file changed, 81 insertions(+) > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml b/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml > new file mode 100644 > index 000000000000..4c24a541e919 > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml > @@ -0,0 +1,81 @@ > +# SPDX-License-Identifier: GPL-2.0 Dual license > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/touchscreen/goodix-berlin.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Goodix Belin series touchscreen controller Berlin? > + > +maintainers: > + - Neil Armstrong <neil.armstrong@linaro.org> Would be nice to have a description which includes that the device has both I2C and SPI interfaces. > + > +allOf: > + - $ref: touchscreen.yaml# SPI devices should include spi-peripheral-props.yaml > + > +properties: > + compatible: > + enum: > + - goodix,gt9916 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + reset-gpios: > + maxItems: 1 > + > + avdd-supply: > + description: Analog power supply regulator on AVDD pin > + > + vddio-supply: > + description: GPIO power supply regulator on VDDIO pin > + > + spi-max-frequency: true > + touchscreen-inverted-x: true > + touchscreen-inverted-y: true > + touchscreen-size-x: true > + touchscreen-size-y: true > + touchscreen-swapped-x-y: true > + > +additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/gpio/gpio.h> > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + gt9916@5d { > + compatible = "goodix,gt9916"; > + reg = <0x5d>; > + interrupt-parent = <&gpio>; > + interrupts = <25 IRQ_TYPE_LEVEL_LOW>; > + reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; > + }; > + }; > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/gpio/gpio.h> > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + num-cs = <1>; > + cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; > + gt9916@0 { > + compatible = "goodix,gt9916"; > + reg = <0>; > + interrupt-parent = <&gpio>; > + interrupts = <25 IRQ_TYPE_LEVEL_LOW>; > + reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; > + }; > + }; > + > +... > > -- > 2.34.1 >
diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml b/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml new file mode 100644 index 000000000000..4c24a541e919 --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/goodix-berlin.yaml @@ -0,0 +1,81 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/touchscreen/goodix-berlin.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Goodix Belin series touchscreen controller + +maintainers: + - Neil Armstrong <neil.armstrong@linaro.org> + +allOf: + - $ref: touchscreen.yaml# + +properties: + compatible: + enum: + - goodix,gt9916 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + + avdd-supply: + description: Analog power supply regulator on AVDD pin + + vddio-supply: + description: GPIO power supply regulator on VDDIO pin + + spi-max-frequency: true + touchscreen-inverted-x: true + touchscreen-inverted-y: true + touchscreen-size-x: true + touchscreen-size-y: true + touchscreen-swapped-x-y: true + +additionalProperties: false + +required: + - compatible + - reg + - interrupts + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + gt9916@5d { + compatible = "goodix,gt9916"; + reg = <0x5d>; + interrupt-parent = <&gpio>; + interrupts = <25 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; + }; + }; + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> + spi { + #address-cells = <1>; + #size-cells = <0>; + num-cs = <1>; + cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; + gt9916@0 { + compatible = "goodix,gt9916"; + reg = <0>; + interrupt-parent = <&gpio>; + interrupts = <25 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; + }; + }; + +...
Document the Goodix GT9916 wich is part of the "Berlin" serie of Touchscreen controllers IC from Goodix. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- .../bindings/input/touchscreen/goodix-berlin.yaml | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+)