1 #define KXTIK_DEVID 0x05 //chip id
\r
2 #define KXTIK_RANGE 2000000
\r
4 #define KXTIK_XOUT_HPF_L (0x00) /* 0000 0000 */
\r
5 #define KXTIK_XOUT_HPF_H (0x01) /* 0000 0001 */
\r
6 #define KXTIK_YOUT_HPF_L (0x02) /* 0000 0010 */
\r
7 #define KXTIK_YOUT_HPF_H (0x03) /* 0000 0011 */
\r
8 #define KXTIK_ZOUT_HPF_L (0x04) /* 0001 0100 */
\r
9 #define KXTIK_ZOUT_HPF_H (0x05) /* 0001 0101 */
\r
10 #define KXTIK_XOUT_L (0x06) /* 0000 0110 */
\r
11 #define KXTIK_XOUT_H (0x07) /* 0000 0111 */
\r
12 #define KXTIK_YOUT_L (0x08) /* 0000 1000 */
\r
13 #define KXTIK_YOUT_H (0x09) /* 0000 1001 */
\r
14 #define KXTIK_ZOUT_L (0x0A) /* 0001 1010 */
\r
15 #define KXTIK_ZOUT_H (0x0B) /* 0001 1011 */
\r
16 #define KXTIK_ST_RESP (0x0C) /* 0000 1100 */
\r
17 #define KXTIK_WHO_AM_I (0x0F) /* 0000 1111 */
\r
18 #define KXTIK_TILT_POS_CUR (0x10) /* 0001 0000 */
\r
19 #define KXTIK_TILT_POS_PRE (0x11) /* 0001 0001 */
\r
20 #define KXTIK_INT_SRC_REG1 (0x15) /* 0001 0101 */
\r
21 #define KXTIK_INT_SRC_REG2 (0x16) /* 0001 0110 */
\r
22 #define KXTIK_STATUS_REG (0x18) /* 0001 1000 */
\r
23 #define KXTIK_INT_REL (0x1A) /* 0001 1010 */
\r
24 #define KXTIK_CTRL_REG1 (0x1B) /* 0001 1011 */
\r
25 #define KXTIK_CTRL_REG2 (0x1C) /* 0001 1100 */
\r
26 #define KXTIK_CTRL_REG3 (0x1D) /* 0001 1101 */
\r
27 #define KXTIK_INT_CTRL_REG1 (0x1E) /* 0001 1110 */
\r
28 #define KXTIK_INT_CTRL_REG2 (0x1F) /* 0001 1111 */
\r
29 #define KXTIK_INT_CTRL_REG3 (0x20) /* 0010 0000 */
\r
30 #define KXTIK_DATA_CTRL_REG (0x21) /* 0010 0001 */
\r
31 #define KXTIK_TILT_TIMER (0x28) /* 0010 1000 */
\r
32 #define KXTIK_WUF_TIMER (0x29) /* 0010 1001 */
\r
33 #define KXTIK_TDT_TIMER (0x2B) /* 0010 1011 */
\r
34 #define KXTIK_TDT_H_THRESH (0x2C) /* 0010 1100 */
\r
35 #define KXTIK_TDT_L_THRESH (0x2D) /* 0010 1101 */
\r
36 #define KXTIK_TDT_TAP_TIMER (0x2E) /* 0010 1110 */
\r
37 #define KXTIK_TDT_TOTAL_TIMER (0x2F) /* 0010 1111 */
\r
38 #define KXTIK_TDT_LATENCY_TIMER (0x30) /* 0011 0000 */
\r
39 #define KXTIK_TDT_WINDOW_TIMER (0x31) /* 0011 0001 */
\r
40 #define KXTIK_WUF_THRESH (0x5A) /* 0101 1010 */
\r
41 #define KXTIK_TILT_ANGLE (0x5C) /* 0101 1100 */
\r
42 #define KXTIK_HYST_SET (0x5F) /* 0101 1111 */
\r
44 /* CONTROL REGISTER 1 BITS */
\r
45 #define KXTIK_DISABLE 0x7F
\r
46 #define KXTIK_ENABLE (1 << 7)
\r
47 /* INPUT_ABS CONSTANTS */
\r
50 /* RESUME STATE INDICES */
\r
51 #define RES_DATA_CTRL 0
\r
52 #define RES_CTRL_REG1 1
\r
53 #define RES_INT_CTRL1 2
\r
54 #define RESUME_ENTRIES 3
\r
56 /* CTRL_REG1: set resolution, g-range, data ready enable */
\r
57 /* Output resolution: 8-bit valid or 12-bit valid */
\r
58 #define KXTIK_RES_8BIT 0
\r
59 #define KXTIK_RES_12BIT (1 << 6)
\r
60 /* Output g-range: +/-2g, 4g, or 8g */
\r
61 #define KXTIK_G_2G 0
\r
62 #define KXTIK_G_4G (1 << 3)
\r
63 #define KXTIK_G_8G (1 << 4)
\r
65 /* DATA_CTRL_REG: controls the output data rate of the part */
\r
66 #define KXTIK_ODR12_5F 0
\r
67 #define KXTIK_ODR25F 1
\r
68 #define KXTIK_ODR50F 2
\r
69 #define KXTIK_ODR100F 3
\r
70 #define KXTIK_ODR200F 4
\r
71 #define KXTIK_ODR400F 5
\r
72 #define KXTIK_ODR800F 6
\r
75 #define KXTIK_PRECISION 12
\r
76 #define KXTIK_BOUNDARY (0x1 << (KXTIK_PRECISION - 1))
\r
77 #define KXTIK_GRAVITY_STEP KXTIK_RANGE / KXTIK_BOUNDARY
\r