xref: /openbmc/linux/Documentation/devicetree/bindings/input/touchscreen/ad7879.txt (revision c95baf12f5077419db01313ab61c2aac007d40cd)
1fa6e3ca2SStefan Agner* Analog Devices AD7879(-1)/AD7889(-1) touchscreen interface (SPI/I2C)
2fa6e3ca2SStefan Agner
3fa6e3ca2SStefan AgnerRequired properties:
4fa6e3ca2SStefan Agner- compatible			: for SPI slave, use "adi,ad7879"
5fa6e3ca2SStefan Agner				  for I2C slave, use "adi,ad7879-1"
6fa6e3ca2SStefan Agner- reg				: SPI chipselect/I2C slave address
7fa6e3ca2SStefan Agner				  See spi-bus.txt for more SPI slave properties
8fa6e3ca2SStefan Agner- interrupts			: touch controller interrupt
9fa6e3ca2SStefan Agner- touchscreen-max-pressure	: maximum reported pressure
10fa6e3ca2SStefan Agner- adi,resistance-plate-x	: total resistance of X-plate (for pressure
11fa6e3ca2SStefan Agner				  calculation)
12fa6e3ca2SStefan AgnerOptional properties:
13fa6e3ca2SStefan Agner- touchscreen-swapped-x-y	: X and Y axis are swapped (boolean)
14fa6e3ca2SStefan Agner- adi,first-conversion-delay	: 0-12: In 128us steps (starting with 128us)
15fa6e3ca2SStefan Agner				  13  : 2.560ms
16fa6e3ca2SStefan Agner				  14  : 3.584ms
17fa6e3ca2SStefan Agner				  15  : 4.096ms
18fa6e3ca2SStefan Agner				  This property has to be a '/bits/ 8' value
19fa6e3ca2SStefan Agner- adi,acquisition-time		: 0: 2us
20fa6e3ca2SStefan Agner				  1: 4us
21fa6e3ca2SStefan Agner				  2: 8us
22fa6e3ca2SStefan Agner				  3: 16us
23fa6e3ca2SStefan Agner				  This property has to be a '/bits/ 8' value
24fa6e3ca2SStefan Agner- adi,median-filter-size	: 0: disabled
25fa6e3ca2SStefan Agner				  1: 4 measurements
26fa6e3ca2SStefan Agner				  2: 8 measurements
27fa6e3ca2SStefan Agner				  3: 16 measurements
28fa6e3ca2SStefan Agner				  This property has to be a '/bits/ 8' value
29fa6e3ca2SStefan Agner- adi,averaging			: 0: 2 middle values (1 if median disabled)
30fa6e3ca2SStefan Agner				  1: 4 middle values
31fa6e3ca2SStefan Agner				  2: 8 middle values
32fa6e3ca2SStefan Agner				  3: 16 values
33fa6e3ca2SStefan Agner				  This property has to be a '/bits/ 8' value
34fa6e3ca2SStefan Agner- adi,conversion-interval:	: 0    : convert one time only
35fa6e3ca2SStefan Agner				  1-255: 515us + val * 35us (up to 9.440ms)
36fa6e3ca2SStefan Agner				  This property has to be a '/bits/ 8' value
37b621e30bSDmitry Torokhov- gpio-controller		: Switch AUX/VBAT/GPIO pin to GPIO mode
38fa6e3ca2SStefan Agner
39fa6e3ca2SStefan AgnerExample:
40fa6e3ca2SStefan Agner
41*92d6d0a1SMarcel Ziswiler	touchscreen0@2c {
42fa6e3ca2SStefan Agner		compatible = "adi,ad7879-1";
43fa6e3ca2SStefan Agner		reg = <0x2c>;
44fa6e3ca2SStefan Agner		interrupt-parent = <&gpio1>;
45fa6e3ca2SStefan Agner		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
46fa6e3ca2SStefan Agner		touchscreen-max-pressure = <4096>;
47fa6e3ca2SStefan Agner		adi,resistance-plate-x = <120>;
48fa6e3ca2SStefan Agner		adi,first-conversion-delay = /bits/ 8 <3>;
49fa6e3ca2SStefan Agner		adi,acquisition-time = /bits/ 8 <1>;
50fa6e3ca2SStefan Agner		adi,median-filter-size = /bits/ 8 <2>;
51fa6e3ca2SStefan Agner		adi,averaging = /bits/ 8 <1>;
52fa6e3ca2SStefan Agner		adi,conversion-interval = /bits/ 8 <255>;
53fa6e3ca2SStefan Agner	};
54c852270aSMichael Hennerich
55*92d6d0a1SMarcel Ziswiler	touchscreen1@1 {
56c852270aSMichael Hennerich		compatible = "adi,ad7879";
57c852270aSMichael Hennerich		spi-max-frequency = <5000000>;
58c852270aSMichael Hennerich		reg = <1>;
59c852270aSMichael Hennerich		spi-cpol;
60c852270aSMichael Hennerich		spi-cpha;
61c852270aSMichael Hennerich		gpio-controller;
62c852270aSMichael Hennerich		interrupt-parent = <&gpio1>;
63c852270aSMichael Hennerich		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
64c852270aSMichael Hennerich		touchscreen-max-pressure = <4096>;
65c852270aSMichael Hennerich		adi,resistance-plate-x = <120>;
66c852270aSMichael Hennerich		adi,first-conversion-delay = /bits/ 8 <3>;
67c852270aSMichael Hennerich		adi,acquisition-time = /bits/ 8 <1>;
68c852270aSMichael Hennerich		adi,median-filter-size = /bits/ 8 <2>;
69c852270aSMichael Hennerich		adi,averaging = /bits/ 8 <1>;
70c852270aSMichael Hennerich		adi,conversion-interval = /bits/ 8 <255>;
71c852270aSMichael Hennerich	};
72