summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/st/fts_lib/ftsSoftware.h
blob: 080661d134d08117f2e17b51981c13198448db44 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*

**************************************************************************
**		STMicroelectronics						**
**************************************************************************
**		marco.cali@st.com				**
**************************************************************************
*														*
*	 FW related data					 *
*														*
**************************************************************************
**************************************************************************

*/

#include "ftsHardware.h"

#define ECHO_ENABLED	0x00000001

/* chipInfo	ftsInfo; */

/* FTS FW COMAND */
#define FTS_CMD_MS_MT_SENSE_OFF	0x92
#define FTS_CMD_MS_MT_SENSE_ON	0x93
#define FTS_CMD_SS_HOVER_OFF	0x94
#define FTS_CMD_SS_HOVER_ON	0x95
#define FTS_CMD_LP_TIMER_CALIB	0x97
#define FTS_CMD_MS_KEY_OFF	0x9A
#define FTS_CMD_MS_KEY_ON	0x9B
#define FTS_CMD_MS_COMP_TUNING	0xA3
#define FTS_CMD_SS_COMP_TUNING	0xA4
#define FTS_CMD_FULL_INITIALIZATION	0xA5
#define FTS_CMD_ITO_CHECK	0xA7
#define FTS_CMD_RELEASE_INFO	0xAA
#define	FTS_CMD_GESTURE_MODE	0xAD
#define FTS_CMD_REQU_FW_CONF	0xB2
#define FTS_CMD_REQU_FRAME_DATA	0xB7
#define FTS_CMD_REQU_COMP_DATA	0xB8
#define FTS_CMD_WRITE_MP_FLAG	0xC0
#define FTS_CMD_FEATURE_ENABLE	0xC1
#define FTS_CMD_FEATURE_DISABLE	0xC2
#define FTS_CMD_GESTURE_CMD	0xC3
#define FTS_CMD_SAVE_CX_TUNING	0xFC

/* Event ID */
#define EVENTID_NO_EVENT	0x00
#define EVENTID_ERROR_EVENT	0x0F
#define EVENTID_CONTROL_READY	0x10
#define EVENTID_FW_CONFIGURATION	0x12
#define EVENTID_COMP_DATA_READ	0x13
#define EVENTID_STATUS_UPDATE	0x16
#define EVENTID_RELEASE_INFO	0x1C
#define EVENTID_ENTER_POINTER	   0x03
#define EVENTID_LEAVE_POINTER	   0x04
#define EVENTID_MOTION_POINTER	  0x05
#define EVENTID_HOVER_ENTER_POINTER	 0x07
#define EVENTID_HOVER_LEAVE_POINTER	 0x08
#define EVENTID_HOVER_MOTION_POINTER	0x09
#define EVENTID_PROXIMITY_ENTER	 0x0B
#define EVENTID_PROXIMITY_LEAVE	 0x0C
#define EVENTID_KEY_STATUS	  0x0E
#define EVENTID_GESTURE	 0x22
#define EVENTID_FRAME_DATA_READ	0x25
#define EVENTID_ECHO	0xEC
#define EVENTID_LAST		(EVENTID_FRAME_DATA_READ+1)

/* EVENT TYPE */
#define EVENT_TYPE_MS_TUNING_CMPL	0x01
#define EVENT_TYPE_SS_TUNING_CMPL	0x02
#define EVENT_TYPE_COMP_DATA_SAVED	0x04
#define EVENT_TYPE_ITO	0x05
#define EVENT_TYPE_FULL_INITIALIZATION	0x07
#define EVENT_TYPE_LPTIMER_TUNING_CMPL	0x20
#define EVENT_TYPE_ESD_ERROR	0x0A
#define EVENT_TYPE_WATCHDOG_ERROR	0x01

/*  CONFIG ID INFO */
#define CONFIG_ID_ADDR		0x0001
#define CONFIG_ID_BYTE		2

/* ADDRESS OFFSET IN SYSINFO */
#define ADDR_RAW_TOUCH		0x0000
#define ADDR_FILTER_TOUCH	0x0002
#define ADDR_NORM_TOUCH		0x0004
#define ADDR_CALIB_TOUCH	0x0006
#define ADDR_RAW_HOVER_FORCE	0x000A
#define ADDR_RAW_HOVER_SENSE	0x000C
#define ADDR_FILTER_HOVER_FORCE	0x000E
#define ADDR_FILTER_HOVER_SENSE	0x0010
#define ADDR_NORM_HOVER_FORCE	0x0012
#define ADDR_NORM_HOVER_SENSE	0x0014
#define ADDR_CALIB_HOVER_FORCE	0x0016
#define ADDR_CALIB_HOVER_SENSE	0x0018
#define ADDR_RAW_PRX_FORCE	0x001A
#define ADDR_RAW_PRX_SENSE	0x001C
#define ADDR_FILTER_PRX_FORCE	0x001E
#define ADDR_FILTER_PRX_SENSE	0x0020
#define ADDR_NORM_PRX_FORCE	0x0022
#define ADDR_NORM_PRX_SENSE	0x0024
#define ADDR_CALIB_PRX_FORCE	0x0026
#define ADDR_CALIB_PRX_SENSE	0x0028
#define ADDR_RAW_MS_KEY		0x0032
#define ADDR_COMP_DATA		0x0050
#define ADDR_FRAMEBUFFER_DATA	0x8000

/* ADDRESS FW REGISTER */
#define ADDR_SENSE_LEN		0x0014
#define ADDR_FORCE_LEN		0x0015
#define ADDR_MS_TUNING_VER	0x0729
#define ADDR_SS_TUNING_VER	0x074E

/* B2 INFO */
#define B2_DATA_BYTES		4
#define B2_CHUNK	((FIFO_DEPTH/2)*B2_DATA_BYTES)  /* number of bytes */

/* FEATURES */
#define FEAT_GESTURE	0x00
#define FEAT_GLOVE	0x01
#define FEAT_STYLUS	0x02
#define FEAT_COVER	0x04
#define FEAT_CHARGER	0x08
#define FEAT_VR	0x10
#define FEAT_EDGE_REJECTION	0x20

/* MP_FLAG_VALUE */
#define	INIT_MP	0xA5A5A501
#define INIT_FIELD	0xA5A5A502