mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
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>
This commit is contained in:
parent
fd6cf3dddf
commit
4cf51c383d
4 changed files with 1452 additions and 0 deletions
|
@ -291,6 +291,18 @@ config TOUCHSCREEN_PENMOUNT
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called penmount.
|
module will be called penmount.
|
||||||
|
|
||||||
|
config TOUCHSCREEN_QT602240
|
||||||
|
tristate "QT602240 I2C Touchscreen"
|
||||||
|
depends on I2C
|
||||||
|
help
|
||||||
|
Say Y here if you have the AT42QT602240/ATMXT224 I2C touchscreen
|
||||||
|
connected to your system.
|
||||||
|
|
||||||
|
If unsure, say N.
|
||||||
|
|
||||||
|
To compile this driver as a module, choose M here: the
|
||||||
|
module will be called qt602240_ts.
|
||||||
|
|
||||||
config TOUCHSCREEN_MIGOR
|
config TOUCHSCREEN_MIGOR
|
||||||
tristate "Renesas MIGO-R touchscreen"
|
tristate "Renesas MIGO-R touchscreen"
|
||||||
depends on SH_MIGOR && I2C
|
depends on SH_MIGOR && I2C
|
||||||
|
|
|
@ -32,6 +32,7 @@ obj-$(CONFIG_TOUCHSCREEN_HTCPEN) += htcpen.o
|
||||||
obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE) += usbtouchscreen.o
|
obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE) += usbtouchscreen.o
|
||||||
obj-$(CONFIG_TOUCHSCREEN_PCAP) += pcap_ts.o
|
obj-$(CONFIG_TOUCHSCREEN_PCAP) += pcap_ts.o
|
||||||
obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o
|
obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o
|
||||||
|
obj-$(CONFIG_TOUCHSCREEN_QT602240) += qt602240_ts.o
|
||||||
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
|
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
|
||||||
obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213) += touchit213.o
|
obj-$(CONFIG_TOUCHSCREEN_TOUCHIT213) += touchit213.o
|
||||||
obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
|
obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
|
||||||
|
|
1401
drivers/input/touchscreen/qt602240_ts.c
Normal file
1401
drivers/input/touchscreen/qt602240_ts.c
Normal file
File diff suppressed because it is too large
Load diff
38
include/linux/i2c/qt602240_ts.h
Normal file
38
include/linux/i2c/qt602240_ts.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* AT42QT602240/ATMXT224 Touchscreen driver
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Samsung Electronics Co.Ltd
|
||||||
|
* Author: Joonyoung Shim <jy0922.shim@samsung.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
* option) any later version.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __LINUX_QT602240_TS_H
|
||||||
|
#define __LINUX_QT602240_TS_H
|
||||||
|
|
||||||
|
/* Orient */
|
||||||
|
#define QT602240_NORMAL 0x0
|
||||||
|
#define QT602240_DIAGONAL 0x1
|
||||||
|
#define QT602240_HORIZONTAL_FLIP 0x2
|
||||||
|
#define QT602240_ROTATED_90_COUNTER 0x3
|
||||||
|
#define QT602240_VERTICAL_FLIP 0x4
|
||||||
|
#define QT602240_ROTATED_90 0x5
|
||||||
|
#define QT602240_ROTATED_180 0x6
|
||||||
|
#define QT602240_DIAGONAL_COUNTER 0x7
|
||||||
|
|
||||||
|
/* The platform data for the AT42QT602240/ATMXT224 touchscreen driver */
|
||||||
|
struct qt602240_platform_data {
|
||||||
|
unsigned int x_line;
|
||||||
|
unsigned int y_line;
|
||||||
|
unsigned int x_size;
|
||||||
|
unsigned int y_size;
|
||||||
|
unsigned int blen;
|
||||||
|
unsigned int threshold;
|
||||||
|
unsigned int voltage;
|
||||||
|
unsigned char orient;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* __LINUX_QT602240_TS_H */
|
Loading…
Reference in a new issue