0 Star 0 Fork 0

openFyde / ft5626-touchcreen-driver

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ft5x06.h 3.32 KB
一键复制 编辑 原始数据 按行查看 历史
fangzhou 提交于 2021-10-27 15:51 . Initial commit
/*
*
* FocalTech ft5x06 TouchScreen driver header file.
*
* Copyright (c) 2010 Focal tech Ltd.
* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __LINUX_FT5X06_TS_H__
#define __LINUX_FT5X06_TS_H__
#define FT_CHIP_ID 0xA3
#define FT_FW_VER_REG 0xA6
#define FT_FW_VENDOR_ID 0xA8
#define FT_REPORT_RATE 0x88
#define WORK_REGISTER_THRESHOLD 0x00
#define WORK_REGISTER_REPORT_RATE 0x08
#define WORK_REGISTER_GAIN 0x30
#define WORK_REGISTER_OFFSET 0x31
#define WORK_REGISTER_NUM_X 0x33
#define WORK_REGISTER_NUM_Y 0x34
#define M09_REGISTER_THRESHOLD 0x80
#define M09_REGISTER_GAIN 0x92
#define M09_REGISTER_OFFSET 0x93
#define M09_REGISTER_NUM_X 0x94
#define M09_REGISTER_NUM_Y 0x95
#define NO_REGISTER 0xff
#define WORK_REGISTER_OPMODE 0x3c
#define FACTORY_REGISTER_OPMODE 0x01
#define TOUCH_EVENT_DOWN 0x00
#define TOUCH_EVENT_UP 0x01
#define TOUCH_EVENT_ON 0x02
#define TOUCH_EVENT_RESERVED 0x03
#define EDT_NAME_LEN 23
#define EDT_SWITCH_MODE_RETRIES 10
#define EDT_SWITCH_MODE_DELAY 5 /* msec */
#define EDT_RAW_DATA_RETRIES 100
#define EDT_RAW_DATA_DELAY 1 /* msec */
enum edt_ver {
M06,
M09,
};
struct edt_reg_addr {
int reg_threshold;
int reg_report_rate;
int reg_gain;
int reg_offset;
int reg_num_x;
int reg_num_y;
};
struct edt_ft5x06_ts_data {
struct i2c_client *client;
struct input_dev *input;
struct touchscreen_properties prop;
u16 num_x;
u16 num_y;
struct gpio_desc *reset_gpio;
struct gpio_desc *wake_gpio;
struct gpio_desc *irq_gpio;
#if defined(CONFIG_DEBUG_FS)
struct dentry *debug_dir;
u8 *raw_buffer;
size_t raw_bufsize;
#endif
struct mutex mutex;
bool factory_mode;
int threshold;
int gain;
int offset;
int report_rate;
int max_support_points;
char name[EDT_NAME_LEN];
struct edt_reg_addr reg_addr;
enum edt_ver version;
u16 vendor;
u16 product;
u16 fw_ver;
};
struct edt_i2c_chip_data {
int max_support_points;
int intr_gpio;
int rst_gpio;
int abs_x_max;
int abs_y_max;
};
#define FTXXXX_RESET_PIN_NAME "ftxxxx-rst"
#define FTXXXX_INT_PIN_NAME "ftxxxx-int"
#define PRESS_MAX 0xFF
#define FTS_PACKET_LENGTH 128
#define FT_UPGRADE_AA 0xAA
#define FT_UPGRADE_55 0x55
#define FT_APP_INFO_ADDR 0xd7f8
#define FTS_UPGRADE_LOOP 5
#define FT_5626_DELAY_AA 2
#define FT_5626_DELAY_55 2
#define FT_5626_UPDATE_ID_1 0x58
#define FT_5626_UPDATE_ID_2 0x2c
#define FT_5626_DELAY_READ_ID 20
#define FT_5626_DELAY_UPGRADE_EARSE 2000
extern int edt_ft5x06_ts_readwrite(struct i2c_client *client,
u16 wr_len, u8 *wr_buf,
u16 rd_len, u8 *rd_buf);
extern int edt_ft5x06_register_write(struct edt_ft5x06_ts_data *tsdata,
u8 addr, u8 value);
extern int edt_ft5x06_register_read(struct edt_ft5x06_ts_data *tsdata,
u8 addr);
extern int auto_update_ft5626(struct edt_ft5x06_ts_data *tsdata);
extern int update_ft5626_fw(struct edt_ft5x06_ts_data *tsdata);
#endif
1
https://gitee.com/openFyde/ft5626-touchcreen-driver.git
git@gitee.com:openFyde/ft5626-touchcreen-driver.git
openFyde
ft5626-touchcreen-driver
ft5626-touchcreen-driver
master

搜索帮助