# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/goodix,gt7986u-spifw.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Goodix GT7986U SPI HID Touchscreen

maintainers:
  - Charles Wang <charles.goodix@gmail.com>

description: |
  Supports the Goodix GT7986U touchscreen.
  This touch controller reports data packaged according to the HID protocol
  over the SPI bus, but it is incompatible with Microsoft's HID-over-SPI protocol.

  NOTE: these bindings are distinct from the bindings used with the
  GT7986U when the chip is running I2C firmware. This is because there's
  not a single device that talks over both I2C and SPI but rather
  distinct touchscreens that happen to be built with the same ASIC but
  that are distinct products running distinct firmware.

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    enum:
      - goodix,gt7986u-spifw

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  spi-max-frequency: true

required:
  - compatible
  - reg
  - interrupts
  - reset-gpios

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/gpio/gpio.h>

    spi {
      #address-cells = <1>;
      #size-cells = <0>;

      touchscreen@0 {
        compatible = "goodix,gt7986u-spifw";
        reg = <0>;
        interrupt-parent = <&gpio>;
        interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
        reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
        spi-max-frequency = <10000000>;
      };
    };

...
