1 #ifndef __LINUX_FT5X0X_TS_H__
2 #define __LINUX_FT5X0X_TS_H__
4 //#define CONFIG_SUPPORT_FTS_CTP_UPG
5 #define CONFIG_FTS_CUSTOME_ENV
7 #define FT5X0X_I2C_SPEED 100*1000
9 #define CFG_DBG_DUMMY_INFO_SUPPORT 1 //output touch point information
10 #define CFG_DBG_FUCTION_INFO_SUPPORT 0 //output fouction name
11 #define CFG_DBG_INPUT_EVENT 0 //debug input event
14 #define CFG_MAX_POINT_NUM 0x5 //max touch points supported
15 #define CFG_NUMOFKEYS 0x4 //number of touch keys
17 #ifdef CONFIG_FTS_CUSTOME_ENV
18 //µ±ÊÖÖ¸´Ó±ß½ç»®Æðʱ,»á³öÏÖÎÞÏìÓ¦µÄÇé¿ö,Òò´ËÌí¼ÓÒ»¸öºê½«±ß½ç×î´óÖµÏòÍâÀÉì
19 #define SCREEN_BOUNDARY_ADJUST_VALUE 10
21 #define SCREEN_MAX_X 1024
22 #define SCREEN_MAX_Y 600
24 #define SCREEN_MAX_X 800
25 #define SCREEN_MAX_Y 480
30 #define KEY_RELEASE 0x0
32 #define FT5X0X_NAME "laibao_touch"//"ft5x0x_ts"
37 #define I2C_CTPM_ADDRESS 0x70
39 typedef unsigned char FTS_BYTE;
40 typedef unsigned short FTS_WORD;
41 typedef unsigned int FTS_DWRD;
42 typedef unsigned char FTS_BOOL;
46 typedef struct _REPORT_FINGER_INFO_T
48 short ui2_id; /* ID information, from 0 to CFG_MAX_POINT_NUM - 1*/
49 short u2_pressure; /* ***pressure information, valid from 0 -63 **********/
50 short i2_x; /*********** X coordinate, 0 - 2047 ****************/
51 short i2_y; /* **********Y coordinate, 0 - 2047 ****************/
52 } REPORT_FINGER_INFO_T;
69 struct FTS_TS_EVENT_T {
92 FT5X0X_REG_THRES = 0x80, /* Thresshold, the threshold be low, the sensitivy will be high */
93 FT5X0X_REG_REPORT_RATE = 0x88, /* **************report rate, in unit of 10Hz **************/
94 FT5X0X_REG_PMODE = 0xA5, /* Power Consume Mode 0 -- active, 1 -- monitor, 3 -- sleep */
95 FT5X0X_REG_FIRMID = 0xA6, /* ***************firmware version **********************/
96 FT5X0X_REG_NOISE_MODE = 0xb2 /* to enable or disable power noise, 1 -- enable, 0 -- disable */
99 #define PMODE_ACTIVE 0x00
100 #define PMODE_MONITOR 0x01
101 #define PMODE_STANDBY 0x02
102 #define PMODE_HIBERNATE 0x03
105 #ifndef ABS_MT_TOUCH_MAJOR
106 #define ABS_MT_TOUCH_MAJOR 0x30 /* touching ellipse */
107 #define ABS_MT_TOUCH_MINOR 0x31 /* (omit if circular) */
108 #define ABS_MT_WIDTH_MAJOR 0x32 /* approaching ellipse */
109 #define ABS_MT_WIDTH_MINOR 0x33 /* (omit if circular) */
110 #define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */
111 #define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */
112 #define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */
113 #define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */
114 #define ABS_MT_BLOB_ID 0x38 /* Group set of pkts as blob */