Commit | Line | Data |
---|---|---|
36a281e2 JB |
1 | #ifndef _PIXCIR_I2C_TS_H |
2 | #define _PIXCIR_I2C_TS_H | |
3 | ||
3b36fbb0 RQ |
4 | /* |
5 | * Register map | |
6 | */ | |
7 | #define PIXCIR_REG_POWER_MODE 51 | |
8 | #define PIXCIR_REG_INT_MODE 52 | |
9 | ||
10 | /* | |
11 | * Power modes: | |
12 | * active: max scan speed | |
13 | * idle: lower scan speed with automatic transition to active on touch | |
14 | * halt: datasheet says sleep but this is more like halt as the chip | |
15 | * clocks are cut and it can only be brought out of this mode | |
16 | * using the RESET pin. | |
17 | */ | |
18 | enum pixcir_power_mode { | |
19 | PIXCIR_POWER_ACTIVE, | |
20 | PIXCIR_POWER_IDLE, | |
21 | PIXCIR_POWER_HALT, | |
22 | }; | |
23 | ||
24 | #define PIXCIR_POWER_MODE_MASK 0x03 | |
25 | #define PIXCIR_POWER_ALLOW_IDLE (1UL << 2) | |
26 | ||
27 | /* | |
28 | * Interrupt modes: | |
29 | * periodical: interrupt is asserted periodicaly | |
30 | * diff coordinates: interrupt is asserted when coordinates change | |
31 | * level on touch: interrupt level asserted during touch | |
32 | * pulse on touch: interrupt pulse asserted druing touch | |
33 | * | |
34 | */ | |
35 | enum pixcir_int_mode { | |
36 | PIXCIR_INT_PERIODICAL, | |
37 | PIXCIR_INT_DIFF_COORD, | |
38 | PIXCIR_INT_LEVEL_TOUCH, | |
39 | PIXCIR_INT_PULSE_TOUCH, | |
40 | }; | |
41 | ||
42 | #define PIXCIR_INT_MODE_MASK 0x03 | |
43 | #define PIXCIR_INT_ENABLE (1UL << 3) | |
44 | #define PIXCIR_INT_POL_HIGH (1UL << 2) | |
45 | ||
36874c7e RQ |
46 | /** |
47 | * struct pixcir_irc_chip_data - chip related data | |
48 | * @max_fingers: Max number of fingers reported simultaneously by h/w | |
49 | * @has_hw_ids: Hardware supports finger tracking IDs | |
50 | * | |
51 | */ | |
52 | struct pixcir_i2c_chip_data { | |
53 | u8 max_fingers; | |
54 | bool has_hw_ids; | |
55 | }; | |
56 | ||
36a281e2 | 57 | struct pixcir_ts_platform_data { |
36a281e2 JB |
58 | int x_max; |
59 | int y_max; | |
36874c7e | 60 | struct pixcir_i2c_chip_data chip; |
36a281e2 JB |
61 | }; |
62 | ||
63 | #endif |