1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/goodix,gt7375p.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Goodix GT7375P touchscreen
8
9maintainers:
10  - Douglas Anderson <dianders@chromium.org>
11
12description:
13  Supports the Goodix GT7375P touchscreen.
14  This touchscreen uses the i2c-hid protocol but has some non-standard
15  power sequencing required.
16
17properties:
18  compatible:
19    oneOf:
20      - const: goodix,gt7375p
21      - items:
22          - const: goodix,gt7986u
23          - const: goodix,gt7375p
24
25  reg:
26    enum:
27      - 0x5d
28      - 0x14
29
30  interrupts:
31    maxItems: 1
32
33  reset-gpios:
34    true
35
36  vdd-supply:
37    description: The 3.3V supply to the touchscreen.
38
39  mainboard-vddio-supply:
40    description:
41      The supply on the main board needed to power up IO signals going
42      to the touchscreen. This supply need not go to the touchscreen
43      itself as long as it allows the main board to make signals compatible
44      with what the touchscreen is expecting for its IO rails.
45
46  goodix,no-reset-during-suspend:
47    description:
48      Set this to true to enforce the driver to not assert the reset GPIO
49      during suspend.
50      Due to potential touchscreen hardware flaw, back-powering could happen in
51      suspend if the power supply is on and with active-low reset GPIO asserted.
52      This property is used to avoid the back-powering issue.
53    type: boolean
54
55required:
56  - compatible
57  - reg
58  - interrupts
59  - reset-gpios
60  - vdd-supply
61
62additionalProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/clock/qcom,rpmh.h>
67    #include <dt-bindings/gpio/gpio.h>
68    #include <dt-bindings/interrupt-controller/irq.h>
69
70    i2c {
71      #address-cells = <1>;
72      #size-cells = <0>;
73
74      ap_ts: touchscreen@5d {
75        compatible = "goodix,gt7375p";
76        reg = <0x5d>;
77
78        interrupt-parent = <&tlmm>;
79        interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
80
81        reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
82        vdd-supply = <&pp3300_ts>;
83      };
84    };
85