162306a36Sopenharmony_ci* Analog Devices AD7879(-1)/AD7889(-1) touchscreen interface (SPI/I2C)
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci- compatible			: for SPI slave, use "adi,ad7879"
562306a36Sopenharmony_ci				  for I2C slave, use "adi,ad7879-1"
662306a36Sopenharmony_ci- reg				: SPI chipselect/I2C slave address
762306a36Sopenharmony_ci				  See spi-bus.txt for more SPI slave properties
862306a36Sopenharmony_ci- interrupts			: touch controller interrupt
962306a36Sopenharmony_ci- touchscreen-max-pressure	: maximum reported pressure
1062306a36Sopenharmony_ci- adi,resistance-plate-x	: total resistance of X-plate (for pressure
1162306a36Sopenharmony_ci				  calculation)
1262306a36Sopenharmony_ciOptional properties:
1362306a36Sopenharmony_ci- touchscreen-swapped-x-y	: X and Y axis are swapped (boolean)
1462306a36Sopenharmony_ci- adi,first-conversion-delay	: 0-12: In 128us steps (starting with 128us)
1562306a36Sopenharmony_ci				  13  : 2.560ms
1662306a36Sopenharmony_ci				  14  : 3.584ms
1762306a36Sopenharmony_ci				  15  : 4.096ms
1862306a36Sopenharmony_ci				  This property has to be a '/bits/ 8' value
1962306a36Sopenharmony_ci- adi,acquisition-time		: 0: 2us
2062306a36Sopenharmony_ci				  1: 4us
2162306a36Sopenharmony_ci				  2: 8us
2262306a36Sopenharmony_ci				  3: 16us
2362306a36Sopenharmony_ci				  This property has to be a '/bits/ 8' value
2462306a36Sopenharmony_ci- adi,median-filter-size	: 0: disabled
2562306a36Sopenharmony_ci				  1: 4 measurements
2662306a36Sopenharmony_ci				  2: 8 measurements
2762306a36Sopenharmony_ci				  3: 16 measurements
2862306a36Sopenharmony_ci				  This property has to be a '/bits/ 8' value
2962306a36Sopenharmony_ci- adi,averaging			: 0: 2 middle values (1 if median disabled)
3062306a36Sopenharmony_ci				  1: 4 middle values
3162306a36Sopenharmony_ci				  2: 8 middle values
3262306a36Sopenharmony_ci				  3: 16 values
3362306a36Sopenharmony_ci				  This property has to be a '/bits/ 8' value
3462306a36Sopenharmony_ci- adi,conversion-interval:	: 0    : convert one time only
3562306a36Sopenharmony_ci				  1-255: 515us + val * 35us (up to 9.440ms)
3662306a36Sopenharmony_ci				  This property has to be a '/bits/ 8' value
3762306a36Sopenharmony_ci- gpio-controller		: Switch AUX/VBAT/GPIO pin to GPIO mode
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciExample:
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	touchscreen0@2c {
4262306a36Sopenharmony_ci		compatible = "adi,ad7879-1";
4362306a36Sopenharmony_ci		reg = <0x2c>;
4462306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
4562306a36Sopenharmony_ci		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
4662306a36Sopenharmony_ci		touchscreen-max-pressure = <4096>;
4762306a36Sopenharmony_ci		adi,resistance-plate-x = <120>;
4862306a36Sopenharmony_ci		adi,first-conversion-delay = /bits/ 8 <3>;
4962306a36Sopenharmony_ci		adi,acquisition-time = /bits/ 8 <1>;
5062306a36Sopenharmony_ci		adi,median-filter-size = /bits/ 8 <2>;
5162306a36Sopenharmony_ci		adi,averaging = /bits/ 8 <1>;
5262306a36Sopenharmony_ci		adi,conversion-interval = /bits/ 8 <255>;
5362306a36Sopenharmony_ci	};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	touchscreen1@1 {
5662306a36Sopenharmony_ci		compatible = "adi,ad7879";
5762306a36Sopenharmony_ci		spi-max-frequency = <5000000>;
5862306a36Sopenharmony_ci		reg = <1>;
5962306a36Sopenharmony_ci		spi-cpol;
6062306a36Sopenharmony_ci		spi-cpha;
6162306a36Sopenharmony_ci		gpio-controller;
6262306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
6362306a36Sopenharmony_ci		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
6462306a36Sopenharmony_ci		touchscreen-max-pressure = <4096>;
6562306a36Sopenharmony_ci		adi,resistance-plate-x = <120>;
6662306a36Sopenharmony_ci		adi,first-conversion-delay = /bits/ 8 <3>;
6762306a36Sopenharmony_ci		adi,acquisition-time = /bits/ 8 <1>;
6862306a36Sopenharmony_ci		adi,median-filter-size = /bits/ 8 <2>;
6962306a36Sopenharmony_ci		adi,averaging = /bits/ 8 <1>;
7062306a36Sopenharmony_ci		adi,conversion-interval = /bits/ 8 <255>;
7162306a36Sopenharmony_ci	};
72