Re: [PATCH v7 1/2] dt-bindings: input: touchscreen: add Hynitron CST816X
From: Conor Dooley <conor@kernel.org>
Date: 2024-09-12 17:29:30
Also in:
linux-devicetree, lkml
On Thu, Sep 12, 2024 at 03:28:22PM +0200, Oleh Kuzhylnyi wrote:
quoted hunk ↗ jump to hunk
Add documentation for the Hynitron CST816X touchscreen bindings. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Oleh Kuzhylnyi <redacted> --- Changes in v7: - Introduce the gestures field along with its sub-fields - Make reset-gpio property optional - Extend main description - Remove "touchscreen" reference Changes in v6: - Fix minor tweak adviced by Krzysztof: - Move additionalProperties field after required Changes in v5: - No code changes Changes in v4: - Add Conor's Dooley "Reviewed-by" tag Changes in v3: - Rename filename to hynitron,cst816s.yaml - Update description with display details Changes in v2: - Apply pin definitions and DT headers - Use generic name for DT node - Drop status field .../input/touchscreen/hynitron,cst816s.yaml | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/touchscreen/hynitron,cst816s.yamldiff --git a/Documentation/devicetree/bindings/input/touchscreen/hynitron,cst816s.yaml b/Documentation/devicetree/bindings/input/touchscreen/hynitron,cst816s.yaml new file mode 100644 index 000000000000..99ac29da7a5a --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/hynitron,cst816s.yaml@@ -0,0 +1,126 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/touchscreen/hynitron,cst816s.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Hynitron CST816S Touchscreen controller + +description: + The CST816S is a touchscreen controller from Hynitron, which supports gesture + recognition for swipe directions, tap, and long-press actions. This binding + document defines the necessary properties for integrating the CST816S with + a Linux system. + +maintainers: + - Oleh Kuzhylnyi <kuzhylol@gmail.com> + +properties: + compatible: + enum: + - hynitron,cst816s + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + reset-gpios: + maxItems: 1 + description: + Optional GPIO line used to reset the touchscreen controller. + optional: true + + gestures: + type: object + description: + A list of gestures supported by the CST816S touchscreen controller and + their associated Linux input event codes. + optional: true + + properties: + "^.*$":
Did I really ack this with a .* regex? Surely there's a limit on what kinds of gestures that it can recognise?
+ type: object + description: + Each child node represents a gesture that the touchscreen controller + can recognize. + + properties: + cst816x,gesture:
This isn't a valid vendor prefix. Please remove received acks/reviews if you make non-trivial changes to a reviewed patch, I wouldn't have acked this.
+ description:
+ Numeric value representing the gesture ID recognized by the
+ CST816S touchscreen controller.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ linux,code:
+ description:
+ Linux input event code (from linux/input-event-codes.h) that
+ corresponds to the gesture.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ required:
+ - cst816x,gesture
+ - linux,code
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/input/linux-event-codes.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ touchscreen@15 {
+ compatible = "hynitron,cst816s";
+ reg = <0x15>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <4 IRQ_TYPE_EDGE_RISING>;
+ reset-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+
+ gestures {
+ swipe_up {
+ cst816x,gesture = <0x1>;
+ linux,code = <BTN_FORWARD>;
+ };
+
+ swipe_down {
+ cst816x,gesture = <0x2>;
+ linux,code = <BTN_BACK>;
+ };
+
+ swipe_left {
+ cst816x,gesture = <0x3>;
+ linux,code = <BTN_LEFT>;
+ };
+
+ swipe_right {
+ cst816x,gesture = <0x4>;
+ linux,code = <BTN_RIGHT>;
+ };
+
+ single_tap {
+ cst816x,gesture = <0x5>;
+ linux,code = <BTN_TOUCH>;
+ };
+
+ long_press {
+ cst816x,gesture = <0xC>;
+ linux,code = <BTN_TOOL_TRIPLETAP>;
+ };
+ };
+ };
+ };
+
+...
--
2.34.1 Attachments
- signature.asc [application/pgp-signature] 228 bytes