[PATCH RFC 1/3] dt-bindings: input: touchscreen: edt-ft5x06: Add wakeup gestures
From: David Heidelberg via B4 Relay
Date: Wed Nov 04 2026 - 07:56:03 EST
From: David Heidelberg <david@xxxxxxx>
The FocalTech controllers have a gesture mode in which the firmware
keeps detecting a configurable set of gestures and signals them on the
interrupt line, so they can wake the system. Describe the gestures as
event child nodes carrying the key code to report, like the Azoteq
IQS7211 binding does, so that the mapping is the board's choice and
more gestures can be added later without changing the driver
interface.
Signed-off-by: David Heidelberg <david@xxxxxxx>
---
.../bindings/input/touchscreen/edt-ft5x06.yaml | 37 ++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
index 68b2f16016543..bfc540665a2d2 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
+++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
@@ -106,16 +106,35 @@ properties:
threshold:
description: Allows setting the "click"-threshold in the range from 0 to 255.
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 0
maximum: 255
interrupt-controller: true
+patternProperties:
+ "^event-(tap-double|swipe-(up|down|left|right))$":
+ type: object
+ $ref: ../input.yaml#
+ description:
+ A gesture the controller keeps detecting in its gesture mode, reported
+ as a key on a separate input device. Gesture mode is entered when the
+ touchscreen input device is closed or the system suspends, provided
+ the device may wake up the system. Only controllers whose firmware
+ implements the gesture registers support these nodes.
+
+ properties:
+ linux,code: true
+
+ required:
+ - linux,code
+
+ additionalProperties: false
+
unevaluatedProperties: false
required:
- compatible
- reg
- interrupts
examples:
@@ -130,9 +149,27 @@ examples:
reg = <0x38>;
interrupt-parent = <&gpio2>;
interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
};
};
+ - |
+ #include <dt-bindings/input/input.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ touchscreen@38 {
+ compatible = "focaltech,ft5452";
+ reg = <0x38>;
+ interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
+ wakeup-source;
+
+ event-tap-double {
+ linux,code = <KEY_WAKEUP>;
+ };
+ };
+ };
+
...
--
2.55.0