blob: 479dce2d1bd032f497792a0b754f3ebf00de606d [file] [log] [blame]
#ifndef _LINUX_FTS_I2C_H_
#define _LINUX_FTS_I2C_H_
#define FTS_SUPPORT_NOISE_PARAM
#undef FTS_SUPPORT_TOUCH_KEY
#undef FTS_SUPPORT_SEC_SWIPE
#undef FTS_SUPPORT_SIDE_GESTURE
#define FTS_SUPPORT_WATER_MODE
/*#define FTS_SUPPORT_2NDSCREEN*/
/*#define FTS_SUPPORT_SIDE_SCROLL*/
/*#define FTS_SUPPORT_STRINGLIB */
extern struct fts_callbacks *fts_charger_callbacks;
struct fts_callbacks {
void (*inform_charger) (struct fts_callbacks *, int);
};
#ifdef FTS_SUPPORT_NOISE_PARAM
#define MAX_NOISE_PARAM 5
struct fts_noise_param {
unsigned short pAddr[MAX_NOISE_PARAM];
unsigned short pData[MAX_NOISE_PARAM];
};
#endif
#ifdef FTS_SUPPORT_TOUCH_KEY
/* TSP Key Feature*/
#define KEY_PRESS 1
#define KEY_RELEASE 0
#define TOUCH_KEY_NULL 0
/* support 2 touch keys */
#define TOUCH_KEY_RECENT 0x01
#define TOUCH_KEY_BACK 0x02
struct fts_touchkey {
unsigned int value;
unsigned int keycode;
char *name;
};
#endif
struct fts_i2c_platform_data {
bool factory_flatform;
bool recovery_mode;
bool support_hover;
bool support_mshover;
int max_x;
int max_y;
int max_width;
int grip_area;
int SenseChannelLength;
int ForceChannelLength;
unsigned char panel_revision; /* to identify panel info */
const char *firmware_name;
const char *project_name;
const char *model_name;
const char *regulator_dvdd;
const char *regulator_avdd;
struct pinctrl *pinctrl;
struct pinctrl_state *pins_default;
struct pinctrl_state *pins_sleep;
int (*power)(void *data, bool on);
void (*register_cb)(void *);
void (*enable_sync)(bool on);
unsigned char (*get_ddi_type)(void); /* to indentify ddi type */
unsigned tspid;
unsigned tspid2;
unsigned gpio;
int irq_type;
#ifdef FTS_SUPPORT_TOUCH_KEY
bool support_mskey;
unsigned int num_touchkey;
struct fts_touchkey *touchkey;
const char *regulator_tk_led;
int (*led_power) (void *, bool);
#endif
#ifdef FTS_SUPPORT_SIDE_GESTURE
bool support_sidegesture;
#endif
#ifdef FTS_SUPPORT_2NDSCREEN
bool support_2ndscreen;
#endif
#ifdef FTS_SUPPORT_SIDE_SCROLL
bool support_sidescroll;
#endif
unsigned gpio_scl;
unsigned gpio_sda;
};
#undef SEC_TSP_FACTORY_TEST
// #define FTS_SUPPORT_TA_MODE // DE version don't need.
#ifdef SEC_TSP_FACTORY_TEST
extern struct class *sec_class;
#endif
extern unsigned int lcdtype;
void fts_charger_infom(bool en);
#endif