xref: /linux/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml (revision 252c4711973de4e4f3ecddcc18912aecfd4e537c)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/touchscreen/goodix,gt9916.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Goodix Berlin series touchscreen controller
8
9description: The Goodix Berlin series of touchscreen controllers
10  be connected to either I2C or SPI buses.
11
12maintainers:
13  - Neil Armstrong <neil.armstrong@linaro.org>
14
15allOf:
16  - $ref: touchscreen.yaml#
17  - $ref: /schemas/spi/spi-peripheral-props.yaml#
18
19properties:
20  compatible:
21    enum:
22      - goodix,gt9897
23      - goodix,gt9916
24
25  reg:
26    maxItems: 1
27
28  interrupts:
29    maxItems: 1
30
31  reset-gpios:
32    maxItems: 1
33
34  avdd-supply:
35    description: Analog power supply regulator on AVDD pin
36
37  vddio-supply:
38    description: power supply regulator on VDDIO pin
39
40  spi-max-frequency: true
41  touchscreen-inverted-x: true
42  touchscreen-inverted-y: true
43  touchscreen-size-x: true
44  touchscreen-size-y: true
45  touchscreen-swapped-x-y: true
46
47additionalProperties: false
48
49required:
50  - compatible
51  - reg
52  - interrupts
53  - avdd-supply
54  - touchscreen-size-x
55  - touchscreen-size-y
56
57examples:
58  - |
59    #include <dt-bindings/interrupt-controller/irq.h>
60    #include <dt-bindings/gpio/gpio.h>
61    i2c {
62      #address-cells = <1>;
63      #size-cells = <0>;
64      touchscreen@5d {
65        compatible = "goodix,gt9916";
66        reg = <0x5d>;
67        interrupt-parent = <&gpio>;
68        interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
69        reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
70        avdd-supply = <&ts_avdd>;
71        touchscreen-size-x = <1024>;
72        touchscreen-size-y = <768>;
73      };
74    };
75  - |
76    #include <dt-bindings/interrupt-controller/irq.h>
77    #include <dt-bindings/gpio/gpio.h>
78    spi {
79      #address-cells = <1>;
80      #size-cells = <0>;
81      num-cs = <1>;
82      cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
83      touchscreen@0 {
84        compatible = "goodix,gt9916";
85        reg = <0>;
86        interrupt-parent = <&gpio>;
87        interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
88        reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
89        avdd-supply = <&ts_avdd>;
90        spi-max-frequency = <1000000>;
91        touchscreen-size-x = <1024>;
92        touchscreen-size-y = <768>;
93      };
94    };
95
96...
97