Skip to content

Commit 051fc18

Browse files
marcanjannau
authored andcommitted
HID: Add Apple DockChannel HID transport driver
Apple M2 devices have an MTP coprocessor embedded in the SoC that handles HID for the integrated touchpad/keyboard, and communicates over the DockChannel interface. This driver implements this new interface. Signed-off-by: Hector Martin <marcan@marcan.st>
1 parent e940f7e commit 051fc18

5 files changed

Lines changed: 1238 additions & 0 deletions

File tree

drivers/hid/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,4 +1437,6 @@ source "drivers/hid/usbhid/Kconfig"
14371437

14381438
source "drivers/hid/spi-hid/Kconfig"
14391439

1440+
source "drivers/hid/dockchannel-hid/Kconfig"
1441+
14401442
endif # HID_SUPPORT

drivers/hid/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,12 @@ obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-hid/
172172

173173
obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/
174174

175+
obj-$(CONFIG_HID_DOCKCHANNEL) += dockchannel-hid/
176+
175177
obj-$(CONFIG_SPI_HID_APPLE_CORE) += spi-hid/
176178

179+
obj-$(CONFIG_HID_DOCKCHANNEL) += dockchannel-hid/
180+
177181
obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/
178182

179183
obj-$(CONFIG_INTEL_THC_HID) += intel-thc-hid/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR MIT
2+
menu "DockChannel HID support"
3+
depends on APPLE_DOCKCHANNEL
4+
5+
config HID_DOCKCHANNEL
6+
tristate "HID over DockChannel transport layer for Apple Silicon SoCs"
7+
depends on APPLE_DOCKCHANNEL && INPUT && OF && HID
8+
help
9+
Say Y here if you use an M2 or later Apple Silicon based laptop.
10+
The keyboard and touchpad are HID based devices connected via the
11+
proprietary DockChannel interface.
12+
13+
endmenu
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR MIT
2+
#
3+
# Makefile for DockChannel HID transport drivers
4+
#
5+
6+
obj-$(CONFIG_HID_DOCKCHANNEL) += dockchannel-hid.o

0 commit comments

Comments
 (0)