Commit Graph

2891 Commits

Author SHA1 Message Date
Jongrak Kwon
147bdffbae mako: touch: firmware upgrade and resolution change
- Firmware: E052 -> E059 (noise tunning & resolution change)
- Resolution: 1100x1900 -> 1536x2560

Need to reboot the system when abnormal touch work after upgrade

Change-Id: I476180c2a1fa5528fc90d2933072ac01a7e1fd31
2013-03-04 12:43:09 -08:00
Jongrak Kwon
c4a40d73e9 mako: touch: added tool type and touch minor option
- Let the low level driver pass tool type and use it
  (Synaptics: PEN when major = 0, minor = 0, Other: FINGER)
- Split touch major and minor value to choose
  circle vs. ellipse from platform datai
  (Currently defined to support circle)

Change-Id: Ibd79efb5d88843174c45147a4c7ea170632c3fdb
2013-03-04 09:12:26 -08:00
Jongrak Kwon
2809882d5f mako: touch: removed ghost codes and added touch point trace
Change-Id: Id9c060ba8ad12ade442bbc22fac8a0cde0715c41
2013-03-04 09:12:23 -08:00
Jongrak Kwon
d8943732ca mako: touch: disable ghost finger correction
The ghost function sets FORCE_FAST_RELAXATION and
FORCE_UPDATE registers, which cause touch abnormal function
after resume.

Also code clean up for register map initialization.

Change-Id: Ib442d4d7a2e995048fba902fe852a3851fdbf418
2013-03-04 09:12:21 -08:00
Jongrak Kwon
37b9eb8046 mako: touch: use MT protocol type B
- not applied to hard key function, so removed hard key stuff
- jitter and accuracy filter function also changed but not used at the moment
- corrected some wrong error handling in touch_probe and synaptics_ts_probe

Change-Id: I1af3032612cdedbfac9da9c5df17eeb861344226
2013-03-04 09:12:20 -08:00
Jongrak Kwon
3864ba662e mako: touch: upgrade firmware from E032 to E052
Also removed unused firmware SynaImage_Jp.h and
variable name correction.

Change-Id: I1332da88ec4fe5538cd68bace7ca7c701795dce3
2013-03-04 09:12:11 -08:00
Jongrak Kwon
9f216de2ac mako: touch: disable S/W accuracy and jitter filter
The feature has side effects on handling touch event.

Also, resolved divide by zero exception caused by
unused button initialization codes.

Change-Id: I9b1d1f302b9025a0d1d15891e5f320e7c149ae92
2013-03-04 09:12:10 -08:00
Jongrak Kwon
8a8a517fad mako: touch: resolved touch problem after resume
Checking the interrupt pin after reading touch data

Change-Id: Ide8688fed10c228b4bed7947bfccffabd545c5f8
2013-03-04 09:12:03 -08:00
Jongrak Kwon
0b7f6b4498 mako: touch: disable button and clean up
- disable button function
- clean up configuration
- remove unused codes
- remove softkey handlers
- remove interrupt thread (ISR send to work queue directly)

Change-Id: Id8bbf5d554e12a477e402c966b9ef21e1a02d86f
2013-03-04 09:11:54 -08:00
Jongrak Kwon
000adcf065 mako: touch driver merge
- lge touch common driver
- synaptics touch driver integration with lge common driver

Change-Id: I72e53f8d16610155ab1a31a366e33910a41643be
2013-02-28 12:14:25 -08:00
Amy Maloche
8b6e5d26eb input: atmel_mxt_ts: add support for 336S and 1664S controllers
New controllers in the Atmel maXTouch family require support
for new objects, and the addition of their family ID's and
respective reset times.

Change-Id: I3fb9494e7cc88a6b213cbe0310d95fdb4be299aa
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-27 18:20:49 -08:00
Wentao Xu
5cef0cea29 input: mpu3050: make sample rate configurable, and use interrupt
Required by 8x30 platform

Change-Id: I51b39e1ee5e367fd72151854e3d421538074d6d6
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
2013-02-27 18:20:32 -08:00
Amy Maloche
19b50fd2c9 tsc2007: Set input property bit to indicate a direct input device
Prop bit is checked in userspace and must be set in
driver in order to be recognized correctly, since it defaults
to mouse pointer.

Change-Id: I5eadfe45baac93b9e315381dcacc5a02c27bc0c9
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-27 18:18:47 -08:00
Wentao Xu
4756cfc5e5 msm: 8930: add native support to lis3dh accelerometer
Needed when sensor processor not present. The lis3dh driver is
modified to request regulator

Change-Id: I389d5aa6a7771a9e1fe230ec593ff428e979c236
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
2013-02-27 18:18:22 -08:00
Anirudh Ghayal
5755c90e06 input: msm_ts: Set input property bit to indicate direct input device
Prop bit is checked in userspace and must be set in driver in order
to be recognized as a direct input device (touchscreen).

Change-Id: I80bf2b9fd390ed58a22a78834f71afe41e3d2776
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-27 18:17:39 -08:00
Samuel Huo
fb1c689dad STMicroelectronics LIS3DH device driver version 1.1.0
For Android/Linux kernel 3.4. This is the initial commit.

Change-Id: I96e300d7b59743df1f757746228b47b5d444c76c
Signed-off-by: Samuel Huo <samuel.huo@st.com>
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
2013-02-27 18:17:16 -08:00
Amy Maloche
d5633453a0 touchscreen: cyttsp-i2c-qc: Add low power mode functionality
Low power mode changes are made in system information mode,
so modify ISR to check for completion of transition into this
mode.  Then, modify values and transition back into operating
mode.  Enable handshaking so that no communication is missed.

Change-Id: I0692e13810ab4aa88f8626d75a4e7f1ceb885a71
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-27 18:15:40 -08:00
Mohan Pallaka
480cd24b76 input: atmel_mxt_ts: Add firmware upgrade support for MXT224E
Add firmware upgrade support for MXT224E and also support
the new T55 object introduced with the newer firmware. Read
T38 object from touch controller after the firmware upgrade
to avoid reading/writing into old T38 address.

Change-Id: Ifc7e0b2c31badbbf5a402413e841606db4f6dc66
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-27 18:15:24 -08:00
Amy Maloche
b013b620ac cy8c_ts: Set input property bit to indicate a direct input device
Prop bit is checked in userspace and must be set in
driver in order to be recognized correctly, since it defaults
to mouse pointer.

Change-Id: Ifbd7ffe6633860ab3858cf2b3465d593724c5c64
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-27 18:15:13 -08:00
Wentao Xu
1a4055c77b input: change mpu3050 driver to request regulator, add poll support
Needed on 8x30 MTP/MDP platforms, where interrupt line polled up and
does not work with driver's default configuration

Change-Id: I4827c7a1f7df147245336d18523088c013381f1e
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
2013-02-27 18:12:06 -08:00
Amy Maloche
ac760faa9d cyttsp-i2c-qc: Set input property bit to indicate a direct input device
Prop bit is checked in userspace and must be set in
driver in order to be recognized correctly, since it defaults
to mouse pointer.

Change-Id: Ibc3ce400033af171b60821c2945596676107eb75
Signed-off-by: Jessica Gonzalez <jgaona@codeaurora.org>
2013-02-27 18:12:02 -08:00
Amy Maloche
c9e66d1ecb atmel_mxt_ts: Set input property bit to indicate a direct input device
Prop bit is checked in userspace and must be set in
driver in order to be recognized correctly, since it defaults
to mouse pointer.

Change-Id: Id490152174624e86e8b62b746d25baf2d544080a
Signed-off-by: Jessica Gonzalez <jgaona@codeaurora.org>
2013-02-27 18:12:02 -08:00
Amy Maloche
cdafa428bc ft5x06: Set input property bit to indicate a direct input device
Prop bit is checked in userspace and must be set in
driver in order to be recognized correctly, since it defaults
to mouse pointer.

Change-Id: Ibdc78547e6376e6db54db75b1423718d13afaaa7
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-27 18:11:49 -08:00
Amy Maloche
c9ff1f133a atmel_maxtouch: Set input property bit to indicate a direct input device
Prop bit is checked in userspace and must be set in
driver in order to be recognized correctly, since it defaults
to mouse pointer.

Change-Id: I8432716573a365c11b6837d1ce756364d2b98946
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-27 18:11:48 -08:00
Mohan Pallaka
bb2395a407 input: atmel_mxt_ts: Add support for T42 object
Touch suppression (T42) is used for suppressing unintentional
large touches such as palm. Add a handler for T42 to invalidate
touches when touch suppression is active

Change-Id: Ie24a24b685a947f047df61ead41660449c077971
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-27 18:11:11 -08:00
Colin Cross
0b35f473c9 HACK: input: evdev: make CLOCK_MONOTONIC the default
Hack to maintain compatibility with existing Android userspace.

Change-Id: Ia6d768b3d51553bb43e7f70e605c2996a874e8cb
Signed-off-by: Colin Cross <ccross@android.com>
[sboyd: touchscreen won't work without this patch]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:40:31 -08:00
Stephen Boyd
533badde3d input: touchscreen: Add MSM legacy touchscreen driver
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:54 -08:00
Mohan Pallaka
a3bbf8ce4c 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>
2013-02-25 11:30:53 -08:00
Stephen Boyd
8835b4caf2 input: touchscreen: Add msm_ts driver
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:52 -08:00
Anirudh Ghayal
b5a1434021 input: tsc2007: Specify max/min coordinates from platform data
Provides flexibility to specify max/min x and y coordinates from
platform data. Useful in cases where the TS controller reports
coordinates at an offset from the predefined min/max values
(0 and 4096 respectively).

Change-Id: Ia93a8940078aa5960d1d900ac56b0b3354c82e40
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:51 -08:00
Anirudh Ghayal
00883c63af input: tsc2007: Remove unnecessary I2C write in the resume path
Across multiple suspend-resume cycles the I2C write failures
locked out the TSC2007 contoller. Remove this I2C operation
as it is not required.

Change-Id: I8fa97f0fc8eb89c1fd4fe1e3269ea050056d6625
CRs-Fixed: 266968
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:50 -08:00
Anirudh Ghayal
a0829cee12 input: tsc2007: Add early suspend support
Change-Id: I3c2722e858726ff6a95c3fc284db97b537dd20ee
CRs-Fixed: 258762
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:49 -08:00
Anirudh Ghayal
6f1bfa9f89 input: tsc2007: Power optimization in suspend/resume for TSC2007
Disable/enable the voltage regulators during suspend/resume operations.

Change-Id: I0d10edc87d07c01327fa2258aae964d430cae7e3
CRs-Fixed: 258762
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:49 -08:00
Anirudh Ghayal
efe979e255 input: tsc2007: Add features to the TSC2007 driver
The following features are now supported -

1. Inverse coordinates
2. Suspend / resume
3. Interrupt flags from platform data

Change-Id: I08adcdf0fd1c983ffaa958bea23e2ed06aa6e086
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:48 -08:00
Stephen Boyd
45a7ba329b Revert "Input: tsc2007 - convert to threaded IRQ"
This reverts commit 377dc5538c.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:47 -08:00
Stephen Boyd
e7f3cc5018 Revert "Input: tsc2007 - add open and close methods"
This reverts commit d3654d7ef3.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:46 -08:00
Stephen Boyd
88d5a554d4 Revert "Input: tsc2007 - make sure that X plate resistance is specified"
This reverts commit 341deefe8f.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:45 -08:00
Anirudh Ghayal
d00232f331 input: touchscreen: Add support for TMG200 touch controller
The TMG200 touch controller supports upto two touches. This
driver supports both TMG200 and TMA300 controllers.

CRs-Fixed: 226967
Change-Id: I32871e76d3dd77fec0a723e1c306492bda2de897
Signed-off-by: Anirudh Ghayal <aghayal@qualcomm.com>
2013-02-25 11:30:44 -08:00
Mohan Pallaka
e501de3c01 input: cyttsp-i2c: Enable firmware loading feature from driver
TTSP firmware can be loaded during driver's probe by updating
the firmware header file. This header file contains the firmware
data as part of an array and it's version number.

Change-Id: Ia80aab77d654d64ab3bb14c9b316bb851b90f241
Signed-off-by: Kevin McNeely <kev@cypress.com>
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-25 11:30:44 -08:00
Stephen Boyd
caba358c3c input: touchscreen: Add our version of cyttsp-i2c
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:43 -08:00
Mohan Pallaka
896c5a0a2b input: synaptics_rmi_ts: Add ABS_MT_PRESSURE event
Use ABS_MT_PRESSURE to report pressure instead of relying
on ABS_MT_TOUCH_MAJOR and ABS_MT_WIDTH_MAJOR events.

Change-Id: I3954e729ad48a28970b470df8c86c3a22ea56bd9
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-25 11:30:42 -08:00
Taniya Das
d079c123d2 input: touchscreen: Add support for synaptics clearpad3000
Change-Id: Ie00815ed507d81c6934ac0d4b1dfa745215ff01a
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2013-02-25 11:30:41 -08:00
Anirudh Ghayal
0f3ae0efe6 input: atmel-mxt-ts: Report the correct pressure value
The contact area was earlier being reported as pressure.
The controller explicitly reports the pressure value, use that.

Change-Id: I1548329a676fd9a6e6a8a63ed76244e68a29c282
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:40 -08:00
Stephen Boyd
6defd5bb78 input: atmel_mxt_ts: Fix section mismatch
WARNING: vmlinux.o(.devinit.text+0x4878): Section mismatch in
reference from the function mxt_probe() to the function
.init.text:mxt_debugfs_init()
The function __devinit mxt_probe() references
a function __init mxt_debugfs_init().
If mxt_debugfs_init is only used by mxt_probe then
annotate mxt_debugfs_init with a matching annotation.

Change-Id: Iebb2b174e307d2497297b16396579c7ef3da6721
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:39 -08:00
Anirudh Ghayal
b03e34b8ea input: atmel_mxt_ts: Do not disable multi-touch object in suspend
Disabling multi-touch object when touch is operational
may result in improper state of the controller causing it to
report invalid number of touches.

There is no negative impact on power or operation of the
controller after this change.

CRs-Fixed: 351462
Change-Id: I170c094386be415dbc53e15e6e36e2d8de832c5d
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:38 -08:00
Jing Lin
9bb1fdcb91 input: atmel_mxt_ts: Zero out config version after firmware upgrade
When the touch controller firmware is upgraded, the config data on
the controller might require an update too to match the firmware.
Since the driver performs config version checking before updating
config data and only updates to a newer version, we need to zero
out the config version after a firmware upgrade to make sure proper
config data will be programmed to the touch controller.

Change-Id: If3e22948b1f8eea3ccbfcaa979ec6b42f1ac078a
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2013-02-25 11:30:38 -08:00
Jing Lin
08172cfa5e input: atmel_mxt_ts: Move the logic to save objects locally to a function
The Atmel touch driver reads information about a few objects at
initialization and saves them locally. Move this logic to its
own function.

Change-Id: I0f584ff5dcba6b713b3ac6b950ed64f3ad46faf1
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2013-02-25 11:30:37 -08:00
Jing Lin
7e5b4177b4 Input: atmel_mxt_ts: Update config to newer version only
Add version checking so that config update only occurs when the config
data supplied in the platform data is of newer version. If the
controller is previously programmed with wrong version of config data,
based on controller type and firmware version, the driver will program
the latest config data present in the platform data to the controller.

Change-Id: I286852533aef920accb254ab7259edc144357dd3
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2013-02-25 11:30:36 -08:00
Mohan Pallaka
3c93af8b20 input: atmel_mxt_ts: Fix to reject coordinates outside active touch area
Firmware reports minimum/maximum coordinates when touches are
from outside of active area. Generate a release event in this
case to handle touches that are going to inactive area. Add
pdata entries for minimum values and check before reporting
the coordinates to userspace.

CRs-fixed: 326858
Change-Id: I385fb80eb670e539b45d232c04969c4502cdf65a
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-25 11:30:35 -08:00
Anirudh Ghayal
e8e167997e Input: atmel-mxt_ts: Support firmware upgrade in bootloader mode
If a firmware upgrade fails, on subsequent boot retry a firmware
upgrade based on the bootloader id. This can be initiated through
the userspace program by writing into the update_fw sysfs entry.

Change-Id: I1d428c52f2cbfff8fe572a2bc6f0cd124111b810
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:34 -08:00