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