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