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

Commit 9f7a9b11 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input updates from Dmitry Torokhov:

 - three new touchscreen drivers: EETI EXC3000, HiDeep, and Samsung
   S6SY761

 - the timer API conversion (setup_timer() -> timer_setup())

 - a few drivers swiytched to using managed API for creating custom
   device attributes

 - other assorted fixed and cleanups.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (50 commits)
  Input: gamecon - mark expected switch fall-throughs
  Input: sidewinder - mark expected switch fall-throughs
  Input: spaceball - mark expected switch fall-throughs
  Input: uinput - unlock on allocation failure in ioctl
  Input: add support for the Samsung S6SY761 touchscreen
  Input: add support for HiDeep touchscreen
  Input: st1232 - remove obsolete platform device support
  Input: convert autorepeat timer to use timer_setup()
  media: ttpci: remove autorepeat handling and use timer_setup
  Input: cyttsp4 - avoid overflows when calculating memory sizes
  Input: mxs-lradc - remove redundant assignment to pointer input
  Input: add I2C attached EETI EXC3000 multi touch driver
  Input: goodix - support gt1151 touchpanel
  Input: ps2-gpio - actually abort probe when connected to sleeping GPIOs
  Input: hil_mlc - convert to using timer_setup()
  Input: hp_sdc - convert to using timer_setup()
  Input: touchsceen - convert timers to use timer_setup()
  Input: keyboard - convert timers to use timer_setup()
  Input: uinput - fold header into the driver proper
  Input: uinput - remove uinput_allocate_device()
  ...
parents 4e4510fe c2514106
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
Device-Tree bindings for GPIO attached mice

This simply uses standard GPIO handles to define a simple mouse connected
to 5-7 GPIO lines.

Required properties:
	- compatible: must be "gpio-mouse"
	- scan-interval-ms: The scanning interval in milliseconds
	- up-gpios: GPIO line phandle to the line indicating "up"
	- down-gpios: GPIO line phandle to the line indicating "down"
	- left-gpios: GPIO line phandle to the line indicating "left"
	- right-gpios: GPIO line phandle to the line indicating "right"

Optional properties:
	- button-left-gpios: GPIO line handle to the left mouse button
	- button-middle-gpios: GPIO line handle to the middle mouse button
	- button-right-gpios: GPIO line handle to the right mouse button
Example:

#include <dt-bindings/gpio/gpio.h>

gpio-mouse {
	compatible = "gpio-mouse";
	scan-interval-ms = <50>;
	up-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
	down-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
	left-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
	right-gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
	button-left-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
	button-middle-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
	button-right-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
};
+27 −0
Original line number Diff line number Diff line
* EETI EXC3000 Multiple Touch Controller

Required properties:
- compatible: must be "eeti,exc3000"
- reg: i2c slave address
- interrupt-parent: the phandle for the interrupt controller
- interrupts: touch controller interrupt
- touchscreen-size-x: See touchscreen.txt
- touchscreen-size-y: See touchscreen.txt

Optional properties:
- touchscreen-inverted-x: See touchscreen.txt
- touchscreen-inverted-y: See touchscreen.txt
- touchscreen-swapped-x-y: See touchscreen.txt

Example:

	touchscreen@2a {
		compatible = "eeti,exc3000";
		reg = <0x2a>;
		interrupt-parent = <&gpio1>;
		interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
		touchscreen-size-x = <4096>;
		touchscreen-size-y = <4096>;
		touchscreen-inverted-x;
		touchscreen-swapped-x-y;
	};
+2 −1
Original line number Diff line number Diff line
@@ -2,7 +2,8 @@ Device tree bindings for Goodix GT9xx series touchscreen controller

Required properties:

 - compatible		: Should be "goodix,gt911"
 - compatible		: Should be "goodix,gt1151"
				 or "goodix,gt911"
				 or "goodix,gt9110"
				 or "goodix,gt912"
				 or "goodix,gt927"
+42 −0
Original line number Diff line number Diff line
* HiDeep Finger and Stylus touchscreen controller

Required properties:
- compatible		: must be "hideep,hideep-ts"
- reg			: I2C slave address, (e.g. 0x6C).
- interrupt-parent : Interrupt controller to which the chip is connected.
- interrupts : Interrupt to which the chip is connected.

Optional properties:
- vdd-supply	: It is the controller supply for controlling
					 main voltage(3.3V) through the regulator.
- vid-supply	: It is the controller supply for controlling
					IO voltage(1.8V) through the regulator.
- reset-gpios	: Define for reset gpio pin.
						It is to use for reset IC.
- touchscreen-size-x	: X axis size of touchscreen
- touchscreen-size-y	: Y axis size of touchscreen
- linux,keycodes	: Specifies an array of numeric keycode values to
			be used for reporting button presses. The array can
			contain up to 3 entries.

Example:

#include "dt-bindings/input/input.h"

i2c@00000000 {

	/* ... */

	touchscreen@6c {
		compatible = "hideep,hideep-ts";
		reg = <0x6c>;
		interrupt-parent = <&gpx1>;
		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
		vdd-supply = <&ldo15_reg>";
		vid-supply = <&ldo18_reg>;
		reset-gpios = <&gpx1 5 0>;
		touchscreen-size-x = <1080>;
		touchscreen-size-y = <1920>;
		linux,keycodes = <KEY_HOME>, <KEY_MENU>, <KEY_BACK>;
	};
};
+34 −0
Original line number Diff line number Diff line
* Samsung S6SY761 touchscreen controller

Required properties:
- compatible		: must be "samsung,s6sy761"
- reg			: I2C slave address, (e.g. 0x48)
- interrupt-parent	: the phandle to the interrupt controller which provides
			  the interrupt
- interrupts		: interrupt specification
- avdd-supply		: analogic power supply
- vdd-supply		: power supply

Optional properties:
- touchscreen-size-x	: see touchscreen.txt. This property is embedded in the
			  device. If defined it forces a different x resolution.
- touchscreen-size-y	: see touchscreen.txt. This property is embedded in the
			  device. If defined it forces a different y resolution.

Example:

i2c@00000000 {

	/* ... */

	touchscreen@48 {
		compatible = "samsung,s6sy761";
		reg = <0x48>;
		interrupt-parent = <&gpa1>;
		interrupts = <1 IRQ_TYPE_NONE>;
		avdd-supply = <&ldo30_reg>;
		vdd-supply = <&ldo31_reg>;
		touchscreen-size-x = <4096>;
		touchscreen-size-y = <4096>;
	};
};
Loading