This reverts commit 304d9f5172c8c0210e2e29b175e8f68ea8257f69.
low power mode changes are causing issues like,delay in reponse to
touch , and controller is not recognizing the touch events as its
scan rate is also low in low power mode state . since controller is
not recognizing the touch in low power mode state , so only way
for the controller to come out of low power mode is to do multi-touch
and controller responds randomly to one of the touches and comes out
of the low power mode.
Signed-off-by: Sreenivasulu Chalam Charla <sreeniva@codeaurora.org>
Change-Id: I35e0797f819cfbce6630d70af443b96546eacfb5
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Power key could be in pressed state during boot. Set the flag
to track the press status properly by reading press irq status.
(cherry picked from commit bd38250554df6e70657e6ff42ad63415dbd53f1a)
CRs-fixed: 404018
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Change-Id: I1b604b63e53803483d3cc2a7bae0a5e7ed98285b
Signed-off-by: Neha Pandey <nehap@codeaurora.org>
Parse the device tree elements and fill platform
data structure.
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
(cherry picked from commit d96f5032cd8b73450886262fe193d1531038c0f0)
Conflicts:
drivers/input/touchscreen/atmel_mxt_ts.c
Change-Id: I551dadffaa84c991abbe964bfb9f72b7fd11dfee
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit 368b8d73bbda62f6ab217ef06019b685636fc3ba)
Low pass filter bandwidth is configured to be equal to or greater than
half of the sampling freqency.
Signed-off-by: Wentao Xu <wentaox@codeaurora.org>
(cherry picked from commit 04f4cc9ff3707a39af39c23cc9f3aeb5c344c60c)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
(cherry picked from commit a7d8fe1d40061ec56c938308d8f7265f29b146c1)
Change-Id: I796d30d474aa64c1679781b38ca5f151b37c92fd
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
There is a possibility of receiving a release interrupt
before press when both these actions (press and release) of the
power-key are very close-by (~1-2ms) to the debounce time
of the key. Handle this case by maintaining a state variable.
Also mark the release interrupt as a wakeup source to
wakeup the system when the above mentioned abnormal case
occurs.
CRs-Fixed: 394289
Change-Id: I74475c1e5159dd30e52aca91243eec7e2fac4d57
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
(cherry picked from commit 306e3197b5cc657a62c41823fb6cd03600d35f3f)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Move from multitouch protocol A to protocol B, and since some
applications are not working under BTN_2 reporting, all the instances
of HAT are removed along with BTN_2 reporting.
Change-Id: I25c9c811078452eb9ff11159d0f45c9e3f831849
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
(cherry picked from commit 94f65fcf5d89b7943777750b2e358c7421f26400)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
Power key could be in pressed state during boot. Set the flag
to track the press status properly by reading press irq status.
CRs-fixed: 404018
Change-Id: I93a8584420002d9cb399484b3ac77fa2ed954690
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
There is a possibility of receiving a release interrupt
before press when both these actions (press and release) of the
power-key are very close-by (~1-2ms) to the debounce time
of the key. Handle this case by maintaining a state variable.
Also mark the release interrupt as a wakeup source to
wakeup the system when the above mentioned abnormal case
occurs.
CRs-Fixed: 394289
Change-Id: I74475c1e5159dd30e52aca91243eec7e2fac4d57
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
If a timeout is requested, a delayed work item will be
scheduled to restart the device. If the keys are released
before the timeout expires, the reset is aborted.
As expected, the reset_fn can be used to reset the device
after the timeout.
Bug: 7344361
Change-Id: I1d77cdb3dcc63f579b1250506f0a30de1e033d67
Signed-off-by: Dima Zavin <dima@android.com>
- Fixed issues in production test
. ghost touch in high and low temperature
. ghost touch with noisy charger connect
. sensing test
- Stablized thumb operation
- Fixed flapping finger width report
Change-Id: I350ed94b9bfcb5a8feba3e0c9529ea86472097cd
Signed-off-by: Iliyan Malchev <malchev@google.com>
Synaptics firmware maintains internal cache to store a scan of
finger data so that the host reads finger data from this cache.
The firmware updates the cache when the host reads it nonsequentially.
The current driver reads only present finger data, which can cause
unexpected nonsequential access to cache and the cache can be updated
before the host reads the data, resulting in losing finger data coherency.
Modified the driver to access data sequentially even if there are
not present fingers in the middle so that the finger data coherency
can be preserved.
Change-Id: I4b975c2ab2445078f2a81c3dd4ce484002d27933
Signed-off-by: Iliyan Malchev <malchev@google.com>
Corrected not working touch problem when the firmware update was failed or
LCD was turned on or off during firmware update.
Change-Id: Ib61c3d9927d670eb4091253efc71499b88b51b9f
Will be used to enable noise mitigation bit in firmware
to reduce noise when TA/USA/Wireless charger is connected.
Change-Id: Ia4174271758ca2dbd013b80ddcabffea2e2cae82
Signed-off-by: Iliyan Malchev <malchev@google.com>
When the touch driver detected an interrupt, it checks the interrupt
status register. If the value of the register is not normal,
such as zero, the touch driver considered it as a problem on the
device and reinitialized the touch device to recover.
This should not happen with normal touch firmware but, the touch
driver also need to ignore this kind of abnormal interrupt
rather than resetting the device, which causing unexpected freezing
during touch operation.
Change-Id: I989a9eab594f34ed9a32cea3e477faed38e32029
Signed-off-by: Iliyan Malchev <malchev@google.com>
There was a bug on setting the report mode, breaking other bit fields.
Due to this, the firmware jitter filter was disabled, causing
some noises. Expect more stable position report with this correction.
Change-Id: I14f48c39f654e5771eaf8b5a2e6a2fd0c713a3ee
The tool type checking for pen was incorrect.
Sometimes finger touch produces the same condition as PEN which is
width major and minor are all zero.
This wrong detection change the tracking ID, resulting in two finger
touch report even when single touch is used.
Fix the tool type to finger since mako will support only finger.
Change-Id: I4c7631b77fed677d27d430986d70407af3406aca
Resolved touch malfunction when large object,
such as palm, is on the touch device when the system
is resumed by power key.
Noise immunity is also improved.
Change-Id: I020b861a8b1ad909ae7f00aed34de3b6da47367a
This commit is to assert/de-assert reset signal during suspend/resume.
Without this commit, there is a 2~3mA of leakage current from reset pin
to touch contorller IC.
Change-Id: I32717412b1dec13996aa986c7939c76dd6453ebb
Use ARRAYED_TOUCH_FW_BIN feature to support both new(PLG137/0.9T)
and old(TM2000/0.55T) panels with one binary.
Firmware Verison: New - E003, Old - E059 (no change)
Change-Id: Ia96eba137f8a02054eb8067d47dc887edffb9970
- Firmware: E052 -> E059 (noise tunning & resolution change)
- Resolution: 1100x1900 -> 1536x2560
Need to reboot the system when abnormal touch work after upgrade
Change-Id: I476180c2a1fa5528fc90d2933072ac01a7e1fd31
- 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
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
- 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
The feature has side effects on handling touch event.
Also, resolved divide by zero exception caused by
unused button initialization codes.
Change-Id: I9b1d1f302b9025a0d1d15891e5f320e7c149ae92
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>