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