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