Skip to content

Commit 678641e

Browse files
committed
Merge: Intel THC enablement in RHEL 9
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/7118 It was requested to enable Intel THC in RHEL 9 for Lunar Lake. I don't have any Lunar Lake laptop with THC, so this is sanity only, but the functional changes are located in drivers/hid/intel-ish-hid/ a new driver, so regressions are unlikely to happen. JIRA: https://issues.redhat.com/browse/RHEL-65754 Signed-off-by: Benjamin Tissoires <[email protected]> Approved-by: Eder Zulian <[email protected]> Approved-by: Bastien Nocera <[email protected]> Approved-by: CKI KWF Bot <[email protected]> Merged-by: Jarod Wilson <[email protected]>
2 parents b181346 + d55d7d5 commit 678641e

29 files changed

+7989
-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
@@ -10037,6 +10037,12 @@ S: Maintained
1003710037
F: arch/x86/include/asm/intel_telemetry.h
1003810038
F: drivers/platform/x86/intel/telemetry/
1003910039

10040+
INTEL TOUCH HOST CONTROLLER (THC) DRIVER
10041+
M: Even Xu <[email protected]>
10042+
M: Xinpeng Sun <[email protected]>
10043+
S: Maintained
10044+
F: drivers/hid/intel-thc-hid/
10045+
1004010046
INTEL TPMI DRIVER
1004110047
M: Srinivas Pandruvada <[email protected]>
1004210048

drivers/hid/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,6 +1347,7 @@ source "drivers/hid/amd-sfh-hid/Kconfig"
13471347

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

1350+
source "drivers/hid/intel-thc-hid/Kconfig"
13501351

13511352
endif # HID
13521353

drivers/hid/Makefile

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

170170
obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/
171+
172+
obj-$(CONFIG_INTEL_THC_HID) += intel-thc-hid/

drivers/hid/intel-thc-hid/Kconfig

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