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. Patch 1 adds the Maintainer and devicetree bindings document for driver. Patch 2-4 adds the driver itself, Kconfig and Makefiles. Due to server could not receive patch >100000 chars, patch separate into 3 parts. [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 | +----------------+ +-----------+ +------------------+ +------------------+ version 3 changes -rename binding compatible from himax,hid-over-spi to himax,hid -rename document himax,hid-over-spi.yaml to himax,hid.yaml -rename binding properties himax,rst-gpio to reset -remove binding properties himax,irq-gpio, himax3v3-gpio and himax,fw_in_flash. -add binding properties vcca-power, vccd-power. -add binding sub-node panel and move himax,pid into this one. -HIMAX_DRIVER_VER update from 0.0.11 to 1.0.0 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 (4): dt-bindings: input: Introduce Himax HID-over-SPI device HID: touchscreen: Add initial support for Himax HID-over-SPI HID: touchscreen: Add initial support for Himax HID-over-SPI HID: touchscreen: Add initial support for Himax HID-over-SPI .../devicetree/bindings/input/himax,hid.yaml | 123 + MAINTAINERS | 7 + drivers/hid/Kconfig | 2 + drivers/hid/Makefile | 2 + drivers/hid/hx-hid/Kconfig | 43 + drivers/hid/hx-hid/Makefile | 35 + drivers/hid/hx-hid/hx_acpi.c | 81 + drivers/hid/hx-hid/hx_core.c | 1605 ++++++++ drivers/hid/hx-hid/hx_core.h | 489 +++ drivers/hid/hx-hid/hx_hid.c | 753 ++++ drivers/hid/hx-hid/hx_hid.h | 96 + drivers/hid/hx-hid/hx_ic_83102j.c | 340 ++ 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 | 214 ++ drivers/hid/hx-hid/hx_plat.c | 502 +++ drivers/hid/hx-hid/hx_plat.h | 30 + 20 files changed, 9172 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/himax,hid.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