summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/semisens/touch.h
blob: 750112ea27be94d21af32c52e80adf7c03186ede (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/****************************************************************
 *
 * touch.c : I2C Touchscreen driver
 *
 * Copyright (c) 2013 SEMISENS Co.,Ltd
 *      http://www.semisens.com
 *
 ****************************************************************/
#ifndef _TOUCH_H_
#define _TOUCH_H_

//----------------------------------------------
// extern function define
//----------------------------------------------
extern void touch_hw_reset(struct touch *ts);
extern int touch_info_display(struct touch *ts);
#if 0 /* depends on kernel version */
extern int touch_probe(struct i2c_client *client);
extern int touch_remove(struct device *dev);
#else
extern int touch_probe(struct i2c_client *client, const struct i2c_device_id *client_id);
extern int touch_remove(struct i2c_client *client);
#endif

struct tp_info
{
	char name[64];
	unsigned int xaxis; //0: x,  1: x swap with y
	unsigned int xdir; // 1: positive,-1: revert
	unsigned int ydir; // 1: positive,-1: revert
	unsigned int max_finger_num;
	unsigned int download_option;	// 0: disable 1:force download 2:force cancel download
	unsigned int low_Impendence_mode; //   0: High Impendence Mode 1: Low Impendence Mode
	unsigned int irq_gpio;
	unsigned int rst_gpio;
	unsigned int panelres_x;
	unsigned int panelres_y;
	unsigned int i2caddr;
	unsigned int lcd_exchg;
#if 0	
	struct input_dev *inputdev;
	struct work_struct int_work;
	struct i2c_client *i2cclient;
	struct workqueue_struct *wq;
#if SUPPORT_TS_KEY
	int key_num;
#endif
#endif

};



#endif /* _TOUCH_H_ */