tpd_ft5x0x_common.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /*
  2. * (c) MediaTek Inc. 2010
  3. */
  4. #ifndef TOUCHPANEL_H__
  5. #define TOUCHPANEL_H__
  6. /* Pre-defined definition */
  7. #define TPD_TYPE_CAPACITIVE
  8. #define TPD_TYPE_RESISTIVE
  9. #define TPD_WAKEUP_TRIAL 60
  10. #define TPD_WAKEUP_DELAY 100
  11. /*#define CONFIG_TPD_ROTATE_270*//*if use,90/270/180 move to defconfig file*/
  12. /*#define CONFIG_FT_AUTO_UPGRADE_SUPPORT*//*move to defconfig file*/
  13. /*#define FT5X36_UPGADE*//*donot use it*/
  14. /*#define FTS_AUTO_UPGRADE*//*donot use it*/
  15. #define TPD_DELAY (2*HZ/100)
  16. /*#define CONFIG_CUST_FTS_APK_DEBUG*//*move to defconfig file*/
  17. /*focaltech register*/
  18. #define FT_GESTRUE_MODE_SWITCH_REG 0xD0
  19. #define FT_GESTRUE_GETID_REG 0xD3
  20. #define TPD_RES_X 1200//800
  21. #define TPD_RES_Y 1920//1280
  22. //#define tpd_rotate_270 //CONFIG_TPD_ROTATE_90
  23. //#define CONFIG_TPD_HAVE_CALIBRATION
  24. /* #define TPD_CALIBRATION_MATRIX {962, 0, 0, 0, 1600, 0, 0, 0}; */
  25. #define TPD_CALIBRATION_MATRIX_ROTATION_NORMAL {-4096, 0, 800*4096, 0, -4096, 1280*4096, 0, 0}
  26. #define TPD_CALIBRATION_MATRIX_ROTATION_FACTORY {-4096, 0, 800*4096, 0, -4096, 1280*4096, 0, 0}
  27. /* #define TPD_CALIBRATION_MATRIX_ROTATION_NORMAL {-5328, 0, 800*4096, 0, 4096, 0, 0, 0}; */
  28. /* #define TPD_CALIBRATION_MATRIX_ROTATION_FACTORY {-5328, 0, 800*4096, 0, 4096, 0, 0, 0}; */
  29. /*
  30. #define FTP_DEBUG_ON 0
  31. #define FTP_ERROR(fmt,arg...) dprintf(CRITICAL,"<FTP-ERR>"fmt"\n", ##arg)
  32. #define FTP_INFO(fmt,arg...) dprintf(CRITICAL,"<FTP-INF>"fmt"\n", ##arg)
  33. #if FTP_DEBUG_ON
  34. #define FTP_DEBUG(fmt,arg...) do{\
  35. dprintf(CRITICAL,"<FTP-DBG>"fmt"\n", ##arg);\
  36. }while(0)
  37. #else
  38. #define FTP_DEBUG(fmt,arg...)
  39. #endif
  40. */
  41. typedef void (*GES_CBFUNC)(u8);
  42. /*****************************************************************************
  43. * ENUM
  44. ****************************************************************************/
  45. enum GTP_WORK_STATE {
  46. GTP_UNKNOWN = 0,
  47. GTP_NORMAL,
  48. GTP_DOZE,
  49. GTP_SLEEP,
  50. };
  51. enum TOUCH_DOZE_T1 {
  52. DOZE_INPOCKET = 0,
  53. DOZE_NOT_INPOCKET = 1,
  54. };
  55. enum TOUCH_DOZE_T2 {
  56. DOZE_DISABLE = 0,
  57. DOZE_ENABLE = 1,
  58. };
  59. enum TOUCH_WAKE_T {
  60. TOUCH_WAKE_BY_NONE,
  61. TOUCH_WAKE_BY_INT,
  62. TOUCH_WAKE_BY_IPI,
  63. TOUCH_WAKE_BY_SWITCH
  64. };
  65. /* typedef enum */
  66. /* { */
  67. /* //SCP->AP */
  68. /* IPI_COMMAND_SA_GESTURE_TYPE, */
  69. /* //AP->SCP */
  70. /* IPI_COMMAND_AS_CUST_PARAMETER, */
  71. /* IPI_COMMAND_AS_ENTER_DOZEMODE, */
  72. /* IPI_COMMAND_AS_ENABLE_GESTURE, */
  73. /* IPI_COMMAND_AS_GESTURE_SWITCH, */
  74. /* }TOUCH_IPI_CMD_T; */
  75. /*****************************************************************************
  76. * STRUCTURE
  77. ****************************************************************************/
  78. struct Touch_SmartWake_ID {
  79. u8 id;
  80. GES_CBFUNC cb;
  81. };
  82. /* typedef struct */
  83. /* { */
  84. /* u32 i2c_num; */
  85. /* u32 int_num; */
  86. /* u32 io_int; */
  87. /* u32 io_rst; */
  88. /* }Touch_Cust_Setting; */
  89. /* typedef struct */
  90. /* { */
  91. /* u32 cmd; */
  92. /* union { */
  93. /* u32 data; */
  94. /* Touch_Cust_Setting tcs; */
  95. /* } param; */
  96. /* }Touch_IPI_Packet; */
  97. /* #define TPD_HAVE_TREMBLE_ELIMINATION */
  98. extern struct tpd_device *tpd;
  99. extern unsigned int tpd_rst_gpio_number;
  100. extern void tpd_button(unsigned int x, unsigned int y, unsigned int down);
  101. #ifdef CONFIG_CUST_FTS_APK_DEBUG
  102. extern int ft_rw_iic_drv_init(struct i2c_client *client);
  103. extern void ft_rw_iic_drv_exit(void);
  104. int ft5x0x_create_apk_debug_channel(struct i2c_client * client);
  105. #endif
  106. #ifdef CONFIG_FT_AUTO_UPGRADE_SUPPORT
  107. extern u8 *tpd_i2c_dma_va;
  108. extern dma_addr_t tpd_i2c_dma_pa;
  109. extern int tpd_auto_upgrade(struct i2c_client *client);
  110. #endif
  111. #endif /* TOUCHPANEL_H__ */