M7350/kernel/Documentation/devicetree/bindings/input/touchscreen/synaptics_i2c_rmi4.txt
2024-09-09 08:57:42 +00:00

101 lines
4.1 KiB
Plaintext

Synaptics touch controller
Required properties:
- compatible : should be "synaptics,rmi4"
- 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.
- synaptics,irq-gpio : irq gpio
- synaptics,reset-gpio : reset gpio
- 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.
Optional property:
- vdd-supply : Analog power supply needed to power device
- vcc_i2c-supply : Power source required to pull up i2c bus
- synaptics,i2c-pull-up : specify to indicate pull up is needed
- synaptics,disable-gpios : specify to disable gpios in suspend (power saving)
- synaptics,button-map : virtual key code mappings to be used
- synaptics,modify-reso : specify to modify X-Y Maximum coordinates from driver.
This is used only if the panel-coordinates are defined.
- synaptics,x-flip : modify orientation of the x axis
- synaptics,y-flip : modify orientation of the y axis
- synaptics,panel-coords : touch panel min x, min y, max x and
max y resolution
- synaptics,display-coords : display min x, min y, max x and
max y resolution
- synaptics,reset-delay : reset delay for controller (ms), default 100
- synaptics,fw-image-name : name of firmware .img file in /etc/firmware
- synaptics,power-down : fully power down regulators in suspend
- synaptics,do-lockdown : perform one time lockdown procedure
- synaptics,detect-device : Define this property when two Synaptics Touchscreen controllers
need to be supported without changing the DT. In this case, all
such devices are placed as child nodes of Synaptics touchscreen
node. Following are the properties that can be defined inside
these child nodes:
- synaptics-package-id
- synaptics,panel-coords
- synaptics-display-coords
- synaptics,button-map
Optional properties inside child node:
These properties are defined only when synaptics,detect-device property is defined in DT.
- synaptics,package-id : Specifies the Package Id of touch controller.
- synaptics,panel-coords : Specifies the Touch panel min x, min y, max x and max y
resolution.
- synaptics,display-coords : Specifies the display min x, min y, max x and max y
resolution.
- synaptics,button-map : virtual key code mappings to be used.
Example:
i2c@f9927000 { /* BLSP1 QUP5 */
cell-index = <5>;
compatible = "qcom,i2c-qup";
#address-cells = <1>;
#size-cells = <0>;
reg-names = "qup_phys_addr";
reg = <0xf9927000 0x1000>;
interrupt-names = "qup_err_intr";
interrupts = <0 99 0>;
gpios = <&msmgpio 19 0>, /* SCL */
<&msmgpio 18 0>; /* SDA */
qcom,i2c-bus-freq = <100000>;
qcom,i2c-src-freq = <19200000>;
synaptics@20 {
compatible = "synaptics,rmi4"
reg = <0x20>;
interrupt-parent = <&msmgpio>;
interrupts = <17 0x2>;
vdd-supply = <&pm8226_l19>;
vcc_i2c-supply = <&pm8226_lvs1>;
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-1 = <&ts_release>;
synaptics,reset-gpio = <&msmgpio 16 0x00>;
synaptics,irq-gpio = <&msmgpio 17 0x00>;
synaptics,i2c-pull-up;
synaptics,modify-reso;
synaptics,detect-device;
synaptics,device1 {
synaptics,package-id = <3202>;
synaptics,button-map = <139 172 158>;
};
synaptics,device2 {
synaptics,package-id = <3408>;
synaptics,display-coords = <0 0 1079 1919>;
synaptics,panel-coords = <0 0 1079 2084>;
};
};
};