Skip to content

Commit 2ec37df

Browse files
author
Jiri Kosina
committed
Merge branch 'for-6.14/intel-thc' into for-linus
- newly added support for Intel Touch Host Controller (Even Xu, Xinpeng Sun)
2 parents 5a4b5f3 + f1d3ad0 commit 2ec37df

26 files changed

+7962
-0
lines changed

Documentation/hid/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ Human Interface Devices (HID)
1818

1919
hid-alps
2020
intel-ish-hid
21+
intel-thc-hid
2122
amd-sfh-hid

Documentation/hid/intel-thc-hid.rst

Lines changed: 568 additions & 0 deletions
Large diffs are not rendered by default.

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11873,6 +11873,12 @@ S: Maintained
1187311873
F: arch/x86/include/asm/intel_telemetry.h
1187411874
F: drivers/platform/x86/intel/telemetry/
1187511875

11876+
INTEL TOUCH HOST CONTROLLER (THC) DRIVER
11877+
M: Even Xu <even.xu@intel.com>
11878+
M: Xinpeng Sun <xinpeng.sun@intel.com>
11879+
S: Maintained
11880+
F: drivers/hid/intel-thc-hid/
11881+
1187611882
INTEL TPMI DRIVER
1187711883
M: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
1187811884
L: platform-driver-x86@vger.kernel.org

drivers/hid/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,4 +1386,6 @@ source "drivers/hid/amd-sfh-hid/Kconfig"
13861386

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

1389+
source "drivers/hid/intel-thc-hid/Kconfig"
1390+
13891391
endif # HID_SUPPORT

drivers/hid/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,5 @@ obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ish-hid/
171171
obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/
172172

173173
obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/
174+
175+
obj-$(CONFIG_INTEL_THC_HID) += intel-thc-hid/

drivers/hid/intel-thc-hid/Kconfig

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
# Copyright (c) 2024, Intel Corporation.
3+
4+
menu "Intel THC HID Support"
5+
depends on X86_64 && PCI
6+
7+
config INTEL_THC_HID
8+
tristate "Intel Touch Host Controller"
9+
depends on ACPI
10+
select HID
11+
help
12+
THC (Touch Host Controller) is the name of the IP block in PCH that
13+
interfaces with Touch Devices (ex: touchscreen, touchpad etc.). It
14+
is comprised of 3 key functional blocks: A natively half-duplex
15+
Quad I/O capable SPI master; a low latency I2C interface to support
16+
HIDI2C compliant devices; a hardware sequencer with Read/Write DMA
17+
capability to system memory.
18+
19+
Say Y/M here if you want to support Intel THC. If unsure, say N.
20+
21+
config INTEL_QUICKSPI
22+
tristate "Intel QuickSPI driver based on Intel Touch Host Controller"
23+
depends on INTEL_THC_HID
24+
help
25+
Intel QuickSPI, based on Touch Host Controller (THC), implements
26+
HIDSPI (HID over SPI) protocol. It configures THC to work at SPI
27+
mode, and controls THC hardware sequencer to accelerate HIDSPI
28+
transaction flow.
29+
30+
Say Y/M here if you want to support Intel QuickSPI. If unsure, say N.
31+
32+
config INTEL_QUICKI2C
33+
tristate "Intel QuickI2C driver based on Intel Touch Host Controller"
34+
depends on INTEL_THC_HID
35+
help
36+
Intel QuickI2C, uses Touch Host Controller (THC) hardware, implements
37+
HIDI2C (HID over I2C) protocol. It configures THC to work in I2C
38+
mode, and controls THC hardware sequencer to accelerate HIDI2C
39+
transaction flow.
40+
41+
Say Y/M here if you want to support Intel QuickI2C. If unsure, say N.
42+
43+
endmenu

drivers/hid/intel-thc-hid/Makefile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# Makefile - Intel Touch Host Controller (THC) drivers
4+
# Copyright (c) 2024, Intel Corporation.
5+
#
6+
#
7+
8+
obj-$(CONFIG_INTEL_THC_HID) += intel-thc.o
9+
intel-thc-objs += intel-thc/intel-thc-dev.o
10+
intel-thc-objs += intel-thc/intel-thc-dma.o
11+
12+
obj-$(CONFIG_INTEL_QUICKSPI) += intel-quickspi.o
13+
intel-quickspi-objs += intel-quickspi/pci-quickspi.o
14+
intel-quickspi-objs += intel-quickspi/quickspi-hid.o
15+
intel-quickspi-objs += intel-quickspi/quickspi-protocol.o
16+
17+
obj-$(CONFIG_INTEL_QUICKI2C) += intel-quicki2c.o
18+
intel-quicki2c-objs += intel-quicki2c/pci-quicki2c.o
19+
intel-quicki2c-objs += intel-quicki2c/quicki2c-hid.o
20+
intel-quicki2c-objs += intel-quicki2c/quicki2c-protocol.o
21+
22+
ccflags-y += -I $(src)/intel-thc

0 commit comments

Comments
 (0)