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