WIP: HID: transport: spi: add Apple SPI transport
authorJanne Grunau <j@jannau.net>
Fri, 10 Dec 2021 18:38:43 +0000 (19:38 +0100)
committerHector Martin <marcan@marcan.st>
Tue, 18 Jan 2022 11:22:23 +0000 (20:22 +0900)
commit25070af6e6d0c750f307b019df19cc93a54b664c
tree326ac2b394c40684b3e6bfc299768eaabb9aafe0
parent193121bdba0a9e2be57fc6b4f1e53daf4164b1fa
WIP: HID: transport: spi: add Apple SPI transport

Keyboard and trackpad of Apple Sillicon SoCs (M1, M1 Pro/Max) laptops
are are HID devices connected via SPI.

This is the same protocol as implemented by applespi.c. It was not
noticed that protocol is a transport for HID. Adding support for ACPI
based Intel MacBooks will be done in a separate commit.

How HID is mapped in this protocol is not yet fully understood.

Microsoft has a specification for HID over SPI [1] incompatible with the
transport protocol used by Apple.

[1] https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/hid-over-spi

Signed-off-by: Janne Grunau <j@jannau.net>
drivers/hid/Kconfig
drivers/hid/Makefile
drivers/hid/spi-hid/Kconfig [new file with mode: 0644]
drivers/hid/spi-hid/Makefile [new file with mode: 0644]
drivers/hid/spi-hid/spi-hid-apple-core.c [new file with mode: 0644]
drivers/hid/spi-hid/spi-hid-apple-of.c [new file with mode: 0644]
drivers/hid/spi-hid/spi-hid-apple.h [new file with mode: 0644]