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