Commit 55f2645c authored by Jeff LaBundy's avatar Jeff LaBundy Committed by Dmitry Torokhov
Browse files

dt-bindings: input: iqs5xx: Convert to YAML



This patch converts the legacy text-based binding document to YAML
format. Extraneous details and touchscreen properties that weren't
actually supported have been dropped.

The reset GPIO has since been made optional in the driver; this is
now reflected here as well.

Signed-off-by: default avatarJeff LaBundy <jeff@labundy.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210323021006.367-2-jeff@labundy.com


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 9d41359c
Loading
Loading
Loading
Loading
+75 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/azoteq,iqs5xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Azoteq IQS550/572/525 Trackpad/Touchscreen Controller

maintainers:
  - Jeff LaBundy <jeff@labundy.com>

description: |
  The Azoteq IQS550, IQS572 and IQS525 trackpad and touchscreen controllers
  employ projected-capacitance sensing and can track up to five independent
  contacts.

  Link to datasheet: https://www.azoteq.com/

allOf:
  - $ref: touchscreen.yaml#

properties:
  compatible:
    enum:
      - azoteq,iqs550
      - azoteq,iqs572
      - azoteq,iqs525

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  reset-gpios:
    maxItems: 1

  wakeup-source: true

  touchscreen-size-x: true
  touchscreen-size-y: true
  touchscreen-inverted-x: true
  touchscreen-inverted-y: true
  touchscreen-swapped-x-y: true

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
            #address-cells = <1>;
            #size-cells = <0>;

            touchscreen@74 {
                    compatible = "azoteq,iqs550";
                    reg = <0x74>;
                    interrupt-parent = <&gpio>;
                    interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
                    reset-gpios = <&gpio 22 (GPIO_ACTIVE_LOW |
                                             GPIO_PUSH_PULL)>;

                    touchscreen-size-x = <800>;
                    touchscreen-size-y = <480>;
            };
    };

...
+0 −80
Original line number Diff line number Diff line
Azoteq IQS550/572/525 Trackpad/Touchscreen Controller

Required properties:

- compatible			: Must be equal to one of the following:
				  "azoteq,iqs550"
				  "azoteq,iqs572"
				  "azoteq,iqs525"

- reg				: I2C slave address for the device.

- interrupts			: GPIO to which the device's active-high RDY
				  output is connected (see [0]).

- reset-gpios			: GPIO to which the device's active-low NRST
				  input is connected (see [1]).

Optional properties:

- touchscreen-min-x		: See [2].

- touchscreen-min-y		: See [2].

- touchscreen-size-x		: See [2]. If this property is omitted, the
				  maximum x-coordinate is specified by the
				  device's "X Resolution" register.

- touchscreen-size-y		: See [2]. If this property is omitted, the
				  maximum y-coordinate is specified by the
				  device's "Y Resolution" register.

- touchscreen-max-pressure	: See [2]. Pressure is expressed as the sum of
				  the deltas across all channels impacted by a
				  touch event. A channel's delta is calculated
				  as its count value minus a reference, where
				  the count value is inversely proportional to
				  the channel's capacitance.

- touchscreen-fuzz-x		: See [2].

- touchscreen-fuzz-y		: See [2].

- touchscreen-fuzz-pressure	: See [2].

- touchscreen-inverted-x	: See [2]. Inversion is applied relative to that
				  which may already be specified by the device's
				  FLIP_X and FLIP_Y register fields.

- touchscreen-inverted-y	: See [2]. Inversion is applied relative to that
				  which may already be specified by the device's
				  FLIP_X and FLIP_Y register fields.

- touchscreen-swapped-x-y	: See [2]. Swapping is applied relative to that
				  which may already be specified by the device's
				  SWITCH_XY_AXIS register field.

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[1]: Documentation/devicetree/bindings/gpio/gpio.txt
[2]: Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt

Example:

	&i2c1 {
		/* ... */

		touchscreen@74 {
			compatible = "azoteq,iqs550";
			reg = <0x74>;
			interrupt-parent = <&gpio>;
			interrupts = <17 4>;
			reset-gpios = <&gpio 27 1>;

			touchscreen-size-x = <640>;
			touchscreen-size-y = <480>;

			touchscreen-max-pressure = <16000>;
		};

		/* ... */
	};