ITE Tech. touch controller The ITE Tech. touch 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 "ite,it7260_ts" - reg : i2c slave address of the device - interrupt-parent : parent of interrupt - interrupts : touch sample interrupt to indicate presence or release of fingers on the panel. - ite,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. - ite,reset-gpio : reset gpio to control the reset of chip - ite,reset-delay : reset delay for controller (ms), default 20 Optional properties: - avdd-supply : Analog power supply needed to power device - vdd-supply : Power source required to pull up i2c bus - ite,wakeup : boolean, use this to support touch-to-wake feature. - ite,palm-detect-en : boolean, use this to send palm-detect-keycode when palm is detected. - ite,fw-name : Specify firmware file name in /etc/firmware - ite,cfg-name : Specify config file name in /etc/firmware - ite,panel-coords : touch panel min x, min y, max x and max y resolution - ite,display-coords : display min x, min y, max x and max y resolution - ite,num-fingers : number of fingers supported by the touch controller - pinctrl-names : This should be defined if a target uses pinctrl framework. See "pinctrl" in Documentation/devicetree/bindings/pinctrl/msm-pinctrl.txt. It should 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. - ite,low-reset : boolean, if the controller needs low-state of the reset gpio while initializing, and reset gpio should be made as high-state to reset the controller. It means the controller needs "active-high" reset gpio. - ite,avdd-lpm-cur : avdd lpm current value(mA) in suspend state. Required properties palm-detect-en feature: - ite,palm-detect-keycode : The keycode that is required to be sent when palm is detected by the ITE tech driver. Example: i2c@f9927000 { it7260@46 { compatible = "ite,it7260_ts"; reg = <0x46>; interrupt-parent = <&msmgpio>; /* pins used by touchscreen */ 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> interrupts = <17 0x2>; avdd-supply = <&pm8226_l19>; vdd-supply = <&pm8226_lvs1>; ite,reset-gpio = <&msmgpio 16 0x00>; ite,irq-gpio = <&msmgpio 17 0x2008>; ite,wakeup; ite,palm-detect-en; ite,palm-detect-keycode = <142>; ite,fw-name = "ite7260_fw.bin"; ite,cfg-name = "ite7260_cfg.bin"; ite,panel-coords = <0 0 320 320>; ite,display-coords = <0 0 320 320>; ite,num-fingers = <2>; ite,reset-delay = <20>; ite,low-reset; ite,vdd-lpm-cur = <3000>; }; };