reset commented out in resume.
reset address pointer to message object.
adjusted wait time after reset upon recommendation from Atmel.
Change-Id: I0dd983ce0545c6ca2e48d4ed06b90d8c1ac1a390
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
duplicate register input called, when boot work function is triggered
via firmware update process.
This broke reboot command.
Change-Id: I78547127bfbde39f1f971806156d332883b8bf43
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Added new objects grip, palm and Digitizer HID.
Ignoring info block checksum for now, issues seen
on some HW having incorrect info data.
Change-Id: I812d3099dd273e99a87ca3fe8dfce3bcdfbede7e
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Taking out the powerconfig hack seems to break the current version
of the firmware. Put it back in for now.
Signed-off-by: Colin Cross <ccross@android.com>
Updated info block checksum calculation to use 24-bit crc
as per Atmel data sheet.
Updated eeprom field(nv_checksum) to accommodate 24-bits.
Removed HACK(powerconfig) code for low-power mode.
Change-Id: Ic38a695010fd519af5c87ac731e8582898058bbb
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Previously, Message Processor always generated
CRC byte at end of message.
Now(version 8), this CRC byte is generated only upon request.
To request that a checksum is generated, the MSBit
of the address of the Message Processor object is set to 1.
By default the CRC byte is not generated, reading the CRC byte
will remove new messages from IC causing lost touches.
Added control flag and message size correction for this feature.
Change-Id: I7d1a75528a59afcc95688ae1b7d6704d29ffe443
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
Added 12-bit support for x,y co-ordinates.
x,y > 1023, x,y is reported as 12-bit.
x,y < 1024, x,y is reported as 10-bit.
Add firmware for second touch panel type.
Change-Id: Icfd687a37f5b3fcbb784665bac7d270317421a9a
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
This adds a driver for the Quantum capacitive touch controllers
that use the Object Based Protocol (OBP) for communication
between the driver and the on-chip firmware.
Change-Id: Ib469d626d5f0d11562547f2cbeb71a48e11f6072
Cc: Dan Murphy <D.Murphy@motorola.com>
Cc: Mike Chan <mike@android.com>
Cc: Paul Eastham <eastham@google.com>
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
the panjit touchscreen needs to be reset when returning from
deep sleep mode; add a platform data structure to specify
the reset GPIO.
perform the reset during _probe, since the code already needs
to exist for _resume
delete a bunch of unused preprocessor defines
Change-Id: I71ae65dec45710b0eab4625036edf75064d4cc2b
Signed-off-by: Gary King <gking@nvidia.com>
driver supports the MGG1010AI06 and EGG1010AI06 capacitive touch panels
Change-Id: I038030bf4c9acbd0d3d504427a32f4e46632c115
Signed-off-by: Gary King <gking@nvidia.com>
Send both fingers using the new multitouch protocol in addition to
the old single finger event and second finger ABS_HAT* hack.
The new protocol does not specify how to report up events. To make
sure the user-space frameworks can generate up events, we send at
least one event where ABS_MT_TOUCH_MAJOR is zero before we stop
sending events for a finger.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
platform_get_irq_byname() can return negative results, it is not seen to
unsigned ts_irq. Make it signed.
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Acked-By: Luotao Fu <l.fu@pengutronix.de>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This one adds a driver for STMPE touchscreen controllers.
This driver depends on the stmpexxx mfd core driver.
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
"ret" should be signed here or the error handling doesn't work.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Add support for the cy8ctmg110 capacitive touchscreen used on some
embedded devices.
(Some clean up by Alan Cox)
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
No need to take address, w90p910_ts is already a pointer.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This implements reset_resume() by splitting init into allocations
of private data structures and device initializations. Device
initializations are repeated upon reset_resume.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Tested-by: Petr Štetiar <ynezz@true.cz>
Tested-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This implement USB autosuspend while the device is opened for
devices that do remote wakeup with a fallback to open/close for
those devices that don't. Devices that require the host to
constantly poll them are never autosuspended.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Tested-by: Petr Štetiar <ynezz@true.cz>
Tested-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
The chip's full name is AT42QT602240 or ATMXT224. This is a capacitive
touchscreen supporting 10-contact multitouch and using I2C interface.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
ADS7845 is a controller for 5-wire touch screens and somewhat
different from 7846. It requires three serial communications to
accomplish one complete conversion. Unlike 7846 it doesn't allow
Z1-/Z2- position measurement.
The patch extends the ads7846 driver to also support ads7845.
The packet struct is extended to contain needed command and
conversion buffers. ads7846_rx() and ads7846_rx_val() now
differentiate between 7845 and 7846 case. ads7846_probe() is
modified to setup ads7845 specific command and conversion
messages and to switch ads7845 into power-down mode, since
this is needed to be prepared to respond to pendown interrupts.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Some input events users such as Android require BTN_TOUCH events.
Implement EV_KEY/BTN_TOUCH and make sure that the release event
is not erroneous scheduled without a preceding valid touch.
Avoid duplicated BTN_TOUCH events, even though input core filters
them.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
The ad7879 driver is using the old bus method of only supporting one
at a time (I2C or SPI). So refactor it like the other input drivers
that support multiple busses simultaneously.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This patch adds support for the ET&T TC4UM 4-wire USB touchscreen
controller and tries to reuse the bits for TC5UH controller in kernel
already. Data interface is same.
Tested-by: Roger Pueyo Centelles <rogerpueyo@rogerpueyo.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
On some platforms, for example with GPIO interrupts on mpc5121,
it is not possible to configure falling edge interrupts.
Specifying irq trigger type in platform data structure
allows using ads7846 driver on such platforms.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Stanse found that tsc is dereferenced earlier than checked for being
NULL in tps6507x_ts_remove. Remove the test because there is no way
for tsc to be NULL there.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Let's perform be16_to_cpu() conversions once for each received packet,
and then use cached values. Makes code a little bit easier to follow.
Tested-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>