xref: /linux/Documentation/devicetree/bindings/input/touchscreen/ti,ads7843.yaml (revision 45d6486d2a5ad4310c1379071fc39d02d6784cbe)
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/ti,ads7843.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI's SPI driven touch screen controllers
8
9maintainers:
10  - Alexander Stein <alexander.stein@ew.tq-group.com>
11  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
12  - Marek Vasut <marex@denx.de>
13
14description:
15  TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046 SPI driven touch screen
16  controllers.
17
18properties:
19  compatible:
20    enum:
21      - ti,ads7843
22      - ti,ads7845
23      - ti,ads7846
24      - ti,ads7873
25      - ti,tsc2046
26
27  interrupts:
28    maxItems: 1
29
30  pendown-gpio:
31    maxItems: 1
32    description:
33      GPIO handle describing the pin the !PENIRQ line is connected to.
34
35  vcc-supply:
36    description:
37      A regulator node for the supply voltage.
38
39  wakeup-source: true
40
41  ti,debounce-max:
42    deprecated: true
43    $ref: /schemas/types.yaml#/definitions/uint16
44    description:
45      Max number of additional readings per sample.
46
47  ti,debounce-rep:
48    $ref: /schemas/types.yaml#/definitions/uint16
49    description:
50      Additional consecutive good readings required after the first two.
51
52  ti,debounce-tol:
53    $ref: /schemas/types.yaml#/definitions/uint16
54    description:
55      Tolerance used for filtering.
56
57  ti,hsync-gpios:
58    maxItems: 1
59    description:
60      GPIO line to poll for hsync.
61
62  ti,keep-vref-on:
63    $ref: /schemas/types.yaml#/definitions/flag
64    description:
65      Set to keep Vref on for differential measurements as well.
66
67  ti,pendown-gpio-debounce:
68    $ref: /schemas/types.yaml#/definitions/uint32
69    description:
70      Platform specific debounce time for the pendown-gpio.
71
72  ti,penirq-recheck-delay-usecs:
73    $ref: /schemas/types.yaml#/definitions/uint16
74    description:
75      If set to non-zero, after samples are taken this delay is applied and
76      penirq is rechecked, to help avoid false events.  This value is
77      affected by the material used to build the touch layer.
78
79  ti,pressure-max:
80    deprecated: true
81    $ref: /schemas/types.yaml#/definitions/uint16
82    description:
83      Maximum reported pressure value.
84
85  ti,pressure-min:
86    deprecated: true
87    $ref: /schemas/types.yaml#/definitions/uint16
88    description:
89      Minimum reported pressure value (threshold).
90
91  ti,settle-delay-usec:
92    $ref: /schemas/types.yaml#/definitions/uint16
93    description:
94      Settling time of the analog signals; a function of Vcc and the
95      capacitance on the X/Y drivers.  If set to non-zero, two samples are
96      taken with settle_delay us apart, and the second one is used. ~150
97      uSec with 0.01uF caps.
98
99  ti,swap-xy:
100    deprecated: true
101    $ref: /schemas/types.yaml#/definitions/flag
102    description:
103      Swap x and y axis.
104
105  ti,vref-delay-usecs:
106    $ref: /schemas/types.yaml#/definitions/uint16
107    description:
108      Vref supply delay in usecs, 0 for external Vref.
109
110  ti,vref-mv:
111    $ref: /schemas/types.yaml#/definitions/uint16
112    description:
113      The VREF voltage, in millivolts.
114      Set to 0 to use internal references (ADS7846).
115
116  ti,x-plate-ohms:
117    $ref: /schemas/types.yaml#/definitions/uint16
118    description:
119      Resistance of the X-plate, in Ohms.
120
121  ti,x-max:
122    deprecated: true
123    $ref: /schemas/types.yaml#/definitions/uint16
124    description:
125      Maximum value on the X axis.
126
127  ti,x-min:
128    deprecated: true
129    $ref: /schemas/types.yaml#/definitions/uint16
130    description:
131      Minimum value on the X axis.
132
133  ti,y-plate-ohms:
134    $ref: /schemas/types.yaml#/definitions/uint16
135    description:
136      Resistance of the Y-plate, in Ohms.
137
138  ti,y-max:
139    deprecated: true
140    $ref: /schemas/types.yaml#/definitions/uint16
141    description:
142      Maximum value on the Y axis.
143
144  ti,y-min:
145    deprecated: true
146    $ref: /schemas/types.yaml#/definitions/uint16
147    description:
148      Minimum value on the Y axis.
149
150required:
151  - compatible
152  - reg
153
154allOf:
155  - $ref: touchscreen.yaml#
156  - $ref: /schemas/spi/spi-peripheral-props.yaml#
157
158unevaluatedProperties: false
159
160examples:
161  - |
162    spi{
163        #address-cells = <1>;
164        #size-cells = <0>;
165
166        touchscreen@0 {
167           compatible = "ti,tsc2046";
168           reg = <0>;	/* CS0 */
169           interrupt-parent = <&gpio1>;
170           interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
171           pendown-gpio = <&gpio1 8 0>;
172           spi-max-frequency = <1000000>;
173           vcc-supply = <&reg_vcc3>;
174           wakeup-source;
175
176           ti,pressure-max = /bits/ 16 <255>;
177           ti,x-max = /bits/ 16 <8000>;
178           ti,x-min = /bits/ 16 <0>;
179           ti,x-plate-ohms = /bits/ 16 <40>;
180           ti,y-max = /bits/ 16 <4800>;
181           ti,y-min = /bits/ 16 <0>;
182       };
183    };
184