Merge tag 'ieee802154-for-davem-2019-11-13' of git://git.kernel.org/pub/scm/linux...
[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,settle-delay-usec            Settling time of the analog signals;
36                                         a function of Vcc and the capacitance
37                                         on the X/Y drivers.  If set to non-zero,
38                                         two samples are taken with settle_delay
39                                         us apart, and the second one is used.
40                                         ~150 uSec with 0.01uF caps (u16).
41         ti,penirq-recheck-delay-usecs   If set to non-zero, after samples are
42                                         taken this delay is applied and penirq
43                                         is rechecked, to help avoid false
44                                         events.  This value is affected by the
45                                         material used to build the touch layer
46                                         (u16).
47         ti,x-plate-ohms                 Resistance of the X-plate,
48                                         in Ohms (u16).
49         ti,y-plate-ohms                 Resistance of the Y-plate,
50                                         in Ohms (u16).
51         ti,x-min                        Minimum value on the X axis (u16).
52         ti,y-min                        Minimum value on the Y axis (u16).
53         ti,debounce-tol                 Tolerance used for filtering (u16).
54         ti,debounce-rep                 Additional consecutive good readings
55                                         required after the first two (u16).
56         ti,pendown-gpio-debounce        Platform specific debounce time for the
57                                         pendown-gpio (u32).
58         pendown-gpio                    GPIO handle describing the pin the !PENIRQ
59                                         line is connected to.
60         wakeup-source                   use any event on touchscreen as wakeup event.
61                                         (Legacy property support: "linux,wakeup")
62         touchscreen-size-x              General touchscreen binding, see [1].
63         touchscreen-size-y              General touchscreen binding, see [1].
64         touchscreen-max-pressure        General touchscreen binding, see [1].
65         touchscreen-min-pressure        General touchscreen binding, see [1].
66         touchscreen-average-samples     General touchscreen binding, see [1].
67         touchscreen-inverted-x          General touchscreen binding, see [1].
68         touchscreen-inverted-y          General touchscreen binding, see [1].
69         touchscreen-swapped-x-y         General touchscreen binding, see [1].
70
71 [1] All general touchscreen properties are described in
72     Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt.
73
74 Deprecated properties:
75
76         ti,swap-xy                      swap x and y axis
77         ti,x-max                        Maximum value on the X axis (u16).
78         ti,y-max                        Maximum value on the Y axis (u16).
79         ti,pressure-min                 Minimum reported pressure value
80                                         (threshold) - u16.
81         ti,pressure-max                 Maximum reported pressure value (u16).
82         ti,debounce-max                 Max number of additional readings per
83                                         sample (u16).
84
85 Example for a TSC2046 chip connected to an McSPI controller of an OMAP SoC::
86
87         spi_controller {
88                 tsc2046@0 {
89                         reg = <0>;      /* CS0 */
90                         compatible = "ti,tsc2046";
91                         interrupt-parent = <&gpio1>;
92                         interrupts = <8 0>;     /* BOOT6 / GPIO 8 */
93                         spi-max-frequency = <1000000>;
94                         pendown-gpio = <&gpio1 8 0>;
95                         vcc-supply = <&reg_vcc3>;
96
97                         ti,x-min = /bits/ 16 <0>;
98                         ti,x-max = /bits/ 16 <8000>;
99                         ti,y-min = /bits/ 16 <0>;
100                         ti,y-max = /bits/ 16 <4800>;
101                         ti,x-plate-ohms = /bits/ 16 <40>;
102                         ti,pressure-max = /bits/ 16 <255>;
103
104                         wakeup-source;
105                 };
106         };