Skip to content

Commit cecfa4b

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 ef962e0 commit cecfa4b

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
@@ -1390,4 +1390,6 @@ source "drivers/hid/surface-hid/Kconfig"
13901390

13911391
source "drivers/hid/spi-hid/Kconfig"
13921392

1393+
source "drivers/hid/dockchannel-hid/Kconfig"
1394+
13931395
endif # HID_SUPPORT

drivers/hid/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,5 @@ obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/
173173
obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/
174174

175175
obj-$(CONFIG_SPI_HID_APPLE_CORE) += spi-hid/
176+
177+
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)