Commit fe9c6249 authored by Benjamin Tissoires's avatar Benjamin Tissoires
Browse files

Merge branch 'for-6.12/goodix-spi' into for-linus

- Add support for a new Goodix HID over SPI driver (Charles Wang)

Note: this driver doesn't rely on the spefication of HID over SPI
provided by Microsoft, thus needs a separate driver, not a generic bus
transport low level driver.
parents 1a811edf 252ed1f7
Loading
Loading
Loading
Loading
+71 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/goodix,gt7986u.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: GOODIX GT7986U SPI HID Touchscreen

maintainers:
  - Charles Wang <charles.goodix@gmail.com>

description: Supports the Goodix GT7986U touchscreen.
  This touch controller reports data packaged according to the HID protocol,
  but is incompatible with Microsoft's HID-over-SPI protocol.

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
  compatible:
    enum:
      - goodix,gt7986u

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  goodix,hid-report-addr:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The register address for retrieving HID report data.
      This address is related to the device firmware and may
      change after a firmware update.

  spi-max-frequency: true

additionalProperties: false

required:
  - compatible
  - reg
  - interrupts
  - reset-gpios
  - goodix,hid-report-addr

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/gpio/gpio.h>

    spi {
      #address-cells = <1>;
      #size-cells = <0>;

      touchscreen@0 {
        compatible = "goodix,gt7986u";
        reg = <0>;
        interrupt-parent = <&gpio>;
        interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
        reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
        spi-max-frequency = <10000000>;
        goodix,hid-report-addr = <0x22c8c>;
      };
    };

...
+6 −0
Original line number Diff line number Diff line
@@ -404,6 +404,12 @@ config HID_VIVALDI_COMMON
	  option so that drivers can use common code to parse the HID
	  descriptors for vivaldi function row keymap.

config HID_GOODIX_SPI
	tristate "Goodix GT7986U SPI HID touchscreen"
	depends on SPI_MASTER
	help
	  Support for Goodix GT7986U SPI HID touchscreen device.

config HID_GOOGLE_HAMMER
	tristate "Google Hammer Keyboard"
	select HID_VIVALDI_COMMON
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ obj-$(CONFIG_HID_GEMBIRD) += hid-gembird.o
obj-$(CONFIG_HID_GFRM)		+= hid-gfrm.o
obj-$(CONFIG_HID_GLORIOUS)  += hid-glorious.o
obj-$(CONFIG_HID_VIVALDI_COMMON) += hid-vivaldi-common.o
obj-$(CONFIG_HID_GOODIX_SPI)	+= hid-goodix-spi.o
obj-$(CONFIG_HID_GOOGLE_HAMMER)	+= hid-google-hammer.o
obj-$(CONFIG_HID_GOOGLE_STADIA_FF)	+= hid-google-stadiaff.o
obj-$(CONFIG_HID_VIVALDI)	+= hid-vivaldi.o
+818 −0

File added.

Preview size limit exceeded, changes collapsed.