07 Jul, 2015
1 commit
-
* The edt-ft5x06 driver sets max axes values to quantities much larger
than what is actually obtainable.
* Use the device tree to get the actual max values.Signed-off-by: Jacob Stiffler
24 Jun, 2015
3 commits
-
Previously, delta filtering was applied TSC co-ordinate readouts before
reporting a single value to user space. This patch replaces delta filtering
with median filtering. Median filtering sorts co-ordinate readouts, drops
min and max values, and reports the average of remaining values. This
method is more sensible than delta filtering. Median filtering is applied
only if number of readouts is greater than 3 else just average of
co-ordinate readouts is reported.Signed-off-by: Vignesh R
Signed-off-by: Dmitry Torokhov
Signed-off-by: Franklin S Cooper Jr -
TI 3.14 Patch e823ec6f7b5555c65b2b89742fcd705014e8e467 was an early version of
mainline patch 344d635b9a41b19837ccf8083a99ea688027019c.Backport the differences between these patches.
Signed-off-by: Franklin S Cooper Jr
-
This reverts commit e655e2f723a4e78a47868f766e4c141deca5e234.
This patch is no longer necessary due to backported patches from mainline
providing a better solution that solves this issue.Also reverting this helps keep the driver in sync with mainline for future
patches.Signed-off-by: Franklin S Cooper Jr
15 Apr, 2015
1 commit
-
With the recent pinctrl-single changes, SoCs such as Texas
Instrument's OMAP processors can treat wake-up events from deeper idle
states as interrupts.This adds support for the optional second interrupt for wake-up
events to the pixcir_i2c_ts driver.This is similar in approach to commit 05bed213b91f ("drivers/rtc/
rtc-ds1307.c: Support optional wakeup interrupt source"), but we create
a second ISR only to acknowledge the wake interrupt.Signed-off-by: Dave Gerlach
Acked-by: Roger Quadros
Signed-off-by: Sekhar Nori
12 Mar, 2015
1 commit
-
The controller has a RESET pin which is usually controlled over
a GPIO line. If such a GPIO is provided, perform a RESET
during probe.Signed-off-by: Roger Quadros
Signed-off-by: Sekhar Nori
27 Feb, 2015
1 commit
-
Frequently when a pen up event occurs the sampling for the previous pen down
event ends up being incomplete. From a userspace perspective you will see an
abnormal jump when comparing the pen down events to the one right before the
pen up event.To avoid this issue delay sending a pen down event until the next touch
event has occurred. If the current touch event is not a pen up event then
send the previously detected pen down values. If the current touch event is
a pen up then simply ignore the previous pen down value.Signed-off-by: Franklin S Cooper Jr.
Acked-by: Vignesh R
Signed-off-by: Sekhar Nori
05 Feb, 2015
1 commit
-
[ Upstream commit bf223612a4cd65d5eb15d6adc8422c7d61ae75dd ]
This patch reads charge delay from tsc DT node and writes to
REG_CHARGEDELAY register. If the charge delay is not specified in DT then
default value of 0x400(CHARGEDLY_OPENDLY) is used.Signed-off-by: Vignesh R
Signed-off-by: Dmitry Torokhov
Signed-off-by: Sekhar Nori
19 Nov, 2014
1 commit
-
Because with OF we can pass more specific
compatible flags (such as edt-ft5306) instead
of generic edt-ft5x06, when i2c-core's
of_i2c_register_devices() tries to request_module(),
it'll request it with a non-existent specific module
alias.In order to have this driver autoprobing again, we
just need to add missing MODULE_ALIAS() entries to
edt-ft5x06 driver.Thanks to Dmitry for noticing that it actually should
autoprobe even with of_device_id.Cc: Dmitry Torokhov
Cc:
Cc: # v3.15+
Fixes: dac90dc2 (Input: edt-ft5x06 - add DT support)
Signed-off-by: Felipe Balbi
Signed-off-by: Sekhar Nori
25 Sep, 2014
1 commit
-
Remove write to REG_IRQCLR and REG_IRQWAKEUP in interrupt handler for
IRQENB_HW_PEN as the resume handler should and does clear REG_IRQWAKEUP.
IRQENB_HW_PEN bit is set in irqclr so that all interrupts get cleared
later so let IRQENB_HW_PEN be cleared by that.Without this patch wake events from TSC_ADC do not work because pending
interrupts in TSC_ADC were causing HW_PEN interrupt, needed for wake from
DS0, to get disabled immediately by IRQ handler after being enabled.Signed-off-by: Dave Gerlach
Signed-off-by: Sekhar Nori
24 Sep, 2014
2 commits
-
TSC interrupt handler had udelay to avoid reporting of false pen-up
interrupt to user space. This patch implements workaround suggesting in
Advisory 1.0.31 of silicon errata for am335x, thus eliminating udelay
and touchscreen lag. This also improves performance of touchscreen and
eliminates sudden jump of cursor at touch release.IDLECONFIG and CHARGECONFIG registers are to be configured
with same values in order to eliminate false pen-up events. This
workaround may result in false pen-down to be detected, hence considerable
charge step delay needs to be added.TSC steps are disabled at the end of every sampling cycle and EOS bit is
set. Once the EOS bit is set, the TSC steps need to be re-enabled to begin
next sampling cycle.In one shot mode, sequencer automatically disables all enabled steps at
the end of each cycle. (both ADC steps and TSC steps) Hence these steps
need not be saved in reg_se_cache for clearing these steps at a later
stage.Signed-off-by: Brad Griffis
[vigneshr@ti.com: Ported patch from v3.12 to v3.14]
Signed-off-by: Vignesh R
Signed-off-by: Sekhar Nori -
This patch makes the initial changes required to workaround TSC-false
pen-up interrupts. It is required to implement these changes in order to
remove udelay in the TSC interrupt handler and false pen-up events.
The charge step is to be executed immediately after sampling X+. Hence
TSC is made to use higher numbered steps (steps 5 to 16 for 5 co-ordinate
readouts, 4 wire TSC configuration) and ADC to use lower ones. Further
X co-ordinate readouts must be the last to be sampled, thus co-ordinates
are sampled in the order Y-Z-X.Signed-off-by: Brad Griffis
[vigneshr@ti.com: Ported the patch from v3.12 to v3.14]
Signed-off-by: Vignesh R
Signed-off-by: Sekhar Nori
18 Sep, 2014
1 commit
-
Upstream commit 9d469d033d13 ("Input: atmel_mxt_ts - use
deep sleep mode when stopped") removes reset of touchscreen
chip during resume calling it "counterproductive" and "resulting
in a long delay".During testing on TI DRA7x EVM, this chip reset is seen to result
in large stream of "__mxt_read_reg: i2c transfer failed (-121)"
messages due to an interrupt occurring while the chip is in
reset (why the touchscreen interrupt triggers is still unknown).Remove chip reset during resume like upstream code.
Power consumption should remain the same before and after this patch
as we only remove reset from resume and do not touch suspend path (which
incidentally does not issue a reset).Acked-by: Felipe Balbi
Signed-off-by: Sekhar Nori
14 Aug, 2014
3 commits
-
Add device tree support for Atmel touch driver. All platform
specific data is now read from dts files and parsed inside the
driver.Signed-off-by: Sundar Raman
Acked-by: Nishanth Menon
[balbi@ti.com: add missing MODULE_DEVICE_TABLE]
Signed-off-by: Felipe Balbi
Signed-off-by: Sekhar Nori -
Using managed allocation helps us simplify our probe and cleanup.
Signed-off-by: Nishanth Menon
Signed-off-by: Sundar Raman
Signed-off-by: Felipe Balbi
Signed-off-by: Sekhar Nori -
Using managed request irq helps us simplify our probe and cleanup
a lot.Signed-off-by: Nishanth Menon
Signed-off-by: Sundar Raman
Signed-off-by: Felipe Balbi
Signed-off-by: Sekhar Nori
04 Jul, 2014
7 commits
-
[ Upstream commit cc071acaa2cf7b7b8c716ad48f3ba93a2e064687 ]
The driver sends 3 bytes instead of 2 when accessing a register on the M09
firmware, so writing to gain seems to overflow into the offset register.Signed-off-by: Robert Woerle
Acked-By: Simon Budig
Signed-off-by: Dmitry Torokhov
Signed-off-by: Felipe Balbi -
[ Upstream commit e2c3ecf0ea8e87c5209371af7da107ebc47a5639 ]
The if condition was accidentally deleted here so we return every time
instead of returning on error.Fixes: fd335ab04b3f ('Input: edt-ft5x06 - add support for M09 firmware version')
Signed-off-by: Dan Carpenter
Reviewed-by: Jingoo Han
Acked-By: Lothar Waßmann
Signed-off-by: Dmitry Torokhov
Signed-off-by: Felipe Balbi -
[ Upstream commit fd335ab04b3f1b3309dfbfea71a1a79a7bacc4ad ]
There is a new firmware version for the EDT-FT5x06 chip.
Add support for detecting the firmware version and handle the
differences appropriately.Signed-off-by: Lothar Waßmann
Signed-off-by: Dmitry Torokhov
Signed-off-by: Felipe Balbi -
[ Upstream commit ee3e946e31e6df0f9845f9b3d527252003603530 ]
The chip may report invalid coordinates on touchdown events, so don't
report the initial touchdown event.Signed-off-by: Lothar Waßmann
Acked-by: Fugang Duan
Signed-off-by: Dmitry Torokhov
Signed-off-by: Felipe Balbi -
[ Upstream commit c0808467494318029f71185b42b61f1ae153afdc ]
The FT5x06 datasheet specifies a minimum reset width of 5ms and a
delay between deassertion of reset and start of reporting of 300ms.
Adjust the delays to conform to the datasheet.With the original delays I sometimes experienced communication
timeouts when initializing the controller.Signed-off-by: Lothar Waßmann
Acked-by: Fugang Duan
Signed-off-by: Dmitry Torokhov
Signed-off-by: Felipe Balbi -
[ Upstream commit dac90dc23211996286c3b934057d0df77cfef0b4 ]
Signed-off-by: Lothar Waßmann
Signed-off-by: Dmitry Torokhov
Signed-off-by: Felipe Balbi -
[ Upstream commit 1730d81460b929b1f217cb7d9cb193a7b0e58dd9 ]
- remove redundant parens
- remove redundant type casts
- fix mixed tab/space indentationSigned-off-by: Lothar Waßmann
Acked-by: Fugang Duan
Signed-off-by: Dmitry Torokhov
Signed-off-by: Felipe Balbi
24 Jun, 2014
3 commits
-
Provide device tree support and binding information.
Also provide support for a new chip "pixcir_tangoc".Signed-off-by: Roger Quadros
-
Some variants of the Pixcir touch controller support upto 5
simultaneous fingers and hardware tracking IDs. Prepare the driver
for that.Signed-off-by: Roger Quadros
-
Switch to using the Type-B Multi-Touch protocol.
Reviewed-by: Henrik Rydberg
Signed-off-by: Roger Quadros
18 Jun, 2014
4 commits
-
[ Upstream commit 7cdcb8d104e6f0ec5d253d29e4849cdb2cf03aed ]
Improve the suspend and resume handlers to allow the device
to wakeup the system from suspend.Signed-off-by: Roger Quadros
Acked-by: Mugunthan V N
Signed-off-by: Dmitry Torokhov
Signed-off-by: Sekhar Nori -
[ Upstream commit 0dfc8d41bfa091a61354eea73199a5af0eaae9c0 ]
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
Acked-by: Mugunthan V N
Signed-off-by: Dmitry Torokhov
Signed-off-by: Sekhar Nori -
[ Upstream commit 3b36fbb01dc50f58e7803006f5a99683daf26c8c ]
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
Acked-by: Mugunthan V N
Signed-off-by: Dmitry Torokhov
Signed-off-by: Sekhar Nori -
[ Upstream commit e9d4718dcd53281c191cb5fccb53ce0246e10104 ]
Use devm_() and friends for allocating memory, input device
and IRQ.Signed-off-by: Roger Quadros
Acked-by: Mugunthan V N
Signed-off-by: Dmitry Torokhov
Signed-off-by: Sekhar Nori
25 Jan, 2014
1 commit
-
Pull input subsystem updates from Dmitry Torokhov:
"Just a swath of driver fixes and cleanups, no new drivers this time
(although ALPS now supports one of the newer protocols, more to come)"* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
Input: wacom - add support for DTU-1031
Input: wacom - fix wacom->shared guards for dual input devices
Input: edt_ft5x06 - use devm_* functions where appropriate
Input: hyperv-keyboard - pass through 0xE1 prefix
Input: logips2pp - fix spelling s/reciver/receiver/
Input: delete non-required instances of include
Input: twl4030-keypad - convert to using managed resources
Input: twl6040-vibra - remove unneeded check for CONFIG_OF
Input: twl4030-keypad - add device tree support
Input: twl6040-vibra - add missing of_node_put
Input: twl4030-vibra - add missing of_node_put
Input: i8042 - cleanup SERIO_I8042 dependencies
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on x86
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on unicore32
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on sparc
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO for SH_CAYMAN
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on powerpc
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on mips
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on IA64
Input: i8042 - select ARCH_MIGHT_HAVE_PC_SERIO on ARM/Footbridge
...
24 Jan, 2014
1 commit
-
First round of input updates for 3.14.
21 Jan, 2014
3 commits
-
Symbol MFD_MC13783 always selected by MFD_MC13XXX, so no need
to keep additional symbol.Signed-off-by: Alexander Shiyan
Signed-off-by: Lee Jones -
Immutable branch for IIO and Input
-
Simplify the error path and remove() function by using devm_*
functions for requesting gpios and irq and allocating the input
device.Signed-off-by: Lothar Waßmann
Signed-off-by: Dmitry Torokhov
07 Jan, 2014
2 commits
-
The purpose of reg_se_cache has been defeated. It should avoid the
read-back of the register to avoid the latency and the fact that the
bits are reset to 0 after the individual conversation took place.The reason why this is required like this to work, is that read-back of
the register removes the bits of the ADC so they do not start another
conversation after the register is re-written from the TSC side for the
update.
To avoid the not required read-back I introduce a "set once" variant which
does not update the cache mask. After the conversation completes, the
bit is removed from the SE register anyway and we don't plan a new
conversation "any time soon". The current set function is renamed to
set_cache to distinguish the two operations.
This is a small preparation for a larger sync-rework.Signed-off-by: Sebastian Andrzej Siewior
Acked-by: Dmitry Torokhov
Acked-by: Jonathan Cameron
Signed-off-by: Lee Jones -
None of these files are actually using any __init type directives
and hence don't need to include . Most are just a
left over from __devinit and __cpuinit removal, or simply due to
code getting copied from one driver to the next.Signed-off-by: Paul Gortmaker
Signed-off-by: Dmitry Torokhov
19 Dec, 2013
1 commit
-
The error code was not set if unable to set config, so the error
condition wasn't reflected in the return value. Fix to return a
negative error code from the error handling case instead of 0.Signed-off-by: Wei Yongjun
Acked-by: Heiko Stuebner
Signed-off-by: Dmitry Torokhov
16 Dec, 2013
2 commits
-
Simplify the code and create mandatory 'name' attribute by using
new hwmon API.Also use is_visible to determine visible attributes instead of creating
several different attribute groups.Signed-off-by: Guenter Roeck
Signed-off-by: Dmitry Torokhov -
Synchronize with mainline to bring in the new keycode definitions and
new hwmon API.