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

Commit f9136526 authored by Mao Li's avatar Mao Li
Browse files

input: msg21xx_ts: update mstar driver to enable msg2138A



Mstar reference driver is being cleaned up to be checkpatch
compliant. Add Kconfig and Makefile changes to enable Mstar
driver's compilation. And following new features are added to
the driver:
1. Pinctrl support
2. Threaded irq support
3. Release all touches in suspend
4. Protocol B compliance
5. Explicit suspend/resume function
6. Configure gpios in suspend/resume function
7. Add device tree parser function
8. Add dtsi support for gpio, regulator, I2C address, display coords

Change-Id: Ic49a18de64ec210a0636405394ba7a8f52f336a9
Signed-off-by: default avatarMao Li <maol@codeaurora.org>
Signed-off-by: default avatarShantanu Jain <shjain@codeaurora.org>
parent bb047aa5
Loading
Loading
Loading
Loading
+60 −0
Original line number Diff line number Diff line
Mstar touch controller

The mstar 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 "mstar,msg21xx"
 - 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
 - mstar,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.
 - mstar,reset-gpio	: reset gpio to control the reset of chip
 - mstar,display-coords : display coords in pixels. It is a four
				tuple consisting of min x, min y, max x and
				max y values
 - pinctrl-names : This should be defined if a target uses pinctrl framework.
			See "pinctrl" in Documentation/devicetree/bindings/pinctrl/msm-pinctrl.txt.
			Specify the names of the configs that pinctrl can install in driver.
			Following are the pinctrl configs that can be installed:
			"pmx_ts_active" : Active configuration of pins, this should specify active
			config defined in pin groups of interrupt and reset gpio.
			"pmx_ts_suspend" : Disabled configuration of pins, this should specify sleep
			config defined in pin groups of interrupt and reset gpio.
			"pmx_ts_release" : Release configuration of pins, this should specify
			release config defined in pin groups of interrupt and reset gpio.

Optional properties:

 - mstar,button-map : button map of key codes. It is a three tuple consisting of key codes.
 - mstar,panel-coords : panel coords for the chip in pixels.
				It is a four tuple consisting of min x,
				min y, max x and max y values

Example:
	i2c@78b9000 { /* BLSP1 QUP5 */
		mstar@26 {
			compatible = "mstar,msg21xx";
			reg = <0x26>;
			interrupt-parent = <&msm_gpio>;
			interrupts = <13 0x2008>;
			mstar,irq-gpio = <&msm_gpio 13 0x00000001>;
			mstar,reset-gpio = <&msm_gpio 12 0x0>;
			vdd-supply = <&pm8916_l17>;
			vcc_i2c-supply = <&pm8916_l6>;
			mstar,display-coords = <0 0 480 854>;
			pinctrl-names = "pmx_ts_active","pmx_ts_suspend";
			pinctrl-0 = <&ts_int_active &ts_reset_active>;
			pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
			mstar,button-map= <172 139 158>;
		};
	};
+11 −0
Original line number Diff line number Diff line
@@ -937,6 +937,17 @@ config TOUCHSCREEN_FT5X06
         To compile this driver as a module, choose M here: the
         module will be called ft5x06_ts.

config TOUCHSCREEN_MSTAR21XX
       tristate "mstar touchscreens"
       depends on I2C
       help
         Say Y here if you have a mstar touchscreen.

         If unsure, say N.

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

config TOUCHSCREEN_GEN_VKEYS
       tristate "Touchscreen Virtual Keys Driver"
       help
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE) += zylonite-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_W90X900)	+= w90p910_ts.o
obj-$(CONFIG_TOUCHSCREEN_TPS6507X)	+= tps6507x-ts.o
obj-$(CONFIG_TOUCHSCREEN_FT5X06)	+= ft5x06_ts.o
obj-$(CONFIG_TOUCHSCREEN_MSTAR21XX)	+= msg21xx_ts.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_SYNAPTICS_I2C_RMI4)		+= synaptics_i2c_rmi4.o
+1773 −1381

File changed.

Preview size limit exceeded, changes collapsed.