[PATCH v3 3/8] Input: synaptics-rmi4: Add dribble and palm gesture parameters to device tree

From: Andrew Duggan
Date: Thu Jul 14 2016 - 02:09:00 EST


Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx>
---
This version includes Nick's suggestion of adding force to the device tree
parameters so make it obvious that these parameters overwrite the
default values set in the firware config.

.../devicetree/bindings/input/rmi4/rmi_2d_sensor.txt | 10 ++++++++++
drivers/input/rmi4/rmi_2d_sensor.c | 13 +++++++++++++
2 files changed, 23 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt b/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
index f2c30c8..c00665d 100644
--- a/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
+++ b/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
@@ -37,6 +37,16 @@ Optional Properties:
disable reporing absolute position data.
- syna,rezero-wait-ms: Time in miliseconds to wait after issuing a rezero
command.
+- syna,dribble-force-enable: Enable reporting of dribble packets in the firmware
+ (overwrites default value in firmware config).
+- syna,dribble-force-disable: Disable reporting of dribble packets in the firmware.
+ (overwrites default value in firmware config).
+- syna,palm-detect-force-enable: Enable reporting the palm detect gesture in the
+ firmware. (overwrites default value in firmware
+ config).
+- syna,palm-detect-force-disable: Disable reporting the palm detect gesture in
+ the firmware. (overwrites default value in
+ firmware config).


Example of a RMI4 I2C device with F11:
diff --git a/drivers/input/rmi4/rmi_2d_sensor.c b/drivers/input/rmi4/rmi_2d_sensor.c
index e97bd7f..a092f6a 100644
--- a/drivers/input/rmi4/rmi_2d_sensor.c
+++ b/drivers/input/rmi4/rmi_2d_sensor.c
@@ -317,6 +317,19 @@ int rmi_2d_sensor_of_probe(struct device *dev,

pdata->rezero_wait = val;

+ if (of_property_read_bool(dev->of_node, "syna,dribble-force-enable"))
+ pdata->dribble = RMI_REG_STATE_ON;
+ else if (of_property_read_bool(dev->of_node,
+ "syna,dribble-force-disable"))
+ pdata->dribble = RMI_REG_STATE_OFF;
+
+ if (of_property_read_bool(dev->of_node,
+ "syna,palm-detect-force-enable"))
+ pdata->palm_detect = RMI_REG_STATE_ON;
+ else if (of_property_read_bool(dev->of_node,
+ "syna,palm-detect-force-disable"))
+ pdata->palm_detect = RMI_REG_STATE_OFF;
+
return 0;
}
#else
--
2.5.0