xref: /linux/Documentation/devicetree/bindings/input/goodix,gt7986u-spifw.yaml (revision fcc79e1714e8c2b8e216dc3149812edd37884eef)
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,gt7986u-spifw.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Goodix GT7986U SPI HID Touchscreen
8
9maintainers:
10  - Charles Wang <charles.goodix@gmail.com>
11
12description: |
13  Supports the Goodix GT7986U touchscreen.
14  This touch controller reports data packaged according to the HID protocol
15  over the SPI bus, but it is incompatible with Microsoft's HID-over-SPI protocol.
16
17  NOTE: these bindings are distinct from the bindings used with the
18  GT7986U when the chip is running I2C firmware. This is because there's
19  not a single device that talks over both I2C and SPI but rather
20  distinct touchscreens that happen to be built with the same ASIC but
21  that are distinct products running distinct firmware.
22
23allOf:
24  - $ref: /schemas/spi/spi-peripheral-props.yaml#
25
26properties:
27  compatible:
28    enum:
29      - goodix,gt7986u-spifw
30
31  reg:
32    maxItems: 1
33
34  interrupts:
35    maxItems: 1
36
37  reset-gpios:
38    maxItems: 1
39
40  spi-max-frequency: true
41
42required:
43  - compatible
44  - reg
45  - interrupts
46  - reset-gpios
47
48unevaluatedProperties: false
49
50examples:
51  - |
52    #include <dt-bindings/interrupt-controller/irq.h>
53    #include <dt-bindings/gpio/gpio.h>
54
55    spi {
56      #address-cells = <1>;
57      #size-cells = <0>;
58
59      touchscreen@0 {
60        compatible = "goodix,gt7986u-spifw";
61        reg = <0>;
62        interrupt-parent = <&gpio>;
63        interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
64        reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
65        spi-max-frequency = <10000000>;
66      };
67    };
68
69...
70