Merge "input: ft5x06_ts: add proximity feature support"

This commit is contained in:
Linux Build Service Account 2016-08-26 22:22:21 -07:00 committed by Gerrit - the friendly Code Review server
commit 1c416b0f74
4 changed files with 735 additions and 101 deletions

View file

@ -27,6 +27,24 @@ Required properties:
- focaltech,group-id : group id of this device
- focaltech,hard-reset-delay-ms : hard reset delay in ms
- focaltech,soft-reset-delay-ms : soft reset delay in ms
- focaltech,fw-delay-aa-ms : specify the delay in ms after programming 0xaa
register for firmware upgrade
- focaltech,fw-delay-55-ms : specify the delay in ms after programming 0x55
register for firmware upgrade
- focaltech,fw-upgrade-id1 : specify the upgrade id1 for firmware upgrade
- focaltech,fw-upgrade-id2 : specify the upgrade id2 for firmware upgrade
- focaltech,fw-delay-readid-ms : specify the read id delay in ms for firmware upgrade
- focaltech,fw-delay-era-flsh-ms : specify the erase flash delay in ms for firmware upgrade
- pinctrl-names : This should be defined if a target uses pinctrl framework.
See "pinctrl" in Documentation/devicetree/bindings/pinctrl/msm-pinctrl.txt.
Specify the names of the configs that pinctrl can install in driver.
Following are the pinctrl configs that can be installed:
"pmx_ts_active" : Active configuration of pins, this should specify active
config defined in pin groups of interrupt and reset gpio.
"pmx_ts_suspend" : Disabled configuration of pins, this should specify sleep
config defined in pin groups of interrupt and reset gpio.
"pmx_ts_release" : Release configuration of pins, this should specify
release config defined in pin groups of interrupt and reset gpio.
Optional properties:
@ -47,6 +65,11 @@ Optional properties:
- focaltech,fw-auto-cal : specify whether calibration is needed after firmware upgrade
- focaltech,fw-vkey-support : specify if virtual keys are supported through firmware
- focaltech,ignore-id-check : specify ignore family-id check
- focaltech,panel-coords : panel coordinates for the chip in pixels.
It is a four tuple consisting of min x,
min y, max x and max y values
- focaltech,fw-name : specify the firmware file name
- focaltech,psensor-support : specify whether support the proximity sensor
Example:
i2c@f9923000{
@ -57,6 +80,10 @@ Example:
interrupts = <1 0x2>;
vdd-supply = <&pm8110_l19>;
vcc_i2c-supply = <&pm8110_l14>;
pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release";
pinctrl-0 = <&ts_int_active &ts_reset_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&ts_release>;
focaltech,name = "ft6x06";
focaltech,family-id = <0x06>;
focaltech,reset-gpio = <&msmgpio 0 0x00>;
@ -78,5 +105,6 @@ Example:
focaltech,fw-delay-readid-ms = <10>;
focaltech,fw-delay-era-flsh-ms = <2000>;
focaltech,fw-auto-cal;
focaltech,psensor-support;
};
};

View file

@ -1110,6 +1110,15 @@ config TOUCHSCREEN_COLIBRI_VF50
To compile this driver as a module, choose M here: the
module will be called colibri_vf50_ts.
config TOUCHSCREEN_FT5X06_PSENSOR
tristate "FocalTech proximity feature support"
depends on TOUCHSCREEN_FT5X06 && SENSORS
help
Say Y here if you want to support ft5x06's proximity
feature.
If unsure, say N.
config TOUCHSCREEN_MSTAR21XX
tristate "Mstar touchscreens"
depends on I2C

File diff suppressed because it is too large Load diff

View file

@ -22,6 +22,7 @@
#define FT5X16_ID 0x0A
#define FT5X36_ID 0x14
#define FT6X06_ID 0x06
#define FT6X36_ID 0x36
struct fw_upgrade_info {
bool auto_cal;
@ -33,6 +34,14 @@ struct fw_upgrade_info {
u16 delay_erase_flash;
};
struct ft5x06_psensor_platform_data {
struct input_dev *input_psensor_dev;
struct sensors_classdev ps_cdev;
int tp_psensor_opened;
char tp_psensor_data; /* 0 near, 1 far */
struct ft5x06_ts_data *data;
};
struct ft5x06_ts_platform_data {
struct fw_upgrade_info info;
const char *name;
@ -59,6 +68,7 @@ struct ft5x06_ts_platform_data {
bool no_force_update;
bool i2c_pull_up;
bool ignore_id_check;
bool psensor_support;
int (*power_init)(bool);
int (*power_on)(bool);
};