162306a36Sopenharmony_ciDevice tree bindings for TI's ADS7843, ADS7845, ADS7846, ADS7873, TSC2046
262306a36Sopenharmony_ciSPI driven touch screen controllers.
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciThe node for this driver must be a child node of a SPI controller, hence
562306a36Sopenharmony_ciall mandatory properties described in
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci	Documentation/devicetree/bindings/spi/spi-bus.txt
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimust be specified.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciAdditional required properties:
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	compatible		Must be one of the following, depending on the
1462306a36Sopenharmony_ci				model:
1562306a36Sopenharmony_ci					"ti,tsc2046"
1662306a36Sopenharmony_ci					"ti,ads7843"
1762306a36Sopenharmony_ci					"ti,ads7845"
1862306a36Sopenharmony_ci					"ti,ads7846"
1962306a36Sopenharmony_ci					"ti,ads7873"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	interrupts		An interrupt node describing the IRQ line the chip's
2262306a36Sopenharmony_ci				!PENIRQ pin is connected to.
2362306a36Sopenharmony_ci	vcc-supply		A regulator node for the supply voltage.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciOptional properties:
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	ti,vref-delay-usecs		vref supply delay in usecs, 0 for
2962306a36Sopenharmony_ci					external vref (u16).
3062306a36Sopenharmony_ci	ti,vref-mv			The VREF voltage, in millivolts (u16).
3162306a36Sopenharmony_ci					Set to 0 to use internal references
3262306a36Sopenharmony_ci					(ADS7846).
3362306a36Sopenharmony_ci	ti,keep-vref-on			set to keep vref on for differential
3462306a36Sopenharmony_ci					measurements as well
3562306a36Sopenharmony_ci	ti,settle-delay-usec		Settling time of the analog signals;
3662306a36Sopenharmony_ci					a function of Vcc and the capacitance
3762306a36Sopenharmony_ci					on the X/Y drivers.  If set to non-zero,
3862306a36Sopenharmony_ci					two samples are taken with settle_delay
3962306a36Sopenharmony_ci					us apart, and the second one is used.
4062306a36Sopenharmony_ci					~150 uSec with 0.01uF caps (u16).
4162306a36Sopenharmony_ci	ti,penirq-recheck-delay-usecs	If set to non-zero, after samples are
4262306a36Sopenharmony_ci					taken this delay is applied and penirq
4362306a36Sopenharmony_ci					is rechecked, to help avoid false
4462306a36Sopenharmony_ci					events.  This value is affected by the
4562306a36Sopenharmony_ci					material used to build the touch layer
4662306a36Sopenharmony_ci					(u16).
4762306a36Sopenharmony_ci	ti,x-plate-ohms			Resistance of the X-plate,
4862306a36Sopenharmony_ci					in Ohms (u16).
4962306a36Sopenharmony_ci	ti,y-plate-ohms			Resistance of the Y-plate,
5062306a36Sopenharmony_ci					in Ohms (u16).
5162306a36Sopenharmony_ci	ti,x-min			Minimum value on the X axis (u16).
5262306a36Sopenharmony_ci	ti,y-min			Minimum value on the Y axis (u16).
5362306a36Sopenharmony_ci	ti,debounce-tol			Tolerance used for filtering (u16).
5462306a36Sopenharmony_ci	ti,debounce-rep			Additional consecutive good readings
5562306a36Sopenharmony_ci					required after the first two (u16).
5662306a36Sopenharmony_ci	ti,pendown-gpio-debounce	Platform specific debounce time for the
5762306a36Sopenharmony_ci					pendown-gpio (u32).
5862306a36Sopenharmony_ci	pendown-gpio			GPIO handle describing the pin the !PENIRQ
5962306a36Sopenharmony_ci					line is connected to.
6062306a36Sopenharmony_ci	wakeup-source			use any event on touchscreen as wakeup event.
6162306a36Sopenharmony_ci					(Legacy property support: "linux,wakeup")
6262306a36Sopenharmony_ci	touchscreen-size-x		General touchscreen binding, see [1].
6362306a36Sopenharmony_ci	touchscreen-size-y		General touchscreen binding, see [1].
6462306a36Sopenharmony_ci	touchscreen-max-pressure	General touchscreen binding, see [1].
6562306a36Sopenharmony_ci	touchscreen-min-pressure	General touchscreen binding, see [1].
6662306a36Sopenharmony_ci	touchscreen-average-samples	General touchscreen binding, see [1].
6762306a36Sopenharmony_ci	touchscreen-inverted-x		General touchscreen binding, see [1].
6862306a36Sopenharmony_ci	touchscreen-inverted-y		General touchscreen binding, see [1].
6962306a36Sopenharmony_ci	touchscreen-swapped-x-y		General touchscreen binding, see [1].
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci[1] All general touchscreen properties are described in
7262306a36Sopenharmony_ci    Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciDeprecated properties:
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci	ti,swap-xy			swap x and y axis
7762306a36Sopenharmony_ci	ti,x-max			Maximum value on the X axis (u16).
7862306a36Sopenharmony_ci	ti,y-max			Maximum value on the Y axis (u16).
7962306a36Sopenharmony_ci	ti,pressure-min			Minimum reported pressure value
8062306a36Sopenharmony_ci					(threshold) - u16.
8162306a36Sopenharmony_ci	ti,pressure-max			Maximum reported pressure value (u16).
8262306a36Sopenharmony_ci	ti,debounce-max			Max number of additional readings per
8362306a36Sopenharmony_ci					sample (u16).
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciExample for a TSC2046 chip connected to an McSPI controller of an OMAP SoC::
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	spi_controller {
8862306a36Sopenharmony_ci		tsc2046@0 {
8962306a36Sopenharmony_ci			reg = <0>;	/* CS0 */
9062306a36Sopenharmony_ci			compatible = "ti,tsc2046";
9162306a36Sopenharmony_ci			interrupt-parent = <&gpio1>;
9262306a36Sopenharmony_ci			interrupts = <8 0>;	/* BOOT6 / GPIO 8 */
9362306a36Sopenharmony_ci			spi-max-frequency = <1000000>;
9462306a36Sopenharmony_ci			pendown-gpio = <&gpio1 8 0>;
9562306a36Sopenharmony_ci			vcc-supply = <&reg_vcc3>;
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci			ti,x-min = /bits/ 16 <0>;
9862306a36Sopenharmony_ci			ti,x-max = /bits/ 16 <8000>;
9962306a36Sopenharmony_ci			ti,y-min = /bits/ 16 <0>;
10062306a36Sopenharmony_ci			ti,y-max = /bits/ 16 <4800>;
10162306a36Sopenharmony_ci			ti,x-plate-ohms = /bits/ 16 <40>;
10262306a36Sopenharmony_ci			ti,pressure-max = /bits/ 16 <255>;
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci			wakeup-source;
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci	};
107