/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2019 MediaTek Inc. */ #ifndef TOUCHPANEL_H__ #define TOUCHPANEL_H__ /* Pre-defined definition */ #define TPD_TYPE_CAPACITIVE #define TPD_TYPE_RESISTIVE #define TPD_WAKEUP_TRIAL 60 #define TPD_WAKEUP_DELAY 100 /*#define CONFIG_TPD_ROTATE_270*/ /*if use,90/270/180 move to defconfig file*/ /*#define CONFIG_FT_AUTO_UPGRADE_SUPPORT*/ /*move to defconfig file*/ /*#define FT5X36_UPGADE*/ /*donot use it*/ /*#define FTS_AUTO_UPGRADE*/ /*donot use it*/ #define TPD_DELAY (2 * HZ / 100) /*#define CONFIG_CUST_FTS_APK_DEBUG*/ /*move to defconfig file*/ /*focaltech register*/ #define FT_GESTRUE_MODE_SWITCH_REG 0xD0 #define FT_GESTRUE_GETID_REG 0xD3 #define TPD_RES_X 800 #define TPD_RES_Y 1280 /* #define CONFIG_TPD_HAVE_CALIBRATION */ /* #define TPD_CALIBRATION_MATRIX {962, 0, 0, 0, 1600, 0, 0, 0}; */ #define TPD_CALIBRATION_MATRIX_ROTATION_NORMAL \ { \ -4096, 0, 800 * 4096, 0, -4096, 1280 * 4096, 0, 0 \ } #define TPD_CALIBRATION_MATRIX_ROTATION_FACTORY \ { \ -4096, 0, 800 * 4096, 0, -4096, 1280 * 4096, 0, 0 \ } /* #define TPD_CALIBRATION_MATRIX_ROTATION_NORMAL */ /*{-5328, 0, 800*4096, 0, 4096, 0, 0, 0}; */ /* #define TPD_CALIBRATION_MATRIX_ROTATION_FACTORY */ /* {-5328, 0, 800*4096, 0, 4096, 0, 0, 0}; */ typedef void (*GES_CBFUNC)(u8); /***************************************************************************** * ENUM ****************************************************************************/ enum GTP_WORK_STATE { GTP_UNKNOWN = 0, GTP_NORMAL, GTP_DOZE, GTP_SLEEP, }; enum TOUCH_DOZE_T1 { DOZE_INPOCKET = 0, DOZE_NOT_INPOCKET = 1, }; enum TOUCH_DOZE_T2 { DOZE_DISABLE = 0, DOZE_ENABLE = 1, }; enum TOUCH_WAKE_T { TOUCH_WAKE_BY_NONE, TOUCH_WAKE_BY_INT, TOUCH_WAKE_BY_IPI, TOUCH_WAKE_BY_SWITCH }; /* typedef enum */ /* { */ /* //SCP->AP */ /* IPI_COMMAND_SA_GESTURE_TYPE, */ /* //AP->SCP */ /* IPI_COMMAND_AS_CUST_PARAMETER, */ /* IPI_COMMAND_AS_ENTER_DOZEMODE, */ /* IPI_COMMAND_AS_ENABLE_GESTURE, */ /* IPI_COMMAND_AS_GESTURE_SWITCH, */ /* }TOUCH_IPI_CMD_T; */ /***************************************************************************** * STRUCTURE ****************************************************************************/ struct Touch_SmartWake_ID { u8 id; GES_CBFUNC cb; }; /* typedef struct */ /* { */ /* u32 i2c_num; */ /* u32 int_num; */ /* u32 io_int; */ /* u32 io_rst; */ /* }Touch_Cust_Setting; */ /* typedef struct */ /* { */ /* u32 cmd; */ /* union { */ /* u32 data; */ /* Touch_Cust_Setting tcs; */ /* } param; */ /* }Touch_IPI_Packet; */ /* #define TPD_HAVE_TREMBLE_ELIMINATION */ extern struct tpd_device *tpd; extern unsigned int tpd_rst_gpio_number; extern void tpd_button(unsigned int x, unsigned int y, unsigned int down); #ifdef CONFIG_CUST_FTS_APK_DEBUG extern int ft_rw_iic_drv_init(struct i2c_client *client); extern void ft_rw_iic_drv_exit(void); int ft5x0x_create_apk_debug_channel(struct i2c_client *client); #endif #ifdef CONFIG_FT_AUTO_UPGRADE_SUPPORT extern u8 *tpd_i2c_dma_va; extern dma_addr_t tpd_i2c_dma_pa; extern int tpd_auto_upgrade(struct i2c_client *client); #endif #endif /* TOUCHPANEL_H__ */