Commit ed7687c7 authored by Frank Li's avatar Frank Li Committed by Dmitry Torokhov
Browse files

dt-bindings: input: touchscreen: convert colibri-vf50-ts.txt to yaml



Convert binding doc colibri-vf50-ts.txt to yaml.
Additional change:
- add ref touchscreen.yaml.
- remove standard pinctrl properties.

Fix below warning:
arch/arm64/boot/dts/freescale/imx8qm-apalis-eval.dtb: /touchscreen:
  failed to match any schema with compatible: ['toradex,vf50-touchscreen']

Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20240819142434.311760-1-Frank.Li@nxp.com


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 4e12e550
Loading
Loading
Loading
Loading
+0 −34
Original line number Diff line number Diff line
* Toradex Colibri VF50 Touchscreen driver

Required Properties:
- compatible must be toradex,vf50-touchscreen
- io-channels: adc channels being used by the Colibri VF50 module
    IIO ADC for Y-, X-, Y+, X+ connections
- xp-gpios: FET gate driver for input of X+
- xm-gpios: FET gate driver for input of X-
- yp-gpios: FET gate driver for input of Y+
- ym-gpios: FET gate driver for input of Y-
- interrupts: pen irq interrupt for touch detection, signal from X plate
- pinctrl-names: "idle", "default"
- pinctrl-0: pinctrl node for pen/touch detection, pinctrl must provide
    pull-up resistor on X+, X-.
- pinctrl-1: pinctrl node for X/Y and pressure measurement (ADC) state pinmux
- vf50-ts-min-pressure: pressure level at which to stop measuring X/Y values

Example:

	touchctrl: vf50_touchctrl {
		compatible = "toradex,vf50-touchscreen";
		io-channels = <&adc1 0>,<&adc0 0>,
				<&adc0 1>,<&adc1 2>;
		xp-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
		xm-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
		yp-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
		ym-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
		interrupt-parent = <&gpio0>;
		interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
		pinctrl-names = "idle","default";
		pinctrl-0 = <&pinctrl_touchctrl_idle>, <&pinctrl_touchctrl_gpios>;
		pinctrl-1 = <&pinctrl_touchctrl_default>, <&pinctrl_touchctrl_gpios>;
		vf50-ts-min-pressure = <200>;
	};
+77 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/toradex,vf50-touchscreen.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Toradex Colibri VF50 Touchscreen

maintainers:
  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
  - Sanchayan Maity <maitysanchayan@gmail.com>

properties:
  compatible:
    const: toradex,vf50-touchscreen

  interrupts:
    maxItems: 1

  io-channels:
    maxItems: 4
    description:
      adc channels being used by the Colibri VF50 module
      IIO ADC for Y-, X-, Y+, X+ connections

  xp-gpios:
    description: FET gate driver for input of X+

  xm-gpios:
    description: FET gate driver for input of X-

  yp-gpios:
    description: FET gate driver for input of Y+

  ym-gpios:
    description: FET gate driver for input of Y-

  vf50-ts-min-pressure:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 50
    maximum: 2000
    description: pressure level at which to stop measuring X/Y values

required:
  - compatible
  - io-channels
  - xp-gpios
  - xm-gpios
  - yp-gpios
  - ym-gpios
  - interrupts
  - vf50-ts-min-pressure

allOf:
  - $ref: touchscreen.yaml#

unevaluatedProperties: false

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

    touchscreen {
        compatible = "toradex,vf50-touchscreen";
        interrupt-parent = <&gpio0>;
        interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
        io-channels = <&adc1 0>, <&adc0 0>, <&adc0 1>, <&adc1 2>;
        xp-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
        xm-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
        yp-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
        ym-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "idle", "default";
        pinctrl-0 = <&pinctrl_touchctrl_idle>, <&pinctrl_touchctrl_gpios>;
        pinctrl-1 = <&pinctrl_touchctrl_default>, <&pinctrl_touchctrl_gpios>;
        vf50-ts-min-pressure = <200>;
    };