162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/input/goodix,gt7375p.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Goodix GT7375P touchscreen
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Douglas Anderson <dianders@chromium.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  Supports the Goodix GT7375P touchscreen.
1462306a36Sopenharmony_ci  This touchscreen uses the i2c-hid protocol but has some non-standard
1562306a36Sopenharmony_ci  power sequencing required.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciallOf:
1862306a36Sopenharmony_ci  - $ref: /schemas/input/touchscreen/touchscreen.yaml#
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    oneOf:
2362306a36Sopenharmony_ci      - const: goodix,gt7375p
2462306a36Sopenharmony_ci      - items:
2562306a36Sopenharmony_ci          - const: goodix,gt7986u
2662306a36Sopenharmony_ci          - const: goodix,gt7375p
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  reg:
2962306a36Sopenharmony_ci    enum:
3062306a36Sopenharmony_ci      - 0x5d
3162306a36Sopenharmony_ci      - 0x14
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  interrupts:
3462306a36Sopenharmony_ci    maxItems: 1
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  panel: true
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  reset-gpios:
3962306a36Sopenharmony_ci    true
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  vdd-supply:
4262306a36Sopenharmony_ci    description: The 3.3V supply to the touchscreen.
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci  mainboard-vddio-supply:
4562306a36Sopenharmony_ci    description:
4662306a36Sopenharmony_ci      The supply on the main board needed to power up IO signals going
4762306a36Sopenharmony_ci      to the touchscreen. This supply need not go to the touchscreen
4862306a36Sopenharmony_ci      itself as long as it allows the main board to make signals compatible
4962306a36Sopenharmony_ci      with what the touchscreen is expecting for its IO rails.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci  goodix,no-reset-during-suspend:
5262306a36Sopenharmony_ci    description:
5362306a36Sopenharmony_ci      Set this to true to enforce the driver to not assert the reset GPIO
5462306a36Sopenharmony_ci      during suspend.
5562306a36Sopenharmony_ci      Due to potential touchscreen hardware flaw, back-powering could happen in
5662306a36Sopenharmony_ci      suspend if the power supply is on and with active-low reset GPIO asserted.
5762306a36Sopenharmony_ci      This property is used to avoid the back-powering issue.
5862306a36Sopenharmony_ci    type: boolean
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cirequired:
6162306a36Sopenharmony_ci  - compatible
6262306a36Sopenharmony_ci  - reg
6362306a36Sopenharmony_ci  - interrupts
6462306a36Sopenharmony_ci  - reset-gpios
6562306a36Sopenharmony_ci  - vdd-supply
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciadditionalProperties: false
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciexamples:
7062306a36Sopenharmony_ci  - |
7162306a36Sopenharmony_ci    #include <dt-bindings/clock/qcom,rpmh.h>
7262306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
7362306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci    i2c {
7662306a36Sopenharmony_ci      #address-cells = <1>;
7762306a36Sopenharmony_ci      #size-cells = <0>;
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci      ap_ts: touchscreen@5d {
8062306a36Sopenharmony_ci        compatible = "goodix,gt7375p";
8162306a36Sopenharmony_ci        reg = <0x5d>;
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci        interrupt-parent = <&tlmm>;
8462306a36Sopenharmony_ci        interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci        reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
8762306a36Sopenharmony_ci        vdd-supply = <&pp3300_ts>;
8862306a36Sopenharmony_ci      };
8962306a36Sopenharmony_ci    };
90