/* * * FocalTech ft5x06 TouchScreen driver header file. * * Copyright (c) 2010 Focal tech Ltd. * Copyright (c) 2012-2015, 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 FT5X06_ID 0x55 #define FT5X16_ID 0x0A #define FT5X36_ID 0x14 #define FT6X06_ID 0x06 #define FT6X36_ID 0x36 struct fw_upgrade_info { bool auto_cal; u16 delay_aa; u16 delay_55; u8 upgrade_id_1; u8 upgrade_id_2; u16 delay_readid; u16 delay_erase_flash; }; struct ft5x06_gesture_platform_data { int gesture_enable_to_set; /* enable/disable gesture */ int in_pocket; /* whether in pocket mode or not */ struct device *dev; struct class *gesture_class; struct ft5x06_ts_data *data; }; struct ft5x06_ts_platform_data { struct fw_upgrade_info info; const char *name; const char *fw_name; u32 irqflags; u32 irq_gpio; u32 irq_gpio_flags; u32 reset_gpio; u32 reset_gpio_flags; u32 family_id; u32 x_max; u32 y_max; u32 x_min; u32 y_min; u32 panel_minx; u32 panel_miny; u32 panel_maxx; u32 panel_maxy; u32 group_id; u32 hard_rst_dly; u32 soft_rst_dly; u32 num_max_touches; bool fw_vkey_support; bool no_force_update; bool i2c_pull_up; bool ignore_id_check; bool gesture_support; bool resume_in_workqueue; int (*power_init)(bool); int (*power_on)(bool); }; #endif