xref: /linux/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
19c81ef43SNeil Armstrong# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
29c81ef43SNeil Armstrong%YAML 1.2
39c81ef43SNeil Armstrong---
49c81ef43SNeil Armstrong$id: http://devicetree.org/schemas/input/touchscreen/goodix,gt9916.yaml#
59c81ef43SNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml#
69c81ef43SNeil Armstrong
79c81ef43SNeil Armstrongtitle: Goodix Berlin series touchscreen controller
89c81ef43SNeil Armstrong
99c81ef43SNeil Armstrongdescription: The Goodix Berlin series of touchscreen controllers
109c81ef43SNeil Armstrong  be connected to either I2C or SPI buses.
119c81ef43SNeil Armstrong
129c81ef43SNeil Armstrongmaintainers:
139c81ef43SNeil Armstrong  - Neil Armstrong <neil.armstrong@linaro.org>
149c81ef43SNeil Armstrong
159c81ef43SNeil ArmstrongallOf:
169c81ef43SNeil Armstrong  - $ref: touchscreen.yaml#
179c81ef43SNeil Armstrong  - $ref: /schemas/spi/spi-peripheral-props.yaml#
189c81ef43SNeil Armstrong
199c81ef43SNeil Armstrongproperties:
209c81ef43SNeil Armstrong  compatible:
219c81ef43SNeil Armstrong    enum:
22*8d276425SJens Reidel      - goodix,gt9897
239c81ef43SNeil Armstrong      - goodix,gt9916
249c81ef43SNeil Armstrong
259c81ef43SNeil Armstrong  reg:
269c81ef43SNeil Armstrong    maxItems: 1
279c81ef43SNeil Armstrong
289c81ef43SNeil Armstrong  interrupts:
299c81ef43SNeil Armstrong    maxItems: 1
309c81ef43SNeil Armstrong
319c81ef43SNeil Armstrong  reset-gpios:
329c81ef43SNeil Armstrong    maxItems: 1
339c81ef43SNeil Armstrong
349c81ef43SNeil Armstrong  avdd-supply:
359c81ef43SNeil Armstrong    description: Analog power supply regulator on AVDD pin
369c81ef43SNeil Armstrong
379c81ef43SNeil Armstrong  vddio-supply:
389c81ef43SNeil Armstrong    description: power supply regulator on VDDIO pin
399c81ef43SNeil Armstrong
409c81ef43SNeil Armstrong  spi-max-frequency: true
419c81ef43SNeil Armstrong  touchscreen-inverted-x: true
429c81ef43SNeil Armstrong  touchscreen-inverted-y: true
439c81ef43SNeil Armstrong  touchscreen-size-x: true
449c81ef43SNeil Armstrong  touchscreen-size-y: true
459c81ef43SNeil Armstrong  touchscreen-swapped-x-y: true
469c81ef43SNeil Armstrong
479c81ef43SNeil ArmstrongadditionalProperties: false
489c81ef43SNeil Armstrong
499c81ef43SNeil Armstrongrequired:
509c81ef43SNeil Armstrong  - compatible
519c81ef43SNeil Armstrong  - reg
529c81ef43SNeil Armstrong  - interrupts
539c81ef43SNeil Armstrong  - avdd-supply
549c81ef43SNeil Armstrong  - touchscreen-size-x
559c81ef43SNeil Armstrong  - touchscreen-size-y
569c81ef43SNeil Armstrong
579c81ef43SNeil Armstrongexamples:
589c81ef43SNeil Armstrong  - |
599c81ef43SNeil Armstrong    #include <dt-bindings/interrupt-controller/irq.h>
609c81ef43SNeil Armstrong    #include <dt-bindings/gpio/gpio.h>
619c81ef43SNeil Armstrong    i2c {
629c81ef43SNeil Armstrong      #address-cells = <1>;
639c81ef43SNeil Armstrong      #size-cells = <0>;
649c81ef43SNeil Armstrong      touchscreen@5d {
659c81ef43SNeil Armstrong        compatible = "goodix,gt9916";
669c81ef43SNeil Armstrong        reg = <0x5d>;
679c81ef43SNeil Armstrong        interrupt-parent = <&gpio>;
689c81ef43SNeil Armstrong        interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
699c81ef43SNeil Armstrong        reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
709c81ef43SNeil Armstrong        avdd-supply = <&ts_avdd>;
719c81ef43SNeil Armstrong        touchscreen-size-x = <1024>;
729c81ef43SNeil Armstrong        touchscreen-size-y = <768>;
739c81ef43SNeil Armstrong      };
749c81ef43SNeil Armstrong    };
759c81ef43SNeil Armstrong  - |
769c81ef43SNeil Armstrong    #include <dt-bindings/interrupt-controller/irq.h>
779c81ef43SNeil Armstrong    #include <dt-bindings/gpio/gpio.h>
789c81ef43SNeil Armstrong    spi {
799c81ef43SNeil Armstrong      #address-cells = <1>;
809c81ef43SNeil Armstrong      #size-cells = <0>;
819c81ef43SNeil Armstrong      num-cs = <1>;
829c81ef43SNeil Armstrong      cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
839c81ef43SNeil Armstrong      touchscreen@0 {
849c81ef43SNeil Armstrong        compatible = "goodix,gt9916";
859c81ef43SNeil Armstrong        reg = <0>;
869c81ef43SNeil Armstrong        interrupt-parent = <&gpio>;
879c81ef43SNeil Armstrong        interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
889c81ef43SNeil Armstrong        reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
899c81ef43SNeil Armstrong        avdd-supply = <&ts_avdd>;
909c81ef43SNeil Armstrong        spi-max-frequency = <1000000>;
919c81ef43SNeil Armstrong        touchscreen-size-x = <1024>;
929c81ef43SNeil Armstrong        touchscreen-size-y = <768>;
939c81ef43SNeil Armstrong      };
949c81ef43SNeil Armstrong    };
959c81ef43SNeil Armstrong
969c81ef43SNeil Armstrong...
97