Linux 5.3-rc4
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / input / touchscreen / ads7846.txt
1 Device tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
2 SPI driven touch screen controllers.
3
4 The node for this driver must be a child node of a SPI controller, hence
5 all mandatory properties described in
6
7         Documentation/devicetree/bindings/spi/spi-bus.txt
8
9 must be specified.
10
11 Additional required properties:
12
13         compatible              Must be one of the following, depending on the
14                                 model:
15                                         "ti,tsc2046"
16                                         "ti,ads7843"
17                                         "ti,ads7845"
18                                         "ti,ads7846"
19                                         "ti,ads7873"
20
21         interrupts              An interrupt node describing the IRQ line the chip's
22                                 !PENIRQ pin is connected to.
23         vcc-supply              A regulator node for the supply voltage.
24
25
26 Optional properties:
27
28         ti,vref-delay-usecs             vref supply delay in usecs, 0 for
29                                         external vref (u16).
30         ti,vref-mv                      The VREF voltage, in millivolts (u16).
31                                         Set to 0 to use internal references
32                                         (ADS7846).
33         ti,keep-vref-on                 set to keep vref on for differential
34                                         measurements as well
35         ti,swap-xy                      swap x and y axis
36         ti,settle-delay-usec            Settling time of the analog signals;
37                                         a function of Vcc and the capacitance
38                                         on the X/Y drivers.  If set to non-zero,
39                                         two samples are taken with settle_delay
40                                         us apart, and the second one is used.
41                                         ~150 uSec with 0.01uF caps (u16).
42         ti,penirq-recheck-delay-usecs   If set to non-zero, after samples are
43                                         taken this delay is applied and penirq
44                                         is rechecked, to help avoid false
45                                         events.  This value is affected by the
46                                         material used to build the touch layer
47                                         (u16).
48         ti,x-plate-ohms                 Resistance of the X-plate,
49                                         in Ohms (u16).
50         ti,y-plate-ohms                 Resistance of the Y-plate,
51                                         in Ohms (u16).
52         ti,x-min                        Minimum value on the X axis (u16).
53         ti,y-min                        Minimum value on the Y axis (u16).
54         ti,x-max                        Maximum value on the X axis (u16).
55         ti,y-max                        Minimum value on the Y axis (u16).
56         ti,pressure-min                 Minimum reported pressure value
57                                         (threshold) - u16.
58         ti,pressure-max                 Maximum reported pressure value (u16).
59         ti,debounce-max                 Max number of additional readings per
60                                         sample (u16).
61         ti,debounce-tol                 Tolerance used for filtering (u16).
62         ti,debounce-rep                 Additional consecutive good readings
63                                         required after the first two (u16).
64         ti,pendown-gpio-debounce        Platform specific debounce time for the
65                                         pendown-gpio (u32).
66         pendown-gpio                    GPIO handle describing the pin the !PENIRQ
67                                         line is connected to.
68         wakeup-source                   use any event on touchscreen as wakeup event.
69                                         (Legacy property support: "linux,wakeup")
70
71
72 Example for a TSC2046 chip connected to an McSPI controller of an OMAP SoC::
73
74         spi_controller {
75                 tsc2046@0 {
76                         reg = <0>;      /* CS0 */
77                         compatible = "ti,tsc2046";
78                         interrupt-parent = <&gpio1>;
79                         interrupts = <8 0>;     /* BOOT6 / GPIO 8 */
80                         spi-max-frequency = <1000000>;
81                         pendown-gpio = <&gpio1 8 0>;
82                         vcc-supply = <&reg_vcc3>;
83
84                         ti,x-min = /bits/ 16 <0>;
85                         ti,x-max = /bits/ 16 <8000>;
86                         ti,y-min = /bits/ 16 <0>;
87                         ti,y-max = /bits/ 16 <4800>;
88                         ti,x-plate-ohms = /bits/ 16 <40>;
89                         ti,pressure-max = /bits/ 16 <255>;
90
91                         wakeup-source;
92                 };
93         };