diff options
author | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 09:48:20 +0200 |
---|---|---|
committer | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 14:02:16 +0200 |
commit | 2489007e7d740ccbc3e0a202914e243ad5178787 (patch) | |
tree | b8e6380ea7b1da63474ad68a5dba997e01146043 /drivers/input/touchscreen/mxt1664s_dev.h | |
parent | 5f67568eb31e3a813c7c52461dcf66ade15fc2e7 (diff) | |
download | kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.zip kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.gz kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.bz2 |
merge opensource jb u5
Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2
Diffstat (limited to 'drivers/input/touchscreen/mxt1664s_dev.h')
-rw-r--r-- | drivers/input/touchscreen/mxt1664s_dev.h | 127 |
1 files changed, 104 insertions, 23 deletions
diff --git a/drivers/input/touchscreen/mxt1664s_dev.h b/drivers/input/touchscreen/mxt1664s_dev.h index 4fd4f89..5655d0f 100644 --- a/drivers/input/touchscreen/mxt1664s_dev.h +++ b/drivers/input/touchscreen/mxt1664s_dev.h @@ -70,25 +70,36 @@ #define MXT_STATE_PRESS 1 #define MXT_STATE_MOVE 2 -/* Debug cmds */ -#define MXT_PAGE_UP 0x01 -#define MXT_PAGE_DOWN 0x02 -#define MXT_DELTA_MODE 0x10 -#define MXT_REFERENCE_MODE 0x11 -#define MXT_CTE_MODE 0x31 +/* Diagnostic cmds */ +#define MXT_DIAG_PAGE_UP 0x01 +#define MXT_DIAG_PAGE_DOWN 0x02 +#define MXT_DIAG_DELTA_MODE 0x10 +#define MXT_DIAG_REFERENCE_MODE 0x11 +#define MXT_DIAG_CTE_MODE 0x31 +#define MXT_DIAG_IDENTIFICATION_MODE 0x80 +#define MXT_DIAG_TOCH_THRESHOLD_MODE 0xF4 + +#define MXT_DIAG_MODE_MASK 0xFC +#define MXT_DIAGNOSTIC_MODE 0 +#define MXT_DIAGNOSTIC_PAGE 1 /* Firmware name */ -#define MXT_FW_NAME "tsp_atmel/mXT1664S.fw" +#define MXT_FW_NAME "mXT1664S.fw" +#define MXT_MAX_FW_PATH 255 /* Firmware version */ -#define MXT_FIRM_VERSION 0x9 +#define MXT_FIRM_VERSION 0x10 #define MXT_FIRM_BUILD 0xAA /* Feature */ #define TSP_FIRMUP_ON_PROBE 1 -#define TSP_BOOSTER 0 -#define TSP_DEBUG_INFO 1 -#define TSP_SEC_SYSFS 1 +#define TSP_BOOSTER 1 +#define TSP_DEBUG_INFO 0 +#define TSP_SEC_SYSFS 1 +#define TSP_USE_SHAPETOUCH 1 +#define CHECK_ANTITOUCH 1 +#define TSP_INFORM_CHARGER 1 + /* TSP_ITDEV feature just for atmel tunning app * so it should be disabled after finishing tunning * because it use other write permission. it will be cause @@ -96,16 +107,31 @@ */ #define TSP_ITDEV 1 +#define MXT_T7_IDLE_ACQ_INT 0 +#define MXT_T7_ACT_ACQ_INT 1 + +#if CHECK_ANTITOUCH +#define MXT_T61_TIMER_ONESHOT 0 +#define MXT_T61_TIMER_REPEAT 1 +#define MXT_T61_TIMER_CMD_START 1 +#define MXT_T61_TIMER_CMD_STOP 2 +#endif + #if TSP_SEC_SYSFS -#define TSP_BUF_SIZE 1024 +#define TSP_BUF_SIZE 1024 + +#define NODE_NUM 1664 -#define TX_NUM 26 -#define RX_NUM 14 -#define NODE_NUM (TX_NUM*RX_NUM) +#define NODE_PER_PAGE 64 +#define DATA_PER_NODE 2 -#define TSP_CMD_STR_LEN 32 -#define TSP_CMD_RESULT_STR_LEN 512 -#define TSP_CMD_PARAM_NUM 8 +#define REF_OFFSET_VALUE 16384 +#define REF_MIN_VALUE (19744 - REF_OFFSET_VALUE) +#define REF_MAX_VALUE (28884 - REF_OFFSET_VALUE) + +#define TSP_CMD_STR_LEN 32 +#define TSP_CMD_RESULT_STR_LEN 512 +#define TSP_CMD_PARAM_NUM 8 enum CMD_STATUS { CMD_STATUS_WAITING = 0, @@ -114,12 +140,21 @@ enum CMD_STATUS { CMD_STATUS_FAIL, CMD_STATUS_NOT_APPLICABLE, }; + +enum { + MXT_FW_FROM_BUILT_IN = 0, + MXT_FW_FROM_UMS, + MXT_FW_FROM_REQ_FW, +}; #endif #if TSP_BOOSTER -/* touch booster */ -#define TOUCH_BOOSTER_TIME 3000 -#define TOUCH_BOOSTER_LIMIT_CLK 500000 +#include <mach/cpufreq.h> +#include <mach/dev.h> +#define SEC_DVFS_LOCK_TIMEOUT 200 +#define SEC_DVFS_LOCK_FREQ 800000 +#define SEC_BUS_LOCK_FREQ 267160 +#define SEC_BUS_LOCK_FREQ2 400200 #endif struct mxt_object { @@ -146,6 +181,9 @@ struct mxt_finger_info { s16 z; u16 w; s8 state; +#if TSP_USE_SHAPETOUCH + int16_t component; +#endif u16 mcount; }; @@ -159,6 +197,8 @@ struct touch_booster { bool touch_cpu_lock_status; int cpu_lv; struct delayed_work dvfs_dwork; + struct device *bus_dev; + struct device *dev; }; #endif @@ -172,8 +212,13 @@ struct mxt_data_sysfs { struct mutex cmd_lock; bool cmd_is_running; - unsigned int reference[NODE_NUM]; - unsigned int delta[NODE_NUM]; + u16 reference[NODE_NUM]; + s16 delta[NODE_NUM]; + + u32 ref_max_data; + u32 ref_min_data; + s16 delta_max_data; + u16 delta_max_node; }; #endif @@ -185,17 +230,39 @@ struct mxt_data { struct mxt_info_block info; struct mxt_object *objects; struct mxt_report_id_map *rid_map; + struct mxt_callbacks callbacks; + struct delayed_work resume_dwork; #ifdef CONFIG_HAS_EARLYSUSPEND struct early_suspend early_suspend; #endif #if TSP_SEC_SYSFS struct mxt_data_sysfs *sysfs_data; #endif +#if TSP_BOOSTER + struct touch_booster booster; +#endif +#if TSP_INFORM_CHARGER + struct delayed_work noti_dwork; + struct delayed_work acq_int_dwork; + bool charging_mode; + u8 charger_inform_buf_size; + u8 *charger_inform_buf; +#endif #ifdef TSP_ITDEV int driver_paused; int debug_enabled; u16 last_read_addr; #endif +#if CHECK_ANTITOUCH + u8 check_antitouch; + u8 check_timer; + u8 check_autocal; + u8 check_calgood; +#endif + const char *config_version; + u8 tsp_ctl; + u8 x_num; + u8 y_num; u8 max_report_id; u8 finger_report_id; u16 msg_proc; @@ -206,6 +273,10 @@ struct mxt_data { u32 finger_mask; int num_fingers; bool mxt_enabled; + bool debug_log; +#if TSP_USE_SHAPETOUCH + int16_t sumsize; +#endif struct mutex lock; struct mxt_finger_info fingers[]; }; @@ -226,4 +297,14 @@ extern int mxt_read_object(struct mxt_data *data, extern int mxt_write_object(struct mxt_data *data, u8 type, u8 offset, u8 val); +#if TSP_SEC_SYSFS +extern int mxt_flash_fw_from_sysfs(struct mxt_data *data, + const u8 *fw_data, size_t fw_size); +#endif + +#if TSP_BOOSTER +extern void mxt_set_dvfs_on(struct mxt_data *data, bool en); +extern int mxt_init_dvfs(struct mxt_data *data); +#endif /* TSP_BOOSTER */ + #endif /* __MXT_1664S_DEV_H */ |