Commit 75e16c8c authored by Charles Wang's avatar Charles Wang Committed by Jiri Kosina
Browse files

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: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarCharles Wang <charles.goodix@gmail.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
parent 6e443653
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -404,6 +404,12 @@ config HID_VIVALDI_COMMON
	  option so that drivers can use common code to parse the HID
	  descriptors for vivaldi function row keymap.

config HID_GOODIX_SPI
	tristate "Goodix GT7986U SPI HID touchscreen"
	depends on SPI_MASTER
	help
	  Support for Goodix GT7986U SPI HID touchscreen device.

config HID_GOOGLE_HAMMER
	tristate "Google Hammer Keyboard"
	select HID_VIVALDI_COMMON
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ obj-$(CONFIG_HID_GEMBIRD) += hid-gembird.o
obj-$(CONFIG_HID_GFRM)		+= hid-gfrm.o
obj-$(CONFIG_HID_GLORIOUS)  += hid-glorious.o
obj-$(CONFIG_HID_VIVALDI_COMMON) += hid-vivaldi-common.o
obj-$(CONFIG_HID_GOODIX_SPI)	+= hid-goodix-spi.o
obj-$(CONFIG_HID_GOOGLE_HAMMER)	+= hid-google-hammer.o
obj-$(CONFIG_HID_GOOGLE_STADIA_FF)	+= hid-google-stadiaff.o
obj-$(CONFIG_HID_VIVALDI)	+= hid-vivaldi.o
+810 −0

File added.

Preview size limit exceeded, changes collapsed.