diff options
Diffstat (limited to 'drivers/input/touchscreen/mxt540s_dev.h')
-rw-r--r-- | drivers/input/touchscreen/mxt540s_dev.h | 329 |
1 files changed, 0 insertions, 329 deletions
diff --git a/drivers/input/touchscreen/mxt540s_dev.h b/drivers/input/touchscreen/mxt540s_dev.h deleted file mode 100644 index 5400c83..0000000 --- a/drivers/input/touchscreen/mxt540s_dev.h +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Copyright (C) 2010, Samsung Electronics Co. Ltd. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * 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. - * - */ - -#ifndef __MXT_540S_DEV_H -#define __MXT_540S_DEV_H - -#ifdef CONFIG_HAS_EARLYSUSPEND -#include <linux/earlysuspend.h> -#endif - -#define OBJECT_TABLE_ELEMENT_SIZE 6 -#define OBJECT_TABLE_START_ADDRESS 7 - -#define CMD_RESET_OFFSET 0 -#define CMD_BACKUP_OFFSET 1 -#define CMD_CALIBRATE_OFFSET 2 -#define CMD_REPORTATLL_OFFSET 3 -#define CMD_DEBUG_CTRL_OFFSET 4 -#define CMD_DIAGNOSTIC_OFFSET 5 - -#define MXT_T7_IDLE_ACQ_INT 0 -#define MXT_T7_ACT_ACQ_INT 1 - -#define MXT_T9_CTRL 0 -#define MXT_T9_ORIENT 9 -#define MXT_T9_XRANGE_LSB 18 -#define MXT_T9_XRANGE_MSB 19 -#define MXT_T9_YRANGE_LSB 20 -#define MXT_T9_YRANGE_MSB 21 - -#define DETECT_MSG_MASK 0x80 -#define PRESS_MSG_MASK 0x40 -#define RELEASE_MSG_MASK 0x20 -#define MOVE_MSG_MASK 0x10 -#define VECTOR_MSG_MASK 0x08 -#define AMPLITUDE_MSG_MASK 0x04 -#define SUPPRESS_MSG_MASK 0x02 - -/* Slave addresses */ -#define MXT_APP_LOW 0x4a -#define MXT_APP_HIGH 0x4b -#define MXT_BOOT_LOW 0x26 -#define MXT_BOOT_HIGH 0x27 - -#define MXT_BOOT_VALUE 0xa5 -#define MXT_BACKUP_VALUE 0x55 - -/* Bootloader mode status */ -#define MXT_WAITING_BOOTLOAD_CMD 0xc0 -#define MXT_WAITING_FRAME_DATA 0x80 -#define MXT_FRAME_CRC_CHECK 0x02 -#define MXT_FRAME_CRC_FAIL 0x03 -#define MXT_FRAME_CRC_PASS 0x04 -#define MXT_APP_CRC_FAIL 0x40 -#define MXT_BOOT_STATUS_MASK 0x3f - -/* Bootloader ID */ -#define MXT_BOOT_EXTENDED_ID 0x20 -#define MXT_BOOT_ID_MASK 0x1f - -/* Command to unlock bootloader */ -#define MXT_UNLOCK_CMD_MSB 0xaa -#define MXT_UNLOCK_CMD_LSB 0xdc - -#define ID_BLOCK_SIZE 7 - -#define MXT_STATE_INACTIVE -1 -#define MXT_STATE_RELEASE 0 -#define MXT_STATE_PRESS 1 -#define MXT_STATE_MOVE 2 - -/* 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 "mXT540S.fw" -#define MXT_MAX_FW_PATH 255 -#define MXT_CONFIG_VERSION_LENGTH 30 - -/* Firmware version */ -#define MXT_FIRM_VERSION 0x10 -#define MXT_FIRM_BUILD 0xAA - -/* Touchscreen configuration infomation */ -#define MXT_FW_MAGIC 0x4D3C2B1A -#define DUAL_CFG 1 - -/* Feature */ -#define TSP_FIRMUP_ON_PROBE 1 -#define TSP_BOOSTER 0 -#define TSP_DEBUG_INFO 1 -#define TSP_SEC_SYSFS 1 -#if DUAL_CFG -#define TSP_INFORM_CHARGER 1 -#else -#define TSP_INFORM_CHARGER 0 -#endif -/* 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 -* failure of CTS -*/ -#define TSP_ITDEV 1 -#define TSP_USE_SHAPETOUCH 0 - -#if TSP_SEC_SYSFS -#define TSP_BUF_SIZE 1024 - -#define NODE_NUM 540 - -#define NODE_PER_PAGE 64 -#define DATA_PER_NODE 2 - -#define REF_MIN_VALUE 19744 -#define REF_MAX_VALUE 28884 - -#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, - CMD_STATUS_RUNNING, - CMD_STATUS_OK, - 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 -#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 { - u8 object_type; - u16 start_address; - u8 size; - u8 instances; - u8 num_report_ids; -} __packed; - -struct mxt_info_block { - u8 family_id; - u8 variant_id; - u8 version; - u8 build; - u8 matrix_xsize; - u8 matrix_ysize; - u8 object_num; -}; - -struct mxt_finger_info { - s16 x; - s16 y; - s16 z; - u16 w; - s8 state; -#if TSP_USE_SHAPETOUCH - int16_t component; -#endif - u16 mcount; -}; - -struct mxt_report_id_map { - u8 object_type; - u8 instance; -}; - -#if TSP_BOOSTER -struct touch_booster { - bool touch_cpu_lock_status; - int cpu_lv; - struct delayed_work dvfs_dwork; - struct device *bus_dev; - struct device *dev; -}; -#endif - -#if TSP_SEC_SYSFS -struct mxt_data_sysfs { - struct list_head cmd_list_head; - u8 cmd_state; - char cmd[TSP_CMD_STR_LEN]; - int cmd_param[TSP_CMD_PARAM_NUM]; - char cmd_result[TSP_CMD_RESULT_STR_LEN]; - struct mutex cmd_lock; - bool cmd_is_running; - - u16 reference[NODE_NUM]; - s16 delta[NODE_NUM]; - - u32 ref_max_data; - u32 ref_min_data; - s16 delta_max_data; - u16 delta_max_node; - u8 fw_ver; - u8 build_ver; - u32 current_crc; -}; -#endif - -struct mxt_data { - struct i2c_client *client; - struct i2c_client *client_boot; - struct input_dev *input_dev; - const struct mxt_platform_data *pdata; - struct mxt_info_block info; - struct mxt_object *objects; - struct mxt_report_id_map *rid_map; -#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 DUAL_CFG - const u8 *batt_cfg_raw_data; - const u8 *ta_cfg_raw_data; - u32 cfg_len; -#endif -#if TSP_INFORM_CHARGER - struct mxt_callbacks callbacks; - struct delayed_work noti_dwork; - bool charging_mode; -#endif -#ifdef TSP_ITDEV - int driver_paused; - int debug_enabled; - u16 last_read_addr; -#endif - u8 tsp_ctrl; - u8 max_report_id; - u8 finger_report_id; - u16 msg_proc; - u16 cmd_proc; - u16 msg_object_size; - u32 x_dropbits:2; - u32 y_dropbits:2; - u32 finger_mask; - int num_fingers; - bool mxt_enabled; - struct completion init_done; -#if TSP_USE_SHAPETOUCH - int16_t sumsize; -#endif - struct mutex lock; - struct mxt_finger_info fingers[]; -}; - -struct mxt_fw_image { - __le32 magic_code; - __le32 hdr_len; - __le32 cfg_len; - __le32 fw_len; - __le32 cfg_crc; - u8 fw_ver; - u8 build_ver; - u8 data[0]; -} __packed; - -struct mxt_cfg_data { - u8 type; - u8 instance; - u8 size; - u8 register_val[0]; -} __packed; - -struct mxt_fw_info { - u8 fw_ver; - u8 build_ver; - u32 hdr_len; - u32 cfg_len; - u32 fw_len; - u32 cfg_crc; -#if DUAL_CFG - const u8 *batt_cfg_raw_data; - const u8 *ta_cfg_raw_data; -#else - const u8 *cfg_raw_data; -#endif - const u8 *fw_raw_data; /* start address of firmware data */ - struct mxt_data *data; -}; - -#if TSP_SEC_SYSFS -extern struct class *sec_class; -#endif - -#if TSP_BOOSTER -void mxt_set_dvfs_on(struct mxt_data *data, bool en); -int mxt_init_dvfs(struct mxt_data *data); -#endif /* TSP_BOOSTER */ -#endif /* __MXT_540S_DEV_H */ |