tizen 2.4 release
[profile/mobile/platform/kernel/linux-3.10-sc7730.git] / drivers / input / touchscreen / ist30xxa / ist30xx_tracking.h
1 #ifndef __IST30XX_TRACKING_H__\r
2 #define __IST30XX_TRACKING_H__\r
3 \r
4 \r
5 #define IST30XX_RINGBUF_NO_ERR      (0)\r
6 #define IST30XX_RINGBUF_NOT_ENOUGH  (1)\r
7 #define IST30XX_RINGBUF_EMPTY       (2)\r
8 #define IST30XX_RINGBUF_FULL        (3)\r
9 #define IST30XX_RINGBUF_TIMEOUT     (4)\r
10 #define IST30XX_MAX_LOG_SIZE        (4 * 100 * 1024)    // 4bytes * 100Kbytes, Single touch: about 12minutes\r
11 \r
12 #define TRACK_PWR_ON            (0x1)\r
13 #define TRACK_PWR_OFF           (0x2)\r
14 #define TRACK_PWR_RESET         (0x3)\r
15 #define TRACK_INTR_ENABLE       (0x4)\r
16 #define TRACK_INTR_DISABLE      (0x5)\r
17 #define TRACK_CMD_RUN_DEVICE    (0x10)\r
18 #define TRACK_CMD_SCAN          (0x11)\r
19 #define TRACK_CMD_TACON         (0x12)\r
20 #define TRACK_CMD_TADISCON      (0x13)\r
21 #define TRACK_CMD_FWUPDATE      (0x14)\r
22 #define TRACK_CMD_PRUPDATE      (0x15)\r
23 #define TRACK_CMD_CALIB         (0x16)\r
24 #define TRACK_CMD_CHECK_CALIB   (0x17)\r
25 #define TRACK_CMD_CHKSUM        (0x18)\r
26 #define TRACK_CMD_CHKSUM_ALL    (0x19)\r
27 #define TRACK_CMD_ENTER_REG     (0x1A)\r
28 #define TRACK_CMD_EXIT_REG      (0x1B)\r
29 #define TRACK_POS_FINGER        (0x20)\r
30 #define TRACK_POS_KEY           (0x30)\r
31 #define TRACK_POS_UNKNOWN       (0x3F)\r
32 \r
33 #define IST30XX_TRACKING_MAGIC  (0x7750 << 16)\r
34 \r
35 \r
36 typedef struct _IST30XX_RINGBUF {\r
37         u32     RingBufCtr; // Number of characters in the ring buffer\r
38         u32     RingBufInIdx;\r
39         u32     RingBufOutIdx;\r
40         u8      LogBuf[IST30XX_MAX_LOG_SIZE];        // Ring buffer for status\r
41 } IST30XX_RING_BUF;\r
42 \r
43 \r
44 void ist30xx_tracking_init(void);\r
45 void ist30xx_tracking_deinit(void);\r
46 \r
47 int ist30xx_get_track(u32 *track, int cnt);\r
48 int ist30xx_put_track(u32 *track, int cnt);\r
49 int ist30xx_put_track_ms(u32 ms);\r
50 \r
51 u32 ist30xx_get_track_cnt(void);\r
52 \r
53 int ist30xx_tracking(u32 status);\r
54 \r
55 int ist30xx_init_tracking_sysfs(void);\r
56 \r
57 #endif  // __IST30XX_TRACKING_H__\r