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