Commit Graph

394 Commits

Author SHA1 Message Date
makarand.karvekar
0efe0dcfe7 touch: temporary fix for IC wake issue.
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>
2010-10-06 16:33:33 -07:00
Colin Cross
1516ba0048 input: qtouch: Fix warning
Signed-off-by: Colin Cross <ccross@google.com>
2010-10-06 16:33:28 -07:00
makarand.karvekar
0f0edcf524 touch: remove duplicate register input device call
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>
2010-10-06 16:33:27 -07:00
makarand.karvekar
53bf9eb154 touch: firmware 09 support
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>
2010-10-06 16:33:24 -07:00
Colin Cross
e3a43b2bed qtouch: Remove the powerconfig hack
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-06 16:33:18 -07:00
Colin Cross
0464dd14b6 qtouch: Revert removal of the powerconfig hack
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>
2010-10-06 16:33:18 -07:00
makarand.karvekar
6f36785b89 touch: Fix info block checksum calculation and eeprom field.
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>
2010-10-06 16:33:18 -07:00
makarand.karvekar
23b71fa971 touch: Correct message read size for CRC feature.
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>
2010-10-06 16:33:15 -07:00
makarand.karvekar
64ff66260b touch: request_firmware from userspace.
Removed header file with firmware structures.
Added request_firmware call.

Change-Id: If01b64a7d7489ec8f553d87b6a4a8afea92f737d
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
2010-10-06 16:33:14 -07:00
makarand.karvekar
547ba01648 touch: qtouch_obp: Add 12bit resolution for x,y co-ordinates.
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>
2010-10-06 16:33:04 -07:00
Makarand Karvekar
56e7a19d56 touch: qtouch obp mxt1386 support
Driver has firmware flashing capability.
updated to firmware 07_E0.

Change-Id: Id3d4861fcc05fd171feffb43d013bef6fe19f906
Signed-off-by: Makarand Karvekar <makarand.karvekar@motorola.com>
2010-10-06 16:32:58 -07:00
Colin Cross
d71179e7d6 qtouch: Fix slab.h includes for 2.6.34-rc4
Change-Id: I2da10ee5a45f5e29a39b23a9f0352ffa3d260b5e
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-06 16:32:52 -07:00
Colin Cross
93011209c4 qtouch_obp_ts: Add support for X and Y flip
Change-Id: I463ad7bfc906eedb8f80fededdbd12a24b77ab1a
Signed-off-by: Colin Cross <ccross@android.com>
2010-10-06 16:32:51 -07:00
Dima Zavin
e5d0414337 input: Add Quantum OBP touchscreen support
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>
2010-10-06 16:32:51 -07:00
Colin Cross
98959c8563 Merge branch 'android-2.6.36' into android-tegra-2.6.36
Conflicts:
	drivers/input/touchscreen/Kconfig

Change-Id: Ifc75266e258f9513d78c47c12e2f1de1d2344f02
2010-10-06 16:32:09 -07:00
Gary King
e91ad7bcf4 touchscreen: panjit: use multi-touch reporting interface
Change-Id: I2bcad8cd07725e36598545168f33b87b9f217c11
Signed-off-by: Gary King <gking@nvidia.com>
2010-10-06 16:29:02 -07:00
Gary King
e4f8b6f6c1 input: touchscreen: panjit_i2c: fix suspend
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>
2010-10-06 16:28:30 -07:00
Gary King
dcc9fcc567 panjit_touch: fix warning "control reaches end of non-void function"
Change-Id: I3a43dc58edff3687e294c2d2a09d1f6e06e27fce
Signed-off-by: Gary King <gking@nvidia.com>
2010-10-06 16:28:12 -07:00
Gary King
fbf56d14a0 input: touchscreen driver for panjit capacitive i2c touch panels
driver supports the MGG1010AI06 and EGG1010AI06 capacitive touch panels

Change-Id: I038030bf4c9acbd0d3d504427a32f4e46632c115
Signed-off-by: Gary King <gking@nvidia.com>
2010-10-06 16:28:11 -07:00
Rebecca Schultz Zavin
6aeda3ba66 Input: synaptics_i2c_rmi: Add irqflags to platform data struct to pass them to driver
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:13 -07:00
Arve Hjønnevåg
13ff58d150 Input: synaptics_i2c_rmi: Send new multi touch events
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>
2010-09-29 17:49:13 -07:00
Arve Hjønnevåg
4a5096fcd4 Input: synaptics_i2c_rmi: Add sensitivity adjust option.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:12 -07:00
Arve Hjønnevåg
07f13eb3c9 Input: synaptics_i2c_rmi: Add support for panels with has-no-relative-data property.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:12 -07:00
Arve Hjønnevåg
a281518ac5 Input: synaptics_i2c_rmi: Driver for Synaptics Touchscreens using RMI over I2C.
Signed-off-by: Arve Hjønnevåg <arve@android.com>

Input: synaptics_i2c_rmi: disable_irq -> disable_irq_nosync

Also remove duplicate swap macro

Change-Id: I77266431ba5c267a5d92c4bdc2f127a5297065a8
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2010-09-29 17:49:12 -07:00
Kulikov Vasiliy
3faeb35ccc touchscreen: Fix sign bug
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>
2010-08-12 11:27:59 +02:00
Luotao Fu
f94add3bd4 input: STMPE touch controller support
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>
2010-08-12 11:27:56 +02:00
Dmitry Torokhov
5fc0d36c00 Merge branch 'next' into for-linus 2010-08-10 08:41:58 -07:00
Dan Carpenter
f1b50760a7 Input: cy8ctmg100_ts - signedness bug
"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>
2010-08-10 08:37:37 -07:00
Dmitry Torokhov
d01d0756f7 Merge branch 'next' into for-linus 2010-08-02 18:35:17 -07:00
Samuli Konttila
60347c194a Input: cy8ctmg110 - capacitive touchscreen support
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>
2010-07-31 02:37:17 -07:00
Wan ZongShun
5b39187fad Input: w90p910_ts - fix call to setup_timer()
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>
2010-07-15 23:51:03 -07:00
Oliver Neukum
a8aef62292 Input: usbtouchscreen - implement reset_resume
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>
2010-07-15 09:30:57 -07:00
Oliver Neukum
5d9efc59e6 Input: usbtouchscreen - implement runtime power management
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>
2010-07-15 09:30:52 -07:00
Oliver Neukum
ed4299e1b1 Input: usbtouchscreen - implement basic suspend/resume
This implements basic support for suspend & 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>
2010-07-15 09:30:43 -07:00
Joonyoung Shim
4cf51c383d Input: Add ATMEL QT602240 touchscreen driver
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>
2010-07-14 21:58:52 -07:00
Joonyoung Shim
312e8e8a9e Input: mcs - Add MCS touchkey driver
This adds support for MELPAS MCS5000/MSC5080 touch key controllers.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-07-04 01:23:26 -07:00
Anatolij Gustschin
3eac5c7e44 Input: ads7846 - extend the driver for ads7845 controller support
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>
2010-07-03 13:13:22 -07:00
Dmitry Torokhov
0f622bf465 Input: ads7846 - do not allow altering platform data
Tested-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-07-03 13:13:22 -07:00
Michael Hennerich
963ce8ae6d Input: ad7879 - report EV_KEY/BTN_TOUCH events
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>
2010-07-03 13:13:20 -07:00
Michael Hennerich
447b9065b4 Input: ad7879 - fix spi word size to 16 bit
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-07-03 13:13:20 -07:00
Michael Hennerich
16ea10a7d5 Input: ad7879 - use i2c_smbus_read_i2c_block_data() to lower overhead
Avoid additional addressing overhead incurred by word_data transfers.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-07-03 13:13:19 -07:00
Dmitry Torokhov
14fbbc36d1 Input: ad7879 - add open and close methods
Tested-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-07-03 13:13:14 -07:00
Mike Frysinger
4397c98a8a Input: ad7879 - split bus logic out
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>
2010-07-03 13:13:03 -07:00
Dmitry Torokhov
7cd7a82d16 Input: ad7879 - use threaded IRQ
Tested-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-06-30 15:08:09 -07:00
Dmitry Torokhov
08fa16b6b7 Merge commit 'v2.6.35-rc3' into next 2010-06-30 15:07:09 -07:00
Petr Štetiar
38771bb440 Input: usbtouchscreen - add support for ET&T TC4UM touchscreen controller
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>
2010-06-28 09:42:17 -07:00
Anatolij Gustschin
7804302b14 Input: ads7846 - allow specifying irq trigger type in platform data
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>
2010-06-28 01:34:25 -07:00
Jiri Slaby
4aaf504670 Input: tps6507x-ts - remove unneeded NULL test
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>
2010-06-23 09:44:51 -07:00
Dmitry Torokhov
0e789314f8 Merge commit 'v2.6.35-rc3' into for-linus 2010-06-22 11:32:04 -07:00
Dmitry Torokhov
4aa5bbeca0 Input: usbtouchscreen - reduce number fo be16_to_cpu conversions
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>
2010-06-08 01:26:01 -07:00