On Thu, Sep 12, 2024 at 03:28:22PM +0200, Oleh Kuzhylnyi wrote: > Add documentation for the Hynitron CST816X touchscreen bindings. > > Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> > Signed-off-by: Oleh Kuzhylnyi <kuzhylol@xxxxxxxxx> > --- > > 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.yaml > > diff --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@xxxxxxxxx> > + > +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 >
Attachment:
signature.asc
Description: PGP signature