Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d797da41 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input subsystem updates from Dmitry Torokhov:
 "Two new drivers for Elan hardware (for I2C touchpad and touchscreen
  found in several Chromebooks and other devices), a driver for Goodix
  touch panel, and small fixes to Cypress I2C trackpad and other input
  drivers.

  Also we switched to use __maybe_unused instead of gating suspend/
  resume code with #ifdef guards to get better compile coverage"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (27 commits)
  Input: gpio_keys - fix warning regarding uninitialized 'button' variable
  Input: add support for Elan eKTH I2C touchscreens
  Input: gpio_keys - fix warning regarding uninitialized  'irq' variable
  Input: cyapa - use 'error' for error codes
  Input: cyapa - fix resuming the device
  Input: gpio_keys - add device tree support for interrupt only keys
  Input: amikbd - allocate temporary keymap buffer on the stack
  Input: amikbd - fix build if !CONFIG_HW_CONSOLE
  Input: lm8323 - missing error check in lm8323_set_disable()
  Input: initialize device counter variables with -1
  Input: initialize input_no to -1 to avoid subtraction
  Input: i8042 - do not try to load on Intel NUC D54250WYK
  Input: atkbd - correct MSC_SCAN events for force_release keys
  Input: cyapa - switch to using managed resources
  Input: lifebook - use "static inline" instead of "inline" in lifebook.h
  Input: touchscreen - use __maybe_unused instead of ifdef around suspend/resume
  Input: mouse - use __maybe_unused instead of ifdef around suspend/resume
  Input: misc - use __maybe_unused instead of ifdef around suspend/resume
  Input: cap11xx - support for irq-active-high option
  Input: cap11xx - add support for various cap11xx devices
  ...
parents d6666be6 f20c86cd
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
Device tree bindings for Microchip CAP1106, 6 channel capacitive touch sensor
Device tree bindings for Microchip CAP11xx based capacitive touch sensors

The node for this driver must be a child of a I2C controller node, as the
The node for this device must be a child of a I2C controller node, as the
device communication via I2C only.

Required properties:

	compatible:		Must be "microchip,cap1106"
	compatible:		Must contain one of:
					"microchip,cap1106"
					"microchip,cap1126"
					"microchip,cap1188"

	reg:			The I2C slave address of the device.
				Only 0x28 is valid.

	interrupts:		Property describing the interrupt line the
				device's ALERT#/CM_IRQ# pin is connected to.
@@ -26,6 +28,10 @@ Optional properties:
				Valid values are 1, 2, 4, and 8.
				By default, a gain of 1 is set.

	microchip,irq-active-high:	By default the interrupt pin is active low
				open drain. This property allows using the active
				high push-pull output.

	linux,keycodes:		Specifies an array of numeric keycode values to
				be used for the channels. If this property is
				omitted, KEY_A, KEY_B, etc are used as
@@ -43,11 +49,11 @@ i2c_controller {
		autorepeat;
		microchip,sensor-gain = <2>;

		linux,keycodes = <103		/* KEY_UP */
				  106		/* KEY_RIGHT */
				  108		/* KEY_DOWN */
				  105		/* KEY_LEFT */
				  109		/* KEY_PAGEDOWN */
				  104>;		/* KEY_PAGEUP */
		linux,keycodes = <103>,		/* KEY_UP */
				 <106>,		/* KEY_RIGHT */
				 <108>,		/* KEY_DOWN */
				 <105>,		/* KEY_LEFT */
				 <109>,		/* KEY_PAGEDOWN */
				 <104>;		/* KEY_PAGEUP */
	};
}
+34 −0
Original line number Diff line number Diff line
Elantech I2C Touchpad

Required properties:
- compatible: must be "elan,ekth3000".
- reg: I2C address of the chip.
- interrupt-parent: a phandle for the interrupt controller (see interrupt
  binding[0]).
- interrupts: interrupt to which the chip is connected (see interrupt
  binding[0]).

Optional properties:
- wakeup-source: touchpad can be used as a wakeup source.
- pinctrl-names: should be "default" (see pinctrl binding [1]).
- pinctrl-0: a phandle pointing to the pin settings for the device (see
  pinctrl binding [1]).
- vcc-supply: a phandle for the regulator supplying 3.3V power.

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Example:
	&i2c1 {
		/* ... */

		touchpad@15 {
			compatible = "elan,ekth3000";
			reg = <0x15>;
			interrupt-parent = <&gpio4>;
			interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>;
			wakeup-source;
		};

		/* ... */
	};
+33 −0
Original line number Diff line number Diff line
Elantech I2C Touchscreen

Required properties:
- compatible: must be "elan,ekth3500".
- reg: I2C address of the chip.
- interrupt-parent: a phandle for the interrupt controller (see interrupt
  binding[0]).
- interrupts: interrupt to which the chip is connected (see interrupt
  binding[0]).

Optional properties:
- wakeup-source: touchscreen can be used as a wakeup source.
- pinctrl-names: should be "default" (see pinctrl binding [1]).
- pinctrl-0: a phandle pointing to the pin settings for the device (see
  pinctrl binding [1]).

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Example:
	&i2c1 {
		/* ... */

		touchscreen@10 {
			compatible = "elan,ekth3500";
			reg = <0x10>;
			interrupt-parent = <&gpio4>;
			interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>;
			wakeup-source;
		};

		/* ... */
	};
+9 −1
Original line number Diff line number Diff line
@@ -10,10 +10,13 @@ Optional properties:
Each button (key) is represented as a sub-node of "gpio-keys":
Subnode properties:

	- gpios: OF device-tree gpio specification.
	- label: Descriptive name of the key.
	- linux,code: Keycode to emit.

Required mutual exclusive subnode-properties:
	- gpios: OF device-tree gpio specification.
	- interrupts: the interrupt line for that input

Optional subnode-properties:
	- linux,input-type: Specify event type this button/key generates.
	  If not specified defaults to <1> == EV_KEY.
@@ -33,4 +36,9 @@ Example nodes:
				linux,code = <103>;
				gpios = <&gpio1 0 1>;
			};
			button@22 {
				label = "GPIO Key DOWN";
				linux,code = <108>;
				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
			};
			...
+1 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ dlink D-Link Corporation
dmo	Data Modul AG
ebv	EBV Elektronik
edt	Emerging Display Technologies
elan	Elan Microelectronic Corp.
emmicro	EM Microelectronic
energymicro	Silicon Laboratories (formerly Energy Micro AS)
epcos	EPCOS AG
Loading