• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
3  *
4  * HDF is dual licensed: you can use it either under the terms of
5  * the GPL, or the BSD license, at your option.
6  * See the LICENSE file in the root of this repository for complete details.
7  */
8 
9 #ifndef TOUCH_GT911_H
10 #define TOUCH_GT911_H
11 
12 /* the macro defines of GT911 */
13 #define MAX_SUPPORT_POINT     5
14 #define ONE_BYTE_MASK         0xFF
15 #define ONE_BYTE_OFFSET       8
16 #define GT_EVENT_UP           0x80
17 #define GT_EVENT_INVALID      0
18 
19 #define GT_POINT_SIZE         8
20 #define GT_TRACK_ID           0
21 #define GT_X_LOW              1
22 #define GT_X_HIGH             2
23 #define GT_Y_LOW              3
24 #define GT_Y_HIGH             4
25 #define GT_ADDR_LEN           2
26 #define GT_BUF_STATE_ADDR     0x814E
27 #define GT_X_LOW_BYTE_BASE    0x814F
28 #define GT_FINGER_NUM_MASK    0x0F
29 #define GT_CLEAN_DATA_LEN     3
30 #define GT_REG_HIGH_POS       0
31 #define GT_REG_LOW_POS        1
32 #define GT_CLEAN_POS          2
33 #define GT_CLEAN_FLAG         0x0
34 /* Config info macro of GT911 */
35 #define GT_CFG_INFO_ADDR      0x8140
36 #define GT_CFG_INFO_LEN       10
37 #define GT_PROD_ID_1ST        0
38 #define GT_PROD_ID_2ND        1
39 #define GT_PROD_ID_3RD        2
40 #define GT_PROD_ID_4TH        3
41 #define GT_FW_VER_LOW         4
42 #define GT_FW_VER_HIGH        5
43 #define GT_SOLU_X_LOW         6
44 #define GT_SOLU_X_HIGH        7
45 #define GT_SOLU_Y_LOW         8
46 #define GT_SOLU_Y_HIGH        9
47 #define FIRMWARE_3RD          2
48 #define KEY_CODE_4TH          3
49 #if defined(CONFIG_ARCH_ROCKCHIP)
50 #define FIRMWARE_LEN          241
51 #define GTP_REG_CONFIG_DATA         0x8050
52 #else
53 #define FIRMWARE_LEN          188
54 #endif
55 #if defined(CONFIG_ARCH_ROCKCHIP)
56 uint8_t firmWareParm[FIRMWARE_LEN] = {
57     0x80,0x50,0x64,0xD0,0x02,0x00,0x05,0x05,0x05,0x00,0x01,0x00,  /* 0x8050 is reg, GTP_REG_CONFIG_DATA */
58 	0x00,0x0F,0x46,0x2D,0x53,0x11,0x00,0x00,0x50,0x11,
59 	0x14,0x14,0x14,0x20,0x0A,0x04,0x00,0x00,0x00,0x00,
60 	0x00,0x00,0x53,0x00,0x14,0x00,0x00,0x00,0x00,0x00,
61 	0x3C,0x00,0x14,0x64,0x1E,0x28,0x8C,0x0C,0x0E,0x37,
62 	0x39,0x09,0x06,0x20,0x37,0x20,0x12,0x03,0x24,0x00,
63 	0x00,0x19,0x6E,0x80,0x14,0x02,0x00,0x00,0x54,0xB2,
64 	0x27,0x84,0x35,0x6A,0x43,0x59,0x51,0x4E,0x5F,0x4E,
65 	0x00,0x00,0x00,0x10,0x28,0x48,0x00,0xF0,0x4A,0x3A,
66 	0xFF,0xF0,0x27,0x05,0x00,0x00,0x00,0x00,0x00,0x03,
67 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
68 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
69 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
70 	0x32,0x20,0x50,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,
71 	0x0D,0x06,0x0C,0x05,0x0B,0x04,0x0A,0x03,0x09,0x02,
72 	0x08,0x01,0x07,0x00,0x00,0x01,0x02,0x03,0x04,0x05,
73 	0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
74 	0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,
75 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
76 	0x00,0x00,0x00,0x00,0x3C,0x00,0x05,0x1E,0x00,0x02,
77 	0x2A,0x1E,0x19,0x14,0x02,0x00,0x03,0x0A,0x05,0x00,
78 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x04,
79 	0x22,0x03,0x00,0x00,0x33,0x00,0x0F,0x00,0x00,0x28,
80 	0x50,0x3C,0x50,0x00,0x00,0x05,0x5F,0xEB,0x01
81 };
82 #else
83 uint8_t firmWareParm[FIRMWARE_LEN] = {
84     0x80, 0x47, 0x45, 0xC0, 0x03, 0xE0, 0x01, 0x05, 0x3D, 0x00, 0x01, 0x08, 0x28, 0x0F,
85     0x50, 0x32, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1A, 0x1E,
86     0x14, 0x86, 0x26, 0x08, 0x55, 0x57, 0xB2, 0x04, 0x00, 0x00, 0x00, 0x42, 0x02, 0x11,
87     0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x78, 0x94,
88     0xD5, 0x02, 0x07, 0x00, 0x00, 0x04, 0x97, 0x40, 0x00, 0x8A, 0x4A, 0x00, 0x80, 0x55,
89     0x00, 0x77, 0x61, 0x00, 0x6F, 0x70, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
91     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92     0x00, 0x00, 0x10, 0x0E, 0x0C, 0x0A, 0x08, 0x06, 0x04, 0x02, 0xFF, 0xFF, 0xFF, 0xFF,
93     0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94     0x00, 0x00, 0x00, 0x00, 0x22, 0x21, 0x20, 0x1F, 0x1E, 0x1D, 0x00, 0x02, 0x04, 0x06,
95     0x08, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
96     0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
97     0x00, 0x00, 0x00, 0x00, 0x5C, 0x01
98 };
99 #endif
100 #endif