Hello, This patch series adds the driver for Himax HID-over-SPI touchscreen ICs. This driver takes a position in [1], it intends to take advantage of SPI transfer speed and HID interface. The userspace program [2] can use ioctl through general hidraw interface provided by kernel HID sub-system to control touch IC without creating special file nodes. Patch 1 adds the Maintainer and devicetree bindings document for driver. Patch 2 adds the driver itself, Kconfig and Makefiles. [1] Overview: +--------------------------------+ | himax hid-over-spi TPIC driver | +--------------------------------+ | +-----------+ +-----------+ | +-----------+ +-----------+ | | Device #1 | | Device #i | | | Device #j | | Device #k | | +-----------+ +-----------+ | +-----------+ +-----------+ | \\ // | \\ // | +------------+ | +------------+ | | I/O Driver | | | I/O Driver | | +------------+ | +------------+ | || | || | +------------------+ | +------------------+ | | Transport Driver | | | Transport Driver | | +------------------+ | +------------------+ | \___ | ___/ +--------------------------------+ / \ / +----------------+ | HID Core | +----------------+ / | | \ / | | \ ____________/ | | \_________________ / | | \ / | | \ +----------------+ +-----------+ +------------------+ +------------------+ | Generic Driver | | MT Driver | | Custom Driver #1 | | Custom Driver #2 | +----------------+ +-----------+ +------------------+ +------------------+ [2] https://github.com/HimaxSoftware/hx_hid_util/tree/hid_func version 2 changes -rename bindings name from himax,hid-over-hx-spi to himax,hid-over-spi -remove "himax,fw_size", "himax,heatmap_16bits", "himax,fw_in_flash", "himax,pid" and "himax,boot_time_fw_upgrade" items from dt-bindings and related code -add "himax,id-gpios" for user to specify hardware id pins -rename "himax,ic_det_delay" to "himax,ic-det-delay-ms" and "himax,ic_resume_delay" to "himax,ic-resume-delay-ms" -MAINTAINER position adjust: move info to the position by letter order -Kconfig add HX_HID_HAS_FLASH option to replace "himax,fw_in_flash" -HIMAX_DRIVER_VER upadte from 0.0.10 to 0.0.11 -remove unused includes and description in hx_hid.c -add code to map id-gpios value to PID -correct variable naming style and misspellings in hx_ic_core.c/h -remove unnecessary global varaible debug_flag Tylor Yang (2): dt-bindings: input: Introduce Himax HID-over-SPI device HID: touchscreen: Add initial support for Himax HID-over-SPI .../bindings/input/himax,hid-over-spi.yaml | 109 + MAINTAINERS | 7 + drivers/hid/Kconfig | 2 + drivers/hid/Makefile | 2 + drivers/hid/hx-hid/Kconfig | 55 + drivers/hid/hx-hid/Makefile | 35 + drivers/hid/hx-hid/hx_acpi.c | 96 + drivers/hid/hx-hid/hx_core.c | 1626 ++++++++ drivers/hid/hx-hid/hx_core.h | 487 +++ drivers/hid/hx-hid/hx_hid.c | 757 ++++ drivers/hid/hx-hid/hx_hid.h | 96 + drivers/hid/hx-hid/hx_ic_83102j.c | 345 ++ drivers/hid/hx-hid/hx_ic_83102j.h | 42 + drivers/hid/hx-hid/hx_ic_core.c | 3260 +++++++++++++++++ drivers/hid/hx-hid/hx_ic_core.h | 792 ++++ drivers/hid/hx-hid/hx_inspect.c | 652 ++++ drivers/hid/hx-hid/hx_inspect.h | 104 + drivers/hid/hx-hid/hx_of.c | 171 + drivers/hid/hx-hid/hx_plat.c | 480 +++ drivers/hid/hx-hid/hx_plat.h | 30 + 20 files changed, 9148 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/himax,hid-over-spi.yaml create mode 100644 drivers/hid/hx-hid/Kconfig create mode 100644 drivers/hid/hx-hid/Makefile create mode 100644 drivers/hid/hx-hid/hx_acpi.c create mode 100644 drivers/hid/hx-hid/hx_core.c create mode 100644 drivers/hid/hx-hid/hx_core.h create mode 100644 drivers/hid/hx-hid/hx_hid.c create mode 100644 drivers/hid/hx-hid/hx_hid.h create mode 100644 drivers/hid/hx-hid/hx_ic_83102j.c create mode 100644 drivers/hid/hx-hid/hx_ic_83102j.h create mode 100644 drivers/hid/hx-hid/hx_ic_core.c create mode 100644 drivers/hid/hx-hid/hx_ic_core.h create mode 100644 drivers/hid/hx-hid/hx_inspect.c create mode 100644 drivers/hid/hx-hid/hx_inspect.h create mode 100644 drivers/hid/hx-hid/hx_of.c create mode 100644 drivers/hid/hx-hid/hx_plat.c create mode 100644 drivers/hid/hx-hid/hx_plat.h -- 2.25.1