summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
blob: 6c4fb34823d3e61cd6fda401b7b8becf9be95e33 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
* TI - TSC ADC (Touschscreen and analog digital converter)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Required properties:
- child "tsc"
	ti,wires: Wires refer to application modes i.e. 4/5/8 wire touchscreen
		  support on the platform.
	ti,x-plate-resistance: X plate resistance
	ti,coordinate-readouts: The sequencer supports a total of 16
				programmable steps each step is used to
				read a single coordinate. A single
                                readout is enough but multiple reads can
				increase the quality.
				A value of 5 means, 5 reads for X, 5 for
				Y and 2 for Z (always). This utilises 12
				of the 16 software steps available. The
				remaining 4 can be used by the ADC.
	ti,wire-config: Different boards could have a different order for
			connecting wires on touchscreen. We need to provide an
			8 bit number where in the 1st four bits represent the
			analog lines and the next 4 bits represent positive/
			negative terminal on that input line. Notations to
			represent the input lines and terminals resoectively
			is as follows:
			AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
			XP  = 0, XN = 1, YP = 2, YN = 3.
- child "adc"
	ti,adc-channels: List of analog inputs available for ADC.
			 AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.

Optional properties:
- child "tsc"
	ti,charge-delay: Length of touch screen charge delay step in terms of
			 ADC clock cycles. Charge delay value should be large
			 in order to avoid false pen-up events. This value
			 effects the overall sampling speed, hence need to be
			 kept as low as possible, while avoiding false pen-up
			 event. Start from a lower value, say 0x400, and
			 increase value until false pen-up events are avoided.
			 The pen-up detection happens immediately after the
			 charge step, so this does in fact function as a
			 hardware knob for adjusting the amount of "settling
			 time".

Example:
	tscadc: tscadc@44e0d000 {
		compatible = "ti,am3359-tscadc";
		tsc {
			ti,wires = <4>;
			ti,x-plate-resistance = <200>;
			ti,coordiante-readouts = <5>;
			ti,wire-config = <0x00 0x11 0x22 0x33>;
			ti,charge-delay = <0x400>;
		};

		adc {
			ti,adc-channels = <4 5 6 7>;
		};
	}