238 95 648KB
English Pages 21 Year 2011
LY FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
Touch Panel Customer Document
Version: Release date:
1.3 2011-12-08
© 2008 - 2011 MediaTek Inc. This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited. Specifications are subject to change without notice.
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
Document Revision History
Revision
Date
Author
0.1
2010-06-18
Kirby Wu
Initial Draft
0.2
2010-07-02
Kirby Wu
Update new mode and customization configuration
0.3
2011-01-26
Wenjun Gao
Update customization configuration related with MT6573
0.4
2011-12-01
Weiqi Fu
Update customization configuration related with MT6575
MediaTek Confidential
Description
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 2 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
Table of Contents
Document Revision History .................................................................................................................. 2 Table of Contents ................................................................................................................................... 3 1
Introduction................................................................................................................................... 4 1.
2. 3.
4.
2
Design............................................................................................................................................ 6 1. 2.
3
User Space Interface ............................................................................................................ 9 3.1.1 Retrieve touch panel event .................................................................................. 9 3.1.2 Setting & Getting Touch Panel Information .......................................................... 9 3.1.3 Touch Panel Operation Mode ............................................................................ 12
Customization ............................................................................................................................. 14 4.1 4.2 4.3 4.4 4.5
5.
Architecture........................................................................................................................... 6 Procedure & Flow ................................................................................................................. 7 2.2.1 Initialization........................................................................................................... 7 2.2.2 Listening ............................................................................................................... 7 2.2.3 Suspending .......................................................................................................... 7
Interface......................................................................................................................................... 9 3.1
4
Software/Hardware Environment ......................................................................................... 4 1.1.1 Software Environment .......................................................................................... 4 1.1.2 Hardware Environment ........................................................................................ 4 Functionality.......................................................................................................................... 4 Hardware background .......................................................................................................... 4 1.3.1 Resistive Type Touch Panel ................................................................................ 4 1.3.2 Capacitive Type Touch Panel .............................................................................. 5 Hardware Component used in this driver ............................................................................. 5
General Settings ................................................................................................................. 14 Button Related Settings ...................................................................................................... 14 Resistive Type Touch Panel Settings ................................................................................. 15 Capacitive Type Touch Panel Settings .............................................................................. 16 Calibration Related ............................................................................................................. 17
Build............................................................................................................................................. 19 5.1 5.2
Source Code Structure & File Description.......................................................................... 19 Build Option ........................................................................................................................ 20
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 3 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
1
Introduction
1.
Software/Hardware Environment
1.1.1
Platform
Software Environment
Hardware Environment
MT6516
Linux Kernel 2.6.29 and Android 2.1
MT6516
MT6573
Linux Kernel 2.6.35 and Android 2.3
MT6573
MT6575
Linux Kernel 2.6.35 and Android 2.3
MT6575
Software Environment
Kernel with Multi-touch supported is required for pinch-to-zoom functionality.
1.1.2
Hardware Environment
Pinch-to-zoom functionality is available on devices with EETI PCAP7200 touch panel module or CYPRESS CY8CTMA300 touch panel module. There are two different type of touch panel, one is resistive type touch panel, and the other is capacitive type touch panel. The simplest way to distinguish them is try to use pencil to do tap action. If there is no response, it’s capacitive type touch panel. Otherwise it is resistive type touch panel.
2.
Functionality
Touch panel driver’s main functionality is: (1) Provide screen basic touch operation to user (2) When user press down screen, driver reports a “touch down” event (3) When user stop pressing down the screen, driver report a “touch up” event. (4) When pinch-to-zoom is supported: 1. When user does a pinch-to-zoom-in action, series of two points coordinate moving outside from center are reported 2. When user does a pinch-to-zoom-out action, series of two points coordinate moving toward center are reported (5) Supporting by different application, user can accomplish sophisticated actions like dragging and dropping, double tapping, long pressing, and sliding.
3.
1.3.1
Hardware background
Resistive Type Touch Panel
Resistive type touch panel’s data is provided by AuxADC. A series of registers provide sufficient information for touch panel to use, including x, y, z1, z2 data and touch status information. Pressure (for filtering bad data) is then calculated via z1, z2 and x.
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 4 of 21
LY
MT65XX Chip Name Confidential B
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
An interrupt is also triggered by panel press / release action, which is used to trigger touch panel driver to read data from x, y, z1, z2 and status register.
1.3.2
Capacitive Type Touch Panel
Currently we provide capacitive type touch panel driver for EETI PCAP7200 module and for . CYPRESS CY8CTMA300 module Each module is an external component which is connected with MT65XX via I2C bus; an external interrupt is used to notify touch panel driver where there is data ready for panel to read, usually mean that there are fingers touching and moving over panel surface. Driver uses i2c API to access data from touch panel module, including configure panel settings and directly read data from panel.
4.
Hardware Component used in this driver
EETI PCAP7200 touch panel and CYPRESS CY8CTMA300 both are capacitive type touch panelsand have 3 communication pins connected between CPU and touch panel (include SDA and SCA for I2C and an interrupt pin). It reports point information and gesture information including zoom, rotate and slide gesture. For better pinch-to-zoom support, It provides low resolution two finger touch information in range from 0~7 for x, 0~11 for y.
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 5 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
2
Design
1.
Architecture
The touch panel driver is divided into several parts for different functionality. It includes Initialization functions – maintain required exposed parameters and initialization. It is the main entry point of driver. mtk/src/custom/common/kernel/touchpanel/src/mt6516_tpd.c mediatek/custom/common/kernel/touchpanel/src/mtk_tpd.c Virtual key functions – provide functions for supporting emulating keypad buttons in touch panel driver. mtk/src/custom/common/kernel/touchpanel/src/tpd_button.c mediatek/custom/common/kernel/touchpanel/src/tpd_button.c Adc functions – provide basic API for accessing data from ADC. Since only resistive type touch panel uses ADC, these functions will only be used by functions for resistive type touch panel. kernel/drivers/input/touchscreen/mt6516/tpd_adc.c mediatek/platform/mt6573/kernel/drivers/touchpanel/tpd_adc.c mediatek/platform/mt6573/kernel/drivers/touchpanel/tpd_adc_driver.c Resistive type functions – event handling and related functions for resistive type touch panel. mtk/src/custom/common/kernel/touchpanel/generic/driver.c mediate/custom/common/kernel/touchpanel/generic/driver.c Capacitive type functions – event handling and related functions for capacitive type touch panel. mtk/src/custom/common/kernel/touchpanel/eeti_pcap7200/driver.c mediate/custom/common/kernel/touchpanel/cy8ctma300/driver.c A conceptual diagram is shown as below:
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 6 of 21
Procedure & Flow
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
2.
LY
MT65XX Chip Name Confidential B
For touch panel driver, there are 3 different stage of operation: initialization, listening, and suspending.
2.2.1
Initialization
Driver’s initialization function tpd_device_init will be invoked by Linux kernel when linux is booting. Touch panel driver registers a input device driver, setup information including panel resolution, input event types, and virtual key information. It will invoke related initialization functions in other components such as resistive type functions or capacitive type functions. Resistive and capacitive type initialization function will register an interrupt handler which handles interrupt from touch panel event. The handler will deal with all interrupt event.
2.2.2
Listening
After initialized, panel driver register interrupt handler. Touch panel driver then will wait for any touch panel event to occur. Once there is an event, interrupt handler is invoked and related function is called. For different type touch panel there are different method to handle an interrupt event:
2.2.2.1
Resistive type touch panel interrupt handler
The resistive type touch panel interrupt handler will schedule a tasklet and return. The tasklet read data from ADC, process it and report to Linux kernel input subsystem with appropriate input event.
2.2.2.2
Capacitive type touch panel interrupt handler
After initialized, a kernel thread will be created and put into sleep, waiting for interrupt handler to wake it up. The capacitive type touch panel interrupt handler will wake up the thread when there is an interrupt triggered from touch panel. Then the kernel thread will read data from i2c, process it and report to Linux kernel input subsystem with appropriate input event.
2.2.3
Suspending
This is mainly for capacitive type touch panel driver.
When device goes to sleep, driver will also ask touch panel hardware to sleep. When device is resuming from sleep, driver will also ask touch panel hardware to wake up. A conceptual diagram is shown below:
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 7 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 8 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
3
Interface
This driver doesn’t export interface for other kernel modules to use. But it has several interface for user space to communicate with.
3.1
User Space Interface
Touch panel related interface from kernel space to user space is described here.
3.1.1
Retrieve touch panel event
As defined in Linux Input Subsystem, touch panel event can be retrieved from the device node at /dev/input/eventX.
3.1.2
Setting & Getting Touch Panel Information
Except input subsystem device node, touch panel use sysfs to communicate with user space. All related settings are locate in following two location: For MT6516 platform: 1. /sys/module/mt6516_tpd/parameters/ - settings & information of touch panel driver 2. /sys/module/tpd_debug/parameters/ - debug interface, usually turned off mt6516_tpd files will belongs to root user and diag group. tpd_debug will belongs to root. For MT6573 platform: 1. /sys/module/tpd_setting/parameters/ - settings & information of touch panel driver 2. /sys/module/tpd_debug/parameters/ - debug interface, usually turned off Tpd_setting files will belongs to root user and diag group. tpd_debug will belongs to root. Interface are described by category below.
Calibration
Calibration matrix is used to calibrate touch panel driver. The formula used is as following:
The matrix is defined as a one dimensional integer array in the driver. User space program can access it via this form: A,B,C,D,E,F; e.g.,
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 9 of 21
LY
MT65XX Chip Name Confidential B
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
640, -1, 4096, -960, -5, 2354880
Please note depends on the range of X and Y, one can give a predefined calibration matrix by calculating. For example, in EETI capacitive touch panel, X and Y ranges from 0 to 2048. To transforms EETI’s point in a 320 x 480 screen, one can calculate the calibration matrix by following:
Thus we have A,B,C,D,E,F = 640,B,0,D,960,0. To generate a non-rotated matrix, we can just give B and D 0. In this way, we can give another calibration matrix that inverses Y’s direction by setting it to 640, 0, 0, -960, 0, 480*4096. For calibrate touch panel driver, driver exploits two interface for user space program to use: For MT6516 platform: 1. /sys/module/mt6516_tpd/parameters/tpd_calmat calibration matrix used in driver. 2. /sys/module/mt6516_tpd/parameters/tpd_def_calmat this is the default calibration matrix which is defined in driver customization folder as the macro “TPD_CALIBRATION_MATRIX”. this is used to restore setting when the above matrix is corrupted.
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 10 of 21
LY
MT65XX Chip Name Confidential B
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
For MT6573 platform: 1. /sys/module/tpd_setting/parameters/tpd_calmat calibration matrix used in driver. 2. /sys/module/tpd_setting/parameters/tpd_def_calmat this is the default calibration matrix which is defined in driver customization folder as the macro “TPD_CALIBRATION_MATRIX”. this is used to restore setting when the above matrix is corrupted. Both file are in format described above (i.e., A,B,C,D,E,F)
As in current MTK solution design, a file in /data/misc/touchpanel/calibration will be used as user settings and to update driver’s calibration data. It is done automatically by NVRAM daemon at boot time.
Working Mode
For better user experience, touch panel driver provides special working mode to handle different scenario of operation. Following files are used to control the touch panel working mode: For MT6516 platform: 1. /sys/module/mt6516_tpd/parameters/tpd_mode 2. /sys/module/mt6516_tpd/parameters/tpd_mode_min 3. /sys/module/mt6516_tpd/parameters/tpd_mode_max 4. /sys/module/mt6516_tpd/parameters/tpd_mode_axis
For MT6573 platform: 1. /sys/module/tpd_setting/parameters/tpd_mode 2. /sys/module/ tpd_setting /parameters/tpd_mode_min 3. /sys/module/ tpd_setting /parameters/tpd_mode_max 4. /sys/module/ tpd_setting /parameters/tpd_mode_axis
tpd_mode This is used to control which mode the touch panel driver is in. It contains a single integer. Detail information for mode selection is described in an individual section.
Affected Region of Specific Operation Mode For mode other than normal operation mode, region should be defined the working area of the mode. It can be defined via tpd_mode_min, tpd_mode_max, tpd_mod_axis, all set as a single integer. These files are used to control the working area as following figure:
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 11 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
For example, following configuration can apply virtual keypad mode of touch panel in the bottom half region of screen in which Android places it’s virtual keypad usually in portrait mode: tpd_mode = 1 tpd_mode_min=240 tpd_mod_max=480 tpd_mode_axis=0,
Touch Panel Type User space program can determine touch panel type via following file: For MT6516 platform: /sys/module/mt6516_tpd/parameters/tpd_type_cap For MT6573 platform: /sys/module/tpd_setting/parameters/tpd_type_cap It contains a single integer. it’s a capacitive touch panel if this value is 1, otherwise it will be 0.
3.1.3
Touch Panel Operation Mode
As described above, user space program set tpd_mode to change touch panel operation mode. Currently there are two mode available: 1. Normal operation mode - the default mode, optimized for normal UI operation 2. Virtual keypad mode - optimized for virtual keypad.
tpd_mode contains a single integer, set tpd_mode with following value to operate under specific mode: 0 – normal operation mode MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 12 of 21
LY
MT65XX Chip Name Confidential B
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
1 – virtual keypad mode Normal Operation Mode This is the default mode and optimized for normal touch panel operation.
Virtual Keypad Mode When this mode is selected, touch panel assumes user will do key-typing-like operation with two hands in the specific working area. Touch points will be cut into individual point. There is an argument of virtual keypad mode one should take care For MT6516 platform: /sys/module/mt6516_tpd/parameters/tpd_mode_keypad_tolerance For MT6573 platform: /sys/module/tpd_setting/parameters/tpd_mode_keypad_tolerance
It’s the distance tolerance to regarding two distinct type action to different key. Usually it can be set as square of half of average button width. For example, if you have a button with width 8, you can set tpd_mode_keypad_tolerance to (8/2)^2 = 16.
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 13 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
4
Customization
Touch panel driver is customized with two files: tpd_custom.c and tpd_custom.h under the codebase path: For MT6516 platform: mtk/src/custom//kernel/touchpanel//: tpd_custom.c: provide custom function definition tpd_custom.h: provide custom macro definition For MT6573 platform: mediatek/custom//kernel/touchpanel//: tpd_custom.c: provide custom function definition tpd_custom.h: provide custom macro definition Usually one only need to edit tpd_custom.h.
4.1
General Settings
Touch panel driver uses various macros to configure. They are listed as below. (all following macro should only be defined in tpd_custom.h)
TPD_TYPE_RESISTIVE It should be defined if this is a resistive type touch panel. It should be mutual exclusive to TPD_TYPE_CAPACITIVE
TPD_TYPE_CAPACITIVE It should be defined if this is a capacitive type touch panel. It should be mutual exclusive to TPD_TYPE_RESISTIVE
TPD_RES_X It should be an integer, the touch panel x coordinate resolution. it should be the same with LCD resolution of x.
TPD_RES_Y It should be an integer, the touch panel y coordinate resolution. it should be the same with LCD resolution of y.
4.2
Button Related Settings
Following settings are only needed for the devices that there are buttons on touch panel.
TPD_HAVE_BUTTON
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 14 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
It should be defined if there is buttons on touch panel
LY
MT65XX Chip Name Confidential B
TPD_CUSTOM_BUTTON If this macro is defined, one should implement following function to handle button event manually: void tpd_button(unsigned int x, unsigned int y, unsigned int down), where x, y is the coordinate of touch event, down indicates is button is pressed (1) or released(0). It should only be implemented in tpd_custom.c. one can refer to default button mapping function in mtk/src/custom/common/kernel/touchpanel/src/tpd_button.c to design their own one.
TPD_BUTTON_HEIGHT It should be an integer; it defines the actual y coordinate from touch panel where soft key should be recognized, as below:
TPD_KEY_COUNT It should be an integer; it indicates number of total keys that will be emulated in soft key region.
TPD_KEYS it should be an integer array; it indicates the keys code (from left to right when using default button map function; i.e., TPD_CUSTOM_BUTTON is not defined). For example, it can be defined as {KEY_MENU, KEY_HOME, KEY_BACK}
4.3
Resistive Type Touch Panel Settings
Following macros are directly affect resistive type touch panel performance. MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 15 of 21
TPD_DELAY It should be defined as an integer. It unit is jiffies. It is the latency between each touch data is sampled. It can control the event rate of resistive type touch panel driver.
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
Pressure Related
TPD_PRESSURE_MAX It should be an integer; it indicates the maximum pressure that can be generated by touch panel.
TPD_PRESSURE_MIN It should be an integer; it indicates the minimum pressure that can be generated by touch panel.
TPD_PRESSURE_NICE It should be an integer; it indicates the pressure of points that are consider with fine quality.
Algorithm Controlling
TPD_COUNT_TOLERANCE It should be an integer; it is used for discontinuity elimination. Usually it will be around 0 ~ 4.
TPD_HAVE_TRACK_EXTENSION When it is defined, track extension algorithm will be enabled. Unless touch panel is too insensitive, it is not suggested to be turned on.
TPD_HAVE_DRIFT_ELIMINATION When it is defined, drift elimination algorithm will be enabled.
TPD_HAVE_ADV_DRIFT_ELIMINATION When it is defined, advanced drift elimination algorithm will be enabled. Two macros are needed to be defined in this mode: - TPD_ADE_P1 – integer, pressure threshold for deciding if the 1st point should be removed. - TPD_ADE_P2 – integer, pressure threshold for deciding if the 2nd point should be removed.
4.4
Capacitive Type Touch Panel Settings
Capacitive type touch panels are usually connected to the device as an external component. Macros following are required definitions for such touch panel.
TPD_POWER_SOURCE Define the power source of the touch panel component.
TPD_I2C_NUMBER Define the i2c controller id the touch panel is connected to.
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 16 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
TPD_WAKEUP_TRIAL Workaround for EETI touch panel. Retry count using when failed to wake up touch panel
TPD_WAKEUP_DELAY Workaround for EETI touch panel. Delay (in ms) between each trial of waking up action.
4.5
Calibration Related
TPD_HAVE_CALIBRATION If it is defined, touch panel calibration functionality will be turned on.
TPD_CALIBRATION_MATRIX It should be an integer array with 6 elements; it is the calibration matrix for touch panel driver. As described as previous section, touch panel points are calibrated via following formula:
TPD_CUSTOM_CALIBRATION If it is defined, one should implement calibration function by oneself; the function prototype is: void tpd_calibrate(int *x, int *y);
TPD_WARP_START TPD_WARP_END These two macros should be defined as an integer array with 4 elements. They should be both defined to enable calibration warp around edge. When they are defined, warp algorithm will be applied to defined edge region, as following figure:
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 17 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
Points around the edge (green + read region) will be warped into warp region (red region).
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 18 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
5. Build 5.1
Source Code Structure & File Description
For MT6516 platform: File
Description
kernel/drivers/input/touchscreen/mt6516/ tpd_adc.c
adc functions for touch panel driver
mtk/src/custom/common/kernel/touchpanel/src/ mt6516_tpd.c tpd_button.c tpd.h tpd_debug.c tpd_debug.h
main entry file of touch panel driver functions for supporting virtual key basic definitions for touch panel drivers for debugging for debugging
mtk/src/custom/common/kernel/touchpanel/eeti_pcap7200/ driver.c
functions for EETI PCAP7200 touch panel
mtk/src/custom/common/kernel/touchpanel/generic/ driver.c
functions for Resistive type touch panel
mtk/src/custom/*/kernel/touchpanel// tpd_custom.h
Customization data for touch panel driver
For MT6573 platform: File
Description
mediatek/platform/mt6573/kernel/drivers/touchpanel/ tpd_adc.c
adc functions for touch panel driver
mediatek/custom/common/kernel /touchpanel/src/ mtk_tpd.c tpd_button.c tpd.h tpd_debug.c tpd_debug.h
main entry file of touch panel driver functions for supporting virtual key basic definitions for touch panel drivers for debugging for debugging
mediatek/src/custom/common/kernel/touchpanel/cy8ctma300/ driver.c
functions for CYPRESS CY8CTMA300 touch panel
mediatek/src/custom/common/kernel/touchpanel /generic/ driver.c
functions for Resistive type touch panel
mediatek/custom//kernel/touchpanel// tpd_custom.h
Customization data for touch panel driver
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 19 of 21
LY
MT65XX Chip Name Confidential B
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
For MT6575 platform: File
Description
mediatek/platform/mt6575/kernel/drivers/touchpanel/ tpd_adc.c
adc functions for touch panel driver
mediatek/custom/common/kernel /touchpanel/src/ mtk_tpd.c tpd_button.c tpd.h tpd_debug.c tpd_debug.h
main entry file of touch panel driver functions for supporting virtual key basic definitions for touch panel drivers for debugging for debugging
mediatek/src/custom/common/kernel/touchpanel/cy8ctma300/ cy8cm300_driver.c
functions for CYPRESS CY8CTMA300 touch panel
mediatek/src/custom/common/kernel/touchpanel /generic/ generic_driver.c
functions for Resistive type touch panel
mediatek/custom//kernel/touchpanel// tpd_custom.h
5.2
Customization data for touch panel driver
Build Option
You may turned off touch panel driver support via kernel configuration files For MT6516 platform: 1. Check the configuration file (usually kernel/.config) 2. Search for CONFIG_INPUT_TOUCHSCREEN. 3. Change it to # CONFIG_INPUT_TOUCHSCREEN is not set 4. Search for CONFIG_TOUCHSCREEN_MT6516=y 5. Change it to # CONFIG_TOUCHSCREEN_MT6516 is not set
Usually our build system generates .config automatically, from kernel/config-mt6516-*. Please refer to the correct source file and modify its content if necessary. For MT6573 platform: 1. Check the configuration file (usually mediate/config//autoconfig/kconfig/project) 2. Search for CONFIG_INPUT_TOUCHSCREEN. 3. Change it to # CONFIG_INPUT_TOUCHSCREEN is not set 4. Search for CONFIG_MTK_TOUCHPANEL 5. Change it to # CONFIG_MTK_TOUCHPANEL is not set For MT6575 platform: 1. Check the configuration file (usually mediate/config//autoconfig/kconfig/project) 2. Search for CONFIG_INPUT_TOUCHSCREEN. 3. Change it to” # CONFIG_INPUT_TOUCHSCREEN is not set” for close R-touch compile Or set” CONFIG_INPUT_TOUCHSCREEN=y” to open R-touch compile 4. Search for CONFIG_MTK_TOUCHPANEL 5. Change it to “# CONFIG_MTK_TOUCHPANEL is not set” for close R-touch compile Or set ““CONFIG_MTK_TOUCHPANEL=y” to open R-touch compile MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 20 of 21
FO M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N
LY
MT65XX Chip Name Confidential B
MediaTek Confidential
© 2011 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.
Page 21 of 21