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

Commit 842ff286 authored by Anthony Kim's avatar Anthony Kim Committed by Dmitry Torokhov
Browse files

Input: add support for HiDeep touchscreen



The HiDeep touchscreen device is a capacitive multi-touch controller
mainly for multi-touch supported devices use. It use I2C interface for
communication to IC and provide axis X, Y, Z locations for ten finger
touch through input event interface to userspace.

It support the Crimson and the Lime two type IC. They are different
the number of channel supported and FW size. But the working protocol
is same.

Signed-off-by: default avatarAnthony Kim <anthony.kim@hideep.com>
Acked-by: default avatarRob Herring <robh+dt@kernel.org>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 4a1a57df
Loading
Loading
Loading
Loading
+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>;
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -137,6 +137,7 @@ gw Gateworks Corporation
hannstar	HannStar Display Corporation
haoyu	Haoyu Microelectronic Co. Ltd.
hardkernel	Hardkernel Co., Ltd
hideep	HiDeep Inc.
himax	Himax Technologies, Inc.
hisilicon	Hisilicon Limited.
hit	Hitachi Ltd.
+11 −0
Original line number Diff line number Diff line
@@ -354,6 +354,17 @@ config TOUCHSCREEN_GOODIX
	  To compile this driver as a module, choose M here: the
	  module will be called goodix.

config TOUCHSCREEN_HIDEEP
	tristate "HiDeep Touch IC"
	depends on I2C
	help
	  Say Y here if you have a touchscreen using HiDeep.

	  If unsure, say N.

	  To compile this driver as a moudle, choose M here : the
	  module will be called hideep_ts.

config TOUCHSCREEN_ILI210X
	tristate "Ilitek ILI210X based touchscreen"
	depends on I2C
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ obj-$(CONFIG_TOUCHSCREEN_EGALAX_SERIAL) += egalax_ts_serial.o
obj-$(CONFIG_TOUCHSCREEN_EXC3000)	+= exc3000.o
obj-$(CONFIG_TOUCHSCREEN_FUJITSU)	+= fujitsu_ts.o
obj-$(CONFIG_TOUCHSCREEN_GOODIX)	+= goodix.o
obj-$(CONFIG_TOUCHSCREEN_HIDEEP)	+= hideep.o
obj-$(CONFIG_TOUCHSCREEN_ILI210X)	+= ili210x.o
obj-$(CONFIG_TOUCHSCREEN_IMX6UL_TSC)	+= imx6ul_tsc.o
obj-$(CONFIG_TOUCHSCREEN_INEXIO)	+= inexio.o
+1120 −0

File added.

Preview size limit exceeded, changes collapsed.