Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
c04a285
HID: THC: Add documentation
Evenxf Jan 6, 2025
0e6715f
HID: intel-thc-hid: Add basic THC driver skeleton
sunxinpeng Jan 6, 2025
da0d2ab
HID: intel-thc-hid: intel-thc: Add THC registers definition
sunxinpeng Jan 6, 2025
a9a99fb
HID: intel-thc-hid: intel-thc: Add THC PIO operation APIs
sunxinpeng Jan 6, 2025
fea9700
HID: intel-thc-hid: intel-thc: Add APIs for interrupt
sunxinpeng Jan 6, 2025
df4613d
HID: intel-thc-hid: intel-thc: Add THC DMA interfaces
Evenxf Jan 6, 2025
1719dcf
HID: intel-thc-hid: intel-thc: Add THC LTR interfaces
sunxinpeng Jan 6, 2025
1f72f14
HID: intel-thc-hid: intel-thc: Add THC interrupt handler
sunxinpeng Jan 6, 2025
169a95f
HID: intel-thc-hid: intel-thc: Add THC SPI config interfaces
sunxinpeng Jan 6, 2025
6633b17
HID: intel-thc-hid: intel-thc: Add THC I2C config interfaces
Evenxf Jan 6, 2025
00b77e9
HID: intel-thc-hid: intel-quickspi: Add THC QuickSPI driver skeleton
sunxinpeng Jan 6, 2025
7ca0f89
HID: intel-thc-hid: intel-quickspi: Add THC QuickSPI driver hid layer
Evenxf Jan 6, 2025
5643340
HID: intel-thc-hid: intel-quickspi: Add THC QuickSPI ACPI interfaces
Evenxf Jan 6, 2025
f6e9430
HID: intel-thc-hid: intel-quickspi: Add HIDSPI protocol implementation
Evenxf Jan 6, 2025
64dfb7f
HID: intel-thc-hid: intel-quickspi: Complete THC QuickSPI driver
sunxinpeng Jan 6, 2025
1e41ea2
HID: intel-thc-hid: intel-quickspi: Add PM implementation
Evenxf Jan 6, 2025
f402d02
HID: intel-thc-hid: intel-quicki2c: Add THC QuickI2C driver skeleton
Evenxf Jan 6, 2025
fd93b22
HID: intel-thc-hid: intel-quicki2c: Add THC QuickI2C driver hid layer
Evenxf Jan 6, 2025
7177560
HID: intel-thc-hid: intel-quicki2c: Add THC QuickI2C ACPI interfaces
Evenxf Jan 6, 2025
580e307
HID: intel-thc-hid: intel-quicki2c: Add HIDI2C protocol implementation
Evenxf Jan 6, 2025
fa7ffda
HID: intel-thc-hid: intel-quicki2c: Complete THC QuickI2C driver
Evenxf Jan 6, 2025
572fc8b
HID: intel-thc-hid: intel-quicki2c: Add PM implementation
Evenxf Jan 6, 2025
a8ddd4e
HID: intel-thc-hid: intel-thc: Fix error code in thc_i2c_subip_init()
Jan 13, 2025
cf60171
HID: intel-thc-hid: intel-quicki2c: fix potential memory corruption
Evenxf Jan 13, 2025
fd85079
HID: Intel-thc-hid: Intel-quickspi: Correct device state after S4
Evenxf Mar 4, 2025
b738eeb
HID: intel-thc-hid: intel-quicki2c: pass correct arguments to acpi_ev…
opsiff Apr 17, 2025
827b49f
HID: Intel-thc-hid: Intel-quicki2c: Refine code comments
Evenxf May 14, 2025
ce76043
HID: Intel-thc-hid: Intel-thc: Add thc_dma_content into kernel doc
Evenxf May 14, 2025
08c46c1
HID: Intel-thc-hid: Intel-thc: Refine code comments
Evenxf May 14, 2025
7862891
HID: Intel-thc-hid: Intel-thc: Introduce max input size control
Evenxf May 14, 2025
122e73d
HID: Intel-thc-hid: Intel-thc: Introduce interrupt delay control
Evenxf May 14, 2025
a1dde85
HID: Intel-thc-hid: Intel-quicki2c: Add driver data support
Evenxf May 14, 2025
8bd807d
HID: Intel-thc-hid: Intel-quicki2c: Add two new features to PTL
Evenxf May 14, 2025
179d9a4
HID: intel-thc-hid: intel-quicki2c: Fix ACPI dsd ICRS/ISUB length
pyma1 Aug 3, 2025
9fdcaf1
HID: intel-thc-hid: intel-thc: Fix incorrect pointer arithmetic in I2…
pyma1 Aug 3, 2025
4dda32d
HID: intel-thc-hid: intel-quicki2c: Add WCL Device IDs
sunxinpeng Aug 28, 2025
1aa8178
HID: intel-thc-hid: intel-quickspi: Add WCL Device IDs
sunxinpeng Aug 28, 2025
39044fc
HID: intel-thc-hid: intel-quicki2c: support ACPI config for advanced …
sunxinpeng Sep 17, 2025
57f0b69
HID: intel-thc-hid: intel-quicki2c: Fix wrong type casting
sunxinpeng Oct 9, 2025
cfddd4e
HID: intel-thc-hid: Intel-quickspi: switch first interrupt from level…
Evenxf Sep 19, 2025
387c18f
HID: intel-thc-hid: intel-quickspi: Add ARL PCI Device Id's
Abhishek-Tamboli9 Sep 24, 2025
080da75
deepin: config: x86: enable Intel THC
Cryolitia Dec 19, 2025
59d1dab
HID: intel-thc-hid: Fix build on 6.12
Cryolitia Dec 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Documentation/hid/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ Human Interface Devices (HID)

hid-alps
intel-ish-hid
intel-thc-hid
amd-sfh-hid
595 changes: 595 additions & 0 deletions Documentation/hid/intel-thc-hid.rst

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -11778,6 +11778,12 @@ S: Maintained
F: arch/x86/include/asm/intel_telemetry.h
F: drivers/platform/x86/intel/telemetry/

INTEL TOUCH HOST CONTROLLER (THC) DRIVER
M: Even Xu <[email protected]>
M: Xinpeng Sun <[email protected]>
S: Maintained
F: drivers/hid/intel-thc-hid/

INTEL TPMI DRIVER
M: Srinivas Pandruvada <[email protected]>
L: [email protected]
Expand Down
3 changes: 3 additions & 0 deletions arch/x86/configs/deepin_x86_desktop_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3981,6 +3981,9 @@ CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER=m
CONFIG_AMD_SFH_HID=m
CONFIG_SURFACE_HID=m
CONFIG_SURFACE_KBD=m
CONFIG_INTEL_THC_HID=m
CONFIG_INTEL_QUICKSPI=m
CONFIG_INTEL_QUICKI2C=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_CONN_GPIO=m
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
Expand Down
2 changes: 2 additions & 0 deletions drivers/hid/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1388,4 +1388,6 @@ source "drivers/hid/amd-sfh-hid/Kconfig"

source "drivers/hid/surface-hid/Kconfig"

source "drivers/hid/intel-thc-hid/Kconfig"

endif # HID_SUPPORT
2 changes: 2 additions & 0 deletions drivers/hid/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -170,3 +170,5 @@ obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-hid/
obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/

obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/

obj-$(CONFIG_INTEL_THC_HID) += intel-thc-hid/
42 changes: 42 additions & 0 deletions drivers/hid/intel-thc-hid/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2024, Intel Corporation.

menu "Intel THC HID Support"
depends on X86_64 && PCI

config INTEL_THC_HID
tristate "Intel Touch Host Controller"
select HID
help
THC (Touch Host Controller) is the name of the IP block in PCH that
interfaces with Touch Devices (ex: touchscreen, touchpad etc.). It
is comprised of 3 key functional blocks: A natively half-duplex
Quad I/O capable SPI master; a low latency I2C interface to support
HIDI2C compliant devices; a hardware sequencer with Read/Write DMA
capability to system memory.

Say Y/M here if you want to support Intel THC. If unsure, say N.

config INTEL_QUICKSPI
tristate "Intel QuickSPI driver based on Intel Touch Host Controller"
depends on INTEL_THC_HID
help
Intel QuickSPI, based on Touch Host Controller (THC), implements
HIDSPI (HID over SPI) protocol. It configures THC to work at SPI
mode, and controls THC hardware sequencer to accelerate HIDSPI
transaction flow.

Say Y/M here if you want to support Intel QuickSPI. If unsure, say N.

config INTEL_QUICKI2C
tristate "Intel QuickI2C driver based on Intel Touch Host Controller"
depends on INTEL_THC_HID
help
Intel QuickI2C, uses Touch Host Controller (THC) hardware, implements
HIDI2C (HID over I2C) protocol. It configures THC to work in I2C
mode, and controls THC hardware sequencer to accelerate HIDI2C
transaction flow.

Say Y/M here if you want to support Intel QuickI2C. If unsure, say N.

endmenu
22 changes: 22 additions & 0 deletions drivers/hid/intel-thc-hid/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# SPDX-License-Identifier: GPL-2.0
#
# Makefile - Intel Touch Host Controller (THC) drivers
# Copyright (c) 2024, Intel Corporation.
#
#

obj-$(CONFIG_INTEL_THC_HID) += intel-thc.o
intel-thc-objs += intel-thc/intel-thc-dev.o
intel-thc-objs += intel-thc/intel-thc-dma.o

obj-$(CONFIG_INTEL_QUICKSPI) += intel-quickspi.o
intel-quickspi-objs += intel-quickspi/pci-quickspi.o
intel-quickspi-objs += intel-quickspi/quickspi-hid.o
intel-quickspi-objs += intel-quickspi/quickspi-protocol.o

obj-$(CONFIG_INTEL_QUICKI2C) += intel-quicki2c.o
intel-quicki2c-objs += intel-quicki2c/pci-quicki2c.o
intel-quicki2c-objs += intel-quicki2c/quicki2c-hid.o
intel-quicki2c-objs += intel-quicki2c/quicki2c-protocol.o

ccflags-y += -I $(src)/intel-thc
Loading