Loading drivers/input/touchscreen/focaltech_touch/Kconfig 0 → 100644 +14 −0 Original line number Diff line number Diff line # # Focaltech Touchscreen driver configuration # config TOUCHSCREEN_FTS bool "Focaltech Touchscreen" help Say Y here if you have Focaltech touch panel. If unsure, say N. config TOUCHSCREEN_FTS_DIRECTORY string "Focaltech ts directory name" default "focaltech_touch" depends on TOUCHSCREEN_FTS drivers/input/touchscreen/focaltech_touch/Makefile 0 → 100644 +13 −0 Original line number Diff line number Diff line # Makefile for the focaltech touchscreen drivers. obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_core.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_ex_fun.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_ex_mode.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_gesture.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_esdcheck.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_point_report_check.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_i2c.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_flash.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_flash/ drivers/input/touchscreen/focaltech_touch/focaltech_common.h 0 → 100644 +167 −0 Original line number Diff line number Diff line /* * * FocalTech fts TouchScreen driver. * * Copyright (c) 2012-2019, Focaltech Ltd. 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. * */ /***************************************************************************** * * File Name: focaltech_common.h * * Author: Focaltech Driver Team * * Created: 2016-08-16 * * Abstract: * * Reference: * *****************************************************************************/ #ifndef __LINUX_FOCALTECH_COMMON_H__ #define __LINUX_FOCALTECH_COMMON_H__ #include "focaltech_config.h" /***************************************************************************** * Macro definitions using #define *****************************************************************************/ #define FTS_DRIVER_VERSION "Focaltech V3.1 20190807" #define BYTE_OFF_0(x) (u8)((x) & 0xFF) #define BYTE_OFF_8(x) (u8)(((x) >> 8) & 0xFF) #define BYTE_OFF_16(x) (u8)(((x) >> 16) & 0xFF) #define BYTE_OFF_24(x) (u8)(((x) >> 24) & 0xFF) #define FLAGBIT(x) (0x00000001 << (x)) #define FLAGBITS(x, y) ((0xFFFFFFFF >> (32 - (y) - 1)) & (0xFFFFFFFF << (x))) #define FLAG_ICSERIALS_LEN 8 #define FLAG_HID_BIT 10 #define FLAG_IDC_BIT 11 #define IC_SERIALS (FTS_CHIP_TYPE & FLAGBITS(0, FLAG_ICSERIALS_LEN-1)) #define IC_TO_SERIALS(x) ((x) & FLAGBITS(0, FLAG_ICSERIALS_LEN-1)) #define FTS_CHIP_IDC ((FTS_CHIP_TYPE & FLAGBIT(FLAG_IDC_BIT)) == FLAGBIT(FLAG_IDC_BIT)) #define FTS_HID_SUPPORTTED ((FTS_CHIP_TYPE & FLAGBIT(FLAG_HID_BIT)) == FLAGBIT(FLAG_HID_BIT)) #define FTS_CHIP_TYPE_MAPPING {{0x81, 0x54, 0x52, 0x54, 0x52, 0x00, 0x00, 0x54, 0x5C}} #define FILE_NAME_LENGTH 128 #define ENABLE 1 #define DISABLE 0 #define VALID 1 #define INVALID 0 #define FTS_CMD_START1 0x55 #define FTS_CMD_START2 0xAA #define FTS_CMD_START_DELAY 12 #define FTS_CMD_READ_ID 0x90 #define FTS_CMD_READ_ID_LEN 4 #define FTS_CMD_READ_ID_LEN_INCELL 1 /*register address*/ #define FTS_REG_INT_CNT 0x8F #define FTS_REG_FLOW_WORK_CNT 0x91 #define FTS_REG_WORKMODE 0x00 #define FTS_REG_WORKMODE_FACTORY_VALUE 0x40 #define FTS_REG_WORKMODE_WORK_VALUE 0x00 #define FTS_REG_ESDCHECK_DISABLE 0x8D #define FTS_REG_CHIP_ID 0xA3 #define FTS_REG_CHIP_ID2 0x9F #define FTS_REG_POWER_MODE 0xA5 #define FTS_REG_POWER_MODE_SLEEP 0x03 #define FTS_REG_FW_VER 0xA6 #define FTS_REG_VENDOR_ID 0xA8 #define FTS_REG_LCD_BUSY_NUM 0xAB #define FTS_REG_FACE_DEC_MODE_EN 0xB0 #define FTS_REG_FACTORY_MODE_DETACH_FLAG 0xB4 #define FTS_REG_FACE_DEC_MODE_STATUS 0x01 #define FTS_REG_IDE_PARA_VER_ID 0xB5 #define FTS_REG_IDE_PARA_STATUS 0xB6 #define FTS_REG_GLOVE_MODE_EN 0xC0 #define FTS_REG_COVER_MODE_EN 0xC1 #define FTS_REG_CHARGER_MODE_EN 0x8B #define FTS_REG_GESTURE_EN 0xD0 #define FTS_REG_GESTURE_OUTPUT_ADDRESS 0xD3 #define FTS_REG_MODULE_ID 0xE3 #define FTS_REG_LIC_VER 0xE4 #define FTS_REG_ESD_SATURATE 0xED #define FTS_SYSFS_ECHO_ON(buf) (buf[0] == '1') #define FTS_SYSFS_ECHO_OFF(buf) (buf[0] == '0') #define kfree_safe(pbuf) do {\ if (pbuf) {\ kfree(pbuf);\ pbuf = NULL;\ }\ } while(0) /***************************************************************************** * Alternative mode (When something goes wrong, * the modules may be able to solve the problem.) *****************************************************************************/ /* * point report check * default: disable */ #define FTS_POINT_REPORT_CHECK_EN 0 /***************************************************************************** * Global variable or extern global variabls/functions *****************************************************************************/ struct ft_chip_t { u64 type; u8 chip_idh; u8 chip_idl; u8 rom_idh; u8 rom_idl; u8 pb_idh; u8 pb_idl; u8 bl_idh; u8 bl_idl; }; struct ts_ic_info { bool is_incell; bool hid_supported; struct ft_chip_t ids; }; /***************************************************************************** * DEBUG function define here *****************************************************************************/ #if FTS_DEBUG_EN #define FTS_DEBUG(fmt, args...) do { \ printk("[FTS_TS]%s:"fmt"\n", __func__, ##args); \ } while (0) #define FTS_FUNC_ENTER() do { \ printk("[FTS_TS]%s: Enter\n", __func__); \ } while (0) #define FTS_FUNC_EXIT() do { \ printk("[FTS_TS]%s: Exit(%d)\n", __func__, __LINE__); \ } while (0) #else /* #if FTS_DEBUG_EN*/ #define FTS_DEBUG(fmt, args...) #define FTS_FUNC_ENTER() #define FTS_FUNC_EXIT() #endif #define FTS_INFO(fmt, args...) do { \ printk(KERN_INFO "[FTS_TS/I]%s:"fmt"\n", __func__, ##args); \ } while (0) #define FTS_ERROR(fmt, args...) do { \ printk(KERN_ERR "[FTS_TS/E]%s:"fmt"\n", __func__, ##args); \ } while (0) #endif /* __LINUX_FOCALTECH_COMMON_H__ */ drivers/input/touchscreen/focaltech_touch/focaltech_config.h 0 → 100644 +242 −0 Original line number Diff line number Diff line /* * * FocalTech TouchScreen driver. * * Copyright (c) 2012-2019, FocalTech Systems, Ltd., 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. * */ /************************************************************************ * * File Name: focaltech_config.h * * Author: Focaltech Driver Team * * Created: 2016-08-08 * * Abstract: global configurations * * Version: v1.0 * ************************************************************************/ #ifndef _LINUX_FOCLATECH_CONFIG_H_ #define _LINUX_FOCLATECH_CONFIG_H_ /**************************************************/ /****** G: A, I: B, S: C, U: D ******************/ /****** chip type defines, do not modify *********/ #define _FT8716 0x87160805 #define _FT8736 0x87360806 #define _FT8006M 0x80060807 #define _FT8607 0x86070809 #define _FT8006U 0x8006D80B #define _FT8006S 0x8006A80B #define _FT8613 0x8613080C #define _FT8719 0x8719080D #define _FT8739 0x8739080E #define _FT8615 0x8615080F #define _FT8201 0x82010810 #define _FT8006P 0x86220811 #define _FT7251 0x72510812 #define _FT7252 0x72520813 #define _FT8613S 0x8613C814 #define _FT8756 0x87560815 #define _FT8302 0x83020816 #define _FT8009 0x80090817 #define _FT8656 0x86560818 #define _FT8006S_AA 0x86320819 #define _FT7250 0x7250081A #define _FT5416 0x54160402 #define _FT5426 0x54260402 #define _FT5435 0x54350402 #define _FT5436 0x54360402 #define _FT5526 0x55260402 #define _FT5526I 0x5526B402 #define _FT5446 0x54460402 #define _FT5346 0x53460402 #define _FT5446I 0x5446B402 #define _FT5346I 0x5346B402 #define _FT7661 0x76610402 #define _FT7511 0x75110402 #define _FT7421 0x74210402 #define _FT7681 0x76810402 #define _FT3C47U 0x3C47D402 #define _FT3417 0x34170402 #define _FT3517 0x35170402 #define _FT3327 0x33270402 #define _FT3427 0x34270402 #define _FT7311 0x73110402 #define _FT5626 0x56260401 #define _FT5726 0x57260401 #define _FT5826B 0x5826B401 #define _FT5826S 0x5826C401 #define _FT7811 0x78110401 #define _FT3D47 0x3D470401 #define _FT3617 0x36170401 #define _FT3717 0x37170401 #define _FT3817B 0x3817B401 #define _FT3517U 0x3517D401 #define _FT6236U 0x6236D003 #define _FT6336G 0x6336A003 #define _FT6336U 0x6336D003 #define _FT6436U 0x6436D003 #define _FT3267 0x32670004 #define _FT3367 0x33670004 #define _FT3327DQQ_XXX 0x3327D482 #define _FT5446DQS_XXX 0x5446D482 #define _FT3518 0x35180481 #define _FT3558 0x35580481 #define _FT3528 0x35280481 #define _FT5536 0x55360481 #define _FT5446U 0x5446D083 #define _FT5456U 0x5456D083 #define _FT3417U 0x3417D083 #define _FT5426U 0x5426D083 #define _FT3428 0x34280083 #define _FT3437U 0x3437D083 #define _FT7302 0x73020084 #define _FT7202 0x72020084 #define _FT3308 0x33080084 #define _FT6346U 0x6346D085 #define _FT6346G 0x6346A085 #define _FT3067 0x30670085 #define _FT3068 0x30680085 #define _FT3168 0x31680085 #define _FT3268 0x32680085 /*************************************************/ /* * choose your ic chip type of focaltech */ #define FTS_CHIP_TYPE _FT3518 /******************* Enables *********************/ /*********** 1 to enable, 0 to disable ***********/ /* * show debug log info * enable it for debug, disable it for release */ #define FTS_DEBUG_EN 0 /* * Linux MultiTouch Protocol * 1: Protocol B(default), 0: Protocol A */ #define FTS_MT_PROTOCOL_B_EN 1 /* * Report Pressure in multitouch * 1:enable(default),0:disable */ #define FTS_REPORT_PRESSURE_EN 1 /* * Gesture function enable * default: disable */ #define FTS_GESTURE_EN 0 /* * ESD check & protection * default: disable */ #define FTS_ESDCHECK_EN 0 /* * Pinctrl enable * default: disable */ #define FTS_PINCTRL_EN 1 /* * Customer power enable * enable it when customer need control TP power * default: disable */ #define FTS_POWER_SOURCE_CUST_EN 1 /****************************************************/ /********************** Upgrade ****************************/ /* * auto upgrade */ #define FTS_AUTO_UPGRADE_EN 1 /* * auto upgrade for lcd cfg */ #define FTS_AUTO_LIC_UPGRADE_EN 0 /* * Numbers of modules support */ #define FTS_GET_MODULE_NUM 0 /* * module_id: mean vendor_id generally, also maybe gpio or lcm_id... * If means vendor_id, the FTS_MODULE_ID = PANEL_ID << 8 + VENDOR_ID * FTS_GET_MODULE_NUM == 0/1, no check module id, you may ignore them * FTS_GET_MODULE_NUM >= 2, compatible with FTS_MODULE2_ID * FTS_GET_MODULE_NUM >= 3, compatible with FTS_MODULE3_ID */ #define FTS_MODULE_ID 0x0000 #define FTS_MODULE2_ID 0x0000 #define FTS_MODULE3_ID 0x0000 /* * Need set the following when get firmware via firmware_request() * For example: if module'vendor is tianma, * #define FTS_MODULE_NAME "tianma" * then file_name will be "focaltech_ts_fw_tianma" * You should rename fw to "focaltech_ts_fw_tianma", and push it into * etc/firmware or by customers */ #define FTS_MODULE_NAME "gvo" #define FTS_MODULE2_NAME "" #define FTS_MODULE3_NAME "" /* * FW.i file for auto upgrade, you must replace it with your own * define your own fw_file, the sample one to be replaced is invalid * NOTE: if FTS_GET_MODULE_NUM > 1, it's the fw corresponding with FTS_VENDOR_ID */ #define FTS_UPGRADE_FW_FILE "include/firmware/fw_sample.i" /* * if FTS_GET_MODULE_NUM >= 2, fw corrsponding with FTS_VENDOR_ID2 * define your own fw_file, the sample one is invalid */ #define FTS_UPGRADE_FW2_FILE "include/firmware/fw_sample.i" /* * if FTS_GET_MODULE_NUM >= 3, fw corrsponding with FTS_VENDOR_ID3 * define your own fw_file, the sample one is invalid */ #define FTS_UPGRADE_FW3_FILE "include/firmware/fw_sample.i" /*********************************************************/ #endif /* _LINUX_FOCLATECH_CONFIG_H_ */ Loading
drivers/input/touchscreen/focaltech_touch/Kconfig 0 → 100644 +14 −0 Original line number Diff line number Diff line # # Focaltech Touchscreen driver configuration # config TOUCHSCREEN_FTS bool "Focaltech Touchscreen" help Say Y here if you have Focaltech touch panel. If unsure, say N. config TOUCHSCREEN_FTS_DIRECTORY string "Focaltech ts directory name" default "focaltech_touch" depends on TOUCHSCREEN_FTS
drivers/input/touchscreen/focaltech_touch/Makefile 0 → 100644 +13 −0 Original line number Diff line number Diff line # Makefile for the focaltech touchscreen drivers. obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_core.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_ex_fun.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_ex_mode.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_gesture.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_esdcheck.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_point_report_check.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_i2c.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_flash.o obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_flash/
drivers/input/touchscreen/focaltech_touch/focaltech_common.h 0 → 100644 +167 −0 Original line number Diff line number Diff line /* * * FocalTech fts TouchScreen driver. * * Copyright (c) 2012-2019, Focaltech Ltd. 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. * */ /***************************************************************************** * * File Name: focaltech_common.h * * Author: Focaltech Driver Team * * Created: 2016-08-16 * * Abstract: * * Reference: * *****************************************************************************/ #ifndef __LINUX_FOCALTECH_COMMON_H__ #define __LINUX_FOCALTECH_COMMON_H__ #include "focaltech_config.h" /***************************************************************************** * Macro definitions using #define *****************************************************************************/ #define FTS_DRIVER_VERSION "Focaltech V3.1 20190807" #define BYTE_OFF_0(x) (u8)((x) & 0xFF) #define BYTE_OFF_8(x) (u8)(((x) >> 8) & 0xFF) #define BYTE_OFF_16(x) (u8)(((x) >> 16) & 0xFF) #define BYTE_OFF_24(x) (u8)(((x) >> 24) & 0xFF) #define FLAGBIT(x) (0x00000001 << (x)) #define FLAGBITS(x, y) ((0xFFFFFFFF >> (32 - (y) - 1)) & (0xFFFFFFFF << (x))) #define FLAG_ICSERIALS_LEN 8 #define FLAG_HID_BIT 10 #define FLAG_IDC_BIT 11 #define IC_SERIALS (FTS_CHIP_TYPE & FLAGBITS(0, FLAG_ICSERIALS_LEN-1)) #define IC_TO_SERIALS(x) ((x) & FLAGBITS(0, FLAG_ICSERIALS_LEN-1)) #define FTS_CHIP_IDC ((FTS_CHIP_TYPE & FLAGBIT(FLAG_IDC_BIT)) == FLAGBIT(FLAG_IDC_BIT)) #define FTS_HID_SUPPORTTED ((FTS_CHIP_TYPE & FLAGBIT(FLAG_HID_BIT)) == FLAGBIT(FLAG_HID_BIT)) #define FTS_CHIP_TYPE_MAPPING {{0x81, 0x54, 0x52, 0x54, 0x52, 0x00, 0x00, 0x54, 0x5C}} #define FILE_NAME_LENGTH 128 #define ENABLE 1 #define DISABLE 0 #define VALID 1 #define INVALID 0 #define FTS_CMD_START1 0x55 #define FTS_CMD_START2 0xAA #define FTS_CMD_START_DELAY 12 #define FTS_CMD_READ_ID 0x90 #define FTS_CMD_READ_ID_LEN 4 #define FTS_CMD_READ_ID_LEN_INCELL 1 /*register address*/ #define FTS_REG_INT_CNT 0x8F #define FTS_REG_FLOW_WORK_CNT 0x91 #define FTS_REG_WORKMODE 0x00 #define FTS_REG_WORKMODE_FACTORY_VALUE 0x40 #define FTS_REG_WORKMODE_WORK_VALUE 0x00 #define FTS_REG_ESDCHECK_DISABLE 0x8D #define FTS_REG_CHIP_ID 0xA3 #define FTS_REG_CHIP_ID2 0x9F #define FTS_REG_POWER_MODE 0xA5 #define FTS_REG_POWER_MODE_SLEEP 0x03 #define FTS_REG_FW_VER 0xA6 #define FTS_REG_VENDOR_ID 0xA8 #define FTS_REG_LCD_BUSY_NUM 0xAB #define FTS_REG_FACE_DEC_MODE_EN 0xB0 #define FTS_REG_FACTORY_MODE_DETACH_FLAG 0xB4 #define FTS_REG_FACE_DEC_MODE_STATUS 0x01 #define FTS_REG_IDE_PARA_VER_ID 0xB5 #define FTS_REG_IDE_PARA_STATUS 0xB6 #define FTS_REG_GLOVE_MODE_EN 0xC0 #define FTS_REG_COVER_MODE_EN 0xC1 #define FTS_REG_CHARGER_MODE_EN 0x8B #define FTS_REG_GESTURE_EN 0xD0 #define FTS_REG_GESTURE_OUTPUT_ADDRESS 0xD3 #define FTS_REG_MODULE_ID 0xE3 #define FTS_REG_LIC_VER 0xE4 #define FTS_REG_ESD_SATURATE 0xED #define FTS_SYSFS_ECHO_ON(buf) (buf[0] == '1') #define FTS_SYSFS_ECHO_OFF(buf) (buf[0] == '0') #define kfree_safe(pbuf) do {\ if (pbuf) {\ kfree(pbuf);\ pbuf = NULL;\ }\ } while(0) /***************************************************************************** * Alternative mode (When something goes wrong, * the modules may be able to solve the problem.) *****************************************************************************/ /* * point report check * default: disable */ #define FTS_POINT_REPORT_CHECK_EN 0 /***************************************************************************** * Global variable or extern global variabls/functions *****************************************************************************/ struct ft_chip_t { u64 type; u8 chip_idh; u8 chip_idl; u8 rom_idh; u8 rom_idl; u8 pb_idh; u8 pb_idl; u8 bl_idh; u8 bl_idl; }; struct ts_ic_info { bool is_incell; bool hid_supported; struct ft_chip_t ids; }; /***************************************************************************** * DEBUG function define here *****************************************************************************/ #if FTS_DEBUG_EN #define FTS_DEBUG(fmt, args...) do { \ printk("[FTS_TS]%s:"fmt"\n", __func__, ##args); \ } while (0) #define FTS_FUNC_ENTER() do { \ printk("[FTS_TS]%s: Enter\n", __func__); \ } while (0) #define FTS_FUNC_EXIT() do { \ printk("[FTS_TS]%s: Exit(%d)\n", __func__, __LINE__); \ } while (0) #else /* #if FTS_DEBUG_EN*/ #define FTS_DEBUG(fmt, args...) #define FTS_FUNC_ENTER() #define FTS_FUNC_EXIT() #endif #define FTS_INFO(fmt, args...) do { \ printk(KERN_INFO "[FTS_TS/I]%s:"fmt"\n", __func__, ##args); \ } while (0) #define FTS_ERROR(fmt, args...) do { \ printk(KERN_ERR "[FTS_TS/E]%s:"fmt"\n", __func__, ##args); \ } while (0) #endif /* __LINUX_FOCALTECH_COMMON_H__ */
drivers/input/touchscreen/focaltech_touch/focaltech_config.h 0 → 100644 +242 −0 Original line number Diff line number Diff line /* * * FocalTech TouchScreen driver. * * Copyright (c) 2012-2019, FocalTech Systems, Ltd., 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. * */ /************************************************************************ * * File Name: focaltech_config.h * * Author: Focaltech Driver Team * * Created: 2016-08-08 * * Abstract: global configurations * * Version: v1.0 * ************************************************************************/ #ifndef _LINUX_FOCLATECH_CONFIG_H_ #define _LINUX_FOCLATECH_CONFIG_H_ /**************************************************/ /****** G: A, I: B, S: C, U: D ******************/ /****** chip type defines, do not modify *********/ #define _FT8716 0x87160805 #define _FT8736 0x87360806 #define _FT8006M 0x80060807 #define _FT8607 0x86070809 #define _FT8006U 0x8006D80B #define _FT8006S 0x8006A80B #define _FT8613 0x8613080C #define _FT8719 0x8719080D #define _FT8739 0x8739080E #define _FT8615 0x8615080F #define _FT8201 0x82010810 #define _FT8006P 0x86220811 #define _FT7251 0x72510812 #define _FT7252 0x72520813 #define _FT8613S 0x8613C814 #define _FT8756 0x87560815 #define _FT8302 0x83020816 #define _FT8009 0x80090817 #define _FT8656 0x86560818 #define _FT8006S_AA 0x86320819 #define _FT7250 0x7250081A #define _FT5416 0x54160402 #define _FT5426 0x54260402 #define _FT5435 0x54350402 #define _FT5436 0x54360402 #define _FT5526 0x55260402 #define _FT5526I 0x5526B402 #define _FT5446 0x54460402 #define _FT5346 0x53460402 #define _FT5446I 0x5446B402 #define _FT5346I 0x5346B402 #define _FT7661 0x76610402 #define _FT7511 0x75110402 #define _FT7421 0x74210402 #define _FT7681 0x76810402 #define _FT3C47U 0x3C47D402 #define _FT3417 0x34170402 #define _FT3517 0x35170402 #define _FT3327 0x33270402 #define _FT3427 0x34270402 #define _FT7311 0x73110402 #define _FT5626 0x56260401 #define _FT5726 0x57260401 #define _FT5826B 0x5826B401 #define _FT5826S 0x5826C401 #define _FT7811 0x78110401 #define _FT3D47 0x3D470401 #define _FT3617 0x36170401 #define _FT3717 0x37170401 #define _FT3817B 0x3817B401 #define _FT3517U 0x3517D401 #define _FT6236U 0x6236D003 #define _FT6336G 0x6336A003 #define _FT6336U 0x6336D003 #define _FT6436U 0x6436D003 #define _FT3267 0x32670004 #define _FT3367 0x33670004 #define _FT3327DQQ_XXX 0x3327D482 #define _FT5446DQS_XXX 0x5446D482 #define _FT3518 0x35180481 #define _FT3558 0x35580481 #define _FT3528 0x35280481 #define _FT5536 0x55360481 #define _FT5446U 0x5446D083 #define _FT5456U 0x5456D083 #define _FT3417U 0x3417D083 #define _FT5426U 0x5426D083 #define _FT3428 0x34280083 #define _FT3437U 0x3437D083 #define _FT7302 0x73020084 #define _FT7202 0x72020084 #define _FT3308 0x33080084 #define _FT6346U 0x6346D085 #define _FT6346G 0x6346A085 #define _FT3067 0x30670085 #define _FT3068 0x30680085 #define _FT3168 0x31680085 #define _FT3268 0x32680085 /*************************************************/ /* * choose your ic chip type of focaltech */ #define FTS_CHIP_TYPE _FT3518 /******************* Enables *********************/ /*********** 1 to enable, 0 to disable ***********/ /* * show debug log info * enable it for debug, disable it for release */ #define FTS_DEBUG_EN 0 /* * Linux MultiTouch Protocol * 1: Protocol B(default), 0: Protocol A */ #define FTS_MT_PROTOCOL_B_EN 1 /* * Report Pressure in multitouch * 1:enable(default),0:disable */ #define FTS_REPORT_PRESSURE_EN 1 /* * Gesture function enable * default: disable */ #define FTS_GESTURE_EN 0 /* * ESD check & protection * default: disable */ #define FTS_ESDCHECK_EN 0 /* * Pinctrl enable * default: disable */ #define FTS_PINCTRL_EN 1 /* * Customer power enable * enable it when customer need control TP power * default: disable */ #define FTS_POWER_SOURCE_CUST_EN 1 /****************************************************/ /********************** Upgrade ****************************/ /* * auto upgrade */ #define FTS_AUTO_UPGRADE_EN 1 /* * auto upgrade for lcd cfg */ #define FTS_AUTO_LIC_UPGRADE_EN 0 /* * Numbers of modules support */ #define FTS_GET_MODULE_NUM 0 /* * module_id: mean vendor_id generally, also maybe gpio or lcm_id... * If means vendor_id, the FTS_MODULE_ID = PANEL_ID << 8 + VENDOR_ID * FTS_GET_MODULE_NUM == 0/1, no check module id, you may ignore them * FTS_GET_MODULE_NUM >= 2, compatible with FTS_MODULE2_ID * FTS_GET_MODULE_NUM >= 3, compatible with FTS_MODULE3_ID */ #define FTS_MODULE_ID 0x0000 #define FTS_MODULE2_ID 0x0000 #define FTS_MODULE3_ID 0x0000 /* * Need set the following when get firmware via firmware_request() * For example: if module'vendor is tianma, * #define FTS_MODULE_NAME "tianma" * then file_name will be "focaltech_ts_fw_tianma" * You should rename fw to "focaltech_ts_fw_tianma", and push it into * etc/firmware or by customers */ #define FTS_MODULE_NAME "gvo" #define FTS_MODULE2_NAME "" #define FTS_MODULE3_NAME "" /* * FW.i file for auto upgrade, you must replace it with your own * define your own fw_file, the sample one to be replaced is invalid * NOTE: if FTS_GET_MODULE_NUM > 1, it's the fw corresponding with FTS_VENDOR_ID */ #define FTS_UPGRADE_FW_FILE "include/firmware/fw_sample.i" /* * if FTS_GET_MODULE_NUM >= 2, fw corrsponding with FTS_VENDOR_ID2 * define your own fw_file, the sample one is invalid */ #define FTS_UPGRADE_FW2_FILE "include/firmware/fw_sample.i" /* * if FTS_GET_MODULE_NUM >= 3, fw corrsponding with FTS_VENDOR_ID3 * define your own fw_file, the sample one is invalid */ #define FTS_UPGRADE_FW3_FILE "include/firmware/fw_sample.i" /*********************************************************/ #endif /* _LINUX_FOCLATECH_CONFIG_H_ */