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

Commit 5791d1cf authored by Venkata Prahlad Valluru's avatar Venkata Prahlad Valluru
Browse files

input: touchscreen: Add focaltech FT3267 touchscreen driver



Ft32x7 controllers are single chip capacitive
touch panel controller ICs with Micro Controller Unit.
It supports multi-touch capability and can detect
up to five touches.

This version (V1.3_20170306) also supports ICs
FT3207, FT3267, FT5822, FT5x46, FT6336G/U,
FT8006, FT8606, FT8607, FT8716, FT8736.

Fix checkpatch errors, add dts documentation,
change wakelocks to corresponding pm_* calls
and change file open calls to firmware_class calls.

Change-Id: If33025b1c292f39e8b059e6247cbbb547ab942d2
Signed-off-by: default avatarVenkata Prahlad Valluru <vvalluru@codeaurora.org>
parent 9fa863fa
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
FocalTech touch controller

The focaltech controller is connected to host processor
via i2c. The controller generates interrupts when the
user touches the panel. The host controller is expected
to read the touch coordinates over i2c and pass the coordinates
to the rest of the system.

Required properties:

 - compatible		: should be "focaltech,fts".
 - reg				: i2c slave address of the device.
 - interrupt-parent	: parent of interrupt.
 - interrupts		: touch sample interrupt to indicate presense or release
				of fingers on the panel.
 - vdd-supply		: Power supply needed to power up the device.
 - vcc-i2c-supply	: Power source required to power up i2c bus.
 - focaltech,irq-gpio	: irq gpio which is to provide interrupts to host,
				same as "interrupts" node. It will also
				contain active low or active high information.
 - focaltech,reset-gpio	: reset gpio to control the reset of chip.
 - focaltech,display-coords : display coordinates in pixels. It is a four
				tuple consisting of min x, min y, max x and
				max y values

Optional properties:
 - focaltech,max-touch-number	: maximnum number of touch points supported.
 - focaltech,have-key 		: specify whether virtual keys are present.
 - focaltech,key-number 	: number of keys, maximum 3.
 - focaltech,keys 			: array of key code.
 - focaltech,key-y-coord 	: y coordinate for the keys.
 - focaltech,key-x-coords	: array of x coordinates for the keys.

Example:
	i2c@f9923000{
		focaltech@38{
			compatible = "focaltech,fts";
			reg = <0x38>;
			interrupt-parent = <&msmgpio>;
			interrupts = <98 0x2008>;
			vdd-supply = <&pm8110_l19>;
			vcc_i2c-supply = <&pm8110_l14>;
			focaltech,reset-gpio = <&msmgpio 16 0x00>;
			focaltech,irq-gpio = <&msmgpio 98 0x2008>;
			focaltech,display-coords = <0 0 480 800>;
			focaltech,max-touch-number = <2>;
			focaltech,have-key;
			focaltech,key-number = <3>;
			focaltech,keys = <139 142 140>;
			focaltech,key-y-coord = <700>;
			focaltech,key-x-coords = <80 240 400>;
		};
	};
+1 −0
Original line number Diff line number Diff line
@@ -1136,5 +1136,6 @@ config TOUCHSCREEN_MAXIM_STI
	  module will be called maxim_sti.

source "drivers/input/touchscreen/gt9xx/Kconfig"
source "drivers/input/touchscreen/focaltech_touch/Kconfig"

endif
+1 −0
Original line number Diff line number Diff line
@@ -90,3 +90,4 @@ obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) += synaptics_i2c_rmi4.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI4_DEV)	+= synaptics_rmi_dev.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE) 	+= synaptics_fw_update.o
obj-$(CONFIG_TOUCHSCREEN_GT9XX)		+= gt9xx/
obj-$(CONFIG_TOUCHSCREEN_FTS)		+= focaltech_touch/
+18 −0
Original line number Diff line number Diff line
#
# Focaltech Touchscreen driver configuration
#
menuconfig TOUCHSCREEN_FTS
	bool "Focaltech Touchscreen"
	depends on I2C
	default n
	help
	  Say Y here if you have Focaltech touch panel.
	  If unsure, say N.

config TOUCHSCREEN_FTS_DIRECTORY
	string "Focaltech ts directory name"
	default "focaltech_touch"
	depends on TOUCHSCREEN_FTS
	help
	  Specify the path for the driver directory.
	  Path should be relative to driver/input/touchscreen/.
+17 −0
Original line number Diff line number Diff line
#
# Makefile for the focaltech touchscreen drivers.
#

# Each configuration option enables a list of files.

obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_core.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_ex_fun.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_ex_mode.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_flash.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_gesture.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_esdcheck.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_i2c.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_sensor.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_point_report_check.o
obj-$(CONFIG_TOUCHSCREEN_FTS)	+=  focaltech_flash/
Loading