Merge branch 'lsk-v4.4-eas-v5.2' of git://git.linaro.org/arm/eas/kernel.git
[firefly-linux-kernel-4.4.55.git] / include / linux / kxtik.h
1 #define KXTIK_DEVID             0x05    //chip id\r
2 #define KXTIK_RANGE     2000000\r
3 \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
43 \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
48 #define FUZZ                    3\r
49 #define FLAT                    3\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
55 \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
64 \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
73 \r
74 /* kxtik */\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