Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / include / linux / input / pixcir_ts.h
1 #ifndef _PIXCIR_I2C_TS_H
2 #define _PIXCIR_I2C_TS_H
3
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
46 struct pixcir_ts_platform_data {
47         int x_max;
48         int y_max;
49         int gpio_attb;          /* GPIO connected to ATTB line */
50 };
51
52 #endif