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