hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
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
72
73
74
75
76
77
78
79
80
Azoteq IQS550/572/525 Trackpad/Touchscreen Controller
 
Required properties:
 
- compatible            : Must be equal to one of the following:
                 "azoteq,iqs550"
                 "azoteq,iqs572"
                 "azoteq,iqs525"
 
- reg                : I2C slave address for the device.
 
- interrupts            : GPIO to which the device's active-high RDY
                 output is connected (see [0]).
 
- reset-gpios            : GPIO to which the device's active-low NRST
                 input is connected (see [1]).
 
Optional properties:
 
- touchscreen-min-x        : See [2].
 
- touchscreen-min-y        : See [2].
 
- touchscreen-size-x        : See [2]. If this property is omitted, the
                 maximum x-coordinate is specified by the
                 device's "X Resolution" register.
 
- touchscreen-size-y        : See [2]. If this property is omitted, the
                 maximum y-coordinate is specified by the
                 device's "Y Resolution" register.
 
- touchscreen-max-pressure    : See [2]. Pressure is expressed as the sum of
                 the deltas across all channels impacted by a
                 touch event. A channel's delta is calculated
                 as its count value minus a reference, where
                 the count value is inversely proportional to
                 the channel's capacitance.
 
- touchscreen-fuzz-x        : See [2].
 
- touchscreen-fuzz-y        : See [2].
 
- touchscreen-fuzz-pressure    : See [2].
 
- touchscreen-inverted-x    : See [2]. Inversion is applied relative to that
                 which may already be specified by the device's
                 FLIP_X and FLIP_Y register fields.
 
- touchscreen-inverted-y    : See [2]. Inversion is applied relative to that
                 which may already be specified by the device's
                 FLIP_X and FLIP_Y register fields.
 
- touchscreen-swapped-x-y    : See [2]. Swapping is applied relative to that
                 which may already be specified by the device's
                 SWITCH_XY_AXIS register field.
 
[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[1]: Documentation/devicetree/bindings/gpio/gpio.txt
[2]: Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt
 
Example:
 
   &i2c1 {
       /* ... */
 
       touchscreen@74 {
           compatible = "azoteq,iqs550";
           reg = <0x74>;
           interrupt-parent = <&gpio>;
           interrupts = <17 4>;
           reset-gpios = <&gpio 27 1>;
 
           touchscreen-size-x = <640>;
           touchscreen-size-y = <480>;
 
           touchscreen-max-pressure = <16000>;
       };
 
       /* ... */
   };