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