Skip to content

Commit d83b2c3

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 082a516 commit d83b2c3

5 files changed

Lines changed: 1237 additions & 0 deletions

File tree

drivers/hid/Kconfig

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

13721372
source "drivers/hid/spi-hid/Kconfig"
13731373

1374+
source "drivers/hid/dockchannel-hid/Kconfig"
1375+
13741376
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-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/
171171
obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/
172172

173173
obj-$(CONFIG_SPI_HID_APPLE_CORE) += spi-hid/
174+
175+
obj-$(CONFIG_HID_DOCKCHANNEL) += dockchannel-hid/
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
default ARCH_APPLE
8+
depends on APPLE_DOCKCHANNEL && INPUT && OF && HID
9+
help
10+
Say Y here if you use an M2 or later Apple Silicon based laptop.
11+
The keyboard and touchpad are HID based devices connected via the
12+
proprietary DockChannel interface.
13+
14+
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)