2024-09-09 08:52:07 +00:00
|
|
|
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
|
2024-09-09 08:57:42 +00:00
|
|
|
- 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.
|
2024-09-09 08:52:07 +00:00
|
|
|
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
|
2024-09-09 08:57:42 +00:00
|
|
|
- synaptics,disable-gpios : specify to disable gpios in suspend (power saving)
|
2024-09-09 08:52:07 +00:00
|
|
|
- synaptics,button-map : virtual key code mappings to be used
|
2024-09-09 08:57:42 +00:00
|
|
|
- synaptics,modify-reso : specify to modify X-Y Maximum coordinates from driver.
|
|
|
|
This is used only if the panel-coordinates are defined.
|
2024-09-09 08:52:07 +00:00
|
|
|
- synaptics,x-flip : modify orientation of the x axis
|
|
|
|
- synaptics,y-flip : modify orientation of the y axis
|
2024-09-09 08:57:42 +00:00
|
|
|
- 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
|
2024-09-09 08:52:07 +00:00
|
|
|
- synaptics,fw-image-name : name of firmware .img file in /etc/firmware
|
2024-09-09 08:57:42 +00:00
|
|
|
- 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.
|
2024-09-09 08:52:07 +00:00
|
|
|
|
|
|
|
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>;
|
2024-09-09 08:57:42 +00:00
|
|
|
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>;
|
2024-09-09 08:52:07 +00:00
|
|
|
synaptics,reset-gpio = <&msmgpio 16 0x00>;
|
|
|
|
synaptics,irq-gpio = <&msmgpio 17 0x00>;
|
|
|
|
synaptics,i2c-pull-up;
|
2024-09-09 08:57:42 +00:00
|
|
|
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>;
|
|
|
|
};
|
2024-09-09 08:52:07 +00:00
|
|
|
};
|
|
|
|
};
|