xref: /linux/Documentation/devicetree/bindings/input/touchscreen/toradex,vf50-touchscreen.yaml (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/touchscreen/toradex,vf50-touchscreen.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Toradex Colibri VF50 Touchscreen
8
9maintainers:
10  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
11  - Sanchayan Maity <maitysanchayan@gmail.com>
12
13properties:
14  compatible:
15    const: toradex,vf50-touchscreen
16
17  interrupts:
18    maxItems: 1
19
20  io-channels:
21    maxItems: 4
22    description:
23      adc channels being used by the Colibri VF50 module
24      IIO ADC for Y-, X-, Y+, X+ connections
25
26  xp-gpios:
27    description: FET gate driver for input of X+
28
29  xm-gpios:
30    description: FET gate driver for input of X-
31
32  yp-gpios:
33    description: FET gate driver for input of Y+
34
35  ym-gpios:
36    description: FET gate driver for input of Y-
37
38  vf50-ts-min-pressure:
39    $ref: /schemas/types.yaml#/definitions/uint32
40    minimum: 50
41    maximum: 2000
42    description: pressure level at which to stop measuring X/Y values
43
44required:
45  - compatible
46  - io-channels
47  - xp-gpios
48  - xm-gpios
49  - yp-gpios
50  - ym-gpios
51  - interrupts
52  - vf50-ts-min-pressure
53
54allOf:
55  - $ref: touchscreen.yaml#
56
57unevaluatedProperties: false
58
59examples:
60  - |
61    #include <dt-bindings/interrupt-controller/irq.h>
62    #include <dt-bindings/gpio/gpio.h>
63
64    touchscreen {
65        compatible = "toradex,vf50-touchscreen";
66        interrupt-parent = <&gpio0>;
67        interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
68        io-channels = <&adc1 0>, <&adc0 0>, <&adc0 1>, <&adc1 2>;
69        xp-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
70        xm-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
71        yp-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
72        ym-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
73        pinctrl-names = "idle", "default";
74        pinctrl-0 = <&pinctrl_touchctrl_idle>, <&pinctrl_touchctrl_gpios>;
75        pinctrl-1 = <&pinctrl_touchctrl_default>, <&pinctrl_touchctrl_gpios>;
76        vf50-ts-min-pressure = <200>;
77    };
78