Commit graph

132 commits

Author SHA1 Message Date
Lijuan Gao
25c63fa374 drivers: power: reset: Do cold reset when doing oem reboot
As the IMEM approach to store reset reason is deprecated, so use
the spare register in PMIC power-on peripheral to store the oem
restart reason.

Bit-2 to bit-7 of SOFT_RB_SPARE for hard reset reason, so divide
existing range into regions, value 0 to 31 for common defined features
and 32 to 63 values are for OEMs/ODMs specific features.

Change-Id: Ib8e64d6dd5a335325d0469280e41e9d10ec9b893
Signed-off-by: Lijuan Gao <lijuang@codeaurora.org>
2017-12-11 19:11:18 +08:00
Shantanu Jain
27ff365a17 input: touchscreen: remove synaptics v2.6 touch driver
Remove synaptics v2.6 touch driver from the kernel code
as it has never been used in any of the recent platforms.

Change-Id: Ibf14dec548a180e517d9b41098af642577c4328b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
2017-03-31 14:52:14 +05:30
David Collins
07f2f9952c input: move qpnp-power-on driver into input/misc directory
Move the qpnp-power-on driver from the drivers/input directory
into the drivers/input/misc directory.  This is the standard
location where other power key drivers are kept.

Also make a small fix to use octal instead of symbolic
permissions for the ship_mode_en module parameter.

Change-Id: I4d80c2ca0f161bd443dbfe0fcef822459c9fe44b
Signed-off-by: David Collins <collinsd@codeaurora.org>
2017-01-06 10:52:46 -08:00
zhaoyuan
5c6da5653e input: ft5x06: defer touch resume to workqueue
During device resume, the touch resume function is called after display's
resume. In this case, the ft5x06's resume function needs to wait for
200ms because of reset requirement. Defer the touch resume to a workqueue
to reduce the total device resume time. For this an optional DT property
is added to enable this on targets that need this feature.

Change-Id: Ib0677ca792aea83ece1caf8a0afff341302747fb
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
2016-09-05 22:01:46 -07:00
Sudhakar Manapati
d0d1f78347 input: ft5x06_ts: remove proximity sensor support
remove psensor support as the linux/sensors.h file is not yet merged
in msm-3.18 kernel.

Change-Id: I6d46b35938b7420072f9245ffa27bb59f28d5e03
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-30 22:16:55 -07:00
Mao Li
1a0b4f1561 input: ft5x06_ts: add gesture feature support
Focaltech touch controller FT6436 support new feature Screen-off-Gesture.
It is able to turn on the screen by drawing gestures on the touch screen
when the screen is during off status. Enable the FT CTP driver to support
the screen off gesture recognization.

This patch is propagated from msm-3.18 kernel.
'commit 5cc0bff80d65 ("input: ft5x06_ts: add gesture feature support")'
Also cleared the following checkpatch warnings.
- Missing a blank line after declarations
- Missing a blank line after declarations
- Comparisons should place the constant on the right side of the test.

Change-Id: I77d111d3ef800b636a337221d7e605f746a113dd
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-30 22:15:36 -07:00
Linux Build Service Account
9a7c65cabe Merge "input: synaptics_dsx_2.6: fix issues raised by static analyzer" 2016-08-26 22:22:50 -07:00
zhaoyuan
b378a2f8ba input: synaptics: defer touch resume to workqueue for v2.6 driver
During device resume, the touch resume function is called after
display resume. Touch resume function will take about >200ms.
Defer the touch resume function to a workqueue to reduce the total
device resume time. An optional DT property is added to enable this
on targets that need this feature.

This change has been merged. Now, touch driver was updated to V2.6,
so, merge this change to V2.6 driver.

Change-Id: Ica477f35bd4fda59eb49c9b4f5e88b460366c761
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
2016-08-24 16:50:27 +05:30
Mao Li
fd296540ae input: ft5x06_ts: add proximity feature support
Focaltech's CTP FT6436 is able to behave like a proximity sensor.
Enable the driver support this new feature.

Also cleared the chekpatch warning on 3.18 kernel.

Change-Id: I7a6ec3a387536c512637b0bd8dab95e7cceca212
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
2016-08-23 11:35:51 +05:30
Mao Li
19cda0c39a input: ft5x06_ts: add support for firmware update for CTP FT6X36
The firmware image format is changed in CTP FT6436. Also vendor
id and version id are read from fw image from a different offset
as compared to previous controllers. The driver is updated to
support the new image format.

This patch is propagated from msm-3.18 kernel
'commit 6146c68f81b4 ("input: ft5x06_ts: add support for firmware
update for CTP FT6X36")'

Change-Id: I465fdfa73e56e8fc4bbfdde980c558e4715d6d08
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-21 21:12:40 -07:00
Bingzhe Cai
8ac5a9e361 input: touchscreen: add option to ignore Focaltech family-id check
Focaltech touchscreen ICs may use different chip IDs for same module.
Add support to ignore ID check for such cases.

This patch is propagated from msm-3.10 kernel
'commit d6e831bdf2af ("input: touchscreen: add option to ignore
Focaltech family-id check")'

Also fix the checkpatch errors.

Change-Id: I0fe8da6a5e687317b4878b59ac5d1a4a4b620e1d
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-17 17:13:46 +05:30
Mohan Pallaka
bf71f01cc7 input: ft5x06_ts: Upgrade firmware based on version
Upgrade firmware on the controller only when a new
version of firmware is available.

This patch is propagated from msm-3.18 kernel
'commit 88d102ef081f ("input: ft5x06_ts: Upgrade
firmware based on version")'

Change-Id: I4cf75b3c5efb90f151da09ed73b1ba62b9b5bb1c
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2016-08-17 16:59:15 +05:30
Mohan Pallaka
72436be454 input: ft5x06_ts: Parse board specific parameters from pdata
To support all models supported by focaltech push necessary
parameters to platform data.

This patch is propagated from msm-3.18 kernel
'commit 473f8cd84f93 ("input: ft5x06_ts: Parse board specific
parameters from pdata")'

Also fix the below checkpatch warnings on 3.18 Kernel.
WARNING: Possible unnecessary 'out of memory' message
+       if (!data) {
+               dev_err(&client->dev, "Not enough memory\n");

WARNING: Possible unnecessary 'out of memory' message
+       if (!data->ts_info) {
+               dev_err(&client->dev, "Not enough memory\n");

Change-Id: I00b0e8ba7cfc8d8fbd48aa910bd3d0010283ed00
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
2016-08-17 16:53:44 +05:30
Mohan Pallaka
95c648643d input: ft5x06_ts: Add DT support
Add device tree support for focaltech controller driver.
The data is represented in device tree format and parsed
by the driver using of framework apis.

This patch is a propagated patch from 3.18 kernel
'commit 83310a9a151e ("input: ft5x06_ts: Add DT support")'

Change-Id: Ibcdd8c3579f401ac0632d670e1b7c674aa67ba8d
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
[abinayap@codeaurora.org: Fix checkpatch errors for 4.4 kernel
struct of_device_id should normally be const]
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
2016-08-05 07:29:28 -07:00
Shantanu Jain
1108a17322 input: ft5x06_ts: clean up the focaltech touchscreen driver
Clean up the focaltech driver by fixing the following checkpatch
errors.

1. else is not generally useful after a break or return
2. Possible unnecessary 'out of memory' message
3. Using __devexit is unnecessary
4. Unnecessary space before function pointer arguments

This patch is a propagated patch from 3.18 kernel
'commit 2b6ea311a968 ("input: ft5x06_ts: fix checkpatch errors")'

Change-Id: I36ed0497c12b0f14e9d7b60c2d8e78729871b8d0
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
2016-07-29 12:18:37 +05:30
Mohan Pallaka
96a21fd1f8 input: ft5x06_ts: Add driver for ft5x06 series
Ft5x06 controllers are single chip capacitive
touch panel controller ICs with a built-in 8 bit
Micro Controller Unit. It supports multi-touch
capability and can detect up to five touches.

Change-Id: I39eb1175d473d1f2c463e1c4a0a1606307da9dc0
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
(cherry picked from commit a2595074a6528a1a2d28470c11ed14c21081068c)
2016-07-22 11:48:01 +05:30
Mao Li
954d864622 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.

CRs-Fixed: 943896
Change-Id: I7e79e9ee321b7a7c90d27f065281dc73cee65391
Signed-off-by: Mao Li <maol@codeaurora.org>
2016-03-25 16:02:35 -07:00
Mohan Pallaka
4377fa96aa input: gen_vkeys: squash commit from 3.14-kernel
Squash and apply the following changes taken from the msm-3.14
kernel branch as of msm-3.14
commit 8139d0b4e7a6d ("ARM: dts: msm: Set flag to manage clks")

commit c24a3df92a457643cc0821eb9e8f392ae5a907ee
Author: Amy Maloche <amaloche@codeaurora.org>
Date:   Thu May 9 10:23:41 2013 -0700

    input: gen_vkeys: Make y_offset an optional property

    Not all targets will need the y coordinate shifted to
    function properly, so set this value as default 0.

    Change-Id: I1816433c3601fe099ffb8ee275637e573990e432
    Signed-off-by: Amy Maloche <amaloche@codeaurora.org>

 Documentation/devicetree/bindings/input/gen_vkeys.txt
 drivers/input/touchscreen/gen_vkeys.c
 2 files changed, 13 insertions(+), 5 deletions(-)
commit bb2ac18f8fab38fa12d8a7d8b7ee80d9c0049329
Author: Amy Maloche <amaloche@codeaurora.org>
Date:   Wed Apr 17 12:15:56 2013 -0700

    vkeys: gen_vkeys: Add key position offset

    Add virtual key position offset to match virtual key
	positions with front panel.

    Change-Id: Ibbf89e816d9654f202b75470df0c673aa42439c8
    Acked-by: Chun Zhang <chunz@qti.qualcomm.com>
    Signed-off-by: Amy Maloche <amaloche@codeaurora.org>

 Documentation/devicetree/bindings/input/gen_vkeys.txt
 drivers/input/touchscreen/gen_vkeys.c
 include/linux/input/gen_vkeys.h
 3 files changed, 10 insertions(+), 2 deletions(-)
commit 1a6d213cf5a3e40d8b39507e2b010dc81de63630
Author: Mohan Pallaka <mpallaka@codeaurora.org>
Date:   Wed Aug 8 11:25:52 2012 +0530

    input: Add support for virtual key generation

    Virtual keys are used for navigation on Android.
    These are not specific to the controller used
    in the target but are specific to the target.
    Add a module to generate virtual keys independently
    of the controller.

    Change-Id: I0c86dc77f1bc53c283e990be419c2715edf4e1c0
    Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
    Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
    [stepanm@codeaurora.org: resolve Kconfig conflicts]
    Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>

 .../devicetree/bindings/input/gen_vkeys.txt
 drivers/input/touchscreen/Kconfig
 drivers/input/touchscreen/Makefile
 drivers/input/touchscreen/gen_vkeys.c
 include/linux/input/gen_vkeys.h
 5 files changed, 278 insertions(+)

Change-Id: Ie0e14d201a42632af57ff23dc85cec8881125e5a
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 21:23:54 -07:00
zhaoyuan
06ca994c43 input: synaptics: defer touch resume to workqueue
During device resume, the touch resume function is called after
display resume. Touch resume function will take about >200ms.
Defer the touch resume function to a workqueue to reduce the total
device resume time. An optional DT property is added to enable this
on targets that need this feature.

Change-Id: Ia9b055144c5a7f29f0f0d57428cccbe15a7d7a87
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
2016-03-23 21:21:52 -07:00
Mao Li
1420512d46 input: touchpanel: Add Synaptics latest version 2.6 touchpanel driver
This is the reference driver source code for synaptics touch driver,
the version is 2.6.
All the new files are copied from the git commit:
7b6b9d126aca1f371e8abf3ae56d7a5a4e538f13
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_active_pen.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_active_pen.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.h
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.h;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_fw_update.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_gesture.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_gesture.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_i2c.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_proximity.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_proximity.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_dev.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_dev.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_hid_i2c.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_hid_i2c.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_spi.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_spi.c;
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_test_reporting.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_test_reporting.c
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_video.c
is copied from
kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_video.c
include/linux/input/synaptics_dsx_v2_6.h
is copied from
kernel/include/linux/input/synaptics_dsx.h

Change-Id: Ifda2c38ca5b4a82c3363d8c59ae9da3839568e82
Signed-off-by: Mao Li <maol@codeaurora.org>
2016-03-23 21:21:11 -07:00
Amy Maloche
47058cc1af input: atmel_maxtouch_ts: squash commit from 3.14 kernel
Squash and apply the following touchscreen changes taken from the msm-3.14
kernel branch as of msm-3.14 commit 8139d0b
(ARM: dts: msm: Set flag to manage clks during suspend for msm8996)

 421c2f3 input: touchscreen: atmel_maxtouch_ts: delay init call
 48e0a07 input: atmel_maxtouch_ts: recover from bootloader
 b3ebb61 input: atmel_maxtouch_ts: add support for force cfg update
 8467fe3 input: atmel_maxtouch_ts: fix firmware update routines
 c83ee59 input: atmel: Secure Touch support
 1c7d5e2 input: atmel_maxtouch_ts: fix power up sequence
 d4c1ffc input: atmel_maxtouch_ts: add support to ignore CRC
 f402790 input: atmel_maxtouch_ts: add support for standard features
 9374cef input: atmel_maxtouch_ts: use proper data types
 0fbe83e input: atmel_maxtouch_ts: add regulator error conditions
 e22d100 input: atmel_maxtouch_ts: add gpio support
 63d4b74 input: atmel_maxtouch_ts: add device tree support
 575c2fc input: atmel_maxtouch_ts: enable compilation on 3.10 kenrel

Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 20:57:58 -07:00
Nick Dyer
ea2cf49df9 input: atmel_maxtouch_ts: Add latest Atmel driver support
Git-commit: 482584a6c0d863e04a03837a79c1e79b2769aaee
Git-repo: git://github.com/atmel-maxtouch/maxtouch-v3.0.git
Change-Id: Ifdd872d1aacd5752aab1a218e18e2cbc1582c17f
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
[joshc: fixed up INIT_COMPLETION() usage]
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
2016-03-23 20:57:56 -07:00
Himanshu Aggarwal
5d64b48dce input: synaptics_dsx_fw_update: update fw based on config id
Update the firmware based on strict config ID versioning, rather than
the entire config ID as a 4 byte number. This will also protect
against config ID major number mismatches and packrat id mismatches.

This is a propagated patch from 3.10 kernel.
commit - 458cbab5c53d5141a66590441f9567d67d580c6f,
input: synaptics_dsx_fw_update: update fw based on config id

Change-Id: I1097585d3bd8b6ab753676dc56f268c7ce52680d
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
2016-03-23 20:57:53 -07:00
Sudhakar Manapati
3c6435a9f5 input: synaptics_dsx: Read touchscreen config-id during probe
Add support for reading configuration ID from the touch controller
during probe and print it. This is required to identify if touch
controller is programmed with correct touch firmware or not.

Change-Id: I155f0392ae67e5f9b184b9cef2a7bbb7666be30d
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
2016-03-23 20:57:52 -07:00
Mohan Pallaka
358da51dda input: synaptics_dsx: squash commit from 3.14 kernel
Squash and apply the following touchscreen changes taken from the msm-3.14
kernel branch as of msm-3.14 commit 3bc54cf86b
(Merge "msm: camera: Add dummy sub module in sensor pipeline")

 b20792c2 input: synaptics_dsx: Fix security issues
 4f3ec831 input: synaptics_dsx: Remove use of deprecated INIT_COMPLETION
 8c5bd97f input: synaptics_dsx: change permission for sysfs secure_touch_enable
 b22c0b56 input: synaptics_dsx: reconfigure resolution in suspend
 0ea26697 touchscreen: synaptics_dsx: set absolute axes for touchscreen
 6a021e0a input: synaptics_dsx: handle all controller interrupts
 d3de3ed6 input: synaptics_dsx: remove query operation from reinit
 2285a8dd input: synaptics_dsx: remove vkey kobject in remove
 6817aed5 input: synaptics: Fix to secure touch clock unbalance
 44a84a1e input: synaptics_dsx: support for pm ops
 41439903 input: synaptics: add support for unprogrammed panels
 b029351d input: synaptics: remove outdated header
 d065c5e0 input: synaptics: add ability to distinguish touch part
 72ca30da input: synaptics_dsx: release pinctrl resources on probe failure
 0ab5f1e5 input: synaptics: add NULL pointer check
 ad4102c8 input: synaptics: Secure touch clocks
 6a77bbed input: synaptics_dsx: fix compilation warning when !CONFIG_PM_*
 f3488933 input: synaptics_dsx: reorder device resume sequence
 71b65447 input: synaptics_dsx: add support for 2D sensor for soft-keys
 610ecdc2 input: synaptics_dsx: fix data sysfs read-write permission
 06195779 input: synaptics_dsx: fix up world writable sysfs file
 995ed76d input: synaptics_dsx: add ability to identify controller
 69a416fe input: synaptic_dsx: configure touch panel boundary coordinates
 609eb34b input: synaptics_dsx: correct sysfs permissions
 59af5ffb input: synaptics_dsx: remove firmware update at boot
 13b71e2f input: synaptic_dsx: stay awake the device during firmware update
 dccee682 input: synaptic_dsx: add sysfs entry for force firmware update
 a4d13992 input: synaptics: secure touch support
 11c70731 input: synaptic_dsx: add debugfs support for suspend/resume
 2642f2cb input: synaptics_dsx: add standard features for touch support
 72f05e70 input: synaptics_dsx: add dual regulator support
 ab390caa input: synaptics_dsx: add device tree support
 51898424 input: synaptics_dsx: fix conflicts with other drivers

Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 20:57:51 -07:00
Alexandra Chin
7ef5f9cf4e input: synaptics_dsx: Add support for synaptics_dsx touch
Change-Id: I1df8a7465fdb5c18cf69e0908347fc78ce7dd07c
Git-commit: 67b7a9d78725d5de2a1899095eb0026e15343a62
Git-repo: git://github.com/synaptics-touch/synaptics-dsx-v2.1
Signed-off-by: Alexandra Chin <alexandra.chin@tw.synaptics.com>
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2016-03-23 20:57:50 -07:00
Jing Lin
e897567177 input: maxim_sti: move header to uapi
Move kernel data structures to driver and keep the
data structures shared between kernel and user space
in the header file. Move the header to uapi to make
it accesible to user space.

Fix checkpatch errors to replace deprecated functions
and hardcoded error return values.

Change-Id: Ic3312c11ddda9f02da9807a6243206d582281995
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2016-03-23 20:51:34 -07:00
Mohan Pallaka
bf4d970916 input: maxim_sti: clean up the driver
Remove unnecessary macros and fix checkpatch errors.
Fix of_* apis to parse gpios and add pinctrl support.

Change-Id: I0ed7e31eb490ccf950e599469ff78338cae137d4
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2016-03-23 20:51:33 -07:00
Koushik Vishwamurthy
dfa24901bb input: touchscreen: maxim_sti: driver update
branch specific modifications.

Change-Id: Ie2b68cf91bb515428ea7e03ca379fb64bec8cc0a
Git-commit: a8ffad52f8811651dbc60811923f6444998b6df2
Git-repo: https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10/log/?h=github-maxim_sti/A2
[jinglin@codeaurora.org: add subject line to commit text,
remove Kbuild file]
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2016-03-23 20:51:32 -07:00
Koushik Vishwamurthy
0ea6dbc3a5 input: touchscreen: maxim_sti: initial commit
Maxim SmartTouch Imager Touchscreen driver added.

Change-Id: Ia570d7afa09bc081df6d79cd7a2f432867113439
Git-commit: b223650ce7eae499cf1a3474ad9a7019e1e3edf1
Git-repo: https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10/log/?h=github-maxim_sti/A2
[jinglin@codeaurora.org: add subject line to commit text]
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2016-03-23 20:51:31 -07:00
Dmitry Torokhov
22ddbacc4b Input: edt-ft5x06 - remove support for platform data
We do not have any users of platform data in the tree and all newer
platforms are either DT or ACPI, so let's drop handling of platform data.

Tested-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-09-27 17:33:59 -07:00
Franklin S Cooper Jr
13c23cd18b Input: edt-ft5x06 - switch to newer gpio framework
The current/old gpio framework used doesn't properly listen to
ACTIVE_LOW and ACTIVE_HIGH flags. The newer gpio framework takes into
account these flags when setting gpio values.

Since the values being output were based on voltage and not logic they
change to reflect this difference. Also use gpiod_set_value_cansleep since
wake and reset pins can be provided by bus based io expanders.

Switch from msleep(5) to udelay_range(5000,6000) to avoid check patch
warning.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-09-27 17:33:58 -07:00
Dmitry Torokhov
28a74c0500 Input: pixcir_i2c_ts - move platform data
Let's move driver's platform data definitions from include/linux/input/
into include/linux/platform_data/ so that it stays with the rest of
platform data definitions.

Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-07-11 17:27:36 -07:00
Dmitry Torokhov
4200e831e4 Input: of_touchscreen - switch to using device properties
Let's switch form OF to device properties so that common parsing code could
work not only on device tree but also on ACPI-based platforms.

Reviewed-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-07-11 17:26:45 -07:00
Dmitry Torokhov
7c494375b7 Input: improve parsing OF parameters for touchscreens
When applying touchscreen parameters specified in device tree let's make
sure we keep whatever setup was done by the driver and not reset the
missing values to zero.

Reported-by: Pavel Machek <pavel@ucw.cz>
Tested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-06-25 14:45:46 -07:00
Henrik Rydberg
448c7f3830 Input: MT - add support for balanced slot assignment
Some devices are not fast enough to differentiate between a fast-moving
contact and a new contact. This problem cannot be fully resolved because
information is truly missing, but it is possible to safe-guard against
obvious mistakes by restricting movement with a maximum displacement.

The new problem formulation for dmax > 0 cannot benefit from the speedup
for positive definite matrices, but since the convergence is faster, the
result is about the same. For a handful of contacts, the latency difference
is truly negligible.

Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Henrik Rydberg <rydberg@bitmath.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-02-01 11:50:35 -08:00
Henrik Rydberg
f8ec894945 Input: MT - make slot cleanup callable outside mt_sync_frame()
Some semi-mt drivers use the slots in a manual way, but may still
want to call parts of the frame synchronization logic. This patch
makes input_mt_drop_unused callable from those drivers.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-08-07 23:37:07 -07:00
Roger Quadros
36874c7e21 Input: pixcir_i2c_ts - support up to 5 fingers and hardware tracking IDs
Some variants of the Pixcir touch controller support up to 5 simultaneous
fingers and hardware tracking IDs. Prepare the driver for that.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-07-28 10:26:18 -07:00
Sebastian Reichel
b98abe52fa Input: add common DT binding for touchscreens
Add common DT binding documentation for touchscreen devices and
implement input_parse_touchscreen_of_params, which parses the common
properties and configures the input device accordingly.

The method currently does not interpret the axis inversion properties,
since there is no matching flag in the generic linux input device.

Reviewed-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-29 00:05:59 -07:00
Roger Quadros
0dfc8d41bf Input: pixcir_i2c_ts - get rid of pdata->attb_read_val()
Get rid of the attb_read_val() platform hook. Instead, read the ATTB gpio
directly from the driver.

Fail if valid ATTB gpio is not provided by patform data.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-18 23:25:57 -07:00
Roger Quadros
3b36fbb01d Input: pixcir_i2c_ts - initialize interrupt mode and power mode
Introduce helper functions to configure power and interrupt registers.
Default to IDLE mode on probe as device supports auto wakeup to ACVIE mode
on detecting finger touch.

Configure interrupt mode and polarity on start up.  Power down on device
closure or module removal.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-18 23:25:56 -07:00
Stephen Boyd
57918dfadf Input: pmic8xxx-pwrkey - migrate to DT
The driver is only supported on DT enabled platforms. Convert the
driver to DT so that it can probe properly.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-03-30 13:25:19 -07:00
Stephen Boyd
86ea5e6b79 Input: pmic8xxx-keypad - migrate to DT
The driver is only supported on DT enabled platforms. Convert the
driver to DT so that it can probe properly.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-03-30 13:25:19 -07:00
Linus Torvalds
3aa78e0cb5 For the 3.11 merge we only have one new MFD driver for the Kontron PLD.
But we also have:
 
 - Support for the TPS659038 PMIC from the palmas driver.
 
 - Intel's Coleto Creek and Avoton SoCs support from the lpc_ich driver.
 
 - RTL8411B support from the rtsx driver.
 
 - More DT support for the Arizona, max8998, twl4030-power and the
   ti_am335x_tsadc drivers.
 
 - The SSBI driver move under MFD.
 
 - A conversion to the devm_* API for most of the MFD drivers.
 
 - The twl4030-power got split from twl-core into its own module.
 
 - A major ti_am335x_adc cleanup, leading to a proper DT support.
 
 - Our regular arizona and wm* updates and cleanups from the Wolfson
   folks.
 
 - A better error handling and initialization, and a regulator subdevice
   addition for the 88pm80x driver.
 
 - A bulk platform_set_drvdata() call removal that's no longer need since
   commit 0998d063.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR2zCaAAoJEIqAPN1PVmxK29EP/ieZf7Z7z7bg/0lEOvtOzACy
 WoCdSGFu5XcHOnlv0Fl1Rr/1AJFQoh4KugkGnVyrlztYVOFymj5VDdd8B43cxMLt
 7ymK/3crIH7uJuOoeDoDr3glLuo0TGB9f5Kv4ITdVD3/+AuqY4VIAisEDb0aWghW
 +v0I3fYeGdwRv+IqO5wacvddSoLa4rmOhnpbVMB2O1Y/LCm/yHI6tAFx1+AfH7y8
 zMHbGFc+gHg1xupJBCnRel0v8J+KNc02G/B1zNom/avL8b/mNXNI8JFxs3bMA0r8
 NpTHJ49OVPbhBQTA4U+BPoG4nzOiAOj0czf9dkGa5cyR8t4C9mmK+s8QHwepzrSG
 qbhCgTqp4bomB1m0RAO+z4F6BHTpmoChpho2btrwN9ZmhMHQeTWnGjjhEwZngpBq
 F22DC6k5ipV0k4962ZHfZ76v2Vot1gfd6zQ5r+2oHMMfWaKgS4L5efP2/wsU9H58
 BxMm84C7OWbgcTRmNn9jl4L9phBD31wvNANfUeMhLMyshnwPK5ZuUdX/+K2rq6h9
 w26Hg62HtKZFv/TEsCBQqpB6zSZa4u/KZzvwEahllQSQGKxIHaNYGtLGzJj9sCM+
 baT/82DFKuEvKfJpUKSBMznImp4WNGEz+8s2w4m/Ssuf30GN2GHjM9Q4gcHJu2mk
 7fTrsSHWYN+EHVzh1Zb8
 =RqMp
 -----END PGP SIGNATURE-----

Merge tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next

Pull MFD update from Samuel Ortiz:
 "For the 3.11 merge we only have one new MFD driver for the Kontron
  PLD.

  But we also have:
   - Support for the TPS659038 PMIC from the palmas driver.
   - Intel's Coleto Creek and Avoton SoCs support from the lpc_ich
     driver.
   - RTL8411B support from the rtsx driver.
   - More DT support for the Arizona, max8998, twl4030-power and the
     ti_am335x_tsadc drivers.
   - The SSBI driver move under MFD.
   - A conversion to the devm_* API for most of the MFD drivers.
   - The twl4030-power got split from twl-core into its own module.
   - A major ti_am335x_adc cleanup, leading to a proper DT support.
   - Our regular arizona and wm* updates and cleanups from the Wolfson
     folks.
   - A better error handling and initialization, and a regulator
     subdevice addition for the 88pm80x driver.
   - A bulk platform_set_drvdata() call removal that's no longer need
     since commit 0998d06310 ("device-core: Ensure drvdata = NULL when
     no driver is bound")

* tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (102 commits)
  mfd: sec: Provide max_register to regmap
  mfd: wm8994: Remove duplicate check for active JACKDET
  MAINTAINERS: Add include directory to MFD file patterns
  mfd: sec: Remove fields not used since regmap conversion
  watchdog: Kontron PLD watchdog timer driver
  mfd: max8998: Add support for Device Tree
  regulator: max8998: Use arrays for specifying voltages in platform data
  mfd: max8998: Add irq domain support
  regulator: palmas: Add TPS659038 support
  mfd: Kontron PLD mfd driver
  mfd: palmas: Add TPS659038 PMIC support
  mfd: palmas: Add SMPS10_BOOST feature
  mfd: palmas: Check if irq is valid
  mfd: lpc_ich: iTCO_wdt patch for Intel Coleto Creek DeviceIDs
  mfd: twl-core: Change TWL6025 references to TWL6032
  mfd: davinci_voicecodec: Fix build breakage
  mfd: vexpress: Make the driver optional for arm and arm64
  mfd: htc-egpio: Use devm_ioremap_nocache() instead of ioremap_nocache()
  mfd: davinci_voicecodec: Convert to use devm_* APIs
  mfd: twl4030-power: Fix relocking on error
  ...
2013-07-10 11:10:27 -07:00
Dmitry Torokhov
27eb2c4b3d Merge branch 'next' into for-linus
Prepare first set of updates for 3.11 merge window.
2013-07-02 09:01:31 -07:00
Dmitry Torokhov
22381288ba Input: tps6507x-ts - remove vref from platform data
Although defined in platform data, vref is not used anywhere.

Also remove model, irq, and clear_penirq as they are not used either.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2013-06-25 09:47:35 -07:00
Sebastian Andrzej Siewior
a3e509bb32 input: mfd: ti_am335x_tsc remove remaining platform data pieces
The two header files removed here are unused and have no users as this
platform was never used with platform devices.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-06-12 18:50:21 +02:00
Patil, Rachna
bb76dc09dd input: ti_am33x_tsc: Order of TSC wires, made configurable
The current driver expected touchscreen input
wires(XP,XN,YP,YN) to be connected in a particular order.
Making changes to accept this as platform data.

Sebastian reworked the original patch and removed a lot of the not
required pieces.

Signed-off-by: Patil, Rachna <rachna@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-06-12 18:36:29 +02:00
Linus Torvalds
d7ab7302f9 For 3.10 we have a few new MFD drivers for:
- The ChromeOS embedded controller which provides keyboard, battery and power
   management services. This controller is accessible through i2c or SPI.
 
 - Silicon Laboratories 476x controller, providing access to their FM chipset
   and their audio codec.
 
 - Realtek's RTS5249, a memory stick, MMC and SD/SDIO PCI based reader.
 
 - Nokia's Tahvo power button and watchdog device. This device is very similar
   to Retu and is thus supported by the same code base.
 
 - STMicroelectronics STMPE1801, a keyboard and GPIO controller supported by
   the stmpe driver.
 
 - ST-Ericsson AB8540 and AB8505 power management and voltage converter
   controllers through the existing ab8500 code.
 
 Some other drivers got cleaned up or improved. In particular:
 
 - The Linaro/STE guys got the ab8500 driver in sync with their internal code
   through a series of optimizations, fixes and improvements.
 
 - The AS3711 and OMAP USB drivers now have DT support.
 
 - The arizona clock and interrupt handling code got improved.
 
 - The wm5102 register patch and boot mechanism also got improved.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJRhttxAAoJEIqAPN1PVmxKl6QP/ilyz2OnuZSJKAT+N3tt0EpR
 6hFk0H6uSiHJ5aNyA22WGJq97R3jW9eGK9uD4AKCQ05l9UF/c5+YeXtmGHtxDLCb
 jBrErfB6GmEn1H2TzVK+Rp1WPAB/yoYHJosgGNCwohvuffhMiogSVHlI09EY4mQh
 2Eo0RTN1UXKXSOZN+E7hb+GbIFzU8eOlEFdc2jh4qtfsvMDANbEByrZM6s0QFB31
 LPn03uBL0+iwE8KW2144LKsfzeOos4JWbumyG9Lh6BugUSy1e/Zvv7aWNVeMvY8C
 0+ZUk0bzRm9g7e3X4iYLPSboZt7J6DLaBlWXnUaOsJb+YRkUGh094ySdKojP3EiK
 8SWSfH4EDwIANKC4zyXMcyny8OewySyrTTd0BTlbgHFyDmvmHk213crsCcilHzRb
 3wrX0ETrk96Dkla4/e7IAyME+AbrglStHVGGf2hexlPm2nZdLsE8lfyo9yqjPqzy
 w49y7mpTA5PVE63szB1tI/58W2snZtXAEdQGjZmDQp29vDZaeR1t3W/IhKNG30JN
 SZGiX3H/6YS4MDZ48N709H83hM4V93XrHKsN59NjQe8NZ7AnSIfns9IgMciGBv7r
 aBE+Uwm9htK270Hvl5q8qDDnKaVGYOFlCq9qaeZ2k8NPyyRlQCRpJYjtSplYAnGr
 iLI0JdM32u3qdf5IT+Cw
 =Wq20
 -----END PGP SIGNATURE-----

Merge tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next

Pull MFD update from Samuel Ortiz:
 "For 3.10 we have a few new MFD drivers for:

   - The ChromeOS embedded controller which provides keyboard, battery
     and power management services.  This controller is accessible
     through i2c or SPI.

   - Silicon Laboratories 476x controller, providing access to their FM
     chipset and their audio codec.

   - Realtek's RTS5249, a memory stick, MMC and SD/SDIO PCI based
     reader.

   - Nokia's Tahvo power button and watchdog device.  This device is
     very similar to Retu and is thus supported by the same code base.

   - STMicroelectronics STMPE1801, a keyboard and GPIO controller
     supported by the stmpe driver.

   - ST-Ericsson AB8540 and AB8505 power management and voltage
     converter controllers through the existing ab8500 code.

  Some other drivers got cleaned up or improved.  In particular:

   - The Linaro/STE guys got the ab8500 driver in sync with their
     internal code through a series of optimizations, fixes and
     improvements.

   - The AS3711 and OMAP USB drivers now have DT support.

   - The arizona clock and interrupt handling code got improved.

   - The wm5102 register patch and boot mechanism also got improved."

* tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (104 commits)
  mfd: si476x: Don't use 0bNNN
  mfd: vexpress: Handle pending config transactions
  mfd: ab8500: Export ab8500_gpadc_sw_hw_convert properly
  mfd: si476x: Fix i2c warning
  mfd: si476x: Add header files and Kbuild plumbing
  mfd: si476x: Add chip properties handling code
  mfd: si476x: Add the bulk of the core driver
  mfd: si476x: Add commands abstraction layer
  mfd: rtsx: Support RTS5249
  mfd: retu: Add Tahvo support
  mfd: ucb1400: Pass ucb1400-gpio data through ac97 bus
  mfd: wm8994: Add some OF properties
  mfd: wm8994: Add device ID data to WM8994 OF device IDs
  input: Export matrix_keypad_parse_of_params()
  mfd: tps65090: Add compatible string for charger subnode
  mfd: db8500-prcmu: Support platform dependant device selection
  mfd: syscon: Fix warnings when printing resource_size_t
  of: Add stub of_get_parent for non-OF builds
  mfd: omap-usb-tll: Convert to devm_ioremap_resource()
  mfd: omap-usb-host: Convert to devm_ioremap_resource()
  ...
2013-05-05 17:36:20 -07:00
Henrik Rydberg
a0ef6a348a Input: MT - handle semi-mt devices in core
Most semi-mt drivers use the slots in a manual way, but really only
need to treat the finger count manually. With this patch, a semi-mt
driver may use the input-mt core for everything else.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2013-04-07 21:02:32 -07:00