mbox series

[v3,0/5] Add spi-hid, transport for HID over SPI bus

Message ID 20220115023135.234667-1-dmanti@microsoft.com (mailing list archive)
Headers show
Series Add spi-hid, transport for HID over SPI bus | expand

Message

Dmitry Antipov Jan. 15, 2022, 2:31 a.m. UTC
Surface Duo devices use a touch digitizer that communicates to the main
SoC via SPI and presents itself as a HID device. This patch's goal is to
add the spi-hid transport driver to drivers/hid. The driver follows the
publically available HID Over SPI Protocol Specification version 1.0.

The specification is available at
https://www.microsoft.com/en-us/download/details.aspx?id=103325.

In the initial commits there are some HID core changes to support a SPI
device, a change to HID documentation, HID over SPI Device Tree
bindings, and finally the SPI HID transport driver.

Dmitry Antipov (5):
  HID: Add BUS_SPI support when printing out device info in
    hid_connect()
  HID: define HID_SPI_DEVICE macro in hid.h
  Documentation: DT bindings for HID over SPI.
  Documentation: Correction in HID output_report callback description.
  HID: add spi-hid, transport driver for HID over SPI bus

 .../bindings/input/hid-over-spi.txt           |   43 +
 Documentation/hid/hid-transport.rst           |    4 +-
 arch/arm64/configs/defconfig                  |    1 +
 drivers/hid/Kconfig                           |    2 +
 drivers/hid/Makefile                          |    1 +
 drivers/hid/hid-core.c                        |    3 +
 drivers/hid/spi-hid/Kconfig                   |   25 +
 drivers/hid/spi-hid/Makefile                  |   12 +
 drivers/hid/spi-hid/spi-hid-core.c            | 1328 +++++++++++++++++
 drivers/hid/spi-hid/spi-hid-core.h            |  188 +++
 drivers/hid/spi-hid/spi-hid-of.c              |  148 ++
 drivers/hid/spi-hid/spi-hid-of.h              |   34 +
 drivers/hid/spi-hid/spi-hid_trace.h           |  198 +++
 drivers/hid/spi-hid/trace.c                   |   11 +
 include/linux/hid.h                           |    2 +
 15 files changed, 1998 insertions(+), 2 deletions(-)
 create mode 100755 Documentation/devicetree/bindings/input/hid-over-spi.txt
 create mode 100644 drivers/hid/spi-hid/Kconfig
 create mode 100644 drivers/hid/spi-hid/Makefile
 create mode 100644 drivers/hid/spi-hid/spi-hid-core.c
 create mode 100644 drivers/hid/spi-hid/spi-hid-core.h
 create mode 100755 drivers/hid/spi-hid/spi-hid-of.c
 create mode 100755 drivers/hid/spi-hid/spi-hid-of.h
 create mode 100644 drivers/hid/spi-hid/spi-hid_trace.h
 create mode 100644 drivers/hid/spi-hid/trace.c