Skip to content

Commit 20bcb27

Browse files
charles-goodixJiri Kosina
authored andcommitted
dt-bindings: input: Goodix GT7986U SPI HID Touchscreen
The Goodix GT7986U touch controller report touch data according to the HID protocol through the SPI bus. However, 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. For some background, see discussion on the mailing lists in the thread: https://lore.kernel.org/r/20241018020815.3098263-2-charles.goodix@gmail.com Signed-off-by: Charles Wang <charles.goodix@gmail.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
1 parent 253ed27 commit 20bcb27

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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+
7+
title: Goodix GT7986U SPI HID Touchscreen
8+
9+
maintainers:
10+
- Charles Wang <charles.goodix@gmail.com>
11+
12+
description: |
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+
23+
allOf:
24+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
25+
26+
properties:
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+
42+
required:
43+
- compatible
44+
- reg
45+
- interrupts
46+
- reset-gpios
47+
48+
unevaluatedProperties: false
49+
50+
examples:
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+
...

0 commit comments

Comments
 (0)