Linux 4.1.18
[linux/fpc-iii.git] / Documentation / devicetree / bindings / input / touchscreen / ti-tsc-adc.txt
blob6c4fb34823d3e61cd6fda401b7b8becf9be95e33
1 * TI - TSC ADC (Touschscreen and analog digital converter)
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 Required properties:
5 - child "tsc"
6         ti,wires: Wires refer to application modes i.e. 4/5/8 wire touchscreen
7                   support on the platform.
8         ti,x-plate-resistance: X plate resistance
9         ti,coordinate-readouts: The sequencer supports a total of 16
10                                 programmable steps each step is used to
11                                 read a single coordinate. A single
12                                 readout is enough but multiple reads can
13                                 increase the quality.
14                                 A value of 5 means, 5 reads for X, 5 for
15                                 Y and 2 for Z (always). This utilises 12
16                                 of the 16 software steps available. The
17                                 remaining 4 can be used by the ADC.
18         ti,wire-config: Different boards could have a different order for
19                         connecting wires on touchscreen. We need to provide an
20                         8 bit number where in the 1st four bits represent the
21                         analog lines and the next 4 bits represent positive/
22                         negative terminal on that input line. Notations to
23                         represent the input lines and terminals resoectively
24                         is as follows:
25                         AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
26                         XP  = 0, XN = 1, YP = 2, YN = 3.
27 - child "adc"
28         ti,adc-channels: List of analog inputs available for ADC.
29                          AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
31 Optional properties:
32 - child "tsc"
33         ti,charge-delay: Length of touch screen charge delay step in terms of
34                          ADC clock cycles. Charge delay value should be large
35                          in order to avoid false pen-up events. This value
36                          effects the overall sampling speed, hence need to be
37                          kept as low as possible, while avoiding false pen-up
38                          event. Start from a lower value, say 0x400, and
39                          increase value until false pen-up events are avoided.
40                          The pen-up detection happens immediately after the
41                          charge step, so this does in fact function as a
42                          hardware knob for adjusting the amount of "settling
43                          time".
45 Example:
46         tscadc: tscadc@44e0d000 {
47                 compatible = "ti,am3359-tscadc";
48                 tsc {
49                         ti,wires = <4>;
50                         ti,x-plate-resistance = <200>;
51                         ti,coordiante-readouts = <5>;
52                         ti,wire-config = <0x00 0x11 0x22 0x33>;
53                         ti,charge-delay = <0x400>;
54                 };
56                 adc {
57                         ti,adc-channels = <4 5 6 7>;
58                 };
59         }