/* * 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_H__ #define __MXT_H__ #define MXT_DEV_NAME "Atmel MXT768E" #define MXT_SW_RESET_TIME 300 /* msec */ #define MXT_HW_RESET_TIME 300 /* msec */ enum { RESERVED_T0 = 0, RESERVED_T1, DEBUG_DELTAS_T2, DEBUG_REFERENCES_T3, DEBUG_SIGNALS_T4, GEN_MESSAGEPROCESSOR_T5, GEN_COMMANDPROCESSOR_T6, GEN_POWERCONFIG_T7, GEN_ACQUISITIONCONFIG_T8, TOUCH_MULTITOUCHSCREEN_T9, TOUCH_SINGLETOUCHSCREEN_T10, TOUCH_XSLIDER_T11, TOUCH_YSLIDER_T12, TOUCH_XWHEEL_T13, TOUCH_YWHEEL_T14, TOUCH_KEYARRAY_T15, PROCG_SIGNALFILTER_T16, PROCI_LINEARIZATIONTABLE_T17, SPT_COMCONFIG_T18, SPT_GPIOPWM_T19, PROCI_GRIPFACESUPPRESSION_T20, RESERVED_T21, PROCG_NOISESUPPRESSION_T22, TOUCH_PROXIMITY_T23, PROCI_ONETOUCHGESTUREPROCESSOR_T24, SPT_SELFTEST_T25, DEBUG_CTERANGE_T26, PROCI_TWOTOUCHGESTUREPROCESSOR_T27, SPT_CTECONFIG_T28, SPT_GPI_T29, SPT_GATE_T30, TOUCH_KEYSET_T31, TOUCH_XSLIDERSET_T32, RESERVED_T33, GEN_MESSAGEBLOCK_T34, SPT_GENERICDATA_T35, RESERVED_T36, DEBUG_DIAGNOSTIC_T37, SPT_USERDATA_T38, SPARE_T39, PROCI_GRIPSUPPRESSION_T40, SPARE_T41, PROCI_TOUCHSUPPRESSION_T42, SPT_DIGITIZER_T43, SPARE_T44, SPARE_T45, SPT_CTECONFIG_T46, PROCI_STYLUS_T47, PROCG_NOISESUPPRESSION_T48, SPARE_T49, SPARE_T50, SPARE_T51, TOUCH_PROXIMITY_KEY_T52, GEN_DATASOURCE_T53, SPARE_T54, ADAPTIVE_T55, PROCI_SHIELDLESS_T56, SPT_GENERICDATA_T57, RESERVED_T255 = 255, }; struct mxt_platform_data { int max_finger_touches; int gpio_read_done; const u8 **config; int min_x; int max_x; int min_y; int max_y; int min_z; int max_z; int min_w; int max_w; u8 tchthr_batt; u8 tchthr_charging; u8 calcfg_batt; u8 calcfg_charging; u8 idlesyncsperx_batt; u8 idlesyncsperx_charging; u8 actvsyncsperx_batt; u8 actvsyncsperx_charging; u8 xloclip_batt; u8 xloclip_charging; u8 xhiclip_batt; u8 xhiclip_charging; u8 yloclip_batt; u8 yloclip_charging; u8 yhiclip_batt; u8 yhiclip_charging; u8 xedgectrl_batt; u8 xedgectrl_charging; u8 xedgedist_batt; u8 xedgedist_charging; u8 yedgectrl_batt; u8 yedgectrl_charging; u8 yedgedist_batt; u8 yedgedist_charging; const u8 *t48_config_batt; const u8 *t48_config_chrg; void (*power_on) (void); void (*power_off) (void); void (*register_cb) (void *); void (*read_ta_status) (bool *); }; enum { MXT_PAGE_UP = 0x01, MXT_PAGE_DOWN = 0x02, MXT_DELTA_MODE = 0x10, MXT_REFERENCE_MODE = 0x11, MXT_CTE_MODE = 0x31 }; extern struct class *sec_class; #endif /* */