Commit 27b730e0 authored by Jiri Kosina's avatar Jiri Kosina
Browse files

Merge branch 'for-5.12/i2c-hid' into for-linus

- ACPI and OF support made more generic / decoupled. From Douglas Anderson
- support for Goodix devices from Douglas Anderson
parents d6310078 c1ed18c1
Loading
Loading
Loading
Loading
+65 −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,gt7375p.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Goodix GT7375P touchscreen

maintainers:
  - Douglas Anderson <dianders@chromium.org>

description:
  Supports the Goodix GT7375P touchscreen.
  This touchscreen uses the i2c-hid protocol but has some non-standard
  power sequencing required.

properties:
  compatible:
    items:
      - const: goodix,gt7375p

  reg:
    enum:
      - 0x5d
      - 0x14

  interrupts:
    maxItems: 1

  reset-gpios:
    true

  vdd-supply:
    description: The 3.3V supply to the touchscreen.

required:
  - compatible
  - reg
  - interrupts
  - reset-gpios
  - vdd-supply

additionalProperties: false

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

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

      ap_ts: touchscreen@5d {
        compatible = "goodix,gt7375p";
        reg = <0x5d>;

        interrupt-parent = <&tlmm>;
        interrupts = <9 IRQ_TYPE_LEVEL_LOW>;

        reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>;
        vdd-supply = <&pp3300_ts>;
      };
    };
+2 −1
Original line number Diff line number Diff line
@@ -749,7 +749,8 @@ CONFIG_SND_SOC_WM8904=m
CONFIG_SND_SOC_WSA881X=m
CONFIG_SND_SIMPLE_CARD=m
CONFIG_SND_AUDIO_GRAPH_CARD=m
CONFIG_I2C_HID=m
CONFIG_I2C_HID_ACPI=m
CONFIG_I2C_HID_OF=m
CONFIG_USB_CONN_GPIO=m
CONFIG_USB=y
CONFIG_USB_OTG=y
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ obj-$(CONFIG_USB_HID) += usbhid/
obj-$(CONFIG_USB_MOUSE)		+= usbhid/
obj-$(CONFIG_USB_KBD)		+= usbhid/

obj-$(CONFIG_I2C_HID)		+= i2c-hid/
obj-$(CONFIG_I2C_HID_CORE)	+= i2c-hid/

obj-$(CONFIG_INTEL_ISH_HID)	+= intel-ish-hid/
obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER)	+= intel-ish-hid/
+42 −5
Original line number Diff line number Diff line
@@ -2,18 +2,55 @@
menu "I2C HID support"
	depends on I2C

config I2C_HID
	tristate "HID over I2C transport layer"
config I2C_HID_ACPI
	tristate "HID over I2C transport layer ACPI driver"
	default n
	depends on I2C && INPUT
	select HID
	depends on I2C && INPUT && ACPI
	help
	  Say Y here if you use a keyboard, a touchpad, a touchscreen, or any
	  other HID based devices which is connected to your computer via I2C.
	  This driver supports ACPI-based systems.

	  If unsure, say N.

	  This support is also available as a module.  If so, the module
	  will be called i2c-hid-acpi.  It will also build/depend on the
	  module i2c-hid.

config I2C_HID_OF
	tristate "HID over I2C transport layer Open Firmware driver"
	default n
	depends on I2C && INPUT && OF
	help
	  Say Y here if you use a keyboard, a touchpad, a touchscreen, or any
	  other HID based devices which is connected to your computer via I2C.
	  This driver supports Open Firmware (Device Tree)-based systems.

	  If unsure, say N.

	  This support is also available as a module.  If so, the module
	  will be called i2c-hid.
	  will be called i2c-hid-of.  It will also build/depend on the
	  module i2c-hid.

config I2C_HID_OF_GOODIX
	tristate "Driver for Goodix hid-i2c based devices on OF systems"
	default n
	depends on I2C && INPUT && OF
	help
	  Say Y here if you want support for Goodix i2c devices that use
	  the i2c-hid protocol on Open Firmware (Device Tree)-based
	  systems.

	  If unsure, say N.

	  This support is also available as a module.  If so, the module
	  will be called i2c-hid-of-goodix.  It will also build/depend on
	  the module i2c-hid.

endmenu

config I2C_HID_CORE
	tristate
	default y if I2C_HID_ACPI=y || I2C_HID_OF=y || I2C_HID_OF_GOODIX=y
	default m if I2C_HID_ACPI=m || I2C_HID_OF=m || I2C_HID_OF_GOODIX=m
	select HID
+5 −1
Original line number Diff line number Diff line
@@ -3,7 +3,11 @@
# Makefile for the I2C input drivers
#

obj-$(CONFIG_I2C_HID)				+= i2c-hid.o
obj-$(CONFIG_I2C_HID_CORE)			+= i2c-hid.o

i2c-hid-objs					=  i2c-hid-core.o
i2c-hid-$(CONFIG_DMI)				+= i2c-hid-dmi-quirks.o

obj-$(CONFIG_I2C_HID_ACPI)			+= i2c-hid-acpi.o
obj-$(CONFIG_I2C_HID_OF)			+= i2c-hid-of.o
obj-$(CONFIG_I2C_HID_OF_GOODIX)			+= i2c-hid-of-goodix.o
Loading