18c2ecf20Sopenharmony_ciDevice tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
28c2ecf20Sopenharmony_ciSPI driven touch screen controllers.
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciThe node for this driver must be a child node of a SPI controller, hence
58c2ecf20Sopenharmony_ciall mandatory properties described in
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci	Documentation/devicetree/bindings/spi/spi-bus.txt
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimust be specified.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciAdditional required properties:
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	compatible		Must be one of the following, depending on the
148c2ecf20Sopenharmony_ci				model:
158c2ecf20Sopenharmony_ci					"ti,tsc2046"
168c2ecf20Sopenharmony_ci					"ti,ads7843"
178c2ecf20Sopenharmony_ci					"ti,ads7845"
188c2ecf20Sopenharmony_ci					"ti,ads7846"
198c2ecf20Sopenharmony_ci					"ti,ads7873"
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	interrupts		An interrupt node describing the IRQ line the chip's
228c2ecf20Sopenharmony_ci				!PENIRQ pin is connected to.
238c2ecf20Sopenharmony_ci	vcc-supply		A regulator node for the supply voltage.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciOptional properties:
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	ti,vref-delay-usecs		vref supply delay in usecs, 0 for
298c2ecf20Sopenharmony_ci					external vref (u16).
308c2ecf20Sopenharmony_ci	ti,vref-mv			The VREF voltage, in millivolts (u16).
318c2ecf20Sopenharmony_ci					Set to 0 to use internal references
328c2ecf20Sopenharmony_ci					(ADS7846).
338c2ecf20Sopenharmony_ci	ti,keep-vref-on			set to keep vref on for differential
348c2ecf20Sopenharmony_ci					measurements as well
358c2ecf20Sopenharmony_ci	ti,settle-delay-usec		Settling time of the analog signals;
368c2ecf20Sopenharmony_ci					a function of Vcc and the capacitance
378c2ecf20Sopenharmony_ci					on the X/Y drivers.  If set to non-zero,
388c2ecf20Sopenharmony_ci					two samples are taken with settle_delay
398c2ecf20Sopenharmony_ci					us apart, and the second one is used.
408c2ecf20Sopenharmony_ci					~150 uSec with 0.01uF caps (u16).
418c2ecf20Sopenharmony_ci	ti,penirq-recheck-delay-usecs	If set to non-zero, after samples are
428c2ecf20Sopenharmony_ci					taken this delay is applied and penirq
438c2ecf20Sopenharmony_ci					is rechecked, to help avoid false
448c2ecf20Sopenharmony_ci					events.  This value is affected by the
458c2ecf20Sopenharmony_ci					material used to build the touch layer
468c2ecf20Sopenharmony_ci					(u16).
478c2ecf20Sopenharmony_ci	ti,x-plate-ohms			Resistance of the X-plate,
488c2ecf20Sopenharmony_ci					in Ohms (u16).
498c2ecf20Sopenharmony_ci	ti,y-plate-ohms			Resistance of the Y-plate,
508c2ecf20Sopenharmony_ci					in Ohms (u16).
518c2ecf20Sopenharmony_ci	ti,x-min			Minimum value on the X axis (u16).
528c2ecf20Sopenharmony_ci	ti,y-min			Minimum value on the Y axis (u16).
538c2ecf20Sopenharmony_ci	ti,debounce-tol			Tolerance used for filtering (u16).
548c2ecf20Sopenharmony_ci	ti,debounce-rep			Additional consecutive good readings
558c2ecf20Sopenharmony_ci					required after the first two (u16).
568c2ecf20Sopenharmony_ci	ti,pendown-gpio-debounce	Platform specific debounce time for the
578c2ecf20Sopenharmony_ci					pendown-gpio (u32).
588c2ecf20Sopenharmony_ci	pendown-gpio			GPIO handle describing the pin the !PENIRQ
598c2ecf20Sopenharmony_ci					line is connected to.
608c2ecf20Sopenharmony_ci	wakeup-source			use any event on touchscreen as wakeup event.
618c2ecf20Sopenharmony_ci					(Legacy property support: "linux,wakeup")
628c2ecf20Sopenharmony_ci	touchscreen-size-x		General touchscreen binding, see [1].
638c2ecf20Sopenharmony_ci	touchscreen-size-y		General touchscreen binding, see [1].
648c2ecf20Sopenharmony_ci	touchscreen-max-pressure	General touchscreen binding, see [1].
658c2ecf20Sopenharmony_ci	touchscreen-min-pressure	General touchscreen binding, see [1].
668c2ecf20Sopenharmony_ci	touchscreen-average-samples	General touchscreen binding, see [1].
678c2ecf20Sopenharmony_ci	touchscreen-inverted-x		General touchscreen binding, see [1].
688c2ecf20Sopenharmony_ci	touchscreen-inverted-y		General touchscreen binding, see [1].
698c2ecf20Sopenharmony_ci	touchscreen-swapped-x-y		General touchscreen binding, see [1].
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci[1] All general touchscreen properties are described in
728c2ecf20Sopenharmony_ci    Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciDeprecated properties:
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci	ti,swap-xy			swap x and y axis
778c2ecf20Sopenharmony_ci	ti,x-max			Maximum value on the X axis (u16).
788c2ecf20Sopenharmony_ci	ti,y-max			Maximum value on the Y axis (u16).
798c2ecf20Sopenharmony_ci	ti,pressure-min			Minimum reported pressure value
808c2ecf20Sopenharmony_ci					(threshold) - u16.
818c2ecf20Sopenharmony_ci	ti,pressure-max			Maximum reported pressure value (u16).
828c2ecf20Sopenharmony_ci	ti,debounce-max			Max number of additional readings per
838c2ecf20Sopenharmony_ci					sample (u16).
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciExample for a TSC2046 chip connected to an McSPI controller of an OMAP SoC::
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	spi_controller {
888c2ecf20Sopenharmony_ci		tsc2046@0 {
898c2ecf20Sopenharmony_ci			reg = <0>;	/* CS0 */
908c2ecf20Sopenharmony_ci			compatible = "ti,tsc2046";
918c2ecf20Sopenharmony_ci			interrupt-parent = <&gpio1>;
928c2ecf20Sopenharmony_ci			interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
938c2ecf20Sopenharmony_ci			spi-max-frequency = <1000000>;
948c2ecf20Sopenharmony_ci			pendown-gpio = <&gpio1 8 0>;
958c2ecf20Sopenharmony_ci			vcc-supply = <&reg_vcc3>;
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci			ti,x-min = /bits/ 16 <0>;
988c2ecf20Sopenharmony_ci			ti,x-max = /bits/ 16 <8000>;
998c2ecf20Sopenharmony_ci			ti,y-min = /bits/ 16 <0>;
1008c2ecf20Sopenharmony_ci			ti,y-max = /bits/ 16 <4800>;
1018c2ecf20Sopenharmony_ci			ti,x-plate-ohms = /bits/ 16 <40>;
1028c2ecf20Sopenharmony_ci			ti,pressure-max = /bits/ 16 <255>;
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci			wakeup-source;
1058c2ecf20Sopenharmony_ci		};
1068c2ecf20Sopenharmony_ci	};
107