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

Commit 49f79bf3 authored by Mao Li's avatar Mao Li Committed by Venkata Prahlad Valluru
Browse files

input: synaptics_dsx_2.6: update driver to enable touch S332U



Synaptics reference driver V2.6 is being cleaned up to enable touch
controller S332U. Add Kconfig and Makefile changes to enable Synaptics dsx
V2.6 driver's compilation.
Clean checkpatch errors.

CRs-Fixed: 943896
Change-Id: I7e79e9ee321b7a7c90d27f065281dc73cee65391
Signed-off-by: default avatarMao Li <maol@codeaurora.org>
Signed-off-by: default avatarVenkata Prahlad Valluru <vvalluru@codeaurora.org>
parent 3ef9ced6
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
Synaptics DSXV26 touch controller

Please add this description here: The Synaptics Touch controller is connected to the
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 "synaptics,dsx-i2c".
 - reg			               : i2c slave address of the device.
 - interrupt-parent	           : parent of interrupt.
 - synaptics,irq-gpio	       : irq gpio.
 - synaptics,irq-flags         : irq flags.

Optional property:
 - vdd_ana-supply			   : digital voltage power supply needed to power device.
 - vcc_i2c-supply			   : analog voltage power supply needed to power device.
 - synaptics,pwr-reg-name	   : power reg name of digital voltage.
 - synaptics,bus-reg-name	   : bus reg name of analog voltage.
 - synaptics,irq-on-state      : status of irq gpio.
 - synaptics,cap-button-codes  : virtual key code mappings to be used.
 - synaptics,vir-button-codes  : virtual key code and the response region on panel.
 - synaptics,x-flip		       : modify orientation of the x axis.
 - synaptics,y-flip		       : modify orientation of the y axis.
 - synaptics,reset-delay-ms	   : reset delay for controller (ms), default 100.
 - synaptics,max-y-for-2d	   : maximal y value of the panel.

Example:
	i2c@78b7000 {
		status = "ok";
		synaptics@4b {
			compatible = "synaptics,dsx-i2c";
			reg = <0x4b>;
			interrupt-parent = <&tlmm>;
			interrupts = <65 0x2008>;
			vdd_ana-supply = <&pmtitanium_l17>;
			vcc_i2c-supply = <&pmtitanium_l6>;
			synaptics,pwr-reg-name = "vdd_ana";
			synaptics,bus-reg-name = "vcc_i2c";
			synaptics,irq-gpio = <&tlmm 65 0x2008>;
			synaptics,irq-on-state = <0>;
			synaptics,irq-flags = <0x2008>; /* IRQF_ONESHOT | IRQF_TRIGGER_LOW */
			synaptics,power-delay-ms = <200>;
			synaptics,reset-delay-ms = <200>;
			synaptics,max-y-for-2d = <1919>; /* remove if no virtual buttons */
			synaptics,cap-button-codes = <139 172 158>;
			synaptics,vir-button-codes = <139 180 2000 320 160 172 540 2000 320 160 158 900 2000 320 160>;
		};
	};
+2 −0
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ menuconfig INPUT_TOUCHSCREEN

if INPUT_TOUCHSCREEN

source "drivers/input/touchscreen/synaptics_dsx_2.6/Kconfig"

config TOUCHSCREEN_PROPERTIES
	def_tristate INPUT
	depends on INPUT
+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ obj-$(CONFIG_TOUCHSCREEN_SUN4I) += sun4i-ts.o
obj-$(CONFIG_TOUCHSCREEN_SUR40)		+= sur40.o
obj-$(CONFIG_TOUCHSCREEN_SURFACE3_SPI)	+= surface3_spi.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX) += synaptics_dsx/
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_v26)	+= synaptics_dsx_2.6/
obj-$(CONFIG_TOUCHSCREEN_TI_AM335X_TSC)	+= ti_am335x_tsc.o
obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213)	+= touchit213.o
obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT)	+= touchright.o
+33 −33
Original line number Diff line number Diff line
#
# Synaptics DSX touchscreen driver configuration
# Synaptics DSX v2.6 touchscreen driver configuration
#
menuconfig TOUCHSCREEN_SYNAPTICS_DSX
	bool "Synaptics DSX touchscreen"
	default N
menuconfig TOUCHSCREEN_SYNAPTICS_DSX_v26
	bool "Synaptics DSX v2.6 touchscreen"
	default y
	help
	  Say Y here if you have a Synaptics DSX touchscreen connected
	  to your system.

	  If unsure, say N.

if TOUCHSCREEN_SYNAPTICS_DSX
if TOUCHSCREEN_SYNAPTICS_DSX_v26

choice
	default TOUCHSCREEN_SYNAPTICS_DSX_I2C
	prompt "Synaptics DSX bus interface"
config TOUCHSCREEN_SYNAPTICS_DSX_I2C
	default TOUCHSCREEN_SYNAPTICS_DSX_I2C_v26
	prompt "Synaptics DSX v2.6 bus interface"
config TOUCHSCREEN_SYNAPTICS_DSX_I2C_v26
	bool "RMI over I2C"
	depends on I2C
config TOUCHSCREEN_SYNAPTICS_DSX_SPI
config TOUCHSCREEN_SYNAPTICS_DSX_SPI_v26
	bool "RMI over SPI"
	depends on SPI_MASTER
config TOUCHSCREEN_SYNAPTICS_DSX_RMI_HID_I2C
config TOUCHSCREEN_SYNAPTICS_DSX_RMI_HID_I2C_v26
	bool "HID over I2C"
	depends on I2C
endchoice

config TOUCHSCREEN_SYNAPTICS_DSX_CORE
	tristate "Synaptics DSX core driver module"
config TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	tristate "Synaptics DSX v2.6 core driver module"
	depends on I2C || SPI_MASTER
	help
	  Say Y here to enable basic touch reporting functionality.
@@ -37,9 +37,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_CORE
	  To compile this driver as a module, choose M here: the
	  module will be called synaptics_dsx_core.

config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV
	tristate "Synaptics DSX RMI device module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE
config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV_v26
	tristate "Synaptics DSX v2.6 RMI device module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	help
	  Say Y here to enable support for direct RMI register access.

@@ -48,9 +48,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV
	  To compile this driver as a module, choose M here: the
	  module will be called synaptics_dsx_rmi_dev.

config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE
	tristate "Synaptics DSX firmware update module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE
config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v26
	tristate "Synaptics DSX v2.6 firmware update module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	help
	  Say Y here to enable support for doing firmware update.

@@ -59,9 +59,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE
	  To compile this driver as a module, choose M here: the
	  module will be called synaptics_dsx_fw_update.

config TOUCHSCREEN_SYNAPTICS_DSX_TEST_REPORTING
	tristate "Synaptics DSX test reporting module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE
config TOUCHSCREEN_SYNAPTICS_DSX_TEST_REPORTING_v26
	tristate "Synaptics DSX v2.6 test reporting module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	help
	  Say Y here to enable support for retrieving production test reports.

@@ -70,9 +70,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_TEST_REPORTING
	  To compile this driver as a module, choose M here: the
	  module will be called synaptics_dsx_test_reporting.

config TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY
	tristate "Synaptics DSX proximity module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE
config TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY_v26
	tristate "Synaptics DSX v2.6 proximity module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	help
	  Say Y here to enable support for proximity functionality.

@@ -81,9 +81,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY
	  To compile this driver as a module, choose M here: the
	  module will be called synaptics_dsx_proximity.

config TOUCHSCREEN_SYNAPTICS_DSX_ACTIVE_PEN
	tristate "Synaptics DSX active pen module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE
config TOUCHSCREEN_SYNAPTICS_DSX_ACTIVE_PEN_v26
	tristate "Synaptics DSX v2.6 active pen module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	help
	  Say Y here to enable support for active pen functionality.

@@ -92,9 +92,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_ACTIVE_PEN
	  To compile this driver as a module, choose M here: the
	  module will be called synaptics_dsx_active_pen.

config TOUCHSCREEN_SYNAPTICS_DSX_GESTURE
	tristate "Synaptics DSX user defined gesture module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE
config TOUCHSCREEN_SYNAPTICS_DSX_GESTURE_v26
	tristate "Synaptics DSX v2.6 user defined gesture module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	help
	  Say Y here to enable support for user defined gesture functionality.

@@ -103,9 +103,9 @@ config TOUCHSCREEN_SYNAPTICS_DSX_GESTURE
	  To compile this driver as a module, choose M here: the
	  module will be called synaptics_dsx_gesture.

config TOUCHSCREEN_SYNAPTICS_DSX_VIDEO
	tristate "Synaptics DSX video module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE
config TOUCHSCREEN_SYNAPTICS_DSX_VIDEO_v26
	tristate "Synaptics DSX v2.6 video module"
	depends on TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26
	help
	  Say Y here to enable support for video communication functionality.

+11 −11
Original line number Diff line number Diff line
@@ -4,14 +4,14 @@

# Each configuration option enables a list of files.

obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C) += synaptics_dsx_i2c.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_SPI) += synaptics_dsx_spi.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_HID_I2C) += synaptics_dsx_rmi_hid_i2c.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE) += synaptics_dsx_core.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV) += synaptics_dsx_rmi_dev.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE) += synaptics_dsx_fw_update.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_TEST_REPORTING) += synaptics_dsx_test_reporting.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY) += synaptics_dsx_proximity.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_ACTIVE_PEN) += synaptics_dsx_active_pen.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_GESTURE) += synaptics_dsx_gesture.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_VIDEO) += synaptics_dsx_video.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C_v26) += synaptics_dsx_i2c.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_SPI_v26) += synaptics_dsx_spi.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_HID_I2C_v26) += synaptics_dsx_rmi_hid_i2c.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE_v26) += synaptics_dsx_core.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV_v26) += synaptics_dsx_rmi_dev.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v26) += synaptics_dsx_fw_update.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_TEST_REPORTING_v26) += synaptics_dsx_test_reporting.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_PROXIMITY_v26) += synaptics_dsx_proximity.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_ACTIVE_PEN_v26) += synaptics_dsx_active_pen.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_GESTURE_v26) += synaptics_dsx_gesture.o
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_VIDEO_v26) += synaptics_dsx_video.o
Loading