summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/atmel_mxt_ts.c
AgeCommit message (Collapse)Author
2011-12-09input: touch: atmel_mxt_ts: sanity check pressure valueVarun Wadekar
The hardware gives you 0 as the pressure even for valid touches. Pass a default value if you get pressure value outside limits from the hardware during a 'press'. Pass pressure as 0, for a 'release'. Change-Id: Id858240464474d3c18e4bae9768f41327c5d4124 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30atmel: touch: Fix build error when PM_SLEEP is not selectedScott Williams
Change-Id: I08eb7b5ad1c70b84ff40ba75a29913b61634d0f0 Signed-off-by: Scott Williams <scwilliams@nvidia.com> Reviewed-on: http://git-master/r/48786 Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Rebase-Id: Rc7ac5d5153d845c8be10dbe79f57083fb1919760
2011-11-30input: touch: atmel_mxt_ts: Prevent double suspend/resume.Robert Collins
In the case where early suspend/resume is enabled, prevent suspend/resume from being called twice. Removing the default suspend/resume handlers while early suspend/resume is enabled prevents the double suspend/resume from occurring. BUG 843934 Original-Change-Id: I2e014f7a79db524cbe9d5b8b934c8f42216a8ad5 Reviewed-on: http://git-master/r/38576 Tested-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Robert R Collins <rcollins@nvidia.com> Tested-by: Robert R Collins <rcollins@nvidia.com> Rebase-Id: R6c38a345206679eb2ee5ca279d0ffa922c3f8744
2011-11-30Input: atmel_mxt_ts: add early suspend/resume functionalityRobert Collins
Add early suspend/resume functionality to Atmel touch driver. 0W suspend. Early suspend/resume functions written and provided by Atmel Corporation. BUG 826854 Original-Change-Id: I58d5abacff20df9d3027c960021e94298e31b8a6 Reviewed-on: http://git-master/r/35286 Reviewed-by: Robert R Collins <rcollins@nvidia.com> Tested-by: Robert R Collins <rcollins@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Rebase-Id: R1364d26f0c95bdb9e650e3231ac254242a9b3349
2011-11-30input: touch: atmel_mxt_ts: Add SysFS interface to slow down scanning.Robert Collins
Video playback would like to save power by slowing touchscreen scanning. This change adds a SysFS interface to allow the scan rate to be programmed by the video display interface. SysFS location: /sys/devices/platform/tegra-i2c.1/i2c-1/1-005a/slowscan_enable Read functions: cat slowscan_enable (returns current register status) Write functions: 0 - Disable slowscan 1 - Enable slowscan 2 N - Program actv_cycle_time with value of N 3 N - Program idle_cycle_time with value of N 4 N - Program actv2idle timeout with value of N (seconds * 10) Bug 891993 Change-Id: Ib11b544019f3a78290785502e7209b8cbd985852 Reviewed-on: http://git-master/r/65006 Reviewed-by: Robert Collins <rcollins@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: Re4398871d4964d366f0dbdd856a7953600577dea
2011-11-30input: touch: atmel_mxt_ts: Disable TS power during LP0.Robert Collins
In order to save system power, we should cut the power to the touchscreen controller. Older versions of our TS driver did this. This feature was accidentally removed during a recent driver update. Bug 891979 Change-Id: I4bf9333832af65c00b8b10cc8191f4d26aad04e4 Reviewed-on: http://git-master/r/65005 Reviewed-by: Robert Collins <rcollins@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R370b26e990a5f129ea0f8e73e9b7178bd85b79e5
2011-11-30input: touch: atmel_mxt_ts: Updated to new Atmel touch driver.Robert Collins
Updated to new Atmel touch driver. Added sysfs interface to allow Config-UI applications to run. Primary changes: * Add sysfs interface to allow user applications access to the touchscreen controller register interface. Required by Config-UI utility. * Fixed bug in stop/start functions that would prevent TS from working with encrypted filesystems. * Fix logic error that could cause a deadlock condition during LP0 resume. Change-Id: If25260e60843e3c3bb3a9818ed9146ea78c39902 Reviewed-on: http://git-master/r/65004 Reviewed-by: Robert Collins <rcollins@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R9bde02eeeae3a899e18d17b5ff26cac371729cb0
2011-11-30input: touch: atmel_mxt_ts: Prevent touchscreen from becoming unresponsive ↵Joel Kenny
in some situations BUG 868649 Reviewed-on: http://git-master/r/50598 (cherry picked from commit ad1dbe0eda931f813b20d75400daaa9edf18c82a) Change-Id: I29f353687c499ff830e98fcf038d8a786dc5608b Reviewed-on: http://git-master/r/54841 Reviewed-by: Joel Kenny <jkenny@nvidia.com> Reviewed-by: Robert Collins <rcollins@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com> Tested-by: Joel Kenny <jkenny@nvidia.com> Rebase-Id: Rdde94e071f4a27250eccad562c819ca2f537ffcd
2011-11-30input: touch: atmel_mxt_ts: Prevent boot and resume hangs.Robert Collins
Prevents touchscreen hangs during initial TS boot, and TS resume. BUG 847725 BUG 845156 BUG 846711 Original-Change-Id: Ia853574e4b2422eb9368fe37eaf7457bd4022df8 Reviewed-on: http://git-master/r/40261 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Rc1de4685a4e85d761097142b39f2a672846b8c44
2011-11-30Input: atmel_mxt_touch: NVIDIA touch customizationRobert Collins
* Fix suspend/resume bug to prevent unecessary i2cinterrupts when suspended. * Change input device name to match NVDA IDC name. * Add I2C address defines. * Change "printk" to "dev_info" function calls. BUG 826854 Original-Change-Id: Ic1b25bc469b86d8a26e876e80973597d9f6fb107 Reviewed-on: http://git-master/r/35285 Reviewed-by: Robert R Collins <rcollins@nvidia.com> Tested-by: Robert R Collins <rcollins@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Rebase-Id: Rcba51c79d3c004372c0be18538f14f56a2249bc0
2011-11-30Input: atmel_mxt_ts: Atmel customizations to touch.Robert Collins
Integrate changes made by Atmel. These changes are in addition to mainline driver. NOTE: Driver will compile as a stand-alone. BUG 826854 Original-Change-Id: If13688d90d97b71718576f3fb756496f57a965d7 Reviewed-on: http://git-master/r/35280 Reviewed-by: Robert R Collins <rcollins@nvidia.com> Tested-by: Robert R Collins <rcollins@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Rebase-Id: Reb8ae14299d248c0ce69e52b26a8816d1a0ee057
2011-08-16Input: atmel_mxt_ts - report pressure information from the driverYufeng Shen
Atmel mxt1386 touch controller has the touch pressure information so let's report it to the user space. [dtor@mail.ru: added ABS_RESSURE reporting for ST emulation.] Signed-off-by: Yufeng Shen <miletus@chromium.org> Acked-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> Acked-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-07-04Input: atmel_mxt_ts - handle objects with multiple instances correctlyIiro Valkonen
Handle the objects with multiple instances correctly when the configuration data is loaded. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-07-04Input: atmel_mxt_ts - update object listIiro Valkonen
Update the object list to include new objects, and add unique identifiers so we can distinguish between old & new generation of the same object. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-04-12Input: atmel_mxt_ts - convert to MT protocol BJoonyoung Shim
Atmel touchscreen chips can use MT protocol B because they can assign unique id to ABS_MT_TRACKING_ID from finger id provided by hardware. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-04-12Input: atmel_mxt_ts - make CHG line high after enabling interruptsIiro Valkonen
Make the CHG line (interrupt line) go high after the interrupts have been enabled to make sure we don't miss the falling edge. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Acked-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-04-12Input: atmel_mxt_ts - support 12bit resolutionJoonyoung Shim
Atmel touchscreen chip can support 12bit resolution and this patch modifies to get maximum x and y size from platform data. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-14Input: atmel_mxt_ts - add objects of mXT1386 chipJoonyoung Shim
Atmel mXT1386 chip is operated by atmel_mxt_ts driver and it has some different objects. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-14Input: atmel_mxt_ts - remove firmware version checkJoonyoung Shim
Atmel touchscreen chips have different firmware version with each chip, so we cannot distinguish attribute of chip by firmware version. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-25Input: atmel_mxt_ts - remove matrix size checkIiro Valkonen
The mxt_check_matrix_size() is currently setting the CTE mode to match xline/yline information that is in the platform data, but it does not take into account for example the fact that we could have a key array in use too (key array would use some x/y lines as well). It would be better to simply rely on the configuration data, and make sure that the CTE mode set in there matches the touch object (touchscreen, key array, proximity) configuration (which are set in the config data too). Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-21Input: atmel_mxt_ts - allow board code to specify IRQ flagsIiro Valkonen
Different board have different requirements/setups so let's be more flexible. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-21Input: atmel_mxt_ts - allow board code to suppliy controller configIiro Valkonen
As there is no common configuration settings that would work in every situation, remove the fixed config data from driver code and add config data to platform data. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-21Input: atmel_mxt_ts - add mXT224 identifier to id_tableChris Leech
"mXT224" is used in the Intel mid firmware in SFI tables to identify the presence of this I2C device. Signed-off-by: Chris Leech <christopher.leech@linux.intel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-21Input: atmel_mxt_ts - read whole message to make CHG lowIiro Valkonen
Read the whole message, as reading just the first byte isn't always guaranteed to clear the message. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-21Input: atmel_mxt_ts - get rid of qt602240 prefixes in namesIiro Valkonen
Change prefixes from qt602240 to mxt to reflect that the driver supports whole line of mXT touchscreens. Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-02-21Input: qt602240_ts - rename to atmel_mxt_tsDmitry Torokhov
Since the driver will be supporting whole range of Atmels mXT touchscreen controllers we better rename it to atmel_mxt_ts. Acked-by: Iiro Valkonen <iiro.valkonen@atmel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>