blob: f7494c4c6e2b06e37b6f535dceb6c998e0534ccd [file] [log] [blame]
FocalTech touch controller
The focaltech controller is connected to host processor
via i2c. The controller generates interrupts when the
user touches the panel. The host controller is expected
to read the touch coordinates over i2c and pass the coordinates
to the rest of the system.
Required properties:
- compatible : should be "focaltech,5x06".
- reg : i2c slave address of the device.
- interrupt-parent : parent of interrupt.
- interrupts : touch sample interrupt to indicate presense or release
of fingers on the panel.
- vdd-supply : Power supply needed to power up the device.
- vcc_i2c-supply : Power source required to power up i2c bus.
- focaltech,family-id : family identification of the controller.
- focaltech,irq-gpio : irq gpio which is to provide interrupts to host,
same as "interrupts" node. It will also
contain active low or active high information.
- 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
- 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
- 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:
- 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,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
- 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
- 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
- focaltech,gesture-support : specify whether support gesture feature
- focaltech,resume-in-workqueue : specifiy whether to defer the resume to workqueue
- clock-names: : Clock names used for secure touch. They are: "iface_clk", "core_clk"
- clocks : Defined if 'clock-names' DT property is defined. These clocks
are associated with the underlying I2C bus.
Example:
i2c@f9923000{
focaltech@38{
compatible = "focaltech,5x06";
reg = <0x38>;
interrupt-parent = <&msmgpio>;
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>;
focaltech,irq-gpio = <&msmgpio 1 0x00>;
focaltech,display-coords = <0 0 480 800>;
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;
focaltech,psensor-support;
focaltech,gesture-support;
/* Underlying clocks used by secure touch */
clock-names = "iface_clk", "core_clk";
clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
<&clock_gcc clk_gcc_blsp1_qup3_i2c_apps_clk>;
};
};