65 lines
1.5 KiB
C
65 lines
1.5 KiB
C
#ifndef _RASPITS_FT5426_H_
|
|
#define _RASPITS_FT5426_H_
|
|
|
|
#define LOG_DBG(fmt,arg...) pr_debug("raspits-ft5426: %s: "fmt, __func__, ##arg);
|
|
#define LOG_INFO(fmt,arg...) pr_info("raspits-ft5426: %s: "fmt, __func__, ##arg);
|
|
#define LOG_ERR(fmt,arg...) pr_err("raspits-ft5426: %s: "fmt, __func__, ##arg);
|
|
|
|
#define XY_REVERSE 1
|
|
|
|
#define SCREEN_WIDTH 800
|
|
#define SCREEN_HEIGHT 480
|
|
|
|
#define FT_ONE_TCH_LEN 6
|
|
|
|
#define FT_REG_FW_VER 0xA6
|
|
#define FT_REG_FW_MIN_VER 0xB2
|
|
#define FT_REG_FW_SUB_MIN_VER 0xB3
|
|
|
|
#define VALID_TD_STATUS_VAL 10
|
|
#define MAX_TOUCH_POINTS 1
|
|
|
|
#define FT_PRESS 0x7F
|
|
#define FT_MAX_ID 0x0F
|
|
|
|
#define FT_TOUCH_X_H 0
|
|
#define FT_TOUCH_X_L 1
|
|
#define FT_TOUCH_Y_H 2
|
|
#define FT_TOUCH_Y_L 3
|
|
#define FT_TOUCH_EVENT 0
|
|
#define FT_TOUCH_ID 2
|
|
|
|
#define FT_TOUCH_X_H_REG 3
|
|
#define FT_TOUCH_X_L_REG 4
|
|
#define FT_TOUCH_Y_H_REG 5
|
|
#define FT_TOUCH_Y_L_REG 6
|
|
#define FT_TD_STATUS_REG 2
|
|
#define FT_TOUCH_EVENT_REG 3
|
|
#define FT_TOUCH_ID_REG 5
|
|
|
|
#define FT_TOUCH_DOWN 0
|
|
#define FT_TOUCH_CONTACT 2
|
|
|
|
struct ts_event {
|
|
u16 au16_x[MAX_TOUCH_POINTS]; /*x coordinate */
|
|
u16 au16_y[MAX_TOUCH_POINTS]; /*y coordinate */
|
|
u8 au8_touch_event[MAX_TOUCH_POINTS]; /*touch event: 0:down; 1:up; 2:contact */
|
|
u8 au8_finger_id[MAX_TOUCH_POINTS]; /*touch ID */
|
|
u16 pressure;
|
|
u8 touch_point;
|
|
u8 point_num;
|
|
};
|
|
|
|
struct raspits_ft5426_data {
|
|
struct device *dev;
|
|
struct i2c_client *client;
|
|
struct input_dev *input_dev;
|
|
struct ts_event event;
|
|
struct work_struct ft5426_work;
|
|
|
|
int known_ids;
|
|
};
|
|
|
|
#endif
|
|
|