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