Skip to content

Commit 75e16c8

Browse files
charles-goodixJiri Kosina
authored and
Jiri Kosina
committed
HID: hid-goodix: Add Goodix HID-over-SPI driver
This patch introduces a new driver to support the Goodix GT7986U touch controller. This device is not compatible with Microsoft's HID-over-SPI protocol and therefore needs to implement its own flavor. The data reported is packaged according to the HID protocol but uses SPI for communication to improve speed. This enables the device to transmit not only coordinate data but also corresponding raw data that can be accessed by user-space programs through the hidraw interface. The raw data can be utilized for functions like palm rejection, thereby improving the touch experience. Key features: - Device connection confirmation and initialization - IRQ-based event reporting to the input subsystem - Support for HIDRAW operations (GET_REPORT and SET_REPORT) Reviewed-by: Dmitry Torokhov <[email protected]> Signed-off-by: Charles Wang <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent 6e44365 commit 75e16c8

File tree

3 files changed

+817
-0
lines changed

3 files changed

+817
-0
lines changed

drivers/hid/Kconfig

+6
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,12 @@ config HID_VIVALDI_COMMON
404404
option so that drivers can use common code to parse the HID
405405
descriptors for vivaldi function row keymap.
406406

407+
config HID_GOODIX_SPI
408+
tristate "Goodix GT7986U SPI HID touchscreen"
409+
depends on SPI_MASTER
410+
help
411+
Support for Goodix GT7986U SPI HID touchscreen device.
412+
407413
config HID_GOOGLE_HAMMER
408414
tristate "Google Hammer Keyboard"
409415
select HID_VIVALDI_COMMON

drivers/hid/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ obj-$(CONFIG_HID_GEMBIRD) += hid-gembird.o
5454
obj-$(CONFIG_HID_GFRM) += hid-gfrm.o
5555
obj-$(CONFIG_HID_GLORIOUS) += hid-glorious.o
5656
obj-$(CONFIG_HID_VIVALDI_COMMON) += hid-vivaldi-common.o
57+
obj-$(CONFIG_HID_GOODIX_SPI) += hid-goodix-spi.o
5758
obj-$(CONFIG_HID_GOOGLE_HAMMER) += hid-google-hammer.o
5859
obj-$(CONFIG_HID_GOOGLE_STADIA_FF) += hid-google-stadiaff.o
5960
obj-$(CONFIG_HID_VIVALDI) += hid-vivaldi.o

0 commit comments

Comments
 (0)