Merge "input: ft5x06_ts: Parse board specific parameters from pdata"

This commit is contained in:
Linux Build Service Account 2016-08-18 12:03:56 -07:00 committed by Gerrit - the friendly Code Review server
commit cfa9893e4a
3 changed files with 567 additions and 232 deletions

View file

@ -22,7 +22,11 @@ Required properties:
- focaltech,reset-gpio : reset gpio to control the reset of chip.
- focaltech,display-coords : display coordinates in pixels. It is a four
tuple consisting of min x, min y, max x and
max y values.
max y values
- focaltech,name : name of the controller
- 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
Optional properties:
@ -32,22 +36,44 @@ Optional properties:
- focaltech,i2c-pull-up : to specify pull up is required.
- focaltech,no-force-update : to specify force update is allowed.
- focaltech,button-map : button map of key codes. The number
of key codes depend on panel.
of key codes depend on panel
- focaltech,fw-name : specify the firmware file name
- focaltech,fw-delay-aa-ms : specify the "aa" delay in ms for firmware upgrade
- focaltech,fw-delay-55-ms : specify the "55" delay in ms 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
- focaltech,fw-auto-cal : specify whether calibration is needed after firmware upgrade
Example:
i2c@f9924000 {
ft5x06_ts@38 {
i2c@f9923000{
focaltech@38{
compatible = "focaltech,5x06";
reg = <0x38>;
interrupt-parent = <&msmgpio>;
interrupts = <61 0x2>;
vdd-supply = <&pm8941_l22>;
vcc_i2c-supply = <&pm8941_s3>;
focaltech,reset-gpio = <&msmgpio 60 0x00>;
focaltech,irq-gpio = <&msmgpio 61 0x00>;
focaltech,panel-coords = <0 0 480 800>;
interrupts = <1 0x2>;
vdd-supply = <&pm8110_l19>;
vcc_i2c-supply = <&pm8110_l14>;
focaltech,name = "ft6x06";
focaltech,family-id = <0x06>;
focaltech,reset-gpio = <&msmgpio 0 0x00>;
focaltech,irq-gpio = <&msmgpio 1 0x00>;
focaltech,display-coords = <0 0 480 800>;
focaltech,button-map= <158 102 139 217>;
focaltech,family-id = <0x0a>;
focaltech,panel-coords = <0 0 480 800>;
focaltech,button-map= <139 102 158>;
focaltech,no-force-update;
focaltech,i2c-pull-up;
focaltech,group-id = <1>;
focaltech,hard-reset-delay = <20>;
focaltech,soft-reset-delay = <150>;
focaltech,num-max-touches = <2>;
focaltech,fw-name = "ft_8610_qrd_fw.bin";
focaltech,fw-delay-aa-ms = <100>;
focaltech,fw-delay-55-ms = <30>;
focaltech,fw-upgrade-id1 = <0x79>;
focaltech,fw-upgrade-id2 = <0x08>;
focaltech,fw-delay-readid-ms = <10>;
focaltech,fw-delay-era-flsh-ms = <2000>;
focaltech,fw-auto-cal;
};
};

File diff suppressed because it is too large Load diff

View file

@ -23,7 +23,20 @@
#define FT5X36_ID 0x14
#define FT6X06_ID 0x06
struct fw_upgrade_info {
bool auto_cal;
u16 delay_aa;
u16 delay_55;
u8 upgrade_id_1;
u8 upgrade_id_2;
u16 delay_readid;
u16 delay_erase_flash;
};
struct ft5x06_ts_platform_data {
struct fw_upgrade_info info;
const char *name;
const char *fw_name;
u32 irqflags;
u32 irq_gpio;
u32 irq_gpio_flags;
@ -38,6 +51,10 @@ struct ft5x06_ts_platform_data {
u32 panel_miny;
u32 panel_maxx;
u32 panel_maxy;
u32 group_id;
u32 hard_rst_dly;
u32 soft_rst_dly;
u32 num_max_touches;
bool no_force_update;
bool i2c_pull_up;
int (*power_init)(bool);