kernel-fxtec-pro1x/include/linux/input/auo-pixcir-ts.h
Heiko Stübner 5245db49d4 Input: add driver for AUO In-Cell touchscreens using pixcir ICs
Some displays from AUO have a so called in-cell touchscreen, meaning it
is built directly into the display unit.

Touchdata is gathered through PIXCIR Tango-ICs and processed in an
Atmel ATmega168P with custom firmware. Communication between the host
system and ATmega is done via I2C.

Devices using this touch solution include the Dell Streak5 and the family
of Qisda ebook readers.

The driver reports single- and multi-touch events including touch area
values.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-12-27 21:22:18 -08:00

56 lines
1.4 KiB
C

/*
* Driver for AUO in-cell touchscreens
*
* Copyright (c) 2011 Heiko Stuebner <heiko@sntech.de>
*
* based on auo_touch.h from Dell Streak kernel
*
* Copyright (c) 2008 QUALCOMM Incorporated.
* Copyright (c) 2008 QUALCOMM USA, INC.
*
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __AUO_PIXCIR_TS_H__
#define __AUO_PIXCIR_TS_H__
/*
* Interrupt modes:
* periodical: interrupt is asserted periodicaly
* compare coordinates: interrupt is asserted when coordinates change
* indicate touch: interrupt is asserted during touch
*/
#define AUO_PIXCIR_INT_PERIODICAL 0x00
#define AUO_PIXCIR_INT_COMP_COORD 0x01
#define AUO_PIXCIR_INT_TOUCH_IND 0x02
/*
* @gpio_int interrupt gpio
* @int_setting one of AUO_PIXCIR_INT_*
* @init_hw hardwarespecific init
* @exit_hw hardwarespecific shutdown
* @x_max x-resolution
* @y_max y-resolution
*/
struct auo_pixcir_ts_platdata {
int gpio_int;
int int_setting;
void (*init_hw)(struct i2c_client *);
void (*exit_hw)(struct i2c_client *);
unsigned int x_max;
unsigned int y_max;
};
#endif