summaryrefslogtreecommitdiff
path: root/drivers/input/touchscreen/ist30xx/ist30xx_tracking.h
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
committerYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
commit8e4bff4cab0ddac6060645b0715210484d02ff40 (patch)
tree3a5c3024371a04692a3a6d9974d001cdff8ebf84 /drivers/input/touchscreen/ist30xx/ist30xx_tracking.h
Initial file dump from open source releaseHEADmaster
Diffstat (limited to 'drivers/input/touchscreen/ist30xx/ist30xx_tracking.h')
-rw-r--r--drivers/input/touchscreen/ist30xx/ist30xx_tracking.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/drivers/input/touchscreen/ist30xx/ist30xx_tracking.h b/drivers/input/touchscreen/ist30xx/ist30xx_tracking.h
new file mode 100644
index 00000000..8655090e
--- /dev/null
+++ b/drivers/input/touchscreen/ist30xx/ist30xx_tracking.h
@@ -0,0 +1,57 @@
+#ifndef __IST30XX_TRACKING_H__
+#define __IST30XX_TRACKING_H__
+
+
+#define IST30XX_RINGBUF_NO_ERR (0)
+#define IST30XX_RINGBUF_NOT_ENOUGH (1)
+#define IST30XX_RINGBUF_EMPTY (2)
+#define IST30XX_RINGBUF_FULL (3)
+#define IST30XX_RINGBUF_TIMEOUT (4)
+#define IST30XX_MAX_LOG_SIZE (4 * 100 * 1024) // 4bytes * 100Kbytes, Single touch: about 12minutes
+
+#define TRACK_PWR_OFF (0x0)
+#define TRACK_PWR_ON (0x1)
+#define TRACK_PWR_RESET (0x3)
+#define TRACK_INTR_ENABLE (0x4)
+#define TRACK_INTR_DISABLE (0x5)
+#define TRACK_CMD_RUN_DEVICE (0x10)
+#define TRACK_CMD_SCAN (0x11)
+#define TRACK_CMD_TACON (0x12)
+#define TRACK_CMD_TADISCON (0x13)
+#define TRACK_CMD_FWUPDATE (0x14)
+#define TRACK_CMD_PRUPDATE (0x15)
+#define TRACK_CMD_CALIB (0x16)
+#define TRACK_CMD_CHECK_CALIB (0x17)
+#define TRACK_CMD_CHKSUM (0x18)
+#define TRACK_CMD_CHKSUM_ALL (0x19)
+#define TRACK_CMD_ENTER_REG (0x1A)
+#define TRACK_CMD_EXIT_REG (0x1B)
+#define TRACK_POS_FINGER (0x20)
+#define TRACK_POS_KEY (0x30)
+#define TRACK_POS_UNKNOWN (0x3F)
+
+#define IST30XX_TRACKING_MAGIC (0x7750 << 16)
+
+
+typedef struct _IST30XX_RINGBUF {
+ u32 RingBufCtr; // Number of characters in the ring buffer
+ u32 RingBufInIdx;
+ u32 RingBufOutIdx;
+ u8 LogBuf[IST30XX_MAX_LOG_SIZE]; // Ring buffer for status
+} IST30XX_RING_BUF;
+
+
+void ist30xx_tracking_init(void);
+void ist30xx_tracking_deinit(void);
+
+int ist30xx_get_track(u32 *track, int cnt);
+int ist30xx_put_track(u32 *track, int cnt);
+int ist30xx_put_track_ms(u32 ms);
+
+u32 ist30xx_get_track_cnt(void);
+
+int ist30xx_tracking(u32 status);
+
+int ist30xx_init_tracking_sysfs(void);
+
+#endif // __IST30XX_TRACKING_H__