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
|
/*
* Copyright (C) 2012, Samsung Electronics Co. Ltd. All Rights Reserved.
*
* 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.
*
* 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 __MXT_H__
#define __MXT_H__
#define MXT_DEV_NAME "Atmel MXT540S"
#define MXT_540S_SW_RESET_TIME 300 /* msec */
#define MXT_540S_HW_RESET_TIME 300 /* msec */
#define MXT_540S_FW_RESET_TIME 500 /* msec */
enum { RESERVED_T0 = 0,
RESERVED_T1,
DEBUG_DELTAS_T2,
DEBUG_REFERENCES_T3,
DEBUG_SIGNALS_T4,
GEN_MESSAGEPROCESSOR_T5,
GEN_COMMANDPROCESSOR_T6,
GEN_POWERCONFIG_T7,
GEN_ACQUISITIONCONFIG_T8,
TOUCH_MULTITOUCHSCREEN_T9,
TOUCH_SINGLETOUCHSCREEN_T10,
TOUCH_XSLIDER_T11,
TOUCH_YSLIDER_T12,
TOUCH_XWHEEL_T13,
TOUCH_YWHEEL_T14,
TOUCH_KEYARRAY_T15,
PROCG_SIGNALFILTER_T16,
PROCI_LINEARIZATIONTABLE_T17,
SPT_COMCONFIG_T18,
SPT_GPIOPWM_T19,
PROCI_GRIPFACESUPPRESSION_T20,
RESERVED_T21,
PROCG_NOISESUPPRESSION_T22,
TOUCH_PROXIMITY_T23,
PROCI_ONETOUCHGESTUREPROCESSOR_T24,
SPT_SELFTEST_T25,
DEBUG_CTERANGE_T26,
PROCI_TWOTOUCHGESTUREPROCESSOR_T27,
SPT_CTECONFIG_T28,
SPT_GPI_T29,
SPT_GATE_T30,
TOUCH_KEYSET_T31,
TOUCH_XSLIDERSET_T32,
RESERVED_T33,
GEN_MESSAGEBLOCK_T34,
SPT_GENERICDATA_T35,
RESERVED_T36,
DEBUG_DIAGNOSTIC_T37,
SPT_USERDATA_T38,
SPARE_T39,
PROCI_GRIPSUPPRESSION_T40,
SPARE_T41,
PROCI_TOUCHSUPPRESSION_T42,
SPT_DIGITIZER_T43,
SPARE_T44,
SPARE_T45,
SPT_CTECONFIG_T46,
PROCI_STYLUS_T47,
PROCG_NOISESUPPRESSION_T48,
SPARE_T49,
SPARE_T50,
SPARE_T51,
TOUCH_PROXIMITY_KEY_T52,
GEN_DATASOURCE_T53,
SPARE_T54,
ADAPTIVE_T55,
PROCI_SHIELDLESS_T56,
PROCI_EXTRATOUCHSCREENDATA_T57,
SPARE_T58,
SPARE_T59,
SPARE_T60,
SPT_TIMER_T61,
PROCG_NOISESUPPRESSION_T62,
PROCI_ACTIVESTYLUS_T63,
RESERVED_T255 = 255,
};
struct mxt_callbacks {
void (*inform_charger)(struct mxt_callbacks *, bool);
};
struct mxt_platform_data {
int max_finger_touches;
int gpio_read_done;
const u8 **config;
int min_x;
int max_x;
int min_y;
int max_y;
int min_z;
int max_z;
int min_w;
int max_w;
int (*power_on) (void);
int (*power_off) (void);
int (*power_reset) (void);
void (*register_cb) (void *);
u8 boot_address;
const char *firmware_name;
};
#endif /* */
|